@nifrajs/cli 3.1.0 → 3.2.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.
- package/README.md +10 -0
- package/dist/assure-hydration.d.ts.map +1 -1
- package/dist/assure-hydration.js +6 -1
- package/dist/assure-hydration.js.map +1 -1
- package/dist/assure.d.ts.map +1 -1
- package/dist/assure.js +3 -2
- package/dist/assure.js.map +1 -1
- package/dist/check-diagnostics.d.ts +165 -0
- package/dist/check-diagnostics.d.ts.map +1 -0
- package/dist/check-diagnostics.js +1009 -0
- package/dist/check-diagnostics.js.map +1 -0
- package/dist/check-scan.d.ts +245 -0
- package/dist/check-scan.d.ts.map +1 -0
- package/dist/check-scan.js +1599 -0
- package/dist/check-scan.js.map +1 -0
- package/dist/check.d.ts +4 -324
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +8 -2366
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +247 -10
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.d.ts +21 -1
- package/dist/command-catalog.d.ts.map +1 -1
- package/dist/command-catalog.js +122 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/env-file.js +5 -5
- package/dist/env-file.js.map +1 -1
- package/dist/frontend-guidance.d.ts +57 -0
- package/dist/frontend-guidance.d.ts.map +1 -0
- package/dist/frontend-guidance.js +195 -0
- package/dist/frontend-guidance.js.map +1 -0
- package/dist/levels-tool.d.ts.map +1 -1
- package/dist/levels-tool.js +6 -0
- package/dist/levels-tool.js.map +1 -1
- package/dist/load.d.ts.map +1 -1
- package/dist/load.js +4 -1
- package/dist/load.js.map +1 -1
- package/dist/mcp-context.d.ts +48 -0
- package/dist/mcp-context.d.ts.map +1 -0
- package/dist/mcp-context.js +215 -0
- package/dist/mcp-context.js.map +1 -0
- package/dist/mcp-docs-tools.d.ts.map +1 -1
- package/dist/mcp-docs-tools.js +31 -0
- package/dist/mcp-docs-tools.js.map +1 -1
- package/dist/mcp-exec.d.ts +74 -0
- package/dist/mcp-exec.d.ts.map +1 -0
- package/dist/mcp-exec.js +844 -0
- package/dist/mcp-exec.js.map +1 -0
- package/dist/mcp-http.js +1 -1
- package/dist/mcp-io.d.ts +26 -0
- package/dist/mcp-io.d.ts.map +1 -0
- package/dist/mcp-io.js +100 -0
- package/dist/mcp-io.js.map +1 -0
- package/dist/mcp-reflect.d.ts +16 -0
- package/dist/mcp-reflect.d.ts.map +1 -0
- package/dist/mcp-reflect.js +101 -0
- package/dist/mcp-reflect.js.map +1 -0
- package/dist/mcp-root.d.ts +7 -0
- package/dist/mcp-root.d.ts.map +1 -1
- package/dist/mcp-root.js +51 -3
- package/dist/mcp-root.js.map +1 -1
- package/dist/mcp.d.ts +10 -92
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +13 -1232
- package/dist/mcp.js.map +1 -1
- package/dist/openapi-tool.d.ts +5 -10
- package/dist/openapi-tool.d.ts.map +1 -1
- package/dist/openapi-tool.js +21 -2
- package/dist/openapi-tool.js.map +1 -1
- package/dist/openapi-types.d.ts +21 -0
- package/dist/openapi-types.d.ts.map +1 -0
- package/dist/openapi-types.js +214 -0
- package/dist/openapi-types.js.map +1 -0
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +2 -1
- package/dist/port.js.map +1 -1
- package/dist/project-facts.d.ts +2 -1
- package/dist/project-facts.d.ts.map +1 -1
- package/dist/project-facts.js.map +1 -1
- package/dist/release-verification.d.ts +4 -1
- package/dist/release-verification.d.ts.map +1 -1
- package/dist/release-verification.js +6 -138
- package/dist/release-verification.js.map +1 -1
- package/dist/rules/codes.d.ts +4 -0
- package/dist/rules/codes.d.ts.map +1 -1
- package/dist/rules/codes.js +4 -0
- package/dist/rules/codes.js.map +1 -1
- package/dist/rules/islands.d.ts +4 -0
- package/dist/rules/islands.d.ts.map +1 -0
- package/dist/rules/islands.js +155 -0
- package/dist/rules/islands.js.map +1 -0
- package/dist/rules/nano.d.ts +6 -0
- package/dist/rules/nano.d.ts.map +1 -0
- package/dist/rules/nano.js +264 -0
- package/dist/rules/nano.js.map +1 -0
- package/dist/rules/security.d.ts.map +1 -1
- package/dist/rules/security.js +38 -4
- package/dist/rules/security.js.map +1 -1
- package/dist/scaffold.d.ts +12 -6
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +149 -10
- package/dist/scaffold.js.map +1 -1
- package/dist/search-terms.d.ts.map +1 -1
- package/dist/search-terms.js +5 -3
- package/dist/search-terms.js.map +1 -1
- package/dist/stylex-migrate.d.ts +38 -0
- package/dist/stylex-migrate.d.ts.map +1 -0
- package/dist/stylex-migrate.js +1052 -0
- package/dist/stylex-migrate.js.map +1 -0
- package/dist/sync-manifest.d.ts.map +1 -1
- package/dist/sync-manifest.js +2 -1
- package/dist/sync-manifest.js.map +1 -1
- package/dist/verification-plan.d.ts +24 -0
- package/dist/verification-plan.d.ts.map +1 -0
- package/dist/verification-plan.js +116 -0
- package/dist/verification-plan.js.map +1 -0
- package/dist/work-graph.d.ts.map +1 -1
- package/dist/work-graph.js +6 -3
- package/dist/work-graph.js.map +1 -1
- package/docs/examples.json +36 -0
- package/docs/llms-full.txt +1226 -14
- package/docs/types.json +4185 -87
- package/package.json +9 -9
- package/src/assure-hydration.ts +6 -1
- package/src/assure.ts +4 -2
- package/src/check-diagnostics.ts +1219 -0
- package/src/check-scan.ts +1825 -0
- package/src/check.ts +47 -2752
- package/src/cli.ts +252 -10
- package/src/command-catalog.ts +155 -0
- package/src/env-file.ts +5 -5
- package/src/frontend-guidance.ts +259 -0
- package/src/levels-tool.ts +6 -0
- package/src/load.ts +4 -1
- package/src/mcp-context.ts +266 -0
- package/src/mcp-docs-tools.ts +37 -0
- package/src/mcp-exec.ts +1040 -0
- package/src/mcp-http.ts +1 -1
- package/src/mcp-io.ts +118 -0
- package/src/mcp-reflect.ts +140 -0
- package/src/mcp-root.ts +62 -4
- package/src/mcp.ts +61 -1511
- package/src/openapi-tool.ts +32 -2
- package/src/openapi-types.ts +261 -0
- package/src/port.ts +2 -1
- package/src/project-facts.ts +2 -4
- package/src/release-verification.ts +22 -164
- package/src/rules/codes.ts +4 -0
- package/src/rules/islands.ts +171 -0
- package/src/rules/nano.ts +295 -0
- package/src/rules/security.ts +40 -4
- package/src/scaffold.ts +169 -9
- package/src/search-terms.ts +7 -3
- package/src/stylex-migrate.ts +1139 -0
- package/src/sync-manifest.ts +2 -1
- package/src/verification-plan.ts +242 -0
- package/src/work-graph.ts +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-scan.js","sourceRoot":"","sources":["../src/check-scan.ts"],"names":[],"mappings":"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"}
|
package/dist/check.d.ts
CHANGED
|
@@ -15,330 +15,10 @@
|
|
|
15
15
|
* `nifra_check` MCP tool, so an agent acts on diagnostics instead of scraping prose). Exits non-zero if
|
|
16
16
|
* anything fails. Pure scanners (`scanFetchText`, `scanServerOnlyImports`) are unit-tested.
|
|
17
17
|
*/
|
|
18
|
-
import type
|
|
19
|
-
import { type ProjectEvidenceSnapshot } from "@nifrajs/core/evidence";
|
|
20
|
-
import type * as TSApi from "typescript";
|
|
21
|
-
import type { CapabilityProjectReport } from "./capabilities-tool.js";
|
|
22
|
-
import { type Diagnostic } from "./diagnostics.js";
|
|
23
|
-
import { type SourceFacts } from "./internal/source-facts.js";
|
|
18
|
+
import { type CheckAssuranceContext, type CheckResult } from "./check-diagnostics.js";
|
|
24
19
|
import { type TypeScriptApi } from "./internal/typescript-import.js";
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
readonly file: string;
|
|
28
|
-
readonly line: number;
|
|
29
|
-
readonly snippet: string;
|
|
30
|
-
}
|
|
31
|
-
/** A server-only-import finding, carrying the offending module specifier on top of the base location so
|
|
32
|
-
* the diagnostic can show the import chain `routeFile → specifier` (the direct edge the regex scan sees). */
|
|
33
|
-
export interface ServerImportFinding extends SourceFinding {
|
|
34
|
-
/** The server-only module specifier the route top-level-imports (e.g. `pg`, `node:fs`, `../db`). */
|
|
35
|
-
readonly specifier: string;
|
|
36
|
-
}
|
|
37
|
-
export interface StaticRouteFinding extends SourceFinding {
|
|
38
|
-
readonly method: string;
|
|
39
|
-
readonly path: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Blank, with spaces (newlines preserved, so every byte offset - and line number - is unchanged):
|
|
43
|
-
* - `//` line comments and block comments;
|
|
44
|
-
* - the CONTENTS of backtick template literals - code-as-text (doc `CodeBlock` examples, code
|
|
45
|
-
* generators), never a real statement to lint.
|
|
46
|
-
* Single/double-quoted strings are KEPT (a real import/Response specifier lives in one). A small
|
|
47
|
-
* char-state machine, not a full lexer: it doesn't model regex literals, so a regex containing a quote
|
|
48
|
-
* could mis-skip - in practice the constructs these scanners look for sit before any such regex.
|
|
49
|
-
* Shared by the source scanners here and by `nifra doctor` ({@link ./doctor.ts}).
|
|
50
|
-
*/
|
|
51
|
-
export declare function stripComments(src: string): string;
|
|
52
|
-
/** Blank comments and every quoted/template literal while preserving offsets. Unlike
|
|
53
|
-
* {@link stripComments}, this is a code-position mask: scanners use it to find a call expression in
|
|
54
|
-
* executable code, then inspect the original source for the call's literal argument. That prevents
|
|
55
|
-
* documentation strings such as `const example = 'client("/")'` from becoming diagnostics. */
|
|
56
|
-
export declare function codePositionMask(src: string): string;
|
|
57
|
-
/** Scan one file's text for hand-rolled own-API `fetch()` calls. Pure + line-accurate. `externalMounts`
|
|
58
|
-
* are intentional non-typed mount prefixes (from `nifra.check.json`, e.g. a mounted better-auth owning
|
|
59
|
-
* `/auth/**`) - a relative fetch into one is deliberate, not drift, so it's skipped. A fetch with an
|
|
60
|
-
* inline literal `x-nifra-data` header is Nifra's page-loader transport, not a backend API call, and is
|
|
61
|
-
* skipped too. */
|
|
62
|
-
export declare function scanFetchText(file: string, content: string, externalMounts?: readonly string[]): SourceFinding[];
|
|
63
|
-
/** Statically collect simple Nifra route registrations from source, without importing app code. */
|
|
64
|
-
export declare function scanStaticRouteText(file: string, content: string, facts?: SourceFacts): StaticRouteFinding[];
|
|
65
|
-
/** Module-scope `const` initializers by name - the one binding form the SQL scanner resolves. */
|
|
66
|
-
type ModuleConsts = ReadonlyMap<string, TSApi.Expression>;
|
|
67
|
-
/** A name some other module exports, named exactly as the edge that reaches it writes it. */
|
|
68
|
-
interface ExportEdge {
|
|
69
|
-
readonly specifier: string;
|
|
70
|
-
readonly exported: string;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* One module's provable module-scope bindings: its top-level `const` initializers plus the exact
|
|
74
|
-
* import/export edges this scan is allowed to follow.
|
|
75
|
-
*
|
|
76
|
-
* Everything absent from these maps stays unresolved, and an unresolved interpolation keeps flagging.
|
|
77
|
-
* That is the whole safety argument: resolution can only ever make this rule QUIETER, so a form the
|
|
78
|
-
* scan cannot prove must fall out as "unknown" rather than be guessed at. Deliberately absent:
|
|
79
|
-
* `export default`, `export let`/`var`, destructured or computed names, default and namespace imports,
|
|
80
|
-
* `export * as ns`, `require`, and dynamic `import()`.
|
|
81
|
-
*/
|
|
82
|
-
interface SqlModuleScope {
|
|
83
|
-
/** The module's identity - an absolute path from the loader, or the entry file's path as given. Keys
|
|
84
|
-
* the parsed-scope cache and the cycle guard, and is the base its own specifiers resolve against. */
|
|
85
|
-
readonly id: string;
|
|
86
|
-
readonly consts: ModuleConsts;
|
|
87
|
-
/** Local name bound by `import { X as local }` → the edge that provides it. */
|
|
88
|
-
readonly imports: ReadonlyMap<string, ExportEdge>;
|
|
89
|
-
/** Exported name → the local name it reads (`export { a as b }` → `b` → `a`). */
|
|
90
|
-
readonly localExports: ReadonlyMap<string, string>;
|
|
91
|
-
/** Exported name → another module's export (`export { a as b } from "./m"`). */
|
|
92
|
-
readonly reExports: ReadonlyMap<string, ExportEdge>;
|
|
93
|
-
/** `export * from "./m"` specifiers, in source order. */
|
|
94
|
-
readonly starExports: readonly string[];
|
|
95
|
-
}
|
|
96
|
-
/** A module's identity + source, as resolved from a specifier. `id` must be stable and absolute: it
|
|
97
|
-
* keys the parsed-scope cache, seeds the cycle guard, and is what the module's own relative specifiers
|
|
98
|
-
* resolve against. */
|
|
99
|
-
export interface SqlModuleSource {
|
|
100
|
-
readonly id: string;
|
|
101
|
-
readonly content: string;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Resolves a specifier written in the module `fromModule` to the target's identity + source, or
|
|
105
|
-
* `undefined` when it cannot be resolved, read, or proved to be in-project source.
|
|
106
|
-
*
|
|
107
|
-
* Injected rather than built in, for the same reason {@link ModuleResolver} is: it keeps
|
|
108
|
-
* {@link scanInterpolatedSql} pure and filesystem-free, so the resolution rules can be unit-tested
|
|
109
|
-
* against a virtual module graph. {@link createProjectSqlImports} is the on-disk implementation.
|
|
110
|
-
*/
|
|
111
|
-
export type SqlModuleLoader = (fromModule: string, specifier: string) => SqlModuleSource | undefined;
|
|
112
|
-
/** Cross-module resolution state for one run: the loader plus a parsed-scope cache, so a fragments
|
|
113
|
-
* module imported by fifty callers is read and parsed once. A cached `undefined` is a REFUSAL (the
|
|
114
|
-
* module did not parse), cached so it is not re-attempted. Build with {@link createSqlImports}. */
|
|
115
|
-
export interface SqlImports {
|
|
116
|
-
readonly load: SqlModuleLoader;
|
|
117
|
-
readonly scopes: Map<string, SqlModuleScope | undefined>;
|
|
118
|
-
}
|
|
119
|
-
export declare const createSqlImports: (load: SqlModuleLoader) => SqlImports;
|
|
120
|
-
/**
|
|
121
|
-
* Scan one file's text for SQL assembled by interpolation. Pure + line-accurate.
|
|
122
|
-
*
|
|
123
|
-
* `imports` opts into following a fragment `const` into another module. Without it the scan is
|
|
124
|
-
* same-file only, which is what the unit tests exercise and what any caller that has no module graph
|
|
125
|
-
* to offer gets. With it, only what {@link createProjectSqlImports} will hand back is followed.
|
|
126
|
-
*/
|
|
127
|
-
export declare function scanInterpolatedSql(file: string, content: string, ts: TypeScriptApi, imports?: SqlImports): SourceFinding[];
|
|
128
|
-
/**
|
|
129
|
-
* Collect interpolated-SQL findings across the project.
|
|
130
|
-
*
|
|
131
|
-
* Returns `undefined` - not an empty array - when TypeScript is not installed. The rule parses source
|
|
132
|
-
* with the compiler, so without it there is nothing to report and, more to the point, no basis for
|
|
133
|
-
* reporting nothing. An empty result would read as "no interpolated SQL found", which is the one
|
|
134
|
-
* answer a security rule must never give when it did not run.
|
|
135
|
-
*/
|
|
136
|
-
export declare function scanProjectSql(cwd: string): Promise<SourceFinding[] | undefined>;
|
|
137
|
-
/**
|
|
138
|
-
* The on-disk loader for cross-module `const` resolution, scoped to one project.
|
|
139
|
-
*
|
|
140
|
-
* Deliberately narrow, because every widening here is a way for a real finding to go quiet:
|
|
141
|
-
*
|
|
142
|
-
* - **Relative specifiers only.** A bare specifier names a dependency whose exports can change without
|
|
143
|
-
* this project changing, so "provably a `const` string" is not a property the project owns.
|
|
144
|
-
* - **Inside `cwd`, outside the ignored trees.** The resolved path is realpath'd and must still sit
|
|
145
|
-
* under the project root: a symlink pointing out of the tree is not source this scan reads. The
|
|
146
|
-
* `node_modules` / `dist` / build exclusions are the same ones the walk applies.
|
|
147
|
-
* - **Real source only.** A `.d.ts` carries no initializer, and a non-TS file is not parsed.
|
|
148
|
-
*
|
|
149
|
-
* A miss on any of those returns `undefined`, which leaves the name unresolved and the interpolation
|
|
150
|
-
* flagged - the pre-feature answer.
|
|
151
|
-
*/
|
|
152
|
-
export declare function createProjectSqlImports(cwd: string): SqlImports;
|
|
153
|
-
/** Scan one file's text for untyped `client("…")` calls. Pure + line-accurate. */
|
|
154
|
-
export declare function scanUntypedClient(file: string, content: string): SourceFinding[];
|
|
155
|
-
/** Flag an import of a specifier that no longer exists. Pure; matches the exact specifier or a subpath
|
|
156
|
-
* of it, so `@nifrajs/budget/x` is caught alongside `@nifrajs/budget`. */
|
|
157
|
-
export declare function scanRemovedImports(file: string, content: string): SourceFinding[];
|
|
158
|
-
/** Scan a route module for top-level server-only imports. Returns `[]` for non-route files (only
|
|
159
|
-
* `routes/` modules are browser-bundled, so a server-only import elsewhere is fine). Each finding carries
|
|
160
|
-
* the offending `specifier` so the diagnostic can render the `routeFile → specifier` chain. Pure. */
|
|
161
|
-
export declare function scanServerOnlyImports(file: string, content: string, facts?: SourceFacts): ServerImportFinding[];
|
|
162
|
-
/** Extract the static, non-type import specifiers from a module's source (the edges to follow/inspect).
|
|
163
|
-
* Mirrors {@link STATIC_IMPORT}, so `import type` + dynamic `import()` are already excluded. Pure. */
|
|
164
|
-
export declare function parseStaticImports(content: string, facts?: SourceFacts, file?: string): string[];
|
|
165
|
-
/** The server-only SINK an import specifier names directly (a `node:`/`bun:` builtin or a known
|
|
166
|
-
* server-only package), or `undefined` if it isn't a by-name sink. Pure - the label is the specifier
|
|
167
|
-
* itself (it's already the actionable name). */
|
|
168
|
-
export declare function directSinkSpecifier(spec: string): string | undefined;
|
|
169
|
-
/** One transitive server-only finding: the route module, the route's offending top-level import (the
|
|
170
|
-
* first hop / `specifier`), the line + snippet of that import, and the FULL chain to the sink. */
|
|
171
|
-
export interface TransitiveServerImportFinding extends ServerImportFinding {
|
|
172
|
-
/** `[routeFile, ...as-written specifiers…, sink]` - the shortest path the walk found. Length 2 means
|
|
173
|
-
* the route imports the sink directly (same as the regex scan's direct edge). */
|
|
174
|
-
readonly chain: readonly string[];
|
|
175
|
-
/** True when a precise transitive resolve wasn't possible for the first hop (a bare pkg / path alias),
|
|
176
|
-
* so the chain is the honest direct edge rather than a fabricated deeper path. */
|
|
177
|
-
readonly fallback: boolean;
|
|
178
|
-
}
|
|
179
|
-
/** A resolver from `(fromFile, specifier)` to an absolute module path, or `undefined` when it can't be
|
|
180
|
-
* resolved precisely (bare pkg, path alias, missing file). Abstracted so the BFS is unit-testable with a
|
|
181
|
-
* fake graph (no real fs). The production resolver wraps `Bun.resolveSync`. */
|
|
182
|
-
export type ModuleResolver = (fromFile: string, specifier: string) => string | undefined;
|
|
183
|
-
/** Reads a resolved module's source, or `undefined` if unreadable. Abstracted for the same reason. */
|
|
184
|
-
export type ModuleReader = (absPath: string) => string | undefined;
|
|
185
|
-
/**
|
|
186
|
-
* BFS the LOCAL module graph from a route file for the SHORTEST import chain that reaches a server-only
|
|
187
|
-
* sink, returning `[routeFile, …as-written specifiers…, sink]` or `undefined` if none is reachable. A
|
|
188
|
-
* node's outgoing edges are its static imports; an edge is followed only when it's a RELATIVE specifier
|
|
189
|
-
* that `resolve` maps to a readable local file (so the walk never descends into node_modules or chases an
|
|
190
|
-
* unresolvable alias). At each node, a by-name sink import (`node:fs`, `postgres`) OR a resolved
|
|
191
|
-
* `*.server` / `server-only`-marked dependency terminates the chain. Bounded by depth + a visited set, so
|
|
192
|
-
* it's linear and cycle-free. `routeFile`/`routeContent` seed the walk; `resolve`/`read` supply the graph
|
|
193
|
-
* - pure given those, so it's unit-testable with a fake graph.
|
|
194
|
-
*/
|
|
195
|
-
export declare function walkServerOnlyChain(routeFile: string, routeContent: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): readonly string[] | undefined;
|
|
196
|
-
/**
|
|
197
|
-
* Resolve the FULL transitive server-only chain(s) for a route module, given a real fs-backed resolver +
|
|
198
|
-
* reader. For each of the route's top-level imports, if a precise transitive walk finds a sink, the
|
|
199
|
-
* finding carries the full chain; otherwise - when the first hop is itself a direct by-name sink the
|
|
200
|
-
* regex scan already flags, or when a relative import can't be resolved - it falls back to the DIRECT
|
|
201
|
-
* edge (`fallback: true`), never a fabricated chain. Returns one finding per offending top-level import,
|
|
202
|
-
* de-duplicated to the shortest chain per first-hop specifier. Non-route files yield `[]`.
|
|
203
|
-
*/
|
|
204
|
-
export declare function resolveServerOnlyChains(file: string, content: string, resolve: ModuleResolver, read: ModuleReader, facts?: SourceFacts): TransitiveServerImportFinding[];
|
|
205
|
-
/** Scan a backend module (one that calls `server(`) for handlers returning a raw `Response`, which collapses
|
|
206
|
-
* the typed client's `data` to `never`. Pure + line-accurate; returns `[]` for files with no `server(` call. */
|
|
207
|
-
export declare function scanResponseRoutes(file: string, content: string, facts?: SourceFacts): SourceFinding[];
|
|
208
|
-
export declare function walkSource(cwd: string, visit: (rel: string, content: string) => void, opts?: {
|
|
209
|
-
readonly includeTests?: boolean;
|
|
210
|
-
}): Promise<void>;
|
|
211
|
-
/** Collect own-API `fetch()` findings across the project. */
|
|
212
|
-
export declare function scanProject(cwd: string): Promise<SourceFinding[]>;
|
|
213
|
-
export interface ManifestDriftFinding {
|
|
214
|
-
/** The committed server-manifest file (relative to cwd). */
|
|
215
|
-
readonly file: string;
|
|
216
|
-
/** Route files in `routes/` missing from the manifest (stale manifest - these routes won't serve). */
|
|
217
|
-
readonly missing: readonly string[];
|
|
218
|
-
/** Route files the manifest imports that no longer exist in `routes/` (a dangling import). */
|
|
219
|
-
readonly extra: readonly string[];
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Scan the project for committed, generated `server-manifest.ts` files and report any that have drifted
|
|
223
|
-
* from the live `routes/` tree. For each, the routes dir is derived from the manifest's own import
|
|
224
|
-
* prefix (so a manifest that imports `../routes/x` is checked against the sibling `routes/`), its route
|
|
225
|
-
* imports are parsed (`parseManifestRouteFiles`), and the set is diffed against the actual route files
|
|
226
|
-
* on disk. A clean manifest yields no finding. Returns one finding per drifted manifest. Never throws on
|
|
227
|
-
* a per-manifest miss (an unreadable routes dir is simply skipped).
|
|
228
|
-
*/
|
|
229
|
-
export declare function scanServerManifestDrift(cwd: string): Promise<ManifestDriftFinding[]>;
|
|
230
|
-
/** A single machine-readable check failure - the unit an agent (or CI) acts on. */
|
|
231
|
-
export interface CheckDiagnostic {
|
|
232
|
-
readonly rule: string;
|
|
233
|
-
/** `error` fails the gate (a real contract break); `warning` is advisory - surfaced to the agent but
|
|
234
|
-
* does NOT fail `nifra check`, for patterns that are sometimes intentional (a route returning a raw
|
|
235
|
-
* `Response`, which silently drops the typed client to `data: never` but is valid for files/redirects). */
|
|
236
|
-
readonly severity: "error" | "warning" | "info";
|
|
237
|
-
/** Stable diagnostic protocol code. The legacy `rule` remains for compatibility. */
|
|
238
|
-
readonly code?: string;
|
|
239
|
-
readonly file?: string;
|
|
240
|
-
readonly line?: number;
|
|
241
|
-
readonly message: string;
|
|
242
|
-
/** The canonical, rule-level fix - clean of the per-occurrence snippet, so an agent can apply it
|
|
243
|
-
* directly. Set for the lint rules (they have one correct fix); omitted for `typecheck` (the fix is
|
|
244
|
-
* specific to each type error). */
|
|
245
|
-
readonly fix?: string;
|
|
246
|
-
/** A richer, agent-oriented fix hint. Diffs are only emitted when the edit is mechanical and local;
|
|
247
|
-
* ambiguous cases give concrete steps instead of pretending the checker can safely rewrite code. */
|
|
248
|
-
readonly suggestion?: CheckSuggestion;
|
|
249
|
-
/**
|
|
250
|
-
* The import chain that pulls server-only code into the browser bundle, as display labels
|
|
251
|
-
* `[routeFile, …as-written specifiers…, sink]`. Set only on `server-only-import`.
|
|
252
|
-
*
|
|
253
|
-
* #4.4: this is now the FULL **transitive** chain - a bounded import-resolution walk (`Bun.resolveSync`
|
|
254
|
-
* from each file's dir, BFS the local module graph) follows `route → ../data → ../db → node:crypto`,
|
|
255
|
-
* matching the build leak-guard's depth (`detectNodeBuiltinsInClient` in `@nifrajs/web/build`). A
|
|
256
|
-
* length-2 chain (`[routeFile, specifier]`) means the route imports the sink directly. When a hop can't
|
|
257
|
-
* be resolved precisely (a bare pkg, a tsconfig path alias), the walk degrades to the honest direct
|
|
258
|
-
* edge rather than fabricating a deeper path - never a lie.
|
|
259
|
-
*/
|
|
260
|
-
readonly chain?: readonly string[];
|
|
261
|
-
readonly evidence?: readonly string[];
|
|
262
|
-
readonly verify?: string;
|
|
263
|
-
}
|
|
264
|
-
export interface CheckSuggestion {
|
|
265
|
-
readonly kind: "edit" | "command" | "manual";
|
|
266
|
-
readonly title: string;
|
|
267
|
-
readonly diff?: string;
|
|
268
|
-
/** argv array, not a shell string, so MCP clients can run it without quoting hazards. */
|
|
269
|
-
readonly command?: readonly string[];
|
|
270
|
-
readonly steps?: readonly string[];
|
|
271
|
-
}
|
|
272
|
-
/** The structured result of a full check - what `--json` prints and the `nifra_check` MCP tool returns. */
|
|
273
|
-
export interface CheckResult {
|
|
274
|
-
readonly ok: boolean;
|
|
275
|
-
readonly typecheck: "pass" | "fail" | "skipped";
|
|
276
|
-
/** Why `typecheck` is `"skipped"` (no tsconfig.json, typescript not installed, lints-only mode).
|
|
277
|
-
* Absent when the typecheck ran. Echoed in the human report so a skip is never a dim mystery. */
|
|
278
|
-
readonly typecheckNote?: string;
|
|
279
|
-
readonly diagnostics: readonly CheckDiagnostic[];
|
|
280
|
-
/** Normalized diagnostics with stable codes for agents and external renderers. */
|
|
281
|
-
readonly structuredDiagnostics?: readonly Diagnostic[];
|
|
282
|
-
/**
|
|
283
|
-
* Which bundler this app's phases run on, read statically from the config, and how nifra concluded
|
|
284
|
-
* it. Returned even when nothing is wrong: an agent reading this project has to know which plugin
|
|
285
|
-
* slot is live and which toolchain compiles a component before its next edit, and every `pipeline`
|
|
286
|
-
* diagnostic below is only interpretable against it. Absent when the directory is not a nifra app.
|
|
287
|
-
*/
|
|
288
|
-
readonly pipeline?: PipelineReport;
|
|
289
|
-
/** Intentional non-typed mount prefixes declared in `nifra.check.json` (e.g. `/auth` for a mounted
|
|
290
|
-
* better-auth). Echoed here so `--json` / the MCP tool / the report can show what the typed-client scan
|
|
291
|
-
* deliberately skipped - a suppressed prefix stays auditable instead of silently hiding real drift. */
|
|
292
|
-
readonly externalMounts?: readonly string[];
|
|
293
|
-
/** Active per-rule overrides from `nifra.check.json` `rules`, echoed verbatim so a retagged or
|
|
294
|
-
* suppressed finding stays auditable in `--json`, the MCP tool, and the human report - config can
|
|
295
|
-
* lower (or raise) the gate, but never invisibly. */
|
|
296
|
-
readonly ruleOverrides?: Readonly<Record<string, RuleOverride>>;
|
|
297
|
-
/** Set only when the caller passed `maxDiagnostics` and there were more - `diagnostics` then holds the
|
|
298
|
-
* first `shown` of `total`. It caps the serialized size so the `nifra_check` MCP tool can't emit a
|
|
299
|
-
* message large enough to break the stdio transport; fix the shown diagnostics and re-run for the rest. */
|
|
300
|
-
readonly truncated?: {
|
|
301
|
-
readonly shown: number;
|
|
302
|
-
readonly total: number;
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Pre-resolved route-assurance inputs, so the same reflection that `nifra assure` / `nifra levels`
|
|
307
|
-
* already ran can feed `check`'s capability + trust-manifest diagnostics instead of a second pass.
|
|
308
|
-
* Supplied by {@link collectProjectVerification}. When omitted, `collectCheckResult` loads and computes
|
|
309
|
-
* these itself (the standalone `nifra_check` MCP path); the two routes produce byte-identical results.
|
|
310
|
-
*/
|
|
311
|
-
export interface CheckAssuranceContext {
|
|
312
|
-
/** Whether `nifra.assurance.ts` exists: the gate for running the assurance-fed diagnostics at all. */
|
|
313
|
-
readonly present: boolean;
|
|
314
|
-
/** The loaded config, when it loaded. Absent when the file is missing or {@link error} is set. */
|
|
315
|
-
readonly config?: AssuranceConfig;
|
|
316
|
-
/** The failure from loading/evaluating the config, surfaced as a `capability-config` diagnostic. */
|
|
317
|
-
readonly error?: unknown;
|
|
318
|
-
/** `evaluateRouteAssurance` over the config's source + policy (drives the trust-manifest check). */
|
|
319
|
-
readonly routeAssurance?: AssuranceReport;
|
|
320
|
-
/** Static capability provenance, when the config declares a capabilities policy. */
|
|
321
|
-
readonly capability?: CapabilityProjectReport;
|
|
322
|
-
/** Canonical token-only evidence reused by manifest and other offline projections. */
|
|
323
|
-
readonly evidence?: ProjectEvidenceSnapshot;
|
|
324
|
-
}
|
|
325
|
-
/** Optional per-project `nifra.check.json` - pure data (no code execution), so it's safe to read before
|
|
326
|
-
* the app is built or even importable, preserving check's pre-`loadApp` invariant. */
|
|
327
|
-
export interface CheckConfig {
|
|
328
|
-
readonly externalMounts: readonly string[];
|
|
329
|
-
readonly rules: Readonly<Record<string, RuleOverride>>;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* One entry of `nifra.check.json` `rules`, keyed by legacy rule name (`response-route`) or stable
|
|
333
|
-
* NF- code (`NF-S002`) - one key retags the finding in both diagnostic views. `severity: "off"`
|
|
334
|
-
* drops the rule's findings; `ignore` drops findings whose file matches any of the globs. Overrides
|
|
335
|
-
* are applied centrally BEFORE `ok` is computed and echoed in the result and the human report -
|
|
336
|
-
* configuration can lower (or raise) the gate, but never invisibly.
|
|
337
|
-
*/
|
|
338
|
-
export interface RuleOverride {
|
|
339
|
-
readonly severity?: "error" | "warn" | "info" | "off";
|
|
340
|
-
readonly ignore?: readonly string[];
|
|
341
|
-
}
|
|
20
|
+
export type { CheckAnalysisInput, CheckAssuranceContext, CheckConfig, CheckDiagnostic, CheckDiagnosticsOptions, CheckResult, CheckSuggestion, CheckTypecheckResult, RuleOverride, } from "./check-diagnostics.js";
|
|
21
|
+
export * from "./check-scan.js";
|
|
342
22
|
interface CheckCollectionOptions {
|
|
343
23
|
readonly lintsOnly?: boolean;
|
|
344
24
|
readonly signal?: AbortSignal;
|
|
@@ -348,6 +28,7 @@ interface CheckCollectionOptions {
|
|
|
348
28
|
}
|
|
349
29
|
/** Run the three checks and assemble a structured, machine-readable result. The single source the CLI
|
|
350
30
|
* report, `--json`, and the MCP tool all render from. */
|
|
31
|
+
/** Run the scan, freeze its facts, and project them into the public diagnostic result. */
|
|
351
32
|
export declare function collectCheckResult(cwd: string, opts?: CheckCollectionOptions): Promise<CheckResult>;
|
|
352
33
|
/**
|
|
353
34
|
* Render the human-readable check report as lines. Pure (no I/O, no cwd) so tests can assert
|
|
@@ -361,5 +42,4 @@ export declare function runCheck(cwd: string, opts?: {
|
|
|
361
42
|
readonly lintsOnly?: boolean;
|
|
362
43
|
readonly structured?: boolean;
|
|
363
44
|
}): Promise<boolean>;
|
|
364
|
-
export {};
|
|
365
45
|
//# sourceMappingURL=check.d.ts.map
|
package/dist/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EACL,KAAK,qBAAqB,EAG1B,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAO7F,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,GACb,MAAM,wBAAwB,CAAA;AAoB/B,cAAc,iBAAiB,CAAA;AA4J/B,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAC3C;AA4FD;yDACyD;AACzD,0FAA0F;AAC1F,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,WAAW,CAAC,CAGtB;AAuBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAwG/D;AAED,qGAAqG;AACrG,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IACJ,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CACzB,GACL,OAAO,CAAC,OAAO,CAAC,CAsClB"}
|