@beignet/cli 0.0.51 → 0.0.53

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 (117) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +182 -19
  3. package/dist/analysis/layers.d.ts +2 -0
  4. package/dist/analysis/layers.d.ts.map +1 -1
  5. package/dist/analysis/layers.js +9 -2
  6. package/dist/analysis/layers.js.map +1 -1
  7. package/dist/analysis/port-wiring.d.ts +4 -2
  8. package/dist/analysis/port-wiring.d.ts.map +1 -1
  9. package/dist/analysis/port-wiring.js +41 -11
  10. package/dist/analysis/port-wiring.js.map +1 -1
  11. package/dist/analysis/source-files.d.ts +15 -0
  12. package/dist/analysis/source-files.d.ts.map +1 -0
  13. package/dist/analysis/source-files.js +52 -0
  14. package/dist/analysis/source-files.js.map +1 -0
  15. package/dist/analysis/source-index.d.ts +2 -1
  16. package/dist/analysis/source-index.d.ts.map +1 -1
  17. package/dist/analysis/source-index.js +34 -5
  18. package/dist/analysis/source-index.js.map +1 -1
  19. package/dist/analysis/workspace-routes.d.ts +8 -0
  20. package/dist/analysis/workspace-routes.d.ts.map +1 -0
  21. package/dist/analysis/workspace-routes.js +291 -0
  22. package/dist/analysis/workspace-routes.js.map +1 -0
  23. package/dist/analysis/workspace.d.ts +24 -3
  24. package/dist/analysis/workspace.d.ts.map +1 -1
  25. package/dist/analysis/workspace.js +184 -43
  26. package/dist/analysis/workspace.js.map +1 -1
  27. package/dist/app-map-changes.d.ts.map +1 -1
  28. package/dist/app-map-changes.js +24 -14
  29. package/dist/app-map-changes.js.map +1 -1
  30. package/dist/app-map.d.ts.map +1 -1
  31. package/dist/app-map.js +87 -81
  32. package/dist/app-map.js.map +1 -1
  33. package/dist/check.d.ts +12 -0
  34. package/dist/check.d.ts.map +1 -1
  35. package/dist/check.js +92 -25
  36. package/dist/check.js.map +1 -1
  37. package/dist/config.d.ts +7 -0
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +19 -0
  40. package/dist/config.js.map +1 -1
  41. package/dist/git-changes.d.ts +17 -1
  42. package/dist/git-changes.d.ts.map +1 -1
  43. package/dist/git-changes.js +118 -84
  44. package/dist/git-changes.js.map +1 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +23 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/inspect.d.ts.map +1 -1
  49. package/dist/inspect.js +424 -129
  50. package/dist/inspect.js.map +1 -1
  51. package/dist/lint.d.ts.map +1 -1
  52. package/dist/lint.js +108 -43
  53. package/dist/lint.js.map +1 -1
  54. package/dist/make/shared.js +1 -1
  55. package/dist/make.js +18 -1
  56. package/dist/make.js.map +1 -1
  57. package/dist/mcp.js +1 -1
  58. package/dist/mcp.js.map +1 -1
  59. package/dist/provider-add.js +2 -2
  60. package/dist/provider-add.js.map +1 -1
  61. package/dist/provider-audit.d.ts.map +1 -1
  62. package/dist/provider-audit.js +22 -6
  63. package/dist/provider-audit.js.map +1 -1
  64. package/dist/templates/agents.d.ts.map +1 -1
  65. package/dist/templates/agents.js +36 -13
  66. package/dist/templates/agents.js.map +1 -1
  67. package/dist/templates/base.js +5 -5
  68. package/dist/templates/db/mysql.d.ts.map +1 -1
  69. package/dist/templates/db/mysql.js +51 -22
  70. package/dist/templates/db/mysql.js.map +1 -1
  71. package/dist/templates/db/postgres.d.ts.map +1 -1
  72. package/dist/templates/db/postgres.js +60 -20
  73. package/dist/templates/db/postgres.js.map +1 -1
  74. package/dist/templates/db/sqlite.d.ts.map +1 -1
  75. package/dist/templates/db/sqlite.js +51 -23
  76. package/dist/templates/db/sqlite.js.map +1 -1
  77. package/dist/templates/shadcn.js +1 -1
  78. package/dist/templates/shadcn.js.map +1 -1
  79. package/dist/templates/shared.js +6 -6
  80. package/dist/templates/shared.js.map +1 -1
  81. package/dist/templates/testing.d.ts.map +1 -1
  82. package/dist/templates/testing.js +7 -19
  83. package/dist/templates/testing.js.map +1 -1
  84. package/dist/test-discovery.d.ts +9 -0
  85. package/dist/test-discovery.d.ts.map +1 -0
  86. package/dist/test-discovery.js +40 -0
  87. package/dist/test-discovery.js.map +1 -0
  88. package/package.json +8 -5
  89. package/skills/app-structure/SKILL.md +74 -7
  90. package/src/analysis/layers.ts +13 -2
  91. package/src/analysis/port-wiring.ts +68 -11
  92. package/src/analysis/source-files.ts +61 -0
  93. package/src/analysis/source-index.ts +56 -4
  94. package/src/analysis/workspace-routes.ts +385 -0
  95. package/src/analysis/workspace.ts +302 -59
  96. package/src/app-map-changes.ts +41 -13
  97. package/src/app-map.ts +114 -103
  98. package/src/check.ts +115 -25
  99. package/src/config.ts +33 -0
  100. package/src/git-changes.ts +218 -86
  101. package/src/index.ts +33 -5
  102. package/src/inspect.ts +608 -156
  103. package/src/lint.ts +152 -48
  104. package/src/make/shared.ts +1 -1
  105. package/src/make.ts +31 -1
  106. package/src/mcp.ts +1 -1
  107. package/src/provider-add.ts +2 -2
  108. package/src/provider-audit.ts +30 -10
  109. package/src/templates/agents.ts +36 -13
  110. package/src/templates/base.ts +5 -5
  111. package/src/templates/db/mysql.ts +51 -22
  112. package/src/templates/db/postgres.ts +60 -20
  113. package/src/templates/db/sqlite.ts +51 -23
  114. package/src/templates/shadcn.ts +1 -1
  115. package/src/templates/shared.ts +6 -6
  116. package/src/templates/testing.ts +12 -19
  117. package/src/test-discovery.ts +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-routes.js","sourceRoot":"","sources":["../../src/analysis/workspace-routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  import ts from "typescript";
2
2
  import { type BeignetConfig, type ResolvedBeignetConfig } from "../config.js";
3
+ export type AnalysisProject = {
4
+ targetDir: string;
5
+ canonicalDir: string;
6
+ prefix: string;
7
+ name?: string;
8
+ dependencies: Set<string>;
9
+ localDependencies: Set<string>;
10
+ config: ResolvedBeignetConfig;
11
+ files: string[];
12
+ compilerOptions: ts.CompilerOptions;
13
+ compilerConfigFiles: string[];
14
+ moduleResolutionCache: ts.ModuleResolutionCache;
15
+ };
3
16
  export type AnalysisWorkspace = {
4
17
  targetDir: string;
18
+ projects: AnalysisProject[];
5
19
  files: string[];
6
20
  fileSet: Set<string>;
7
21
  config: ResolvedBeignetConfig;
@@ -17,8 +31,15 @@ type AnalysisWorkspaceOptions = {
17
31
  export declare function createAnalysisWorkspace(cwd?: string, options?: AnalysisWorkspaceOptions): Promise<AnalysisWorkspace>;
18
32
  export declare function assertDirectory(targetDir: string): Promise<void>;
19
33
  export declare function listProjectFiles(targetDir: string): Promise<string[]>;
20
- export declare function resolveLocalSourceFile(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir">, importerFile: string, importPath: string): string | undefined;
21
- export declare function resolveLocalModulePath(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir">, importerFile: string, importPath: string): string | undefined;
22
- export declare function isLocalModuleSpecifier(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir">, importerFile: string, importPath: string): boolean;
34
+ export declare function resolveLocalSourceFile(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir" | "projects">, importerFile: string, importPath: string): string | undefined;
35
+ export declare function resolveLocalModulePath(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir" | "projects">, importerFile: string, importPath: string): string | undefined;
36
+ export declare function isLocalModuleSpecifier(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "moduleResolutionCache" | "targetDir" | "projects">, importerFile: string, importPath: string): boolean;
37
+ export declare function projectForFile(workspace: Pick<AnalysisWorkspace, "projects" | "targetDir">, file: string): AnalysisProject;
38
+ export declare function findProjectForFile(workspace: Pick<AnalysisWorkspace, "projects" | "targetDir">, file: string): AnalysisProject | undefined;
39
+ export declare function projectPath(project: AnalysisProject, file: string): string;
40
+ export declare function projectSource(workspace: Pick<AnalysisWorkspace, "projects" | "targetDir">, file: string): {
41
+ project: AnalysisProject;
42
+ file: string;
43
+ };
23
44
  export {};
24
45
  //# sourceMappingURL=workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,qBAAqB,EAE3B,MAAM,cAAc,CAAC;AAWtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC;IAChD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;CACtD,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,GAAG,SAAgB,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAqD5B;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtE;AAED,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3E;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CACb,iBAAiB,EACjB,iBAAiB,GAAG,SAAS,GAAG,uBAAuB,GAAG,WAAW,CACtE,EACD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CACb,iBAAiB,EACjB,iBAAiB,GAAG,SAAS,GAAG,uBAAuB,GAAG,WAAW,CACtE,EACD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CA2CpB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CACb,iBAAiB,EACjB,iBAAiB,GAAG,SAAS,GAAG,uBAAuB,GAAG,WAAW,CACtE,EACD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CA4CT"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { readdir, readFile, stat } from "node:fs/promises";
1
+ import { readdir, readFile, realpath, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import ts from "typescript";
4
4
  import { loadBeignetConfig, normalizePath, resolveConfig, } from "../config.js";
5
+ import { isAnalysisSourceFile, isAnalysisSourceFileExtension, sourceFileScriptKind, } from "./source-files.js";
5
6
  const ignoredDirectoryNames = new Set([
6
7
  ".git",
7
8
  ".next",
@@ -13,18 +14,56 @@ const ignoredDirectoryNames = new Set([
13
14
  export async function createAnalysisWorkspace(cwd = process.cwd(), options = {}) {
14
15
  const targetDir = path.resolve(cwd);
15
16
  await assertDirectory(targetDir);
16
- const files = await listProjectFiles(targetDir);
17
- const fileSet = new Set(files);
17
+ const appFiles = await listProjectFiles(targetDir);
18
18
  const config = options.config
19
19
  ? resolveConfig(options.config)
20
- : await loadBeignetConfig(targetDir, files);
21
- const { compilerConfigFiles, compilerOptions } = resolveCompilerConfiguration(targetDir);
22
- const moduleResolutionCache = ts.createModuleResolutionCache(targetDir, ts.sys.useCaseSensitiveFileNames
23
- ? (fileName) => fileName
24
- : (fileName) => fileName.toLowerCase(), compilerOptions);
20
+ : await loadBeignetConfig(targetDir, appFiles);
21
+ const app = await createProject(targetDir, targetDir, appFiles, config);
22
+ const projects = [app];
23
+ for (const directory of config.workspace.packages) {
24
+ const packageDir = path.resolve(targetDir, directory);
25
+ await assertDirectory(packageDir);
26
+ const canonical = await realpath(packageDir);
27
+ for (const project of projects) {
28
+ const existing = project.canonicalDir;
29
+ if (within(canonical, existing) || within(existing, canonical)) {
30
+ throw new Error(`Workspace package ${directory} overlaps ${project.prefix || "the app"}. Package roots must be separate directories.`);
31
+ }
32
+ }
33
+ const packageFiles = await listProjectFiles(packageDir);
34
+ const packageConfig = await loadBeignetConfig(packageDir, packageFiles);
35
+ const project = await createProject(targetDir, packageDir, packageFiles, packageConfig);
36
+ if (!project.name)
37
+ throw new Error(`Workspace package ${directory} must have a name in package.json.`);
38
+ if (projects.some((candidate) => candidate.name === project.name)) {
39
+ throw new Error(`Duplicate workspace package name ${project.name}.`);
40
+ }
41
+ projects.push(project);
42
+ }
43
+ const reachable = new Set([app]);
44
+ for (const project of reachable) {
45
+ for (const candidate of projects.slice(1)) {
46
+ if (candidate.name && project.dependencies.has(candidate.name))
47
+ reachable.add(candidate);
48
+ }
49
+ }
50
+ for (const project of projects.slice(1)) {
51
+ if (!reachable.has(project))
52
+ throw new Error(`Workspace package ${project.name} is not a declared dependency of the app or its configured source packages.`);
53
+ }
54
+ const files = projects
55
+ .flatMap((project) => project.files.map((file) => projectPath(project, file)))
56
+ .sort();
57
+ const fileSet = new Set(files);
58
+ const { compilerOptions, moduleResolutionCache } = app;
59
+ const compilerConfigFiles = [
60
+ ...new Set(projects.flatMap((project) => project.compilerConfigFiles)),
61
+ ].sort();
25
62
  const sources = new Map();
26
63
  const sourceFiles = new Map();
27
64
  const readSource = async (file) => {
65
+ if (!fileSet.has(file))
66
+ throw new Error(`Source file is outside the analysis workspace: ${file}`);
28
67
  const cached = sources.get(file);
29
68
  if (cached !== undefined)
30
69
  return cached;
@@ -34,6 +73,7 @@ export async function createAnalysisWorkspace(cwd = process.cwd(), options = {})
34
73
  };
35
74
  return {
36
75
  targetDir,
76
+ projects,
37
77
  files,
38
78
  fileSet,
39
79
  config,
@@ -45,7 +85,7 @@ export async function createAnalysisWorkspace(cwd = process.cwd(), options = {})
45
85
  const cached = sourceFiles.get(file);
46
86
  if (cached)
47
87
  return cached;
48
- const sourceFile = ts.createSourceFile(file, await readSource(file), ts.ScriptTarget.Latest, true, scriptKind(file));
88
+ const sourceFile = ts.createSourceFile(file, await readSource(file), ts.ScriptTarget.Latest, true, sourceFileScriptKind(file));
49
89
  sourceFiles.set(file, sourceFile);
50
90
  return sourceFile;
51
91
  },
@@ -90,9 +130,19 @@ export function resolveLocalSourceFile(workspace, importerFile, importPath) {
90
130
  if (!resolved)
91
131
  return undefined;
92
132
  const file = normalizePath(path.relative(workspace.targetDir, resolved.resolvedFileName));
93
- if (file === ".." || file.startsWith("../"))
94
- return undefined;
95
- return workspace.fileSet.has(file) ? file : undefined;
133
+ if (workspace.fileSet.has(file) &&
134
+ (!projectForFile(workspace, file).prefix || isAnalysisSourceFile(file)))
135
+ return file;
136
+ const canonicalFile = ts.sys.realpath?.(resolved.resolvedFileName) ?? resolved.resolvedFileName;
137
+ for (const project of workspace.projects) {
138
+ if (!within(canonicalFile, project.canonicalDir))
139
+ continue;
140
+ const candidate = projectPath(project, path.relative(project.canonicalDir, canonicalFile));
141
+ if (workspace.fileSet.has(candidate) &&
142
+ (!project.prefix || isAnalysisSourceFile(candidate)))
143
+ return candidate;
144
+ }
145
+ return undefined;
96
146
  }
97
147
  export function resolveLocalModulePath(workspace, importerFile, importPath) {
98
148
  const resolvedFile = resolveLocalSourceFile(workspace, importerFile, importPath);
@@ -101,11 +151,21 @@ export function resolveLocalModulePath(workspace, importerFile, importPath) {
101
151
  if (!isLocalModuleSpecifier(workspace, importerFile, importPath)) {
102
152
  return undefined;
103
153
  }
154
+ const project = projectForFile(workspace, importerFile);
155
+ if (workspace.projects.length > 1 &&
156
+ (importPath.startsWith(".") ||
157
+ importPath.startsWith("#") ||
158
+ Object.keys(project.compilerOptions.paths ?? {}).some((pattern) => pattern !== "*" && modulePatternMatches(pattern, importPath)))) {
159
+ const resolved = resolveModule(workspace, importerFile, importPath);
160
+ if (resolved)
161
+ return normalizePath(path.relative(workspace.targetDir, ts.sys.realpath?.(resolved.resolvedFileName) ??
162
+ resolved.resolvedFileName));
163
+ }
104
164
  if (importPath.startsWith(".")) {
105
165
  return normalizePath(path.join(path.dirname(importerFile), importPath));
106
166
  }
107
- const baseUrl = compilerPathsBase(workspace.compilerOptions, workspace.targetDir);
108
- for (const [pattern, targets] of Object.entries(workspace.compilerOptions.paths ?? {})) {
167
+ const baseUrl = compilerPathsBase(project.compilerOptions, project.targetDir);
168
+ for (const [pattern, targets] of Object.entries(project.compilerOptions.paths ?? {})) {
109
169
  if (pattern === "*")
110
170
  continue;
111
171
  const wildcardValue = modulePatternWildcard(pattern, importPath);
@@ -115,19 +175,21 @@ export function resolveLocalModulePath(workspace, importerFile, importPath) {
115
175
  const substituted = target.replace("*", wildcardValue);
116
176
  const absolute = path.resolve(baseUrl, substituted);
117
177
  const relative = normalizePath(path.relative(workspace.targetDir, absolute));
118
- if (relative !== ".." && !relative.startsWith("../"))
178
+ if (workspace.projects.length > 1 ||
179
+ workspace.projects.some((candidate) => within(absolute, candidate.targetDir)))
119
180
  return relative;
120
181
  }
121
182
  }
122
183
  const relative = normalizePath(path.relative(workspace.targetDir, path.resolve(baseUrl, importPath)));
123
- return relative !== ".." && !relative.startsWith("../")
184
+ return workspace.projects.some((candidate) => within(path.resolve(workspace.targetDir, relative), candidate.targetDir))
124
185
  ? relative
125
186
  : undefined;
126
187
  }
127
188
  export function isLocalModuleSpecifier(workspace, importerFile, importPath) {
128
189
  const extension = path.posix.extname(importPath);
129
- if (extension &&
130
- ![".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"].includes(extension)) {
190
+ if (!importPath.startsWith("#") &&
191
+ extension &&
192
+ !isAnalysisSourceFileExtension(extension)) {
131
193
  return false;
132
194
  }
133
195
  if (importPath.startsWith("."))
@@ -135,16 +197,29 @@ export function isLocalModuleSpecifier(workspace, importerFile, importPath) {
135
197
  const resolved = resolveModule(workspace, importerFile, importPath);
136
198
  if (resolved) {
137
199
  const file = normalizePath(path.relative(workspace.targetDir, resolved.resolvedFileName));
138
- return (file !== ".." && !file.startsWith("../") && workspace.fileSet.has(file));
200
+ if (workspace.fileSet.has(file) ||
201
+ resolveLocalSourceFile(workspace, importerFile, importPath))
202
+ return true;
203
+ // Package-import aliases can resolve to an omitted workspace through an
204
+ // install symlink. Keep normal dependencies inside node_modules external.
205
+ const canonical = ts.sys.realpath?.(resolved.resolvedFileName) ?? resolved.resolvedFileName;
206
+ if (importPath.startsWith("#") &&
207
+ !normalizePath(canonical).split("/").includes("node_modules"))
208
+ return true;
139
209
  }
140
- const pathPatterns = Object.keys(workspace.compilerOptions.paths ?? {});
210
+ const project = projectForFile(workspace, importerFile);
211
+ if (workspace.projects.some((candidate) => candidate.name &&
212
+ (importPath === candidate.name ||
213
+ importPath.startsWith(`${candidate.name}/`))))
214
+ return true;
215
+ const pathPatterns = Object.keys(project.compilerOptions.paths ?? {});
141
216
  if (pathPatterns.some((pattern) =>
142
217
  // A catch-all also matches every bare package name. Local matches for
143
218
  // it resolve above or have an app-owned baseUrl prefix below.
144
219
  pattern !== "*" && modulePatternMatches(pattern, importPath))) {
145
220
  return true;
146
221
  }
147
- const baseUrl = workspace.compilerOptions.baseUrl;
222
+ const baseUrl = project.compilerOptions.baseUrl;
148
223
  if (!baseUrl)
149
224
  return false;
150
225
  const firstSegment = importPath.split("/")[0];
@@ -156,7 +231,8 @@ export function isLocalModuleSpecifier(workspace, importerFile, importPath) {
156
231
  return false;
157
232
  }
158
233
  function resolveModule(workspace, importerFile, importPath) {
159
- return ts.resolveModuleName(importPath, path.join(workspace.targetDir, importerFile), workspace.compilerOptions, ts.sys, workspace.moduleResolutionCache).resolvedModule;
234
+ const project = projectForFile(workspace, importerFile);
235
+ return ts.resolveModuleName(importPath, path.join(workspace.targetDir, importerFile), project.compilerOptions, ts.sys, project.moduleResolutionCache).resolvedModule;
160
236
  }
161
237
  function modulePatternMatches(pattern, importPath) {
162
238
  const wildcard = pattern.indexOf("*");
@@ -178,22 +254,27 @@ function modulePatternWildcard(pattern, importPath) {
178
254
  }
179
255
  function resolveCompilerConfiguration(targetDir) {
180
256
  const compilerConfigFiles = new Set();
181
- const configPath = path.join(targetDir, "tsconfig.json");
182
- const compilerOptions = ts.getParsedCommandLineOfConfigFile(configPath, {}, {
183
- ...ts.sys,
184
- readFile(file) {
185
- compilerConfigFiles.add(path.resolve(file));
186
- return ts.sys.readFile(file);
187
- },
188
- onUnRecoverableConfigFileDiagnostic: () => { },
189
- })?.options ?? {};
257
+ const configPath = ["tsconfig.json", "jsconfig.json"]
258
+ .map((file) => path.join(targetDir, file))
259
+ .find(ts.sys.fileExists);
260
+ const compilerOptions = configPath
261
+ ? (ts.getParsedCommandLineOfConfigFile(configPath, {}, {
262
+ ...ts.sys,
263
+ readFile(file) {
264
+ compilerConfigFiles.add(path.resolve(file));
265
+ return ts.sys.readFile(file);
266
+ },
267
+ onUnRecoverableConfigFileDiagnostic: () => { },
268
+ })?.options ?? {})
269
+ : {};
270
+ const analysisOptions = { ...compilerOptions, allowJs: true };
190
271
  return {
191
272
  compilerConfigFiles: [...compilerConfigFiles].sort(),
192
- compilerOptions: compilerOptions.paths
193
- ? compilerOptions
273
+ compilerOptions: analysisOptions.paths
274
+ ? analysisOptions
194
275
  : {
195
- ...compilerOptions,
196
- baseUrl: compilerOptions.baseUrl ?? targetDir,
276
+ ...analysisOptions,
277
+ baseUrl: analysisOptions.baseUrl ?? targetDir,
197
278
  paths: {
198
279
  "@/*": ["*"],
199
280
  },
@@ -204,13 +285,73 @@ function compilerPathsBase(compilerOptions, targetDir) {
204
285
  const optionsWithPathBase = compilerOptions;
205
286
  return (compilerOptions.baseUrl ?? optionsWithPathBase.pathsBasePath ?? targetDir);
206
287
  }
207
- function scriptKind(file) {
208
- if (file.endsWith(".tsx"))
209
- return ts.ScriptKind.TSX;
210
- if (file.endsWith(".jsx"))
211
- return ts.ScriptKind.JSX;
212
- if (file.endsWith(".js") || file.endsWith(".mjs"))
213
- return ts.ScriptKind.JS;
214
- return ts.ScriptKind.TS;
288
+ async function createProject(appDir, targetDir, files, config) {
289
+ const manifest = files.includes("package.json")
290
+ ? JSON.parse(await readFile(path.join(targetDir, "package.json"), "utf8"))
291
+ : {};
292
+ if (!manifest || typeof manifest !== "object" || Array.isArray(manifest)) {
293
+ throw new Error(`Invalid package.json in ${targetDir}.`);
294
+ }
295
+ const data = manifest;
296
+ const dependencies = new Set();
297
+ const localDependencies = new Set();
298
+ for (const key of [
299
+ "dependencies",
300
+ "devDependencies",
301
+ "peerDependencies",
302
+ "optionalDependencies",
303
+ ]) {
304
+ const value = data[key];
305
+ if (value && typeof value === "object" && !Array.isArray(value)) {
306
+ for (const [name, specifier] of Object.entries(value)) {
307
+ dependencies.add(name);
308
+ if (typeof specifier === "string" &&
309
+ /^(workspace|link|file):/.test(specifier) &&
310
+ !specifier.endsWith(".tgz"))
311
+ localDependencies.add(name);
312
+ }
313
+ }
314
+ }
315
+ const { compilerConfigFiles, compilerOptions } = resolveCompilerConfiguration(targetDir);
316
+ return {
317
+ targetDir,
318
+ canonicalDir: await realpath(targetDir),
319
+ prefix: normalizePath(path.relative(appDir, targetDir)),
320
+ ...(typeof data.name === "string" && data.name.trim()
321
+ ? { name: data.name }
322
+ : {}),
323
+ dependencies,
324
+ localDependencies,
325
+ config,
326
+ files,
327
+ compilerConfigFiles,
328
+ compilerOptions,
329
+ moduleResolutionCache: ts.createModuleResolutionCache(targetDir, ts.sys.useCaseSensitiveFileNames
330
+ ? (file) => file
331
+ : (file) => file.toLowerCase(), compilerOptions),
332
+ };
333
+ }
334
+ export function projectForFile(workspace, file) {
335
+ return findProjectForFile(workspace, file) ?? workspace.projects[0];
336
+ }
337
+ export function findProjectForFile(workspace, file) {
338
+ const absolute = path.resolve(workspace.targetDir, file);
339
+ return workspace.projects.find((project) => within(absolute, project.targetDir));
340
+ }
341
+ export function projectPath(project, file) {
342
+ return normalizePath(path.join(project.prefix, file));
343
+ }
344
+ export function projectSource(workspace, file) {
345
+ const project = projectForFile(workspace, file);
346
+ return {
347
+ project,
348
+ file: normalizePath(path.relative(project.targetDir, path.resolve(workspace.targetDir, file))),
349
+ };
350
+ }
351
+ function within(file, directory) {
352
+ const relative = path.relative(directory, file);
353
+ return (relative !== ".." &&
354
+ !relative.startsWith(`..${path.sep}`) &&
355
+ !path.isAbsolute(relative));
215
356
  }
216
357
  //# sourceMappingURL=workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-map-changes.d.ts","sourceRoot":"","sources":["../src/app-map-changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-map-changes.d.ts","sourceRoot":"","sources":["../src/app-map-changes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { readFile, realpath } from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { isAnalysisSourceFile, stripSourceFileExtension, } from "./analysis/source-files.js";
3
4
  import { localImportReferences, } from "./analysis/source-index.js";
4
5
  import { createAnalysisWorkspace, listProjectFiles, resolveLocalModulePath, } from "./analysis/workspace.js";
5
6
  import { mapApp, } from "./app-map.js";
@@ -44,7 +45,17 @@ export async function mapAppChanges(options = {}) {
44
45
  createAnalysisWorkspace(targetDir),
45
46
  resolveWorkspaceScope(git.repositoryRoot, canonicalTargetDir),
46
47
  ]);
47
- const governingFiles = new Set(workspace.compilerConfigFiles
48
+ for (const project of workspace.projects.slice(1)) {
49
+ if (isAbsoluteWithin(project.canonicalDir, git.repositoryRoot)) {
50
+ workspaceScope.dependencyDirectories.add(normalizePath(path.relative(git.repositoryRoot, project.canonicalDir)));
51
+ }
52
+ }
53
+ const governingFiles = new Set([
54
+ ...workspace.compilerConfigFiles,
55
+ ...workspace.projects.flatMap((project) => project.config.configFile
56
+ ? [path.join(project.targetDir, project.config.configFile)]
57
+ : []),
58
+ ]
48
59
  .map((file) => path.resolve(canonicalTargetDir, path.relative(workspace.targetDir, file)))
49
60
  .filter((file) => isAbsoluteWithin(file, git.repositoryRoot))
50
61
  .map((file) => normalizePath(path.relative(git.repositoryRoot, file))));
@@ -86,7 +97,9 @@ export async function mapAppChanges(options = {}) {
86
97
  }
87
98
  }
88
99
  }
89
- const appSourceChanges = appRelativeSourceChanges(changedFiles, git.repositoryRoot, canonicalTargetDir);
100
+ const appSourceChanges = appRelativeSourceChanges(changedFiles, git.repositoryRoot, canonicalTargetDir, workspace.projects
101
+ .slice(1)
102
+ .map((project) => normalizePath(path.relative(git.repositoryRoot, project.canonicalDir))));
90
103
  for (const change of appSourceChanges) {
91
104
  const directNodes = nodesByFile.get(change.file) ?? [];
92
105
  for (const node of directNodes) {
@@ -440,14 +453,14 @@ function isGoverningFile(file, targetPrefix, workspacePrefix) {
440
453
  }
441
454
  return (/^(?:beignet|drizzle|eslint|next|postcss|tailwind|vite)\.config\.(?:cjs|cts|js|mjs|mts|ts)$/.test(basename) || /^tsconfig(?:\.[^.]+)?\.json$/.test(basename));
442
455
  }
443
- function appRelativeSourceChanges(files, repositoryRoot, canonicalTargetDir) {
456
+ function appRelativeSourceChanges(files, repositoryRoot, canonicalTargetDir, sourcePackages) {
444
457
  const targetPrefix = normalizePath(path.relative(repositoryRoot, canonicalTargetDir));
445
458
  const changes = [];
446
459
  for (const changed of files) {
447
- if (changed.scope !== "app")
460
+ if (changed.scope !== "app" && changed.scope !== "workspace-dependency")
448
461
  continue;
449
462
  for (const repositoryPath of changedFilePaths(changed)) {
450
- if (!isWithin(repositoryPath, targetPrefix))
463
+ if (![targetPrefix, ...sourcePackages].some((prefix) => isWithin(repositoryPath, prefix)))
451
464
  continue;
452
465
  const file = targetPrefix
453
466
  ? normalizePath(path.posix.relative(targetPrefix, repositoryPath))
@@ -465,7 +478,7 @@ function appRelativeSourceChanges(files, repositoryRoot, canonicalTargetDir) {
465
478
  }
466
479
  async function addImportConsumers(args) {
467
480
  const reverseImports = new Map();
468
- const sourceFiles = args.workspace.files.filter(isSourceFile);
481
+ const sourceFiles = args.workspace.files.filter(isAnalysisSourceFile);
469
482
  await Promise.all(sourceFiles.map(async (file) => {
470
483
  for (const reference of await localImportReferences(args.workspace, file)) {
471
484
  const target = reference.resolvedFile ??
@@ -486,7 +499,7 @@ async function addImportConsumers(args) {
486
499
  for (const references of reverseImports.values()) {
487
500
  references.sort((left, right) => `${left.importer}:${left.reference.line}:${left.reference.column}`.localeCompare(`${right.importer}:${right.reference.line}:${right.reference.column}`));
488
501
  }
489
- for (const change of args.changes.filter((item) => isSourceFile(item.file))) {
502
+ for (const change of args.changes.filter((item) => isAnalysisSourceFile(item.file))) {
490
503
  const queue = [{ confidence: "exact", file: change.file, depth: 0 }];
491
504
  const visited = new Set([resolvedModuleKey(change.file)]);
492
505
  for (let index = 0; index < queue.length; index += 1) {
@@ -612,7 +625,7 @@ function addUnmappedChangeGaps(args) {
612
625
  const reasons = [...args.impacts.values()].flatMap((impact) => impact.reasons);
613
626
  for (const change of args.changes) {
614
627
  const represented = reasons.some((reason) => reason.changedFile === change.repositoryPath);
615
- const sourceFile = isSourceFile(change.file);
628
+ const sourceFile = isAnalysisSourceFile(change.file);
616
629
  if (sourceFile && change.status === "deleted") {
617
630
  args.gaps.push({
618
631
  code: "deleted_source_unresolved",
@@ -817,7 +830,7 @@ function scopeSort(scope) {
817
830
  return { governing: 0, app: 1, "workspace-dependency": 2, outside: 3 }[scope];
818
831
  }
819
832
  function moduleStem(file) {
820
- return normalizePath(file).replace(/\.(?:c|m)?[jt]sx?$/, "");
833
+ return stripSourceFileExtension(normalizePath(file));
821
834
  }
822
835
  function resolvedModuleKey(file) {
823
836
  return `resolved:${normalizePath(file)}`;
@@ -844,9 +857,6 @@ function highestPriorityScope(scopes) {
844
857
  return ([...scopes].sort((left, right) => scopeSort(left) - scopeSort(right))[0] ??
845
858
  "outside");
846
859
  }
847
- function isSourceFile(file) {
848
- return /\.(?:c|m)?[jt]sx?$/.test(file) && !file.endsWith(".d.ts");
849
- }
850
860
  function isDocumentationPath(file, roots) {
851
861
  const normalized = normalizePath(file);
852
862
  const basename = path.posix.basename(normalized);
@@ -874,8 +884,8 @@ function appWideChangeReasons(files, isDocumentation) {
874
884
  first.path;
875
885
  const message = scope === "workspace-dependency"
876
886
  ? scoped.length === 1
877
- ? `Direct local dependency ${changedFile} changed.`
878
- : `${scoped.length} direct local dependency files changed, including ${changedFile}.`
887
+ ? `Local source dependency ${changedFile} changed.`
888
+ : `${scoped.length} local source dependency files changed, including ${changedFile}.`
879
889
  : scoped.length === 1
880
890
  ? `Governing file ${changedFile} changed.`
881
891
  : `${scoped.length} governing files changed, including ${changedFile}.`;