@nifrajs/cli 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +10 -0
  2. package/dist/assure-hydration.d.ts.map +1 -1
  3. package/dist/assure-hydration.js +6 -1
  4. package/dist/assure-hydration.js.map +1 -1
  5. package/dist/assure.d.ts.map +1 -1
  6. package/dist/assure.js +3 -2
  7. package/dist/assure.js.map +1 -1
  8. package/dist/check-diagnostics.d.ts +165 -0
  9. package/dist/check-diagnostics.d.ts.map +1 -0
  10. package/dist/check-diagnostics.js +1009 -0
  11. package/dist/check-diagnostics.js.map +1 -0
  12. package/dist/check-scan.d.ts +245 -0
  13. package/dist/check-scan.d.ts.map +1 -0
  14. package/dist/check-scan.js +1599 -0
  15. package/dist/check-scan.js.map +1 -0
  16. package/dist/check.d.ts +4 -324
  17. package/dist/check.d.ts.map +1 -1
  18. package/dist/check.js +8 -2366
  19. package/dist/check.js.map +1 -1
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +247 -10
  22. package/dist/cli.js.map +1 -1
  23. package/dist/command-catalog.d.ts +21 -1
  24. package/dist/command-catalog.d.ts.map +1 -1
  25. package/dist/command-catalog.js +122 -0
  26. package/dist/command-catalog.js.map +1 -1
  27. package/dist/env-file.js +5 -5
  28. package/dist/env-file.js.map +1 -1
  29. package/dist/frontend-guidance.d.ts +57 -0
  30. package/dist/frontend-guidance.d.ts.map +1 -0
  31. package/dist/frontend-guidance.js +195 -0
  32. package/dist/frontend-guidance.js.map +1 -0
  33. package/dist/levels-tool.d.ts.map +1 -1
  34. package/dist/levels-tool.js +6 -0
  35. package/dist/levels-tool.js.map +1 -1
  36. package/dist/load.d.ts.map +1 -1
  37. package/dist/load.js +4 -1
  38. package/dist/load.js.map +1 -1
  39. package/dist/mcp-context.d.ts +48 -0
  40. package/dist/mcp-context.d.ts.map +1 -0
  41. package/dist/mcp-context.js +215 -0
  42. package/dist/mcp-context.js.map +1 -0
  43. package/dist/mcp-docs-tools.d.ts.map +1 -1
  44. package/dist/mcp-docs-tools.js +31 -0
  45. package/dist/mcp-docs-tools.js.map +1 -1
  46. package/dist/mcp-exec.d.ts +74 -0
  47. package/dist/mcp-exec.d.ts.map +1 -0
  48. package/dist/mcp-exec.js +844 -0
  49. package/dist/mcp-exec.js.map +1 -0
  50. package/dist/mcp-http.js +1 -1
  51. package/dist/mcp-io.d.ts +26 -0
  52. package/dist/mcp-io.d.ts.map +1 -0
  53. package/dist/mcp-io.js +100 -0
  54. package/dist/mcp-io.js.map +1 -0
  55. package/dist/mcp-reflect.d.ts +16 -0
  56. package/dist/mcp-reflect.d.ts.map +1 -0
  57. package/dist/mcp-reflect.js +101 -0
  58. package/dist/mcp-reflect.js.map +1 -0
  59. package/dist/mcp-root.d.ts +7 -0
  60. package/dist/mcp-root.d.ts.map +1 -1
  61. package/dist/mcp-root.js +51 -3
  62. package/dist/mcp-root.js.map +1 -1
  63. package/dist/mcp.d.ts +10 -92
  64. package/dist/mcp.d.ts.map +1 -1
  65. package/dist/mcp.js +13 -1232
  66. package/dist/mcp.js.map +1 -1
  67. package/dist/openapi-tool.d.ts +5 -10
  68. package/dist/openapi-tool.d.ts.map +1 -1
  69. package/dist/openapi-tool.js +21 -2
  70. package/dist/openapi-tool.js.map +1 -1
  71. package/dist/openapi-types.d.ts +21 -0
  72. package/dist/openapi-types.d.ts.map +1 -0
  73. package/dist/openapi-types.js +214 -0
  74. package/dist/openapi-types.js.map +1 -0
  75. package/dist/port.d.ts.map +1 -1
  76. package/dist/port.js +2 -1
  77. package/dist/port.js.map +1 -1
  78. package/dist/project-facts.d.ts +2 -1
  79. package/dist/project-facts.d.ts.map +1 -1
  80. package/dist/project-facts.js.map +1 -1
  81. package/dist/release-verification.d.ts +4 -1
  82. package/dist/release-verification.d.ts.map +1 -1
  83. package/dist/release-verification.js +6 -138
  84. package/dist/release-verification.js.map +1 -1
  85. package/dist/rules/codes.d.ts +4 -0
  86. package/dist/rules/codes.d.ts.map +1 -1
  87. package/dist/rules/codes.js +4 -0
  88. package/dist/rules/codes.js.map +1 -1
  89. package/dist/rules/islands.d.ts +4 -0
  90. package/dist/rules/islands.d.ts.map +1 -0
  91. package/dist/rules/islands.js +155 -0
  92. package/dist/rules/islands.js.map +1 -0
  93. package/dist/rules/nano.d.ts +6 -0
  94. package/dist/rules/nano.d.ts.map +1 -0
  95. package/dist/rules/nano.js +264 -0
  96. package/dist/rules/nano.js.map +1 -0
  97. package/dist/rules/security.d.ts.map +1 -1
  98. package/dist/rules/security.js +38 -4
  99. package/dist/rules/security.js.map +1 -1
  100. package/dist/scaffold.d.ts +12 -6
  101. package/dist/scaffold.d.ts.map +1 -1
  102. package/dist/scaffold.js +149 -10
  103. package/dist/scaffold.js.map +1 -1
  104. package/dist/search-terms.d.ts.map +1 -1
  105. package/dist/search-terms.js +5 -3
  106. package/dist/search-terms.js.map +1 -1
  107. package/dist/stylex-migrate.d.ts +38 -0
  108. package/dist/stylex-migrate.d.ts.map +1 -0
  109. package/dist/stylex-migrate.js +1052 -0
  110. package/dist/stylex-migrate.js.map +1 -0
  111. package/dist/sync-manifest.d.ts.map +1 -1
  112. package/dist/sync-manifest.js +2 -1
  113. package/dist/sync-manifest.js.map +1 -1
  114. package/dist/verification-plan.d.ts +24 -0
  115. package/dist/verification-plan.d.ts.map +1 -0
  116. package/dist/verification-plan.js +116 -0
  117. package/dist/verification-plan.js.map +1 -0
  118. package/dist/work-graph.d.ts.map +1 -1
  119. package/dist/work-graph.js +6 -3
  120. package/dist/work-graph.js.map +1 -1
  121. package/docs/examples.json +46 -4
  122. package/docs/llms-full.txt +1346 -28
  123. package/docs/types.json +4185 -87
  124. package/package.json +9 -9
  125. package/src/assure-hydration.ts +6 -1
  126. package/src/assure.ts +4 -2
  127. package/src/check-diagnostics.ts +1219 -0
  128. package/src/check-scan.ts +1825 -0
  129. package/src/check.ts +47 -2752
  130. package/src/cli.ts +252 -10
  131. package/src/command-catalog.ts +155 -0
  132. package/src/env-file.ts +5 -5
  133. package/src/frontend-guidance.ts +259 -0
  134. package/src/levels-tool.ts +6 -0
  135. package/src/load.ts +4 -1
  136. package/src/mcp-context.ts +266 -0
  137. package/src/mcp-docs-tools.ts +37 -0
  138. package/src/mcp-exec.ts +1040 -0
  139. package/src/mcp-http.ts +1 -1
  140. package/src/mcp-io.ts +118 -0
  141. package/src/mcp-reflect.ts +140 -0
  142. package/src/mcp-root.ts +62 -4
  143. package/src/mcp.ts +61 -1511
  144. package/src/openapi-tool.ts +32 -2
  145. package/src/openapi-types.ts +261 -0
  146. package/src/port.ts +2 -1
  147. package/src/project-facts.ts +2 -4
  148. package/src/release-verification.ts +22 -164
  149. package/src/rules/codes.ts +4 -0
  150. package/src/rules/islands.ts +171 -0
  151. package/src/rules/nano.ts +295 -0
  152. package/src/rules/security.ts +40 -4
  153. package/src/scaffold.ts +169 -9
  154. package/src/search-terms.ts +7 -3
  155. package/src/stylex-migrate.ts +1139 -0
  156. package/src/sync-manifest.ts +2 -1
  157. package/src/verification-plan.ts +242 -0
  158. package/src/work-graph.ts +6 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-diagnostics.js","sourceRoot":"","sources":["../src/check-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Pure source scanners for the nifra verification pipeline.
3
+ *
4
+ * This module deliberately has no CLI, policy, or diagnostic-view dependencies. Its interface is
5
+ * source text plus injected module/type resolvers, which keeps the scanner seam independently testable.
6
+ */
7
+ import type * as TSApi from "typescript";
8
+ import type { SourceFacts } from "./internal/source-facts.js";
9
+ import { type TypeScriptApi } from "./internal/typescript-import.js";
10
+ export interface SourceFinding {
11
+ readonly file: string;
12
+ readonly line: number;
13
+ readonly snippet: string;
14
+ }
15
+ /** A server-only-import finding, carrying the offending module specifier on top of the base location so
16
+ * the diagnostic can show the import chain `routeFile → specifier` (the direct edge the regex scan sees). */
17
+ export interface ServerImportFinding extends SourceFinding {
18
+ /** The server-only module specifier the route top-level-imports (e.g. `pg`, `node:fs`, `../db`). */
19
+ readonly specifier: string;
20
+ }
21
+ export declare const SIMPLE_REWRITE_METHODS: Set<string>;
22
+ export declare const IDENT: RegExp;
23
+ export interface StaticRouteFinding extends SourceFinding {
24
+ readonly method: string;
25
+ readonly path: string;
26
+ }
27
+ interface SimpleFetchCall {
28
+ readonly path: string;
29
+ readonly method: string;
30
+ readonly start: number;
31
+ readonly end: number;
32
+ }
33
+ export declare function parseSimpleFetchCall(snippet: string): SimpleFetchCall | undefined;
34
+ /**
35
+ * Blank, with spaces (newlines preserved, so every byte offset - and line number - is unchanged):
36
+ * - `//` line comments and block comments;
37
+ * - the CONTENTS of backtick template literals - code-as-text (doc `CodeBlock` examples, code
38
+ * generators), never a real statement to lint.
39
+ * Single/double-quoted strings are KEPT (a real import/Response specifier lives in one). A small
40
+ * char-state machine, not a full lexer: it doesn't model regex literals, so a regex containing a quote
41
+ * could mis-skip - in practice the constructs these scanners look for sit before any such regex.
42
+ * Shared by the source scanners here and by `nifra doctor` ({@link ./doctor.ts}).
43
+ */
44
+ export declare function stripComments(src: string): string;
45
+ /** Blank comments and every quoted/template literal while preserving offsets. Unlike
46
+ * {@link stripComments}, this is a code-position mask: scanners use it to find a call expression in
47
+ * executable code, then inspect the original source for the call's literal argument. That prevents
48
+ * documentation strings such as `const example = 'client("/")'` from becoming diagnostics. */
49
+ export declare function codePositionMask(src: string): string;
50
+ /** Scan one file's text for hand-rolled own-API `fetch()` calls. Pure + line-accurate. `externalMounts`
51
+ * are intentional non-typed mount prefixes (from `nifra.check.json`, e.g. a mounted better-auth owning
52
+ * `/auth/**`) - a relative fetch into one is deliberate, not drift, so it's skipped. A fetch with an
53
+ * inline literal `x-nifra-data` header is Nifra's page-loader transport, not a backend API call, and is
54
+ * skipped too. */
55
+ export declare function scanFetchText(file: string, content: string, externalMounts?: readonly string[]): SourceFinding[];
56
+ /** Statically collect simple Nifra route registrations from source, without importing app code. */
57
+ export declare function scanStaticRouteText(file: string, content: string, facts?: SourceFacts): StaticRouteFinding[];
58
+ /** Module-scope `const` initializers by name - the one binding form the SQL scanner resolves. */
59
+ type ModuleConsts = ReadonlyMap<string, TSApi.Expression>;
60
+ /** A name some other module exports, named exactly as the edge that reaches it writes it. */
61
+ interface ExportEdge {
62
+ readonly specifier: string;
63
+ readonly exported: string;
64
+ }
65
+ /**
66
+ * One module's provable module-scope bindings: its top-level `const` initializers plus the exact
67
+ * import/export edges this scan is allowed to follow.
68
+ *
69
+ * Everything absent from these maps stays unresolved, and an unresolved interpolation keeps flagging.
70
+ * That is the whole safety argument: resolution can only ever make this rule QUIETER, so a form the
71
+ * scan cannot prove must fall out as "unknown" rather than be guessed at. Deliberately absent:
72
+ * `export default`, `export let`/`var`, destructured or computed names, default and namespace imports,
73
+ * `export * as ns`, `require`, and dynamic `import()`.
74
+ */
75
+ interface SqlModuleScope {
76
+ /** The module's identity - an absolute path from the loader, or the entry file's path as given. Keys
77
+ * the parsed-scope cache and the cycle guard, and is the base its own specifiers resolve against. */
78
+ readonly id: string;
79
+ readonly consts: ModuleConsts;
80
+ /** Local name bound by `import { X as local }` → the edge that provides it. */
81
+ readonly imports: ReadonlyMap<string, ExportEdge>;
82
+ /** Exported name → the local name it reads (`export { a as b }` → `b` → `a`). */
83
+ readonly localExports: ReadonlyMap<string, string>;
84
+ /** Exported name → another module's export (`export { a as b } from "./m"`). */
85
+ readonly reExports: ReadonlyMap<string, ExportEdge>;
86
+ /** `export * from "./m"` specifiers, in source order. */
87
+ readonly starExports: readonly string[];
88
+ }
89
+ /** A module's identity + source, as resolved from a specifier. `id` must be stable and absolute: it
90
+ * keys the parsed-scope cache, seeds the cycle guard, and is what the module's own relative specifiers
91
+ * resolve against. */
92
+ export interface SqlModuleSource {
93
+ readonly id: string;
94
+ readonly content: string;
95
+ }
96
+ /**
97
+ * Resolves a specifier written in the module `fromModule` to the target's identity + source, or
98
+ * `undefined` when it cannot be resolved, read, or proved to be in-project source.
99
+ *
100
+ * Injected rather than built in, for the same reason {@link ModuleResolver} is: it keeps
101
+ * {@link scanInterpolatedSql} pure and filesystem-free, so the resolution rules can be unit-tested
102
+ * against a virtual module graph. {@link createProjectSqlImports} is the on-disk implementation.
103
+ */
104
+ export type SqlModuleLoader = (fromModule: string, specifier: string) => SqlModuleSource | undefined;
105
+ /** Cross-module resolution state for one run: the loader plus a parsed-scope cache, so a fragments
106
+ * module imported by fifty callers is read and parsed once. A cached `undefined` is a REFUSAL (the
107
+ * module did not parse), cached so it is not re-attempted. Build with {@link createSqlImports}. */
108
+ export interface SqlImports {
109
+ readonly load: SqlModuleLoader;
110
+ readonly scopes: Map<string, SqlModuleScope | undefined>;
111
+ }
112
+ export declare const createSqlImports: (load: SqlModuleLoader) => SqlImports;
113
+ /**
114
+ * Scan one file's text for SQL assembled by interpolation. Pure + line-accurate.
115
+ *
116
+ * `imports` opts into following a fragment `const` into another module. Without it the scan is
117
+ * same-file only, which is what the unit tests exercise and what any caller that has no module graph
118
+ * to offer gets. With it, only what {@link createProjectSqlImports} will hand back is followed.
119
+ */
120
+ export declare function scanInterpolatedSql(file: string, content: string, ts: TypeScriptApi, imports?: SqlImports): SourceFinding[];
121
+ /**
122
+ * Collect interpolated-SQL findings across the project.
123
+ *
124
+ * Returns `undefined` - not an empty array - when TypeScript is not installed. The rule parses source
125
+ * with the compiler, so without it there is nothing to report and, more to the point, no basis for
126
+ * reporting nothing. An empty result would read as "no interpolated SQL found", which is the one
127
+ * answer a security rule must never give when it did not run.
128
+ */
129
+ export declare function scanProjectSql(cwd: string): Promise<SourceFinding[] | undefined>;
130
+ /**
131
+ * The on-disk loader for cross-module `const` resolution, scoped to one project.
132
+ *
133
+ * Deliberately narrow, because every widening here is a way for a real finding to go quiet:
134
+ *
135
+ * - **Relative specifiers only.** A bare specifier names a dependency whose exports can change without
136
+ * this project changing, so "provably a `const` string" is not a property the project owns.
137
+ * - **Inside `cwd`, outside the ignored trees.** The resolved path is realpath'd and must still sit
138
+ * under the project root: a symlink pointing out of the tree is not source this scan reads. The
139
+ * `node_modules` / `dist` / build exclusions are the same ones the walk applies.
140
+ * - **Real source only.** A `.d.ts` carries no initializer, and a non-TS file is not parsed.
141
+ *
142
+ * A miss on any of those returns `undefined`, which leaves the name unresolved and the interpolation
143
+ * flagged - the pre-feature answer.
144
+ */
145
+ export declare function createProjectSqlImports(cwd: string): SqlImports;
146
+ /** Scan one file's text for untyped `client("…")` calls. Pure + line-accurate. */
147
+ export declare function scanUntypedClient(file: string, content: string): SourceFinding[];
148
+ /**
149
+ * Specifiers that no longer exist, and what replaced them.
150
+ *
151
+ * These are the breaks a typecheck does not catch and a test suite does not either. `@nifrajs/core/ws`
152
+ * was a side-effect import removed in 2.0 in favour of `.use(websocket())`; a consuming package kept
153
+ * the import and a 533-test suite stayed green while the app could not boot. `@nifrajs/budget` folded
154
+ * into core with no npm deprecation, so `bun install` fails workspace-wide with a resolution error
155
+ * that names neither the cause nor the replacement.
156
+ *
157
+ * A lint is the right shape for this: it runs before boot, names the file and line, and states the
158
+ * replacement - which is what neither the resolver error nor the runtime failure does.
159
+ */
160
+ export declare const REMOVED_IMPORTS: ReadonlyArray<{
161
+ readonly specifier: string;
162
+ readonly since: string;
163
+ readonly replacement: string;
164
+ /** Flag ONLY the bare side-effect form (`import "x"`). A module that still exports values is not
165
+ * removed - only its install-by-import behaviour is - so flagging every import of it would be
166
+ * wrong and would train people to ignore the rule. */
167
+ readonly sideEffectOnly?: boolean;
168
+ }>;
169
+ /** Flag an import of a specifier that no longer exists. Pure; matches the exact specifier or a subpath
170
+ * of it, so `@nifrajs/budget/x` is caught alongside `@nifrajs/budget`. */
171
+ export declare function scanRemovedImports(file: string, content: string): SourceFinding[];
172
+ /** Scan a route module for top-level server-only imports. Returns `[]` for non-route files (only
173
+ * `routes/` modules are browser-bundled, so a server-only import elsewhere is fine). Each finding carries
174
+ * the offending `specifier` so the diagnostic can render the `routeFile → specifier` chain. Pure. */
175
+ export declare function scanServerOnlyImports(file: string, content: string, facts?: SourceFacts): ServerImportFinding[];
176
+ /** Extract the static, non-type import specifiers from a module's source (the edges to follow/inspect).
177
+ * Mirrors {@link STATIC_IMPORT}, so `import type` + dynamic `import()` are already excluded. Pure. */
178
+ export declare function parseStaticImports(content: string, facts?: SourceFacts, file?: string): string[];
179
+ /** The server-only SINK an import specifier names directly (a `node:`/`bun:` builtin or a known
180
+ * server-only package), or `undefined` if it isn't a by-name sink. Pure - the label is the specifier
181
+ * itself (it's already the actionable name). */
182
+ export declare function directSinkSpecifier(spec: string): string | undefined;
183
+ /** One transitive server-only finding: the route module, the route's offending top-level import (the
184
+ * first hop / `specifier`), the line + snippet of that import, and the FULL chain to the sink. */
185
+ export interface TransitiveServerImportFinding extends ServerImportFinding {
186
+ /** `[routeFile, ...as-written specifiers…, sink]` - the shortest path the walk found. Length 2 means
187
+ * the route imports the sink directly (same as the regex scan's direct edge). */
188
+ readonly chain: readonly string[];
189
+ /** True when a precise transitive resolve wasn't possible for the first hop (a bare pkg / path alias),
190
+ * so the chain is the honest direct edge rather than a fabricated deeper path. */
191
+ readonly fallback: boolean;
192
+ }
193
+ /** A resolver from `(fromFile, specifier)` to an absolute module path, or `undefined` when it can't be
194
+ * resolved precisely (bare pkg, path alias, missing file). Abstracted so the BFS is unit-testable with a
195
+ * fake graph (no real fs). The production resolver wraps `Bun.resolveSync`. */
196
+ export type ModuleResolver = (fromFile: string, specifier: string) => string | undefined;
197
+ /** Reads a resolved module's source, or `undefined` if unreadable. Abstracted for the same reason. */
198
+ export type ModuleReader = (absPath: string) => string | undefined;
199
+ /**
200
+ * BFS the LOCAL module graph from a route file for the SHORTEST import chain that reaches a server-only
201
+ * sink, returning `[routeFile, …as-written specifiers…, sink]` or `undefined` if none is reachable. A
202
+ * node's outgoing edges are its static imports; an edge is followed only when it's a RELATIVE specifier
203
+ * that `resolve` maps to a readable local file (so the walk never descends into node_modules or chases an
204
+ * unresolvable alias). At each node, a by-name sink import (`node:fs`, `postgres`) OR a resolved
205
+ * `*.server` / `server-only`-marked dependency terminates the chain. Bounded by depth + a visited set, so
206
+ * it's linear and cycle-free. `routeFile`/`routeContent` seed the walk; `resolve`/`read` supply the graph
207
+ * - pure given those, so it's unit-testable with a fake graph.
208
+ */
209
+ export declare function walkServerOnlyChain(routeFile: string, routeContent: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): readonly string[] | undefined;
210
+ /**
211
+ * Resolve the FULL transitive server-only chain(s) for a route module, given a real fs-backed resolver +
212
+ * reader. For each of the route's top-level imports, if a precise transitive walk finds a sink, the
213
+ * finding carries the full chain; otherwise - when the first hop is itself a direct by-name sink the
214
+ * regex scan already flags, or when a relative import can't be resolved - it falls back to the DIRECT
215
+ * edge (`fallback: true`), never a fabricated chain. Returns one finding per offending top-level import,
216
+ * de-duplicated to the shortest chain per first-hop specifier. Non-route files yield `[]`.
217
+ */
218
+ export declare function resolveServerOnlyChains(file: string, content: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): TransitiveServerImportFinding[];
219
+ /** Scan a backend module (one that calls `server(`) for handlers returning a raw `Response`, which collapses
220
+ * the typed client's `data` to `never`. Pure + line-accurate; returns `[]` for files with no `server(` call. */
221
+ export declare function scanResponseRoutes(file: string, content: string, facts?: SourceFacts): SourceFinding[];
222
+ export declare function walkSource(cwd: string, visit: (rel: string, content: string) => void, opts?: {
223
+ readonly includeTests?: boolean;
224
+ }): Promise<void>;
225
+ /** Collect own-API `fetch()` findings across the project. */
226
+ export declare function scanProject(cwd: string): Promise<SourceFinding[]>;
227
+ export interface ManifestDriftFinding {
228
+ /** The committed server-manifest file (relative to cwd). */
229
+ readonly file: string;
230
+ /** Route files in `routes/` missing from the manifest (stale manifest - these routes won't serve). */
231
+ readonly missing: readonly string[];
232
+ /** Route files the manifest imports that no longer exist in `routes/` (a dangling import). */
233
+ readonly extra: readonly string[];
234
+ }
235
+ /**
236
+ * Scan the project for committed, generated `server-manifest.ts` files and report any that have drifted
237
+ * from the live `routes/` tree. For each, the routes dir is derived from the manifest's own import
238
+ * prefix (so a manifest that imports `../routes/x` is checked against the sibling `routes/`), its route
239
+ * imports are parsed (`parseManifestRouteFiles`), and the set is diffed against the actual route files
240
+ * on disk. A clean manifest yields no finding. Returns one finding per drifted manifest. Never throws on
241
+ * a per-manifest miss (an unreadable routes dir is simply skipped).
242
+ */
243
+ export declare function scanServerManifestDrift(cwd: string): Promise<ManifestDriftFinding[]>;
244
+ export {};
245
+ //# sourceMappingURL=check-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-scan.d.ts","sourceRoot":"","sources":["../src/check-scan.ts"],"names":[],"mappings":"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"}