@vscode/component-explorer-cli 0.1.1-0 → 0.1.1-10

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 (167) hide show
  1. package/README.md +177 -0
  2. package/dist/browserPage.js +4 -2
  3. package/dist/browserPage.js.map +1 -1
  4. package/dist/commands/acceptCommand.d.ts +3 -1
  5. package/dist/commands/acceptCommand.d.ts.map +1 -1
  6. package/dist/commands/acceptCommand.js +20 -8
  7. package/dist/commands/acceptCommand.js.map +1 -1
  8. package/dist/commands/compareCommand.d.ts +6 -1
  9. package/dist/commands/compareCommand.d.ts.map +1 -1
  10. package/dist/commands/compareCommand.js +51 -73
  11. package/dist/commands/compareCommand.js.map +1 -1
  12. package/dist/commands/mcpCommand.d.ts +10 -0
  13. package/dist/commands/mcpCommand.d.ts.map +1 -0
  14. package/dist/commands/mcpCommand.js +58 -0
  15. package/dist/commands/mcpCommand.js.map +1 -0
  16. package/dist/commands/screenshotCommand.d.ts +8 -2
  17. package/dist/commands/screenshotCommand.d.ts.map +1 -1
  18. package/dist/commands/screenshotCommand.js +70 -17
  19. package/dist/commands/screenshotCommand.js.map +1 -1
  20. package/dist/commands/serveCommand.d.ts +19 -0
  21. package/dist/commands/serveCommand.d.ts.map +1 -0
  22. package/dist/commands/serveCommand.js +194 -0
  23. package/dist/commands/serveCommand.js.map +1 -0
  24. package/dist/commands/watchCommand.d.ts +2 -2
  25. package/dist/commands/watchCommand.d.ts.map +1 -1
  26. package/dist/commands/watchCommand.js +39 -26
  27. package/dist/commands/watchCommand.js.map +1 -1
  28. package/dist/comparison.d.ts +60 -0
  29. package/dist/comparison.d.ts.map +1 -0
  30. package/dist/comparison.js +250 -0
  31. package/dist/comparison.js.map +1 -0
  32. package/dist/component-explorer-config.schema.json +183 -0
  33. package/dist/componentExplorer.d.ts +44 -2
  34. package/dist/componentExplorer.d.ts.map +1 -1
  35. package/dist/componentExplorer.js +103 -18
  36. package/dist/componentExplorer.js.map +1 -1
  37. package/dist/daemon/DaemonContext.d.ts +4 -0
  38. package/dist/daemon/DaemonContext.d.ts.map +1 -0
  39. package/dist/daemon/DaemonService.d.ts +188 -0
  40. package/dist/daemon/DaemonService.d.ts.map +1 -0
  41. package/dist/daemon/DaemonService.js +610 -0
  42. package/dist/daemon/DaemonService.js.map +1 -0
  43. package/dist/daemon/approvalStore.d.ts +51 -0
  44. package/dist/daemon/approvalStore.d.ts.map +1 -0
  45. package/dist/daemon/approvalStore.js +58 -0
  46. package/dist/daemon/approvalStore.js.map +1 -0
  47. package/dist/daemon/lifecycle.d.ts +13 -0
  48. package/dist/daemon/lifecycle.d.ts.map +1 -0
  49. package/dist/daemon/lifecycle.js +68 -0
  50. package/dist/daemon/lifecycle.js.map +1 -0
  51. package/dist/daemon/pipeClient.d.ts +9 -0
  52. package/dist/daemon/pipeClient.d.ts.map +1 -0
  53. package/dist/daemon/pipeClient.js +111 -0
  54. package/dist/daemon/pipeClient.js.map +1 -0
  55. package/dist/daemon/pipeName.d.ts +2 -0
  56. package/dist/daemon/pipeName.d.ts.map +1 -0
  57. package/dist/daemon/pipeName.js +14 -0
  58. package/dist/daemon/pipeName.js.map +1 -0
  59. package/dist/daemon/pipeServer.d.ts +4 -0
  60. package/dist/daemon/pipeServer.d.ts.map +1 -0
  61. package/dist/daemon/pipeServer.js +25 -0
  62. package/dist/daemon/pipeServer.js.map +1 -0
  63. package/dist/daemon/types.d.ts +12 -0
  64. package/dist/daemon/types.d.ts.map +1 -0
  65. package/dist/dependencyInstaller.js +8 -5
  66. package/dist/dependencyInstaller.js.map +1 -1
  67. package/dist/explorerSession.d.ts +5 -3
  68. package/dist/explorerSession.d.ts.map +1 -1
  69. package/dist/explorerSession.js +11 -5
  70. package/dist/explorerSession.js.map +1 -1
  71. package/dist/external/vscode-observables/observables/dist/disposables.js +66 -0
  72. package/dist/external/vscode-observables/observables/dist/disposables.js.map +1 -0
  73. package/dist/external/vscode-observables/observables/dist/observableInternal/base.js +22 -0
  74. package/dist/external/vscode-observables/observables/dist/observableInternal/base.js.map +1 -0
  75. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js +37 -0
  76. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -0
  77. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +77 -0
  78. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -0
  79. package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js +114 -0
  80. package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js.map +1 -0
  81. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +22 -0
  82. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -0
  83. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js +356 -0
  84. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -0
  85. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +79 -0
  86. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -0
  87. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js +100 -0
  88. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +1 -0
  89. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +143 -0
  90. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -0
  91. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js +28 -0
  92. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -0
  93. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js +362 -0
  94. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -0
  95. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js +123 -0
  96. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +1 -0
  97. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js +81 -0
  98. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -0
  99. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js +23 -0
  100. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js.map +1 -0
  101. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js +226 -0
  102. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +1 -0
  103. package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js +87 -0
  104. package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js.map +1 -0
  105. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js +68 -0
  106. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +1 -0
  107. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js +55 -0
  108. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +1 -0
  109. package/dist/formatValue.d.ts +2 -0
  110. package/dist/formatValue.d.ts.map +1 -0
  111. package/dist/formatValue.js +96 -0
  112. package/dist/formatValue.js.map +1 -0
  113. package/dist/formatValue.test.d.ts +2 -0
  114. package/dist/formatValue.test.d.ts.map +1 -0
  115. package/dist/git/gitCommitId.js +4 -2
  116. package/dist/git/gitCommitId.js.map +1 -1
  117. package/dist/git/gitCommitResolver.js +11 -3
  118. package/dist/git/gitCommitResolver.js.map +1 -1
  119. package/dist/git/gitService.js +5 -2
  120. package/dist/git/gitService.js.map +1 -1
  121. package/dist/git/gitUtils.js +10 -7
  122. package/dist/git/gitUtils.js.map +1 -1
  123. package/dist/git/gitWorktreeManager.js +5 -2
  124. package/dist/git/gitWorktreeManager.js.map +1 -1
  125. package/dist/httpServer.d.ts +9 -7
  126. package/dist/httpServer.d.ts.map +1 -1
  127. package/dist/httpServer.js +75 -11
  128. package/dist/httpServer.js.map +1 -1
  129. package/dist/index.js +6 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/logger.d.ts +17 -1
  132. package/dist/logger.d.ts.map +1 -1
  133. package/dist/logger.js +43 -6
  134. package/dist/logger.js.map +1 -1
  135. package/dist/mcp/McpServer.d.ts +58 -0
  136. package/dist/mcp/McpServer.d.ts.map +1 -0
  137. package/dist/mcp/McpServer.js +820 -0
  138. package/dist/mcp/McpServer.js.map +1 -0
  139. package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js +137 -0
  140. package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +1 -0
  141. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js +27 -0
  142. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js.map +1 -0
  143. package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js +24 -0
  144. package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +1 -0
  145. package/dist/packages/simple-api/dist/express.js +104 -0
  146. package/dist/packages/simple-api/dist/express.js.map +1 -0
  147. package/dist/resolveProject.d.ts +21 -0
  148. package/dist/resolveProject.d.ts.map +1 -0
  149. package/dist/resolveProject.js +39 -0
  150. package/dist/resolveProject.js.map +1 -0
  151. package/dist/screenshotCache.js +7 -4
  152. package/dist/screenshotCache.js.map +1 -1
  153. package/dist/sourceTreeId.js +4 -2
  154. package/dist/sourceTreeId.js.map +1 -1
  155. package/dist/storage.js +5 -2
  156. package/dist/storage.js.map +1 -1
  157. package/dist/utils.d.ts +24 -0
  158. package/dist/utils.d.ts.map +1 -0
  159. package/dist/utils.js +50 -0
  160. package/dist/utils.js.map +1 -0
  161. package/dist/viteProjectRef.js +5 -2
  162. package/dist/viteProjectRef.js.map +1 -1
  163. package/dist/watchConfig.d.ts +41 -0
  164. package/dist/watchConfig.d.ts.map +1 -1
  165. package/dist/watchConfig.js +48 -23
  166. package/dist/watchConfig.js.map +1 -1
  167. package/package.json +19 -6
package/dist/utils.js ADDED
@@ -0,0 +1,50 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+
4
+ /**
5
+ * The default route path for the Component Explorer.
6
+ * Must match the default in vite-plugin.
7
+ */
8
+ const EXPLORER_ROUTE = '/___explorer';
9
+ /**
10
+ * Builds a URL for the Component Explorer.
11
+ * - Default: Explorer UI at `/___explorer`
12
+ * - rawRender: `/___explorer?mode=render`
13
+ * - rawRender + fixtureId: `/___explorer?mode=render&fixture=<id>`
14
+ */
15
+ function buildExplorerUrl(options) {
16
+ const base = `${options.baseUrl}${EXPLORER_ROUTE}`;
17
+ if (options.rawRender && options.fixtureId) {
18
+ return `${base}?mode=render&fixture=${encodeURIComponent(options.fixtureId)}`;
19
+ }
20
+ if (options.rawRender) {
21
+ return `${base}?mode=render`;
22
+ }
23
+ return base;
24
+ }
25
+ async function writeFile(filePath, data) {
26
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
27
+ await fs.writeFile(filePath, data);
28
+ }
29
+ function matchGlob(fixtureId, pattern) {
30
+ const regex = new RegExp('^' + pattern.replace(/\*/g, '.*').replace(/\?/g, '.') + '$');
31
+ return regex.test(fixtureId);
32
+ }
33
+ async function listPngFiles(dir) {
34
+ try {
35
+ const entries = await fs.readdir(dir, { recursive: true });
36
+ const results = [];
37
+ for (const entry of entries) {
38
+ if (entry.endsWith('.png')) {
39
+ results.push(entry.split(path.sep).join('/'));
40
+ }
41
+ }
42
+ return results;
43
+ }
44
+ catch {
45
+ return [];
46
+ }
47
+ }
48
+
49
+ export { EXPLORER_ROUTE, buildExplorerUrl, listPngFiles, matchGlob, writeFile };
50
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;AAGG;AACI,MAAM,cAAc,GAAG;AAW9B;;;;;AAKG;AACG,SAAU,gBAAgB,CAAC,OAA2B,EAAA;IAC3D,MAAM,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,OAAO,CAAA,EAAG,cAAc,CAAA,CAAE;IAClD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;QAC3C,OAAO,CAAA,EAAG,IAAI,CAAA,qBAAA,EAAwB,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA,CAAE;IAC9E;AACA,IAAA,IAAI,OAAO,CAAC,SAAS,EAAE;QACtB,OAAO,CAAA,EAAG,IAAI,CAAA,YAAA,CAAc;IAC7B;AACA,IAAA,OAAO,IAAI;AACZ;AAEO,eAAe,SAAS,CAAC,QAAgB,EAAE,IAAgB,EAAA;AACjE,IAAA,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;AACnC;AAEM,SAAU,SAAS,CAAC,SAAiB,EAAE,OAAe,EAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,MAAM,CACvB,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAC5D;AACD,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B;AAEO,eAAe,YAAY,CAAC,GAAW,EAAA;AAC7C,IAAA,IAAI;AACH,QAAA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAa,EAAE;AAC5B,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC5B,YAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3B,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C;QACD;AACA,QAAA,OAAO,OAAO;IACf;AAAE,IAAA,MAAM;AACP,QAAA,OAAO,EAAE;IACV;AACD;;;;"}
@@ -1,9 +1,10 @@
1
1
  import * as path from 'node:path';
2
+
2
3
  /**
3
4
  * Immutable reference to a Vite-based component explorer project.
4
5
  * Encapsulates how to locate the project for Vite's `createServer`.
5
6
  */
6
- export class ViteProjectRef {
7
+ class ViteProjectRef {
7
8
  cwd;
8
9
  configFile;
9
10
  constructor(
@@ -30,4 +31,6 @@ export class ViteProjectRef {
30
31
  return new ViteProjectRef(path.dirname(absConfigPath), absConfigPath);
31
32
  }
32
33
  }
33
- //# sourceMappingURL=viteProjectRef.js.map
34
+
35
+ export { ViteProjectRef };
36
+ //# sourceMappingURL=viteProjectRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viteProjectRef.js","sourceRoot":"","sources":["../src/viteProjectRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,cAAc;IAGhB;IAKA;IAPV;IACC,2DAA2D;IAClD,GAAW;IACpB;;;OAGG;IACM,UAA8B;QAL9B,QAAG,GAAH,GAAG,CAAQ;QAKX,eAAU,GAAV,UAAU,CAAoB;IACrC,CAAC;IAEJ,iFAAiF;IACjF,MAAM,CAAC,iBAAiB,CAAC,aAAqB;QAC7C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,cAAsB;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;CACD"}
1
+ {"version":3,"file":"viteProjectRef.js","sources":["../src/viteProjectRef.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;AAGG;MACU,cAAc,CAAA;AAGhB,IAAA,GAAA;AAKA,IAAA,UAAA;AAPV,IAAA,WAAA;;IAEU,GAAW;AACpB;;;AAGG;IACM,UAA8B,EAAA;QAL9B,IAAA,CAAA,GAAG,GAAH,GAAG;QAKH,IAAA,CAAA,UAAU,GAAV,UAAU;IACjB;;IAGH,OAAO,iBAAiB,CAAC,aAAqB,EAAA;AAC7C,QAAA,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IAClE;AAEA;;;AAGG;IACH,OAAO,kBAAkB,CAAC,cAAsB,EAAA;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AAClD,QAAA,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACtE;AACA;;;;"}
@@ -1,5 +1,36 @@
1
+ import { z } from 'zod';
1
2
  import type { IGitRepo } from './git/gitService.js';
2
3
  import { ViteProjectRef } from './viteProjectRef.js';
4
+ export declare const watchConfigSchema: z.ZodObject<{
5
+ screenshotDir: z.ZodOptional<z.ZodString>;
6
+ sessions: z.ZodArray<z.ZodObject<{
7
+ name: z.ZodString;
8
+ source: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"current">, z.ZodObject<{
9
+ worktree: z.ZodObject<{
10
+ ref: z.ZodString;
11
+ name: z.ZodOptional<z.ZodString>;
12
+ install: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"npm">, z.ZodLiteral<"pnpm">, z.ZodLiteral<"yarn">, z.ZodObject<{
13
+ command: z.ZodString;
14
+ }, z.core.$strip>, z.ZodLiteral<false>]>>;
15
+ }, z.core.$strip>;
16
+ }, z.core.$strip>]>>;
17
+ viteConfig: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>>;
19
+ compare: z.ZodOptional<z.ZodObject<{
20
+ baseline: z.ZodString;
21
+ current: z.ZodString;
22
+ }, z.core.$strip>>;
23
+ viteConfig: z.ZodOptional<z.ZodString>;
24
+ vite: z.ZodOptional<z.ZodObject<{
25
+ hmr: z.ZodOptional<z.ZodObject<{
26
+ allowedPaths: z.ZodArray<z.ZodString>;
27
+ }, z.core.$strip>>;
28
+ }, z.core.$strip>>;
29
+ redirection: z.ZodOptional<z.ZodObject<{
30
+ port: z.ZodNumber;
31
+ host: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>;
3
34
  export type WorktreeInstallConfig = {
4
35
  readonly kind: 'auto';
5
36
  } | {
@@ -37,11 +68,21 @@ export declare class ResolvedCompareConfig {
37
68
  readonly current: string;
38
69
  constructor(baseline: string, current: string);
39
70
  }
71
+ export interface ResolvedViteHmrConfig {
72
+ /** Glob patterns for files that keep HMR. Everything else triggers a full reload. */
73
+ readonly allowedPaths: readonly string[];
74
+ }
75
+ export interface ResolvedRedirectionConfig {
76
+ readonly port: number;
77
+ readonly host: string;
78
+ }
40
79
  export declare class ResolvedWatchConfig {
41
80
  readonly screenshotDir: string;
42
81
  readonly sessions: readonly ResolvedSessionConfig[];
43
82
  readonly compare: ResolvedCompareConfig | undefined;
44
83
  readonly repo: IGitRepo;
84
+ readonly viteHmr: ResolvedViteHmrConfig | undefined;
85
+ readonly redirection: ResolvedRedirectionConfig | undefined;
45
86
  private constructor();
46
87
  static fromFile(configPath: string): Promise<ResolvedWatchConfig>;
47
88
  static fromData(data: unknown, configDir: string, repo: IGitRepo): ResolvedWatchConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"watchConfig.d.ts","sourceRoot":"","sources":["../src/watchConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4CrD,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7B,qBAAa,sBAAsB;IAEjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,OAAO,EAAE,qBAAqB;gBAF9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,qBAAqB;CAExC;AAED,MAAM,MAAM,oBAAoB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAE5E,qBAAa,qBAAqB;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,WAAW,EAAE,cAAc;gBAF3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,cAAc;CAErC;AAED,qBAAa,qBAAqB;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM;CAEzB;AAED,qBAAa,mBAAmB;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE;IACnD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAJxB,OAAO;WAOM,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASvE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,mBAAmB;CAkDtF"}
1
+ {"version":3,"file":"watchConfig.d.ts","sourceRoot":"","sources":["../src/watchConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgDrD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOiB,CAAC;AAIhD,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7B,qBAAa,sBAAsB;IAEjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,OAAO,EAAE,qBAAqB;gBAF9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,qBAAqB;CAExC;AAED,MAAM,MAAM,oBAAoB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAE5E,qBAAa,qBAAqB;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,WAAW,EAAE,cAAc;gBAF3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,cAAc;CAErC;AAED,qBAAa,qBAAqB;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM;CAEzB;AAED,MAAM,WAAW,qBAAqB;IACrC,qFAAqF;IACrF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE;IACnD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS;IACnD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,GAAG,SAAS;IAN5D,OAAO;WASM,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASvE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,mBAAmB;CA0DtF"}
@@ -3,40 +3,53 @@ import * as fs from 'node:fs';
3
3
  import * as path from 'node:path';
4
4
  import { GitService } from './git/gitService.js';
5
5
  import { ViteProjectRef } from './viteProjectRef.js';
6
+
6
7
  // --- Zod schemas ---
7
8
  const worktreeInstallSchema = z.union([
8
9
  z.literal('auto'),
9
10
  z.literal('npm'),
10
11
  z.literal('pnpm'),
11
12
  z.literal('yarn'),
12
- z.object({ command: z.string() }),
13
+ z.object({ command: z.string().describe('Custom install command to run in the worktree') }),
13
14
  z.literal(false),
14
- ]);
15
+ ]).describe('Dependency install strategy for the worktree');
15
16
  const worktreeConfigSchema = z.object({
16
- ref: z.string(),
17
- name: z.string().optional(),
17
+ ref: z.string().describe('Git ref (branch, tag, or commit) to check out'),
18
+ name: z.string().optional().describe('Directory name for the worktree (default: component-explorer-baseline)'),
18
19
  install: worktreeInstallSchema.optional(),
19
- });
20
+ }).describe('Git worktree configuration for a baseline session');
20
21
  const sessionSourceSchema = z.union([
21
22
  z.literal('current'),
22
23
  z.object({ worktree: worktreeConfigSchema }),
23
- ]);
24
+ ]).describe('Session source: "current" for the working tree, or a worktree config for a baseline');
24
25
  const sessionConfigSchema = z.object({
25
- name: z.string(),
26
+ name: z.string().describe('Unique session name'),
26
27
  source: sessionSourceSchema.optional(),
27
- viteConfig: z.string().optional(),
28
- });
28
+ viteConfig: z.string().optional().describe('Path to vite config file, relative to this config (overrides top-level viteConfig)'),
29
+ }).describe('A component explorer session');
29
30
  const compareConfigSchema = z.object({
30
- baseline: z.string(),
31
- current: z.string(),
32
- });
31
+ baseline: z.string().describe('Session name to use as the baseline for comparisons'),
32
+ current: z.string().describe('Session name to use as the current version for comparisons'),
33
+ }).describe('Screenshot comparison configuration');
34
+ const viteHmrConfigSchema = z.object({
35
+ allowedPaths: z.array(z.string()).describe('Glob patterns for files that keep HMR; everything else triggers a full reload'),
36
+ }).describe('Vite HMR configuration');
37
+ const viteConfigOverridesSchema = z.object({
38
+ hmr: viteHmrConfigSchema.optional(),
39
+ }).describe('Vite configuration overrides');
40
+ const redirectionConfigSchema = z.object({
41
+ port: z.number().int().min(1).max(65535).describe('Port for the redirection HTTP server'),
42
+ host: z.string().optional().describe('Host to bind the redirection server to (default: localhost)'),
43
+ }).describe('HTTP redirection server that redirects to the session URL');
33
44
  const watchConfigSchema = z.object({
34
- screenshotDir: z.string().optional(),
35
- sessions: z.array(sessionConfigSchema).min(1),
45
+ screenshotDir: z.string().optional().describe('Directory for storing screenshots (default: .screenshots)'),
46
+ sessions: z.array(sessionConfigSchema).min(1).describe('List of explorer sessions'),
36
47
  compare: compareConfigSchema.optional(),
37
- viteConfig: z.string().optional(),
38
- });
39
- export class ResolvedWorktreeConfig {
48
+ viteConfig: z.string().optional().describe('Default vite config file path, relative to this config (default: vite.config.ts)'),
49
+ vite: viteConfigOverridesSchema.optional(),
50
+ redirection: redirectionConfigSchema.optional(),
51
+ }).describe('Component Explorer configuration');
52
+ class ResolvedWorktreeConfig {
40
53
  ref;
41
54
  worktreePath;
42
55
  install;
@@ -46,7 +59,7 @@ export class ResolvedWorktreeConfig {
46
59
  this.install = install;
47
60
  }
48
61
  }
49
- export class ResolvedSessionConfig {
62
+ class ResolvedSessionConfig {
50
63
  name;
51
64
  source;
52
65
  viteProject;
@@ -56,7 +69,7 @@ export class ResolvedSessionConfig {
56
69
  this.viteProject = viteProject;
57
70
  }
58
71
  }
59
- export class ResolvedCompareConfig {
72
+ class ResolvedCompareConfig {
60
73
  baseline;
61
74
  current;
62
75
  constructor(baseline, current) {
@@ -64,16 +77,20 @@ export class ResolvedCompareConfig {
64
77
  this.current = current;
65
78
  }
66
79
  }
67
- export class ResolvedWatchConfig {
80
+ class ResolvedWatchConfig {
68
81
  screenshotDir;
69
82
  sessions;
70
83
  compare;
71
84
  repo;
72
- constructor(screenshotDir, sessions, compare, repo) {
85
+ viteHmr;
86
+ redirection;
87
+ constructor(screenshotDir, sessions, compare, repo, viteHmr, redirection) {
73
88
  this.screenshotDir = screenshotDir;
74
89
  this.sessions = sessions;
75
90
  this.compare = compare;
76
91
  this.repo = repo;
92
+ this.viteHmr = viteHmr;
93
+ this.redirection = redirection;
77
94
  }
78
95
  static async fromFile(configPath) {
79
96
  const absConfigPath = path.resolve(configPath);
@@ -124,7 +141,13 @@ export class ResolvedWatchConfig {
124
141
  }
125
142
  compare = new ResolvedCompareConfig(parsed.compare.baseline, parsed.compare.current);
126
143
  }
127
- return new ResolvedWatchConfig(screenshotDir, sessions, compare, repo);
144
+ const viteHmr = parsed.vite?.hmr
145
+ ? { allowedPaths: parsed.vite.hmr.allowedPaths }
146
+ : undefined;
147
+ const redirection = parsed.redirection
148
+ ? { port: parsed.redirection.port, host: parsed.redirection.host ?? 'localhost' }
149
+ : undefined;
150
+ return new ResolvedWatchConfig(screenshotDir, sessions, compare, repo, viteHmr, redirection);
128
151
  }
129
152
  }
130
153
  function resolveInstallConfig(raw) {
@@ -145,4 +168,6 @@ function resolveInstallConfig(raw) {
145
168
  }
146
169
  return { kind: 'custom', command: raw.command };
147
170
  }
148
- //# sourceMappingURL=watchConfig.js.map
171
+
172
+ export { ResolvedCompareConfig, ResolvedSessionConfig, ResolvedWatchConfig, ResolvedWorktreeConfig, watchConfigSchema };
173
+ //# sourceMappingURL=watchConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchConfig.js","sourceRoot":"","sources":["../src/watchConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchConfig.js","sources":["../src/watchConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vscode/component-explorer-cli",
3
- "version": "0.1.1-0",
3
+ "version": "0.1.1-10",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "component-explorer": "./dist/index.js"
@@ -11,19 +11,26 @@
11
11
  ".": {
12
12
  "import": "./dist/index.js",
13
13
  "types": "./dist/index.d.ts"
14
- }
14
+ },
15
+ "./daemon-types": {
16
+ "import": "./dist/daemon/DaemonService.js",
17
+ "types": "./dist/daemon/DaemonService.d.ts"
18
+ },
19
+ "./config-schema.json": "./dist/component-explorer-config.schema.json"
15
20
  },
16
21
  "files": [
17
22
  "dist"
18
23
  ],
19
24
  "scripts": {
20
- "build": "tsc",
21
- "dev": "tsc --watch",
22
- "test": "vitest --run"
25
+ "build": "rollup -c && node --experimental-strip-types scripts/generate-json-schema.ts",
26
+ "dev": "rollup -c -w",
27
+ "test": "vitest --run",
28
+ "generate-schema": "node --experimental-strip-types scripts/generate-json-schema.ts"
23
29
  },
24
30
  "dependencies": {
25
- "@vscode/observables": "workspace:*",
31
+ "@modelcontextprotocol/sdk": "^1.26.0",
26
32
  "clipanion": "^4.0.0-rc.4",
33
+ "express": "^5.0.0",
27
34
  "zod": "^4.3.6"
28
35
  },
29
36
  "peerDependencies": {
@@ -31,13 +38,19 @@
31
38
  "vite": ">=5.0.0"
32
39
  },
33
40
  "devDependencies": {
41
+ "@hediet/simple-api": "workspace:*",
42
+ "@rollup/plugin-node-resolve": "^16.0.3",
43
+ "@rollup/plugin-typescript": "^12.3.0",
44
+ "@types/express": "^5.0.0",
34
45
  "@types/node": "^20.0.0",
35
46
  "@vitejs/plugin-react": "^4.3.0",
36
47
  "@vscode/component-explorer": "workspace:*",
37
48
  "@vscode/component-explorer-vite-plugin": "workspace:*",
49
+ "@vscode/observables": "workspace:*",
38
50
  "playwright": "^1.40.0",
39
51
  "react": "^18.3.0",
40
52
  "react-dom": "^18.3.0",
53
+ "rollup": "^4.0.0",
41
54
  "typescript": "^5.4.0",
42
55
  "vite": "^6.0.0",
43
56
  "vitest": "^1.3.0"