@vscode/component-explorer-cli 0.1.1-2 → 0.1.1-21
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/LICENSE +21 -0
- package/README.md +177 -0
- package/SECURITY.md +14 -0
- package/dist/WorktreePool.d.ts +22 -0
- package/dist/WorktreePool.d.ts.map +1 -0
- package/dist/WorktreePool.js +58 -0
- package/dist/WorktreePool.js.map +1 -0
- package/dist/WorktreePool.test.d.ts +2 -0
- package/dist/WorktreePool.test.d.ts.map +1 -0
- package/dist/_virtual/_build-info.js +4 -0
- package/dist/_virtual/_build-info.js.map +1 -0
- package/dist/browserPage.d.ts +5 -0
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +28 -2
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +2 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +15 -8
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +12 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -0
- package/dist/commands/checkStabilityCommand.js +84 -0
- package/dist/commands/checkStabilityCommand.js.map +1 -0
- package/dist/commands/compareCommand.d.ts +6 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +64 -71
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts +4 -1
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +51 -8
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/screenshotCommand.d.ts +9 -2
- package/dist/commands/screenshotCommand.d.ts.map +1 -1
- package/dist/commands/screenshotCommand.js +73 -15
- package/dist/commands/screenshotCommand.js.map +1 -1
- package/dist/commands/serveCommand.d.ts +6 -1
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +104 -23
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/watchCommand.d.ts +3 -2
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +28 -80
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/comparison.d.ts +70 -0
- package/dist/comparison.d.ts.map +1 -0
- package/dist/comparison.js +264 -0
- package/dist/comparison.js.map +1 -0
- package/dist/component-explorer-config.schema.json +222 -0
- package/dist/componentExplorer.d.ts +40 -2
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +118 -24
- 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 +146 -21
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +620 -123
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/dynamicSessions.test.d.ts +2 -0
- package/dist/daemon/dynamicSessions.test.d.ts.map +1 -0
- package/dist/daemon/lifecycle.d.ts +8 -3
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +27 -10
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.d.ts +6 -1
- package/dist/daemon/pipeClient.d.ts.map +1 -1
- package/dist/daemon/pipeClient.js +101 -8
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeServer.d.ts +2 -1
- package/dist/daemon/pipeServer.d.ts.map +1 -1
- package/dist/daemon/pipeServer.js +56 -6
- package/dist/daemon/pipeServer.js.map +1 -1
- package/dist/daemon/types.d.ts +12 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/version.d.ts +10 -0
- package/dist/daemon/version.d.ts.map +1 -0
- package/dist/daemon/version.js +17 -0
- package/dist/daemon/version.js.map +1 -0
- package/dist/dependencyInstaller.d.ts +2 -2
- package/dist/dependencyInstaller.d.ts.map +1 -1
- package/dist/dependencyInstaller.js +1 -1
- package/dist/dependencyInstaller.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/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/gitIndexResolver.d.ts +25 -0
- package/dist/git/gitIndexResolver.d.ts.map +1 -0
- package/dist/git/gitIndexResolver.js +91 -0
- package/dist/git/gitIndexResolver.js.map +1 -0
- package/dist/git/gitIndexResolver.test.d.ts +2 -0
- package/dist/git/gitIndexResolver.test.d.ts.map +1 -0
- package/dist/git/gitService.d.ts +2 -0
- package/dist/git/gitService.d.ts.map +1 -1
- package/dist/git/gitService.js +6 -0
- package/dist/git/gitService.js.map +1 -1
- package/dist/git/gitUtils.js +1 -1
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/git/gitWorktreeManager.d.ts +6 -0
- package/dist/git/gitWorktreeManager.d.ts.map +1 -1
- package/dist/git/gitWorktreeManager.js +42 -13
- package/dist/git/gitWorktreeManager.js.map +1 -1
- package/dist/git/gitWorktreeManager.test.d.ts +2 -0
- package/dist/git/gitWorktreeManager.test.d.ts.map +1 -0
- package/dist/git/testUtils.d.ts +13 -0
- package/dist/git/testUtils.d.ts.map +1 -0
- package/dist/httpServer.d.ts +6 -1
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +30 -10
- package/dist/httpServer.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +7 -1
- package/dist/logger.js.map +1 -1
- package/dist/mcp/McpServer.d.ts +47 -4
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +913 -155
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/mcp/TaskManager.d.ts +28 -0
- package/dist/mcp/TaskManager.d.ts.map +1 -0
- package/dist/mcp/TaskManager.js +54 -0
- package/dist/mcp/TaskManager.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-SGBCNXYH.js +24 -0
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +1 -0
- package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js +27 -0
- package/dist/packages/simple-api/dist/chunk-TAEFVNPN.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 +31 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +49 -0
- package/dist/utils.js.map +1 -0
- package/dist/watchConfig.d.ts +52 -9
- package/dist/watchConfig.d.ts.map +1 -1
- package/dist/watchConfig.js +67 -62
- package/dist/watchConfig.js.map +1 -1
- package/package.json +31 -8
- 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
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { nullLogger } from './logger.js';
|
|
2
|
+
import { buildExplorerUrl } from './utils.js';
|
|
3
|
+
import { parseVersion, isCompatibleVersion, runtimeVersionNeededByCliText } from './daemon/version.js';
|
|
2
4
|
|
|
3
5
|
class BrowserComponentExplorer {
|
|
4
6
|
_browserPageFactory;
|
|
@@ -6,6 +8,7 @@ class BrowserComponentExplorer {
|
|
|
6
8
|
_logger;
|
|
7
9
|
_page;
|
|
8
10
|
_lastState;
|
|
11
|
+
_screenshotMutex = Promise.resolve();
|
|
9
12
|
constructor(_browserPageFactory, _server, _logger = nullLogger) {
|
|
10
13
|
this._browserPageFactory = _browserPageFactory;
|
|
11
14
|
this._server = _server;
|
|
@@ -13,69 +16,159 @@ class BrowserComponentExplorer {
|
|
|
13
16
|
}
|
|
14
17
|
async _ensureReady() {
|
|
15
18
|
if (!this._page) {
|
|
16
|
-
const cliUrl = this._server.url
|
|
17
|
-
this._logger.
|
|
19
|
+
const cliUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true });
|
|
20
|
+
this._logger.debug(`Opening browser page: ${cliUrl}`);
|
|
18
21
|
this._page = await this._browserPageFactory.openPage(cliUrl);
|
|
19
22
|
await this._waitForCliApi(this._page);
|
|
20
23
|
}
|
|
21
24
|
return this._page;
|
|
22
25
|
}
|
|
23
26
|
async _waitForCliApi(page) {
|
|
24
|
-
this._logger.
|
|
27
|
+
this._logger.trace('Polling for __componentExplorer__ to initialize...');
|
|
25
28
|
await page.evaluateJs(`
|
|
26
29
|
new Promise(resolve => {
|
|
27
30
|
function check() {
|
|
28
|
-
if (window.
|
|
31
|
+
if (window.__componentExplorer__) resolve();
|
|
29
32
|
else setTimeout(check, 50);
|
|
30
33
|
}
|
|
31
34
|
check();
|
|
32
35
|
})
|
|
33
36
|
`);
|
|
34
37
|
this._lastState = await this._getState(page);
|
|
35
|
-
this.
|
|
38
|
+
this._assertRuntimeVersionCompatibility(this._lastState.runtimeVersion);
|
|
39
|
+
this._logger.debug(`CLI API ready, sessionId=${this._lastState.sessionId}, version=${this._lastState.updateVersion}`);
|
|
40
|
+
}
|
|
41
|
+
_assertRuntimeVersionCompatibility(runtimeVersion) {
|
|
42
|
+
const expected = parseVersion(runtimeVersionNeededByCliText);
|
|
43
|
+
const actual = parseVersion(runtimeVersion);
|
|
44
|
+
if (!isCompatibleVersion(expected, actual)) {
|
|
45
|
+
throw new Error(`Explorer runtime version mismatch. CLI requires ${runtimeVersionNeededByCliText}, browser runtime provides ${runtimeVersion}. Update CLI and explorer runtime together.`);
|
|
46
|
+
}
|
|
36
47
|
}
|
|
37
48
|
async _getState(page) {
|
|
38
49
|
return page.evaluateJs(`({
|
|
39
|
-
sessionId: window.
|
|
40
|
-
updateVersion: window.
|
|
50
|
+
sessionId: window.__componentExplorer__.sessionId,
|
|
51
|
+
updateVersion: window.__componentExplorer__.updateVersion,
|
|
52
|
+
runtimeVersion: window.__componentExplorer__.runtimeVersion,
|
|
41
53
|
})`);
|
|
42
54
|
}
|
|
43
55
|
async listFixtures() {
|
|
44
56
|
const page = await this._ensureReady();
|
|
45
|
-
return page.evaluateJs('window.
|
|
57
|
+
return page.evaluateJs('window.__componentExplorer__.listFixtures()');
|
|
46
58
|
}
|
|
47
59
|
async screenshotFixture(fixtureId) {
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
// Serialize screenshot calls — the single browser page can only render one fixture at a time
|
|
61
|
+
const prev = this._screenshotMutex;
|
|
62
|
+
let resolve;
|
|
63
|
+
this._screenshotMutex = new Promise(r => { resolve = r; });
|
|
64
|
+
this._logger.trace(`Screenshot mutex: waiting for ${fixtureId}`);
|
|
65
|
+
await prev;
|
|
66
|
+
this._logger.trace(`Screenshot mutex: acquired for ${fixtureId}`);
|
|
67
|
+
const startTime = Date.now();
|
|
68
|
+
try {
|
|
69
|
+
const page = await this._ensureReady();
|
|
70
|
+
const escapedId = JSON.stringify(fixtureId);
|
|
71
|
+
const debugUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true, fixtureId });
|
|
72
|
+
this._logger.debug(`Rendering fixture: ${debugUrl}`);
|
|
73
|
+
const renderResult = await page.evaluateJs(`window.__componentExplorer__.renderFixture(${escapedId})`);
|
|
74
|
+
const image = await page.screenshot(`document.getElementById('root').lastElementChild`);
|
|
75
|
+
this._logger.debug(`Screenshot done: ${fixtureId} (${Date.now() - startTime}ms)`);
|
|
76
|
+
return { image, ...renderResult };
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
this._logger.trace(`Screenshot mutex: released for ${fixtureId}`);
|
|
80
|
+
resolve();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async screenshotFixtureStabilityCheck(fixtureId) {
|
|
84
|
+
const prev = this._screenshotMutex;
|
|
85
|
+
let resolve;
|
|
86
|
+
this._screenshotMutex = new Promise(r => { resolve = r; });
|
|
87
|
+
this._logger.trace(`Screenshot mutex: waiting for stability check ${fixtureId}`);
|
|
88
|
+
await prev;
|
|
89
|
+
this._logger.trace(`Screenshot mutex: acquired for stability check ${fixtureId}`);
|
|
90
|
+
try {
|
|
91
|
+
const page = await this._ensureReady();
|
|
92
|
+
const escapedId = JSON.stringify(fixtureId);
|
|
93
|
+
const debugUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true, fixtureId });
|
|
94
|
+
this._logger.debug(`Stability check: ${debugUrl}`);
|
|
95
|
+
await page.evaluateJs(`window.__componentExplorer__.disposeCurrentFixture?.()`);
|
|
96
|
+
const startTime = Date.now();
|
|
97
|
+
const renderResult = await page.evaluateJs(`window.__componentExplorer__.renderFixture(${escapedId})`);
|
|
98
|
+
const domExpr = `document.getElementById('root').lastElementChild`;
|
|
99
|
+
const image0 = await page.screenshot(domExpr);
|
|
100
|
+
const delay0 = Date.now() - startTime;
|
|
101
|
+
this._logger.debug(`Stability screenshot 1/3 at ${delay0}ms`);
|
|
102
|
+
const elapsed1 = Date.now() - startTime;
|
|
103
|
+
if (elapsed1 < 500) {
|
|
104
|
+
await new Promise(r => setTimeout(r, 500 - elapsed1));
|
|
105
|
+
}
|
|
106
|
+
const image1 = await page.screenshot(domExpr);
|
|
107
|
+
const delay1 = Date.now() - startTime;
|
|
108
|
+
this._logger.debug(`Stability screenshot 2/3 at ${delay1}ms`);
|
|
109
|
+
const elapsed2 = Date.now() - startTime;
|
|
110
|
+
if (elapsed2 < 3000) {
|
|
111
|
+
await new Promise(r => setTimeout(r, 3000 - elapsed2));
|
|
112
|
+
}
|
|
113
|
+
const image2 = await page.screenshot(domExpr);
|
|
114
|
+
const delay2 = Date.now() - startTime;
|
|
115
|
+
this._logger.debug(`Stability check done: ${fixtureId} (${delay2}ms total)`);
|
|
116
|
+
return {
|
|
117
|
+
screenshots: [
|
|
118
|
+
{ image: image0, delayMs: delay0 },
|
|
119
|
+
{ image: image1, delayMs: delay1 },
|
|
120
|
+
{ image: image2, delayMs: delay2 },
|
|
121
|
+
],
|
|
122
|
+
...renderResult,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
this._logger.trace(`Screenshot mutex: released for stability check ${fixtureId}`);
|
|
127
|
+
resolve();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async evaluateJs(expression, fixtureId) {
|
|
131
|
+
const prev = this._screenshotMutex;
|
|
132
|
+
let resolve;
|
|
133
|
+
this._screenshotMutex = new Promise(r => { resolve = r; });
|
|
134
|
+
await prev;
|
|
135
|
+
try {
|
|
136
|
+
this._logger.trace(`evaluateJs: expression length=${expression.length}${fixtureId ? `, fixtureId=${fixtureId}` : ''}`);
|
|
137
|
+
const page = await this._ensureReady();
|
|
138
|
+
if (fixtureId !== undefined) {
|
|
139
|
+
const escapedId = JSON.stringify(fixtureId);
|
|
140
|
+
await page.evaluateJs(`window.__componentExplorer__.renderFixture(${escapedId})`);
|
|
141
|
+
}
|
|
142
|
+
const result = await page.evaluateJs(expression);
|
|
143
|
+
this._logger.trace(`evaluateJs: result length=${JSON.stringify(result)?.length ?? 0}`);
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
resolve();
|
|
148
|
+
}
|
|
54
149
|
}
|
|
55
150
|
async codeCoverage(_id) {
|
|
56
151
|
throw new Error('Code coverage not yet implemented');
|
|
57
152
|
}
|
|
58
153
|
async waitForUpdate(timeoutMs = 0) {
|
|
59
154
|
const page = await this._ensureReady();
|
|
60
|
-
// Read the current state NOW, not from _lastState. This ensures any
|
|
61
|
-
// spurious version bumps that happened during prior operations (e.g.
|
|
62
|
-
// initial screenshot capture, Vite dependency optimization) are ignored.
|
|
63
155
|
const prev = await this._getState(page);
|
|
64
|
-
this._logger.
|
|
156
|
+
this._logger.debug(`Waiting for update (sessionId=${prev.sessionId}, version=${prev.updateVersion})...`);
|
|
65
157
|
const newState = await page.evaluateJs(`
|
|
66
158
|
new Promise((resolve, reject) => {
|
|
67
159
|
${timeoutMs > 0 ? `const timeout = setTimeout(() => reject(new Error('Timeout waiting for HMR update')), ${timeoutMs});` : ''}
|
|
68
160
|
function check() {
|
|
69
|
-
if (!window.
|
|
161
|
+
if (!window.__componentExplorer__) {
|
|
70
162
|
// Page reloaded — CLI not yet re-initialized, keep waiting
|
|
71
163
|
setTimeout(check, 50);
|
|
72
164
|
return;
|
|
73
165
|
}
|
|
74
|
-
const s = window.
|
|
75
|
-
const v = window.
|
|
166
|
+
const s = window.__componentExplorer__.sessionId;
|
|
167
|
+
const v = window.__componentExplorer__.updateVersion;
|
|
168
|
+
const r = window.__componentExplorer__.runtimeVersion;
|
|
76
169
|
if (s !== '${prev.sessionId}' || v > ${prev.updateVersion}) {
|
|
77
170
|
${timeoutMs > 0 ? 'clearTimeout(timeout);' : ''}
|
|
78
|
-
resolve({ sessionId: s, updateVersion: v });
|
|
171
|
+
resolve({ sessionId: s, updateVersion: v, runtimeVersion: r });
|
|
79
172
|
} else {
|
|
80
173
|
setTimeout(check, 50);
|
|
81
174
|
}
|
|
@@ -83,12 +176,13 @@ class BrowserComponentExplorer {
|
|
|
83
176
|
check();
|
|
84
177
|
})
|
|
85
178
|
`);
|
|
179
|
+
this._assertRuntimeVersionCompatibility(newState.runtimeVersion);
|
|
86
180
|
const reloaded = newState.sessionId !== prev.sessionId;
|
|
87
181
|
if (reloaded) {
|
|
88
|
-
this._logger.
|
|
182
|
+
this._logger.debug(`Page reloaded: sessionId ${prev.sessionId} → ${newState.sessionId}`);
|
|
89
183
|
}
|
|
90
184
|
else {
|
|
91
|
-
this._logger.
|
|
185
|
+
this._logger.debug(`HMR update: version ${prev.updateVersion} → ${newState.updateVersion}`);
|
|
92
186
|
}
|
|
93
187
|
this._lastState = newState;
|
|
94
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonContext.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonContext.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
import { type IDisposable, type IReader } from '@vscode/observables';
|
|
1
2
|
import { AsyncStream } from '@hediet/simple-api';
|
|
2
3
|
import { ExplorerSession } from '../explorerSession.js';
|
|
3
4
|
import type { ResolvedWatchConfig } from '../watchConfig.js';
|
|
4
5
|
import { type ILogger } from '../logger.js';
|
|
5
6
|
import { type ApprovalStore } from './approvalStore.js';
|
|
7
|
+
import type { DaemonContext } from './DaemonContext.js';
|
|
8
|
+
export { daemonApiVersionText, pluginProtocolVersionText, parseVersion, isCompatibleVersion, } from './version.js';
|
|
9
|
+
export declare class ActivityTracker implements IDisposable {
|
|
10
|
+
private readonly _idleTimeoutMs;
|
|
11
|
+
private readonly _onIdle;
|
|
12
|
+
private readonly _logger;
|
|
13
|
+
private _lastActivityTime;
|
|
14
|
+
private _idleCheckInterval;
|
|
15
|
+
private _autorunDisposable;
|
|
16
|
+
private _disposed;
|
|
17
|
+
private _started;
|
|
18
|
+
private _activeCount;
|
|
19
|
+
constructor(_idleTimeoutMs: number, _onIdle: () => void, _logger: ILogger);
|
|
20
|
+
setActive(value: boolean): void;
|
|
21
|
+
reportActivity(): void;
|
|
22
|
+
start(): void;
|
|
23
|
+
dispose(): void;
|
|
24
|
+
}
|
|
6
25
|
export type DaemonEvent = {
|
|
7
26
|
readonly type: 'source-change';
|
|
8
27
|
readonly sessionName: string;
|
|
@@ -11,51 +30,90 @@ export type DaemonEvent = {
|
|
|
11
30
|
readonly type: 'ref-change';
|
|
12
31
|
readonly sessionName: string;
|
|
13
32
|
readonly newCommit: string;
|
|
33
|
+
} | {
|
|
34
|
+
readonly type: 'session-change';
|
|
14
35
|
} | {
|
|
15
36
|
readonly type: 'log';
|
|
16
37
|
readonly level: 'info' | 'debug' | 'trace';
|
|
17
38
|
readonly message: string;
|
|
18
39
|
};
|
|
19
|
-
export
|
|
40
|
+
export type SessionInfo = {
|
|
41
|
+
readonly name: string;
|
|
42
|
+
readonly sourceKind: 'current' | 'worktree';
|
|
43
|
+
readonly isLoading: true;
|
|
44
|
+
} | {
|
|
20
45
|
readonly name: string;
|
|
21
46
|
readonly sourceKind: 'current' | 'worktree';
|
|
47
|
+
readonly isLoading?: false;
|
|
22
48
|
readonly serverUrl: string;
|
|
23
49
|
readonly sourceTreeId: string;
|
|
24
|
-
|
|
50
|
+
readonly worktreePath?: string;
|
|
51
|
+
readonly ref?: string;
|
|
52
|
+
};
|
|
25
53
|
export declare class SourceTreeChangedError extends Error {
|
|
26
54
|
constructor(sessionName: string);
|
|
27
55
|
}
|
|
28
56
|
export type DaemonApiType = DaemonService['api']['TMethods'];
|
|
57
|
+
export interface DaemonVersionInfo {
|
|
58
|
+
readonly daemonApiVersion: string;
|
|
59
|
+
readonly pluginProtocolVersion: string;
|
|
60
|
+
}
|
|
29
61
|
export declare class DaemonService {
|
|
30
62
|
private readonly _config;
|
|
63
|
+
private readonly _pipeName;
|
|
31
64
|
private readonly _logger;
|
|
32
65
|
private readonly _browserFactory;
|
|
33
66
|
private readonly _serverFactory;
|
|
34
67
|
private readonly _sessions;
|
|
35
68
|
private readonly _sessionConfigs;
|
|
69
|
+
private readonly _dynamicSessionMeta;
|
|
36
70
|
private readonly _resolvers;
|
|
71
|
+
private readonly _eventListenerCount;
|
|
37
72
|
private readonly _eventListeners;
|
|
38
73
|
private _shutdownRequested;
|
|
39
74
|
private _shutdownResolvers;
|
|
75
|
+
private readonly _activityTracker;
|
|
76
|
+
private readonly _worktreePool;
|
|
40
77
|
readonly approvals: ApprovalStore;
|
|
41
78
|
readonly api: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
42
79
|
fixtures: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
43
80
|
list: import("@hediet/simple-api").IMethod<{
|
|
44
81
|
sessionName: string;
|
|
45
82
|
sourceTreeId: string;
|
|
46
|
-
}, import("../componentExplorer.js").FixtureInfo[],
|
|
47
|
-
}>,
|
|
83
|
+
}, import("../componentExplorer.js").FixtureInfo[], DaemonContext>;
|
|
84
|
+
}>, DaemonContext>;
|
|
48
85
|
screenshots: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
49
86
|
take: import("@hediet/simple-api").IMethod<{
|
|
50
87
|
fixtureId: string;
|
|
51
88
|
sourceTreeId: string;
|
|
52
89
|
sessionName: string;
|
|
53
90
|
includeImage?: boolean | undefined;
|
|
91
|
+
stabilityCheck?: boolean | undefined;
|
|
54
92
|
}, {
|
|
55
93
|
hash: string;
|
|
56
94
|
sourceTreeId: string;
|
|
57
95
|
image: string | undefined;
|
|
58
|
-
|
|
96
|
+
hasError: boolean;
|
|
97
|
+
error: import("../componentExplorer.js").ExceptionError | undefined;
|
|
98
|
+
events: import("../componentExplorer.js").RenderEvent[] | undefined;
|
|
99
|
+
resultData: unknown;
|
|
100
|
+
isStable: boolean;
|
|
101
|
+
stabilityScreenshots: {
|
|
102
|
+
hash: string;
|
|
103
|
+
delayMs: number;
|
|
104
|
+
image: string | undefined;
|
|
105
|
+
}[];
|
|
106
|
+
} | {
|
|
107
|
+
hash: string;
|
|
108
|
+
sourceTreeId: string;
|
|
109
|
+
image: string | undefined;
|
|
110
|
+
hasError: boolean;
|
|
111
|
+
error: import("../componentExplorer.js").ExceptionError | undefined;
|
|
112
|
+
events: import("../componentExplorer.js").RenderEvent[] | undefined;
|
|
113
|
+
resultData: unknown;
|
|
114
|
+
isStable?: undefined;
|
|
115
|
+
stabilityScreenshots?: undefined;
|
|
116
|
+
}, DaemonContext>;
|
|
59
117
|
takeBatch: import("@hediet/simple-api").IMethod<{
|
|
60
118
|
fixtureIds: string[];
|
|
61
119
|
sourceTreeId: string;
|
|
@@ -67,8 +125,12 @@ export declare class DaemonService {
|
|
|
67
125
|
fixtureId: string;
|
|
68
126
|
hash: string;
|
|
69
127
|
image: string | undefined;
|
|
128
|
+
hasError: boolean;
|
|
129
|
+
error: import("../componentExplorer.js").ExceptionError | undefined;
|
|
130
|
+
events: import("../componentExplorer.js").RenderEvent[] | undefined;
|
|
131
|
+
resultData: unknown;
|
|
70
132
|
}[];
|
|
71
|
-
},
|
|
133
|
+
}, DaemonContext>;
|
|
72
134
|
compare: import("@hediet/simple-api").IMethod<{
|
|
73
135
|
fixtureId: string;
|
|
74
136
|
baselineSessionName: string;
|
|
@@ -82,50 +144,113 @@ export declare class DaemonService {
|
|
|
82
144
|
currentHash: string;
|
|
83
145
|
baselineImage: string | undefined;
|
|
84
146
|
currentImage: string | undefined;
|
|
147
|
+
baselineHasError: boolean;
|
|
148
|
+
baselineError: import("../componentExplorer.js").ExceptionError | undefined;
|
|
149
|
+
baselineEvents: import("../componentExplorer.js").RenderEvent[] | undefined;
|
|
150
|
+
baselineResultData: unknown;
|
|
151
|
+
currentHasError: boolean;
|
|
152
|
+
currentError: import("../componentExplorer.js").ExceptionError | undefined;
|
|
153
|
+
currentEvents: import("../componentExplorer.js").RenderEvent[] | undefined;
|
|
154
|
+
currentResultData: unknown;
|
|
155
|
+
labels: readonly string[] | undefined;
|
|
156
|
+
labelsBefore: readonly string[] | undefined;
|
|
85
157
|
approval: import("./approvalStore.js").ApprovalInfo | undefined;
|
|
86
|
-
},
|
|
87
|
-
}>,
|
|
158
|
+
}, DaemonContext>;
|
|
159
|
+
}>, DaemonContext>;
|
|
88
160
|
approvals: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
89
161
|
approve: import("@hediet/simple-api").IMethod<{
|
|
90
162
|
fixtureId: string;
|
|
91
163
|
originalHash: string;
|
|
92
164
|
modifiedHash: string;
|
|
93
165
|
comment: string;
|
|
94
|
-
}, void,
|
|
166
|
+
}, void, DaemonContext>;
|
|
95
167
|
revoke: import("@hediet/simple-api").IMethod<{
|
|
96
168
|
fixtureId: string;
|
|
97
169
|
originalHash: string;
|
|
98
170
|
modifiedHash: string;
|
|
99
|
-
}, void,
|
|
171
|
+
}, void, DaemonContext>;
|
|
100
172
|
list: import("@hediet/simple-api").IMethod<{
|
|
101
173
|
fixtureId?: string | undefined;
|
|
102
|
-
}, import("./approvalStore.js").ApprovalInfo[],
|
|
174
|
+
}, import("./approvalStore.js").ApprovalInfo[], DaemonContext>;
|
|
103
175
|
lookup: import("@hediet/simple-api").IMethod<{
|
|
104
176
|
fixtureId: string;
|
|
105
177
|
originalHash: string;
|
|
106
178
|
modifiedHash: string;
|
|
107
|
-
}, import("./approvalStore.js").ApprovalInfo | null,
|
|
108
|
-
}>,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
179
|
+
}, import("./approvalStore.js").ApprovalInfo | null, DaemonContext>;
|
|
180
|
+
}>, DaemonContext>;
|
|
181
|
+
evaluate: import("@hediet/simple-api").IMethod<{
|
|
182
|
+
sessionName: string;
|
|
183
|
+
sourceTreeId: string;
|
|
184
|
+
expression: string;
|
|
185
|
+
fixtureId?: string | undefined;
|
|
186
|
+
}, {
|
|
187
|
+
result: unknown;
|
|
188
|
+
}, DaemonContext>;
|
|
189
|
+
events: import("@hediet/simple-api").IMethod<Record<string, never>, AsyncStream<DaemonEvent>, DaemonContext>;
|
|
190
|
+
sessions: import("@hediet/simple-api").IMethod<Record<string, never>, SessionInfo[], DaemonContext>;
|
|
191
|
+
version: import("@hediet/simple-api").IMethod<Record<string, never>, {
|
|
192
|
+
daemonApiVersion: string;
|
|
193
|
+
pluginProtocolVersion: string;
|
|
194
|
+
}, DaemonContext>;
|
|
195
|
+
restartSession: import("@hediet/simple-api").IMethod<{
|
|
196
|
+
sessionName: string;
|
|
197
|
+
}, SessionInfo[], DaemonContext>;
|
|
198
|
+
openSession: import("@hediet/simple-api").IMethod<{
|
|
199
|
+
name: string;
|
|
200
|
+
ref: string;
|
|
201
|
+
}, {
|
|
202
|
+
sessions: SessionInfo[];
|
|
203
|
+
} | {
|
|
204
|
+
error: string;
|
|
205
|
+
}, DaemonContext>;
|
|
206
|
+
closeSession: import("@hediet/simple-api").IMethod<{
|
|
207
|
+
name: string;
|
|
208
|
+
}, {
|
|
209
|
+
sessions: SessionInfo[];
|
|
210
|
+
} | {
|
|
211
|
+
error: string;
|
|
212
|
+
}, DaemonContext>;
|
|
213
|
+
updateSessionRef: import("@hediet/simple-api").IMethod<{
|
|
214
|
+
name: string;
|
|
215
|
+
ref: string;
|
|
216
|
+
}, {
|
|
217
|
+
sessions: SessionInfo[];
|
|
218
|
+
} | {
|
|
219
|
+
error: string;
|
|
220
|
+
}, DaemonContext>;
|
|
221
|
+
shutdown: import("@hediet/simple-api").IMethod<Record<string, never>, void, DaemonContext>;
|
|
222
|
+
}>, DaemonContext>;
|
|
113
223
|
private constructor();
|
|
114
|
-
static create(config: ResolvedWatchConfig, logger: ILogger
|
|
224
|
+
static create(config: ResolvedWatchConfig, logger: ILogger, pipeName?: string, options?: {
|
|
225
|
+
idleTimeoutMs?: number;
|
|
226
|
+
}): Promise<DaemonService>;
|
|
115
227
|
private _buildApi;
|
|
116
228
|
getSession(name: string): ExplorerSession;
|
|
117
|
-
getSessionInfos(): SessionInfo[];
|
|
229
|
+
getSessionInfos(reader?: IReader): SessionInfo[];
|
|
230
|
+
waitForSession(sessionName: string | undefined): Promise<SessionInfo & {
|
|
231
|
+
isLoading?: false;
|
|
232
|
+
}>;
|
|
118
233
|
getSourceTreeId(sessionName: string): string;
|
|
119
234
|
assertSourceTreeId(sessionName: string, expected: string): void;
|
|
120
235
|
eventStream(): AsyncIterable<DaemonEvent>;
|
|
121
236
|
runEventLoop(): Promise<void>;
|
|
122
237
|
private _sourceChangeDisposables;
|
|
123
238
|
private _startSourceChangeWatchers;
|
|
239
|
+
private _addSourceChangeWatcher;
|
|
124
240
|
private _handleRefChange;
|
|
241
|
+
private _getChangedFiles;
|
|
125
242
|
requestShutdown(): void;
|
|
126
243
|
dispose(): Promise<void>;
|
|
127
|
-
|
|
128
|
-
|
|
244
|
+
private _emit;
|
|
245
|
+
private _restartSession;
|
|
246
|
+
private _createExplorerSession;
|
|
247
|
+
private _createWorktreeExplorerSession;
|
|
129
248
|
private _setupSession;
|
|
249
|
+
private _setupWorktreeSession;
|
|
250
|
+
private _openDynamicSession;
|
|
251
|
+
private _closeDynamicSession;
|
|
252
|
+
private _updateDynamicSessionRef;
|
|
253
|
+
private readonly _dynamicRefWatchers;
|
|
254
|
+
private _addDynamicRefWatcher;
|
|
130
255
|
}
|
|
131
256
|
//# sourceMappingURL=DaemonService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonService.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DaemonService.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonService.ts"],"names":[],"mappings":"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"}
|