@nifrajs/cli 3.5.0 → 4.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 +42 -3
- package/dist/app-files.d.ts +11 -0
- package/dist/app-files.d.ts.map +1 -0
- package/dist/app-files.js +34 -0
- package/dist/app-files.js.map +1 -0
- package/dist/assure-hydration.d.ts +7 -1
- package/dist/assure-hydration.d.ts.map +1 -1
- package/dist/assure-hydration.js +128 -43
- package/dist/assure-hydration.js.map +1 -1
- package/dist/assure.d.ts.map +1 -1
- package/dist/assure.js +16 -2
- package/dist/assure.js.map +1 -1
- package/dist/capabilities-tool.d.ts +5 -1
- package/dist/capabilities-tool.d.ts.map +1 -1
- package/dist/capabilities-tool.js +32 -10
- package/dist/capabilities-tool.js.map +1 -1
- package/dist/cdn-check.d.ts +41 -0
- package/dist/cdn-check.d.ts.map +1 -0
- package/dist/cdn-check.js +207 -0
- package/dist/cdn-check.js.map +1 -0
- package/dist/check-diagnostics.d.ts +4 -0
- package/dist/check-diagnostics.d.ts.map +1 -1
- package/dist/check-diagnostics.js +13 -0
- package/dist/check-diagnostics.js.map +1 -1
- package/dist/check-scan.d.ts +49 -7
- package/dist/check-scan.d.ts.map +1 -1
- package/dist/check-scan.js +291 -62
- package/dist/check-scan.js.map +1 -1
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +99 -63
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts +42 -16
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +262 -82
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.d.ts +57 -5
- package/dist/command-catalog.d.ts.map +1 -1
- package/dist/command-catalog.js +270 -26
- package/dist/command-catalog.js.map +1 -1
- package/dist/config-target.d.ts +8 -0
- package/dist/config-target.d.ts.map +1 -0
- package/dist/config-target.js +45 -0
- package/dist/config-target.js.map +1 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +52 -13
- package/dist/contracts.js.map +1 -1
- package/dist/db-audit.d.ts +37 -0
- package/dist/db-audit.d.ts.map +1 -0
- package/dist/db-audit.js +99 -0
- package/dist/db-audit.js.map +1 -0
- package/dist/db-child.d.ts +64 -0
- package/dist/db-child.d.ts.map +1 -0
- package/dist/db-child.js +213 -0
- package/dist/db-child.js.map +1 -0
- package/dist/db-config.d.ts +60 -0
- package/dist/db-config.d.ts.map +1 -0
- package/dist/db-config.js +176 -0
- package/dist/db-config.js.map +1 -0
- package/dist/db-tool.d.ts +84 -0
- package/dist/db-tool.d.ts.map +1 -0
- package/dist/db-tool.js +537 -0
- package/dist/db-tool.js.map +1 -0
- package/dist/dev-bun-config.d.ts +20 -13
- package/dist/dev-bun-config.d.ts.map +1 -1
- package/dist/dev-bun-config.js +98 -41
- package/dist/dev-bun-config.js.map +1 -1
- package/dist/dev-feed-tool.d.ts +106 -0
- package/dist/dev-feed-tool.d.ts.map +1 -0
- package/dist/dev-feed-tool.js +713 -0
- package/dist/dev-feed-tool.js.map +1 -0
- package/dist/dev-server-client.d.ts +67 -0
- package/dist/dev-server-client.d.ts.map +1 -0
- package/dist/dev-server-client.js +195 -0
- package/dist/dev-server-client.js.map +1 -0
- package/dist/diff-tool.d.ts +3 -3
- package/dist/diff-tool.d.ts.map +1 -1
- package/dist/diff-tool.js +6 -5
- package/dist/diff-tool.js.map +1 -1
- package/dist/docs-search.d.ts.map +1 -1
- package/dist/docs-search.js +12 -4
- package/dist/docs-search.js.map +1 -1
- package/dist/doctor.d.ts +17 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +76 -15
- package/dist/doctor.js.map +1 -1
- package/dist/env-file.d.ts +15 -0
- package/dist/env-file.d.ts.map +1 -1
- package/dist/env-file.js +73 -1
- package/dist/env-file.js.map +1 -1
- package/dist/fix-recipes.d.ts.map +1 -1
- package/dist/fix-recipes.js +41 -21
- package/dist/fix-recipes.js.map +1 -1
- package/dist/frontend-guidance.js +5 -5
- package/dist/frontend-guidance.js.map +1 -1
- package/dist/i18n-check.d.ts +16 -0
- package/dist/i18n-check.d.ts.map +1 -0
- package/dist/i18n-check.js +154 -0
- package/dist/i18n-check.js.map +1 -0
- package/dist/init-agents.d.ts +49 -13
- package/dist/init-agents.d.ts.map +1 -1
- package/dist/init-agents.js +239 -34
- package/dist/init-agents.js.map +1 -1
- package/dist/internal/code-unit-order.d.ts +4 -0
- package/dist/internal/code-unit-order.d.ts.map +1 -0
- package/dist/internal/code-unit-order.js +6 -0
- package/dist/internal/code-unit-order.js.map +1 -0
- package/dist/internal/script-kind.d.ts +7 -0
- package/dist/internal/script-kind.d.ts.map +1 -0
- package/dist/internal/script-kind.js +12 -0
- package/dist/internal/script-kind.js.map +1 -0
- package/dist/internal/source-facts.d.ts +5 -0
- package/dist/internal/source-facts.d.ts.map +1 -1
- package/dist/internal/source-facts.js +61 -5
- package/dist/internal/source-facts.js.map +1 -1
- package/dist/internal/typescript-import.d.ts +49 -24
- package/dist/internal/typescript-import.d.ts.map +1 -1
- package/dist/internal/typescript-import.js +507 -67
- package/dist/internal/typescript-import.js.map +1 -1
- package/dist/introspect.d.ts +5 -1
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js +92 -27
- package/dist/introspect.js.map +1 -1
- package/dist/learn.js +3 -3
- package/dist/learn.js.map +1 -1
- package/dist/levels-tool.d.ts +10 -0
- package/dist/levels-tool.d.ts.map +1 -1
- package/dist/levels-tool.js +33 -3
- package/dist/levels-tool.js.map +1 -1
- package/dist/load.d.ts +67 -17
- package/dist/load.d.ts.map +1 -1
- package/dist/load.js +78 -18
- package/dist/load.js.map +1 -1
- package/dist/manifest-tool.d.ts.map +1 -1
- package/dist/manifest-tool.js +3 -2
- package/dist/manifest-tool.js.map +1 -1
- package/dist/mcp-app-tool.d.ts.map +1 -1
- package/dist/mcp-app-tool.js +2 -0
- package/dist/mcp-app-tool.js.map +1 -1
- package/dist/mcp-context.js +1 -1
- package/dist/mcp-context.js.map +1 -1
- package/dist/mcp-delegate.d.ts +57 -0
- package/dist/mcp-delegate.d.ts.map +1 -0
- package/dist/mcp-delegate.js +130 -0
- package/dist/mcp-delegate.js.map +1 -0
- package/dist/mcp-docs-tools.d.ts.map +1 -1
- package/dist/mcp-docs-tools.js +23 -5
- package/dist/mcp-docs-tools.js.map +1 -1
- package/dist/mcp-exec.d.ts +2 -0
- package/dist/mcp-exec.d.ts.map +1 -1
- package/dist/mcp-exec.js +132 -108
- package/dist/mcp-exec.js.map +1 -1
- package/dist/mcp-http.d.ts.map +1 -1
- package/dist/mcp-http.js +17 -5
- package/dist/mcp-http.js.map +1 -1
- package/dist/mcp-io.d.ts +14 -0
- package/dist/mcp-io.d.ts.map +1 -1
- package/dist/mcp-io.js +45 -0
- package/dist/mcp-io.js.map +1 -1
- package/dist/mcp-isolate.d.ts +48 -0
- package/dist/mcp-isolate.d.ts.map +1 -0
- package/dist/mcp-isolate.js +222 -0
- package/dist/mcp-isolate.js.map +1 -0
- package/dist/mcp-project-child.d.ts +74 -0
- package/dist/mcp-project-child.d.ts.map +1 -0
- package/dist/mcp-project-child.js +130 -0
- package/dist/mcp-project-child.js.map +1 -0
- package/dist/mcp-render.js +2 -2
- package/dist/mcp-render.js.map +1 -1
- package/dist/mcp-root.d.ts +37 -9
- package/dist/mcp-root.d.ts.map +1 -1
- package/dist/mcp-root.js +110 -23
- package/dist/mcp-root.js.map +1 -1
- package/dist/mcp-run.d.ts +18 -1
- package/dist/mcp-run.d.ts.map +1 -1
- package/dist/mcp-run.js +82 -9
- package/dist/mcp-run.js.map +1 -1
- package/dist/mcp-ws.js +4 -1
- package/dist/mcp-ws.js.map +1 -1
- package/dist/mcp.d.ts +16 -3
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +81 -53
- package/dist/mcp.js.map +1 -1
- package/dist/migrate-layout.d.ts +44 -0
- package/dist/migrate-layout.d.ts.map +1 -0
- package/dist/migrate-layout.js +982 -0
- package/dist/migrate-layout.js.map +1 -0
- package/dist/openapi-tool.d.ts +2 -2
- package/dist/openapi-tool.d.ts.map +1 -1
- package/dist/openapi-tool.js.map +1 -1
- package/dist/openapi-types.d.ts +2 -1
- package/dist/openapi-types.d.ts.map +1 -1
- package/dist/openapi-types.js +240 -12
- package/dist/openapi-types.js.map +1 -1
- package/dist/pipeline-report.d.ts +3 -2
- package/dist/pipeline-report.d.ts.map +1 -1
- package/dist/pipeline-report.js +19 -16
- package/dist/pipeline-report.js.map +1 -1
- package/dist/port.d.ts +5 -4
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +46 -29
- package/dist/port.js.map +1 -1
- package/dist/project-facts.d.ts +5 -0
- package/dist/project-facts.d.ts.map +1 -1
- package/dist/project-facts.js.map +1 -1
- package/dist/recipes/4.0.0.d.ts +9 -0
- package/dist/recipes/4.0.0.d.ts.map +1 -0
- package/dist/recipes/4.0.0.js +34 -0
- package/dist/recipes/4.0.0.js.map +1 -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/release-verification.d.ts +11 -1
- package/dist/release-verification.d.ts.map +1 -1
- package/dist/release-verification.js +47 -4
- package/dist/release-verification.js.map +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +12 -8
- package/dist/review.js.map +1 -1
- package/dist/route-types.d.ts +28 -0
- package/dist/route-types.d.ts.map +1 -0
- package/dist/route-types.js +106 -0
- package/dist/route-types.js.map +1 -0
- package/dist/rules/codes.d.ts +9 -0
- package/dist/rules/codes.d.ts.map +1 -1
- package/dist/rules/codes.js +9 -0
- package/dist/rules/codes.js.map +1 -1
- package/dist/rules/data-guard.d.ts +12 -0
- package/dist/rules/data-guard.d.ts.map +1 -0
- package/dist/rules/data-guard.js +213 -0
- package/dist/rules/data-guard.js.map +1 -0
- package/dist/rules/index.d.ts +3 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +17 -5
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/islands.d.ts.map +1 -1
- package/dist/rules/islands.js +7 -4
- package/dist/rules/islands.js.map +1 -1
- package/dist/rules/legacy.d.ts.map +1 -1
- package/dist/rules/legacy.js +71 -38
- package/dist/rules/legacy.js.map +1 -1
- package/dist/rules/nano.d.ts.map +1 -1
- package/dist/rules/nano.js +15 -6
- package/dist/rules/nano.js.map +1 -1
- package/dist/rules/pages.d.ts +15 -0
- package/dist/rules/pages.d.ts.map +1 -0
- package/dist/rules/pages.js +88 -0
- package/dist/rules/pages.js.map +1 -0
- package/dist/rules/routes.d.ts +11 -0
- package/dist/rules/routes.d.ts.map +1 -1
- package/dist/rules/routes.js +180 -2
- package/dist/rules/routes.js.map +1 -1
- package/dist/rules/secrets.d.ts +10 -0
- package/dist/rules/secrets.d.ts.map +1 -0
- package/dist/rules/secrets.js +169 -0
- package/dist/rules/secrets.js.map +1 -0
- package/dist/rules/security.d.ts +7 -0
- package/dist/rules/security.d.ts.map +1 -1
- package/dist/rules/security.js +171 -65
- package/dist/rules/security.js.map +1 -1
- package/dist/rules/typescript.d.ts +16 -0
- package/dist/rules/typescript.d.ts.map +1 -0
- package/dist/rules/typescript.js +59 -0
- package/dist/rules/typescript.js.map +1 -0
- package/dist/rules/zones.d.ts +17 -0
- package/dist/rules/zones.d.ts.map +1 -0
- package/dist/rules/zones.js +174 -0
- package/dist/rules/zones.js.map +1 -0
- package/dist/scaffold.d.ts +25 -12
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +132 -87
- package/dist/scaffold.js.map +1 -1
- package/dist/sdk.d.ts +17 -3
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +941 -153
- package/dist/sdk.js.map +1 -1
- package/dist/search-terms.d.ts +2 -0
- package/dist/search-terms.d.ts.map +1 -1
- package/dist/search-terms.js +23 -8
- package/dist/search-terms.js.map +1 -1
- package/dist/smoke.d.ts +79 -0
- package/dist/smoke.d.ts.map +1 -0
- package/dist/smoke.js +494 -0
- package/dist/smoke.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/sync-routes.d.ts +4 -3
- package/dist/sync-routes.d.ts.map +1 -1
- package/dist/sync-routes.js +4 -3
- package/dist/sync-routes.js.map +1 -1
- package/dist/test-tool.d.ts.map +1 -1
- package/dist/test-tool.js +30 -11
- package/dist/test-tool.js.map +1 -1
- package/dist/types-search.d.ts.map +1 -1
- package/dist/types-search.js +11 -5
- package/dist/types-search.js.map +1 -1
- package/dist/upgrade.d.ts +36 -6
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +167 -29
- package/dist/upgrade.js.map +1 -1
- package/dist/verification-plan.d.ts.map +1 -1
- package/dist/verification-plan.js +4 -0
- package/dist/verification-plan.js.map +1 -1
- package/dist/verification.d.ts.map +1 -1
- package/dist/verification.js +45 -12
- package/dist/verification.js.map +1 -1
- package/dist/web-app-options.d.ts +19 -0
- package/dist/web-app-options.d.ts.map +1 -0
- package/dist/web-app-options.js +49 -0
- package/dist/web-app-options.js.map +1 -0
- package/dist/work-graph.d.ts.map +1 -1
- package/dist/work-graph.js +29 -13
- package/dist/work-graph.js.map +1 -1
- package/docs/examples.json +185 -29
- package/docs/llms-full.txt +3807 -580
- package/docs/types.json +14229 -10939
- package/package.json +19 -12
- package/src/app-files.ts +40 -0
- package/src/assure-hydration.ts +139 -46
- package/src/assure.ts +17 -2
- package/src/capabilities-tool.ts +35 -9
- package/src/cdn-check.ts +268 -0
- package/src/check-diagnostics.ts +17 -0
- package/src/check-scan.ts +358 -63
- package/src/check.ts +97 -62
- package/src/cli.ts +296 -87
- package/src/command-catalog.ts +374 -38
- package/src/config-target.ts +47 -0
- package/src/contracts.ts +54 -12
- package/src/db-audit.ts +128 -0
- package/src/db-child.ts +285 -0
- package/src/db-config.ts +224 -0
- package/src/db-tool.ts +690 -0
- package/src/dev-bun-config.ts +116 -40
- package/src/dev-feed-tool.ts +912 -0
- package/src/dev-server-client.ts +267 -0
- package/src/diff-tool.ts +6 -5
- package/src/docs-search.ts +10 -3
- package/src/doctor.ts +98 -15
- package/src/env-file.ts +78 -1
- package/src/fix-recipes.ts +44 -31
- package/src/frontend-guidance.ts +5 -5
- package/src/i18n-check.ts +179 -0
- package/src/init-agents.ts +301 -38
- package/src/internal/code-unit-order.ts +5 -0
- package/src/internal/script-kind.ts +11 -0
- package/src/internal/source-facts.ts +96 -22
- package/src/internal/typescript-import.ts +663 -68
- package/src/introspect.ts +90 -27
- package/src/learn.ts +3 -3
- package/src/levels-tool.ts +47 -2
- package/src/load.ts +140 -33
- package/src/manifest-tool.ts +3 -2
- package/src/mcp-app-tool.ts +2 -0
- package/src/mcp-context.ts +1 -1
- package/src/mcp-delegate.ts +162 -0
- package/src/mcp-docs-tools.ts +23 -5
- package/src/mcp-exec.ts +160 -132
- package/src/mcp-http.ts +19 -5
- package/src/mcp-io.ts +57 -0
- package/src/mcp-isolate.ts +287 -0
- package/src/mcp-project-child.ts +182 -0
- package/src/mcp-render.ts +2 -2
- package/src/mcp-root.ts +117 -22
- package/src/mcp-run.ts +104 -10
- package/src/mcp-ws.ts +4 -1
- package/src/mcp.ts +106 -64
- package/src/migrate-layout.ts +1121 -0
- package/src/openapi-tool.ts +7 -3
- package/src/openapi-types.ts +315 -13
- package/src/pipeline-report.ts +22 -18
- package/src/port.ts +53 -30
- package/src/project-facts.ts +5 -0
- package/src/recipes/4.0.0.ts +35 -0
- package/src/recipes/index.ts +2 -0
- package/src/release-verification.ts +74 -5
- package/src/review.ts +13 -8
- package/src/route-types.ts +133 -0
- package/src/rules/codes.ts +9 -0
- package/src/rules/data-guard.ts +230 -0
- package/src/rules/index.ts +18 -5
- package/src/rules/islands.ts +12 -4
- package/src/rules/legacy.ts +71 -39
- package/src/rules/nano.ts +18 -6
- package/src/rules/pages.ts +99 -0
- package/src/rules/routes.ts +181 -2
- package/src/rules/secrets.ts +174 -0
- package/src/rules/security.ts +198 -70
- package/src/rules/typescript.ts +77 -0
- package/src/rules/zones.ts +195 -0
- package/src/scaffold.ts +147 -95
- package/src/sdk.ts +1215 -158
- package/src/search-terms.ts +24 -7
- package/src/smoke.ts +607 -0
- package/src/sync-manifest.ts +2 -1
- package/src/sync-routes.ts +4 -3
- package/src/test-tool.ts +32 -11
- package/src/types-search.ts +11 -4
- package/src/upgrade.ts +205 -25
- package/src/verification-plan.ts +13 -0
- package/src/verification.ts +50 -12
- package/src/web-app-options.ts +57 -0
- package/src/work-graph.ts +27 -13
package/dist/rules/legacy.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
+
import { reservedKeyFor } from "@nifrajs/client";
|
|
3
4
|
import { snapshotProjectEvidence } from "@nifrajs/core/evidence";
|
|
4
5
|
import { SINGLE_COPY_REGISTER_SPECIFIER } from "@nifrajs/core/single-copy";
|
|
5
|
-
import { IDENT, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
|
|
6
|
+
import { IDENT, movedExportSites, parseSimpleFetchCall, REMOVED_IMPORTS, SIMPLE_REWRITE_METHODS, } from "../check-scan.js";
|
|
6
7
|
import { diagnostic, diagnosticWithCompatibility, } from "../diagnostics.js";
|
|
8
|
+
import { codeUnitOrder } from "../internal/code-unit-order.js";
|
|
9
|
+
import { unsupportedTypeScriptDiagnostic } from "../internal/typescript-import.js";
|
|
7
10
|
/** Legacy rule name → stable NF- code. Exported so `nifra.check.json` rule overrides can be keyed
|
|
8
11
|
* by either name and still hit both diagnostic views. */
|
|
9
12
|
export const LEGACY_RULE_CODES = Object.freeze({
|
|
@@ -66,7 +69,7 @@ export const LEGACY_RULE_ORDER = Object.freeze([
|
|
|
66
69
|
]);
|
|
67
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";
|
|
68
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";
|
|
69
|
-
const SERVER_IMPORT_HINT = "server-only
|
|
72
|
+
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";
|
|
70
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 raw-response` comment to mark it and silence this";
|
|
71
74
|
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.";
|
|
72
75
|
const UNDECLARED_DEP_HINT = "imported package is not declared in package.json dependencies - run bun add to declare it";
|
|
@@ -93,7 +96,7 @@ function legacyDiagnostic(rule, fields) {
|
|
|
93
96
|
if (code === undefined)
|
|
94
97
|
throw new Error(`unknown legacy rule ${rule}`);
|
|
95
98
|
const evidence = fields.evidence ?? fields.chain;
|
|
96
|
-
const fix = canonicalRecipe(rule);
|
|
99
|
+
const fix = fields.recipe ?? canonicalRecipe(rule);
|
|
97
100
|
const canonical = {
|
|
98
101
|
code,
|
|
99
102
|
severity: fields.severity === "warning" ? "warn" : fields.severity,
|
|
@@ -113,7 +116,7 @@ function legacyDiagnostic(rule, fields) {
|
|
|
113
116
|
};
|
|
114
117
|
return diagnosticWithCompatibility(canonical, compatibility);
|
|
115
118
|
}
|
|
116
|
-
const bySite = (a, b) => a.file
|
|
119
|
+
const bySite = (a, b) => codeUnitOrder(a.file, b.file) || a.line - b.line;
|
|
117
120
|
function oneLineDiff(file, line, before, after) {
|
|
118
121
|
return `--- ${file}:${line}\n+++ ${file}:${line}\n@@\n-${before}\n+${after}`;
|
|
119
122
|
}
|
|
@@ -145,7 +148,12 @@ function typedClientCall(method, path) {
|
|
|
145
148
|
chain += ".index";
|
|
146
149
|
else {
|
|
147
150
|
for (const seg of segs) {
|
|
148
|
-
|
|
151
|
+
// The proxy answers a reserved name (`post`, `index`, `then`...) itself, so that segment is
|
|
152
|
+
// appended by a call instead of a property read.
|
|
153
|
+
if (reservedKeyFor(seg) !== undefined)
|
|
154
|
+
chain += `(${JSON.stringify(seg)})`;
|
|
155
|
+
else
|
|
156
|
+
chain += IDENT.test(seg) ? `.${seg}` : `[${JSON.stringify(seg)}]`;
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
return `${chain}.${method.toLowerCase()}()`;
|
|
@@ -224,12 +232,13 @@ function serverImportSuggestion(specifier, chain, fallback) {
|
|
|
224
232
|
: undefined;
|
|
225
233
|
return {
|
|
226
234
|
kind: "manual",
|
|
227
|
-
title: "Move server-only code behind the route
|
|
235
|
+
title: "Move server-only code behind the route's backend half",
|
|
228
236
|
steps: [
|
|
229
237
|
...(chainStep === undefined ? [] : [chainStep]),
|
|
230
|
-
`Remove the
|
|
231
|
-
"
|
|
232
|
-
|
|
238
|
+
`Remove the import of "${specifier}" from this module: it is browser code, bundled for the browser.`,
|
|
239
|
+
"Do the backend work in the route's backend half (`x.backend.ts` - its `loader` or `action`) and pass the result as loader data, or call a server function (`*.fn.ts`).",
|
|
240
|
+
"Code both sides need belongs in `shared/`, which may import only shared code and third-party packages.",
|
|
241
|
+
"A dynamic `import()` does not keep code off the client: the build bundles its target as a lazy chunk.",
|
|
233
242
|
],
|
|
234
243
|
};
|
|
235
244
|
}
|
|
@@ -323,7 +332,7 @@ const typedClientRule = {
|
|
|
323
332
|
fix: STREAM_HINT,
|
|
324
333
|
suggestion: ownStreamSuggestion(),
|
|
325
334
|
}));
|
|
326
|
-
return [...fetchFindings, ...streamFindings].sort((a, b) => (a.file ?? ""
|
|
335
|
+
return [...fetchFindings, ...streamFindings].sort((a, b) => codeUnitOrder(a.file ?? "", b.file ?? "") || (a.line ?? 0) - (b.line ?? 0));
|
|
327
336
|
},
|
|
328
337
|
};
|
|
329
338
|
const removedImportRule = {
|
|
@@ -331,6 +340,18 @@ const removedImportRule = {
|
|
|
331
340
|
title: TITLES["removed-import"],
|
|
332
341
|
async scan(ctx) {
|
|
333
342
|
return [...ctx.project.sourceFindings.removedImports].sort(bySite).map((finding) => {
|
|
343
|
+
const moved = movedExportSites(finding.snippet)[0];
|
|
344
|
+
if (moved !== undefined) {
|
|
345
|
+
const names = moved.moved.map((binding) => `\`${binding.split(/\s+/)[0]}\``).join(", ");
|
|
346
|
+
return legacyDiagnostic("removed-import", {
|
|
347
|
+
severity: "error",
|
|
348
|
+
file: finding.file,
|
|
349
|
+
line: finding.line,
|
|
350
|
+
message: `${finding.snippet} - ${names} moved from "${moved.from}" to "${moved.to}"`,
|
|
351
|
+
fix: `import ${names} from "${moved.to}" - \`nifra fix --code NF-C005\` rewrites it`,
|
|
352
|
+
recipe: { recipe: "imports.moved-export", command: "nifra fix --code NF-C005" },
|
|
353
|
+
});
|
|
354
|
+
}
|
|
334
355
|
const entry = REMOVED_IMPORTS.find((candidate) => finding.snippet.includes(`"${candidate.specifier}`) ||
|
|
335
356
|
finding.snippet.includes(`'${candidate.specifier}`));
|
|
336
357
|
const replacement = entry?.replacement ?? "see the changelog";
|
|
@@ -382,7 +403,10 @@ const interpolatedSqlRule = {
|
|
|
382
403
|
title: TITLES["interpolated-sql"],
|
|
383
404
|
async scan(ctx) {
|
|
384
405
|
const findings = [];
|
|
385
|
-
if (
|
|
406
|
+
if (ctx.project.check.unsupportedTypeScriptVersion !== undefined) {
|
|
407
|
+
findings.push(unsupportedTypeScriptDiagnostic(ctx.project.check.unsupportedTypeScriptVersion));
|
|
408
|
+
}
|
|
409
|
+
else if (!ctx.project.check.sqlCompilerAvailable) {
|
|
386
410
|
findings.push(legacyDiagnostic("interpolated-sql", {
|
|
387
411
|
severity: "warning",
|
|
388
412
|
message: SQL_COMPILER_MISSING_HINT,
|
|
@@ -433,7 +457,7 @@ const responseRouteRule = {
|
|
|
433
457
|
},
|
|
434
458
|
};
|
|
435
459
|
function copyLines(finding) {
|
|
436
|
-
return finding.copies.map((copy) => `${finding.package}@${copy.version} at ${copy.absolutePath ?? copy.path} - pulled in by ${copy.importers.join(", ")}`);
|
|
460
|
+
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(", ")}`}`);
|
|
437
461
|
}
|
|
438
462
|
function duplicateSuggestion(finding) {
|
|
439
463
|
const lines = copyLines(finding);
|
|
@@ -450,6 +474,9 @@ function duplicateSuggestion(finding) {
|
|
|
450
474
|
].join("\n"),
|
|
451
475
|
steps: [
|
|
452
476
|
...lines.map((line) => `Copy: ${line}`),
|
|
477
|
+
...(finding.provenance === undefined
|
|
478
|
+
? []
|
|
479
|
+
: [`Planted links: ${finding.provenance} Try this before the fixes below.`]),
|
|
453
480
|
"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.",
|
|
454
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." : ""}`,
|
|
455
482
|
"Re-run `nifra check`; the gate stays failing until one fix lands.",
|
|
@@ -496,14 +523,6 @@ const doctorRules = Object.freeze([
|
|
|
496
523
|
suggestion: duplicateSuggestion(finding),
|
|
497
524
|
}));
|
|
498
525
|
}
|
|
499
|
-
for (const finding of doctor.deduplicatedInstalls ?? []) {
|
|
500
|
-
const paths = finding.copies.map((copy) => copy.path).join("; ");
|
|
501
|
-
findings.push(legacyDiagnostic("duplicate-install", {
|
|
502
|
-
severity: "warning",
|
|
503
|
-
message: `${finding.package} is installed at ${finding.copies.length} paths (${paths}) and is declared single-copy - nifra resolves every duplicate to this app's copy`,
|
|
504
|
-
fix: finding.remediation,
|
|
505
|
-
}));
|
|
506
|
-
}
|
|
507
526
|
return findings;
|
|
508
527
|
},
|
|
509
528
|
},
|
|
@@ -613,6 +632,10 @@ const capabilityAssuranceRule = {
|
|
|
613
632
|
const seamFix = finding.code === "unmatched-provenance-seam"
|
|
614
633
|
? "Write the seam exactly as the code imports it, or delete the rule."
|
|
615
634
|
: undefined;
|
|
635
|
+
const mountFix = finding.code === "opaque-mount-undeclared"
|
|
636
|
+
? 'merge() a nifra server() instead of mounting it, or add { opaque: "<why it cannot be analyzed>" } to the mount.'
|
|
637
|
+
: undefined;
|
|
638
|
+
const ownFix = seamFix ?? mountFix;
|
|
616
639
|
findings.push(legacyDiagnostic("capability-assurance", {
|
|
617
640
|
severity: "error",
|
|
618
641
|
...(violation === undefined
|
|
@@ -620,29 +643,39 @@ const capabilityAssuranceRule = {
|
|
|
620
643
|
? {}
|
|
621
644
|
: { chain: truncation.chain }
|
|
622
645
|
: { file: violation.module, chain: violation.chain }),
|
|
623
|
-
message: `${finding.message}${
|
|
624
|
-
fix:
|
|
625
|
-
suggestion:
|
|
646
|
+
message: `${finding.message}${ownFix === undefined ? ` - ${CAPABILITY_HINT}` : ""}`,
|
|
647
|
+
fix: ownFix ?? CAPABILITY_HINT,
|
|
648
|
+
suggestion: mountFix !== undefined
|
|
626
649
|
? {
|
|
627
650
|
kind: "manual",
|
|
628
|
-
title: "
|
|
651
|
+
title: "Analyze the mounted routes, or state why they cannot be",
|
|
629
652
|
steps: [
|
|
630
|
-
"
|
|
631
|
-
|
|
632
|
-
"
|
|
633
|
-
"Run `nifra capabilities snapshot` only after assurance passes, then review the lockfile diff.",
|
|
653
|
+
"If the child is a nifra server() you own, merge() it so its routes join the analyzed app.",
|
|
654
|
+
'If its effects live in code nifra cannot follow (a handler closure from another package), add { opaque: "<reason>" } to the mount.',
|
|
655
|
+
"A declared opaque mount is listed as a known gap on every run; it no longer fails assurance.",
|
|
634
656
|
],
|
|
635
657
|
}
|
|
636
|
-
:
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
658
|
+
: seamFix === undefined
|
|
659
|
+
? {
|
|
660
|
+
kind: "manual",
|
|
661
|
+
title: "Restore declared effect provenance",
|
|
662
|
+
steps: [
|
|
663
|
+
"Route effectful work through an import listed in capabilities.provenance.imports.",
|
|
664
|
+
"Declare the exact capability token on the route; do not widen unrelated routes in the same file.",
|
|
665
|
+
"For domain writes, add the adapter the capability definition requires: `schema.idempotency` for the `request` tier, `.use(durableCommand({ journal }))` from @nifrajs/middleware for the `durable` tier.",
|
|
666
|
+
"Run `nifra capabilities snapshot` only after assurance passes, then review the lockfile diff.",
|
|
667
|
+
],
|
|
668
|
+
}
|
|
669
|
+
: {
|
|
670
|
+
kind: "manual",
|
|
671
|
+
title: "Point the provenance rule at a module that exists",
|
|
672
|
+
steps: [
|
|
673
|
+
"Copy the specifier from the import statement itself - it is matched as written, with no extension or index resolution.",
|
|
674
|
+
"Use a trailing `/*` when the seam is a directory of modules (`@myorg/db/*`).",
|
|
675
|
+
"For a routeModules entry, give the project-relative path of the file that implements the route.",
|
|
676
|
+
"Delete the rule if the seam it governed is gone; leaving it in place proves nothing.",
|
|
677
|
+
],
|
|
678
|
+
},
|
|
646
679
|
}));
|
|
647
680
|
}
|
|
648
681
|
return findings;
|
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/nano.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nano.d.ts","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"nano.d.ts","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAsKxD,eAAO,MAAM,mBAAmB,EAAE,SAwCjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAyC7B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,SAkDlC,CAAA;AAED,eAAO,MAAM,SAAS,sBAA8E,CAAA"}
|
package/dist/rules/nano.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { diagnostic } from "../diagnostics.js";
|
|
2
|
-
import {
|
|
2
|
+
import { scriptKindOf } from "../internal/script-kind.js";
|
|
3
|
+
import { loadRuleTypeScript } from "./typescript.js";
|
|
3
4
|
/**
|
|
4
5
|
* The nano lane lints (`@nifrajs/web/nano`). nano is deliberately explicit - every reactive edge is a
|
|
5
6
|
* `bind`/`bindList` call or a `computed(fn, [deps])` - and that is exactly what makes its three
|
|
@@ -27,8 +28,7 @@ function parsedTree(ts, sources, file) {
|
|
|
27
28
|
files.set(file, null);
|
|
28
29
|
return undefined;
|
|
29
30
|
}
|
|
30
|
-
const
|
|
31
|
-
const tree = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, kind);
|
|
31
|
+
const tree = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true, scriptKindOf(ts, file));
|
|
32
32
|
files.set(file, { tree });
|
|
33
33
|
return tree;
|
|
34
34
|
}
|
|
@@ -143,7 +143,10 @@ export const nanoBindCleanupRule = {
|
|
|
143
143
|
code: "NF-C021",
|
|
144
144
|
title: "nano binding cleanup check",
|
|
145
145
|
async scan(ctx) {
|
|
146
|
-
const
|
|
146
|
+
const loaded = await loadRuleTypeScript(ctx);
|
|
147
|
+
if (loaded.diagnostics !== undefined)
|
|
148
|
+
return loaded.diagnostics;
|
|
149
|
+
const ts = loaded.compiler;
|
|
147
150
|
if (ts === undefined)
|
|
148
151
|
return [toolchainMissing("NF-C021")];
|
|
149
152
|
const findings = [];
|
|
@@ -180,7 +183,10 @@ export const nanoListKeyRule = {
|
|
|
180
183
|
code: "NF-C022",
|
|
181
184
|
title: "nano bindList key check",
|
|
182
185
|
async scan(ctx) {
|
|
183
|
-
const
|
|
186
|
+
const loaded = await loadRuleTypeScript(ctx);
|
|
187
|
+
if (loaded.diagnostics !== undefined)
|
|
188
|
+
return loaded.diagnostics;
|
|
189
|
+
const ts = loaded.compiler;
|
|
184
190
|
if (ts === undefined)
|
|
185
191
|
return [toolchainMissing("NF-C022")];
|
|
186
192
|
const findings = [];
|
|
@@ -217,7 +223,10 @@ export const nanoComputedDepsRule = {
|
|
|
217
223
|
code: "NF-C023",
|
|
218
224
|
title: "nano computed deps check",
|
|
219
225
|
async scan(ctx) {
|
|
220
|
-
const
|
|
226
|
+
const loaded = await loadRuleTypeScript(ctx);
|
|
227
|
+
if (loaded.diagnostics !== undefined)
|
|
228
|
+
return loaded.diagnostics;
|
|
229
|
+
const ts = loaded.compiler;
|
|
221
230
|
if (ts === undefined)
|
|
222
231
|
return [toolchainMissing("NF-C023")];
|
|
223
232
|
const findings = [];
|
package/dist/rules/nano.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nano.js","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nano.js","sourceRoot":"","sources":["../../src/rules/nano.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CheckRule } from "./index.js";
|
|
2
|
+
/** What a static read of a framework config says about `apiPrefix`. */
|
|
3
|
+
export type StaticApiPrefix = {
|
|
4
|
+
readonly kind: "default";
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: "literal";
|
|
7
|
+
readonly value: string;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: "unreadable";
|
|
10
|
+
};
|
|
11
|
+
/** Read `apiPrefix` from a framework config's source without running it. Pure. */
|
|
12
|
+
export declare function readStaticApiPrefix(source: string): StaticApiPrefix;
|
|
13
|
+
export declare const shadowedPageRule: CheckRule;
|
|
14
|
+
export declare const pageRules: readonly CheckRule[];
|
|
15
|
+
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,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;AAED,eAAO,MAAM,SAAS,sBAAoC,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NF-C027: a page file whose URL sits under the backend's mount path.
|
|
3
|
+
*
|
|
4
|
+
* `backend/app.ts`'s backend is mounted at `apiPrefix` (default `/api`) ahead of page routing, and
|
|
5
|
+
* its 404 is final, so `routes/api/report.tsx` never renders - every request for it gets the
|
|
6
|
+
* backend's 404. `createWebApp` refuses such an app at startup and `nifra build` refuses to build
|
|
7
|
+
* it; this reports it earlier, without running app code (check's pre-`loadApp` invariant): the
|
|
8
|
+
* routes come from a scan of `routes/`, and `apiPrefix` is read only when backend/framework.ts
|
|
9
|
+
* declares it as a string literal.
|
|
10
|
+
*
|
|
11
|
+
* Mounts other than the backend's hold `app` objects no static read can see, so they are left to the
|
|
12
|
+
* startup and build checks.
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
15
|
+
import { join } from "node:path";
|
|
16
|
+
import { discoverRoutes } from "@nifrajs/web/fs";
|
|
17
|
+
import { shadowedPages } from "@nifrajs/web/route-manifest";
|
|
18
|
+
import { BACKEND_APP_FILE, CONFIG_FILE, FRAMEWORK_FILE } from "../app-files.js";
|
|
19
|
+
import { stripComments } from "../check-scan.js";
|
|
20
|
+
import { diagnostic } from "../diagnostics.js";
|
|
21
|
+
const LITERAL_EXPORT = /\bexport\s+const\s+apiPrefix\s*(?::\s*string\s*)?=\s*(?:"([^"\\\r\n]*)"|'([^'\\\r\n]*)')\s*(?:as\s+const\s*)?(?:;|\r?\n|$)/;
|
|
22
|
+
const MENTION = /\bapiPrefix\b/;
|
|
23
|
+
const BACKEND_EXPORT = /\bexport\s+(?:const|let|var|function|class)\s+backend\b|\bexport\s*\{[^}]*\bbackend\b[^}]*\}/;
|
|
24
|
+
/** Read `apiPrefix` from a framework config's source without running it. Pure. */
|
|
25
|
+
export function readStaticApiPrefix(source) {
|
|
26
|
+
const code = stripComments(source);
|
|
27
|
+
const literal = LITERAL_EXPORT.exec(code);
|
|
28
|
+
if (literal !== null)
|
|
29
|
+
return { kind: "literal", value: literal[1] ?? literal[2] ?? "" };
|
|
30
|
+
return MENTION.test(code) ? { kind: "unreadable" } : { kind: "default" };
|
|
31
|
+
}
|
|
32
|
+
const CONFIG_FILES = [FRAMEWORK_FILE, CONFIG_FILE];
|
|
33
|
+
export const shadowedPageRule = {
|
|
34
|
+
code: "NF-C027",
|
|
35
|
+
title: "Page route under the backend mount",
|
|
36
|
+
async scan(ctx) {
|
|
37
|
+
const backendFile = join(ctx.root, BACKEND_APP_FILE);
|
|
38
|
+
const routesDir = join(ctx.root, "routes");
|
|
39
|
+
if (!existsSync(backendFile) || !existsSync(routesDir))
|
|
40
|
+
return [];
|
|
41
|
+
if (!BACKEND_EXPORT.test(stripComments(readFileSync(backendFile, "utf8"))))
|
|
42
|
+
return [];
|
|
43
|
+
let apiPrefix = "/api";
|
|
44
|
+
// backend/framework.ts first: the generated server entry imports from it, and the build refuses
|
|
45
|
+
// a nifra.config.ts whose forwarded fields differ from it.
|
|
46
|
+
const configFile = CONFIG_FILES.find((file) => existsSync(join(ctx.root, file)));
|
|
47
|
+
if (configFile !== undefined) {
|
|
48
|
+
const read = readStaticApiPrefix(readFileSync(join(ctx.root, configFile), "utf8"));
|
|
49
|
+
if (read.kind === "unreadable") {
|
|
50
|
+
return [
|
|
51
|
+
diagnostic({
|
|
52
|
+
code: "NF-C027",
|
|
53
|
+
severity: "info",
|
|
54
|
+
file: configFile,
|
|
55
|
+
message: `apiPrefix in ${configFile} is not a string literal, so check cannot tell which page routes sit under the backend mount; createWebApp still refuses a page under it at startup, and nifra build at build time`,
|
|
56
|
+
verify: "nifra build",
|
|
57
|
+
}),
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
if (read.kind === "literal")
|
|
61
|
+
apiPrefix = read.value;
|
|
62
|
+
}
|
|
63
|
+
if (apiPrefix === "")
|
|
64
|
+
return [];
|
|
65
|
+
let manifest;
|
|
66
|
+
try {
|
|
67
|
+
manifest = discoverRoutes(routesDir);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// A routes/ tree the manifest refuses fails dev and build with its own error.
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
const findings = [];
|
|
74
|
+
for (const page of shadowedPages(manifest, [apiPrefix])) {
|
|
75
|
+
findings.push(diagnostic({
|
|
76
|
+
code: "NF-C027",
|
|
77
|
+
severity: "error",
|
|
78
|
+
file: `routes/${page.file}`,
|
|
79
|
+
message: `routes/${page.file} serves ${page.pattern}, under the backend mounted at ${page.mount} - the backend answers every request there before page routing and its 404 is final, so this page can never render. Move the file out of ${page.mount}, serve the URL from backend/app.ts, or change the mount path with \`export const apiPrefix = "/backend"\` in backend/framework.ts`,
|
|
80
|
+
evidence: [`page: ${page.pattern}`, `mount: ${page.mount}`],
|
|
81
|
+
verify: "nifra check",
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
return findings;
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
export const pageRules = Object.freeze([shadowedPageRule]);
|
|
88
|
+
//# sourceMappingURL=pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/rules/pages.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/routes.d.ts
CHANGED
|
@@ -8,5 +8,16 @@ export declare const reservedSegmentRule: CheckRule;
|
|
|
8
8
|
* apart across files - so cross-file duplicates are NOT flagged rather than guessed at.
|
|
9
9
|
*/
|
|
10
10
|
export declare const duplicateRouteRule: CheckRule;
|
|
11
|
+
/**
|
|
12
|
+
* NF-C024: two different same-method route patterns in one source file accept at least one of the
|
|
13
|
+
* same paths. This is deliberately file-scoped, like NF-C019: the static scanner cannot prove
|
|
14
|
+
* which application instance owns routes collected from different files in a monorepo.
|
|
15
|
+
*/
|
|
16
|
+
export declare const overlappingRouteRule: CheckRule;
|
|
17
|
+
/**
|
|
18
|
+
* NF-C026: a param followed by `?`, `*`, `+`, `{`, `(` or `<` that the router reads as literal text
|
|
19
|
+
* (`/users/:id?/posts`, `/users/:id{int}`). Only a trailing `?` run and a valid `{...}` are syntax.
|
|
20
|
+
*/
|
|
21
|
+
export declare const paramModifierRule: CheckRule;
|
|
11
22
|
export declare const routeRules: readonly CheckRule[];
|
|
12
23
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/rules/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/rules/routes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAyExD,eAAO,MAAM,mBAAmB,EAAE,SAoCjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAsChC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAuFlC,CAAA;AAwBD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SA+B/B,CAAA;AAED,eAAO,MAAM,UAAU,sBAKrB,CAAA"}
|