@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
@@ -1 +1 @@
1
- {"version":3,"file":"port-wiring.js","sourceRoot":"","sources":["../../src/analysis/port-wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port-wiring.js","sourceRoot":"","sources":["../../src/analysis/port-wiring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import ts from "typescript";
2
+ export declare const typescriptAnalysisSourceFileExtensions: readonly [".ts", ".tsx", ".mts", ".cts"];
3
+ export declare const javascriptAnalysisSourceFileExtensions: readonly [".js", ".jsx", ".mjs", ".cjs"];
4
+ export declare const analysisSourceFileExtensions: readonly [".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"];
5
+ /** Whether an extension belongs to the JavaScript/TypeScript source family. */
6
+ export declare function isAnalysisSourceFileExtension(extension: string): boolean;
7
+ /** Whether a project file can participate in Beignet source analysis. */
8
+ export declare function isAnalysisSourceFile(file: string): boolean;
9
+ /** Remove a JavaScript or TypeScript source extension from a path. */
10
+ export declare function stripSourceFileExtension(file: string): string;
11
+ /** Whether a source file uses JavaScript rather than TypeScript syntax. */
12
+ export declare function isJavaScriptSourceFile(file: string): boolean;
13
+ /** Select the TypeScript parser mode for a JavaScript or TypeScript file. */
14
+ export declare function sourceFileScriptKind(file: string): ts.ScriptKind;
15
+ //# sourceMappingURL=source-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../../src/analysis/source-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,eAAO,MAAM,sCAAsC,0CAKzC,CAAC;AAEX,eAAO,MAAM,sCAAsC,0CAKzC,CAAC;AAEX,eAAO,MAAM,4BAA4B,yEAG/B,CAAC;AAQX,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAKhE"}
@@ -0,0 +1,52 @@
1
+ import path from "node:path";
2
+ import ts from "typescript";
3
+ export const typescriptAnalysisSourceFileExtensions = [
4
+ ".ts",
5
+ ".tsx",
6
+ ".mts",
7
+ ".cts",
8
+ ];
9
+ export const javascriptAnalysisSourceFileExtensions = [
10
+ ".js",
11
+ ".jsx",
12
+ ".mjs",
13
+ ".cjs",
14
+ ];
15
+ export const analysisSourceFileExtensions = [
16
+ ...typescriptAnalysisSourceFileExtensions,
17
+ ...javascriptAnalysisSourceFileExtensions,
18
+ ];
19
+ const sourceFileExtensions = new Set(analysisSourceFileExtensions);
20
+ const javascriptSourceFileExtensions = new Set(javascriptAnalysisSourceFileExtensions);
21
+ const declarationFilePattern = /\.d\.(?:ts|mts|cts)$/;
22
+ /** Whether an extension belongs to the JavaScript/TypeScript source family. */
23
+ export function isAnalysisSourceFileExtension(extension) {
24
+ return sourceFileExtensions.has(extension);
25
+ }
26
+ /** Whether a project file can participate in Beignet source analysis. */
27
+ export function isAnalysisSourceFile(file) {
28
+ return (isAnalysisSourceFileExtension(path.posix.extname(file)) &&
29
+ !declarationFilePattern.test(file));
30
+ }
31
+ /** Remove a JavaScript or TypeScript source extension from a path. */
32
+ export function stripSourceFileExtension(file) {
33
+ const extension = path.posix.extname(file);
34
+ return isAnalysisSourceFileExtension(extension)
35
+ ? file.slice(0, -extension.length)
36
+ : file;
37
+ }
38
+ /** Whether a source file uses JavaScript rather than TypeScript syntax. */
39
+ export function isJavaScriptSourceFile(file) {
40
+ return javascriptSourceFileExtensions.has(path.posix.extname(file));
41
+ }
42
+ /** Select the TypeScript parser mode for a JavaScript or TypeScript file. */
43
+ export function sourceFileScriptKind(file) {
44
+ if (file.endsWith(".tsx"))
45
+ return ts.ScriptKind.TSX;
46
+ if (file.endsWith(".jsx"))
47
+ return ts.ScriptKind.JSX;
48
+ if (isJavaScriptSourceFile(file))
49
+ return ts.ScriptKind.JS;
50
+ return ts.ScriptKind.TS;
51
+ }
52
+ //# sourceMappingURL=source-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-files.js","sourceRoot":"","sources":["../../src/analysis/source-files.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,sCAAsC;IACzC,GAAG,sCAAsC;CACjC,CAAC;AAEX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,4BAA4B,CAAC,CAAC;AAC3E,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAC5C,sCAAsC,CACvC,CAAC;AACF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,UAAU,6BAA6B,CAAC,SAAiB;IAC7D,OAAO,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CACL,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,6BAA6B,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IACpD,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IAC1D,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;AAC1B,CAAC"}
@@ -25,7 +25,8 @@ export type ModuleReference = LocalImportReference & {
25
25
  };
26
26
  export type SourceIndex = {
27
27
  resolveName(file: string, name: string): Promise<ResolvedSourceReference | undefined>;
28
- resolveExpression(file: string, expression: ts.Expression): Promise<ResolvedSourceReference | undefined>;
28
+ resolveExpression(file: string, expression: ts.Expression, locals?: ReadonlyMap<string, ts.Declaration>): Promise<ResolvedSourceReference | undefined>;
29
+ resolveValue(file: string, expression: ts.Expression, locals?: ReadonlyMap<string, ts.Declaration>): Promise<ResolvedSourceReference | undefined>;
29
30
  resolveExport(file: string, exportName: string): Promise<ResolvedSourceReference | undefined>;
30
31
  sourceLocation(file: string, node: ts.Node, exportName?: string): Promise<AnalysisSourceLocation>;
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"source-index.d.ts","sourceRoot":"","sources":["../../src/analysis/source-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG;IACnD,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC;IAC7E,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAeF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAChD,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAChD,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAChD,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,WAAW,CAsO3E;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,EAAE,CAAC,mBAAmB,CAAA;CAAE,CAAC,CAiDpE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKzE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,EAAE,CAAC,uBAAuB,EAClC,IAAI,EAAE,MAAM,GACX,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAKnC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,KAAK,IAAI,GACvC,IAAI,CAMN;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAcjC;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAoG5B"}
1
+ {"version":3,"file":"source-index.d.ts","sourceRoot":"","sources":["../../src/analysis/source-index.ts"],"names":[],"mappings":"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"}
@@ -60,8 +60,6 @@ export function createSourceIndex(workspace) {
60
60
  if (statement.exportClause &&
61
61
  ts.isNamedExports(statement.exportClause)) {
62
62
  for (const element of statement.exportClause.elements) {
63
- if (statement.isTypeOnly || element.isTypeOnly)
64
- continue;
65
63
  index.localExports.set(element.name.text, element.propertyName?.text ?? element.name.text);
66
64
  }
67
65
  }
@@ -124,6 +122,9 @@ export function createSourceIndex(workspace) {
124
122
  if (localDeclaration) {
125
123
  return { file, exportName, declaration: localDeclaration };
126
124
  }
125
+ const imported = localName ? index.imports.get(localName) : undefined;
126
+ if (imported?.kind === "named")
127
+ return resolveExport(imported.file, imported.exportName, visited);
127
128
  const reexport = index.reexports.get(exportName);
128
129
  if (reexport) {
129
130
  return ((await resolveExport(reexport.file, reexport.exportName, visited)) ?? {
@@ -138,7 +139,7 @@ export function createSourceIndex(workspace) {
138
139
  }
139
140
  return undefined;
140
141
  };
141
- return {
142
+ const sourceIndex = {
142
143
  async resolveName(file, name) {
143
144
  const index = await readIndex(file);
144
145
  const local = index.locals.get(name);
@@ -153,11 +154,11 @@ export function createSourceIndex(workspace) {
153
154
  exportName: binding.exportName,
154
155
  });
155
156
  },
156
- async resolveExpression(file, rawExpression) {
157
+ async resolveExpression(file, rawExpression, locals) {
157
158
  const expression = unwrapExpression(rawExpression);
158
159
  const index = await readIndex(file);
159
160
  if (ts.isIdentifier(expression)) {
160
- const local = index.declarations.get(expression.text);
161
+ const local = locals?.get(expression.text) ?? index.locals.get(expression.text);
161
162
  if (local) {
162
163
  return { file, exportName: expression.text, declaration: local };
163
164
  }
@@ -171,6 +172,9 @@ export function createSourceIndex(workspace) {
171
172
  }
172
173
  if (ts.isPropertyAccessExpression(expression) &&
173
174
  ts.isIdentifier(expression.expression)) {
175
+ if (locals?.has(expression.expression.text) ||
176
+ index.locals.has(expression.expression.text))
177
+ return undefined;
174
178
  const binding = index.imports.get(expression.expression.text);
175
179
  if (binding?.kind !== "namespace")
176
180
  return undefined;
@@ -181,6 +185,30 @@ export function createSourceIndex(workspace) {
181
185
  }
182
186
  return undefined;
183
187
  },
188
+ async resolveValue(file, expression, locals) {
189
+ const visited = new Set();
190
+ async function follow(file, rawExpression, locals) {
191
+ const expression = unwrapExpression(rawExpression);
192
+ const reference = await sourceIndex.resolveExpression(file, expression, locals);
193
+ const declaration = reference?.declaration;
194
+ if (!reference || !declaration || visited.has(declaration))
195
+ return undefined;
196
+ visited.add(declaration);
197
+ if (!ts.isVariableDeclaration(declaration) || !declaration.initializer)
198
+ return reference;
199
+ if (!ts.isVariableDeclarationList(declaration.parent) ||
200
+ !(declaration.parent.flags & ts.NodeFlags.Const))
201
+ return undefined;
202
+ const initializer = unwrapExpression(declaration.initializer);
203
+ if (!ts.isIdentifier(initializer) &&
204
+ !ts.isPropertyAccessExpression(initializer))
205
+ return reference;
206
+ const local = ts.isIdentifier(expression) &&
207
+ locals?.get(expression.text) === declaration;
208
+ return follow(reference.file, initializer, local ? locals : undefined);
209
+ }
210
+ return follow(file, expression, locals);
211
+ },
184
212
  resolveExport(file, exportName) {
185
213
  return resolveExport(file, exportName);
186
214
  },
@@ -195,6 +223,7 @@ export function createSourceIndex(workspace) {
195
223
  };
196
224
  },
197
225
  };
226
+ return sourceIndex;
198
227
  }
199
228
  export function exportedVariableDeclarations(sourceFile) {
200
229
  const declarations = [];
@@ -1 +1 @@
1
- {"version":3,"file":"source-index.js","sourceRoot":"","sources":["../../src/analysis/source-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-index.js","sourceRoot":"","sources":["../../src/analysis/source-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AnalysisWorkspace } from "./workspace.js";
2
+ /** Follow declarative route composition without executing application modules. */
3
+ export declare function workspaceRouteContracts(workspace: AnalysisWorkspace): Promise<{
4
+ contracts: Set<string>;
5
+ groups: Set<string>;
6
+ unresolved: boolean;
7
+ }>;
8
+ //# sourceMappingURL=workspace-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-routes.d.ts","sourceRoot":"","sources":["../../src/analysis/workspace-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AASxD,kFAAkF;AAClF,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC;IACT,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAoKD"}
@@ -0,0 +1,291 @@
1
+ import ts from "typescript";
2
+ import { createSourceIndex } from "./source-index.js";
3
+ /** Follow declarative route composition without executing application modules. */
4
+ export async function workspaceRouteContracts(workspace) {
5
+ const sourceIndex = createSourceIndex(workspace);
6
+ const contracts = new Set();
7
+ const groups = new Set();
8
+ const visited = new Set();
9
+ const active = new Set();
10
+ let unresolved = false;
11
+ async function follow(file, expression, locals = new Map()) {
12
+ if (ts.isAsExpression(expression) ||
13
+ ts.isSatisfiesExpression(expression) ||
14
+ ts.isParenthesizedExpression(expression)) {
15
+ return follow(file, expression.expression, locals);
16
+ }
17
+ if (ts.isIdentifier(expression) ||
18
+ ts.isPropertyAccessExpression(expression)) {
19
+ const local = ts.isIdentifier(expression)
20
+ ? locals.get(expression.text)
21
+ : undefined;
22
+ const reference = local
23
+ ? { file, declaration: local }
24
+ : ts.isIdentifier(expression)
25
+ ? await sourceIndex.resolveName(file, expression.text)
26
+ : await sourceIndex.resolveExpression(file, expression);
27
+ if (!reference?.declaration ||
28
+ !ts.isVariableDeclaration(reference.declaration) ||
29
+ !reference.declaration.initializer) {
30
+ unresolved = true;
31
+ return;
32
+ }
33
+ const key = reference.declaration;
34
+ if (active.has(key)) {
35
+ unresolved = true;
36
+ return;
37
+ }
38
+ if (visited.has(key))
39
+ return;
40
+ visited.add(key);
41
+ active.add(key);
42
+ await follow(reference.file, reference.declaration.initializer, local ? locals : new Map());
43
+ active.delete(key);
44
+ return;
45
+ }
46
+ if (ts.isArrayLiteralExpression(expression)) {
47
+ for (const item of expression.elements) {
48
+ if (ts.isSpreadElement(item))
49
+ await follow(file, item.expression, locals);
50
+ else if (ts.isExpression(item))
51
+ await follow(file, item, locals);
52
+ else
53
+ unresolved = true;
54
+ }
55
+ return;
56
+ }
57
+ if (ts.isCallExpression(expression)) {
58
+ const name = ts.isIdentifier(expression.expression)
59
+ ? expression.expression.text
60
+ : undefined;
61
+ if ((name === "defineRoutes" ||
62
+ name === "defineRouteGroup" ||
63
+ name === "defineRoute") &&
64
+ expression.arguments[0]) {
65
+ if (name === "defineRouteGroup") {
66
+ let parent = expression.parent;
67
+ while (ts.isAsExpression(parent) ||
68
+ ts.isSatisfiesExpression(parent) ||
69
+ ts.isParenthesizedExpression(parent))
70
+ parent = parent.parent;
71
+ if (ts.isVariableDeclaration(parent) && ts.isIdentifier(parent.name))
72
+ groups.add(`${file}#${parent.name.text}`);
73
+ }
74
+ return follow(file, expression.arguments[0], locals);
75
+ }
76
+ unresolved = true;
77
+ return;
78
+ }
79
+ if (ts.isObjectLiteralExpression(expression)) {
80
+ if (!explicitObject(expression)) {
81
+ unresolved = true;
82
+ return;
83
+ }
84
+ let recognized = false;
85
+ for (const member of expression.properties) {
86
+ if (ts.isSpreadAssignment(member)) {
87
+ unresolved = true;
88
+ continue;
89
+ }
90
+ if (!ts.isPropertyAssignment(member) &&
91
+ !ts.isShorthandPropertyAssignment(member))
92
+ continue;
93
+ const name = ts.isIdentifier(member.name) || ts.isStringLiteralLike(member.name)
94
+ ? member.name.text
95
+ : undefined;
96
+ const value = ts.isPropertyAssignment(member)
97
+ ? member.initializer
98
+ : member.name;
99
+ if (name === "routes") {
100
+ recognized = true;
101
+ await follow(file, value, locals);
102
+ }
103
+ if (name === "contract") {
104
+ recognized = true;
105
+ const reference = await sourceIndex.resolveValue(file, value, locals);
106
+ if (reference)
107
+ contracts.add(`${reference.file}#${reference.exportName}`);
108
+ else
109
+ unresolved = true;
110
+ }
111
+ }
112
+ if (!recognized)
113
+ unresolved = true;
114
+ return;
115
+ }
116
+ unresolved = true;
117
+ }
118
+ const serverFile = workspace.config.paths.server;
119
+ if (!workspace.fileSet.has(serverFile))
120
+ return { contracts, groups, unresolved: true };
121
+ const selected = await selectedServerCall(workspace, sourceIndex);
122
+ if (!selected)
123
+ return { contracts, groups, unresolved: true };
124
+ const { file, call, locals } = selected;
125
+ const options = call.arguments[0];
126
+ if (!options ||
127
+ !ts.isObjectLiteralExpression(options) ||
128
+ !explicitObject(options)) {
129
+ return { contracts, groups, unresolved: true };
130
+ }
131
+ const routes = options.properties.find((member) => member.name &&
132
+ (ts.isIdentifier(member.name) || ts.isStringLiteralLike(member.name)) &&
133
+ member.name.text === "routes");
134
+ if (routes &&
135
+ (ts.isPropertyAssignment(routes) ||
136
+ ts.isShorthandPropertyAssignment(routes))) {
137
+ await follow(file, ts.isPropertyAssignment(routes) ? routes.initializer : routes.name, locals);
138
+ }
139
+ return { contracts, groups, unresolved };
140
+ }
141
+ /** Trace only the exported server or the value returned by its lazy loader. */
142
+ async function selectedServerCall(workspace, sourceIndex) {
143
+ const file = workspace.config.paths.server;
144
+ const roots = (await Promise.all(["server", "getServer"].map((name) => sourceIndex.resolveExport(file, name)))).filter((reference) => reference !== undefined);
145
+ if (roots.length !== 1)
146
+ return undefined;
147
+ const root = roots[0];
148
+ if (!root.declaration ||
149
+ !ts.isVariableDeclaration(root.declaration) ||
150
+ !root.declaration.initializer ||
151
+ !ts.isVariableDeclarationList(root.declaration.parent) ||
152
+ !(root.declaration.parent.flags & ts.NodeFlags.Const))
153
+ return undefined;
154
+ const visited = new Set();
155
+ return follow(root.file, root.declaration.initializer, new Map());
156
+ async function follow(file, expression, locals) {
157
+ if (visited.has(expression))
158
+ return undefined;
159
+ visited.add(expression);
160
+ if (ts.isAsExpression(expression) ||
161
+ ts.isSatisfiesExpression(expression) ||
162
+ ts.isParenthesizedExpression(expression) ||
163
+ ts.isAwaitExpression(expression))
164
+ return follow(file, expression.expression, locals);
165
+ if (ts.isIdentifier(expression)) {
166
+ const local = locals.get(expression.text);
167
+ const reference = local
168
+ ? { file, declaration: local }
169
+ : await sourceIndex.resolveName(file, expression.text);
170
+ const declaration = reference?.declaration;
171
+ if (!reference ||
172
+ !declaration ||
173
+ !ts.isVariableDeclaration(declaration) ||
174
+ !declaration.initializer ||
175
+ !ts.isVariableDeclarationList(declaration.parent) ||
176
+ !(declaration.parent.flags & ts.NodeFlags.Const))
177
+ return undefined;
178
+ return follow(reference.file, declaration.initializer, local ? locals : new Map());
179
+ }
180
+ // The canonical loader wraps stop() while preserving the server API.
181
+ if (ts.isObjectLiteralExpression(expression)) {
182
+ const [spread, ...overrides] = expression.properties;
183
+ if (!spread ||
184
+ !ts.isSpreadAssignment(spread) ||
185
+ overrides.some((property) => !property.name ||
186
+ !ts.isIdentifier(property.name) ||
187
+ property.name.text !== "stop"))
188
+ return undefined;
189
+ return follow(file, spread.expression, locals);
190
+ }
191
+ if (!ts.isCallExpression(expression))
192
+ return undefined;
193
+ const factory = importedFactory(await workspace.readSourceFile(file), expression.expression, locals);
194
+ if (factory ===
195
+ (workspace.config.framework === "next"
196
+ ? "createNextServer"
197
+ : "createFetchServer"))
198
+ return { file, call: expression, locals };
199
+ if (factory !== "createNextServerLoader" ||
200
+ workspace.config.framework !== "next")
201
+ return undefined;
202
+ const callback = expression.arguments[0];
203
+ if (!callback ||
204
+ (!ts.isArrowFunction(callback) && !ts.isFunctionExpression(callback)) ||
205
+ callback.parameters.length)
206
+ return undefined;
207
+ if (!ts.isBlock(callback.body))
208
+ return follow(file, callback.body, locals);
209
+ const scoped = new Map(locals);
210
+ let returned;
211
+ for (const statement of callback.body.statements) {
212
+ if (returned)
213
+ return undefined;
214
+ if (ts.isVariableStatement(statement)) {
215
+ for (const declaration of statement.declarationList.declarations)
216
+ addLocal(scoped, declaration.name, declaration);
217
+ }
218
+ else if (ts.isFunctionDeclaration(statement) && statement.name) {
219
+ scoped.set(statement.name.text, statement);
220
+ }
221
+ else if (ts.isReturnStatement(statement)) {
222
+ if (!statement.expression)
223
+ return undefined;
224
+ returned = statement.expression;
225
+ }
226
+ else if (!ts.isExpressionStatement(statement) &&
227
+ !ts.isFunctionDeclaration(statement) &&
228
+ !ts.isEmptyStatement(statement))
229
+ return undefined;
230
+ }
231
+ return returned ? follow(file, returned, scoped) : undefined;
232
+ }
233
+ }
234
+ function importedFactory(source, expression, locals) {
235
+ const receiver = ts.isIdentifier(expression)
236
+ ? expression
237
+ : ts.isPropertyAccessExpression(expression) &&
238
+ ts.isIdentifier(expression.expression)
239
+ ? expression.expression
240
+ : undefined;
241
+ if (!receiver || locals.has(receiver.text))
242
+ return undefined;
243
+ for (const statement of source.statements) {
244
+ if (!ts.isImportDeclaration(statement) ||
245
+ !ts.isStringLiteral(statement.moduleSpecifier) ||
246
+ statement.importClause?.isTypeOnly)
247
+ continue;
248
+ const bindings = statement.importClause?.namedBindings;
249
+ const name = bindings && ts.isNamedImports(bindings) && ts.isIdentifier(expression)
250
+ ? bindings.elements.find((element) => element.name.text === receiver.text && !element.isTypeOnly)
251
+ : undefined;
252
+ const imported = name
253
+ ? (name.propertyName ?? name.name).text
254
+ : bindings &&
255
+ ts.isNamespaceImport(bindings) &&
256
+ bindings.name.text === receiver.text &&
257
+ ts.isPropertyAccessExpression(expression)
258
+ ? expression.name.text
259
+ : undefined;
260
+ if (statement.moduleSpecifier.text === "@beignet/next" &&
261
+ (imported === "createNextServer" || imported === "createNextServerLoader"))
262
+ return imported;
263
+ if (statement.moduleSpecifier.text === "@beignet/web" &&
264
+ imported === "createFetchServer")
265
+ return imported;
266
+ }
267
+ return undefined;
268
+ }
269
+ function addLocal(locals, name, declaration) {
270
+ if (ts.isIdentifier(name))
271
+ locals.set(name.text, declaration);
272
+ else
273
+ for (const element of name.elements)
274
+ if (ts.isBindingElement(element))
275
+ addLocal(locals, element.name, element);
276
+ }
277
+ function explicitObject(object) {
278
+ const names = new Set();
279
+ for (const property of object.properties) {
280
+ if (ts.isSpreadAssignment(property) ||
281
+ !property.name ||
282
+ (!ts.isIdentifier(property.name) &&
283
+ !ts.isStringLiteralLike(property.name)))
284
+ return false;
285
+ if (names.has(property.name.text))
286
+ return false;
287
+ names.add(property.name.text);
288
+ }
289
+ return true;
290
+ }
291
+ //# sourceMappingURL=workspace-routes.js.map