@nifrajs/cli 4.0.0 → 5.0.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 +3 -0
- package/dist/agent-files.d.ts +107 -0
- package/dist/agent-files.d.ts.map +1 -0
- package/dist/agent-files.js +162 -0
- package/dist/agent-files.js.map +1 -0
- package/dist/app-files.d.ts +6 -0
- package/dist/app-files.d.ts.map +1 -1
- package/dist/app-files.js +27 -2
- package/dist/app-files.js.map +1 -1
- package/dist/assure-hydration.d.ts.map +1 -1
- package/dist/assure-hydration.js +7 -2
- package/dist/assure-hydration.js.map +1 -1
- package/dist/capabilities-tool.d.ts.map +1 -1
- package/dist/capabilities-tool.js +13 -3
- package/dist/capabilities-tool.js.map +1 -1
- package/dist/check-diagnostics.d.ts +20 -2
- package/dist/check-diagnostics.d.ts.map +1 -1
- package/dist/check-diagnostics.js +54 -7
- package/dist/check-diagnostics.js.map +1 -1
- package/dist/check-scan.d.ts +75 -22
- package/dist/check-scan.d.ts.map +1 -1
- package/dist/check-scan.js +1475 -310
- package/dist/check-scan.js.map +1 -1
- package/dist/check.d.ts +2 -2
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +192 -65
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +112 -5
- package/dist/cli.js.map +1 -1
- package/dist/client-module.d.ts +18 -0
- package/dist/client-module.d.ts.map +1 -0
- package/dist/client-module.js +49 -0
- package/dist/client-module.js.map +1 -0
- package/dist/command-catalog.d.ts +21 -5
- package/dist/command-catalog.d.ts.map +1 -1
- package/dist/command-catalog.js +138 -38
- package/dist/command-catalog.js.map +1 -1
- package/dist/component-check.d.ts +13 -0
- package/dist/component-check.d.ts.map +1 -0
- package/dist/component-check.js +59 -0
- package/dist/component-check.js.map +1 -0
- package/dist/contract-proof.d.ts +1 -1
- package/dist/contract-proof.d.ts.map +1 -1
- package/dist/contract-proof.js +2 -24
- package/dist/contract-proof.js.map +1 -1
- package/dist/contracts.d.ts +19 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +50 -3
- package/dist/contracts.js.map +1 -1
- package/dist/db-tool.d.ts.map +1 -1
- package/dist/db-tool.js +4 -3
- package/dist/db-tool.js.map +1 -1
- package/dist/dev-bun-config.d.ts +5 -1
- package/dist/dev-bun-config.d.ts.map +1 -1
- package/dist/dev-bun-config.js +44 -11
- package/dist/dev-bun-config.js.map +1 -1
- package/dist/diagnostics.d.ts +3 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/diff-tool.d.ts +9 -8
- package/dist/diff-tool.d.ts.map +1 -1
- package/dist/diff-tool.js +28 -24
- package/dist/diff-tool.js.map +1 -1
- package/dist/doctor.d.ts +13 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +23 -15
- package/dist/doctor.js.map +1 -1
- package/dist/env-file.d.ts +6 -0
- package/dist/env-file.d.ts.map +1 -1
- package/dist/env-file.js +6 -0
- package/dist/env-file.js.map +1 -1
- package/dist/fix-recipes.d.ts.map +1 -1
- package/dist/fix-recipes.js +28 -3
- package/dist/fix-recipes.js.map +1 -1
- package/dist/hand-built-manifest.d.ts +27 -0
- package/dist/hand-built-manifest.d.ts.map +1 -0
- package/dist/hand-built-manifest.js +124 -0
- package/dist/hand-built-manifest.js.map +1 -0
- package/dist/hooks-report.d.ts +23 -0
- package/dist/hooks-report.d.ts.map +1 -0
- package/dist/hooks-report.js +104 -0
- package/dist/hooks-report.js.map +1 -0
- package/dist/init-agents.d.ts +2 -2
- package/dist/init-agents.d.ts.map +1 -1
- package/dist/init-agents.js +17 -11
- package/dist/init-agents.js.map +1 -1
- package/dist/internal/nifra-project.d.ts +41 -0
- package/dist/internal/nifra-project.d.ts.map +1 -0
- package/dist/internal/nifra-project.js +183 -0
- package/dist/internal/nifra-project.js.map +1 -0
- package/dist/internal/project-specifiers.d.ts +16 -0
- package/dist/internal/project-specifiers.d.ts.map +1 -0
- package/dist/internal/project-specifiers.js +396 -0
- package/dist/internal/project-specifiers.js.map +1 -0
- package/dist/internal/script-kind.d.ts.map +1 -1
- package/dist/internal/script-kind.js +2 -1
- package/dist/internal/script-kind.js.map +1 -1
- package/dist/internal/source-facts.d.ts +2 -0
- package/dist/internal/source-facts.d.ts.map +1 -1
- package/dist/internal/source-facts.js +11 -0
- package/dist/internal/source-facts.js.map +1 -1
- package/dist/internal/typescript-import.d.ts +1 -1
- package/dist/internal/typescript-import.d.ts.map +1 -1
- package/dist/internal/typescript-import.js +5 -3
- package/dist/internal/typescript-import.js.map +1 -1
- package/dist/introspect.d.ts +6 -6
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js +55 -24
- package/dist/introspect.js.map +1 -1
- package/dist/levels-tool.d.ts.map +1 -1
- package/dist/levels-tool.js +93 -15
- package/dist/levels-tool.js.map +1 -1
- package/dist/load.d.ts +31 -8
- package/dist/load.d.ts.map +1 -1
- package/dist/load.js +37 -7
- package/dist/load.js.map +1 -1
- package/dist/mcp-context.d.ts +5 -5
- package/dist/mcp-context.d.ts.map +1 -1
- package/dist/mcp-context.js +2 -2
- package/dist/mcp-context.js.map +1 -1
- package/dist/mcp-exec.d.ts +12 -4
- package/dist/mcp-exec.d.ts.map +1 -1
- package/dist/mcp-exec.js +50 -13
- package/dist/mcp-exec.js.map +1 -1
- package/dist/mcp-http.js +1 -1
- package/dist/mcp-io.d.ts +17 -0
- package/dist/mcp-io.d.ts.map +1 -1
- package/dist/mcp-io.js +40 -0
- package/dist/mcp-io.js.map +1 -1
- package/dist/mcp-isolate.d.ts.map +1 -1
- package/dist/mcp-isolate.js +3 -2
- package/dist/mcp-isolate.js.map +1 -1
- package/dist/mcp-project-child.js +1 -1
- package/dist/mcp-project-child.js.map +1 -1
- package/dist/mcp-root.d.ts.map +1 -1
- package/dist/mcp-root.js +50 -10
- package/dist/mcp-root.js.map +1 -1
- package/dist/mcp-ws.d.ts.map +1 -1
- package/dist/mcp-ws.js +3 -1
- package/dist/mcp-ws.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +8 -2
- package/dist/mcp.js.map +1 -1
- package/dist/migrate-layout.d.ts +7 -0
- package/dist/migrate-layout.d.ts.map +1 -1
- package/dist/migrate-layout.js +958 -71
- package/dist/migrate-layout.js.map +1 -1
- package/dist/output-schemas.d.ts +94 -0
- package/dist/output-schemas.d.ts.map +1 -0
- package/dist/output-schemas.js +864 -0
- package/dist/output-schemas.js.map +1 -0
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +3 -2
- package/dist/port.js.map +1 -1
- package/dist/project-facts.d.ts +15 -4
- package/dist/project-facts.d.ts.map +1 -1
- package/dist/project-facts.js +1 -0
- package/dist/project-facts.js.map +1 -1
- package/dist/recipes/4.0.0.d.ts.map +1 -1
- package/dist/recipes/4.0.0.js +2 -0
- package/dist/recipes/4.0.0.js.map +1 -1
- package/dist/recipes/5.0.0.d.ts +11 -0
- package/dist/recipes/5.0.0.d.ts.map +1 -0
- package/dist/recipes/5.0.0.js +34 -0
- package/dist/recipes/5.0.0.js.map +1 -0
- package/dist/recipes/index.d.ts +7 -0
- package/dist/recipes/index.d.ts.map +1 -1
- package/dist/recipes/index.js +2 -0
- package/dist/recipes/index.js.map +1 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +12 -3
- package/dist/replay.js.map +1 -1
- package/dist/review.d.ts +3 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +38 -7
- package/dist/review.js.map +1 -1
- package/dist/rules/codes.d.ts +10 -0
- package/dist/rules/codes.d.ts.map +1 -1
- package/dist/rules/codes.js +10 -0
- package/dist/rules/codes.js.map +1 -1
- package/dist/rules/comment-markers.d.ts +16 -7
- package/dist/rules/comment-markers.d.ts.map +1 -1
- package/dist/rules/comment-markers.js +58 -19
- package/dist/rules/comment-markers.js.map +1 -1
- package/dist/rules/contract-visibility.d.ts +3 -0
- package/dist/rules/contract-visibility.d.ts.map +1 -0
- package/dist/rules/contract-visibility.js +337 -0
- package/dist/rules/contract-visibility.js.map +1 -0
- package/dist/rules/data-guard.d.ts +7 -0
- package/dist/rules/data-guard.d.ts.map +1 -1
- package/dist/rules/data-guard.js +319 -37
- package/dist/rules/data-guard.js.map +1 -1
- package/dist/rules/layout.d.ts +4 -0
- package/dist/rules/layout.d.ts.map +1 -0
- package/dist/rules/layout.js +19 -0
- package/dist/rules/layout.js.map +1 -0
- package/dist/rules/legacy.d.ts.map +1 -1
- package/dist/rules/legacy.js +158 -43
- package/dist/rules/legacy.js.map +1 -1
- package/dist/rules/pages.d.ts +24 -0
- package/dist/rules/pages.d.ts.map +1 -1
- package/dist/rules/pages.js +221 -3
- package/dist/rules/pages.js.map +1 -1
- package/dist/rules/routes.d.ts +6 -0
- package/dist/rules/routes.d.ts.map +1 -1
- package/dist/rules/routes.js +111 -16
- package/dist/rules/routes.js.map +1 -1
- package/dist/rules/secrets.js +2 -2
- package/dist/rules/secrets.js.map +1 -1
- package/dist/rules/security.d.ts +12 -1
- package/dist/rules/security.d.ts.map +1 -1
- package/dist/rules/security.js +281 -68
- package/dist/rules/security.js.map +1 -1
- package/dist/rules/zones.d.ts +13 -0
- package/dist/rules/zones.d.ts.map +1 -1
- package/dist/rules/zones.js +192 -40
- package/dist/rules/zones.js.map +1 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +6 -4
- package/dist/scaffold.js.map +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +14 -5
- package/dist/sdk.js.map +1 -1
- package/dist/stylex-migrate.d.ts.map +1 -1
- package/dist/stylex-migrate.js +163 -7
- package/dist/stylex-migrate.js.map +1 -1
- package/dist/sync-manifest.d.ts +10 -2
- package/dist/sync-manifest.d.ts.map +1 -1
- package/dist/sync-manifest.js +42 -18
- package/dist/sync-manifest.js.map +1 -1
- package/dist/test-tool.d.ts.map +1 -1
- package/dist/test-tool.js +12 -3
- package/dist/test-tool.js.map +1 -1
- package/dist/typecheck-coverage.d.ts +20 -0
- package/dist/typecheck-coverage.d.ts.map +1 -0
- package/dist/typecheck-coverage.js +129 -0
- package/dist/typecheck-coverage.js.map +1 -0
- package/dist/upgrade.d.ts +69 -0
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +420 -77
- package/dist/upgrade.js.map +1 -1
- package/dist/verification-plan.d.ts.map +1 -1
- package/dist/verification-plan.js +11 -0
- package/dist/verification-plan.js.map +1 -1
- package/dist/version-drift.d.ts +22 -0
- package/dist/version-drift.d.ts.map +1 -0
- package/dist/version-drift.js +42 -0
- package/dist/version-drift.js.map +1 -0
- package/dist/web-app-options.d.ts +1 -1
- package/dist/web-app-options.d.ts.map +1 -1
- package/dist/web-app-options.js +1 -1
- package/dist/web-app-options.js.map +1 -1
- package/dist/work-graph.d.ts.map +1 -1
- package/dist/work-graph.js +20 -8
- package/dist/work-graph.js.map +1 -1
- package/docs/examples.json +54 -6
- package/docs/llms-full.txt +1539 -138
- package/docs/types.json +1456 -206
- package/package.json +11 -12
- package/src/agent-files.ts +203 -0
- package/src/app-files.ts +34 -4
- package/src/assure-hydration.ts +15 -2
- package/src/capabilities-tool.ts +15 -3
- package/src/check-diagnostics.ts +73 -9
- package/src/check-scan.ts +1773 -381
- package/src/check.ts +237 -76
- package/src/cli.ts +141 -5
- package/src/client-module.ts +61 -0
- package/src/command-catalog.ts +181 -47
- package/src/component-check.ts +79 -0
- package/src/contract-proof.ts +3 -25
- package/src/contracts.ts +60 -3
- package/src/db-tool.ts +5 -2
- package/src/dev-bun-config.ts +51 -10
- package/src/diagnostics.ts +3 -0
- package/src/diff-tool.ts +33 -26
- package/src/doctor.ts +43 -21
- package/src/env-file.ts +7 -0
- package/src/fix-recipes.ts +34 -3
- package/src/hand-built-manifest.ts +144 -0
- package/src/hooks-report.ts +135 -0
- package/src/init-agents.ts +17 -11
- package/src/internal/nifra-project.ts +191 -0
- package/src/internal/project-specifiers.ts +424 -0
- package/src/internal/script-kind.ts +2 -1
- package/src/internal/source-facts.ts +25 -0
- package/src/internal/typescript-import.ts +10 -3
- package/src/introspect.ts +65 -27
- package/src/levels-tool.ts +117 -20
- package/src/load.ts +78 -14
- package/src/mcp-context.ts +7 -7
- package/src/mcp-exec.ts +60 -17
- package/src/mcp-http.ts +1 -1
- package/src/mcp-io.ts +41 -0
- package/src/mcp-isolate.ts +9 -2
- package/src/mcp-project-child.ts +1 -1
- package/src/mcp-root.ts +58 -8
- package/src/mcp-ws.ts +4 -2
- package/src/mcp.ts +8 -3
- package/src/migrate-layout.ts +1109 -70
- package/src/output-schemas.ts +1084 -0
- package/src/port.ts +3 -2
- package/src/project-facts.ts +17 -3
- package/src/recipes/4.0.0.ts +2 -0
- package/src/recipes/5.0.0.ts +35 -0
- package/src/recipes/index.ts +10 -0
- package/src/replay.ts +14 -3
- package/src/review.ts +39 -10
- package/src/rules/codes.ts +10 -0
- package/src/rules/comment-markers.ts +57 -21
- package/src/rules/contract-visibility.ts +383 -0
- package/src/rules/data-guard.ts +351 -42
- package/src/rules/layout.ts +22 -0
- package/src/rules/legacy.ts +184 -51
- package/src/rules/pages.ts +238 -3
- package/src/rules/routes.ts +124 -16
- package/src/rules/secrets.ts +2 -2
- package/src/rules/security.ts +352 -71
- package/src/rules/zones.ts +205 -38
- package/src/scaffold.ts +6 -4
- package/src/sdk.ts +14 -5
- package/src/stylex-migrate.ts +134 -7
- package/src/sync-manifest.ts +48 -18
- package/src/test-tool.ts +18 -3
- package/src/typecheck-coverage.ts +134 -0
- package/src/upgrade.ts +487 -71
- package/src/verification-plan.ts +24 -0
- package/src/version-drift.ts +67 -0
- package/src/web-app-options.ts +2 -2
- package/src/work-graph.ts +17 -12
package/dist/rules/legacy.js
CHANGED
|
@@ -6,7 +6,11 @@ import { SINGLE_COPY_REGISTER_SPECIFIER } from "@nifrajs/core/single-copy";
|
|
|
6
6
|
import { IDENT, movedExportSites, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
|
|
7
7
|
import { diagnostic, diagnosticWithCompatibility, } from "../diagnostics.js";
|
|
8
8
|
import { codeUnitOrder } from "../internal/code-unit-order.js";
|
|
9
|
+
import { createWebAppProbe, withApiKindHint } from "../internal/nifra-project.js";
|
|
9
10
|
import { unsupportedTypeScriptDiagnostic } from "../internal/typescript-import.js";
|
|
11
|
+
import { zoneFolderOf } from "../typecheck-coverage.js";
|
|
12
|
+
import { versionDriftMessage } from "../version-drift.js";
|
|
13
|
+
import { MISSING_EXPECTATION_REASON } from "./comment-markers.js";
|
|
10
14
|
/** Legacy rule name → stable NF- code. Exported so `nifra.check.json` rule overrides can be keyed
|
|
11
15
|
* by either name and still hit both diagnostic views. */
|
|
12
16
|
export const LEGACY_RULE_CODES = Object.freeze({
|
|
@@ -67,10 +71,10 @@ export const LEGACY_RULE_ORDER = Object.freeze([
|
|
|
67
71
|
"capability-config",
|
|
68
72
|
"contract-drift",
|
|
69
73
|
]);
|
|
70
|
-
const FETCH_HINT = "hand-rolled fetch() to your own API - call it through client<typeof app> (from @nifrajs/client) so the compiler catches drift";
|
|
71
|
-
const STREAM_HINT = "hand-rolled EventSource/WebSocket to your own API - subscribe through client<typeof app> (`.subscribe()` for `app.sse()` routes, `.ws()` for `app.ws()` routes) so the compiler catches drift";
|
|
74
|
+
const FETCH_HINT = "hand-rolled fetch() to your own API - call it through client<typeof app> (from @nifrajs/client) so the compiler catches drift; for a call no typed client covers (a foreign handler, a static file), add a `// nifra-expect NF-C002: <reason>` comment";
|
|
75
|
+
const STREAM_HINT = "hand-rolled EventSource/WebSocket to your own API - subscribe through client<typeof app> (`.subscribe()` for `app.sse()` routes, `.ws()` for `app.ws()` routes) so the compiler catches drift; for a stream no typed client covers, add a `// nifra-expect NF-C002: <reason>` comment";
|
|
72
76
|
const SERVER_IMPORT_HINT = "server-only code in browser code (a route's frontend half, frontend/ or shared/) - reach it from the route's backend half (x.backend.ts) or a *.fn.ts server function; a dynamic import() is bundled too";
|
|
73
|
-
const RESPONSE_ROUTE_HINT = "route handler returns a raw Response - the typed client infers `data: never`, so drift detection is lost for this route. Return a plain object (it's serialized for you); for a stream use a typed SSE route (`app.sse(...)`), which keeps typed events; or, if a raw Response is intended (file/redirect), add `{ response: t.… }` or a `// nifra-expect
|
|
77
|
+
const RESPONSE_ROUTE_HINT = "route handler returns a raw Response - the typed client infers `data: never`, so drift detection is lost for this route. Return a plain object (it's serialized for you); for a stream use a typed SSE route (`app.sse(...)`), which keeps typed events; or, if a raw Response is intended (file/redirect), add `{ response: t.… }` or a `// nifra-expect NF-C007: <reason>` comment to mark it and silence this";
|
|
74
78
|
const PIPELINE_DOC_HINT = "nifra runs one bundler per phase - `vitePlugins` feed Vite, `clientPlugins`/`serverPlugins` feed Bun, and the file `nifra build` imports the adapter from is bundled into the server. See the Gotchas section of the Dev & HMR guide.";
|
|
75
79
|
const UNDECLARED_DEP_HINT = "imported package is not declared in package.json dependencies - run bun add to declare it";
|
|
76
80
|
const SQL_COMPILER_MISSING_HINT = "the interpolated-SQL rule did NOT run - it parses source with the TypeScript compiler, which is an optional peer and is not installed here. This report says nothing about SQL injection either way. Install it with `bun add -d typescript`";
|
|
@@ -112,6 +116,7 @@ function legacyDiagnostic(rule, fields) {
|
|
|
112
116
|
...(fields.fix === undefined ? {} : { fix: fields.fix }),
|
|
113
117
|
...(fields.suggestion === undefined ? {} : { suggestion: fields.suggestion }),
|
|
114
118
|
...(fields.chain === undefined ? {} : { chain: fields.chain }),
|
|
119
|
+
...(fields.modules === undefined ? {} : { modules: fields.modules }),
|
|
115
120
|
...(fields.includeCode === true ? { includeCode: true } : {}),
|
|
116
121
|
};
|
|
117
122
|
return diagnosticWithCompatibility(canonical, compatibility);
|
|
@@ -249,7 +254,7 @@ function responseRouteSuggestion() {
|
|
|
249
254
|
steps: [
|
|
250
255
|
"Prefer returning a plain object from JSON routes; nifra serializes it for you.",
|
|
251
256
|
"For a stream, use a typed SSE route - `app.sse(...)` (or `sse(c, run)` from `@nifrajs/core/server`) - which keeps typed events instead of collapsing the client to `data: never`.",
|
|
252
|
-
"If this route must return a raw Response (redirect, file), declare an explicit response schema, or add a `// nifra-expect
|
|
257
|
+
"If this route must return a raw Response (redirect, file), declare an explicit response schema, or add a `// nifra-expect NF-C007: <reason>` comment above the return to mark it intentional and silence this advisory.",
|
|
253
258
|
],
|
|
254
259
|
};
|
|
255
260
|
}
|
|
@@ -308,30 +313,78 @@ const typecheckRule = {
|
|
|
308
313
|
}));
|
|
309
314
|
}
|
|
310
315
|
}
|
|
316
|
+
findings.push(...outsideProgramFindings(tc.outsideProgram ?? []));
|
|
311
317
|
return findings;
|
|
312
318
|
},
|
|
313
319
|
};
|
|
320
|
+
/** One finding per zone folder: the fix (tsconfig `include`) is per folder, not per file. */
|
|
321
|
+
function outsideProgramFindings(files) {
|
|
322
|
+
const byFolder = new Map();
|
|
323
|
+
for (const file of files) {
|
|
324
|
+
const folder = zoneFolderOf(file) ?? file;
|
|
325
|
+
const entry = byFolder.get(folder);
|
|
326
|
+
if (entry === undefined)
|
|
327
|
+
byFolder.set(folder, { first: file, group: [file] });
|
|
328
|
+
else
|
|
329
|
+
entry.group.push(file);
|
|
330
|
+
}
|
|
331
|
+
return [...byFolder].map(([folder, { first, group }]) => {
|
|
332
|
+
const shown = group.slice(0, 3).join(", ");
|
|
333
|
+
const more = group.length > 3 ? ` and ${group.length - 3} more` : "";
|
|
334
|
+
return legacyDiagnostic("typecheck", {
|
|
335
|
+
severity: "error",
|
|
336
|
+
file: first,
|
|
337
|
+
message: `${group.length} file(s) under ${folder}/ are outside tsc's program, so the typecheck passed without reading them: ${shown}${more}`,
|
|
338
|
+
evidence: group,
|
|
339
|
+
fix: `Add "${folder}" to tsconfig.json "include" (or list the files), then run \`nifra check\` again`,
|
|
340
|
+
suggestion: {
|
|
341
|
+
kind: "manual",
|
|
342
|
+
title: "Bring the folder into the TypeScript program",
|
|
343
|
+
steps: [
|
|
344
|
+
`Add "${folder}" to the "include" array in tsconfig.json.`,
|
|
345
|
+
'Files kept out on purpose: name them in the tsconfig "exclude", or under "typecheck": { "ignore": [...] } in nifra.check.json.',
|
|
346
|
+
"Run `nifra check` again; the newly checked files may report type errors.",
|
|
347
|
+
],
|
|
348
|
+
},
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* One NF-C002 finding. A `// nifra-expect NF-C002: <reason>` comment keeps it in the report as `info`,
|
|
354
|
+
* carrying the comment as evidence; the same comment without a reason silences nothing.
|
|
355
|
+
*/
|
|
356
|
+
function typedClientDiagnostic(finding, hint, kind, suggestion) {
|
|
357
|
+
const reason = finding.expected?.reason;
|
|
358
|
+
if (reason !== undefined) {
|
|
359
|
+
return legacyDiagnostic("typed-client", {
|
|
360
|
+
severity: "info",
|
|
361
|
+
file: finding.file,
|
|
362
|
+
line: finding.line,
|
|
363
|
+
message: `${finding.snippet} - ${kind} is expected here`,
|
|
364
|
+
evidence: [`nifra-expect NF-C002: ${reason}`],
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
const unreasoned = finding.expected === undefined ? "" : `; ${MISSING_EXPECTATION_REASON}`;
|
|
368
|
+
return legacyDiagnostic("typed-client", {
|
|
369
|
+
severity: "error",
|
|
370
|
+
file: finding.file,
|
|
371
|
+
line: finding.line,
|
|
372
|
+
message: `${finding.snippet} - ${hint}${unreasoned}`,
|
|
373
|
+
fix: hint,
|
|
374
|
+
suggestion,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
314
377
|
const typedClientRule = {
|
|
315
378
|
code: LEGACY_RULE_CODES["typed-client"],
|
|
316
379
|
title: TITLES["typed-client"],
|
|
317
380
|
async scan(ctx) {
|
|
318
381
|
const routes = staticRouteMap(ctx.project.routes);
|
|
319
|
-
const fetchFindings = [...ctx.project.sourceFindings.fetches]
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
suggestion: ownFetchSuggestion(finding, routes),
|
|
326
|
-
}));
|
|
327
|
-
const streamFindings = [...ctx.project.sourceFindings.streams].sort(bySite).map((finding) => legacyDiagnostic("typed-client", {
|
|
328
|
-
severity: "error",
|
|
329
|
-
file: finding.file,
|
|
330
|
-
line: finding.line,
|
|
331
|
-
message: `${finding.snippet} - ${STREAM_HINT}`,
|
|
332
|
-
fix: STREAM_HINT,
|
|
333
|
-
suggestion: ownStreamSuggestion(),
|
|
334
|
-
}));
|
|
382
|
+
const fetchFindings = [...ctx.project.sourceFindings.fetches]
|
|
383
|
+
.sort(bySite)
|
|
384
|
+
.map((finding) => typedClientDiagnostic(finding, FETCH_HINT, "own-API fetch", ownFetchSuggestion(finding, routes)));
|
|
385
|
+
const streamFindings = [...ctx.project.sourceFindings.streams]
|
|
386
|
+
.sort(bySite)
|
|
387
|
+
.map((finding) => typedClientDiagnostic(finding, STREAM_HINT, "own-API stream", ownStreamSuggestion()));
|
|
335
388
|
return [...fetchFindings, ...streamFindings].sort((a, b) => codeUnitOrder(a.file ?? "", b.file ?? "") || (a.line ?? 0) - (b.line ?? 0));
|
|
336
389
|
},
|
|
337
390
|
};
|
|
@@ -383,19 +436,29 @@ const serverOnlyImportRule = {
|
|
|
383
436
|
code: LEGACY_RULE_CODES["server-only-import"],
|
|
384
437
|
title: TITLES["server-only-import"],
|
|
385
438
|
async scan(ctx) {
|
|
386
|
-
|
|
439
|
+
const inWebApp = createWebAppProbe(ctx.root);
|
|
440
|
+
const findings = [];
|
|
441
|
+
// No component module got a receipt, so each is judged as an ordinary import: say why.
|
|
442
|
+
const components = ctx.project.check.componentCheckUnsupported;
|
|
443
|
+
if (components !== undefined)
|
|
444
|
+
findings.push(unsupportedTypeScriptDiagnostic(components.version, components.message));
|
|
445
|
+
for (const finding of [...ctx.project.importGraph].sort(bySite)) {
|
|
387
446
|
const chain = finding.chain;
|
|
388
447
|
const sink = chain[chain.length - 1] ?? finding.specifier;
|
|
389
|
-
|
|
448
|
+
const dir = finding.file.slice(0, Math.max(finding.file.lastIndexOf("/"), 0));
|
|
449
|
+
const found = legacyDiagnostic("server-only-import", {
|
|
390
450
|
severity: "error",
|
|
391
451
|
file: finding.file,
|
|
392
452
|
line: finding.line,
|
|
393
|
-
message: `${finding.snippet} - server-only "${sink}" reaches the browser bundle via ${chain.join(" → ")}${finding.fallback ? " (direct edge - couldn't resolve the transitive chain precisely)" : ""}; ${SERVER_IMPORT_HINT}
|
|
453
|
+
message: (inWebApp(dir) ? (text) => text : withApiKindHint)(`${finding.snippet} - server-only "${sink}" reaches the browser bundle via ${chain.join(" → ")}${finding.fallback ? " (direct edge - couldn't resolve the transitive chain precisely)" : ""}; ${SERVER_IMPORT_HINT}`),
|
|
394
454
|
fix: SERVER_IMPORT_HINT,
|
|
395
455
|
chain,
|
|
456
|
+
modules: finding.modules,
|
|
396
457
|
suggestion: serverImportSuggestion(finding.specifier, chain, finding.fallback),
|
|
397
458
|
});
|
|
398
|
-
|
|
459
|
+
findings.push(found);
|
|
460
|
+
}
|
|
461
|
+
return findings;
|
|
399
462
|
},
|
|
400
463
|
};
|
|
401
464
|
const interpolatedSqlRule = {
|
|
@@ -420,6 +483,16 @@ const interpolatedSqlRule = {
|
|
|
420
483
|
}));
|
|
421
484
|
}
|
|
422
485
|
for (const finding of [...ctx.project.sourceFindings.interpolatedSql].sort(bySite)) {
|
|
486
|
+
if (finding.expected !== undefined) {
|
|
487
|
+
findings.push(legacyDiagnostic("interpolated-sql", {
|
|
488
|
+
severity: "info",
|
|
489
|
+
file: finding.file,
|
|
490
|
+
line: finding.line,
|
|
491
|
+
message: `${finding.snippet} - interpolated SQL is expected here`,
|
|
492
|
+
evidence: [`nifra-expect NF-C006: ${finding.expected}`],
|
|
493
|
+
}));
|
|
494
|
+
continue;
|
|
495
|
+
}
|
|
423
496
|
findings.push(legacyDiagnostic("interpolated-sql", {
|
|
424
497
|
severity: "error",
|
|
425
498
|
file: finding.file,
|
|
@@ -434,7 +507,7 @@ const interpolatedSqlRule = {
|
|
|
434
507
|
"Pass the value as an argument alongside the statement, so the driver binds it.",
|
|
435
508
|
`Or switch to the driver's tagged template (sql\`… ${SQL_INTERPOLATION_EXAMPLE} …\`): the tag receives substitutions separately and binds them.`,
|
|
436
509
|
"An identifier that genuinely cannot be bound (a table or column name) must be checked against an allowlist you control, never taken from the request.",
|
|
437
|
-
"If the statement is dynamic but every value is already bound (generating `($1),($2),…` for a batch insert), mark it with a `// nifra-expect
|
|
510
|
+
"If the statement is dynamic but every value is already bound (generating `($1),($2),…` for a batch insert), mark it with a `// nifra-expect NF-C006: <reason>` comment on the line above - the reason is required.",
|
|
438
511
|
],
|
|
439
512
|
},
|
|
440
513
|
}));
|
|
@@ -459,30 +532,55 @@ const responseRouteRule = {
|
|
|
459
532
|
function copyLines(finding) {
|
|
460
533
|
return finding.copies.map((copy) => `${finding.package}@${copy.version} at ${copy.absolutePath ?? copy.path} - pulled in by ${copy.importers.join(", ")}${copy.links === undefined ? "" : ` through the symlink ${copy.links.join(", ")}`}`);
|
|
461
534
|
}
|
|
462
|
-
|
|
463
|
-
|
|
535
|
+
/** One fix for duplicates that share a cause and topology, so a linked sibling repository that
|
|
536
|
+
* duplicates every package reads as one finding instead of one paragraph per package. */
|
|
537
|
+
function duplicateSuggestion(group) {
|
|
538
|
+
const names = group.map((finding) => `"${finding.package}"`).join(", ");
|
|
464
539
|
return {
|
|
465
540
|
kind: "manual",
|
|
466
|
-
title:
|
|
541
|
+
title: group.length === 1
|
|
542
|
+
? `Resolve ${group[0]?.package} to one loaded copy`
|
|
543
|
+
: `Resolve each of ${group.length} packages to one loaded copy`,
|
|
467
544
|
diff: [
|
|
468
545
|
"package.json:",
|
|
469
|
-
` "nifra": { "singleCopy": [
|
|
546
|
+
` "nifra": { "singleCopy": [${names}] }`,
|
|
470
547
|
"bunfig.toml:",
|
|
471
548
|
` preload = ["${SINGLE_COPY_REGISTER_SPECIFIER}"]`,
|
|
472
549
|
" [test]",
|
|
473
550
|
` preload = ["${SINGLE_COPY_REGISTER_SPECIFIER}"]`,
|
|
474
551
|
].join("\n"),
|
|
475
552
|
steps: [
|
|
476
|
-
...
|
|
477
|
-
...(finding.provenance === undefined
|
|
553
|
+
...group.flatMap(copyLines).map((line) => `Copy: ${line}`),
|
|
554
|
+
...group.flatMap((finding) => finding.provenance === undefined
|
|
478
555
|
? []
|
|
479
|
-
: [
|
|
556
|
+
: [
|
|
557
|
+
`Planted links${group.length === 1 ? "" : ` (${finding.package})`}: ${finding.provenance} Try this before the fixes below.`,
|
|
558
|
+
]),
|
|
480
559
|
"Fix 1 - deduplicate: align workspace dependency and peer ranges on one compatible version, remove stale nested installs, and reinstall from the workspace root so every importer resolves one physical copy.",
|
|
481
|
-
`Fix 2 - declare single-copy: apply the package.json and bunfig.toml config printed above; nifra then rewrites every duplicate to this app's copy.${finding.cause === "version-skew" ? " A declaration only covers same-version duplicates, so fix 1's range alignment must land first." : ""}`,
|
|
560
|
+
`Fix 2 - declare single-copy: apply the package.json and bunfig.toml config printed above; nifra then rewrites every duplicate to this app's copy.${group.some((finding) => finding.cause === "version-skew") ? " A declaration only covers same-version duplicates, so fix 1's range alignment must land first." : ""}`,
|
|
482
561
|
"Re-run `nifra check`; the gate stays failing until one fix lands.",
|
|
483
562
|
],
|
|
484
563
|
};
|
|
485
564
|
}
|
|
565
|
+
function duplicateDiagnostic(group) {
|
|
566
|
+
const first = group[0];
|
|
567
|
+
if (first === undefined)
|
|
568
|
+
return undefined;
|
|
569
|
+
const context = `${first.topology === undefined ? "" : `. Topology: ${first.topology}`}${first.scope === undefined ? "" : `. Scope: ${first.scope}`}`;
|
|
570
|
+
const skew = first.cause === "version-skew";
|
|
571
|
+
const names = group.map((finding) => finding.package);
|
|
572
|
+
return legacyDiagnostic("duplicate-install", {
|
|
573
|
+
severity: "error",
|
|
574
|
+
message: group.length === 1
|
|
575
|
+
? `${first.package} identity preflight found ${first.cause} - ${first.explanation}${context}`
|
|
576
|
+
: `${group.length} packages share one identity preflight finding, ${first.cause} - ${names.join(", ")} ${skew ? "each resolve to multiple versions and physical paths" : "are each loaded from more than one physical path"}, so module state and symbols are not shared${context}`,
|
|
577
|
+
fix: group.length === 1 || skew
|
|
578
|
+
? first.remediation
|
|
579
|
+
: `Deduplicate so each resolves to a single physical path, or declare them single-copy: add "nifra": { "singleCopy": [${names.map((name) => `"${name}"`).join(", ")}] } to package.json and preload "${SINGLE_COPY_REGISTER_SPECIFIER}" from bunfig.toml.`,
|
|
580
|
+
evidence: group.flatMap(copyLines),
|
|
581
|
+
suggestion: duplicateSuggestion(group),
|
|
582
|
+
});
|
|
583
|
+
}
|
|
486
584
|
const doctorRules = Object.freeze([
|
|
487
585
|
{
|
|
488
586
|
code: LEGACY_RULE_CODES["undeclared-dependency"],
|
|
@@ -512,18 +610,14 @@ const doctorRules = Object.freeze([
|
|
|
512
610
|
const doctor = ctx.project.packages.doctor;
|
|
513
611
|
if (!doctor.ran)
|
|
514
612
|
return [];
|
|
515
|
-
|
|
613
|
+
// Duplicates with one cause and one layout (every package a linked sibling repo installs again)
|
|
614
|
+
// have one fix, so they are one finding; `identityPreflight` in --json keeps each package.
|
|
615
|
+
const groups = new Map();
|
|
516
616
|
for (const finding of doctor.duplicateInstalls) {
|
|
517
|
-
const
|
|
518
|
-
|
|
519
|
-
severity: "error",
|
|
520
|
-
message: `${finding.package} identity preflight found ${finding.cause} - ${finding.explanation}${finding.topology === undefined ? "" : `. Topology: ${finding.topology}`}${finding.scope === undefined ? "" : `. Scope: ${finding.scope}`}`,
|
|
521
|
-
fix: finding.remediation,
|
|
522
|
-
evidence: copies,
|
|
523
|
-
suggestion: duplicateSuggestion(finding),
|
|
524
|
-
}));
|
|
617
|
+
const key = [finding.cause, finding.topology ?? "", finding.scope ?? ""].join("\0");
|
|
618
|
+
groups.set(key, [...(groups.get(key) ?? []), finding]);
|
|
525
619
|
}
|
|
526
|
-
return
|
|
620
|
+
return [...groups.values()].flatMap((group) => duplicateDiagnostic(group) ?? []);
|
|
527
621
|
},
|
|
528
622
|
},
|
|
529
623
|
{
|
|
@@ -557,6 +651,26 @@ const doctorRules = Object.freeze([
|
|
|
557
651
|
},
|
|
558
652
|
},
|
|
559
653
|
]);
|
|
654
|
+
/** Read from the doctor result check already collected; it spawns nothing and edits nothing. */
|
|
655
|
+
const versionDriftRule = {
|
|
656
|
+
code: "NF-D002",
|
|
657
|
+
title: "Mixed nifra versions",
|
|
658
|
+
async scan(ctx) {
|
|
659
|
+
const drift = ctx.project.packages.doctor.versionDrift;
|
|
660
|
+
if (drift === undefined)
|
|
661
|
+
return [];
|
|
662
|
+
return [
|
|
663
|
+
diagnostic({
|
|
664
|
+
code: "NF-D002",
|
|
665
|
+
severity: "info",
|
|
666
|
+
message: versionDriftMessage(drift),
|
|
667
|
+
evidence: drift.versions.map(({ version }) => version),
|
|
668
|
+
fix: { recipe: "upgrade.align-versions", command: `nifra upgrade ${drift.highest}` },
|
|
669
|
+
verify: "nifra doctor",
|
|
670
|
+
}),
|
|
671
|
+
];
|
|
672
|
+
},
|
|
673
|
+
};
|
|
560
674
|
const pipelineRule = {
|
|
561
675
|
code: LEGACY_RULE_CODES.pipeline,
|
|
562
676
|
title: TITLES.pipeline,
|
|
@@ -869,6 +983,7 @@ export const legacyRules = Object.freeze([
|
|
|
869
983
|
interpolatedSqlRule,
|
|
870
984
|
responseRouteRule,
|
|
871
985
|
...doctorRules,
|
|
986
|
+
versionDriftRule,
|
|
872
987
|
pipelineRule,
|
|
873
988
|
serverManifestRule,
|
|
874
989
|
manifestRule,
|
package/dist/rules/legacy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/rules/legacy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/rules/legacy.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/pages.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as TSApi from "typescript";
|
|
1
2
|
import type { CheckRule } from "./index.js";
|
|
2
3
|
/** What a static read of a framework config says about `apiPrefix`. */
|
|
3
4
|
export type StaticApiPrefix = {
|
|
@@ -11,5 +12,28 @@ export type StaticApiPrefix = {
|
|
|
11
12
|
/** Read `apiPrefix` from a framework config's source without running it. Pure. */
|
|
12
13
|
export declare function readStaticApiPrefix(source: string): StaticApiPrefix;
|
|
13
14
|
export declare const shadowedPageRule: CheckRule;
|
|
15
|
+
/**
|
|
16
|
+
* NF-C034: a root status page (`_404`, `_<status>`) beside a root `_layout` that imports that layout
|
|
17
|
+
* to wrap itself. Status pages render inside their layouts, so such a page renders the layout twice.
|
|
18
|
+
* A page that names `inLayouts` at all has decided, so it is not reported.
|
|
19
|
+
*/
|
|
20
|
+
export declare const statusLayoutRule: CheckRule;
|
|
21
|
+
/**
|
|
22
|
+
* NF-C035: `backend/app.ts` exports a backend and the framework config sets no `apiPrefix`, so the
|
|
23
|
+
* backend is not served over HTTP - a browser call to `/api` reaches page routing. Loader-only is a
|
|
24
|
+
* valid choice; the finding asks for it to be stated. An unreadable `apiPrefix` is NF-C027's to report.
|
|
25
|
+
*/
|
|
26
|
+
export declare const implicitApiMountRule: CheckRule;
|
|
27
|
+
/** Append `export const apiPrefix = "/api"` to a framework config that sets none, creating it if needed. */
|
|
28
|
+
export declare function withDefaultApiPrefix(source: string | undefined): string | undefined;
|
|
29
|
+
/** Where an exported function `meta` reads its args' `data`: a destructured `data`, or `args.data`. */
|
|
30
|
+
export declare function metaDataReads(ts: typeof TSApi, tree: TSApi.SourceFile): number[];
|
|
31
|
+
/**
|
|
32
|
+
* NF-C040: a layout whose function `meta` reads `data` and which has no loader. A layout's `meta`
|
|
33
|
+
* receives its own loader data, `null` without a loader, so `data` there is always `null`; the page's
|
|
34
|
+
* data is `pageData`. Until 5.0 a layout's `meta` received the page's data as `data`, which is what such
|
|
35
|
+
* a `meta` was written against. A layout with a loader reading `data` reads its own, so it is not reported.
|
|
36
|
+
*/
|
|
37
|
+
export declare const layoutMetaDataRule: CheckRule;
|
|
14
38
|
export declare const pageRules: readonly CheckRule[];
|
|
15
39
|
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAOxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,uEAAuE;AACvE,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAA;AAQnC,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAKnE;AAID,eAAO,MAAM,gBAAgB,EAAE,SAoD9B,CAAA;AAkBD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAmC9B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SA2BlC,CAAA;AAED,4GAA4G;AAC5G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKnF;AAoCD,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,EAAE,CA2BhF;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAqDhC,CAAA;AAED,eAAO,MAAM,SAAS,sBAKpB,CAAA"}
|