@beignet/cli 0.0.42 → 0.0.43

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 (58) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +19 -4
  3. package/dist/analysis/source-index.d.ts +1 -1
  4. package/dist/analysis/source-index.d.ts.map +1 -1
  5. package/dist/analysis/source-index.js +4 -2
  6. package/dist/analysis/source-index.js.map +1 -1
  7. package/dist/analysis/workspace.d.ts +3 -2
  8. package/dist/analysis/workspace.d.ts.map +1 -1
  9. package/dist/analysis/workspace.js +51 -39
  10. package/dist/analysis/workspace.js.map +1 -1
  11. package/dist/app-map.d.ts.map +1 -1
  12. package/dist/app-map.js +65 -4
  13. package/dist/app-map.js.map +1 -1
  14. package/dist/inspect.d.ts +5 -0
  15. package/dist/inspect.d.ts.map +1 -1
  16. package/dist/inspect.js +32 -135
  17. package/dist/inspect.js.map +1 -1
  18. package/dist/make/inbox.js +4 -4
  19. package/dist/make/payments.js +6 -6
  20. package/dist/make/tenancy.d.ts.map +1 -1
  21. package/dist/make/tenancy.js +12 -14
  22. package/dist/make/tenancy.js.map +1 -1
  23. package/dist/make.d.ts.map +1 -1
  24. package/dist/make.js +33 -23
  25. package/dist/make.js.map +1 -1
  26. package/dist/registry-edits.d.ts +7 -1
  27. package/dist/registry-edits.d.ts.map +1 -1
  28. package/dist/registry-edits.js +61 -43
  29. package/dist/registry-edits.js.map +1 -1
  30. package/dist/templates/agents.d.ts.map +1 -1
  31. package/dist/templates/agents.js +8 -1
  32. package/dist/templates/agents.js.map +1 -1
  33. package/dist/templates/base.js +2 -2
  34. package/dist/templates/base.js.map +1 -1
  35. package/dist/templates/db/mysql.js +3 -3
  36. package/dist/templates/db/postgres.js +3 -3
  37. package/dist/templates/db/sqlite.js +3 -3
  38. package/dist/templates/server.js +4 -4
  39. package/dist/templates/server.js.map +1 -1
  40. package/dist/templates/todos.js +2 -2
  41. package/package.json +2 -2
  42. package/skills/app-structure/SKILL.md +9 -0
  43. package/src/analysis/source-index.ts +12 -3
  44. package/src/analysis/workspace.ts +94 -52
  45. package/src/app-map.ts +82 -4
  46. package/src/inspect.ts +40 -150
  47. package/src/make/inbox.ts +4 -4
  48. package/src/make/payments.ts +6 -6
  49. package/src/make/tenancy.ts +12 -14
  50. package/src/make.ts +36 -24
  51. package/src/registry-edits.ts +81 -39
  52. package/src/templates/agents.ts +8 -1
  53. package/src/templates/base.ts +2 -2
  54. package/src/templates/db/mysql.ts +3 -3
  55. package/src/templates/db/postgres.ts +3 -3
  56. package/src/templates/db/sqlite.ts +3 -3
  57. package/src/templates/server.ts +4 -4
  58. package/src/templates/todos.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @beignet/cli
2
2
 
3
+ ## 0.0.43
4
+
5
+ ### Patch Changes
6
+
7
+ - 19b9c52: Keep devtools HTTP routes closed outside development unless explicitly enabled and authorized, and generate development-only devtools defaults.
8
+ - 19b9c52: Add a direct Better Auth port adapter and use typed object options for provider setup.
9
+ - 19b9c52: Make registry edits comment- and multiline-safe, fail upload generation before partial writes when registration cannot be updated, and preserve TypeScript alias, unresolved contract/import, and structured registration evidence in app maps.
10
+ - 19b9c52: Modernize generated Zod and Drizzle syntax, flush Pino logs during provider shutdown, strengthen shared credential redaction, add mail operation durations, and correct copied documentation examples.
11
+ - Updated dependencies [19b9c52]
12
+ - Updated dependencies [19b9c52]
13
+ - Updated dependencies [19b9c52]
14
+ - @beignet/core@0.0.43
15
+
3
16
  ## 0.0.42
4
17
 
5
18
  ### Patch Changes
package/README.md CHANGED
@@ -752,6 +752,12 @@ also writes `features/posts/client/attachment-upload.ts`,
752
752
  failures, reset, and completion. API-only apps reject `--ui` before writing;
753
753
  omit it to generate the backend upload workflow alone.
754
754
 
755
+ Upload generation preflights central registration before writing any feature
756
+ or provider files. If an app has replaced the generated
757
+ `uploadRegistry = defineUploads({ ... })` shape, the command fails with the
758
+ exact registry entry to add manually; it never reports success with an
759
+ unregistered upload.
760
+
755
761
  Each command creates or updates the folder's `index.ts` with an exported
756
762
  registry such as `postTasks`, `postJobs`, `postNotifications`,
757
763
  `postListeners`, `postSchedules`, or `postUploads`. Task generators also
@@ -989,6 +995,14 @@ tables, OpenAPI exposure, tests, cross-feature dependencies, doctor/lint
989
995
  findings, and unresolved references. Every node has a stable ID and source;
990
996
  every edge carries source evidence and confidence.
991
997
 
998
+ The JSON app map retains failed local module references as explicit
999
+ `local_import_unresolved` entries instead of silently omitting their edges. It
1000
+ also reports `contract_declaration_unresolved` when it finds an exported direct
1001
+ `defineContract(...)` declaration whose method or path cannot be derived
1002
+ statically. Registration diagnostics identify their declaration through a
1003
+ structured `subject.file` and `subject.exportName`; registration status in the
1004
+ map uses that identity rather than matching human-readable messages.
1005
+
992
1006
  `--feature` keeps that feature plus its direct relationships, while `--kind`
993
1007
  accepts one or a comma-separated list of node kinds. These projections make
994
1008
  the same full graph practical for coding-agent context windows. The command is
@@ -1096,10 +1110,11 @@ feature-specific domain files importing another feature's domain unless the
1096
1110
  target is `features/shared/domain`. Workflow folders include feature-owned
1097
1111
  jobs, listeners, notifications, schedules, and uploads.
1098
1112
 
1099
- Local `@/` imports are resolved through the app's `tsconfig.json` path mapping,
1100
- including `@/* -> ./src/*` layouts, before dependency direction is classified.
1101
- The CLI uses TypeScript's config parser, so JSON comments and extended
1102
- tsconfigs follow the same rules as the compiler.
1113
+ Local imports are resolved with the app's complete `tsconfig.json`
1114
+ configuration before dependency direction is classified. That includes
1115
+ `baseUrl`, every `paths` alias such as `@/*`, `~/*`, or `#app/*`, and aliases
1116
+ with multiple targets. The CLI uses TypeScript's config parser and resolver, so
1117
+ JSON comments and extended tsconfigs follow the same rules as the compiler.
1103
1118
 
1104
1119
  Import diagnostics include 1-based `line` and `column` positions. Human
1105
1120
  output prints clickable `file.ts:12:3` locations; runtime-boundary
@@ -14,7 +14,7 @@ export type ResolvedSourceReference = {
14
14
  export type LocalImportReference = {
15
15
  file: string;
16
16
  importPath: string;
17
- resolvedFile: string;
17
+ resolvedFile?: string;
18
18
  kind: "type" | "value";
19
19
  line: number;
20
20
  column: number;
@@ -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,EAAE,KAAK,iBAAiB,EAA0B,MAAM,gBAAgB,CAAC;AAEhF,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,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAaF,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,CAuM3E;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,CAqBpE;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,CAkDjC"}
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;AAaF,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,CAuM3E;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,CAqBpE;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,CAuDjC"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
- import { resolveLocalSourceFile } from "./workspace.js";
2
+ import { isLocalModuleSpecifier, resolveLocalSourceFile, } from "./workspace.js";
3
3
  export function createSourceIndex(workspace) {
4
4
  const indexes = new Map();
5
5
  const readIndex = async (file) => {
@@ -224,8 +224,10 @@ export async function localImportReferences(workspace, file) {
224
224
  const resolvedFile = importPath
225
225
  ? resolveLocalSourceFile(workspace, file, importPath)
226
226
  : undefined;
227
- if (!importPath || !resolvedFile)
227
+ if (!importPath ||
228
+ (!resolvedFile && !isLocalModuleSpecifier(workspace, file, importPath))) {
228
229
  continue;
230
+ }
229
231
  const position = sourceFile.getLineAndCharacterOfPosition(statement.getStart(sourceFile));
230
232
  const typeOnly = ts.isImportDeclaration(statement)
231
233
  ? Boolean(statement.importClause?.isTypeOnly ||
@@ -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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"}
@@ -5,12 +5,13 @@ export type AnalysisWorkspace = {
5
5
  files: string[];
6
6
  fileSet: Set<string>;
7
7
  config: ResolvedBeignetConfig;
8
- atAliasRoot: string;
8
+ compilerOptions: ts.CompilerOptions;
9
9
  readSource(file: string): Promise<string>;
10
10
  readSourceFile(file: string): Promise<ts.SourceFile>;
11
11
  };
12
12
  export declare function createAnalysisWorkspace(cwd?: string): Promise<AnalysisWorkspace>;
13
13
  export declare function assertDirectory(targetDir: string): Promise<void>;
14
14
  export declare function listProjectFiles(targetDir: string): Promise<string[]>;
15
- export declare function resolveLocalSourceFile(workspace: Pick<AnalysisWorkspace, "atAliasRoot" | "fileSet">, importerFile: string, importPath: string): string | undefined;
15
+ export declare function resolveLocalSourceFile(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "targetDir">, importerFile: string, importPath: string): string | undefined;
16
+ export declare function isLocalModuleSpecifier(workspace: Pick<AnalysisWorkspace, "compilerOptions" | "fileSet" | "targetDir">, importerFile: string, importPath: string): boolean;
16
17
  //# 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,EAIL,KAAK,qBAAqB,EAC3B,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,WAAW,EAAE,MAAM,CAAC;IACpB,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,wBAAsB,uBAAuB,CAC3C,GAAG,SAAgB,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;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,CAAC,iBAAiB,EAAE,aAAa,GAAG,SAAS,CAAC,EAC7D,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CA6BpB"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,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,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,wBAAsB,uBAAuB,CAC3C,GAAG,SAAgB,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;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,WAAW,CAC5C,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,WAAW,CAC5C,EACD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CA4CT"}
@@ -1,7 +1,7 @@
1
1
  import { readdir, readFile, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import ts from "typescript";
4
- import { directoryPath, loadBeignetConfig, normalizePath, } from "../config.js";
4
+ import { loadBeignetConfig, normalizePath, } from "../config.js";
5
5
  const ignoredDirectoryNames = new Set([
6
6
  ".git",
7
7
  ".next",
@@ -16,7 +16,7 @@ export async function createAnalysisWorkspace(cwd = process.cwd()) {
16
16
  const files = await listProjectFiles(targetDir);
17
17
  const fileSet = new Set(files);
18
18
  const config = await loadBeignetConfig(targetDir, files);
19
- const atAliasRoot = resolveAtAliasRoot(targetDir);
19
+ const compilerOptions = resolveCompilerOptions(targetDir);
20
20
  const sources = new Map();
21
21
  const sourceFiles = new Map();
22
22
  const readSource = async (file) => {
@@ -32,7 +32,7 @@ export async function createAnalysisWorkspace(cwd = process.cwd()) {
32
32
  files,
33
33
  fileSet,
34
34
  config,
35
- atAliasRoot,
35
+ compilerOptions,
36
36
  readSource,
37
37
  async readSourceFile(file) {
38
38
  const cached = sourceFiles.get(file);
@@ -79,48 +79,60 @@ export async function listProjectFiles(targetDir) {
79
79
  return files.sort();
80
80
  }
81
81
  export function resolveLocalSourceFile(workspace, importerFile, importPath) {
82
- let candidate;
83
- if (importPath.startsWith("@/")) {
84
- candidate = path.posix.join(workspace.atAliasRoot, importPath.slice("@/".length));
82
+ const resolved = resolveModule(workspace, importerFile, importPath);
83
+ if (!resolved)
84
+ return undefined;
85
+ const file = normalizePath(path.relative(workspace.targetDir, resolved.resolvedFileName));
86
+ if (file === ".." || file.startsWith("../"))
87
+ return undefined;
88
+ return workspace.fileSet.has(file) ? file : undefined;
89
+ }
90
+ export function isLocalModuleSpecifier(workspace, importerFile, importPath) {
91
+ const extension = path.posix.extname(importPath);
92
+ if (extension &&
93
+ ![".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"].includes(extension)) {
94
+ return false;
85
95
  }
86
- else if (importPath.startsWith(".")) {
87
- candidate = normalizePath(path.join(path.dirname(importerFile), importPath));
96
+ if (importPath.startsWith("."))
97
+ return true;
98
+ const resolved = resolveModule(workspace, importerFile, importPath);
99
+ if (resolved) {
100
+ const file = normalizePath(path.relative(workspace.targetDir, resolved.resolvedFileName));
101
+ return (file !== ".." && !file.startsWith("../") && workspace.fileSet.has(file));
88
102
  }
89
- else {
90
- return undefined;
103
+ const pathPatterns = Object.keys(workspace.compilerOptions.paths ?? {});
104
+ if (pathPatterns.some((pattern) =>
105
+ // A catch-all also matches every bare package name. Local matches for
106
+ // it resolve above or have an app-owned baseUrl prefix below.
107
+ pattern !== "*" && modulePatternMatches(pattern, importPath))) {
108
+ return true;
91
109
  }
92
- const withoutExtension = candidate.replace(/\.(c|m)?tsx?$/, "");
93
- const candidates = [
94
- candidate,
95
- `${withoutExtension}.ts`,
96
- `${withoutExtension}.tsx`,
97
- `${withoutExtension}.mts`,
98
- `${withoutExtension}.cts`,
99
- `${withoutExtension}/index.ts`,
100
- `${withoutExtension}/index.tsx`,
101
- `${withoutExtension}/index.mts`,
102
- `${withoutExtension}/index.cts`,
103
- ];
104
- return candidates.find((file) => workspace.fileSet.has(file));
110
+ const baseUrl = workspace.compilerOptions.baseUrl;
111
+ if (!baseUrl)
112
+ return false;
113
+ const firstSegment = importPath.split("/")[0];
114
+ const prefix = normalizePath(path.relative(workspace.targetDir, path.resolve(baseUrl, firstSegment)));
115
+ for (const file of workspace.fileSet) {
116
+ if (file === prefix || file.startsWith(`${prefix}/`))
117
+ return true;
118
+ }
119
+ return false;
120
+ }
121
+ function resolveModule(workspace, importerFile, importPath) {
122
+ return ts.resolveModuleName(importPath, path.join(workspace.targetDir, importerFile), workspace.compilerOptions, ts.sys).resolvedModule;
105
123
  }
106
- function resolveAtAliasRoot(targetDir) {
107
- const parsed = ts.getParsedCommandLineOfConfigFile(path.join(targetDir, "tsconfig.json"), {}, {
124
+ function modulePatternMatches(pattern, importPath) {
125
+ const wildcard = pattern.indexOf("*");
126
+ if (wildcard === -1)
127
+ return pattern === importPath;
128
+ return (importPath.startsWith(pattern.slice(0, wildcard)) &&
129
+ importPath.endsWith(pattern.slice(wildcard + 1)));
130
+ }
131
+ function resolveCompilerOptions(targetDir) {
132
+ return (ts.getParsedCommandLineOfConfigFile(path.join(targetDir, "tsconfig.json"), {}, {
108
133
  ...ts.sys,
109
134
  onUnRecoverableConfigFileDiagnostic: () => { },
110
- });
111
- const aliasTarget = parsed?.options.paths?.["@/*"]?.[0];
112
- if (!aliasTarget)
113
- return "";
114
- const targetWithoutWildcard = aliasTarget.replace(/[/\\]?\*$/, "");
115
- const baseUrl = parsed.options.baseUrl ?? targetDir;
116
- const relativeTarget = normalizePath(path.relative(targetDir, path.resolve(baseUrl, targetWithoutWildcard)));
117
- if (relativeTarget === "" ||
118
- relativeTarget === "." ||
119
- relativeTarget === ".." ||
120
- relativeTarget.startsWith("../")) {
121
- return "";
122
- }
123
- return directoryPath(relativeTarget);
135
+ })?.options ?? {});
124
136
  }
125
137
  function scriptKind(file) {
126
138
  if (file.endsWith(".tsx"))
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,GAEd,MAAM,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,MAAM;IACN,cAAc;CACf,CAAC,CAAC;AAYH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAErD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,KAAK;QACL,OAAO;QACP,MAAM;QACN,WAAW;QACX,UAAU;QACV,KAAK,CAAC,cAAc,CAAC,IAAI;YACvB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,MAAM,UAAU,CAAC,IAAI,CAAC,EACtB,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,UAAU,CAAC,IAAI,CAAC,CACjB,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,sBAAsB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,kBAAkB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,KAAK,CAAC,WAAmB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEpD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAA6D,EAC7D,YAAoB,EACpB,UAAkB;IAElB,IAAI,SAAiB,CAAC;IACtB,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACzB,SAAS,CAAC,WAAW,EACrB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAC9B,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,SAAS,GAAG,aAAa,CACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAClD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG;QACjB,SAAS;QACT,GAAG,gBAAgB,KAAK;QACxB,GAAG,gBAAgB,MAAM;QACzB,GAAG,gBAAgB,MAAM;QACzB,GAAG,gBAAgB,MAAM;QACzB,GAAG,gBAAgB,WAAW;QAC9B,GAAG,gBAAgB,YAAY;QAC/B,GAAG,gBAAgB,YAAY;QAC/B,GAAG,gBAAgB,YAAY;KAChC,CAAC;IAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACrC,EAAE,EACF;QACE,GAAG,EAAE,CAAC,GAAG;QACT,mCAAmC,EAAE,GAAG,EAAE,GAAE,CAAC;KAC9C,CACF,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IACpD,MAAM,cAAc,GAAG,aAAa,CAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CACvE,CAAC;IACF,IACE,cAAc,KAAK,EAAE;QACrB,cAAc,KAAK,GAAG;QACtB,cAAc,KAAK,IAAI;QACvB,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,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,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IAC3E,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;AAC1B,CAAC"}
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.d.ts","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-map.d.ts","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}
package/dist/app-map.js CHANGED
@@ -114,6 +114,12 @@ export async function mapApp(options = {}) {
114
114
  addEdge(exactEdge("authorizes", id, abilityId(ability), contract.file));
115
115
  }
116
116
  }
117
+ await addUnresolvedContractDeclarations({
118
+ workspace,
119
+ sourceIndex,
120
+ contractIds,
121
+ unresolved,
122
+ });
117
123
  const routeIds = new Map();
118
124
  for (const route of inspection.routes) {
119
125
  const contractId = contractIds.get(symbolKey(route.file, route.exportName));
@@ -398,6 +404,7 @@ export async function mapApp(options = {}) {
398
404
  addEdge,
399
405
  });
400
406
  await addTables({ workspace, sourceIndex, addNode });
407
+ await addUnresolvedLocalImports({ workspace, unresolved });
401
408
  await addFeatureDependencies({
402
409
  workspace,
403
410
  featuresPath,
@@ -579,8 +586,8 @@ async function addRouteGroups(args) {
579
586
  const groupName = literalText(propertyAssignment(options, "name")?.initializer);
580
587
  const id = `route-group:${file}#${exportName}`;
581
588
  const missing = args.diagnostics.some((diagnostic) => diagnostic.code === "BEIGNET_ROUTE_GROUP_UNREGISTERED" &&
582
- diagnostic.message.includes(file) &&
583
- diagnostic.message.includes(exportName));
589
+ diagnostic.subject?.file === file &&
590
+ diagnostic.subject.exportName === exportName);
584
591
  args.addNode({
585
592
  id,
586
593
  kind: "route-group",
@@ -777,6 +784,8 @@ async function addFeatureDependencies(args) {
777
784
  if (!from || !args.featureNames.has(from))
778
785
  continue;
779
786
  for (const reference of await localImportReferences(args.workspace, file)) {
787
+ if (!reference.resolvedFile)
788
+ continue;
780
789
  const to = featureForFile(reference.resolvedFile, args.featuresPath);
781
790
  if (!to || to === from || !args.featureNames.has(to))
782
791
  continue;
@@ -818,6 +827,58 @@ async function addFeatureDependencies(args) {
818
827
  });
819
828
  }
820
829
  }
830
+ async function addUnresolvedLocalImports(args) {
831
+ for (const file of args.workspace.files.filter(isTypeScriptSource)) {
832
+ for (const reference of await localImportReferences(args.workspace, file)) {
833
+ if (reference.resolvedFile)
834
+ continue;
835
+ args.unresolved.push({
836
+ code: "local_import_unresolved",
837
+ message: `Could not resolve local module ${JSON.stringify(reference.importPath)} imported by ${file}.`,
838
+ source: {
839
+ file,
840
+ line: reference.line,
841
+ column: reference.column,
842
+ },
843
+ });
844
+ }
845
+ }
846
+ }
847
+ async function addUnresolvedContractDeclarations(args) {
848
+ for (const file of appMapContractSourceFiles(args.workspace)) {
849
+ const sourceFile = await args.workspace.readSourceFile(file);
850
+ for (const { exportName, declaration } of exportedVariableDeclarations(sourceFile)) {
851
+ if (args.contractIds.has(symbolKey(file, exportName)))
852
+ continue;
853
+ const call = declaration.initializer
854
+ ? findCall(declaration.initializer, new Set(["defineContract"]))
855
+ : undefined;
856
+ if (!call)
857
+ continue;
858
+ args.unresolved.push({
859
+ code: "contract_declaration_unresolved",
860
+ message: `Could not resolve the HTTP method and path for contract ${exportName}.`,
861
+ source: await args.sourceIndex.sourceLocation(file, declaration, exportName),
862
+ });
863
+ }
864
+ }
865
+ }
866
+ function appMapContractSourceFiles(workspace) {
867
+ const contractsPath = directoryPath(workspace.config.paths.contracts);
868
+ const featureOwned = contractsPath === directoryPath(workspace.config.paths.features);
869
+ return workspace.files.filter((file) => {
870
+ if (!file.endsWith(".ts") || file.endsWith(".test.ts"))
871
+ return false;
872
+ if (featureOwned) {
873
+ const prefix = `${contractsPath}/`;
874
+ if (!file.startsWith(prefix))
875
+ return false;
876
+ const parts = file.slice(prefix.length).split("/");
877
+ return parts.length === 2 && parts[1] === "contracts.ts";
878
+ }
879
+ return (file === `${contractsPath}.ts` || file.startsWith(`${contractsPath}/`));
880
+ });
881
+ }
821
882
  async function registryRecord(args) {
822
883
  const initializer = args.declaration.initializer;
823
884
  if (!initializer)
@@ -984,8 +1045,8 @@ function definitionStatus(kind, file, exportName, diagnostics) {
984
1045
  if (!relevant)
985
1046
  return "declared";
986
1047
  return diagnostics.some((diagnostic) => relevant.includes(diagnostic.code) &&
987
- diagnostic.message.includes(file) &&
988
- diagnostic.message.includes(exportName))
1048
+ diagnostic.subject?.file === file &&
1049
+ diagnostic.subject.exportName === exportName)
989
1050
  ? "missing"
990
1051
  : "registered";
991
1052
  }