@vscode/component-explorer-cli 0.2.1-4 → 0.2.1-6
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 +8 -0
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +1 -1
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +29 -1
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -0
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +3 -2
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/artifactCommand.d.ts +1 -0
- package/dist/commands/artifactCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +1 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +3 -2
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -0
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +3 -2
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts +5 -0
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +78 -13
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/renderCommand.d.ts +1 -0
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +3 -2
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/screenshotCommand.d.ts +1 -0
- package/dist/commands/screenshotCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.d.ts +1 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +62 -35
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts +15 -0
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -0
- package/dist/commands/serviceDiffCommitsCommand.js +224 -0
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -0
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +4 -3
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/componentExplorer.d.ts +3 -0
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +84 -50
- package/dist/componentExplorer.js.map +1 -1
- package/dist/daemon/DaemonService.js +3 -3
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/client.d.ts +5 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +7 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/inProcessClient.d.ts +11 -0
- package/dist/daemon/inProcessClient.d.ts.map +1 -0
- package/dist/daemon/inProcessClient.js +35 -0
- package/dist/daemon/inProcessClient.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +4 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +12 -2
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.js +1 -0
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +6 -0
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +8 -3
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.d.ts.map +1 -1
- package/dist/daemon/pipeServer.js +7 -1
- package/dist/daemon/pipeServer.js.map +1 -1
- package/dist/evaluateFn.d.ts +21 -0
- package/dist/evaluateFn.d.ts.map +1 -0
- package/dist/evaluateFn.js +17 -0
- package/dist/evaluateFn.js.map +1 -0
- package/dist/git/gitUtils.d.ts +1 -0
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -1
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +12 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +35 -2
- package/dist/logger.js.map +1 -1
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +17 -16
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/screenshotServiceClient.d.ts +27 -0
- package/dist/screenshotServiceClient.d.ts.map +1 -0
- package/dist/screenshotServiceClient.js +32 -0
- package/dist/screenshotServiceClient.js.map +1 -0
- package/dist/server/httpServer.js +1 -1
- package/dist/server/httpServer.js.map +1 -1
- package/dist/server/viteServer.js +5 -5
- package/dist/server/viteServer.js.map +1 -1
- package/dist/utils.d.ts +11 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -6
- package/dist/utils.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -175,3 +175,11 @@ component-explorer mcp --project config.json
|
|
|
175
175
|
## Global Options
|
|
176
176
|
|
|
177
177
|
All commands support `-v` / `--verbose` for increased log output. Use `-vv` for trace-level logging.
|
|
178
|
+
|
|
179
|
+
All commands also support `--log-file <path>` to append log messages to a file. This works in combination with `-v`/`-vv` to control what gets written. Multiple processes can safely append to the same file. Log entries include timestamp, log level, process type, and PID:
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
2024-01-15T10:30:45.123Z [DEBUG] [serve] [pid:12345] Server started on port 5173
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
When the MCP server spawns a daemon, it inherits the verbosity level and log file path.
|
package/dist/browserPage.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface BrowserPageFactory {
|
|
|
4
4
|
dispose(): Promise<void>;
|
|
5
5
|
}
|
|
6
6
|
export interface BrowserPage {
|
|
7
|
-
evaluateJs
|
|
7
|
+
evaluateJs(expression: string): Promise<unknown>;
|
|
8
8
|
screenshot(domNodeExpression: string): Promise<ScreenshotResult>;
|
|
9
9
|
dispose(): Promise<void>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserPage.d.ts","sourceRoot":"","sources":["../src/browserPage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browserPage.d.ts","sourceRoot":"","sources":["../src/browserPage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAExG,qBAAa,4BAA6B,YAAW,kBAAkB;IAKjC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ/D,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,OAAO,CAAU;gBAEb,MAAM,GAAE,OAAe,EAAW,SAAS,GAAE,MAAe,EAAE,MAAM,CAAC,EAAE,OAAO;IAK1F,IAAI,MAAM,IAAI,OAAO,CAAyB;IAExC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+B3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
|
package/dist/browserPage.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
import { nullLogger } from './logger.js';
|
|
2
3
|
|
|
3
4
|
class PlaywrightBrowserPageFactory {
|
|
@@ -24,7 +25,7 @@ class PlaywrightBrowserPageFactory {
|
|
|
24
25
|
async openPage(url) {
|
|
25
26
|
if (!this._browser) {
|
|
26
27
|
const { chromium } = await import('playwright');
|
|
27
|
-
this._browser = await chromium.launch({ headless: !this._headed });
|
|
28
|
+
this._browser = await withWindowsHide(() => chromium.launch({ headless: !this._headed }));
|
|
28
29
|
}
|
|
29
30
|
const page = await this._browser.newPage();
|
|
30
31
|
page.on('console', (msg) => {
|
|
@@ -85,6 +86,33 @@ class PlaywrightBrowserPage {
|
|
|
85
86
|
await this._page.close();
|
|
86
87
|
}
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Playwright doesn't pass `windowsHide: true` when spawning the browser process,
|
|
91
|
+
* which causes a visible console window when the daemon runs in the background.
|
|
92
|
+
* This temporarily patches `child_process.spawn` to inject `windowsHide: true`.
|
|
93
|
+
*/
|
|
94
|
+
async function withWindowsHide(fn) {
|
|
95
|
+
if (process.platform !== 'win32') {
|
|
96
|
+
return fn();
|
|
97
|
+
}
|
|
98
|
+
// Use createRequire to get the mutable CJS module object.
|
|
99
|
+
// ESM namespace objects (import * as X) are frozen and can't be patched.
|
|
100
|
+
const cp = createRequire(import.meta.url)('node:child_process');
|
|
101
|
+
const original = cp.spawn;
|
|
102
|
+
cp.spawn = function patchedSpawn(...args) {
|
|
103
|
+
const opts = typeof args[args.length - 1] === 'object' ? args[args.length - 1] : undefined;
|
|
104
|
+
if (opts && !('windowsHide' in opts)) {
|
|
105
|
+
opts.windowsHide = true;
|
|
106
|
+
}
|
|
107
|
+
return original.apply(this, args);
|
|
108
|
+
};
|
|
109
|
+
try {
|
|
110
|
+
return await fn();
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
cp.spawn = original;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
88
116
|
|
|
89
117
|
export { PlaywrightBrowserPageFactory };
|
|
90
118
|
//# sourceMappingURL=browserPage.js.map
|
package/dist/browserPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserPage.js","sources":["../src/browserPage.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browserPage.js","sources":["../src/browserPage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class AcceptCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly filter: string | undefined;
|
|
7
8
|
readonly project: string;
|
|
8
9
|
readonly screenshotDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptCommand.d.ts","sourceRoot":"","sources":["../../src/commands/acceptCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAuB;IAE5C,OAAgB,KAAK,4BAMlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,aAAa,SAA+F;IAE/G,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC9B"}
|
|
1
|
+
{"version":3,"file":"acceptCommand.d.ts","sourceRoot":"","sources":["../../src/commands/acceptCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAuB;IAE5C,OAAgB,KAAK,4BAMlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,aAAa,SAA+F;IAE/G,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC9B"}
|
|
@@ -6,7 +6,7 @@ import '../external/vscode-observables/observables/dist/observableInternal/debug
|
|
|
6
6
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/derived.js';
|
|
7
7
|
import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
|
|
8
8
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
9
|
-
import { ConsoleLogger, verbosityToLogLevel, logBuildInfo } from '../logger.js';
|
|
9
|
+
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
10
10
|
import { FileSystemStorage } from '../storage.js';
|
|
11
11
|
import { ResolvedConfig } from '../config.js';
|
|
12
12
|
|
|
@@ -20,6 +20,7 @@ class AcceptCommand extends Command {
|
|
|
20
20
|
],
|
|
21
21
|
});
|
|
22
22
|
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
23
|
+
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
23
24
|
filter = Option.String('--filter', { required: false, description: 'Filter fixtures by glob pattern' });
|
|
24
25
|
project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
25
26
|
screenshotDir = Option.String('--screenshot-dir', '.screenshots', { description: 'Screenshots directory' });
|
|
@@ -28,7 +29,7 @@ class AcceptCommand extends Command {
|
|
|
28
29
|
const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
|
|
29
30
|
const projectDir = config.configDir;
|
|
30
31
|
disposables.dispose();
|
|
31
|
-
const _logger = new ConsoleLogger('accept', this.context.stdout, verbosityToLogLevel(this.verbose));
|
|
32
|
+
const _logger = new ConsoleLogger('accept', this.context.stdout, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
32
33
|
logBuildInfo(_logger);
|
|
33
34
|
const screenshotPath = path.isAbsolute(this.screenshotDir) ? this.screenshotDir : path.join(projectDir, this.screenshotDir);
|
|
34
35
|
const storage = new FileSystemStorage(screenshotPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptCommand.js","sources":["../../src/commands/acceptCommand.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAOM,MAAO,aAAc,SAAQ,OAAO,CAAA;IACzC,OAAgB,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;AAE3C,IAAA,OAAgB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACrC,QAAA,WAAW,EAAE,2DAA2D;AACxE,QAAA,QAAQ,EAAE;YACT,CAAC,YAAY,EAAE,kBAAkB,CAAC;YAClC,CAAC,0BAA0B,EAAE,sCAAsC,CAAC;AACpE,SAAA;AACD,KAAA,CAAC;AAEO,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;AAC5G,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;AACvG,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,CAAC;AAC7I,IAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;AAEpH,IAAA,MAAM,OAAO,GAAA;AACZ,QAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE;AACzC,QAAA,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;AAC9E,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS;QACnC,WAAW,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"acceptCommand.js","sources":["../../src/commands/acceptCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class ArtifactCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly filter: string | undefined;
|
|
7
8
|
readonly project: string;
|
|
8
9
|
readonly output: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifactCommand.d.ts","sourceRoot":"","sources":["../../src/commands/artifactCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C,qBAAa,eAAgB,SAAQ,OAAO;IAC3C,OAAgB,KAAK,aAAkB;IAEvC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAgF;IAChG,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAqG;IACrH,QAAQ,CAAC,MAAM,SAA+G;IAC9H,QAAQ,CAAC,MAAM,UAA6E;IAC5F,QAAQ,CAAC,OAAO,SAAoF;IAE9F,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuFhC"}
|
|
1
|
+
{"version":3,"file":"artifactCommand.d.ts","sourceRoot":"","sources":["../../src/commands/artifactCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C,qBAAa,eAAgB,SAAQ,OAAO;IAC3C,OAAgB,KAAK,aAAkB;IAEvC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAgF;IAChG,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAqG;IACrH,QAAQ,CAAC,MAAM,SAA+G;IAC9H,QAAQ,CAAC,MAAM,UAA6E;IAC5F,QAAQ,CAAC,OAAO,SAAoF;IAE9F,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAuFhC"}
|
|
@@ -3,6 +3,7 @@ export declare class CheckStabilityCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly project: string;
|
|
7
8
|
readonly labelPattern: string | undefined;
|
|
8
9
|
readonly headed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkStabilityCommand.d.ts","sourceRoot":"","sources":["../../src/commands/checkStabilityCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAQ5C,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,OAAgB,KAAK,aAAyB;IAE9C,OAAgB,KAAK,4BAMlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,YAAY,qBAA+I;IACpK,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAEzH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyEhC"}
|
|
1
|
+
{"version":3,"file":"checkStabilityCommand.d.ts","sourceRoot":"","sources":["../../src/commands/checkStabilityCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAQ5C,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,OAAgB,KAAK,aAAyB;IAE9C,OAAgB,KAAK,4BAMlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,YAAY,qBAA+I;IACpK,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAEzH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyEhC"}
|
|
@@ -6,7 +6,7 @@ import '../external/vscode-observables/observables/dist/observableInternal/obser
|
|
|
6
6
|
import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
|
|
7
7
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
8
8
|
import { PlaywrightBrowserPageFactory } from '../browserPage.js';
|
|
9
|
-
import { ConsoleLogger, verbosityToLogLevel, logBuildInfo } from '../logger.js';
|
|
9
|
+
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
10
10
|
import { ResolvedConfig } from '../config.js';
|
|
11
11
|
import { ExplorerSession } from '../explorerSession.js';
|
|
12
12
|
import { contentHash } from '../screenshotCache.js';
|
|
@@ -21,12 +21,13 @@ class CheckStabilityCommand extends Command {
|
|
|
21
21
|
],
|
|
22
22
|
});
|
|
23
23
|
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
24
|
+
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
24
25
|
project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
25
26
|
labelPattern = Option.String('--label-pattern', { required: false, description: 'RegExp to filter fixtures by label (matched against inherited labels)' });
|
|
26
27
|
headed = Option.Boolean('--headed', false, { description: 'Show the browser window (useful for debugging)' });
|
|
27
28
|
timeout = Option.String('--timeout', '30000', { description: 'Navigation timeout in milliseconds (default: 30000)' });
|
|
28
29
|
async execute() {
|
|
29
|
-
const logger = new ConsoleLogger('check-stability', this.context.stderr, verbosityToLogLevel(this.verbose));
|
|
30
|
+
const logger = new ConsoleLogger('check-stability', this.context.stderr, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
30
31
|
logBuildInfo(logger);
|
|
31
32
|
let labelRegex;
|
|
32
33
|
if (this.labelPattern) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkStabilityCommand.js","sources":["../../src/commands/checkStabilityCommand.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAQM,MAAO,qBAAsB,SAAQ,OAAO,CAAA;IACjD,OAAgB,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAE7C,IAAA,OAAgB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACrC,QAAA,WAAW,EAAE,sDAAsD;AACnE,QAAA,QAAQ,EAAE;YACT,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;YAC5C,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;AACtE,SAAA;AACD,KAAA,CAAC;AAEO,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;AAC5G,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,CAAC;AAC7I,IAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uEAAuE,EAAE,CAAC;AAC1J,IAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;AAC7G,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;AAE9H,IAAA,MAAM,OAAO,GAAA;
|
|
1
|
+
{"version":3,"file":"checkStabilityCommand.js","sources":["../../src/commands/checkStabilityCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class CompareCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly filter: string | undefined;
|
|
7
8
|
readonly project: string;
|
|
8
9
|
readonly baseline: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compareCommand.d.ts","sourceRoot":"","sources":["../../src/commands/compareCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAW5C,qBAAa,cAAe,SAAQ,OAAO;IAC1C,OAAgB,KAAK,aAAwB;IAE7C,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,QAAQ,SAA2G;IAC5H,QAAQ,CAAC,OAAO,SAAwG;IACxH,QAAQ,CAAC,MAAM,qBAAkJ;IACjK,QAAQ,CAAC,YAAY,uBAAuI;IAEtJ,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAwDhC"}
|
|
1
|
+
{"version":3,"file":"compareCommand.d.ts","sourceRoot":"","sources":["../../src/commands/compareCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAW5C,qBAAa,cAAe,SAAQ,OAAO;IAC1C,OAAgB,KAAK,aAAwB;IAE7C,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,QAAQ,SAA2G;IAC5H,QAAQ,CAAC,OAAO,SAAwG;IACxH,QAAQ,CAAC,MAAM,qBAAkJ;IACjK,QAAQ,CAAC,YAAY,uBAAuI;IAEtJ,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAwDhC"}
|
|
@@ -8,7 +8,7 @@ import '../external/vscode-observables/observables/dist/observableInternal/obser
|
|
|
8
8
|
import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
|
|
9
9
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
10
10
|
import { compareScreenshotsOnDisk, printComparisonToConsole, writeComparisonReport } from '../comparison.js';
|
|
11
|
-
import { ConsoleLogger, verbosityToLogLevel, logBuildInfo } from '../logger.js';
|
|
11
|
+
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
12
12
|
import { FileSystemStorage } from '../storage.js';
|
|
13
13
|
import { ResolvedConfig } from '../config.js';
|
|
14
14
|
import { listPngFiles, matchGlob } from '../utils.js';
|
|
@@ -26,6 +26,7 @@ class CompareCommand extends Command {
|
|
|
26
26
|
],
|
|
27
27
|
});
|
|
28
28
|
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
29
|
+
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
29
30
|
filter = Option.String('--filter', { required: false, description: 'Filter fixtures by glob pattern' });
|
|
30
31
|
project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
31
32
|
baseline = Option.String('--baseline', '.screenshots/baseline', { description: 'Baseline screenshots directory' });
|
|
@@ -37,7 +38,7 @@ class CompareCommand extends Command {
|
|
|
37
38
|
const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
|
|
38
39
|
const projectDir = config.configDir;
|
|
39
40
|
disposables.dispose();
|
|
40
|
-
const _logger = new ConsoleLogger('compare', this.context.stdout, verbosityToLogLevel(this.verbose));
|
|
41
|
+
const _logger = new ConsoleLogger('compare', this.context.stdout, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
41
42
|
logBuildInfo(_logger);
|
|
42
43
|
const baselineDir = path.isAbsolute(this.baseline) ? this.baseline : path.join(projectDir, this.baseline);
|
|
43
44
|
const currentDir = path.isAbsolute(this.current) ? this.current : path.join(projectDir, this.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compareCommand.js","sources":["../../src/commands/compareCommand.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAWM,MAAO,cAAe,SAAQ,OAAO,CAAA;IAC1C,OAAgB,KAAK,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAE5C,IAAA,OAAgB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACrC,QAAA,WAAW,EAAE,kDAAkD;AAC/D,QAAA,QAAQ,EAAE;YACT,CAAC,6BAA6B,EAAE,mBAAmB,CAAC;YACpD,CAAC,2BAA2B,EAAE,0DAA0D,CAAC;YACzF,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;AACjE,SAAA;AACD,KAAA,CAAC;AAEO,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;AAC5G,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;AACvG,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,CAAC;AAC7I,IAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;AAClH,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;AAC9G,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iFAAiF,EAAE,CAAC;AACvJ,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC;AAE3J,IAAA,MAAM,OAAO,GAAA;AACZ,QAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE;AACzC,QAAA,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;AAC9E,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS;QACnC,WAAW,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"compareCommand.js","sources":["../../src/commands/compareCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,15 @@ import { Command } from 'clipanion';
|
|
|
2
2
|
export declare class McpCommand extends Command {
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
|
+
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
5
7
|
readonly project: string;
|
|
8
|
+
readonly useDaemon: boolean;
|
|
6
9
|
readonly noAutostart: boolean;
|
|
7
10
|
readonly noAutostartHint: string | undefined;
|
|
8
11
|
readonly callTimeout: string | undefined;
|
|
9
12
|
execute(): Promise<void>;
|
|
13
|
+
private _runInProcess;
|
|
14
|
+
private _runWithExternalDaemon;
|
|
10
15
|
}
|
|
11
16
|
//# sourceMappingURL=mcpCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpCommand.d.ts","sourceRoot":"","sources":["../../src/commands/mcpCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpCommand.d.ts","sourceRoot":"","sources":["../../src/commands/mcpCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAW5C,qBAAa,UAAW,SAAQ,OAAO;IACtC,OAAgB,KAAK,aAAa;IAElC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,OAAO,SAAwI;IACxJ,QAAQ,CAAC,SAAS,UAA6I;IAC/J,QAAQ,CAAC,WAAW,UAA4I;IAChK,QAAQ,CAAC,eAAe,qBAAsJ;IAC9K,QAAQ,CAAC,WAAW,qBAAyG;IAEvH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAwBhB,aAAa;YA2Cb,sBAAsB;CA4DpC"}
|
|
@@ -8,24 +8,37 @@ import '../external/vscode-observables/observables/dist/observableInternal/obser
|
|
|
8
8
|
import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
|
|
9
9
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
10
10
|
import { tryConnect, connectToExistingOrStartDaemon } from '../daemon/lifecycle.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { daemonPipeInfo } from '../daemon/pipeName.js';
|
|
12
|
+
import { DaemonConnection, ComponentExplorerMcpServer } from '../mcp/McpServer.js';
|
|
13
13
|
import { ResolvedConfig } from '../config.js';
|
|
14
|
+
import { DaemonService } from '../daemon/DaemonService.js';
|
|
15
|
+
import { createInProcessClient } from '../daemon/inProcessClient.js';
|
|
16
|
+
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
14
17
|
|
|
15
18
|
class McpCommand extends Command {
|
|
16
19
|
static paths = [['mcp']];
|
|
17
20
|
static usage = Command.Usage({
|
|
18
|
-
description: 'Start an MCP server over stdio.
|
|
21
|
+
description: 'Start an MCP server over stdio. By default runs as the daemon in-process.',
|
|
19
22
|
examples: [
|
|
20
|
-
['Start MCP server', '$0 mcp --project config.json'],
|
|
21
|
-
['
|
|
23
|
+
['Start MCP server (in-process daemon)', '$0 mcp --project config.json'],
|
|
24
|
+
['Connect to external daemon', '$0 mcp --project config.json --use-daemon'],
|
|
25
|
+
['Require existing daemon', '$0 mcp --project config.json --use-daemon --no-daemon-autostart'],
|
|
22
26
|
],
|
|
23
27
|
});
|
|
28
|
+
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
29
|
+
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
24
30
|
project = Option.String('-p,--project', { required: true, description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
useDaemon = Option.Boolean('--use-daemon', false, { description: 'Connect to an external daemon process over a pipe instead of running in-process' });
|
|
32
|
+
noAutostart = Option.Boolean('--no-daemon-autostart', false, { description: 'Do not auto-start daemon; poll for it instead (requires --use-daemon)' });
|
|
33
|
+
noAutostartHint = Option.String('--no-daemon-hint', { description: 'Hint message shown when daemon is not running (used with --use-daemon --no-daemon-autostart)' });
|
|
27
34
|
callTimeout = Option.String('--call-timeout', { description: 'Timeout in seconds for daemon calls (default: 15)' });
|
|
28
35
|
async execute() {
|
|
36
|
+
const logger = new ConsoleLogger('mcp', this.context.stderr, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
37
|
+
logBuildInfo(logger);
|
|
38
|
+
if (this.noAutostart && !this.useDaemon) {
|
|
39
|
+
this.context.stderr.write('Error: --no-daemon-autostart requires --use-daemon.\n');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
29
42
|
const disposables = new DisposableStore();
|
|
30
43
|
const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
|
|
31
44
|
if (!config.isFullConfig) {
|
|
@@ -33,33 +46,86 @@ class McpCommand extends Command {
|
|
|
33
46
|
disposables.dispose();
|
|
34
47
|
return;
|
|
35
48
|
}
|
|
49
|
+
if (this.useDaemon) {
|
|
50
|
+
await this._runWithExternalDaemon(config, logger);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
await this._runInProcess(config, logger, disposables);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async _runInProcess(config, logger, disposables) {
|
|
57
|
+
logger.log('Starting in-process daemon...');
|
|
58
|
+
const service = await DaemonService.create(config, logger, undefined, {
|
|
59
|
+
idleTimeoutMs: 0, // no idle timeout for MCP — the MCP client controls lifetime
|
|
60
|
+
});
|
|
61
|
+
// Ensure cleanup on crashes/unexpected exits
|
|
62
|
+
let cleanedUp = false;
|
|
63
|
+
const cleanup = async () => {
|
|
64
|
+
if (cleanedUp) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
cleanedUp = true;
|
|
68
|
+
logger.debug('Cleaning up...');
|
|
69
|
+
await service.dispose();
|
|
70
|
+
disposables.dispose();
|
|
71
|
+
};
|
|
72
|
+
process.on('uncaughtException', async (err) => {
|
|
73
|
+
logger.log(`Uncaught exception: ${err.message}`);
|
|
74
|
+
await cleanup();
|
|
75
|
+
});
|
|
76
|
+
process.on('unhandledRejection', async (err) => {
|
|
77
|
+
logger.log(`Unhandled rejection: ${err instanceof Error ? err.message : String(err)}`);
|
|
78
|
+
await cleanup();
|
|
79
|
+
});
|
|
80
|
+
process.on('SIGINT', async () => {
|
|
81
|
+
logger.debug('Received SIGINT');
|
|
82
|
+
await cleanup();
|
|
83
|
+
process.exit(0);
|
|
84
|
+
});
|
|
85
|
+
const client = createInProcessClient(service.api, { clientName: 'mcp-inproc' });
|
|
86
|
+
const daemonObservable = observableValue('daemon', new DaemonConnection(client));
|
|
87
|
+
await ComponentExplorerMcpServer.create(daemonObservable, {
|
|
88
|
+
callTimeoutMs: this.callTimeout ? Number(this.callTimeout) * 1000 : undefined,
|
|
89
|
+
});
|
|
90
|
+
logger.log('MCP server ready (in-process daemon)');
|
|
91
|
+
await new Promise(() => { });
|
|
92
|
+
}
|
|
93
|
+
async _runWithExternalDaemon(config, logger) {
|
|
36
94
|
const daemonObservable = observableValue('daemon', undefined);
|
|
37
95
|
const mcpClientName = `mcp-${new Date().toISOString().replace(/[-:]/g, '').replace(/\.\d+Z$/, '')}`;
|
|
38
96
|
const configPath = path.resolve(this.project);
|
|
39
|
-
const pipeName =
|
|
97
|
+
const { pipeName, source: pipeSource } = daemonPipeInfo(configPath);
|
|
98
|
+
logger.debug(`Daemon pipe: ${pipeName} (source: ${pipeSource})`);
|
|
40
99
|
let restartInProgress = false;
|
|
41
100
|
const pollFn = async () => {
|
|
42
101
|
const client = await tryConnect(pipeName, { clientName: mcpClientName });
|
|
43
102
|
if (client) {
|
|
44
103
|
const current = daemonObservable.get();
|
|
45
104
|
if (!current || current.isStale) {
|
|
105
|
+
logger.debug(`Daemon connection established`);
|
|
46
106
|
daemonObservable.set(new DaemonConnection(client), undefined);
|
|
47
107
|
}
|
|
48
108
|
return;
|
|
49
109
|
}
|
|
50
110
|
const current = daemonObservable.get();
|
|
51
111
|
if (current) {
|
|
112
|
+
logger.debug(`Daemon connection lost, will attempt restart`);
|
|
52
113
|
current.markStale();
|
|
53
114
|
daemonObservable.set(undefined, undefined);
|
|
54
115
|
}
|
|
55
116
|
if (!this.noAutostart && !restartInProgress) {
|
|
56
117
|
restartInProgress = true;
|
|
57
118
|
try {
|
|
58
|
-
const daemon = await connectToExistingOrStartDaemon(configPath, {
|
|
119
|
+
const daemon = await connectToExistingOrStartDaemon(configPath, {
|
|
120
|
+
clientName: mcpClientName,
|
|
121
|
+
logger,
|
|
122
|
+
verbosity: this.verbose,
|
|
123
|
+
logFile: this.logFile,
|
|
124
|
+
});
|
|
59
125
|
daemonObservable.set(new DaemonConnection(daemon), undefined);
|
|
60
126
|
}
|
|
61
|
-
catch {
|
|
62
|
-
|
|
127
|
+
catch (err) {
|
|
128
|
+
logger.debug(`Daemon restart failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
63
129
|
}
|
|
64
130
|
finally {
|
|
65
131
|
restartInProgress = false;
|
|
@@ -68,13 +134,12 @@ class McpCommand extends Command {
|
|
|
68
134
|
};
|
|
69
135
|
await pollFn();
|
|
70
136
|
setInterval(pollFn, 5000);
|
|
71
|
-
// Create and connect the MCP server over stdio
|
|
72
137
|
await ComponentExplorerMcpServer.create(daemonObservable, {
|
|
73
138
|
pollFn,
|
|
74
139
|
noAutostartHint: this.noAutostartHint,
|
|
75
140
|
callTimeoutMs: this.callTimeout ? Number(this.callTimeout) * 1000 : undefined,
|
|
76
141
|
});
|
|
77
|
-
|
|
142
|
+
logger.log('MCP server ready (external daemon)');
|
|
78
143
|
await new Promise(() => { });
|
|
79
144
|
}
|
|
80
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpCommand.js","sources":["../../src/commands/mcpCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcpCommand.js","sources":["../../src/commands/mcpCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class RenderCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly filter: string | undefined;
|
|
7
8
|
readonly accept: boolean;
|
|
8
9
|
readonly project: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderCommand.d.ts","sourceRoot":"","sources":["../../src/commands/renderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAc5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,MAAM,UAAiI;IAChJ,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,qBAAsK;IACrL,QAAQ,CAAC,OAAO,UAA8F;IAC9G,QAAQ,CAAC,aAAa,qBAA+K;IACrM,QAAQ,CAAC,MAAM,qBAA4G;IAC3H,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAC/H,QAAQ,CAAC,YAAY,UAA8J;IAE7K,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;YA6HlB,cAAc;CA+B5B"}
|
|
1
|
+
{"version":3,"file":"renderCommand.d.ts","sourceRoot":"","sources":["../../src/commands/renderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAc5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,MAAM,UAAiI;IAChJ,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,qBAAsK;IACrL,QAAQ,CAAC,OAAO,UAA8F;IAC9G,QAAQ,CAAC,aAAa,qBAA+K;IACrM,QAAQ,CAAC,MAAM,qBAA4G;IAC3H,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAC/H,QAAQ,CAAC,YAAY,UAA8J;IAE7K,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;YA6HlB,cAAc;CA+B5B"}
|
|
@@ -9,7 +9,7 @@ import '../external/vscode-observables/observables/dist/observableInternal/utils
|
|
|
9
9
|
import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
10
10
|
import { PlaywrightBrowserPageFactory } from '../browserPage.js';
|
|
11
11
|
import { compareScreenshotsInMemory, printComparisonToConsole, writeComparisonReport } from '../comparison.js';
|
|
12
|
-
import { ConsoleLogger, verbosityToLogLevel, logBuildInfo } from '../logger.js';
|
|
12
|
+
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
13
13
|
import { ResolvedConfig } from '../config.js';
|
|
14
14
|
import { ExplorerSession } from '../explorerSession.js';
|
|
15
15
|
import { FileSystemStorage } from '../storage.js';
|
|
@@ -29,6 +29,7 @@ class RenderCommand extends Command {
|
|
|
29
29
|
],
|
|
30
30
|
});
|
|
31
31
|
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
32
|
+
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
32
33
|
filter = Option.String('--filter', { required: false, description: 'Filter fixtures by glob pattern' });
|
|
33
34
|
accept = Option.Boolean('--accept', false, { description: 'Write to baseline instead of current (mutually exclusive with --target)' });
|
|
34
35
|
project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
@@ -45,7 +46,7 @@ class RenderCommand extends Command {
|
|
|
45
46
|
this.context.stderr.write('Error: --accept and --target are mutually exclusive.\n');
|
|
46
47
|
return 1;
|
|
47
48
|
}
|
|
48
|
-
const logger = new ConsoleLogger('render', this.context.stdout, verbosityToLogLevel(this.verbose));
|
|
49
|
+
const logger = new ConsoleLogger('render', this.context.stdout, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
49
50
|
logBuildInfo(logger);
|
|
50
51
|
const disposables = new DisposableStore();
|
|
51
52
|
const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderCommand.js","sources":["../../src/commands/renderCommand.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAcM,MAAO,aAAc,SAAQ,OAAO,CAAA;IACzC,OAAgB,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEpC,IAAA,OAAgB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACrC,QAAA,WAAW,EAAE,yDAAyD;AACtE,QAAA,QAAQ,EAAE;YACT,CAAC,qBAAqB,EAAE,WAAW,CAAC;YACpC,CAAC,+BAA+B,EAAE,oBAAoB,CAAC;YACvD,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;AACnD,SAAA;AACD,KAAA,CAAC;AAEO,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;AAC5G,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;AACvG,IAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,yEAAyE,EAAE,CAAC;AACtI,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,CAAC;AAC7I,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qGAAqG,EAAE,CAAC;AAC3K,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;AACpG,IAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sGAAsG,EAAE,CAAC;AAC3L,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;AACjH,IAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;AAC7G,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;AACrH,IAAA,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,gGAAgG,EAAE,CAAC;AAElL,IAAA,MAAM,OAAO,GAAA;;QAEZ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC;AACnF,YAAA,OAAO,CAAC;QACT;
|
|
1
|
+
{"version":3,"file":"renderCommand.js","sources":["../../src/commands/renderCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare class RenderCommand extends Command {
|
|
|
3
3
|
static paths: string[][];
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
|
+
readonly logFile: string | undefined;
|
|
6
7
|
readonly filter: string | undefined;
|
|
7
8
|
readonly accept: boolean;
|
|
8
9
|
readonly project: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshotCommand.d.ts","sourceRoot":"","sources":["../../src/commands/screenshotCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAc5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,MAAM,UAAiI;IAChJ,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,qBAAsK;IACrL,QAAQ,CAAC,OAAO,UAA8F;IAC9G,QAAQ,CAAC,aAAa,qBAA+K;IACrM,QAAQ,CAAC,MAAM,qBAA4G;IAC3H,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAEzH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;YAqHlB,cAAc;CA+B5B"}
|
|
1
|
+
{"version":3,"file":"screenshotCommand.d.ts","sourceRoot":"","sources":["../../src/commands/screenshotCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAc5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,MAAM,qBAAkG;IACjH,QAAQ,CAAC,MAAM,UAAiI;IAChJ,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,qBAAsK;IACrL,QAAQ,CAAC,OAAO,UAA8F;IAC9G,QAAQ,CAAC,aAAa,qBAA+K;IACrM,QAAQ,CAAC,MAAM,qBAA4G;IAC3H,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAEzH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;YAqHlB,cAAc;CA+B5B"}
|