@mt0926/node-network-devtools 0.3.0 → 0.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -132
- package/README.zh-CN.md +62 -108
- package/dist/cjs/gui/server.js +20 -4
- package/dist/cjs/gui/server.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/gui/server.js +20 -4
- package/dist/esm/gui/server.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/gui/assets/index.css +1 -1
- package/dist/gui/assets/index.js +10 -10
- package/dist/types/gui/server.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +24 -31
- package/dist/cjs/cli.js +0 -223
- package/dist/cjs/cli.js.map +0 -1
- package/dist/esm/cli.js +0 -221
- package/dist/esm/cli.js.map +0 -1
- package/dist/types/cli.d.ts +0 -8
- package/dist/types/cli.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/gui/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/gui/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA2BtE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,OAAO,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,IAAI,OAAO,CAAC;IACrB,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;CAC5B;AAiPD;;GAEG;AACH,wBAAgB,YAAY,IAAI,UAAU,CAKzC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,CAAC,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,UAAU,CAEZ"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node Network DevTools
|
|
3
3
|
*
|
|
4
|
-
* Node.js
|
|
4
|
+
* Node.js 网络请求监听工具,通过 Web GUI 实时监控请求
|
|
5
5
|
*/
|
|
6
6
|
export { getConfig, setConfig, resetConfig, type Config } from './config.js';
|
|
7
7
|
export { getRequestStore, resetRequestStore, createRequestStore, type IRequestStore, type RequestData, type ResponseData, type ErrorData, type TimingData, type QueryFilter, } from './store/ring-buffer.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mt0926/node-network-devtools",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "🔍 Node.js network request monitoring tool with
|
|
3
|
+
"version": "0.3.10",
|
|
4
|
+
"description": "🔍 Node.js network request monitoring tool with built-in Web GUI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
7
7
|
"module": "./dist/esm/index.js",
|
|
@@ -28,39 +28,12 @@
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
-
"bin": {
|
|
32
|
-
"node-network-devtools": "./dist/esm/cli.js",
|
|
33
|
-
"nnd": "./dist/esm/cli.js"
|
|
34
|
-
},
|
|
35
31
|
"files": [
|
|
36
32
|
"dist",
|
|
37
33
|
"templates",
|
|
38
34
|
"README.md",
|
|
39
35
|
"LICENSE"
|
|
40
36
|
],
|
|
41
|
-
"scripts": {
|
|
42
|
-
"build": "pnpm build:esm && pnpm build:cjs && pnpm build:types && pnpm build:gui && pnpm build:cjs-package",
|
|
43
|
-
"build:esm": "tsc -p tsconfig.esm.json",
|
|
44
|
-
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
45
|
-
"build:cjs-package": "node scripts/create-cjs-package.js",
|
|
46
|
-
"build:types": "tsc -p tsconfig.types.json",
|
|
47
|
-
"build:gui": "cd packages/gui && pnpm build",
|
|
48
|
-
"test": "vitest run",
|
|
49
|
-
"test:http": "npx tsx --test src/interceptors/http-patcher.node-test.mjs",
|
|
50
|
-
"test:undici": "npx tsx --test src/interceptors/undici-patcher.node-test.mjs",
|
|
51
|
-
"test:all": "pnpm test && pnpm test:http && pnpm test:undici",
|
|
52
|
-
"test:watch": "vitest",
|
|
53
|
-
"test:coverage": "vitest run --coverage",
|
|
54
|
-
"clean": "rimraf dist",
|
|
55
|
-
"format": "prettier --write \"src/**/*.{ts,js,json}\" \"packages/**/*.{ts,tsx,js,json}\"",
|
|
56
|
-
"format:check": "prettier --check \"src/**/*.{ts,js,json}\" \"packages/**/*.{ts,tsx,js,json}\"",
|
|
57
|
-
"prepublishOnly": "pnpm clean && pnpm build && pnpm test:all",
|
|
58
|
-
"prepack": "pnpm build",
|
|
59
|
-
"release:patch": "npm version patch && git push --follow-tags",
|
|
60
|
-
"release:minor": "npm version minor && git push --follow-tags",
|
|
61
|
-
"release:major": "npm version major && git push --follow-tags",
|
|
62
|
-
"setup": "node scripts/update-placeholders.js"
|
|
63
|
-
},
|
|
64
37
|
"keywords": [
|
|
65
38
|
"nodejs",
|
|
66
39
|
"network",
|
|
@@ -97,7 +70,6 @@
|
|
|
97
70
|
"devDependencies": {
|
|
98
71
|
"@types/node": "^20.10.0",
|
|
99
72
|
"@types/ws": "^8.5.13",
|
|
100
|
-
"fast-check": "^3.15.0",
|
|
101
73
|
"prettier": "^3.1.0",
|
|
102
74
|
"rimraf": "^5.0.5",
|
|
103
75
|
"tsx": "^4.21.0",
|
|
@@ -109,5 +81,26 @@
|
|
|
109
81
|
"nanoid": "^5.0.4",
|
|
110
82
|
"undici": "^7.18.2",
|
|
111
83
|
"ws": "^8.18.0"
|
|
84
|
+
},
|
|
85
|
+
"scripts": {
|
|
86
|
+
"build": "pnpm build:esm && pnpm build:cjs && pnpm build:types && pnpm build:gui && pnpm build:cjs-package",
|
|
87
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
88
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
89
|
+
"build:cjs-package": "node scripts/create-cjs-package.js",
|
|
90
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
91
|
+
"build:gui": "cd packages/gui && pnpm install && pnpm build",
|
|
92
|
+
"test": "vitest run",
|
|
93
|
+
"test:http": "tsx --test src/interceptors/http-patcher.node-test.mjs",
|
|
94
|
+
"test:undici": "tsx --test src/interceptors/undici-patcher.node-test.mjs",
|
|
95
|
+
"test:all": "pnpm test && pnpm test:http && pnpm test:undici",
|
|
96
|
+
"test:watch": "vitest",
|
|
97
|
+
"test:coverage": "vitest run --coverage",
|
|
98
|
+
"clean": "rimraf dist",
|
|
99
|
+
"format": "prettier --write \"src/**/*.{ts,js,json}\" \"packages/**/*.{ts,tsx,js,json}\"",
|
|
100
|
+
"format:check": "prettier --check \"src/**/*.{ts,js,json}\" \"packages/**/*.{ts,tsx,js,json}\"",
|
|
101
|
+
"release:patch": "npm version patch && git push --follow-tags",
|
|
102
|
+
"release:minor": "npm version minor && git push --follow-tags",
|
|
103
|
+
"release:major": "npm version major && git push --follow-tags",
|
|
104
|
+
"setup": "node scripts/update-placeholders.js"
|
|
112
105
|
}
|
|
113
|
-
}
|
|
106
|
+
}
|
package/dist/cjs/cli.js
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
/**
|
|
4
|
-
* CLI 入口
|
|
5
|
-
*
|
|
6
|
-
* 使用方式:npx node-network-devtools your-script.js [args...]
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const node_child_process_1 = require("node:child_process");
|
|
10
|
-
const node_path_1 = require("node:path");
|
|
11
|
-
const node_url_1 = require("node:url");
|
|
12
|
-
const node_path_2 = require("node:path");
|
|
13
|
-
// 获取当前文件的 __filename 和 __dirname
|
|
14
|
-
// 在 ESM 中使用 import.meta.url,在 CommonJS 中使用全局变量
|
|
15
|
-
let currentFilename;
|
|
16
|
-
let currentDirname;
|
|
17
|
-
// 检测是否在 CommonJS 环境中
|
|
18
|
-
// @ts-ignore - __filename 在 CommonJS 中可用
|
|
19
|
-
if (typeof __filename !== 'undefined') {
|
|
20
|
-
// CommonJS 环境
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
currentFilename = __filename;
|
|
23
|
-
// @ts-ignore
|
|
24
|
-
currentDirname = __dirname;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// ESM 环境
|
|
28
|
-
// @ts-ignore - import.meta 在 ESM 中可用
|
|
29
|
-
currentFilename = (0, node_url_1.fileURLToPath)(import.meta.url);
|
|
30
|
-
currentDirname = (0, node_path_2.dirname)(currentFilename);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* 输出帮助信息
|
|
34
|
-
*/
|
|
35
|
-
function printHelp() {
|
|
36
|
-
console.log(`
|
|
37
|
-
\x1b[36mnode-network-devtools\x1b[0m - Node.js 网络请求监听工具
|
|
38
|
-
|
|
39
|
-
\x1b[33m用法:\x1b[0m
|
|
40
|
-
npx node-network-devtools [选项] <脚本> [脚本参数...]
|
|
41
|
-
|
|
42
|
-
\x1b[33m选项:\x1b[0m
|
|
43
|
-
--help, -h 显示帮助信息
|
|
44
|
-
--version, -v 显示版本号
|
|
45
|
-
--inspect-port=PORT 指定 Inspector 端口(默认: 9229)
|
|
46
|
-
--inspect-brk 在脚本开始时暂停执行
|
|
47
|
-
--gui 启用 Web GUI(默认: false)
|
|
48
|
-
--gui-port=PORT 指定 GUI 端口(默认: auto)
|
|
49
|
-
--ws-port=PORT 指定 WebSocket 端口(默认: auto)
|
|
50
|
-
--no-open 不自动打开浏览器
|
|
51
|
-
|
|
52
|
-
\x1b[33m示例:\x1b[0m
|
|
53
|
-
npx node-network-devtools server.js
|
|
54
|
-
npx node-network-devtools --gui server.js
|
|
55
|
-
npx node-network-devtools --gui --gui-port=8080 app.js
|
|
56
|
-
npx node-network-devtools --inspect-port=9230 app.js
|
|
57
|
-
npx node-network-devtools --inspect-brk test.js
|
|
58
|
-
|
|
59
|
-
\x1b[33m环境变量:\x1b[0m
|
|
60
|
-
NND_MAX_REQUESTS 最大存储请求数(默认: 1000)
|
|
61
|
-
NND_MAX_BODY_SIZE 最大 body 大小(默认: 1048576)
|
|
62
|
-
NND_INTERCEPT_HTTP 是否拦截 http/https(默认: true)
|
|
63
|
-
NND_INTERCEPT_UNDICI 是否拦截 undici/fetch(默认: true)
|
|
64
|
-
NND_REDACT_HEADERS 要脱敏的头(逗号分隔,默认: authorization,cookie)
|
|
65
|
-
NND_GUI_ENABLED 是否启用 GUI(默认: false)
|
|
66
|
-
NND_GUI_PORT GUI 端口(默认: auto)
|
|
67
|
-
NND_WS_PORT WebSocket 端口(默认: auto)
|
|
68
|
-
NND_AUTO_OPEN 是否自动打开浏览器(默认: true)
|
|
69
|
-
|
|
70
|
-
\x1b[33m说明:\x1b[0m
|
|
71
|
-
此工具会自动添加 --inspect 和 --experimental-network-inspection 标志。
|
|
72
|
-
启动后,打开 Chrome DevTools (chrome://inspect) 即可查看网络请求。
|
|
73
|
-
使用 --gui 选项可以启用内置的 Web GUI 界面。
|
|
74
|
-
|
|
75
|
-
\x1b[33m注意:\x1b[0m
|
|
76
|
-
Network 面板功能需要 Node.js 20.18.0+ 版本。
|
|
77
|
-
Chrome DevTools Network 面板目前可能还不支持显示这些事件。
|
|
78
|
-
请求数据仍会被捕获并可通过编程 API 或控制台日志访问。
|
|
79
|
-
`);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 输出版本号
|
|
83
|
-
*/
|
|
84
|
-
function printVersion() {
|
|
85
|
-
// 从 package.json 读取版本号
|
|
86
|
-
console.log('0.1.0');
|
|
87
|
-
}
|
|
88
|
-
function parseArgs(args) {
|
|
89
|
-
const result = {
|
|
90
|
-
help: false,
|
|
91
|
-
version: false,
|
|
92
|
-
inspectPort: 9229,
|
|
93
|
-
inspectBrk: false,
|
|
94
|
-
gui: false,
|
|
95
|
-
guiPort: 'auto',
|
|
96
|
-
wsPort: 'auto',
|
|
97
|
-
autoOpen: true,
|
|
98
|
-
script: null,
|
|
99
|
-
scriptArgs: [],
|
|
100
|
-
};
|
|
101
|
-
let i = 0;
|
|
102
|
-
while (i < args.length) {
|
|
103
|
-
const arg = args[i];
|
|
104
|
-
if (arg === '--help' || arg === '-h') {
|
|
105
|
-
result.help = true;
|
|
106
|
-
}
|
|
107
|
-
else if (arg === '--version' || arg === '-v') {
|
|
108
|
-
result.version = true;
|
|
109
|
-
}
|
|
110
|
-
else if (arg === '--inspect-brk') {
|
|
111
|
-
result.inspectBrk = true;
|
|
112
|
-
}
|
|
113
|
-
else if (arg.startsWith('--inspect-port=')) {
|
|
114
|
-
result.inspectPort = parseInt(arg.split('=')[1], 10) || 9229;
|
|
115
|
-
}
|
|
116
|
-
else if (arg === '--gui') {
|
|
117
|
-
result.gui = true;
|
|
118
|
-
}
|
|
119
|
-
else if (arg.startsWith('--gui-port=')) {
|
|
120
|
-
const port = parseInt(arg.split('=')[1], 10);
|
|
121
|
-
result.guiPort = isNaN(port) ? 'auto' : port;
|
|
122
|
-
}
|
|
123
|
-
else if (arg.startsWith('--ws-port=')) {
|
|
124
|
-
const port = parseInt(arg.split('=')[1], 10);
|
|
125
|
-
result.wsPort = isNaN(port) ? 'auto' : port;
|
|
126
|
-
}
|
|
127
|
-
else if (arg === '--no-open') {
|
|
128
|
-
result.autoOpen = false;
|
|
129
|
-
}
|
|
130
|
-
else if (!arg.startsWith('-')) {
|
|
131
|
-
// 第一个非选项参数是脚本路径
|
|
132
|
-
result.script = arg;
|
|
133
|
-
result.scriptArgs = args.slice(i + 1);
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
i++;
|
|
137
|
-
}
|
|
138
|
-
return result;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* 主函数
|
|
142
|
-
*/
|
|
143
|
-
function main() {
|
|
144
|
-
const args = process.argv.slice(2);
|
|
145
|
-
const parsed = parseArgs(args);
|
|
146
|
-
if (parsed.help) {
|
|
147
|
-
printHelp();
|
|
148
|
-
process.exit(0);
|
|
149
|
-
}
|
|
150
|
-
if (parsed.version) {
|
|
151
|
-
printVersion();
|
|
152
|
-
process.exit(0);
|
|
153
|
-
}
|
|
154
|
-
if (!parsed.script) {
|
|
155
|
-
console.error('\x1b[31m错误:\x1b[0m 请指定要运行的脚本');
|
|
156
|
-
console.error('使用 --help 查看帮助信息');
|
|
157
|
-
process.exit(1);
|
|
158
|
-
}
|
|
159
|
-
// 解析脚本路径
|
|
160
|
-
const scriptPath = (0, node_path_1.resolve)(process.cwd(), parsed.script);
|
|
161
|
-
// 构建 Node.js 参数
|
|
162
|
-
const nodeArgs = [];
|
|
163
|
-
// 添加 inspect 标志
|
|
164
|
-
if (parsed.inspectBrk) {
|
|
165
|
-
nodeArgs.push(`--inspect-brk=${parsed.inspectPort}`);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
nodeArgs.push(`--inspect=${parsed.inspectPort}`);
|
|
169
|
-
}
|
|
170
|
-
// 添加实验性网络检查标志(Node.js 20.18.0+)
|
|
171
|
-
nodeArgs.push('--experimental-network-inspection');
|
|
172
|
-
// 添加 register 入口
|
|
173
|
-
// 计算 register.js 的路径(相对于 CLI 脚本)
|
|
174
|
-
const registerPath = (0, node_path_1.resolve)(currentDirname, 'register.js');
|
|
175
|
-
nodeArgs.push('--import', registerPath);
|
|
176
|
-
// 添加用户脚本和参数
|
|
177
|
-
nodeArgs.push(scriptPath, ...parsed.scriptArgs);
|
|
178
|
-
// 设置 GUI 相关环境变量
|
|
179
|
-
const env = { ...process.env };
|
|
180
|
-
if (parsed.gui) {
|
|
181
|
-
env.NND_GUI_ENABLED = 'true';
|
|
182
|
-
if (parsed.guiPort !== 'auto') {
|
|
183
|
-
env.NND_GUI_PORT = String(parsed.guiPort);
|
|
184
|
-
}
|
|
185
|
-
if (parsed.wsPort !== 'auto') {
|
|
186
|
-
env.NND_WS_PORT = String(parsed.wsPort);
|
|
187
|
-
}
|
|
188
|
-
env.NND_AUTO_OPEN = parsed.autoOpen ? 'true' : 'false';
|
|
189
|
-
}
|
|
190
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 启动脚本: ${parsed.script}`);
|
|
191
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m Inspector 端口: ${parsed.inspectPort}`);
|
|
192
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 实验性网络检查已启用`);
|
|
193
|
-
if (parsed.gui) {
|
|
194
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m Web GUI 已启用`);
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 打开 chrome://inspect 查看网络请求`);
|
|
198
|
-
}
|
|
199
|
-
console.log('');
|
|
200
|
-
// 启动子进程
|
|
201
|
-
const child = (0, node_child_process_1.spawn)('node', nodeArgs, {
|
|
202
|
-
stdio: 'inherit',
|
|
203
|
-
env,
|
|
204
|
-
});
|
|
205
|
-
// 转发退出码
|
|
206
|
-
child.on('exit', (code) => {
|
|
207
|
-
process.exit(code ?? 0);
|
|
208
|
-
});
|
|
209
|
-
// 处理错误
|
|
210
|
-
child.on('error', (error) => {
|
|
211
|
-
console.error(`\x1b[31m错误:\x1b[0m 无法启动脚本: ${error.message}`);
|
|
212
|
-
process.exit(1);
|
|
213
|
-
});
|
|
214
|
-
// 处理信号
|
|
215
|
-
process.on('SIGINT', () => {
|
|
216
|
-
child.kill('SIGINT');
|
|
217
|
-
});
|
|
218
|
-
process.on('SIGTERM', () => {
|
|
219
|
-
child.kill('SIGTERM');
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
main();
|
|
223
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cjs/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/cli.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* CLI 入口
|
|
4
|
-
*
|
|
5
|
-
* 使用方式:npx node-network-devtools your-script.js [args...]
|
|
6
|
-
*/
|
|
7
|
-
import { spawn } from 'node:child_process';
|
|
8
|
-
import { resolve } from 'node:path';
|
|
9
|
-
import { fileURLToPath } from 'node:url';
|
|
10
|
-
import { dirname } from 'node:path';
|
|
11
|
-
// 获取当前文件的 __filename 和 __dirname
|
|
12
|
-
// 在 ESM 中使用 import.meta.url,在 CommonJS 中使用全局变量
|
|
13
|
-
let currentFilename;
|
|
14
|
-
let currentDirname;
|
|
15
|
-
// 检测是否在 CommonJS 环境中
|
|
16
|
-
// @ts-ignore - __filename 在 CommonJS 中可用
|
|
17
|
-
if (typeof __filename !== 'undefined') {
|
|
18
|
-
// CommonJS 环境
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
currentFilename = __filename;
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
currentDirname = __dirname;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
// ESM 环境
|
|
26
|
-
// @ts-ignore - import.meta 在 ESM 中可用
|
|
27
|
-
currentFilename = fileURLToPath(import.meta.url);
|
|
28
|
-
currentDirname = dirname(currentFilename);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 输出帮助信息
|
|
32
|
-
*/
|
|
33
|
-
function printHelp() {
|
|
34
|
-
console.log(`
|
|
35
|
-
\x1b[36mnode-network-devtools\x1b[0m - Node.js 网络请求监听工具
|
|
36
|
-
|
|
37
|
-
\x1b[33m用法:\x1b[0m
|
|
38
|
-
npx node-network-devtools [选项] <脚本> [脚本参数...]
|
|
39
|
-
|
|
40
|
-
\x1b[33m选项:\x1b[0m
|
|
41
|
-
--help, -h 显示帮助信息
|
|
42
|
-
--version, -v 显示版本号
|
|
43
|
-
--inspect-port=PORT 指定 Inspector 端口(默认: 9229)
|
|
44
|
-
--inspect-brk 在脚本开始时暂停执行
|
|
45
|
-
--gui 启用 Web GUI(默认: false)
|
|
46
|
-
--gui-port=PORT 指定 GUI 端口(默认: auto)
|
|
47
|
-
--ws-port=PORT 指定 WebSocket 端口(默认: auto)
|
|
48
|
-
--no-open 不自动打开浏览器
|
|
49
|
-
|
|
50
|
-
\x1b[33m示例:\x1b[0m
|
|
51
|
-
npx node-network-devtools server.js
|
|
52
|
-
npx node-network-devtools --gui server.js
|
|
53
|
-
npx node-network-devtools --gui --gui-port=8080 app.js
|
|
54
|
-
npx node-network-devtools --inspect-port=9230 app.js
|
|
55
|
-
npx node-network-devtools --inspect-brk test.js
|
|
56
|
-
|
|
57
|
-
\x1b[33m环境变量:\x1b[0m
|
|
58
|
-
NND_MAX_REQUESTS 最大存储请求数(默认: 1000)
|
|
59
|
-
NND_MAX_BODY_SIZE 最大 body 大小(默认: 1048576)
|
|
60
|
-
NND_INTERCEPT_HTTP 是否拦截 http/https(默认: true)
|
|
61
|
-
NND_INTERCEPT_UNDICI 是否拦截 undici/fetch(默认: true)
|
|
62
|
-
NND_REDACT_HEADERS 要脱敏的头(逗号分隔,默认: authorization,cookie)
|
|
63
|
-
NND_GUI_ENABLED 是否启用 GUI(默认: false)
|
|
64
|
-
NND_GUI_PORT GUI 端口(默认: auto)
|
|
65
|
-
NND_WS_PORT WebSocket 端口(默认: auto)
|
|
66
|
-
NND_AUTO_OPEN 是否自动打开浏览器(默认: true)
|
|
67
|
-
|
|
68
|
-
\x1b[33m说明:\x1b[0m
|
|
69
|
-
此工具会自动添加 --inspect 和 --experimental-network-inspection 标志。
|
|
70
|
-
启动后,打开 Chrome DevTools (chrome://inspect) 即可查看网络请求。
|
|
71
|
-
使用 --gui 选项可以启用内置的 Web GUI 界面。
|
|
72
|
-
|
|
73
|
-
\x1b[33m注意:\x1b[0m
|
|
74
|
-
Network 面板功能需要 Node.js 20.18.0+ 版本。
|
|
75
|
-
Chrome DevTools Network 面板目前可能还不支持显示这些事件。
|
|
76
|
-
请求数据仍会被捕获并可通过编程 API 或控制台日志访问。
|
|
77
|
-
`);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* 输出版本号
|
|
81
|
-
*/
|
|
82
|
-
function printVersion() {
|
|
83
|
-
// 从 package.json 读取版本号
|
|
84
|
-
console.log('0.1.0');
|
|
85
|
-
}
|
|
86
|
-
function parseArgs(args) {
|
|
87
|
-
const result = {
|
|
88
|
-
help: false,
|
|
89
|
-
version: false,
|
|
90
|
-
inspectPort: 9229,
|
|
91
|
-
inspectBrk: false,
|
|
92
|
-
gui: false,
|
|
93
|
-
guiPort: 'auto',
|
|
94
|
-
wsPort: 'auto',
|
|
95
|
-
autoOpen: true,
|
|
96
|
-
script: null,
|
|
97
|
-
scriptArgs: [],
|
|
98
|
-
};
|
|
99
|
-
let i = 0;
|
|
100
|
-
while (i < args.length) {
|
|
101
|
-
const arg = args[i];
|
|
102
|
-
if (arg === '--help' || arg === '-h') {
|
|
103
|
-
result.help = true;
|
|
104
|
-
}
|
|
105
|
-
else if (arg === '--version' || arg === '-v') {
|
|
106
|
-
result.version = true;
|
|
107
|
-
}
|
|
108
|
-
else if (arg === '--inspect-brk') {
|
|
109
|
-
result.inspectBrk = true;
|
|
110
|
-
}
|
|
111
|
-
else if (arg.startsWith('--inspect-port=')) {
|
|
112
|
-
result.inspectPort = parseInt(arg.split('=')[1], 10) || 9229;
|
|
113
|
-
}
|
|
114
|
-
else if (arg === '--gui') {
|
|
115
|
-
result.gui = true;
|
|
116
|
-
}
|
|
117
|
-
else if (arg.startsWith('--gui-port=')) {
|
|
118
|
-
const port = parseInt(arg.split('=')[1], 10);
|
|
119
|
-
result.guiPort = isNaN(port) ? 'auto' : port;
|
|
120
|
-
}
|
|
121
|
-
else if (arg.startsWith('--ws-port=')) {
|
|
122
|
-
const port = parseInt(arg.split('=')[1], 10);
|
|
123
|
-
result.wsPort = isNaN(port) ? 'auto' : port;
|
|
124
|
-
}
|
|
125
|
-
else if (arg === '--no-open') {
|
|
126
|
-
result.autoOpen = false;
|
|
127
|
-
}
|
|
128
|
-
else if (!arg.startsWith('-')) {
|
|
129
|
-
// 第一个非选项参数是脚本路径
|
|
130
|
-
result.script = arg;
|
|
131
|
-
result.scriptArgs = args.slice(i + 1);
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
i++;
|
|
135
|
-
}
|
|
136
|
-
return result;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* 主函数
|
|
140
|
-
*/
|
|
141
|
-
function main() {
|
|
142
|
-
const args = process.argv.slice(2);
|
|
143
|
-
const parsed = parseArgs(args);
|
|
144
|
-
if (parsed.help) {
|
|
145
|
-
printHelp();
|
|
146
|
-
process.exit(0);
|
|
147
|
-
}
|
|
148
|
-
if (parsed.version) {
|
|
149
|
-
printVersion();
|
|
150
|
-
process.exit(0);
|
|
151
|
-
}
|
|
152
|
-
if (!parsed.script) {
|
|
153
|
-
console.error('\x1b[31m错误:\x1b[0m 请指定要运行的脚本');
|
|
154
|
-
console.error('使用 --help 查看帮助信息');
|
|
155
|
-
process.exit(1);
|
|
156
|
-
}
|
|
157
|
-
// 解析脚本路径
|
|
158
|
-
const scriptPath = resolve(process.cwd(), parsed.script);
|
|
159
|
-
// 构建 Node.js 参数
|
|
160
|
-
const nodeArgs = [];
|
|
161
|
-
// 添加 inspect 标志
|
|
162
|
-
if (parsed.inspectBrk) {
|
|
163
|
-
nodeArgs.push(`--inspect-brk=${parsed.inspectPort}`);
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
nodeArgs.push(`--inspect=${parsed.inspectPort}`);
|
|
167
|
-
}
|
|
168
|
-
// 添加实验性网络检查标志(Node.js 20.18.0+)
|
|
169
|
-
nodeArgs.push('--experimental-network-inspection');
|
|
170
|
-
// 添加 register 入口
|
|
171
|
-
// 计算 register.js 的路径(相对于 CLI 脚本)
|
|
172
|
-
const registerPath = resolve(currentDirname, 'register.js');
|
|
173
|
-
nodeArgs.push('--import', registerPath);
|
|
174
|
-
// 添加用户脚本和参数
|
|
175
|
-
nodeArgs.push(scriptPath, ...parsed.scriptArgs);
|
|
176
|
-
// 设置 GUI 相关环境变量
|
|
177
|
-
const env = { ...process.env };
|
|
178
|
-
if (parsed.gui) {
|
|
179
|
-
env.NND_GUI_ENABLED = 'true';
|
|
180
|
-
if (parsed.guiPort !== 'auto') {
|
|
181
|
-
env.NND_GUI_PORT = String(parsed.guiPort);
|
|
182
|
-
}
|
|
183
|
-
if (parsed.wsPort !== 'auto') {
|
|
184
|
-
env.NND_WS_PORT = String(parsed.wsPort);
|
|
185
|
-
}
|
|
186
|
-
env.NND_AUTO_OPEN = parsed.autoOpen ? 'true' : 'false';
|
|
187
|
-
}
|
|
188
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 启动脚本: ${parsed.script}`);
|
|
189
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m Inspector 端口: ${parsed.inspectPort}`);
|
|
190
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 实验性网络检查已启用`);
|
|
191
|
-
if (parsed.gui) {
|
|
192
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m Web GUI 已启用`);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
console.log(`\x1b[36m[node-network-devtools]\x1b[0m 打开 chrome://inspect 查看网络请求`);
|
|
196
|
-
}
|
|
197
|
-
console.log('');
|
|
198
|
-
// 启动子进程
|
|
199
|
-
const child = spawn('node', nodeArgs, {
|
|
200
|
-
stdio: 'inherit',
|
|
201
|
-
env,
|
|
202
|
-
});
|
|
203
|
-
// 转发退出码
|
|
204
|
-
child.on('exit', (code) => {
|
|
205
|
-
process.exit(code ?? 0);
|
|
206
|
-
});
|
|
207
|
-
// 处理错误
|
|
208
|
-
child.on('error', (error) => {
|
|
209
|
-
console.error(`\x1b[31m错误:\x1b[0m 无法启动脚本: ${error.message}`);
|
|
210
|
-
process.exit(1);
|
|
211
|
-
});
|
|
212
|
-
// 处理信号
|
|
213
|
-
process.on('SIGINT', () => {
|
|
214
|
-
child.kill('SIGINT');
|
|
215
|
-
});
|
|
216
|
-
process.on('SIGTERM', () => {
|
|
217
|
-
child.kill('SIGTERM');
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
main();
|
|
221
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/esm/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/types/cli.d.ts
DELETED
package/dist/types/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|