@vscode/component-explorer-cli 0.1.1-1 → 0.1.1-11
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 +177 -0
- package/dist/commands/acceptCommand.d.ts +2 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +12 -6
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +5 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +43 -71
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts +10 -0
- package/dist/commands/mcpCommand.d.ts.map +1 -0
- package/dist/commands/mcpCommand.js +58 -0
- package/dist/commands/mcpCommand.js.map +1 -0
- package/dist/commands/screenshotCommand.d.ts +7 -2
- package/dist/commands/screenshotCommand.d.ts.map +1 -1
- package/dist/commands/screenshotCommand.js +61 -14
- package/dist/commands/screenshotCommand.js.map +1 -1
- package/dist/commands/serveCommand.d.ts +19 -0
- package/dist/commands/serveCommand.d.ts.map +1 -0
- package/dist/commands/serveCommand.js +194 -0
- package/dist/commands/serveCommand.js.map +1 -0
- package/dist/commands/watchCommand.d.ts +1 -2
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +23 -19
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/comparison.d.ts +60 -0
- package/dist/comparison.d.ts.map +1 -0
- package/dist/comparison.js +250 -0
- package/dist/comparison.js.map +1 -0
- package/dist/component-explorer-config.schema.json +183 -0
- package/dist/componentExplorer.d.ts +44 -2
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +98 -16
- package/dist/componentExplorer.js.map +1 -1
- package/dist/daemon/DaemonContext.d.ts +4 -0
- package/dist/daemon/DaemonContext.d.ts.map +1 -0
- package/dist/daemon/DaemonService.d.ts +188 -0
- package/dist/daemon/DaemonService.d.ts.map +1 -0
- package/dist/daemon/DaemonService.js +610 -0
- package/dist/daemon/DaemonService.js.map +1 -0
- package/dist/daemon/approvalStore.d.ts +51 -0
- package/dist/daemon/approvalStore.d.ts.map +1 -0
- package/dist/daemon/approvalStore.js +58 -0
- package/dist/daemon/approvalStore.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +13 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +68 -0
- package/dist/daemon/lifecycle.js.map +1 -0
- package/dist/daemon/pipeClient.d.ts +9 -0
- package/dist/daemon/pipeClient.d.ts.map +1 -0
- package/dist/daemon/pipeClient.js +111 -0
- package/dist/daemon/pipeClient.js.map +1 -0
- package/dist/daemon/pipeName.d.ts +2 -0
- package/dist/daemon/pipeName.d.ts.map +1 -0
- package/dist/daemon/pipeName.js +14 -0
- package/dist/daemon/pipeName.js.map +1 -0
- package/dist/daemon/pipeServer.d.ts +4 -0
- package/dist/daemon/pipeServer.d.ts.map +1 -0
- package/dist/daemon/pipeServer.js +25 -0
- package/dist/daemon/pipeServer.js.map +1 -0
- package/dist/daemon/types.d.ts +12 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/dependencyInstaller.js +1 -1
- package/dist/dependencyInstaller.js.map +1 -1
- package/dist/explorerSession.d.ts +5 -3
- package/dist/explorerSession.d.ts.map +1 -1
- package/dist/explorerSession.js +6 -3
- package/dist/explorerSession.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/disposables.js +24 -1
- package/dist/external/vscode-observables/observables/dist/disposables.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js +1 -4
- package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +3 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +2 -5
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js +30 -6
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js +12 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js +55 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +1 -0
- package/dist/formatValue.d.ts +2 -0
- package/dist/formatValue.d.ts.map +1 -0
- package/dist/formatValue.js +96 -0
- package/dist/formatValue.js.map +1 -0
- package/dist/formatValue.test.d.ts +2 -0
- package/dist/formatValue.test.d.ts.map +1 -0
- package/dist/git/gitUtils.js +1 -1
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/httpServer.d.ts +8 -7
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +59 -12
- package/dist/httpServer.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/McpServer.d.ts +58 -0
- package/dist/mcp/McpServer.d.ts.map +1 -0
- package/dist/mcp/McpServer.js +820 -0
- package/dist/mcp/McpServer.js.map +1 -0
- package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js +137 -0
- package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +1 -0
- package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js +27 -0
- package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js.map +1 -0
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js +24 -0
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +1 -0
- package/dist/packages/simple-api/dist/express.js +104 -0
- package/dist/packages/simple-api/dist/express.js.map +1 -0
- package/dist/resolveProject.d.ts +21 -0
- package/dist/resolveProject.d.ts.map +1 -0
- package/dist/resolveProject.js +39 -0
- package/dist/resolveProject.js.map +1 -0
- package/dist/utils.d.ts +24 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +50 -0
- package/dist/utils.js.map +1 -0
- package/dist/watchConfig.d.ts +41 -0
- package/dist/watchConfig.d.ts.map +1 -1
- package/dist/watchConfig.js +41 -19
- package/dist/watchConfig.js.map +1 -1
- package/package.json +16 -6
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js +0 -72
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js +0 -447
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js +0 -64
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js +0 -52
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js.map +0 -1
package/dist/httpServer.js
CHANGED
|
@@ -8,8 +8,8 @@ import { nullLogger } from './logger.js';
|
|
|
8
8
|
import { SourceTreeId } from './sourceTreeId.js';
|
|
9
9
|
|
|
10
10
|
class DefaultComponentExplorerHttpServerFactory {
|
|
11
|
-
async createViteServer(project,
|
|
12
|
-
return ViteComponentExplorerHttpServer.create(project,
|
|
11
|
+
async createViteServer(project, options) {
|
|
12
|
+
return ViteComponentExplorerHttpServer.create(project, options);
|
|
13
13
|
}
|
|
14
14
|
async createStaticServer(_distDir) {
|
|
15
15
|
throw new Error('Static server not yet implemented');
|
|
@@ -25,38 +25,75 @@ class ViteComponentExplorerHttpServer {
|
|
|
25
25
|
this.url = url;
|
|
26
26
|
this.sourceTreeId = sourceTreeId;
|
|
27
27
|
}
|
|
28
|
-
static async create(project,
|
|
29
|
-
const log = logger ?? nullLogger;
|
|
28
|
+
static async create(project, options) {
|
|
29
|
+
const log = options?.logger ?? nullLogger;
|
|
30
|
+
const resolveViteFrom = options?.resolveViteFrom;
|
|
31
|
+
const hmrAllowedPaths = options?.hmrAllowedPaths;
|
|
30
32
|
// Import Vite from the target project's node_modules, not ours.
|
|
31
33
|
// This ensures the config is loaded with the same Vite version and
|
|
32
34
|
// module resolution context as the target project.
|
|
33
35
|
// For worktree sessions, resolveViteFrom points to the main worktree's
|
|
34
36
|
// project dir so both sessions share the same Vite.
|
|
35
37
|
const { pathToFileURL } = await import('node:url');
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
//
|
|
38
|
+
const { createRequire } = await import('node:module');
|
|
39
|
+
// Resolve vite from the config file location (as importer) so it finds
|
|
40
|
+
// the correct node_modules even when the CLI is installed elsewhere.
|
|
41
|
+
// We always use createRequire because import.meta.resolve's second
|
|
42
|
+
// argument is ignored in some Node.js versions (it resolves from
|
|
43
|
+
// the calling file instead of the specified parentUrl).
|
|
44
|
+
const resolveFrom = resolveViteFrom ?? project.configFile ?? project.cwd;
|
|
45
|
+
const parentUrl = pathToFileURL(resolveFrom).href;
|
|
46
|
+
log.debug(`Resolving vite from: ${resolveFrom} (parentUrl: ${parentUrl})`);
|
|
39
47
|
let viteUrl;
|
|
40
|
-
|
|
41
|
-
viteUrl = import.meta.resolve('vite', parentUrl);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const { createRequire } = await import('node:module');
|
|
48
|
+
try {
|
|
45
49
|
viteUrl = pathToFileURL(createRequire(parentUrl).resolve('vite')).href;
|
|
46
50
|
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
log.log(`Failed to resolve vite from parentUrl=${parentUrl}: ${e}`);
|
|
53
|
+
throw e;
|
|
54
|
+
}
|
|
47
55
|
log.trace(`Resolved vite: ${viteUrl}`);
|
|
48
56
|
const { createServer } = await import(/* @vite-ignore */ viteUrl);
|
|
57
|
+
// Build a custom Vite logger that strips ANSI escape codes and routes
|
|
58
|
+
// through our ILogger so output stays clean in non-TTY terminals.
|
|
59
|
+
const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*[a-zA-Z]/g, '').replace(/\x1b\].*?\x07/g, '');
|
|
60
|
+
const customLogger = {
|
|
61
|
+
info: (msg) => log.trace(stripAnsi(msg)),
|
|
62
|
+
warn: (msg) => log.info(`[warn] ${stripAnsi(msg)}`),
|
|
63
|
+
warnOnce: (msg) => log.info(`[warn] ${stripAnsi(msg)}`),
|
|
64
|
+
error: (msg) => log.info(`[error] ${stripAnsi(msg)}`),
|
|
65
|
+
clearScreen: () => { },
|
|
66
|
+
hasErrorLogged: () => false,
|
|
67
|
+
hasWarned: false,
|
|
68
|
+
};
|
|
49
69
|
// Change CWD so Vite resolves any relative `root` in the config correctly.
|
|
50
70
|
// We must NOT pass `root` as inline config because inline config
|
|
51
71
|
// takes precedence over the config file, which would break configs
|
|
52
72
|
// that set their own `root` (e.g. `root: '../..'`).
|
|
53
73
|
const prevCwd = process.cwd();
|
|
54
74
|
process.chdir(project.cwd);
|
|
75
|
+
const plugins = [];
|
|
76
|
+
if (hmrAllowedPaths) {
|
|
77
|
+
const matchers = hmrAllowedPaths.map(globToRegExp);
|
|
78
|
+
plugins.push({
|
|
79
|
+
name: 'component-explorer-hmr-filter',
|
|
80
|
+
handleHotUpdate({ file, server: s }) {
|
|
81
|
+
if (!matchers.some(re => re.test(file))) {
|
|
82
|
+
log.debug(`Full reload for: ${file}`);
|
|
83
|
+
s.ws.send({ type: 'full-reload' });
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
}
|
|
55
89
|
let server;
|
|
56
90
|
try {
|
|
57
91
|
server = await createServer({
|
|
58
92
|
configFile: project.configFile,
|
|
59
93
|
server: { port: 0, strictPort: false },
|
|
94
|
+
customLogger,
|
|
95
|
+
clearScreen: false,
|
|
96
|
+
plugins,
|
|
60
97
|
});
|
|
61
98
|
await server.listen();
|
|
62
99
|
}
|
|
@@ -65,6 +102,7 @@ class ViteComponentExplorerHttpServer {
|
|
|
65
102
|
}
|
|
66
103
|
const resolvedUrls = server.resolvedUrls;
|
|
67
104
|
const url = resolvedUrls?.local[0] ?? `http://localhost:${server.httpServer?.address()?.port}`;
|
|
105
|
+
log.debug(`Vite server started: ${url}`);
|
|
68
106
|
const treeId = observableValue('sourceTreeId', new SourceTreeId(Date.now().toString()));
|
|
69
107
|
server.watcher.on('change', () => {
|
|
70
108
|
treeId.set(new SourceTreeId(Date.now().toString()), undefined);
|
|
@@ -75,6 +113,15 @@ class ViteComponentExplorerHttpServer {
|
|
|
75
113
|
await this._server.close();
|
|
76
114
|
}
|
|
77
115
|
}
|
|
116
|
+
/** Convert a simple glob pattern (e.g. `*.css`) to a RegExp. */
|
|
117
|
+
function globToRegExp(glob) {
|
|
118
|
+
const escaped = glob.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
119
|
+
.replace(/\*\*/g, '⧫') // placeholder for **
|
|
120
|
+
.replace(/\*/g, '[^/]*')
|
|
121
|
+
.replace(/⧫/g, '.*')
|
|
122
|
+
.replace(/\?/g, '.');
|
|
123
|
+
return new RegExp(`(?:^|/)${escaped}$`);
|
|
124
|
+
}
|
|
78
125
|
|
|
79
126
|
export { DefaultComponentExplorerHttpServerFactory };
|
|
80
127
|
//# sourceMappingURL=httpServer.js.map
|
package/dist/httpServer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.js","sources":["../src/httpServer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"httpServer.js","sources":["../src/httpServer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;MAyBa,yCAAyC,CAAA;AACrD,IAAA,MAAM,gBAAgB,CAAC,OAAuB,EAAE,OAA2B,EAAA;QAC1E,OAAO,+BAA+B,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;IAChE;IAEA,MAAM,kBAAkB,CAAC,QAAgB,EAAA;AACxC,QAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;IACrD;AACA;AAED,MAAM,+BAA+B,CAAA;AAIlB,IAAA,OAAA;AACR,IAAA,GAAA;AACA,IAAA,YAAA;IALD,QAAQ,GAAG,KAAK;AAEzB,IAAA,WAAA,CACkB,OAAqC,EAC7C,GAAW,EACX,YAAuC,EAAA;QAF/B,IAAA,CAAA,OAAO,GAAP,OAAO;QACf,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,YAAY,GAAZ,YAAY;IACnB;AAEH,IAAA,aAAa,MAAM,CAAC,OAAuB,EAAE,OAA2B,EAAA;AACvE,QAAA,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,IAAI,UAAU;AACzC,QAAA,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe;AAChD,QAAA,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe;;;;;;QAMhD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,UAAU,CAAC;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,aAAa,CAAC;;;;;;QAMrD,MAAM,WAAW,GAAG,eAAe,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG;QACxE,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI;QACjD,GAAG,CAAC,KAAK,CAAC,CAAA,qBAAA,EAAwB,WAAW,CAAA,aAAA,EAAgB,SAAS,CAAA,CAAA,CAAG,CAAC;AAC1E,QAAA,IAAI,OAAe;AACnB,QAAA,IAAI;AACH,YAAA,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACvE;QAAE,OAAO,CAAC,EAAE;YACX,GAAG,CAAC,GAAG,CAAC,CAAA,sCAAA,EAAyC,SAAS,CAAA,EAAA,EAAK,CAAC,CAAA,CAAE,CAAC;AACnE,YAAA,MAAM,CAAC;QACR;AACA,QAAA,GAAG,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAA,CAAE,CAAC;QACtC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,0BAA0B,OAAO,CAA0B;;;QAI1F,MAAM,SAAS,GAAG,CAAC,CAAS,KAAK,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;AACtG,QAAA,MAAM,YAAY,GAA0B;AAC3C,YAAA,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACxC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,YAAA,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AACvD,YAAA,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AACrD,YAAA,WAAW,EAAE,MAAK,EAAE,CAAC;AACrB,YAAA,cAAc,EAAE,MAAM,KAAK;AAC3B,YAAA,SAAS,EAAE,KAAK;SAChB;;;;;AAMD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;AAC7B,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAE1B,MAAM,OAAO,GAA4B,EAAE;QAC3C,IAAI,eAAe,EAAE;YACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC;AACZ,gBAAA,IAAI,EAAE,+BAA+B;AACrC,gBAAA,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAA;AAClC,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACxC,wBAAA,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAA,CAAE,CAAC;wBACrC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAClC,wBAAA,OAAO,EAAE;oBACV;gBACD,CAAC;AACD,aAAA,CAAC;QACH;AAEA,QAAA,IAAI,MAAoC;AACxC,QAAA,IAAI;YACH,MAAM,GAAG,MAAM,YAAY,CAAC;gBAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;gBACtC,YAAY;AACZ,gBAAA,WAAW,EAAE,KAAK;gBAClB,OAAO;AACP,aAAA,CAAC;AACF,YAAA,MAAM,MAAM,CAAC,MAAM,EAAE;QACtB;gBAAU;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACvB;AAEA,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;AACxC,QAAA,MAAM,GAAG,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,oBAAqB,MAAM,CAAC,UAAU,EAAE,OAAO,EAAuB,EAAE,IAAI,EAAE;AACpH,QAAA,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAA,CAAE,CAAC;AAExC,QAAA,MAAM,MAAM,GAAG,eAAe,CAAe,cAAc,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAK;AAChC,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AAC/D,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,IAAI,+BAA+B,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IACnF;AAEA,IAAA,MAAM,OAAO,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAC3B;AACA;AAED;AACA,SAAS,YAAY,CAAC,IAAY,EAAA;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM;AACtD,SAAA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACrB,SAAA,OAAO,CAAC,KAAK,EAAE,OAAO;AACtB,SAAA,OAAO,CAAC,IAAI,EAAE,IAAI;AAClB,SAAA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACrB,IAAA,OAAO,IAAI,MAAM,CAAC,UAAU,OAAO,CAAA,CAAA,CAAG,CAAC;AACxC;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ import { ScreenshotCommand } from './commands/screenshotCommand.js';
|
|
|
4
4
|
import { CompareCommand } from './commands/compareCommand.js';
|
|
5
5
|
import { AcceptCommand } from './commands/acceptCommand.js';
|
|
6
6
|
import { WatchCommand } from './commands/watchCommand.js';
|
|
7
|
+
import { ServeCommand } from './commands/serveCommand.js';
|
|
8
|
+
import { McpCommand } from './commands/mcpCommand.js';
|
|
7
9
|
|
|
8
10
|
const cli = new Cli({
|
|
9
11
|
binaryLabel: 'component-explorer',
|
|
@@ -14,6 +16,8 @@ cli.register(ScreenshotCommand);
|
|
|
14
16
|
cli.register(CompareCommand);
|
|
15
17
|
cli.register(AcceptCommand);
|
|
16
18
|
cli.register(WatchCommand);
|
|
19
|
+
cli.register(ServeCommand);
|
|
20
|
+
cli.register(McpCommand);
|
|
17
21
|
const [, , ...args] = process.argv;
|
|
18
22
|
await cli.runExit(args);
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAUA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;AACnB,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,UAAU,EAAE,oBAAoB;AAChC,CAAA,CAAC;AAEF,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AAC/B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC5B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC3B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1B,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AAExB,MAAM,KAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI;AACjC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ProxyApiClient } from '@hediet/simple-api/client';
|
|
2
|
+
import { Disposable, type IObservable } from '@vscode/observables';
|
|
3
|
+
import type { DaemonApiType } from '../daemon/DaemonService.js';
|
|
4
|
+
export declare class DaemonConnection {
|
|
5
|
+
readonly client: ProxyApiClient<DaemonApiType>;
|
|
6
|
+
private _stale;
|
|
7
|
+
constructor(client: ProxyApiClient<DaemonApiType>);
|
|
8
|
+
get isStale(): boolean;
|
|
9
|
+
markStale(): void;
|
|
10
|
+
}
|
|
11
|
+
export interface McpServerOptions {
|
|
12
|
+
pollFn?: () => Promise<void>;
|
|
13
|
+
noAutostartHint?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class ComponentExplorerMcpServer extends Disposable {
|
|
16
|
+
private readonly _daemonConnection;
|
|
17
|
+
static create(daemon: IObservable<DaemonConnection | undefined>, options?: McpServerOptions): Promise<ComponentExplorerMcpServer>;
|
|
18
|
+
private readonly _mcp;
|
|
19
|
+
private readonly _watchList;
|
|
20
|
+
private readonly _pollFn?;
|
|
21
|
+
private readonly _noAutostartHint?;
|
|
22
|
+
private readonly _multiSessionTools;
|
|
23
|
+
private _sessions;
|
|
24
|
+
private _eventStreamAbortController;
|
|
25
|
+
private constructor();
|
|
26
|
+
private _onDaemonChanged;
|
|
27
|
+
private _getConnection;
|
|
28
|
+
private _waitForDaemon;
|
|
29
|
+
private _handleDisconnect;
|
|
30
|
+
private _noDaemonError;
|
|
31
|
+
private _withDaemon;
|
|
32
|
+
private _log;
|
|
33
|
+
private _startEventListener;
|
|
34
|
+
private _defaultSessionName;
|
|
35
|
+
private _defaultBaselineSessionName;
|
|
36
|
+
private _defaultCurrentSessionName;
|
|
37
|
+
private _sourceTreeId;
|
|
38
|
+
private _updateSessionSourceTreeId;
|
|
39
|
+
private _refreshSessions;
|
|
40
|
+
private _updateMultiSessionToolVisibility;
|
|
41
|
+
private _withSourceTreeRetry;
|
|
42
|
+
private _registerTools;
|
|
43
|
+
private _registerListFixtures;
|
|
44
|
+
private _registerScreenshot;
|
|
45
|
+
private _registerCompareScreenshot;
|
|
46
|
+
private _registerApproveDiff;
|
|
47
|
+
private _registerEvaluateJs;
|
|
48
|
+
private _registerDebugReloadPage;
|
|
49
|
+
private _registerWatchAdd;
|
|
50
|
+
private _registerWatchRemove;
|
|
51
|
+
private _registerWatchSet;
|
|
52
|
+
private _registerWatchCompare;
|
|
53
|
+
private _registerWaitForUpdate;
|
|
54
|
+
private _waitForUpdateResult;
|
|
55
|
+
private _registerSessions;
|
|
56
|
+
private _registerGetUrl;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=McpServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/mcp/McpServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAW,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAC;AAoE7E,qBAAa,gBAAgB;IAEhB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAD1D,OAAO,CAAC,MAAM,CAAS;gBACF,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAwB;IAC9C,SAAS,IAAI,IAAI;CACjB;AAWD,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,qBAAa,0BAA2B,SAAQ,UAAU;IAoBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;WAnBtB,MAAM,CAClB,MAAM,EAAE,WAAW,CAAC,gBAAgB,GAAG,SAAS,CAAC,EACjD,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,0BAA0B,CAAC;IAOtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,2BAA2B,CAA8B;IAEjE,OAAO;YAkBO,gBAAgB;IAqB9B,OAAO,CAAC,cAAc;YAMR,cAAc;IAkB5B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;YAIR,WAAW;IAezB,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,0BAA0B;YAOpB,gBAAgB;IAmB9B,OAAO,CAAC,iCAAiC;YAW3B,oBAAoB;IAelC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,mBAAmB;IAwE3B,OAAO,CAAC,0BAA0B;IAoElC,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,qBAAqB;IA2E7B,OAAO,CAAC,sBAAsB;YAyDhB,oBAAoB;IA6ClC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;CAiFvB"}
|