@vscode/component-explorer-cli 0.1.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/browserPage.d.ts +15 -0
  2. package/dist/browserPage.d.ts.map +1 -0
  3. package/dist/browserPage.js +39 -0
  4. package/dist/browserPage.js.map +1 -0
  5. package/dist/commands/acceptCommand.d.ts +9 -0
  6. package/dist/commands/acceptCommand.d.ts.map +1 -0
  7. package/dist/commands/acceptCommand.js +34 -0
  8. package/dist/commands/acceptCommand.js.map +1 -0
  9. package/dist/commands/compareCommand.d.ts +8 -0
  10. package/dist/commands/compareCommand.d.ts.map +1 -0
  11. package/dist/commands/compareCommand.js +84 -0
  12. package/dist/commands/compareCommand.js.map +1 -0
  13. package/dist/commands/screenshotCommand.d.ts +10 -0
  14. package/dist/commands/screenshotCommand.d.ts.map +1 -0
  15. package/dist/commands/screenshotCommand.js +56 -0
  16. package/dist/commands/screenshotCommand.js.map +1 -0
  17. package/dist/commands/watchCommand.d.ts +12 -0
  18. package/dist/commands/watchCommand.d.ts.map +1 -0
  19. package/dist/commands/watchCommand.js +307 -0
  20. package/dist/commands/watchCommand.js.map +1 -0
  21. package/dist/componentExplorer.d.ts +46 -0
  22. package/dist/componentExplorer.d.ts.map +1 -0
  23. package/dist/componentExplorer.js +99 -0
  24. package/dist/componentExplorer.js.map +1 -0
  25. package/dist/dependencyInstaller.d.ts +4 -0
  26. package/dist/dependencyInstaller.d.ts.map +1 -0
  27. package/dist/dependencyInstaller.js +45 -0
  28. package/dist/dependencyInstaller.js.map +1 -0
  29. package/dist/explorerSession.d.ts +15 -0
  30. package/dist/explorerSession.d.ts.map +1 -0
  31. package/dist/explorerSession.js +24 -0
  32. package/dist/explorerSession.js.map +1 -0
  33. package/dist/git/gitCommitId.d.ts +8 -0
  34. package/dist/git/gitCommitId.d.ts.map +1 -0
  35. package/dist/git/gitCommitId.js +16 -0
  36. package/dist/git/gitCommitId.js.map +1 -0
  37. package/dist/git/gitCommitResolver.d.ts +23 -0
  38. package/dist/git/gitCommitResolver.d.ts.map +1 -0
  39. package/dist/git/gitCommitResolver.js +85 -0
  40. package/dist/git/gitCommitResolver.js.map +1 -0
  41. package/dist/git/gitService.d.ts +18 -0
  42. package/dist/git/gitService.d.ts.map +1 -0
  43. package/dist/git/gitService.js +38 -0
  44. package/dist/git/gitService.js.map +1 -0
  45. package/dist/git/gitUtils.d.ts +6 -0
  46. package/dist/git/gitUtils.d.ts.map +1 -0
  47. package/dist/git/gitUtils.js +30 -0
  48. package/dist/git/gitUtils.js.map +1 -0
  49. package/dist/git/gitWorktreeManager.d.ts +23 -0
  50. package/dist/git/gitWorktreeManager.d.ts.map +1 -0
  51. package/dist/git/gitWorktreeManager.js +91 -0
  52. package/dist/git/gitWorktreeManager.js.map +1 -0
  53. package/dist/httpServer.d.ts +23 -0
  54. package/dist/httpServer.d.ts.map +1 -0
  55. package/dist/httpServer.js +63 -0
  56. package/dist/httpServer.js.map +1 -0
  57. package/dist/index.d.ts +3 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +18 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/logger.d.ts +11 -0
  62. package/dist/logger.d.ts.map +1 -0
  63. package/dist/logger.js +13 -0
  64. package/dist/logger.js.map +1 -0
  65. package/dist/screenshotCache.d.ts +16 -0
  66. package/dist/screenshotCache.d.ts.map +1 -0
  67. package/dist/screenshotCache.js +59 -0
  68. package/dist/screenshotCache.js.map +1 -0
  69. package/dist/sourceTreeId.d.ts +5 -0
  70. package/dist/sourceTreeId.d.ts.map +1 -0
  71. package/dist/sourceTreeId.js +7 -0
  72. package/dist/sourceTreeId.js.map +1 -0
  73. package/dist/storage.d.ts +18 -0
  74. package/dist/storage.d.ts.map +1 -0
  75. package/dist/storage.js +55 -0
  76. package/dist/storage.js.map +1 -0
  77. package/dist/viteProjectRef.d.ts +22 -0
  78. package/dist/viteProjectRef.d.ts.map +1 -0
  79. package/dist/viteProjectRef.js +33 -0
  80. package/dist/viteProjectRef.js.map +1 -0
  81. package/dist/watchConfig.d.ts +49 -0
  82. package/dist/watchConfig.d.ts.map +1 -0
  83. package/dist/watchConfig.js +148 -0
  84. package/dist/watchConfig.js.map +1 -0
  85. package/package.json +45 -0
@@ -0,0 +1,148 @@
1
+ import { z } from 'zod';
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ import { GitService } from './git/gitService.js';
5
+ import { ViteProjectRef } from './viteProjectRef.js';
6
+ // --- Zod schemas ---
7
+ const worktreeInstallSchema = z.union([
8
+ z.literal('auto'),
9
+ z.literal('npm'),
10
+ z.literal('pnpm'),
11
+ z.literal('yarn'),
12
+ z.object({ command: z.string() }),
13
+ z.literal(false),
14
+ ]);
15
+ const worktreeConfigSchema = z.object({
16
+ ref: z.string(),
17
+ name: z.string().optional(),
18
+ install: worktreeInstallSchema.optional(),
19
+ });
20
+ const sessionSourceSchema = z.union([
21
+ z.literal('current'),
22
+ z.object({ worktree: worktreeConfigSchema }),
23
+ ]);
24
+ const sessionConfigSchema = z.object({
25
+ name: z.string(),
26
+ source: sessionSourceSchema.optional(),
27
+ viteConfig: z.string().optional(),
28
+ });
29
+ const compareConfigSchema = z.object({
30
+ baseline: z.string(),
31
+ current: z.string(),
32
+ });
33
+ const watchConfigSchema = z.object({
34
+ screenshotDir: z.string().optional(),
35
+ sessions: z.array(sessionConfigSchema).min(1),
36
+ compare: compareConfigSchema.optional(),
37
+ viteConfig: z.string().optional(),
38
+ });
39
+ export class ResolvedWorktreeConfig {
40
+ ref;
41
+ worktreePath;
42
+ install;
43
+ constructor(ref, worktreePath, install) {
44
+ this.ref = ref;
45
+ this.worktreePath = worktreePath;
46
+ this.install = install;
47
+ }
48
+ }
49
+ export class ResolvedSessionConfig {
50
+ name;
51
+ source;
52
+ viteProject;
53
+ constructor(name, source, viteProject) {
54
+ this.name = name;
55
+ this.source = source;
56
+ this.viteProject = viteProject;
57
+ }
58
+ }
59
+ export class ResolvedCompareConfig {
60
+ baseline;
61
+ current;
62
+ constructor(baseline, current) {
63
+ this.baseline = baseline;
64
+ this.current = current;
65
+ }
66
+ }
67
+ export class ResolvedWatchConfig {
68
+ screenshotDir;
69
+ sessions;
70
+ compare;
71
+ repo;
72
+ constructor(screenshotDir, sessions, compare, repo) {
73
+ this.screenshotDir = screenshotDir;
74
+ this.sessions = sessions;
75
+ this.compare = compare;
76
+ this.repo = repo;
77
+ }
78
+ static async fromFile(configPath) {
79
+ const absConfigPath = path.resolve(configPath);
80
+ const raw = JSON.parse(fs.readFileSync(absConfigPath, 'utf-8'));
81
+ const configDir = path.dirname(absConfigPath);
82
+ const gitService = new GitService();
83
+ const repo = await gitService.getRootRepoFromDir(configDir);
84
+ return ResolvedWatchConfig.fromData(raw, configDir, repo);
85
+ }
86
+ static fromData(data, configDir, repo) {
87
+ const parsed = watchConfigSchema.parse(data);
88
+ const screenshotDir = path.resolve(configDir, parsed.screenshotDir ?? '.screenshots');
89
+ const defaultViteConfig = parsed.viteConfig ?? 'vite.config.ts';
90
+ const wtRoot = repo.worktreeRootPath();
91
+ // Config dir's position relative to the git root — needed to mirror
92
+ // the same path inside a worktree (which replicates the repo structure).
93
+ const configDirRelToGitRoot = path.relative(repo.gitRoot, configDir);
94
+ const sessions = parsed.sessions.map(session => {
95
+ const viteConfigRel = session.viteConfig ?? defaultViteConfig;
96
+ const sourceRaw = session.source;
97
+ let source;
98
+ let viteProject;
99
+ if (!sourceRaw || sourceRaw === 'current') {
100
+ source = { kind: 'current' };
101
+ viteProject = ViteProjectRef.fromViteConfigPath(path.resolve(configDir, viteConfigRel));
102
+ }
103
+ else {
104
+ const wt = sourceRaw.worktree;
105
+ const worktreeName = wt.name ?? 'component-explorer-baseline';
106
+ const worktreePath = path.resolve(wtRoot, worktreeName);
107
+ const install = resolveInstallConfig(wt.install);
108
+ const worktreeConfig = new ResolvedWorktreeConfig(wt.ref, worktreePath, install);
109
+ source = { kind: 'worktree', worktree: worktreeConfig };
110
+ // Mirror the config dir inside the worktree, then resolve viteConfig from there
111
+ const worktreeConfigDir = path.resolve(worktreePath, configDirRelToGitRoot);
112
+ viteProject = ViteProjectRef.fromViteConfigPath(path.resolve(worktreeConfigDir, viteConfigRel));
113
+ }
114
+ return new ResolvedSessionConfig(session.name, source, viteProject);
115
+ });
116
+ const sessionNames = new Set(sessions.map(s => s.name));
117
+ let compare;
118
+ if (parsed.compare) {
119
+ if (!sessionNames.has(parsed.compare.baseline)) {
120
+ throw new Error(`compare.baseline references unknown session: "${parsed.compare.baseline}"`);
121
+ }
122
+ if (!sessionNames.has(parsed.compare.current)) {
123
+ throw new Error(`compare.current references unknown session: "${parsed.compare.current}"`);
124
+ }
125
+ compare = new ResolvedCompareConfig(parsed.compare.baseline, parsed.compare.current);
126
+ }
127
+ return new ResolvedWatchConfig(screenshotDir, sessions, compare, repo);
128
+ }
129
+ }
130
+ function resolveInstallConfig(raw) {
131
+ if (raw === undefined || raw === 'auto') {
132
+ return { kind: 'auto' };
133
+ }
134
+ if (raw === false) {
135
+ return { kind: 'skip' };
136
+ }
137
+ if (raw === 'npm') {
138
+ return { kind: 'npm' };
139
+ }
140
+ if (raw === 'pnpm') {
141
+ return { kind: 'pnpm' };
142
+ }
143
+ if (raw === 'yarn') {
144
+ return { kind: 'yarn' };
145
+ }
146
+ return { kind: 'custom', command: raw.command };
147
+ }
148
+ //# sourceMappingURL=watchConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchConfig.js","sourceRoot":"","sources":["../src/watchConfig.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@vscode/component-explorer-cli",
3
+ "version": "0.1.1-0",
4
+ "type": "module",
5
+ "bin": {
6
+ "component-explorer": "./dist/index.js"
7
+ },
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "dev": "tsc --watch",
22
+ "test": "vitest --run"
23
+ },
24
+ "dependencies": {
25
+ "@vscode/observables": "workspace:*",
26
+ "clipanion": "^4.0.0-rc.4",
27
+ "zod": "^4.3.6"
28
+ },
29
+ "peerDependencies": {
30
+ "playwright": ">=1.40.0",
31
+ "vite": ">=5.0.0"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^20.0.0",
35
+ "@vitejs/plugin-react": "^4.3.0",
36
+ "@vscode/component-explorer": "workspace:*",
37
+ "@vscode/component-explorer-vite-plugin": "workspace:*",
38
+ "playwright": "^1.40.0",
39
+ "react": "^18.3.0",
40
+ "react-dom": "^18.3.0",
41
+ "typescript": "^5.4.0",
42
+ "vite": "^6.0.0",
43
+ "vitest": "^1.3.0"
44
+ }
45
+ }