@vscode/component-explorer-cli 0.2.1-8 → 0.2.1-80

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 (237) hide show
  1. package/README.md +6 -6
  2. package/dist/WorktreePool.d.ts +5 -4
  3. package/dist/WorktreePool.d.ts.map +1 -1
  4. package/dist/WorktreePool.js +3 -3
  5. package/dist/WorktreePool.js.map +1 -1
  6. package/dist/_virtual/_build-info.js +1 -1
  7. package/dist/browserPage.d.ts +50 -0
  8. package/dist/browserPage.d.ts.map +1 -1
  9. package/dist/browserPage.js +78 -0
  10. package/dist/browserPage.js.map +1 -1
  11. package/dist/commands/acceptCommand.d.ts +1 -1
  12. package/dist/commands/acceptCommand.d.ts.map +1 -1
  13. package/dist/commands/acceptCommand.js +21 -14
  14. package/dist/commands/acceptCommand.js.map +1 -1
  15. package/dist/commands/checkStabilityCommand.d.ts +2 -0
  16. package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
  17. package/dist/commands/checkStabilityCommand.js +25 -8
  18. package/dist/commands/checkStabilityCommand.js.map +1 -1
  19. package/dist/commands/compareCommand.d.ts +1 -1
  20. package/dist/commands/compareCommand.d.ts.map +1 -1
  21. package/dist/commands/compareCommand.js +31 -22
  22. package/dist/commands/compareCommand.js.map +1 -1
  23. package/dist/commands/inputArg.d.ts +33 -0
  24. package/dist/commands/inputArg.d.ts.map +1 -0
  25. package/dist/commands/inputArg.js +103 -0
  26. package/dist/commands/inputArg.js.map +1 -0
  27. package/dist/commands/mcpCommand.d.ts +0 -2
  28. package/dist/commands/mcpCommand.d.ts.map +1 -1
  29. package/dist/commands/mcpCommand.js +143 -75
  30. package/dist/commands/mcpCommand.js.map +1 -1
  31. package/dist/commands/renderCommand.d.ts +9 -1
  32. package/dist/commands/renderCommand.d.ts.map +1 -1
  33. package/dist/commands/renderCommand.js +313 -28
  34. package/dist/commands/renderCommand.js.map +1 -1
  35. package/dist/commands/serveCommand.d.ts.map +1 -1
  36. package/dist/commands/serveCommand.js +14 -11
  37. package/dist/commands/serveCommand.js.map +1 -1
  38. package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -1
  39. package/dist/commands/serviceDiffCommitsCommand.js +10 -9
  40. package/dist/commands/serviceDiffCommitsCommand.js.map +1 -1
  41. package/dist/commands/watchCommand.d.ts +1 -0
  42. package/dist/commands/watchCommand.d.ts.map +1 -1
  43. package/dist/commands/watchCommand.js +31 -20
  44. package/dist/commands/watchCommand.js.map +1 -1
  45. package/dist/comparison.d.ts +4 -3
  46. package/dist/comparison.d.ts.map +1 -1
  47. package/dist/comparison.js +17 -14
  48. package/dist/comparison.js.map +1 -1
  49. package/dist/component-explorer-config.schema.json +55 -2
  50. package/dist/componentExplorer.d.ts +106 -11
  51. package/dist/componentExplorer.d.ts.map +1 -1
  52. package/dist/componentExplorer.js +166 -23
  53. package/dist/componentExplorer.js.map +1 -1
  54. package/dist/config.d.ts +33 -4
  55. package/dist/config.d.ts.map +1 -1
  56. package/dist/config.js +64 -27
  57. package/dist/config.js.map +1 -1
  58. package/dist/coverage.d.ts +64 -0
  59. package/dist/coverage.d.ts.map +1 -0
  60. package/dist/coverage.js +212 -0
  61. package/dist/coverage.js.map +1 -0
  62. package/dist/daemon/DaemonService.d.ts +14 -5
  63. package/dist/daemon/DaemonService.d.ts.map +1 -1
  64. package/dist/daemon/DaemonService.js +47 -23
  65. package/dist/daemon/DaemonService.js.map +1 -1
  66. package/dist/daemon/approvalStore.d.ts +2 -1
  67. package/dist/daemon/approvalStore.d.ts.map +1 -1
  68. package/dist/daemon/approvalStore.js +4 -3
  69. package/dist/daemon/approvalStore.js.map +1 -1
  70. package/dist/daemon/inProcessClient.js +2 -2
  71. package/dist/daemon/lifecycle.d.ts +4 -1
  72. package/dist/daemon/lifecycle.d.ts.map +1 -1
  73. package/dist/daemon/lifecycle.js +1 -1
  74. package/dist/daemon/lifecycle.js.map +1 -1
  75. package/dist/daemon/pipeClient.d.ts +2 -0
  76. package/dist/daemon/pipeClient.d.ts.map +1 -1
  77. package/dist/daemon/pipeClient.js +26 -8
  78. package/dist/daemon/pipeClient.js.map +1 -1
  79. package/dist/daemon/pipeName.d.ts +3 -3
  80. package/dist/daemon/pipeName.d.ts.map +1 -1
  81. package/dist/daemon/pipeName.js +1 -2
  82. package/dist/daemon/pipeName.js.map +1 -1
  83. package/dist/daemon/pipeServer.js +3 -3
  84. package/dist/daemon/version.d.ts +1 -1
  85. package/dist/daemon/version.js +2 -2
  86. package/dist/dependencyInstaller.d.ts +2 -1
  87. package/dist/dependencyInstaller.d.ts.map +1 -1
  88. package/dist/dependencyInstaller.js +4 -4
  89. package/dist/dependencyInstaller.js.map +1 -1
  90. package/dist/git/gitCommitResolver.d.ts +2 -1
  91. package/dist/git/gitCommitResolver.d.ts.map +1 -1
  92. package/dist/git/gitCommitResolver.js +8 -8
  93. package/dist/git/gitCommitResolver.js.map +1 -1
  94. package/dist/git/gitIndexResolver.d.ts +2 -1
  95. package/dist/git/gitIndexResolver.d.ts.map +1 -1
  96. package/dist/git/gitIndexResolver.js +7 -7
  97. package/dist/git/gitIndexResolver.js.map +1 -1
  98. package/dist/git/gitService.d.ts +5 -4
  99. package/dist/git/gitService.d.ts.map +1 -1
  100. package/dist/git/gitService.js.map +1 -1
  101. package/dist/git/gitUtils.d.ts +6 -5
  102. package/dist/git/gitUtils.d.ts.map +1 -1
  103. package/dist/git/gitUtils.js +5 -4
  104. package/dist/git/gitUtils.js.map +1 -1
  105. package/dist/git/gitWorktreeManager.d.ts +15 -14
  106. package/dist/git/gitWorktreeManager.d.ts.map +1 -1
  107. package/dist/git/gitWorktreeManager.js +10 -11
  108. package/dist/git/gitWorktreeManager.js.map +1 -1
  109. package/dist/git/testUtils.d.ts +2 -1
  110. package/dist/git/testUtils.d.ts.map +1 -1
  111. package/dist/index.js +10 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/js-component-explorer/packages/common/dist/explorerUrl.js +21 -0
  114. package/dist/js-component-explorer/packages/common/dist/explorerUrl.js.map +1 -0
  115. package/dist/js-component-explorer/packages/common/dist/renderManifest.js +67 -0
  116. package/dist/js-component-explorer/packages/common/dist/renderManifest.js.map +1 -0
  117. package/dist/js-component-explorer/packages/semver/dist/index.js.map +1 -0
  118. package/dist/js-component-explorer/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +1 -0
  119. package/dist/js-component-explorer/packages/simple-api/dist/chunk-TTRCY65Z.js.map +1 -0
  120. package/dist/js-component-explorer/packages/simple-api/dist/chunk-WNXMRXWV.js.map +1 -0
  121. package/dist/js-component-explorer/packages/simple-api/dist/express.js.map +1 -0
  122. package/dist/manifest.schema.json +38 -16
  123. package/dist/mcp/DaemonAccessor.d.ts +22 -0
  124. package/dist/mcp/DaemonAccessor.d.ts.map +1 -0
  125. package/dist/mcp/McpServer.d.ts +4 -19
  126. package/dist/mcp/McpServer.d.ts.map +1 -1
  127. package/dist/mcp/McpServer.js +299 -305
  128. package/dist/mcp/McpServer.js.map +1 -1
  129. package/dist/path.d.ts +30 -0
  130. package/dist/path.d.ts.map +1 -0
  131. package/dist/path.js +78 -0
  132. package/dist/path.js.map +1 -0
  133. package/dist/processTree.d.ts +6 -1
  134. package/dist/processTree.d.ts.map +1 -1
  135. package/dist/processTree.js +48 -5
  136. package/dist/processTree.js.map +1 -1
  137. package/dist/renderManifest.js +1 -1
  138. package/dist/server/httpServer.d.ts +1 -1
  139. package/dist/server/httpServer.d.ts.map +1 -1
  140. package/dist/server/httpServer.js +4 -8
  141. package/dist/server/httpServer.js.map +1 -1
  142. package/dist/server/serverConfig.d.ts +23 -6
  143. package/dist/server/serverConfig.d.ts.map +1 -1
  144. package/dist/server/serverConfig.js +11 -18
  145. package/dist/server/serverConfig.js.map +1 -1
  146. package/dist/server/viteServer.d.ts +16 -1
  147. package/dist/server/viteServer.d.ts.map +1 -1
  148. package/dist/server/viteServer.js +86 -5
  149. package/dist/server/viteServer.js.map +1 -1
  150. package/dist/storage.d.ts +2 -1
  151. package/dist/storage.d.ts.map +1 -1
  152. package/dist/storage.js +1 -1
  153. package/dist/storage.js.map +1 -1
  154. package/dist/utils.d.ts +3 -30
  155. package/dist/utils.d.ts.map +1 -1
  156. package/dist/utils.js +4 -24
  157. package/dist/utils.js.map +1 -1
  158. package/dist/visualCache.d.ts +2 -1
  159. package/dist/visualCache.d.ts.map +1 -1
  160. package/dist/visualCache.js +4 -3
  161. package/dist/visualCache.js.map +1 -1
  162. package/dist/viteProjectRef.d.ts +4 -12
  163. package/dist/viteProjectRef.d.ts.map +1 -1
  164. package/dist/viteProjectRef.js +9 -17
  165. package/dist/viteProjectRef.js.map +1 -1
  166. package/dist/vscode-observables/observables/dist/disposables.js.map +1 -0
  167. package/dist/vscode-observables/observables/dist/observableInternal/base.js.map +1 -0
  168. package/dist/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -0
  169. package/dist/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -0
  170. package/dist/vscode-observables/observables/dist/observableInternal/debugName.js.map +1 -0
  171. package/dist/vscode-observables/observables/dist/observableInternal/index.js.map +1 -0
  172. package/dist/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -0
  173. package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +1 -1
  174. package/dist/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -0
  175. package/dist/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +1 -0
  176. package/dist/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -0
  177. package/dist/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -0
  178. package/dist/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -0
  179. package/dist/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +1 -0
  180. package/dist/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -0
  181. package/dist/{external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js → vscode-observables/observables/dist/observableInternal/reactions/createEffect.js} +9 -5
  182. package/dist/vscode-observables/observables/dist/observableInternal/reactions/createEffect.js.map +1 -0
  183. package/dist/{external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js → vscode-observables/observables/dist/observableInternal/reactions/createEffectImpl.js} +1 -1
  184. package/dist/vscode-observables/observables/dist/observableInternal/reactions/createEffectImpl.js.map +1 -0
  185. package/dist/vscode-observables/observables/dist/observableInternal/transaction.js.map +1 -0
  186. package/dist/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +1 -0
  187. package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/utils/utilsCancellation.js +2 -2
  188. package/dist/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +1 -0
  189. package/package.json +9 -8
  190. package/dist/commands/artifactCommand.d.ts +0 -14
  191. package/dist/commands/artifactCommand.d.ts.map +0 -1
  192. package/dist/external/vscode-observables/observables/dist/disposables.js.map +0 -1
  193. package/dist/external/vscode-observables/observables/dist/observableInternal/base.js.map +0 -1
  194. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +0 -1
  195. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +0 -1
  196. package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js.map +0 -1
  197. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +0 -1
  198. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +0 -1
  199. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +0 -1
  200. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +0 -1
  201. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +0 -1
  202. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +0 -1
  203. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +0 -1
  204. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +0 -1
  205. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +0 -1
  206. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js.map +0 -1
  207. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +0 -1
  208. package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js.map +0 -1
  209. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +0 -1
  210. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +0 -1
  211. package/dist/packages/common/dist/renderManifest.js +0 -46
  212. package/dist/packages/common/dist/renderManifest.js.map +0 -1
  213. package/dist/packages/semver/dist/index.js.map +0 -1
  214. package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +0 -1
  215. package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +0 -1
  216. package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +0 -1
  217. package/dist/packages/simple-api/dist/express.js.map +0 -1
  218. /package/dist/{packages → js-component-explorer/packages}/semver/dist/index.js +0 -0
  219. /package/dist/{packages → js-component-explorer/packages}/simple-api/dist/chunk-FJ7AVNQE.js +0 -0
  220. /package/dist/{packages → js-component-explorer/packages}/simple-api/dist/chunk-TTRCY65Z.js +0 -0
  221. /package/dist/{packages → js-component-explorer/packages}/simple-api/dist/chunk-WNXMRXWV.js +0 -0
  222. /package/dist/{packages → js-component-explorer/packages}/simple-api/dist/express.js +0 -0
  223. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/disposables.js +0 -0
  224. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/base.js +0 -0
  225. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/commonFacade/deps.js +0 -0
  226. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/debugLocation.js +0 -0
  227. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/debugName.js +0 -0
  228. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/index.js +0 -0
  229. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/consoleObservableLogger.js +0 -0
  230. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/logging.js +0 -0
  231. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/baseObservable.js +0 -0
  232. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/derived.js +0 -0
  233. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/derivedImpl.js +0 -0
  234. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/observableFromEvent.js +0 -0
  235. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/observableValue.js +0 -0
  236. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/transaction.js +0 -0
  237. /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/utils/utils.js +0 -0
package/README.md CHANGED
@@ -23,7 +23,7 @@ component-explorer screenshot [options]
23
23
  | Option | Description |
24
24
  |---|---|
25
25
  | `-p, --project <path>` | Project: a directory, vite config file, or component-explorer.json (default: cwd) |
26
- | `--filter <pattern>` | Filter fixtures by glob pattern |
26
+ | `--fixture-id-regex <regex>` | Filter fixtures whose fixtureId matches this regular expression (unanchored) |
27
27
  | `--accept` | Write to baseline instead of current (mutually exclusive with `--target`) |
28
28
  | `--target <dir>` | Screenshot output directory (default: `.screenshots/current`, or `.screenshots/baseline` with `--accept`) |
29
29
  | `--compare` | Compare screenshots after capturing |
@@ -41,8 +41,8 @@ component-explorer screenshot --accept
41
41
  # Capture, then compare against baseline
42
42
  component-explorer screenshot --compare
43
43
 
44
- # Filter by glob
45
- component-explorer screenshot --filter "Button/*"
44
+ # Filter by fixture-id regex
45
+ component-explorer screenshot --fixture-id-regex "^Button/"
46
46
  ```
47
47
 
48
48
  ### `screenshot:compare`
@@ -58,7 +58,7 @@ component-explorer screenshot:compare [options]
58
58
  | `-p, --project <path>` | Project directory (default: cwd) |
59
59
  | `--baseline <dir>` | Baseline screenshots directory (default: `.screenshots/baseline`) |
60
60
  | `--current <dir>` | Current screenshots directory (default: `.screenshots/current`) |
61
- | `--filter <pattern>` | Filter fixtures by glob pattern |
61
+ | `--fixture-id-regex <regex>` | Filter fixtures whose fixtureId matches this regular expression (unanchored) |
62
62
  | `--report <dir>` | Output report folder (contains report.json, report.md, and changed screenshots) |
63
63
  | `-v, --verbose` | Increase log verbosity |
64
64
 
@@ -86,7 +86,7 @@ component-explorer screenshot:accept [options]
86
86
  | Option | Description |
87
87
  |---|---|
88
88
  | `-p, --project <path>` | Project directory (default: cwd) |
89
- | `--filter <pattern>` | Filter fixtures by glob pattern |
89
+ | `--fixture-id-regex <regex>` | Filter fixtures whose fixtureId matches this regular expression (unanchored) |
90
90
  | `--screenshot-dir <dir>` | Screenshots directory (default: `.screenshots`) |
91
91
  | `-v, --verbose` | Increase log verbosity |
92
92
 
@@ -95,7 +95,7 @@ component-explorer screenshot:accept [options]
95
95
  component-explorer screenshot:accept
96
96
 
97
97
  # Accept specific fixtures
98
- component-explorer screenshot:accept --filter "Button/*"
98
+ component-explorer screenshot:accept --fixture-id-regex "^Button/"
99
99
  ```
100
100
 
101
101
  ### `watch`
@@ -1,18 +1,19 @@
1
+ import { AbsolutePath } from './path.js';
1
2
  export declare class WorktreeSlot {
2
3
  readonly index: number;
3
- readonly worktreePath: string;
4
+ readonly worktreePath: AbsolutePath;
4
5
  private _assignedSession;
5
- constructor(index: number, worktreePath: string);
6
+ constructor(index: number, worktreePath: AbsolutePath);
6
7
  get assignedSession(): string | undefined;
7
8
  get isFree(): boolean;
8
9
  assign(sessionName: string): void;
9
10
  release(): void;
10
- configDir(configDirRelToGitRoot: string): string;
11
+ configDir(configDirRelToGitRoot: string): AbsolutePath;
11
12
  }
12
13
  export declare class WorktreePool {
13
14
  readonly maxSlots: number;
14
15
  private readonly _slots;
15
- constructor(maxSlots: number, worktreeRoot: string);
16
+ constructor(maxSlots: number, worktreeRoot: AbsolutePath);
16
17
  allocate(sessionName: string): WorktreeSlot;
17
18
  release(sessionName: string): void;
18
19
  getSlot(sessionName: string): WorktreeSlot | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreePool.d.ts","sourceRoot":"","sources":["../src/WorktreePool.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAJ9B,OAAO,CAAC,gBAAgB,CAAqB;gBAGnC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM;IAG9B,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAAkC;IAC3E,IAAI,MAAM,IAAI,OAAO,CAAgD;IAErE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IACjC,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM;CAGhD;AAED,qBAAa,YAAY;IAIvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAGvC,QAAQ,EAAE,MAAM,EACzB,YAAY,EAAE,MAAM;IAOrB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAiB3C,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOlC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAItD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,KAAK,IAAI,SAAS,YAAY,EAAE,CAEnC;CACD"}
1
+ {"version":3,"file":"WorktreePool.d.ts","sourceRoot":"","sources":["../src/WorktreePool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,WAAW,CAAC;AAEvD,qBAAa,YAAY;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,YAAY,EAAE,YAAY;IAJpC,OAAO,CAAC,gBAAgB,CAAqB;gBAGnC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY;IAGpC,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAAkC;IAC3E,IAAI,MAAM,IAAI,OAAO,CAAgD;IAErE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IACjC,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,YAAY;CAGtD;AAED,qBAAa,YAAY;IAIvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAGvC,QAAQ,EAAE,MAAM,EACzB,YAAY,EAAE,YAAY;IAO3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAiB3C,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOlC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAItD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,KAAK,IAAI,SAAS,YAAY,EAAE,CAEnC;CACD"}
@@ -1,4 +1,4 @@
1
- import * as path from 'node:path';
1
+ import { RelativePath } from './path.js';
2
2
 
3
3
  class WorktreeSlot {
4
4
  index;
@@ -13,7 +13,7 @@ class WorktreeSlot {
13
13
  assign(sessionName) { this._assignedSession = sessionName; }
14
14
  release() { this._assignedSession = undefined; }
15
15
  configDir(configDirRelToGitRoot) {
16
- return path.resolve(this.worktreePath, configDirRelToGitRoot);
16
+ return this.worktreePath.join(new RelativePath(configDirRelToGitRoot));
17
17
  }
18
18
  }
19
19
  class WorktreePool {
@@ -21,7 +21,7 @@ class WorktreePool {
21
21
  _slots;
22
22
  constructor(maxSlots, worktreeRoot) {
23
23
  this.maxSlots = maxSlots;
24
- this._slots = Array.from({ length: maxSlots }, (_, i) => new WorktreeSlot(i + 1, path.resolve(worktreeRoot, `component-explorer-${i + 1}`)));
24
+ this._slots = Array.from({ length: maxSlots }, (_, i) => new WorktreeSlot(i + 1, worktreeRoot.join(new RelativePath(`component-explorer-${i + 1}`))));
25
25
  }
26
26
  allocate(sessionName) {
27
27
  const existing = this._slots.find(s => s.assignedSession === sessionName);
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreePool.js","sources":["../src/WorktreePool.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorktreePool.js","sources":["../src/WorktreePool.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var __buildInfo = {"version":"0.3.0","date":"2026-04-13T15:42:57.887Z"};
1
+ var __buildInfo = {"version":"0.3.0","date":"2026-07-28T13:40:56.530Z"};
2
2
 
3
3
  export { __buildInfo as default };
4
4
  //# sourceMappingURL=_build-info.js.map
@@ -6,6 +6,27 @@ export interface BrowserPageFactory {
6
6
  export interface BrowserPage {
7
7
  evaluateJs(expression: string): Promise<unknown>;
8
8
  screenshot(domNodeExpression: string): Promise<ScreenshotResult>;
9
+ reload(): Promise<void>;
10
+ startJSCoverage(options?: {
11
+ resetOnNavigation?: boolean;
12
+ }): Promise<void>;
13
+ stopJSCoverage(): Promise<readonly JSCoverageEntry[]>;
14
+ startCSSCoverage(options?: {
15
+ resetOnNavigation?: boolean;
16
+ }): Promise<void>;
17
+ stopCSSCoverage(): Promise<readonly CSSCoverageEntry[]>;
18
+ /**
19
+ * Enable automatic snapshotting of `window.__coverage__` (the global written
20
+ * by `vite-plugin-istanbul`) on every triggered reload. Call before any
21
+ * reloads happen during your tracking window.
22
+ */
23
+ startIstanbulSnapshot(): void;
24
+ /**
25
+ * Stop snapshotting and return all accumulated `__coverage__` snapshots
26
+ * captured before reloads. The caller is expected to additionally read
27
+ * `window.__coverage__` for the final post-last-reload state and merge.
28
+ */
29
+ stopIstanbulSnapshot(): readonly unknown[];
9
30
  dispose(): Promise<void>;
10
31
  }
11
32
  export type ScreenshotResult = {
@@ -15,6 +36,35 @@ export type ScreenshotResult = {
15
36
  ok: false;
16
37
  error: 'noDomNode';
17
38
  };
39
+ /**
40
+ * Raw V8 JavaScript coverage entry as returned by Playwright's `page.coverage.stopJSCoverage()`.
41
+ * Compatible with the input shape of `v8-to-istanbul`.
42
+ */
43
+ export interface JSCoverageEntry {
44
+ readonly url: string;
45
+ readonly scriptId: string;
46
+ readonly source?: string;
47
+ readonly functions: readonly {
48
+ readonly functionName: string;
49
+ readonly isBlockCoverage: boolean;
50
+ readonly ranges: readonly {
51
+ readonly startOffset: number;
52
+ readonly endOffset: number;
53
+ readonly count: number;
54
+ }[];
55
+ }[];
56
+ }
57
+ /**
58
+ * CSS coverage entry as returned by Playwright's `page.coverage.stopCSSCoverage()`.
59
+ */
60
+ export interface CSSCoverageEntry {
61
+ readonly url: string;
62
+ readonly text?: string;
63
+ readonly ranges: readonly {
64
+ readonly start: number;
65
+ readonly end: number;
66
+ }[];
67
+ }
18
68
  export declare class PlaywrightBrowserPageFactory implements BrowserPageFactory {
19
69
  readonly timeoutMs: number;
20
70
  private _browser;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"browserPage.d.ts","sourceRoot":"","sources":["../src/browserPage.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,12 @@ class PlaywrightBrowserPageFactory {
59
59
  }
60
60
  class PlaywrightBrowserPage {
61
61
  _page;
62
+ _jsCoverageActive = false;
63
+ _jsCoverageAccumulated = [];
64
+ _cssCoverageActive = false;
65
+ _cssCoverageAccumulated = [];
66
+ _istanbulSnapshotActive = false;
67
+ _istanbulSnapshots = [];
62
68
  constructor(_page) {
63
69
  this._page = _page;
64
70
  }
@@ -82,6 +88,78 @@ class PlaywrightBrowserPage {
82
88
  return { ok: false, error: 'noDomNode' };
83
89
  }
84
90
  }
91
+ async reload() {
92
+ // Chrome's `CSS.startRuleUsageTracking` and V8's precise coverage are
93
+ // both bound to the document; on reload the data is gone even with
94
+ // Playwright's `resetOnNavigation: false`. Snapshot before reload and
95
+ // restart afterwards so callers see the union across the entire
96
+ // tracking window. Same for vite-plugin-istanbul's `window.__coverage__`,
97
+ // which lives in JS memory and is wiped on reload.
98
+ if (this._cssCoverageActive) {
99
+ const entries = await this._page.coverage.stopCSSCoverage();
100
+ this._cssCoverageAccumulated.push(...entries);
101
+ }
102
+ if (this._jsCoverageActive) {
103
+ const entries = await this._page.coverage.stopJSCoverage();
104
+ this._jsCoverageAccumulated.push(...entries);
105
+ }
106
+ if (this._istanbulSnapshotActive) {
107
+ try {
108
+ const snap = await this._page.evaluate('window.__coverage__ ?? null');
109
+ if (snap) {
110
+ this._istanbulSnapshots.push(snap);
111
+ }
112
+ }
113
+ catch {
114
+ // Page may be in a transitional state; skip this snapshot.
115
+ }
116
+ }
117
+ await this._page.reload({ waitUntil: 'networkidle' });
118
+ if (this._cssCoverageActive) {
119
+ await this._page.coverage.startCSSCoverage({ resetOnNavigation: false });
120
+ }
121
+ if (this._jsCoverageActive) {
122
+ await this._page.coverage.startJSCoverage({ resetOnNavigation: false });
123
+ }
124
+ }
125
+ async startJSCoverage(options) {
126
+ this._jsCoverageActive = true;
127
+ this._jsCoverageAccumulated = [];
128
+ await this._page.coverage.startJSCoverage({
129
+ resetOnNavigation: options?.resetOnNavigation ?? false,
130
+ });
131
+ }
132
+ async stopJSCoverage() {
133
+ this._jsCoverageActive = false;
134
+ const final = await this._page.coverage.stopJSCoverage();
135
+ const all = [...this._jsCoverageAccumulated, ...final];
136
+ this._jsCoverageAccumulated = [];
137
+ return all;
138
+ }
139
+ async startCSSCoverage(options) {
140
+ this._cssCoverageActive = true;
141
+ this._cssCoverageAccumulated = [];
142
+ await this._page.coverage.startCSSCoverage({
143
+ resetOnNavigation: options?.resetOnNavigation ?? false,
144
+ });
145
+ }
146
+ async stopCSSCoverage() {
147
+ this._cssCoverageActive = false;
148
+ const final = await this._page.coverage.stopCSSCoverage();
149
+ const all = [...this._cssCoverageAccumulated, ...final];
150
+ this._cssCoverageAccumulated = [];
151
+ return all;
152
+ }
153
+ startIstanbulSnapshot() {
154
+ this._istanbulSnapshotActive = true;
155
+ this._istanbulSnapshots = [];
156
+ }
157
+ stopIstanbulSnapshot() {
158
+ this._istanbulSnapshotActive = false;
159
+ const snaps = this._istanbulSnapshots;
160
+ this._istanbulSnapshots = [];
161
+ return snaps;
162
+ }
85
163
  async dispose() {
86
164
  await this._page.close();
87
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browserPage.js","sources":["../src/browserPage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserPage.js","sources":["../src/browserPage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export declare class AcceptCommand extends Command {
4
4
  static usage: import("clipanion").Usage;
5
5
  readonly verbose: number;
6
6
  readonly logFile: string | undefined;
7
- readonly filter: string | undefined;
7
+ readonly fixtureIdRegex: string | undefined;
8
8
  readonly project: string;
9
9
  readonly screenshotDir: string;
10
10
  execute(): Promise<void>;
@@ -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,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"}
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,cAAc,qBAAyJ;IAChL,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,aAAa,SAA+F;IAE/G,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC9B"}
@@ -1,14 +1,14 @@
1
1
  import { Command, Option } from 'clipanion';
2
- import * as path from 'node:path';
3
- import '../external/vscode-observables/observables/dist/observableInternal/index.js';
4
- import { DisposableStore } from '../external/vscode-observables/observables/dist/disposables.js';
5
- import '../external/vscode-observables/observables/dist/observableInternal/debugLocation.js';
6
- import '../external/vscode-observables/observables/dist/observableInternal/observables/derived.js';
7
- import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
8
- import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
2
+ import '../vscode-observables/observables/dist/observableInternal/index.js';
3
+ import { DisposableStore } from '../vscode-observables/observables/dist/disposables.js';
4
+ import '../vscode-observables/observables/dist/observableInternal/debugLocation.js';
5
+ import '../vscode-observables/observables/dist/observableInternal/observables/derived.js';
6
+ import '../vscode-observables/observables/dist/observableInternal/utils/utils.js';
7
+ import '../vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
9
8
  import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
10
9
  import { FileSystemStorage } from '../storage.js';
11
10
  import { ResolvedConfig } from '../config.js';
11
+ import { AbsolutePath } from '../path.js';
12
12
 
13
13
  class AcceptCommand extends Command {
14
14
  static paths = [['render:accept']];
@@ -16,27 +16,34 @@ class AcceptCommand extends Command {
16
16
  description: 'Promote current screenshots to baseline (file-level only)',
17
17
  examples: [
18
18
  ['Accept all', '$0 render:accept'],
19
- ['Accept specific fixtures', '$0 render:accept --filter "Button/*"'],
19
+ ['Accept specific fixtures', '$0 render:accept --fixture-id-regex "^Button/"'],
20
20
  ],
21
21
  });
22
22
  verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
23
23
  logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
24
- filter = Option.String('--filter', { required: false, description: 'Filter fixtures by glob pattern' });
24
+ fixtureIdRegex = Option.String('--fixture-id-regex', { required: false, description: 'Filter fixtures whose fixtureId matches this regular expression (unanchored)' });
25
25
  project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
26
26
  screenshotDir = Option.String('--screenshot-dir', '.screenshots', { description: 'Screenshots directory' });
27
27
  async execute() {
28
28
  const disposables = new DisposableStore();
29
- const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
29
+ const config = await ResolvedConfig.fromProjectPath(AbsolutePath.resolve(this.project), disposables);
30
30
  const projectDir = config.configDir;
31
31
  disposables.dispose();
32
32
  const _logger = new ConsoleLogger('accept', this.context.stdout, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
33
33
  logBuildInfo(_logger);
34
- const screenshotPath = path.isAbsolute(this.screenshotDir) ? this.screenshotDir : path.join(projectDir, this.screenshotDir);
34
+ const screenshotPath = AbsolutePath.fromAbsoluteOrRelative(this.screenshotDir, { base: projectDir });
35
35
  const storage = new FileSystemStorage(screenshotPath);
36
36
  let currentFiles = await storage.list('current');
37
- if (this.filter) {
38
- const regex = new RegExp('^current/' + this.filter.replace(/\*/g, '.*').replace(/\?/g, '.') + '$');
39
- currentFiles = currentFiles.filter(f => regex.test(f));
37
+ if (this.fixtureIdRegex) {
38
+ let regex;
39
+ try {
40
+ regex = new RegExp(this.fixtureIdRegex);
41
+ }
42
+ catch (e) {
43
+ this.context.stderr.write(`Error: Invalid --fixture-id-regex: ${e instanceof Error ? e.message : String(e)}\n`);
44
+ return;
45
+ }
46
+ currentFiles = currentFiles.filter(f => regex.test(f.replace(/^current\//, '').replace(/\.png$/, '')));
40
47
  }
41
48
  if (currentFiles.length === 0) {
42
49
  this.context.stdout.write('No current screenshots to accept.\n');
@@ -1 +1 @@
1
- {"version":3,"file":"acceptCommand.js","sources":["../../src/commands/acceptCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptCommand.js","sources":["../../src/commands/acceptCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export declare class CheckStabilityCommand extends Command {
8
8
  readonly labelPattern: string | undefined;
9
9
  readonly headed: boolean;
10
10
  readonly timeout: string;
11
+ readonly reloadBetweenFixtures: boolean;
12
+ readonly input: string | undefined;
11
13
  execute(): Promise<number>;
12
14
  }
13
15
  //# sourceMappingURL=checkStabilityCommand.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"checkStabilityCommand.d.ts","sourceRoot":"","sources":["../../src/commands/checkStabilityCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAU5C,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;IAC/H,QAAQ,CAAC,qBAAqB,UAAkJ;IAChL,QAAQ,CAAC,KAAK,qBAAmO;IAE3O,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAsFhC"}
@@ -1,15 +1,17 @@
1
1
  import { Command, Option } from 'clipanion';
2
- import '../external/vscode-observables/observables/dist/observableInternal/index.js';
3
- import { DisposableStore } from '../external/vscode-observables/observables/dist/disposables.js';
4
- import '../external/vscode-observables/observables/dist/observableInternal/debugLocation.js';
5
- import '../external/vscode-observables/observables/dist/observableInternal/observables/derived.js';
6
- import '../external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
7
- import '../external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
2
+ import '../vscode-observables/observables/dist/observableInternal/index.js';
3
+ import { DisposableStore } from '../vscode-observables/observables/dist/disposables.js';
4
+ import '../vscode-observables/observables/dist/observableInternal/debugLocation.js';
5
+ import '../vscode-observables/observables/dist/observableInternal/observables/derived.js';
6
+ import '../vscode-observables/observables/dist/observableInternal/utils/utils.js';
7
+ import '../vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
8
8
  import { PlaywrightBrowserPageFactory } from '../browserPage.js';
9
9
  import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
10
10
  import { ResolvedConfig } from '../config.js';
11
+ import { AbsolutePath } from '../path.js';
11
12
  import { ExplorerSession } from '../explorerSession.js';
12
13
  import { contentHash } from '../screenshotCache.js';
14
+ import { parseInputJson } from './inputArg.js';
13
15
 
14
16
  class CheckStabilityCommand extends Command {
15
17
  static paths = [['check-stability']];
@@ -26,9 +28,19 @@ class CheckStabilityCommand extends Command {
26
28
  labelPattern = Option.String('--label-pattern', { required: false, description: 'RegExp to filter fixtures by label (matched against inherited labels)' });
27
29
  headed = Option.Boolean('--headed', false, { description: 'Show the browser window (useful for debugging)' });
28
30
  timeout = Option.String('--timeout', '30000', { description: 'Navigation timeout in milliseconds (default: 30000)' });
31
+ reloadBetweenFixtures = Option.Boolean('--reload-between-fixtures', false, { description: 'Reload the browser page between fixtures for cleaner isolation (slower)' });
32
+ input = Option.String('--input', { required: false, description: 'JSON object passed to every fixture as `RenderContext.input` (e.g. \'{"theme":"dark"}\'). Combine with `--input-<key> <value>` to override individual properties.' });
29
33
  async execute() {
30
34
  const logger = new ConsoleLogger('check-stability', this.context.stderr, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
31
35
  logBuildInfo(logger);
36
+ let input;
37
+ try {
38
+ input = parseInputJson(this.input);
39
+ }
40
+ catch (e) {
41
+ this.context.stderr.write(`Error: ${e instanceof Error ? e.message : String(e)}\n`);
42
+ return 1;
43
+ }
32
44
  let labelRegex;
33
45
  if (this.labelPattern) {
34
46
  try {
@@ -40,7 +52,7 @@ class CheckStabilityCommand extends Command {
40
52
  }
41
53
  }
42
54
  const disposables = new DisposableStore();
43
- const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
55
+ const config = await ResolvedConfig.fromProjectPath(AbsolutePath.resolve(this.project), disposables);
44
56
  const serverConfig = config.sessions[0].server;
45
57
  const browserFactory = new PlaywrightBrowserPageFactory(this.headed, Number(this.timeout));
46
58
  let session;
@@ -60,7 +72,12 @@ class CheckStabilityCommand extends Command {
60
72
  for (let i = 0; i < fixtures.length; i++) {
61
73
  const fixture = fixtures[i];
62
74
  this.context.stderr.write(`[${i + 1}/${fixtures.length}] Checking ${fixture.fixtureId}...`);
63
- const result = await session.explorer.screenshotFixtureStabilityCheck(fixture.fixtureId);
75
+ const result = await session.explorer.screenshotFixtureStabilityCheck(fixture.fixtureId, {
76
+ reloadOnError: true,
77
+ // Skip the reload before the first fixture — the page is already fresh.
78
+ reloadBeforeRender: this.reloadBetweenFixtures && i > 0,
79
+ input,
80
+ });
64
81
  const hashes = result.screenshots.map(s => contentHash(s.image));
65
82
  const isStable = hashes[0] === hashes[1] && hashes[1] === hashes[2];
66
83
  results.push({
@@ -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,YAAY,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;AACtG,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;AACZ,QAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7J,YAAY,CAAC,MAAM,CAAC;AAEpB,QAAA,IAAI,UAA8B;AAClC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI;gBACH,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC3C;AAAE,YAAA,MAAM;AACP,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC;AACjF,gBAAA,OAAO,CAAC;YACT;QACD;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE;AACzC,QAAA,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;AAE9C,QAAA,MAAM,cAAc,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE1F,QAAA,IAAI,OAAoC;AACxC,QAAA,IAAI;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC;AACjD,YAAA,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AACnG,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,kBAAA,EAAqB,OAAO,CAAC,SAAS,CAAA,EAAA,CAAI,CAAC;YAErE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;AACxD,YAAA,IAAI,UAAU,CAAC,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,gCAAA,EAAmC,UAAU,CAAC,SAAS,CAAA,EAAA,CAAI,CAAC;YACvF;YAEA,MAAM,QAAQ,GAAG;AAChB,kBAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxE,kBAAE,UAAU,CAAC,QAAQ;AAEtB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAC,MAAM,CAAA,WAAA,EAAc,UAAU,GAAG,CAAA,gBAAA,EAAmB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAA,CAAA,CAAG,GAAG,EAAE,CAAA,EAAA,CAAI,CAAC;YAEvI,MAAM,OAAO,GAAiG,EAAE;AAEhH,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,MAAM,CAAA,WAAA,EAAc,OAAO,CAAC,SAAS,CAAA,GAAA,CAAK,CAAC;AAE3F,gBAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC;AACxF,gBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;gBAEnE,OAAO,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ;AACR,oBAAA,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,iBAAA,CAAC;AAEF,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA,EAAA,CAAI,CAAC;YACpE;AAEA,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;AACrD,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM;AAExC,YAAA,MAAM,MAAM,GAAG;AACd,gBAAA,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;aACpD;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAEjE,OAAO,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B;gBAAU;AACT,YAAA,MAAM,OAAO,EAAE,OAAO,EAAE;AACxB,YAAA,MAAM,cAAc,CAAC,OAAO,EAAE;YAC9B,WAAW,CAAC,OAAO,EAAE;QACtB;IACD;;;;;"}
1
+ {"version":3,"file":"checkStabilityCommand.js","sources":["../../src/commands/checkStabilityCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export declare class CompareCommand extends Command {
4
4
  static usage: import("clipanion").Usage;
5
5
  readonly verbose: number;
6
6
  readonly logFile: string | undefined;
7
- readonly filter: string | undefined;
7
+ readonly fixtureIdRegex: string | undefined;
8
8
  readonly project: string;
9
9
  readonly baseline: string;
10
10
  readonly current: 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,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"}
1
+ {"version":3,"file":"compareCommand.d.ts","sourceRoot":"","sources":["../../src/commands/compareCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,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,cAAc,qBAAyJ;IAChL,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,QAAQ,SAAsI;IACvJ,QAAQ,CAAC,OAAO,SAAmI;IACnJ,QAAQ,CAAC,MAAM,qBAAoK;IACnL,QAAQ,CAAC,YAAY,uBAAuI;IAEtJ,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA+DhC"}