@vscode/component-explorer-cli 0.1.1-17 → 0.1.1-19

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 (97) hide show
  1. package/dist/WorktreePool.d.ts +22 -0
  2. package/dist/WorktreePool.d.ts.map +1 -0
  3. package/dist/WorktreePool.js +58 -0
  4. package/dist/WorktreePool.js.map +1 -0
  5. package/dist/WorktreePool.test.d.ts +2 -0
  6. package/dist/WorktreePool.test.d.ts.map +1 -0
  7. package/dist/_virtual/_build-info.js +4 -0
  8. package/dist/_virtual/_build-info.js.map +1 -0
  9. package/dist/commands/acceptCommand.d.ts.map +1 -1
  10. package/dist/commands/acceptCommand.js +3 -2
  11. package/dist/commands/acceptCommand.js.map +1 -1
  12. package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
  13. package/dist/commands/checkStabilityCommand.js +2 -1
  14. package/dist/commands/checkStabilityCommand.js.map +1 -1
  15. package/dist/commands/compareCommand.d.ts.map +1 -1
  16. package/dist/commands/compareCommand.js +3 -2
  17. package/dist/commands/compareCommand.js.map +1 -1
  18. package/dist/commands/mcpCommand.d.ts +1 -0
  19. package/dist/commands/mcpCommand.d.ts.map +1 -1
  20. package/dist/commands/mcpCommand.js +2 -0
  21. package/dist/commands/mcpCommand.js.map +1 -1
  22. package/dist/commands/screenshotCommand.d.ts.map +1 -1
  23. package/dist/commands/screenshotCommand.js +2 -1
  24. package/dist/commands/screenshotCommand.js.map +1 -1
  25. package/dist/commands/serveCommand.d.ts.map +1 -1
  26. package/dist/commands/serveCommand.js +2 -1
  27. package/dist/commands/serveCommand.js.map +1 -1
  28. package/dist/commands/watchCommand.d.ts.map +1 -1
  29. package/dist/commands/watchCommand.js +6 -61
  30. package/dist/commands/watchCommand.js.map +1 -1
  31. package/dist/component-explorer-config.schema.json +97 -58
  32. package/dist/componentExplorer.d.ts +12 -17
  33. package/dist/componentExplorer.d.ts.map +1 -1
  34. package/dist/componentExplorer.js +27 -15
  35. package/dist/componentExplorer.js.map +1 -1
  36. package/dist/daemon/DaemonService.d.ts +72 -5
  37. package/dist/daemon/DaemonService.d.ts.map +1 -1
  38. package/dist/daemon/DaemonService.js +430 -92
  39. package/dist/daemon/DaemonService.js.map +1 -1
  40. package/dist/daemon/dynamicSessions.test.d.ts +2 -0
  41. package/dist/daemon/dynamicSessions.test.d.ts.map +1 -0
  42. package/dist/daemon/pipeClient.d.ts.map +1 -1
  43. package/dist/daemon/pipeClient.js +71 -2
  44. package/dist/daemon/pipeClient.js.map +1 -1
  45. package/dist/daemon/version.d.ts +10 -0
  46. package/dist/daemon/version.d.ts.map +1 -0
  47. package/dist/daemon/version.js +17 -0
  48. package/dist/daemon/version.js.map +1 -0
  49. package/dist/dependencyInstaller.d.ts +2 -2
  50. package/dist/dependencyInstaller.d.ts.map +1 -1
  51. package/dist/dependencyInstaller.js.map +1 -1
  52. package/dist/git/gitIndexResolver.d.ts +25 -0
  53. package/dist/git/gitIndexResolver.d.ts.map +1 -0
  54. package/dist/git/gitIndexResolver.js +91 -0
  55. package/dist/git/gitIndexResolver.js.map +1 -0
  56. package/dist/git/gitIndexResolver.test.d.ts +2 -0
  57. package/dist/git/gitIndexResolver.test.d.ts.map +1 -0
  58. package/dist/git/gitService.d.ts +2 -0
  59. package/dist/git/gitService.d.ts.map +1 -1
  60. package/dist/git/gitService.js +6 -0
  61. package/dist/git/gitService.js.map +1 -1
  62. package/dist/git/gitWorktreeManager.d.ts +6 -0
  63. package/dist/git/gitWorktreeManager.d.ts.map +1 -1
  64. package/dist/git/gitWorktreeManager.js +42 -13
  65. package/dist/git/gitWorktreeManager.js.map +1 -1
  66. package/dist/git/gitWorktreeManager.test.d.ts +2 -0
  67. package/dist/git/gitWorktreeManager.test.d.ts.map +1 -0
  68. package/dist/git/testUtils.d.ts +13 -0
  69. package/dist/git/testUtils.d.ts.map +1 -0
  70. package/dist/httpServer.d.ts +6 -1
  71. package/dist/httpServer.d.ts.map +1 -1
  72. package/dist/httpServer.js +13 -0
  73. package/dist/httpServer.js.map +1 -1
  74. package/dist/index.js +9 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/logger.d.ts +1 -0
  77. package/dist/logger.d.ts.map +1 -1
  78. package/dist/logger.js +7 -1
  79. package/dist/logger.js.map +1 -1
  80. package/dist/mcp/McpServer.d.ts +8 -0
  81. package/dist/mcp/McpServer.d.ts.map +1 -1
  82. package/dist/mcp/McpServer.js +177 -26
  83. package/dist/mcp/McpServer.js.map +1 -1
  84. package/dist/packages/simple-api/dist/{chunk-Q24JOMNK.js → chunk-TAEFVNPN.js} +1 -1
  85. package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +1 -0
  86. package/dist/packages/simple-api/dist/express.js +1 -1
  87. package/dist/packages/simple-api/dist/express.js.map +1 -1
  88. package/dist/utils.d.ts +7 -0
  89. package/dist/utils.d.ts.map +1 -1
  90. package/dist/utils.js +6 -7
  91. package/dist/utils.js.map +1 -1
  92. package/dist/watchConfig.d.ts +19 -12
  93. package/dist/watchConfig.d.ts.map +1 -1
  94. package/dist/watchConfig.js +43 -48
  95. package/dist/watchConfig.js.map +1 -1
  96. package/package.json +6 -2
  97. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js.map +0 -1
@@ -5,17 +5,22 @@ export declare const watchConfigSchema: z.ZodObject<{
5
5
  screenshotDir: z.ZodOptional<z.ZodString>;
6
6
  sessions: z.ZodArray<z.ZodObject<{
7
7
  name: z.ZodString;
8
- source: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"current">, z.ZodObject<{
8
+ source: z.ZodOptional<z.ZodObject<{
9
9
  worktree: z.ZodObject<{
10
10
  ref: z.ZodString;
11
- name: z.ZodOptional<z.ZodString>;
12
11
  install: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"npm">, z.ZodLiteral<"pnpm">, z.ZodLiteral<"yarn">, z.ZodObject<{
13
12
  command: z.ZodString;
14
13
  }, z.core.$strip>, z.ZodLiteral<false>]>>;
15
14
  }, z.core.$strip>;
16
- }, z.core.$strip>]>>;
15
+ }, z.core.$strip>>;
17
16
  viteConfig: z.ZodOptional<z.ZodString>;
18
17
  }, z.core.$strip>>;
18
+ worktree: z.ZodOptional<z.ZodObject<{
19
+ setup: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"npm">, z.ZodLiteral<"pnpm">, z.ZodLiteral<"yarn">, z.ZodObject<{
20
+ command: z.ZodString;
21
+ }, z.core.$strip>, z.ZodLiteral<false>]>>;
22
+ maxSlots: z.ZodOptional<z.ZodNumber>;
23
+ }, z.core.$strip>>;
19
24
  compare: z.ZodOptional<z.ZodObject<{
20
25
  baseline: z.ZodString;
21
26
  current: z.ZodString;
@@ -31,7 +36,7 @@ export declare const watchConfigSchema: z.ZodObject<{
31
36
  host: z.ZodOptional<z.ZodString>;
32
37
  }, z.core.$strip>>;
33
38
  }, z.core.$strip>;
34
- export type WorktreeInstallConfig = {
39
+ export type WorktreeSetupConfig = {
35
40
  readonly kind: 'auto';
36
41
  } | {
37
42
  readonly kind: 'npm';
@@ -45,17 +50,12 @@ export type WorktreeInstallConfig = {
45
50
  } | {
46
51
  readonly kind: 'skip';
47
52
  };
48
- export declare class ResolvedWorktreeConfig {
49
- readonly ref: string;
50
- readonly worktreePath: string;
51
- readonly install: WorktreeInstallConfig;
52
- constructor(ref: string, worktreePath: string, install: WorktreeInstallConfig);
53
- }
54
53
  export type ResolvedSourceConfig = {
55
54
  readonly kind: 'current';
56
55
  } | {
57
56
  readonly kind: 'worktree';
58
- readonly worktree: ResolvedWorktreeConfig;
57
+ readonly ref: string;
58
+ readonly install: WorktreeSetupConfig | undefined;
59
59
  };
60
60
  export declare class ResolvedSessionConfig {
61
61
  readonly name: string;
@@ -63,13 +63,17 @@ export declare class ResolvedSessionConfig {
63
63
  readonly viteProject: ViteProjectRef;
64
64
  constructor(name: string, source: ResolvedSourceConfig, viteProject: ViteProjectRef);
65
65
  }
66
+ export declare class ResolvedWorktreePoolConfig {
67
+ readonly setup: WorktreeSetupConfig;
68
+ readonly maxSlots: number;
69
+ constructor(setup: WorktreeSetupConfig, maxSlots: number);
70
+ }
66
71
  export declare class ResolvedCompareConfig {
67
72
  readonly baseline: string;
68
73
  readonly current: string;
69
74
  constructor(baseline: string, current: string);
70
75
  }
71
76
  export interface ResolvedViteHmrConfig {
72
- /** Glob patterns for files that keep HMR. Everything else triggers a full reload. */
73
77
  readonly allowedPaths: readonly string[];
74
78
  }
75
79
  export interface ResolvedRedirectionConfig {
@@ -79,10 +83,13 @@ export interface ResolvedRedirectionConfig {
79
83
  export declare class ResolvedWatchConfig {
80
84
  readonly screenshotDir: string;
81
85
  readonly sessions: readonly ResolvedSessionConfig[];
86
+ readonly worktreePool: ResolvedWorktreePoolConfig | undefined;
82
87
  readonly compare: ResolvedCompareConfig | undefined;
83
88
  readonly repo: IGitRepo;
84
89
  readonly viteHmr: ResolvedViteHmrConfig | undefined;
85
90
  readonly redirection: ResolvedRedirectionConfig | undefined;
91
+ readonly configDir: string;
92
+ readonly defaultViteConfig: string;
86
93
  private constructor();
87
94
  static fromFile(configPath: string): Promise<ResolvedWatchConfig>;
88
95
  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":"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"}
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;AAmDrD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQiB,CAAC;AAIhD,MAAM,MAAM,mBAAmB,GAC5B;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,MAAM,MAAM,oBAAoB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1G,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,0BAA0B;IAErC,QAAQ,CAAC,KAAK,EAAE,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBADhB,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM;CAE1B;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,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,YAAY,EAAE,0BAA0B,GAAG,SAAS;IAC7D,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;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IATnC,OAAO;WAYM,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;CAiDtF"}
@@ -5,7 +5,7 @@ import { GitService } from './git/gitService.js';
5
5
  import { ViteProjectRef } from './viteProjectRef.js';
6
6
 
7
7
  // --- Zod schemas ---
8
- const worktreeInstallSchema = z.union([
8
+ const worktreeSetupSchema = z.union([
9
9
  z.literal('auto'),
10
10
  z.literal('npm'),
11
11
  z.literal('pnpm'),
@@ -13,20 +13,22 @@ const worktreeInstallSchema = z.union([
13
13
  z.object({ command: z.string().describe('Custom install command to run in the worktree') }),
14
14
  z.literal(false),
15
15
  ]).describe('Dependency install strategy for the worktree');
16
- const worktreeConfigSchema = z.object({
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)'),
19
- install: worktreeInstallSchema.optional(),
20
- }).describe('Git worktree configuration for a baseline session');
21
- const sessionSourceSchema = z.union([
22
- z.literal('current'),
23
- z.object({ worktree: worktreeConfigSchema }),
24
- ]).describe('Session source: "current" for the working tree, or a worktree config for a baseline');
16
+ const sessionSourceWorktreeSchema = z.object({
17
+ ref: z.string().describe('Git ref to check out (branch, tag, commit, or "INDEX" for the git staging area)'),
18
+ install: worktreeSetupSchema.optional().describe('Dependency install strategy override for this session'),
19
+ }).describe('Worktree source configuration');
20
+ const sessionSourceSchema = z.object({
21
+ worktree: sessionSourceWorktreeSchema,
22
+ }).describe('Session source configuration');
25
23
  const sessionConfigSchema = z.object({
26
24
  name: z.string().describe('Unique session name'),
27
- source: sessionSourceSchema.optional(),
25
+ source: sessionSourceSchema.optional().describe('Source configuration (default: current working tree)'),
28
26
  viteConfig: z.string().optional().describe('Path to vite config file, relative to this config (overrides top-level viteConfig)'),
29
27
  }).describe('A component explorer session');
28
+ const worktreePoolConfigSchema = z.object({
29
+ setup: worktreeSetupSchema.optional().describe('Dependency install strategy for dynamic worktree sessions (default: auto)'),
30
+ maxSlots: z.number().int().min(1).max(3).optional().describe('Maximum number of simultaneous worktree sessions (default: 2, max: 3)'),
31
+ }).describe('Configuration for dynamic worktree sessions managed via MCP');
30
32
  const compareConfigSchema = z.object({
31
33
  baseline: z.string().describe('Session name to use as the baseline for comparisons'),
32
34
  current: z.string().describe('Session name to use as the current version for comparisons'),
@@ -43,22 +45,13 @@ const redirectionConfigSchema = z.object({
43
45
  }).describe('HTTP redirection server that redirects to the session URL');
44
46
  const watchConfigSchema = z.object({
45
47
  screenshotDir: z.string().optional().describe('Directory for storing screenshots (default: .screenshots)'),
46
- sessions: z.array(sessionConfigSchema).min(1).describe('List of explorer sessions'),
48
+ sessions: z.array(sessionConfigSchema).min(1).describe('List of explorer sessions (currently only "current" working tree sessions)'),
49
+ worktree: worktreePoolConfigSchema.optional().describe('Dynamic worktree session pool configuration'),
47
50
  compare: compareConfigSchema.optional(),
48
51
  viteConfig: z.string().optional().describe('Default vite config file path, relative to this config (default: vite.config.ts)'),
49
52
  vite: viteConfigOverridesSchema.optional(),
50
53
  redirection: redirectionConfigSchema.optional(),
51
54
  }).describe('Component Explorer configuration');
52
- class ResolvedWorktreeConfig {
53
- ref;
54
- worktreePath;
55
- install;
56
- constructor(ref, worktreePath, install) {
57
- this.ref = ref;
58
- this.worktreePath = worktreePath;
59
- this.install = install;
60
- }
61
- }
62
55
  class ResolvedSessionConfig {
63
56
  name;
64
57
  source;
@@ -69,6 +62,14 @@ class ResolvedSessionConfig {
69
62
  this.viteProject = viteProject;
70
63
  }
71
64
  }
65
+ class ResolvedWorktreePoolConfig {
66
+ setup;
67
+ maxSlots;
68
+ constructor(setup, maxSlots) {
69
+ this.setup = setup;
70
+ this.maxSlots = maxSlots;
71
+ }
72
+ }
72
73
  class ResolvedCompareConfig {
73
74
  baseline;
74
75
  current;
@@ -80,17 +81,23 @@ class ResolvedCompareConfig {
80
81
  class ResolvedWatchConfig {
81
82
  screenshotDir;
82
83
  sessions;
84
+ worktreePool;
83
85
  compare;
84
86
  repo;
85
87
  viteHmr;
86
88
  redirection;
87
- constructor(screenshotDir, sessions, compare, repo, viteHmr, redirection) {
89
+ configDir;
90
+ defaultViteConfig;
91
+ constructor(screenshotDir, sessions, worktreePool, compare, repo, viteHmr, redirection, configDir, defaultViteConfig) {
88
92
  this.screenshotDir = screenshotDir;
89
93
  this.sessions = sessions;
94
+ this.worktreePool = worktreePool;
90
95
  this.compare = compare;
91
96
  this.repo = repo;
92
97
  this.viteHmr = viteHmr;
93
98
  this.redirection = redirection;
99
+ this.configDir = configDir;
100
+ this.defaultViteConfig = defaultViteConfig;
94
101
  }
95
102
  static async fromFile(configPath) {
96
103
  const absConfigPath = path.resolve(configPath);
@@ -104,32 +111,15 @@ class ResolvedWatchConfig {
104
111
  const parsed = watchConfigSchema.parse(data);
105
112
  const screenshotDir = path.resolve(configDir, parsed.screenshotDir ?? '.screenshots');
106
113
  const defaultViteConfig = parsed.viteConfig ?? 'vite.config.ts';
107
- const wtRoot = repo.worktreeRootPath();
108
- // Config dir's position relative to the git root — needed to mirror
109
- // the same path inside a worktree (which replicates the repo structure).
110
- const configDirRelToGitRoot = path.relative(repo.gitRoot, configDir);
111
114
  const sessions = parsed.sessions.map(session => {
112
115
  const viteConfigRel = session.viteConfig ?? defaultViteConfig;
113
- const sourceRaw = session.source;
114
- let source;
115
- let viteProject;
116
- if (!sourceRaw || sourceRaw === 'current') {
117
- source = { kind: 'current' };
118
- viteProject = ViteProjectRef.fromViteConfigPath(path.resolve(configDir, viteConfigRel));
119
- }
120
- else {
121
- const wt = sourceRaw.worktree;
122
- const worktreeName = wt.name ?? 'component-explorer-baseline';
123
- const worktreePath = path.resolve(wtRoot, worktreeName);
124
- const install = resolveInstallConfig(wt.install);
125
- const worktreeConfig = new ResolvedWorktreeConfig(wt.ref, worktreePath, install);
126
- source = { kind: 'worktree', worktree: worktreeConfig };
127
- // Mirror the config dir inside the worktree, then resolve viteConfig from there
128
- const worktreeConfigDir = path.resolve(worktreePath, configDirRelToGitRoot);
129
- viteProject = ViteProjectRef.fromViteConfigPath(path.resolve(worktreeConfigDir, viteConfigRel));
130
- }
116
+ const source = session.source
117
+ ? { kind: 'worktree', ref: session.source.worktree.ref, install: session.source.worktree.install ? resolveSetupConfig(session.source.worktree.install) : undefined }
118
+ : { kind: 'current' };
119
+ const viteProject = ViteProjectRef.fromViteConfigPath(path.resolve(configDir, viteConfigRel));
131
120
  return new ResolvedSessionConfig(session.name, source, viteProject);
132
121
  });
122
+ const needsWorktreePool = sessions.some(s => s.source.kind === 'worktree');
133
123
  const sessionNames = new Set(sessions.map(s => s.name));
134
124
  let compare;
135
125
  if (parsed.compare) {
@@ -141,16 +131,21 @@ class ResolvedWatchConfig {
141
131
  }
142
132
  compare = new ResolvedCompareConfig(parsed.compare.baseline, parsed.compare.current);
143
133
  }
134
+ const worktreePool = parsed.worktree
135
+ ? new ResolvedWorktreePoolConfig(resolveSetupConfig(parsed.worktree.setup), parsed.worktree.maxSlots ?? 2)
136
+ : needsWorktreePool
137
+ ? new ResolvedWorktreePoolConfig({ kind: 'auto' }, 2)
138
+ : undefined;
144
139
  const viteHmr = parsed.vite?.hmr
145
140
  ? { allowedPaths: parsed.vite.hmr.allowedPaths }
146
141
  : undefined;
147
142
  const redirection = parsed.redirection
148
143
  ? { port: parsed.redirection.port, host: parsed.redirection.host ?? 'localhost' }
149
144
  : undefined;
150
- return new ResolvedWatchConfig(screenshotDir, sessions, compare, repo, viteHmr, redirection);
145
+ return new ResolvedWatchConfig(screenshotDir, sessions, worktreePool, compare, repo, viteHmr, redirection, configDir, defaultViteConfig);
151
146
  }
152
147
  }
153
- function resolveInstallConfig(raw) {
148
+ function resolveSetupConfig(raw) {
154
149
  if (raw === undefined || raw === 'auto') {
155
150
  return { kind: 'auto' };
156
151
  }
@@ -169,5 +164,5 @@ function resolveInstallConfig(raw) {
169
164
  return { kind: 'custom', command: raw.command };
170
165
  }
171
166
 
172
- export { ResolvedCompareConfig, ResolvedSessionConfig, ResolvedWatchConfig, ResolvedWorktreeConfig, watchConfigSchema };
167
+ export { ResolvedCompareConfig, ResolvedSessionConfig, ResolvedWatchConfig, ResolvedWorktreePoolConfig, watchConfigSchema };
173
168
  //# sourceMappingURL=watchConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchConfig.js","sources":["../src/watchConfig.ts"],"sourcesContent":[null],"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-17",
3
+ "version": "0.1.1-19",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,6 +26,10 @@
26
26
  "import": "./dist/daemon/DaemonService.js",
27
27
  "types": "./dist/daemon/DaemonService.d.ts"
28
28
  },
29
+ "./explorer-types": {
30
+ "import": "./dist/utils.js",
31
+ "types": "./dist/utils.d.ts"
32
+ },
29
33
  "./config-schema.json": "./dist/component-explorer-config.schema.json"
30
34
  },
31
35
  "files": [
@@ -41,6 +45,7 @@
41
45
  "generate-schema": "node --experimental-strip-types scripts/generate-json-schema.ts"
42
46
  },
43
47
  "dependencies": {
48
+ "@hediet/semver": "^0.2.2",
44
49
  "@modelcontextprotocol/sdk": "^1.26.0",
45
50
  "clipanion": "^4.0.0-rc.4",
46
51
  "express": "^5.0.0",
@@ -57,7 +62,6 @@
57
62
  "@types/express": "^5.0.0",
58
63
  "@types/node": "^20.0.0",
59
64
  "@vitejs/plugin-react": "^4.3.0",
60
- "@vscode/component-explorer": "workspace:*",
61
65
  "@vscode/component-explorer-vite-plugin": "workspace:*",
62
66
  "@vscode/observables": "workspace:*",
63
67
  "playwright": "^1.40.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-Q24JOMNK.js","sources":["../../../../../simple-api/dist/chunk-Q24JOMNK.mjs"],"sourcesContent":["import {\n AsyncStream\n} from \"./chunk-SGBCNXYH.mjs\";\n\n// src/client.ts\nvar ApiError = class extends Error {\n constructor(statusCode, method, message) {\n super(message);\n this.statusCode = statusCode;\n this.method = method;\n this.name = \"ApiError\";\n }\n};\nvar ProxyApiClient = class {\n constructor(_request) {\n this._request = _request;\n }\n _createProxy(prefix) {\n return new Proxy(() => {\n }, {\n apply: async (_target, _self, args) => {\n const result = await this._request(prefix, args[0]);\n return result;\n },\n get: (_target, prop) => {\n if (typeof prop === \"symbol\") {\n return void 0;\n }\n if (prop === \"then\" || prop === \"catch\" || prop === \"finally\" || prop === \"toString\" || prop === \"valueOf\" || prop === \"toJSON\" || prop === \"name\" || prop === \"length\" || prop === \"prototype\" || prop === \"constructor\" || prop === \"caller\" || prop === \"arguments\") {\n return void 0;\n }\n return this._createProxy(`${prefix}${prefix ? \"/\" : \"\"}${prop}`);\n }\n });\n }\n methods = this._createProxy(\"\");\n};\nfunction createFetchClient(baseUrl, options) {\n return new ProxyApiClient(async (method, arg) => {\n const result = await fetch(`${baseUrl}/${method}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.getHeaders?.()\n },\n body: JSON.stringify(arg)\n });\n if (result.status !== 200) {\n const data2 = await result.json().catch(() => null);\n let message;\n if (data2 && typeof data2 === \"object\" && \"errorMessage\" in data2) {\n message = `${data2.errorMessage}`;\n } else {\n message = `Error calling API method ${method}: ${JSON.stringify(data2)} (Status: ${result.status}, Status Text: ${result.statusText})`;\n }\n const error = new ApiError(result.status, method, message);\n options?.onError?.(error);\n throw error;\n }\n const contentType = result.headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"application/jsonl\")) {\n return AsyncStream.fromFn(async function* () {\n const reader = result.body?.getReader();\n if (!reader) {\n return;\n }\n let buffer = \"\";\n const decoder = new TextDecoder(\"utf-8\");\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n buffer += decoder.decode(value, { stream: true });\n let eolIndex;\n while ((eolIndex = buffer.indexOf(\"\\n\")) >= 0) {\n const line = buffer.slice(0, eolIndex).trim();\n buffer = buffer.slice(eolIndex + 1);\n if (line.length > 0) {\n yield JSON.parse(line);\n }\n }\n }\n const finalLine = buffer.trim();\n if (finalLine.length > 0) {\n yield JSON.parse(finalLine);\n }\n });\n }\n const data = await result.json();\n return data;\n });\n}\nfunction createLocalClient(api, context) {\n return new ProxyApiClient(async (method, args) => {\n return await api.run(method, args, context);\n });\n}\n\nexport {\n ApiError,\n ProxyApiClient,\n createFetchClient,\n createLocalClient\n};\n//# sourceMappingURL=chunk-Q24JOMNK.mjs.map"],"names":[],"mappings":"AAaG,IAAC,cAAc,GAAG,MAAM;AAC3B,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC5B,EAAE;AACF,EAAE,YAAY,CAAC,MAAM,EAAE;AACvB,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM;AAC3B,IAAI,CAAC,EAAE;AACP,MAAM,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK;AAC7C,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,OAAO,MAAM;AACrB,MAAM,CAAC;AACP,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK;AAC9B,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACtC,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,EAAE;AAChR,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;AACjC;;;;"}