Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
matchers.js89 linesDownload Raw Back to lib
1const TYPE_REGEX = 'regex'
2const TYPE_URL = 'url'
3const TYPE_PATH = 'path'
4
5const NPM_SECRET = {
6  type: TYPE_REGEX,
7  pattern: /\b(npms?_)[a-zA-Z0-9]{36,48}\b/gi,
8  replacement: `[REDACTED_NPM_SECRET]`,
9}
10
11const AUTH_HEADER = {
12  type: TYPE_REGEX,
13  pattern: /\b(Basic\s+|Bearer\s+)[\w+=\-.]+\b/gi,
14  replacement: `[REDACTED_AUTH_HEADER]`,
15}
16
17const JSON_WEB_TOKEN = {
18  type: TYPE_REGEX,
19  pattern: /\b[A-Za-z0-9-_]{10,}(?!\.\d+\.)\.[A-Za-z0-9-_]{3,}\.[A-Za-z0-9-_]{20,}\b/gi,
20  replacement: `[REDACTED_JSON_WEB_TOKEN]`,
21}
22
23const UUID = {
24  type: TYPE_REGEX,
25  pattern: /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,
26  replacement: `[REDACTED_UUID]`,
27}
28
29const URL_MATCHER = {
30  type: TYPE_REGEX,
31  pattern: /(?:https?|ftp):\/\/[^\s/"$.?#].[^\s"]*/gi,
32  replacement: '[REDACTED_URL]',
33}
34
35const DEEP_HEADER_AUTHORIZATION = {
36  type: TYPE_PATH,
37  predicate: ({ path }) => path.endsWith('.headers.authorization'),
38  replacement: '[REDACTED_HEADER_AUTHORIZATION]',
39}
40
41const DEEP_HEADER_SET_COOKIE = {
42  type: TYPE_PATH,
43  predicate: ({ path }) => path.endsWith('.headers.set-cookie'),
44  replacement: '[REDACTED_HEADER_SET_COOKIE]',
45}
46
47const DEEP_HEADER_COOKIE = {
48  type: TYPE_PATH,
49  predicate: ({ path }) => path.endsWith('.headers.cookie'),
50  replacement: '[REDACTED_HEADER_COOKIE]',
51}
52
53const REWRITE_REQUEST = {
54  type: TYPE_PATH,
55  predicate: ({ path }) => path.endsWith('.request'),
56  replacement: (input) => ({
57    method: input?.method,
58    path: input?.path,
59    headers: input?.headers,
60    url: input?.url,
61  }),
62}
63
64const REWRITE_RESPONSE = {
65  type: TYPE_PATH,
66  predicate: ({ path }) => path.endsWith('.response'),
67  replacement: (input) => ({
68    data: input?.data,
69    status: input?.status,
70    headers: input?.headers,
71  }),
72}
73
74module.exports = {
75  TYPE_REGEX,
76  TYPE_URL,
77  TYPE_PATH,
78  NPM_SECRET,
79  AUTH_HEADER,
80  JSON_WEB_TOKEN,
81  UUID,
82  URL_MATCHER,
83  DEEP_HEADER_AUTHORIZATION,
84  DEEP_HEADER_SET_COOKIE,
85  DEEP_HEADER_COOKIE,
86  REWRITE_REQUEST,
87  REWRITE_RESPONSE,
88}
89 
codekingpro/portable-devtools · Team Ai