@vscode/component-explorer-cli 0.1.1-9 → 0.2.1-0

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.
Files changed (134) hide show
  1. package/LICENSE +21 -0
  2. package/SECURITY.md +14 -0
  3. package/dist/WorktreePool.d.ts +22 -0
  4. package/dist/WorktreePool.d.ts.map +1 -0
  5. package/dist/WorktreePool.js +58 -0
  6. package/dist/WorktreePool.js.map +1 -0
  7. package/dist/WorktreePool.test.d.ts +2 -0
  8. package/dist/WorktreePool.test.d.ts.map +1 -0
  9. package/dist/_virtual/_build-info.js +4 -0
  10. package/dist/_virtual/_build-info.js.map +1 -0
  11. package/dist/browserPage.d.ts +15 -1
  12. package/dist/browserPage.d.ts.map +1 -1
  13. package/dist/browserPage.js +51 -7
  14. package/dist/browserPage.js.map +1 -1
  15. package/dist/commands/acceptCommand.d.ts.map +1 -1
  16. package/dist/commands/acceptCommand.js +3 -2
  17. package/dist/commands/acceptCommand.js.map +1 -1
  18. package/dist/commands/checkStabilityCommand.d.ts +12 -0
  19. package/dist/commands/checkStabilityCommand.d.ts.map +1 -0
  20. package/dist/commands/checkStabilityCommand.js +84 -0
  21. package/dist/commands/checkStabilityCommand.js.map +1 -0
  22. package/dist/commands/compareCommand.d.ts +1 -0
  23. package/dist/commands/compareCommand.d.ts.map +1 -1
  24. package/dist/commands/compareCommand.js +25 -4
  25. package/dist/commands/compareCommand.js.map +1 -1
  26. package/dist/commands/mcpCommand.d.ts +1 -0
  27. package/dist/commands/mcpCommand.d.ts.map +1 -1
  28. package/dist/commands/mcpCommand.js +23 -10
  29. package/dist/commands/mcpCommand.js.map +1 -1
  30. package/dist/commands/screenshotCommand.d.ts +2 -0
  31. package/dist/commands/screenshotCommand.d.ts.map +1 -1
  32. package/dist/commands/screenshotCommand.js +19 -4
  33. package/dist/commands/screenshotCommand.js.map +1 -1
  34. package/dist/commands/serveCommand.d.ts +4 -0
  35. package/dist/commands/serveCommand.d.ts.map +1 -1
  36. package/dist/commands/serveCommand.js +101 -26
  37. package/dist/commands/serveCommand.js.map +1 -1
  38. package/dist/commands/watchCommand.d.ts +2 -0
  39. package/dist/commands/watchCommand.d.ts.map +1 -1
  40. package/dist/commands/watchCommand.js +18 -66
  41. package/dist/commands/watchCommand.js.map +1 -1
  42. package/dist/comparison.d.ts +11 -1
  43. package/dist/comparison.d.ts.map +1 -1
  44. package/dist/comparison.js +25 -11
  45. package/dist/comparison.js.map +1 -1
  46. package/dist/component-explorer-config.schema.json +260 -55
  47. package/dist/componentExplorer.d.ts +21 -18
  48. package/dist/componentExplorer.d.ts.map +1 -1
  49. package/dist/componentExplorer.js +60 -19
  50. package/dist/componentExplorer.js.map +1 -1
  51. package/dist/daemon/DaemonService.d.ts +100 -11
  52. package/dist/daemon/DaemonService.d.ts.map +1 -1
  53. package/dist/daemon/DaemonService.js +512 -129
  54. package/dist/daemon/DaemonService.js.map +1 -1
  55. package/dist/daemon/dynamicSessions.test.d.ts +2 -0
  56. package/dist/daemon/dynamicSessions.test.d.ts.map +1 -0
  57. package/dist/daemon/lifecycle.d.ts +2 -1
  58. package/dist/daemon/lifecycle.d.ts.map +1 -1
  59. package/dist/daemon/lifecycle.js +52 -30
  60. package/dist/daemon/lifecycle.js.map +1 -1
  61. package/dist/daemon/pipeClient.d.ts.map +1 -1
  62. package/dist/daemon/pipeClient.js +81 -2
  63. package/dist/daemon/pipeClient.js.map +1 -1
  64. package/dist/daemon/pipeServer.d.ts +2 -1
  65. package/dist/daemon/pipeServer.d.ts.map +1 -1
  66. package/dist/daemon/pipeServer.js +59 -2
  67. package/dist/daemon/pipeServer.js.map +1 -1
  68. package/dist/daemon/version.d.ts +10 -0
  69. package/dist/daemon/version.d.ts.map +1 -0
  70. package/dist/daemon/version.js +17 -0
  71. package/dist/daemon/version.js.map +1 -0
  72. package/dist/dependencyInstaller.d.ts +2 -2
  73. package/dist/dependencyInstaller.d.ts.map +1 -1
  74. package/dist/dependencyInstaller.js.map +1 -1
  75. package/dist/explorerSession.d.ts +3 -3
  76. package/dist/explorerSession.d.ts.map +1 -1
  77. package/dist/explorerSession.js +26 -9
  78. package/dist/explorerSession.js.map +1 -1
  79. package/dist/git/gitIndexResolver.d.ts +25 -0
  80. package/dist/git/gitIndexResolver.d.ts.map +1 -0
  81. package/dist/git/gitIndexResolver.js +91 -0
  82. package/dist/git/gitIndexResolver.js.map +1 -0
  83. package/dist/git/gitIndexResolver.test.d.ts +2 -0
  84. package/dist/git/gitIndexResolver.test.d.ts.map +1 -0
  85. package/dist/git/gitService.d.ts +2 -0
  86. package/dist/git/gitService.d.ts.map +1 -1
  87. package/dist/git/gitService.js +6 -0
  88. package/dist/git/gitService.js.map +1 -1
  89. package/dist/git/gitWorktreeManager.d.ts +6 -0
  90. package/dist/git/gitWorktreeManager.d.ts.map +1 -1
  91. package/dist/git/gitWorktreeManager.js +42 -13
  92. package/dist/git/gitWorktreeManager.js.map +1 -1
  93. package/dist/git/gitWorktreeManager.test.d.ts +2 -0
  94. package/dist/git/gitWorktreeManager.test.d.ts.map +1 -0
  95. package/dist/git/testUtils.d.ts +13 -0
  96. package/dist/git/testUtils.d.ts.map +1 -0
  97. package/dist/httpServer.d.ts +18 -7
  98. package/dist/httpServer.d.ts.map +1 -1
  99. package/dist/httpServer.js +117 -18
  100. package/dist/httpServer.js.map +1 -1
  101. package/dist/httpServer.test.d.ts +2 -0
  102. package/dist/httpServer.test.d.ts.map +1 -0
  103. package/dist/index.js +11 -2
  104. package/dist/index.js.map +1 -1
  105. package/dist/logger.d.ts +1 -0
  106. package/dist/logger.d.ts.map +1 -1
  107. package/dist/logger.js +7 -1
  108. package/dist/logger.js.map +1 -1
  109. package/dist/mcp/McpServer.d.ts +18 -0
  110. package/dist/mcp/McpServer.d.ts.map +1 -1
  111. package/dist/mcp/McpServer.js +555 -13
  112. package/dist/mcp/McpServer.js.map +1 -1
  113. package/dist/mcp/TaskManager.d.ts +28 -0
  114. package/dist/mcp/TaskManager.d.ts.map +1 -0
  115. package/dist/mcp/TaskManager.js +54 -0
  116. package/dist/mcp/TaskManager.js.map +1 -0
  117. package/dist/packages/simple-api/dist/{chunk-Q24JOMNK.js → chunk-TAEFVNPN.js} +1 -1
  118. package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +1 -0
  119. package/dist/packages/simple-api/dist/express.js +11 -3
  120. package/dist/packages/simple-api/dist/express.js.map +1 -1
  121. package/dist/utils.d.ts +7 -0
  122. package/dist/utils.d.ts.map +1 -1
  123. package/dist/utils.js +6 -7
  124. package/dist/utils.js.map +1 -1
  125. package/dist/visualCache.d.ts +34 -0
  126. package/dist/visualCache.d.ts.map +1 -0
  127. package/dist/visualCache.js +90 -0
  128. package/dist/visualCache.js.map +1 -0
  129. package/dist/watchConfig.d.ts +68 -15
  130. package/dist/watchConfig.d.ts.map +1 -1
  131. package/dist/watchConfig.js +109 -65
  132. package/dist/watchConfig.js.map +1 -1
  133. package/package.json +21 -4
  134. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js.map +0 -1
@@ -6,6 +6,8 @@ export interface CompareReportFixtureDetail {
6
6
  readonly baselineScreenshot?: string;
7
7
  readonly currentScreenshot?: string;
8
8
  readonly background?: 'light' | 'dark';
9
+ readonly labels?: readonly string[];
10
+ readonly labelsBefore?: readonly string[];
9
11
  }
10
12
  export interface CompareReport {
11
13
  readonly timestamp: string;
@@ -30,6 +32,7 @@ export interface ComparisonResult {
30
32
  export interface ScreenshotData {
31
33
  readonly data: Uint8Array;
32
34
  readonly background?: 'light' | 'dark';
35
+ readonly labels?: readonly string[];
33
36
  }
34
37
  export interface ComparisonStorage {
35
38
  list(): Promise<string[]>;
@@ -45,7 +48,14 @@ export declare function compareScreenshotsInMemory(currentScreenshots: Map<strin
45
48
  /**
46
49
  * Compare screenshots between two directories on disk.
47
50
  */
48
- export declare function compareScreenshotsOnDisk(currentStorage: ComparisonStorage, baselineStorage: ComparisonStorage, currentFiles: string[], baselineFiles: string[]): Promise<ComparisonResult>;
51
+ export interface FixtureMetadata {
52
+ readonly background?: 'light' | 'dark';
53
+ readonly labels?: readonly string[];
54
+ }
55
+ export declare function compareScreenshotsOnDisk(currentStorage: ComparisonStorage, baselineStorage: ComparisonStorage, currentFiles: string[], baselineFiles: string[], options?: {
56
+ readonly currentMetadata?: Record<string, FixtureMetadata>;
57
+ readonly baselineMetadata?: Record<string, FixtureMetadata>;
58
+ }): Promise<ComparisonResult>;
49
59
  export declare function printComparisonToConsole(result: ComparisonResult, stdout: Writable): void;
50
60
  export interface WriteReportOptions {
51
61
  readonly reportDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../src/comparison.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../src/comparison.ts"],"names":[],"mappings":"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"}
@@ -20,16 +20,16 @@ async function compareScreenshotsInMemory(currentScreenshots, baselineStorage) {
20
20
  const baselineHash = contentHash(baselineData);
21
21
  if (currentHash === baselineHash) {
22
22
  unchanged.push(fixtureId);
23
- fixtures[fixtureId] = { status: 'unchanged', baselineHash, currentHash, background: screenshot.background };
23
+ fixtures[fixtureId] = { status: 'unchanged', baselineHash, currentHash, background: screenshot.background, labels: screenshot.labels };
24
24
  }
25
25
  else {
26
26
  changed.push(fixtureId);
27
- fixtures[fixtureId] = { status: 'changed', baselineHash, currentHash, background: screenshot.background };
27
+ fixtures[fixtureId] = { status: 'changed', baselineHash, currentHash, background: screenshot.background, labels: [...(screenshot.labels ?? []), 'changed'] };
28
28
  }
29
29
  }
30
30
  else {
31
31
  added.push(fixtureId);
32
- fixtures[fixtureId] = { status: 'added', currentHash, background: screenshot.background };
32
+ fixtures[fixtureId] = { status: 'added', currentHash, background: screenshot.background, labels: screenshot.labels };
33
33
  }
34
34
  }
35
35
  added.sort();
@@ -37,10 +37,7 @@ async function compareScreenshotsInMemory(currentScreenshots, baselineStorage) {
37
37
  unchanged.sort();
38
38
  return { added, removed: [], changed, unchanged, fixtures };
39
39
  }
40
- /**
41
- * Compare screenshots between two directories on disk.
42
- */
43
- async function compareScreenshotsOnDisk(currentStorage, baselineStorage, currentFiles, baselineFiles) {
40
+ async function compareScreenshotsOnDisk(currentStorage, baselineStorage, currentFiles, baselineFiles, options) {
44
41
  const baselineSet = new Set(baselineFiles);
45
42
  const currentSet = new Set(currentFiles);
46
43
  const added = [];
@@ -50,10 +47,15 @@ async function compareScreenshotsOnDisk(currentStorage, baselineStorage, current
50
47
  const fixtures = {};
51
48
  for (const file of currentSet) {
52
49
  const fixtureId = file.replace(/\.png$/, '');
50
+ const currentMeta = options?.currentMetadata?.[fixtureId];
51
+ const baselineMeta = options?.baselineMetadata?.[fixtureId];
52
+ const labels = currentMeta?.labels;
53
+ const labelsChanged = baselineMeta && !arraysEqual(baselineMeta.labels ?? [], labels ?? []);
54
+ const labelsBefore = labelsChanged ? baselineMeta.labels : undefined;
53
55
  if (!baselineSet.has(file)) {
54
56
  added.push(fixtureId);
55
57
  const currentData = await currentStorage.read(file);
56
- fixtures[fixtureId] = { status: 'added', currentHash: contentHash(currentData) };
58
+ fixtures[fixtureId] = { status: 'added', currentHash: contentHash(currentData), background: currentMeta?.background, labels };
57
59
  }
58
60
  else {
59
61
  const baselineData = await baselineStorage.read(file);
@@ -62,11 +64,11 @@ async function compareScreenshotsOnDisk(currentStorage, baselineStorage, current
62
64
  const currentHash = contentHash(currentData);
63
65
  if (baselineHash === currentHash) {
64
66
  unchanged.push(fixtureId);
65
- fixtures[fixtureId] = { status: 'unchanged', baselineHash, currentHash };
67
+ fixtures[fixtureId] = { status: 'unchanged', baselineHash, currentHash, background: currentMeta?.background, labels, labelsBefore };
66
68
  }
67
69
  else {
68
70
  changed.push(fixtureId);
69
- fixtures[fixtureId] = { status: 'changed', baselineHash, currentHash };
71
+ fixtures[fixtureId] = { status: 'changed', baselineHash, currentHash, background: currentMeta?.background, labels: [...(labels ?? []), 'changed'], labelsBefore };
70
72
  }
71
73
  }
72
74
  }
@@ -75,7 +77,8 @@ async function compareScreenshotsOnDisk(currentStorage, baselineStorage, current
75
77
  if (!currentSet.has(file)) {
76
78
  removed.push(fixtureId);
77
79
  const baselineData = await baselineStorage.read(file);
78
- fixtures[fixtureId] = { status: 'removed', baselineHash: contentHash(baselineData) };
80
+ const baselineMeta = options?.baselineMetadata?.[fixtureId];
81
+ fixtures[fixtureId] = { status: 'removed', baselineHash: contentHash(baselineData), labels: baselineMeta?.labels };
79
82
  }
80
83
  }
81
84
  added.sort();
@@ -245,6 +248,17 @@ function generateMarkdownReport(report) {
245
248
  }
246
249
  return lines.join('\n');
247
250
  }
251
+ function arraysEqual(a, b) {
252
+ if (a.length !== b.length) {
253
+ return false;
254
+ }
255
+ for (let i = 0; i < a.length; i++) {
256
+ if (a[i] !== b[i]) {
257
+ return false;
258
+ }
259
+ }
260
+ return true;
261
+ }
248
262
 
249
263
  export { compareScreenshotsInMemory, compareScreenshotsOnDisk, generateMarkdownReport, printComparisonToConsole, writeComparisonReport };
250
264
  //# sourceMappingURL=comparison.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.js","sources":["../src/comparison.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparison.js","sources":["../src/comparison.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -17,78 +17,148 @@
17
17
  "description": "Unique session name"
18
18
  },
19
19
  "source": {
20
- "anyOf": [
21
- {
22
- "type": "string",
23
- "const": "current"
24
- },
25
- {
20
+ "description": "Source configuration (default: current working tree)",
21
+ "type": "object",
22
+ "properties": {
23
+ "worktree": {
26
24
  "type": "object",
27
25
  "properties": {
28
- "worktree": {
29
- "type": "object",
30
- "properties": {
31
- "ref": {
26
+ "ref": {
27
+ "type": "string",
28
+ "description": "Git ref to check out (branch, tag, commit, or \"INDEX\" for the git staging area)"
29
+ },
30
+ "install": {
31
+ "description": "Dependency install strategy override for this session",
32
+ "anyOf": [
33
+ {
32
34
  "type": "string",
33
- "description": "Git ref (branch, tag, or commit) to check out"
35
+ "const": "auto"
34
36
  },
35
- "name": {
36
- "description": "Directory name for the worktree (default: component-explorer-baseline)",
37
- "type": "string"
37
+ {
38
+ "type": "string",
39
+ "const": "npm"
38
40
  },
39
- "install": {
40
- "anyOf": [
41
- {
42
- "type": "string",
43
- "const": "auto"
44
- },
45
- {
46
- "type": "string",
47
- "const": "npm"
48
- },
49
- {
50
- "type": "string",
51
- "const": "pnpm"
52
- },
53
- {
41
+ {
42
+ "type": "string",
43
+ "const": "pnpm"
44
+ },
45
+ {
46
+ "type": "string",
47
+ "const": "yarn"
48
+ },
49
+ {
50
+ "type": "object",
51
+ "properties": {
52
+ "command": {
54
53
  "type": "string",
55
- "const": "yarn"
56
- },
57
- {
58
- "type": "object",
59
- "properties": {
60
- "command": {
61
- "type": "string",
62
- "description": "Custom install command to run in the worktree"
63
- }
64
- },
65
- "required": [
66
- "command"
67
- ],
68
- "additionalProperties": false
69
- },
70
- {
71
- "type": "boolean",
72
- "const": false
54
+ "description": "Custom install command to run in the worktree"
73
55
  }
56
+ },
57
+ "required": [
58
+ "command"
74
59
  ],
75
- "description": "Dependency install strategy for the worktree"
60
+ "additionalProperties": false
61
+ },
62
+ {
63
+ "type": "boolean",
64
+ "const": false
65
+ }
66
+ ]
67
+ }
68
+ },
69
+ "required": [
70
+ "ref"
71
+ ],
72
+ "additionalProperties": false,
73
+ "description": "Worktree source configuration"
74
+ }
75
+ },
76
+ "required": [
77
+ "worktree"
78
+ ],
79
+ "additionalProperties": false
80
+ },
81
+ "server": {
82
+ "description": "Server configuration for this session (overrides top-level)",
83
+ "oneOf": [
84
+ {
85
+ "type": "object",
86
+ "properties": {
87
+ "type": {
88
+ "type": "string",
89
+ "const": "vite"
90
+ },
91
+ "viteConfig": {
92
+ "description": "Path to vite config file, relative to this config",
93
+ "type": "string"
94
+ },
95
+ "hmr": {
96
+ "type": "object",
97
+ "properties": {
98
+ "allowedPaths": {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ },
103
+ "description": "Glob patterns for files that keep HMR; everything else triggers a full reload"
76
104
  }
77
105
  },
78
106
  "required": [
79
- "ref"
107
+ "allowedPaths"
80
108
  ],
81
109
  "additionalProperties": false,
82
- "description": "Git worktree configuration for a baseline session"
110
+ "description": "Vite HMR configuration"
111
+ }
112
+ },
113
+ "required": [
114
+ "type"
115
+ ],
116
+ "additionalProperties": false,
117
+ "description": "Vite dev server configuration"
118
+ },
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "type": {
123
+ "type": "string",
124
+ "const": "http"
125
+ },
126
+ "url": {
127
+ "type": "string",
128
+ "description": "URL of the HTTP server. Use ${var:name} to reference named capture groups from wait patterns"
129
+ },
130
+ "cmd": {
131
+ "description": "Command to start the HTTP server (e.g. \"npx rspack serve\")",
132
+ "type": "string"
133
+ },
134
+ "cwd": {
135
+ "description": "Working directory for cmd, relative to this config file (default: config file directory)",
136
+ "type": "string"
137
+ },
138
+ "wait": {
139
+ "description": "Wait for the server to be ready before connecting",
140
+ "type": "object",
141
+ "properties": {
142
+ "stdout": {
143
+ "description": "Regex pattern to wait for on stdout. Named capture groups become variables for the url field",
144
+ "type": "string"
145
+ },
146
+ "stderr": {
147
+ "description": "Regex pattern to wait for on stderr. Named capture groups become variables for the url field",
148
+ "type": "string"
149
+ }
150
+ },
151
+ "additionalProperties": false
83
152
  }
84
153
  },
85
154
  "required": [
86
- "worktree"
155
+ "type",
156
+ "url"
87
157
  ],
88
- "additionalProperties": false
158
+ "additionalProperties": false,
159
+ "description": "External HTTP server configuration"
89
160
  }
90
- ],
91
- "description": "Session source: \"current\" for the working tree, or a worktree config for a baseline"
161
+ ]
92
162
  },
93
163
  "viteConfig": {
94
164
  "description": "Path to vite config file, relative to this config (overrides top-level viteConfig)",
@@ -101,7 +171,58 @@
101
171
  "additionalProperties": false,
102
172
  "description": "A component explorer session"
103
173
  },
104
- "description": "List of explorer sessions"
174
+ "description": "List of explorer sessions (currently only \"current\" working tree sessions)"
175
+ },
176
+ "worktree": {
177
+ "description": "Dynamic worktree session pool configuration",
178
+ "type": "object",
179
+ "properties": {
180
+ "setup": {
181
+ "description": "Dependency install strategy for dynamic worktree sessions (default: auto)",
182
+ "anyOf": [
183
+ {
184
+ "type": "string",
185
+ "const": "auto"
186
+ },
187
+ {
188
+ "type": "string",
189
+ "const": "npm"
190
+ },
191
+ {
192
+ "type": "string",
193
+ "const": "pnpm"
194
+ },
195
+ {
196
+ "type": "string",
197
+ "const": "yarn"
198
+ },
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "command": {
203
+ "type": "string",
204
+ "description": "Custom install command to run in the worktree"
205
+ }
206
+ },
207
+ "required": [
208
+ "command"
209
+ ],
210
+ "additionalProperties": false
211
+ },
212
+ {
213
+ "type": "boolean",
214
+ "const": false
215
+ }
216
+ ]
217
+ },
218
+ "maxSlots": {
219
+ "description": "Maximum number of simultaneous worktree sessions (default: 2, max: 3)",
220
+ "type": "integer",
221
+ "minimum": 1,
222
+ "maximum": 3
223
+ }
224
+ },
225
+ "additionalProperties": false
105
226
  },
106
227
  "compare": {
107
228
  "type": "object",
@@ -122,11 +243,95 @@
122
243
  "additionalProperties": false,
123
244
  "description": "Screenshot comparison configuration"
124
245
  },
246
+ "server": {
247
+ "description": "Default server configuration",
248
+ "oneOf": [
249
+ {
250
+ "type": "object",
251
+ "properties": {
252
+ "type": {
253
+ "type": "string",
254
+ "const": "vite"
255
+ },
256
+ "viteConfig": {
257
+ "description": "Path to vite config file, relative to this config",
258
+ "type": "string"
259
+ },
260
+ "hmr": {
261
+ "type": "object",
262
+ "properties": {
263
+ "allowedPaths": {
264
+ "type": "array",
265
+ "items": {
266
+ "type": "string"
267
+ },
268
+ "description": "Glob patterns for files that keep HMR; everything else triggers a full reload"
269
+ }
270
+ },
271
+ "required": [
272
+ "allowedPaths"
273
+ ],
274
+ "additionalProperties": false,
275
+ "description": "Vite HMR configuration"
276
+ }
277
+ },
278
+ "required": [
279
+ "type"
280
+ ],
281
+ "additionalProperties": false,
282
+ "description": "Vite dev server configuration"
283
+ },
284
+ {
285
+ "type": "object",
286
+ "properties": {
287
+ "type": {
288
+ "type": "string",
289
+ "const": "http"
290
+ },
291
+ "url": {
292
+ "type": "string",
293
+ "description": "URL of the HTTP server. Use ${var:name} to reference named capture groups from wait patterns"
294
+ },
295
+ "cmd": {
296
+ "description": "Command to start the HTTP server (e.g. \"npx rspack serve\")",
297
+ "type": "string"
298
+ },
299
+ "cwd": {
300
+ "description": "Working directory for cmd, relative to this config file (default: config file directory)",
301
+ "type": "string"
302
+ },
303
+ "wait": {
304
+ "description": "Wait for the server to be ready before connecting",
305
+ "type": "object",
306
+ "properties": {
307
+ "stdout": {
308
+ "description": "Regex pattern to wait for on stdout. Named capture groups become variables for the url field",
309
+ "type": "string"
310
+ },
311
+ "stderr": {
312
+ "description": "Regex pattern to wait for on stderr. Named capture groups become variables for the url field",
313
+ "type": "string"
314
+ }
315
+ },
316
+ "additionalProperties": false
317
+ }
318
+ },
319
+ "required": [
320
+ "type",
321
+ "url"
322
+ ],
323
+ "additionalProperties": false,
324
+ "description": "External HTTP server configuration"
325
+ }
326
+ ]
327
+ },
125
328
  "viteConfig": {
126
329
  "description": "Default vite config file path, relative to this config (default: vite.config.ts)",
330
+ "deprecated": true,
127
331
  "type": "string"
128
332
  },
129
333
  "vite": {
334
+ "deprecated": true,
130
335
  "type": "object",
131
336
  "properties": {
132
337
  "hmr": {
@@ -1,11 +1,15 @@
1
1
  import type { BrowserPageFactory } from './browserPage.js';
2
2
  import type { ComponentExplorerHttpServer } from './httpServer.js';
3
+ import type { IObservable } from '@vscode/observables';
3
4
  import { type ILogger } from './logger.js';
5
+ import { SourceTreeId } from './sourceTreeId.js';
4
6
  export interface FixtureInfo {
5
7
  readonly fixtureId: string;
6
8
  readonly fixtureName: string;
7
9
  readonly groupPath: string[];
8
10
  readonly background: 'light' | 'dark';
11
+ readonly labels: readonly string[];
12
+ readonly expectedVisualDescriptions: readonly string[];
9
13
  }
10
14
  export type FixtureId = {
11
15
  readonly fixtureId: string;
@@ -21,33 +25,24 @@ export interface CoverageFileEntry {
21
25
  readonly coveredLines: readonly number[];
22
26
  readonly uncoveredLines: readonly number[];
23
27
  }
24
- /**
25
- * Error captured during fixture rendering.
26
- * Can be either an unhandled exception or a console error/warning.
27
- */
28
- export type ErrorInfo = ExceptionError | ConsoleError;
29
- /**
30
- * Unhandled exception thrown during render.
31
- */
32
28
  export interface ExceptionError {
33
- readonly kind: 'exception';
34
29
  readonly message: string;
35
30
  readonly stack?: string;
36
31
  }
37
- /**
38
- * Console error or warning captured during render.
39
- */
40
- export interface ConsoleError {
41
- readonly kind: 'console';
42
- readonly level: 'error' | 'warn';
32
+ export type RenderEventType = 'console.error' | 'console.warn' | 'console.log' | 'window.error' | 'window.unhandledrejection';
33
+ export interface RenderEvent {
34
+ readonly type: RenderEventType;
43
35
  readonly message: string;
44
36
  }
45
37
  /**
46
38
  * Result of taking a screenshot, including any errors captured during rendering.
47
39
  */
48
40
  export interface ScreenshotResult {
49
- readonly image: Uint8Array;
50
- readonly errors: ErrorInfo[];
41
+ readonly image: Uint8Array | undefined;
42
+ readonly hasError: boolean;
43
+ readonly error?: ExceptionError;
44
+ readonly events: RenderEvent[];
45
+ readonly resultData?: unknown;
51
46
  }
52
47
  export interface StabilityScreenshot {
53
48
  readonly image: Uint8Array;
@@ -55,9 +50,13 @@ export interface StabilityScreenshot {
55
50
  }
56
51
  export interface StabilityCheckResult {
57
52
  readonly screenshots: readonly StabilityScreenshot[];
58
- readonly errors: ErrorInfo[];
53
+ readonly hasError: boolean;
54
+ readonly error?: ExceptionError;
55
+ readonly events: RenderEvent[];
56
+ readonly resultData?: unknown;
59
57
  }
60
58
  export interface ComponentExplorer {
59
+ readonly sourceTreeId: IObservable<SourceTreeId>;
61
60
  listFixtures(): Promise<FixtureInfo[]>;
62
61
  screenshotFixture(fixtureId: string): Promise<ScreenshotResult>;
63
62
  screenshotFixtureStabilityCheck(fixtureId: string): Promise<StabilityCheckResult>;
@@ -73,9 +72,12 @@ export declare class BrowserComponentExplorer implements ComponentExplorer {
73
72
  private _page;
74
73
  private _lastState;
75
74
  private _screenshotMutex;
75
+ readonly sourceTreeId: import("@vscode/observables").ISettableObservable<SourceTreeId, void>;
76
76
  constructor(_browserPageFactory: BrowserPageFactory, _server: ComponentExplorerHttpServer, _logger?: ILogger);
77
+ private _bumpSourceTreeId;
77
78
  private _ensureReady;
78
79
  private _waitForCliApi;
80
+ private _assertRuntimeVersionCompatibility;
79
81
  private _getState;
80
82
  listFixtures(): Promise<FixtureInfo[]>;
81
83
  screenshotFixture(fixtureId: string): Promise<ScreenshotResult>;
@@ -83,6 +85,7 @@ export declare class BrowserComponentExplorer implements ComponentExplorer {
83
85
  evaluateJs(expression: string, fixtureId?: string): Promise<unknown>;
84
86
  codeCoverage(_id: FixtureId | FixtureGroupId): Promise<CoverageData>;
85
87
  waitForUpdate(timeoutMs?: number): Promise<void>;
88
+ closePage(): void;
86
89
  dispose(): Promise<void>;
87
90
  }
88
91
  //# sourceMappingURL=componentExplorer.d.ts.map