@teardown/cli 1.2.31 → 1.2.33
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/package.json +7 -4
- package/dist/commands/dev/dev.d.ts +0 -22
- package/dist/commands/dev/dev.js +0 -55
- package/dist/commands/init/init-teardown.d.ts +0 -9
- package/dist/commands/init/init-teardown.js +0 -26
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -20
- package/dist/modules/dev/dev-menu/keyboard-handler.d.ts +0 -21
- package/dist/modules/dev/dev-menu/keyboard-handler.js +0 -138
- package/dist/modules/dev/dev-menu/open-debugger-keyboard-handler.d.ts +0 -18
- package/dist/modules/dev/dev-menu/open-debugger-keyboard-handler.js +0 -105
- package/dist/modules/dev/dev-server/cdp/cdp.adapter.d.ts +0 -6
- package/dist/modules/dev/dev-server/cdp/cdp.adapter.js +0 -12
- package/dist/modules/dev/dev-server/cdp/index.d.ts +0 -2
- package/dist/modules/dev/dev-server/cdp/index.js +0 -18
- package/dist/modules/dev/dev-server/cdp/types.d.ts +0 -107
- package/dist/modules/dev/dev-server/cdp/types.js +0 -2
- package/dist/modules/dev/dev-server/dev-server-checker.d.ts +0 -22
- package/dist/modules/dev/dev-server/dev-server-checker.js +0 -72
- package/dist/modules/dev/dev-server/dev-server.d.ts +0 -74
- package/dist/modules/dev/dev-server/dev-server.js +0 -269
- package/dist/modules/dev/dev-server/inspector/device.d.ts +0 -46
- package/dist/modules/dev/dev-server/inspector/device.event-reporter.d.ts +0 -37
- package/dist/modules/dev/dev-server/inspector/device.event-reporter.js +0 -165
- package/dist/modules/dev/dev-server/inspector/device.js +0 -577
- package/dist/modules/dev/dev-server/inspector/inspector.d.ts +0 -27
- package/dist/modules/dev/dev-server/inspector/inspector.js +0 -204
- package/dist/modules/dev/dev-server/inspector/types.d.ts +0 -156
- package/dist/modules/dev/dev-server/inspector/types.js +0 -2
- package/dist/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.d.ts +0 -14
- package/dist/modules/dev/dev-server/inspector/wss/servers/debugger-connection.server.js +0 -61
- package/dist/modules/dev/dev-server/inspector/wss/servers/device-connection.server.d.ts +0 -19
- package/dist/modules/dev/dev-server/inspector/wss/servers/device-connection.server.js +0 -64
- package/dist/modules/dev/dev-server/plugins/devtools.plugin.d.ts +0 -10
- package/dist/modules/dev/dev-server/plugins/devtools.plugin.js +0 -50
- package/dist/modules/dev/dev-server/plugins/favicon.plugin.d.ts +0 -1
- package/dist/modules/dev/dev-server/plugins/favicon.plugin.js +0 -19
- package/dist/modules/dev/dev-server/plugins/multipart.plugin.d.ts +0 -1
- package/dist/modules/dev/dev-server/plugins/multipart.plugin.js +0 -62
- package/dist/modules/dev/dev-server/plugins/systrace.plugin.d.ts +0 -1
- package/dist/modules/dev/dev-server/plugins/systrace.plugin.js +0 -28
- package/dist/modules/dev/dev-server/plugins/types.d.ts +0 -11
- package/dist/modules/dev/dev-server/plugins/types.js +0 -2
- package/dist/modules/dev/dev-server/plugins/wss/index.d.ts +0 -3
- package/dist/modules/dev/dev-server/plugins/wss/index.js +0 -19
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.d.ts +0 -37
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-api.server.js +0 -66
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.d.ts +0 -63
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-debugger.server.js +0 -128
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-dev-client.server.d.ts +0 -32
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-dev-client.server.js +0 -75
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-events.server.d.ts +0 -75
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-events.server.js +0 -198
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-hmr.server.d.ts +0 -44
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-hmr.server.js +0 -120
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-message.server.d.ts +0 -139
- package/dist/modules/dev/dev-server/plugins/wss/servers/web-socket-message.server.js +0 -357
- package/dist/modules/dev/dev-server/plugins/wss/types.d.ts +0 -6
- package/dist/modules/dev/dev-server/plugins/wss/types.js +0 -2
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-router.d.ts +0 -32
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-router.js +0 -57
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-server-adapter.d.ts +0 -13
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-server-adapter.js +0 -26
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-server.d.ts +0 -39
- package/dist/modules/dev/dev-server/plugins/wss/web-socket-server.js +0 -46
- package/dist/modules/dev/dev-server/plugins/wss/wss.plugin.d.ts +0 -47
- package/dist/modules/dev/dev-server/plugins/wss/wss.plugin.js +0 -55
- package/dist/modules/dev/dev-server/sybmolicate/sybmolicate.plugin.d.ts +0 -14
- package/dist/modules/dev/dev-server/sybmolicate/sybmolicate.plugin.js +0 -36
- package/dist/modules/dev/dev-server/sybmolicate/types.d.ts +0 -64
- package/dist/modules/dev/dev-server/sybmolicate/types.js +0 -2
- package/dist/modules/dev/terminal/base.terminal.reporter.d.ts +0 -25
- package/dist/modules/dev/terminal/base.terminal.reporter.js +0 -78
- package/dist/modules/dev/terminal/terminal.reporter.d.ts +0 -14
- package/dist/modules/dev/terminal/terminal.reporter.js +0 -76
- package/dist/modules/dev/types.d.ts +0 -20
- package/dist/modules/dev/types.js +0 -2
- package/dist/modules/dev/utils/log.d.ts +0 -23
- package/dist/modules/dev/utils/log.js +0 -73
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teardown/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.33",
|
|
4
4
|
"description": "Teardown CLI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"bin/**/*",
|
|
12
12
|
"README.md",
|
|
13
|
-
"dist/**/*"
|
|
13
|
+
"dist/**/*",
|
|
14
|
+
"assets/**/*"
|
|
14
15
|
],
|
|
15
16
|
"scripts": {
|
|
16
|
-
"build": "tsc",
|
|
17
|
+
"build": "tsc && npm run copy-assets",
|
|
18
|
+
"copy-assets": "copyfiles -u 1 \"src/**/*.{png,jpg,jpeg,gif,svg,html,css,ico}\" dist/",
|
|
17
19
|
"dev": "tsc --watch",
|
|
18
20
|
"start": "bun run ./bin/teardown.js"
|
|
19
21
|
},
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
"@types/metro": "^0.76.3",
|
|
53
55
|
"@types/metro-config": "^0.76.3",
|
|
54
56
|
"@types/prompts": "^2.4.9",
|
|
55
|
-
"typescript": "^5.0.0"
|
|
57
|
+
"typescript": "^5.0.0",
|
|
58
|
+
"copyfiles": "^2.4.1"
|
|
56
59
|
}
|
|
57
60
|
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
export interface DevServerOptions {
|
|
3
|
-
projectRoot: string;
|
|
4
|
-
port: number;
|
|
5
|
-
host: string;
|
|
6
|
-
config: string;
|
|
7
|
-
entryFile: string;
|
|
8
|
-
resetCache: boolean;
|
|
9
|
-
watchFolders?: string[];
|
|
10
|
-
assetPlugins?: string[];
|
|
11
|
-
sourceExts?: string[];
|
|
12
|
-
maxWorkers?: number;
|
|
13
|
-
transformer?: string;
|
|
14
|
-
https?: boolean;
|
|
15
|
-
key?: string;
|
|
16
|
-
cert?: string;
|
|
17
|
-
interactive?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare class DevServerCommand {
|
|
20
|
-
createCommand(): Command;
|
|
21
|
-
private action;
|
|
22
|
-
}
|
package/dist/commands/dev/dev.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DevServerCommand = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const commander_1 = require("commander");
|
|
9
|
-
const dev_server_1 = require("../../modules/dev/dev-server/dev-server");
|
|
10
|
-
class DevServerCommand {
|
|
11
|
-
createCommand() {
|
|
12
|
-
const command = new commander_1.Command("dev")
|
|
13
|
-
.description("Start the development server")
|
|
14
|
-
.option("-p, --port <number>", "Port to start the server on", "8081")
|
|
15
|
-
.option("-h, --host <string>", "Host to listen on", "127.0.0.1")
|
|
16
|
-
.option("--project-root <path>", "Path to project root", process.cwd())
|
|
17
|
-
.option("--watch-folders <list>", "Specify additional folders to watch", (val) => val.split(",").map((folder) => node_path_1.default.resolve(folder)))
|
|
18
|
-
.option("--asset-plugins <list>", "Specify additional asset plugins", (val) => val.split(","))
|
|
19
|
-
.option("--source-exts <list>", "Specify additional source extensions", (val) => val.split(","))
|
|
20
|
-
.option("--max-workers <number>", "Maximum number of workers for transformation", (val) => Number(val))
|
|
21
|
-
.option("--transformer <string>", "Specify a custom transformer")
|
|
22
|
-
.option("--entry-file <path>", "Path to entry file", "index.js")
|
|
23
|
-
.option("--reset-cache", "Reset the metro cache", false)
|
|
24
|
-
.option("--https", "Enable HTTPS connections")
|
|
25
|
-
.option("--key <path>", "Path to SSL key")
|
|
26
|
-
.option("--cert <path>", "Path to SSL certificate")
|
|
27
|
-
.option("--config <path>", "Path to config file", (val) => node_path_1.default.resolve(val))
|
|
28
|
-
.option("--no-interactive", "Disable interactive mode");
|
|
29
|
-
command.action(this.action);
|
|
30
|
-
return command;
|
|
31
|
-
}
|
|
32
|
-
async action(options) {
|
|
33
|
-
try {
|
|
34
|
-
const server = new dev_server_1.DevServer({
|
|
35
|
-
projectRoot: options.projectRoot,
|
|
36
|
-
host: options.host,
|
|
37
|
-
port: options.port,
|
|
38
|
-
logRequests: true,
|
|
39
|
-
https: options.https
|
|
40
|
-
? {
|
|
41
|
-
key: options.key ?? "",
|
|
42
|
-
cert: options.cert ?? "",
|
|
43
|
-
}
|
|
44
|
-
: undefined,
|
|
45
|
-
});
|
|
46
|
-
await server.initialize();
|
|
47
|
-
await server.start();
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error("Failed to start development server:", error);
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.DevServerCommand = DevServerCommand;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InitTeardown = void 0;
|
|
4
|
-
const bun_1 = require("bun");
|
|
5
|
-
class InitTeardown {
|
|
6
|
-
options;
|
|
7
|
-
constructor(options) {
|
|
8
|
-
this.options = options;
|
|
9
|
-
}
|
|
10
|
-
async init() {
|
|
11
|
-
console.log("Initializing Teardown...");
|
|
12
|
-
const projectLocation = await this.getProjectLocation();
|
|
13
|
-
console.log(projectLocation);
|
|
14
|
-
}
|
|
15
|
-
async getProjectLocation() {
|
|
16
|
-
try {
|
|
17
|
-
const projectLocation = await (0, bun_1.$) `pwd`;
|
|
18
|
-
return projectLocation.text().trim();
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error("Error getting project location:", error);
|
|
22
|
-
throw error;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.InitTeardown = InitTeardown;
|
package/dist/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const commander_1 = require("commander");
|
|
4
|
-
const dev_1 = require("./commands/dev/dev");
|
|
5
|
-
const program = new commander_1.Command();
|
|
6
|
-
program
|
|
7
|
-
.name("Teardown CLI")
|
|
8
|
-
.description("CLI to use the Teardown")
|
|
9
|
-
.version("0.0.1");
|
|
10
|
-
// program
|
|
11
|
-
// .command("init")
|
|
12
|
-
// .description("Initialize Teardown in the current project")
|
|
13
|
-
// .action(async () => {
|
|
14
|
-
// const project = await import("./commands/init/init-teardown");
|
|
15
|
-
// await new project.InitTeardown({
|
|
16
|
-
// projectName: "example ",
|
|
17
|
-
// }).init();
|
|
18
|
-
// });
|
|
19
|
-
program.addCommand(new dev_1.DevServerCommand().createCommand());
|
|
20
|
-
program.parse();
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { DevServer } from "../dev-server/dev-server";
|
|
2
|
-
export declare class KeyboardHandlerManager {
|
|
3
|
-
readonly devServer: DevServer;
|
|
4
|
-
private static readonly CTRL_C;
|
|
5
|
-
private static readonly CTRL_D;
|
|
6
|
-
private static readonly RELOAD_TIMEOUT;
|
|
7
|
-
private readonly openDebuggerKeyboardHandler;
|
|
8
|
-
private previousCallTimestamp;
|
|
9
|
-
constructor(devServer: DevServer);
|
|
10
|
-
initialize(): Promise<void>;
|
|
11
|
-
private isTTYSupported;
|
|
12
|
-
private setupKeyboardHandlers;
|
|
13
|
-
private handleKeyPress;
|
|
14
|
-
private handleReload;
|
|
15
|
-
private handleDevMenu;
|
|
16
|
-
private handleOpenDebugger;
|
|
17
|
-
private handleExit;
|
|
18
|
-
private isRawModeSupported;
|
|
19
|
-
private setRawMode;
|
|
20
|
-
private printAvailableCommands;
|
|
21
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.KeyboardHandlerManager = void 0;
|
|
7
|
-
const node_readline_1 = __importDefault(require("node:readline"));
|
|
8
|
-
const node_tty_1 = require("node:tty");
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
-
const open_debugger_keyboard_handler_1 = __importDefault(require("./open-debugger-keyboard-handler"));
|
|
12
|
-
class KeyboardHandlerManager {
|
|
13
|
-
devServer;
|
|
14
|
-
static CTRL_C = "\u0003";
|
|
15
|
-
static CTRL_D = "\u0004";
|
|
16
|
-
static RELOAD_TIMEOUT = 500;
|
|
17
|
-
openDebuggerKeyboardHandler;
|
|
18
|
-
previousCallTimestamp = 0;
|
|
19
|
-
constructor(devServer) {
|
|
20
|
-
this.devServer = devServer;
|
|
21
|
-
this.openDebuggerKeyboardHandler = new open_debugger_keyboard_handler_1.default({
|
|
22
|
-
reporter: this.devServer.terminalReporter,
|
|
23
|
-
devServerUrl: this.devServer.getDevServerUrl(),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
async initialize() {
|
|
27
|
-
if (!this.isTTYSupported()) {
|
|
28
|
-
this.devServer.terminalReporter.update({
|
|
29
|
-
type: "client_log",
|
|
30
|
-
level: "info",
|
|
31
|
-
data: ["Interactive mode is not supported in this environment"],
|
|
32
|
-
});
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this.setupKeyboardHandlers();
|
|
36
|
-
this.printAvailableCommands();
|
|
37
|
-
}
|
|
38
|
-
isTTYSupported() {
|
|
39
|
-
return process.stdin.isTTY === true;
|
|
40
|
-
}
|
|
41
|
-
setupKeyboardHandlers() {
|
|
42
|
-
node_readline_1.default.emitKeypressEvents(process.stdin);
|
|
43
|
-
this.setRawMode(true);
|
|
44
|
-
process.stdin.on("keypress", (str, key) => {
|
|
45
|
-
this.handleKeyPress(key);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
handleKeyPress(key) {
|
|
49
|
-
if (this.openDebuggerKeyboardHandler.maybeHandleTargetSelection(key.name)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
switch (key.sequence) {
|
|
53
|
-
case "r":
|
|
54
|
-
this.handleReload();
|
|
55
|
-
break;
|
|
56
|
-
case "d":
|
|
57
|
-
this.handleDevMenu();
|
|
58
|
-
break;
|
|
59
|
-
case "j":
|
|
60
|
-
void this.handleOpenDebugger();
|
|
61
|
-
break;
|
|
62
|
-
case KeyboardHandlerManager.CTRL_C:
|
|
63
|
-
case KeyboardHandlerManager.CTRL_D:
|
|
64
|
-
this.handleExit();
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
handleReload() {
|
|
69
|
-
const currentCallTimestamp = new Date().getTime();
|
|
70
|
-
if (currentCallTimestamp - this.previousCallTimestamp >
|
|
71
|
-
KeyboardHandlerManager.RELOAD_TIMEOUT) {
|
|
72
|
-
this.previousCallTimestamp = currentCallTimestamp;
|
|
73
|
-
this.devServer.terminalReporter.update({
|
|
74
|
-
type: "client_log",
|
|
75
|
-
level: "info",
|
|
76
|
-
data: ["Reloading connected app(s)..."],
|
|
77
|
-
});
|
|
78
|
-
this.devServer.messageServer.broadcast("reload");
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
handleDevMenu() {
|
|
82
|
-
this.devServer.terminalReporter.update({
|
|
83
|
-
type: "client_log",
|
|
84
|
-
level: "info",
|
|
85
|
-
data: ["Opening Dev Menu..."],
|
|
86
|
-
});
|
|
87
|
-
this.devServer.messageServer.broadcast("devMenu");
|
|
88
|
-
}
|
|
89
|
-
async handleOpenDebugger() {
|
|
90
|
-
await this.openDebuggerKeyboardHandler.handleOpenDebugger();
|
|
91
|
-
}
|
|
92
|
-
handleExit() {
|
|
93
|
-
this.openDebuggerKeyboardHandler.dismiss();
|
|
94
|
-
this.devServer.terminalReporter.update({
|
|
95
|
-
type: "client_log",
|
|
96
|
-
level: "info",
|
|
97
|
-
data: ["Stopping server"],
|
|
98
|
-
});
|
|
99
|
-
this.setRawMode(false);
|
|
100
|
-
process.stdin.pause();
|
|
101
|
-
process.emit("SIGINT");
|
|
102
|
-
process.exit();
|
|
103
|
-
}
|
|
104
|
-
isRawModeSupported() {
|
|
105
|
-
return process.stdin instanceof node_tty_1.ReadStream;
|
|
106
|
-
}
|
|
107
|
-
setRawMode(enable) {
|
|
108
|
-
if (!this.isRawModeSupported()) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
process.stdin.setRawMode(enable);
|
|
112
|
-
}
|
|
113
|
-
printAvailableCommands() {
|
|
114
|
-
if (!this.isRawModeSupported()) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
this.devServer.terminalReporter.update({
|
|
118
|
-
type: "client_log",
|
|
119
|
-
level: "info",
|
|
120
|
-
data: [
|
|
121
|
-
"Key commands available:",
|
|
122
|
-
"\n",
|
|
123
|
-
"\n",
|
|
124
|
-
`${chalk_1.default.bold.inverse(" r ")} - reload app(s)`,
|
|
125
|
-
"\n",
|
|
126
|
-
`${chalk_1.default.bold.inverse(" d ")} - open Dev Menu`,
|
|
127
|
-
// "\n",
|
|
128
|
-
// `${chalk.bold.inverse(" j ")} - open DevTools`,
|
|
129
|
-
],
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.KeyboardHandlerManager = KeyboardHandlerManager;
|
|
134
|
-
const invariant = (condition, message) => {
|
|
135
|
-
if (!condition) {
|
|
136
|
-
throw new Error(message);
|
|
137
|
-
}
|
|
138
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { TeardownTerminalReporter } from "../terminal/terminal.reporter";
|
|
2
|
-
interface OpenDebuggerConfig {
|
|
3
|
-
reporter: TeardownTerminalReporter;
|
|
4
|
-
devServerUrl: string;
|
|
5
|
-
}
|
|
6
|
-
export default class OpenDebuggerKeyboardHandler {
|
|
7
|
-
private readonly reporter;
|
|
8
|
-
private readonly devServerUrl;
|
|
9
|
-
private isTargetSelectionActive;
|
|
10
|
-
private targets;
|
|
11
|
-
constructor(config: OpenDebuggerConfig);
|
|
12
|
-
handleOpenDebugger(): Promise<void>;
|
|
13
|
-
maybeHandleTargetSelection(key: string): boolean;
|
|
14
|
-
dismiss(): void;
|
|
15
|
-
private openTarget;
|
|
16
|
-
private showTargetSelection;
|
|
17
|
-
}
|
|
18
|
-
export {};
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
// @ts-ignore
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const open_1 = __importDefault(require("open"));
|
|
9
|
-
class OpenDebuggerKeyboardHandler {
|
|
10
|
-
reporter;
|
|
11
|
-
devServerUrl;
|
|
12
|
-
isTargetSelectionActive = false;
|
|
13
|
-
targets = [];
|
|
14
|
-
constructor(config) {
|
|
15
|
-
this.reporter = config.reporter;
|
|
16
|
-
this.devServerUrl = config.devServerUrl;
|
|
17
|
-
}
|
|
18
|
-
async handleOpenDebugger() {
|
|
19
|
-
try {
|
|
20
|
-
const response = await fetch(`${this.devServerUrl}/json`);
|
|
21
|
-
const pages = await response.json();
|
|
22
|
-
this.targets = pages.map((page) => ({
|
|
23
|
-
name: page.title,
|
|
24
|
-
url: page.devtoolsFrontendUrl,
|
|
25
|
-
}));
|
|
26
|
-
if (this.targets.length === 0) {
|
|
27
|
-
this.reporter.update({
|
|
28
|
-
type: "client_log",
|
|
29
|
-
level: "info",
|
|
30
|
-
data: ["No available debugging targets"],
|
|
31
|
-
});
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (this.targets.length === 1) {
|
|
35
|
-
await this.openTarget(this.targets[0]);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
this.showTargetSelection();
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
this.reporter.update({
|
|
42
|
-
type: "client_log",
|
|
43
|
-
level: "warn",
|
|
44
|
-
data: [
|
|
45
|
-
`Failed to open debugger: ${error instanceof Error ? error.message : String(error)}`,
|
|
46
|
-
],
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
maybeHandleTargetSelection(key) {
|
|
51
|
-
if (!this.isTargetSelectionActive) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
const targetIndex = Number.parseInt(key, 10) - 1;
|
|
55
|
-
if (targetIndex >= 0 && targetIndex < this.targets.length) {
|
|
56
|
-
void this.openTarget(this.targets[targetIndex]);
|
|
57
|
-
this.dismiss();
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
if (key === "escape") {
|
|
61
|
-
this.dismiss();
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
dismiss() {
|
|
67
|
-
this.isTargetSelectionActive = false;
|
|
68
|
-
this.targets = [];
|
|
69
|
-
}
|
|
70
|
-
async openTarget(target) {
|
|
71
|
-
try {
|
|
72
|
-
console.log("openTarget", target.url);
|
|
73
|
-
await (0, open_1.default)(target.url);
|
|
74
|
-
this.reporter.update({
|
|
75
|
-
type: "client_log",
|
|
76
|
-
level: "info",
|
|
77
|
-
data: [`Opening debugger for: ${target.name}`],
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
this.reporter.update({
|
|
82
|
-
type: "client_log",
|
|
83
|
-
// @ts-ignore
|
|
84
|
-
level: "error",
|
|
85
|
-
data: [
|
|
86
|
-
`Failed to open debugger: ${error instanceof Error ? error.message : String(error)}`,
|
|
87
|
-
],
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
showTargetSelection() {
|
|
92
|
-
this.isTargetSelectionActive = true;
|
|
93
|
-
const targetList = this.targets
|
|
94
|
-
.map((target, i) => ` ${chalk_1.default.bold.inverse(` ${i + 1} `)} ${target.name}`)
|
|
95
|
-
.join("\n");
|
|
96
|
-
this.reporter.update({
|
|
97
|
-
type: "client_log",
|
|
98
|
-
level: "info",
|
|
99
|
-
data: [
|
|
100
|
-
`Select a target to debug:\n${targetList}\n\n ${chalk_1.default.bold.inverse(" ESC ")} to cancel\n`,
|
|
101
|
-
],
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.default = OpenDebuggerKeyboardHandler;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CDPAdapter = void 0;
|
|
4
|
-
// import type { DevServer } from "devtools-protocol";
|
|
5
|
-
class CDPAdapter {
|
|
6
|
-
instance;
|
|
7
|
-
constructor(instance) {
|
|
8
|
-
this.instance = instance;
|
|
9
|
-
}
|
|
10
|
-
enable() { }
|
|
11
|
-
}
|
|
12
|
-
exports.CDPAdapter = CDPAdapter;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./cdp.adapter"), exports);
|
|
18
|
-
__exportStar(require("./types"), exports);
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import type { JSONSerializable } from "../inspector/types";
|
|
2
|
-
type integer = number;
|
|
3
|
-
export interface Debugger {
|
|
4
|
-
GetScriptSourceParams: {
|
|
5
|
-
/**
|
|
6
|
-
* Id of the script to get source for.
|
|
7
|
-
*/
|
|
8
|
-
scriptId: string;
|
|
9
|
-
};
|
|
10
|
-
GetScriptSourceResult: {
|
|
11
|
-
/**
|
|
12
|
-
* Script source (empty in case of Wasm bytecode).
|
|
13
|
-
*/
|
|
14
|
-
scriptSource: string;
|
|
15
|
-
/**
|
|
16
|
-
* Wasm bytecode. (Encoded as a base64 string when passed over JSON)
|
|
17
|
-
*/
|
|
18
|
-
bytecode?: string;
|
|
19
|
-
};
|
|
20
|
-
SetBreakpointByUrlParams: {
|
|
21
|
-
/**
|
|
22
|
-
* Line number to set breakpoint at.
|
|
23
|
-
*/
|
|
24
|
-
lineNumber: integer;
|
|
25
|
-
/**
|
|
26
|
-
* URL of the resources to set breakpoint on.
|
|
27
|
-
*/
|
|
28
|
-
url?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Regex pattern for the URLs of the resources to set breakpoints on. Either `url` or
|
|
31
|
-
* `urlRegex` must be specified.
|
|
32
|
-
*/
|
|
33
|
-
urlRegex?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Script hash of the resources to set breakpoint on.
|
|
36
|
-
*/
|
|
37
|
-
scriptHash?: string;
|
|
38
|
-
/**
|
|
39
|
-
* Offset in the line to set breakpoint at.
|
|
40
|
-
*/
|
|
41
|
-
columnNumber?: integer;
|
|
42
|
-
/**
|
|
43
|
-
* Expression to use as a breakpoint condition. When specified, debugger will only stop on the
|
|
44
|
-
* breakpoint if this expression evaluates to true.
|
|
45
|
-
*/
|
|
46
|
-
condition?: string;
|
|
47
|
-
};
|
|
48
|
-
ScriptParsedEvent: {
|
|
49
|
-
/**
|
|
50
|
-
* Identifier of the script parsed.
|
|
51
|
-
*/
|
|
52
|
-
scriptId: string;
|
|
53
|
-
/**
|
|
54
|
-
* URL or name of the script parsed (if any).
|
|
55
|
-
*/
|
|
56
|
-
url: string;
|
|
57
|
-
/**
|
|
58
|
-
* URL of source map associated with script (if any).
|
|
59
|
-
*/
|
|
60
|
-
sourceMapURL: string;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
export type Events = {
|
|
64
|
-
"Debugger.scriptParsed": Debugger["ScriptParsedEvent"];
|
|
65
|
-
[method: string]: JSONSerializable;
|
|
66
|
-
};
|
|
67
|
-
export type Commands = {
|
|
68
|
-
"Debugger.getScriptSource": {
|
|
69
|
-
paramsType: Debugger["GetScriptSourceParams"];
|
|
70
|
-
resultType: Debugger["GetScriptSourceResult"];
|
|
71
|
-
};
|
|
72
|
-
"Debugger.setBreakpointByUrl": {
|
|
73
|
-
paramsType: Debugger["SetBreakpointByUrlParams"];
|
|
74
|
-
resultType: null;
|
|
75
|
-
};
|
|
76
|
-
[method: string]: {
|
|
77
|
-
paramsType: JSONSerializable;
|
|
78
|
-
resultType: JSONSerializable;
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
export type CDPEvent<TEvent extends keyof Events = "unknown"> = {
|
|
82
|
-
method: TEvent;
|
|
83
|
-
params: Events[TEvent];
|
|
84
|
-
};
|
|
85
|
-
export type CDPRequest<TCommand extends keyof Commands = "unknown"> = {
|
|
86
|
-
method: TCommand;
|
|
87
|
-
params: Commands[TCommand]["paramsType"];
|
|
88
|
-
id: number;
|
|
89
|
-
};
|
|
90
|
-
export type CDPResponse<TCommand extends keyof Commands = "unknown"> = {
|
|
91
|
-
result: Commands[TCommand]["resultType"];
|
|
92
|
-
id: number;
|
|
93
|
-
} | {
|
|
94
|
-
error: CDPRequestError;
|
|
95
|
-
id: number;
|
|
96
|
-
};
|
|
97
|
-
export type CDPRequestError = {
|
|
98
|
-
code: number;
|
|
99
|
-
message: string;
|
|
100
|
-
data?: JSONSerializable;
|
|
101
|
-
};
|
|
102
|
-
export type CDPClientMessage = CDPRequest<"Debugger.getScriptSource"> | CDPRequest<"Debugger.scriptParsed"> | CDPRequest<"Debugger.setBreakpointByUrl"> | CDPRequest<never>;
|
|
103
|
-
export type CDPServerMessage = {
|
|
104
|
-
method: string;
|
|
105
|
-
params: any;
|
|
106
|
-
} & (CDPEvent<"Debugger.scriptParsed"> | CDPEvent<never> | CDPResponse<"Debugger.getScriptSource"> | CDPResponse<never>);
|
|
107
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export declare enum DevServerStatusResultEnum {
|
|
2
|
-
PACKAGER_STATUS_RUNNING = "packager-status:running"
|
|
3
|
-
}
|
|
4
|
-
export declare enum DevServerStatusEnum {
|
|
5
|
-
NOT_RUNNING = "not_running",
|
|
6
|
-
MATCHED_SERVER_RUNNING = "matched_server_running",
|
|
7
|
-
PORT_TAKEN = "port_taken",
|
|
8
|
-
UNKNOWN = "unknown"
|
|
9
|
-
}
|
|
10
|
-
export type DevServerOptions = {
|
|
11
|
-
host: string;
|
|
12
|
-
port: number;
|
|
13
|
-
projectRoot: string;
|
|
14
|
-
devServerStatusPath?: string;
|
|
15
|
-
};
|
|
16
|
-
export declare class DevServerChecker {
|
|
17
|
-
readonly options: DevServerOptions;
|
|
18
|
-
constructor(options: DevServerOptions);
|
|
19
|
-
private getUrl;
|
|
20
|
-
getServerStatus(): Promise<DevServerStatusEnum>;
|
|
21
|
-
private isPortInUse;
|
|
22
|
-
}
|