@nifrajs/cli 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +7 -2
  2. package/dist/assure-hydration.d.ts.map +1 -1
  3. package/dist/assure-hydration.js +4 -2
  4. package/dist/assure-hydration.js.map +1 -1
  5. package/dist/assure.d.ts +12 -2
  6. package/dist/assure.d.ts.map +1 -1
  7. package/dist/assure.js +59 -8
  8. package/dist/assure.js.map +1 -1
  9. package/dist/capabilities-tool.d.ts.map +1 -1
  10. package/dist/capabilities-tool.js +24 -7
  11. package/dist/capabilities-tool.js.map +1 -1
  12. package/dist/check-diagnostics.d.ts +2 -0
  13. package/dist/check-diagnostics.d.ts.map +1 -1
  14. package/dist/check-diagnostics.js.map +1 -1
  15. package/dist/check-scan.d.ts +8 -2
  16. package/dist/check-scan.d.ts.map +1 -1
  17. package/dist/check-scan.js +43 -10
  18. package/dist/check-scan.js.map +1 -1
  19. package/dist/check.d.ts.map +1 -1
  20. package/dist/check.js +39 -33
  21. package/dist/check.js.map +1 -1
  22. package/dist/cli.d.ts +2 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +106 -48
  25. package/dist/cli.js.map +1 -1
  26. package/dist/client-module.d.ts +5 -3
  27. package/dist/client-module.d.ts.map +1 -1
  28. package/dist/client-module.js +34 -10
  29. package/dist/client-module.js.map +1 -1
  30. package/dist/command-catalog.d.ts +9 -1
  31. package/dist/command-catalog.d.ts.map +1 -1
  32. package/dist/command-catalog.js +67 -22
  33. package/dist/command-catalog.js.map +1 -1
  34. package/dist/dev-feed-tool.d.ts +18 -1
  35. package/dist/dev-feed-tool.d.ts.map +1 -1
  36. package/dist/dev-feed-tool.js +93 -0
  37. package/dist/dev-feed-tool.js.map +1 -1
  38. package/dist/fix-recipes.d.ts +2 -0
  39. package/dist/fix-recipes.d.ts.map +1 -1
  40. package/dist/fix-recipes.js +93 -12
  41. package/dist/fix-recipes.js.map +1 -1
  42. package/dist/init-agents.d.ts +16 -0
  43. package/dist/init-agents.d.ts.map +1 -1
  44. package/dist/init-agents.js +3 -2
  45. package/dist/init-agents.js.map +1 -1
  46. package/dist/internal/config-paths.d.ts +16 -0
  47. package/dist/internal/config-paths.d.ts.map +1 -0
  48. package/dist/internal/config-paths.js +124 -0
  49. package/dist/internal/config-paths.js.map +1 -0
  50. package/dist/internal/installed-package.d.ts +4 -0
  51. package/dist/internal/installed-package.d.ts.map +1 -0
  52. package/dist/internal/installed-package.js +17 -0
  53. package/dist/internal/installed-package.js.map +1 -0
  54. package/dist/internal/project-specifiers.d.ts +14 -1
  55. package/dist/internal/project-specifiers.d.ts.map +1 -1
  56. package/dist/internal/project-specifiers.js +54 -15
  57. package/dist/internal/project-specifiers.js.map +1 -1
  58. package/dist/internal/source-facts.d.ts +6 -1
  59. package/dist/internal/source-facts.d.ts.map +1 -1
  60. package/dist/internal/source-facts.js +11 -5
  61. package/dist/internal/source-facts.js.map +1 -1
  62. package/dist/internal/typescript-import.d.ts.map +1 -1
  63. package/dist/internal/typescript-import.js +5 -3
  64. package/dist/internal/typescript-import.js.map +1 -1
  65. package/dist/introspect.d.ts +9 -0
  66. package/dist/introspect.d.ts.map +1 -1
  67. package/dist/introspect.js +32 -1
  68. package/dist/introspect.js.map +1 -1
  69. package/dist/levels-tool.d.ts.map +1 -1
  70. package/dist/levels-tool.js +5 -8
  71. package/dist/levels-tool.js.map +1 -1
  72. package/dist/load.d.ts +2 -2
  73. package/dist/load.d.ts.map +1 -1
  74. package/dist/load.js +23 -3
  75. package/dist/load.js.map +1 -1
  76. package/dist/mcp-context.d.ts.map +1 -1
  77. package/dist/mcp-context.js +6 -21
  78. package/dist/mcp-context.js.map +1 -1
  79. package/dist/mcp-delegate.d.ts +2 -2
  80. package/dist/mcp-delegate.d.ts.map +1 -1
  81. package/dist/mcp-delegate.js +19 -7
  82. package/dist/mcp-delegate.js.map +1 -1
  83. package/dist/mcp-exec.d.ts +1 -0
  84. package/dist/mcp-exec.d.ts.map +1 -1
  85. package/dist/mcp-exec.js +8 -3
  86. package/dist/mcp-exec.js.map +1 -1
  87. package/dist/mcp-http.js +1 -1
  88. package/dist/mcp-io.d.ts +13 -0
  89. package/dist/mcp-io.d.ts.map +1 -1
  90. package/dist/mcp-io.js +23 -0
  91. package/dist/mcp-io.js.map +1 -1
  92. package/dist/mcp-path.d.ts +2 -1
  93. package/dist/mcp-path.d.ts.map +1 -1
  94. package/dist/mcp-path.js +9 -24
  95. package/dist/mcp-path.js.map +1 -1
  96. package/dist/mcp.d.ts.map +1 -1
  97. package/dist/mcp.js +40 -17
  98. package/dist/mcp.js.map +1 -1
  99. package/dist/migrate-layout.d.ts +40 -1
  100. package/dist/migrate-layout.d.ts.map +1 -1
  101. package/dist/migrate-layout.js +1316 -228
  102. package/dist/migrate-layout.js.map +1 -1
  103. package/dist/output-schemas.d.ts +34 -0
  104. package/dist/output-schemas.d.ts.map +1 -1
  105. package/dist/output-schemas.js +132 -21
  106. package/dist/output-schemas.js.map +1 -1
  107. package/dist/project-path.d.ts +6 -0
  108. package/dist/project-path.d.ts.map +1 -1
  109. package/dist/project-path.js +48 -14
  110. package/dist/project-path.js.map +1 -1
  111. package/dist/release-verification.d.ts +5 -0
  112. package/dist/release-verification.d.ts.map +1 -1
  113. package/dist/release-verification.js +14 -0
  114. package/dist/release-verification.js.map +1 -1
  115. package/dist/review.d.ts.map +1 -1
  116. package/dist/review.js +5 -0
  117. package/dist/review.js.map +1 -1
  118. package/dist/rules/codes.d.ts +3 -1
  119. package/dist/rules/codes.d.ts.map +1 -1
  120. package/dist/rules/codes.js +3 -1
  121. package/dist/rules/codes.js.map +1 -1
  122. package/dist/rules/data-guard.d.ts +6 -0
  123. package/dist/rules/data-guard.d.ts.map +1 -1
  124. package/dist/rules/data-guard.js +37 -0
  125. package/dist/rules/data-guard.js.map +1 -1
  126. package/dist/rules/legacy.d.ts.map +1 -1
  127. package/dist/rules/legacy.js +20 -1
  128. package/dist/rules/legacy.js.map +1 -1
  129. package/dist/rules/pages.d.ts +29 -3
  130. package/dist/rules/pages.d.ts.map +1 -1
  131. package/dist/rules/pages.js +236 -22
  132. package/dist/rules/pages.js.map +1 -1
  133. package/dist/rules/security.d.ts +3 -2
  134. package/dist/rules/security.d.ts.map +1 -1
  135. package/dist/rules/security.js +42 -11
  136. package/dist/rules/security.js.map +1 -1
  137. package/dist/rules/zones.d.ts.map +1 -1
  138. package/dist/rules/zones.js +31 -9
  139. package/dist/rules/zones.js.map +1 -1
  140. package/dist/stylex-migrate.d.ts.map +1 -1
  141. package/dist/stylex-migrate.js +127 -17
  142. package/dist/stylex-migrate.js.map +1 -1
  143. package/dist/test-tool.d.ts.map +1 -1
  144. package/dist/test-tool.js +3 -9
  145. package/dist/test-tool.js.map +1 -1
  146. package/dist/upgrade.d.ts +20 -5
  147. package/dist/upgrade.d.ts.map +1 -1
  148. package/dist/upgrade.js +86 -9
  149. package/dist/upgrade.js.map +1 -1
  150. package/dist/verification-plan.d.ts.map +1 -1
  151. package/dist/verification-plan.js +5 -2
  152. package/dist/verification-plan.js.map +1 -1
  153. package/dist/version-drift.d.ts.map +1 -1
  154. package/dist/version-drift.js +55 -3
  155. package/dist/version-drift.js.map +1 -1
  156. package/docs/examples.json +2 -2
  157. package/docs/llms-full.txt +481 -61
  158. package/docs/types.json +147 -70
  159. package/package.json +11 -11
  160. package/src/assure-hydration.ts +4 -1
  161. package/src/assure.ts +88 -10
  162. package/src/capabilities-tool.ts +33 -7
  163. package/src/check-diagnostics.ts +2 -0
  164. package/src/check-scan.ts +56 -9
  165. package/src/check.ts +55 -39
  166. package/src/cli.ts +104 -35
  167. package/src/client-module.ts +45 -9
  168. package/src/command-catalog.ts +77 -21
  169. package/src/dev-feed-tool.ts +112 -1
  170. package/src/fix-recipes.ts +101 -10
  171. package/src/init-agents.ts +4 -3
  172. package/src/internal/config-paths.ts +154 -0
  173. package/src/internal/installed-package.ts +15 -0
  174. package/src/internal/project-specifiers.ts +69 -16
  175. package/src/internal/source-facts.ts +23 -5
  176. package/src/internal/typescript-import.ts +5 -3
  177. package/src/introspect.ts +39 -1
  178. package/src/levels-tool.ts +7 -9
  179. package/src/load.ts +29 -3
  180. package/src/mcp-context.ts +5 -18
  181. package/src/mcp-delegate.ts +22 -10
  182. package/src/mcp-exec.ts +9 -2
  183. package/src/mcp-http.ts +1 -1
  184. package/src/mcp-io.ts +33 -0
  185. package/src/mcp-path.ts +8 -22
  186. package/src/mcp.ts +48 -19
  187. package/src/migrate-layout.ts +1496 -237
  188. package/src/output-schemas.ts +179 -23
  189. package/src/project-path.ts +44 -13
  190. package/src/release-verification.ts +20 -0
  191. package/src/review.ts +5 -0
  192. package/src/rules/codes.ts +3 -1
  193. package/src/rules/data-guard.ts +40 -0
  194. package/src/rules/legacy.ts +22 -1
  195. package/src/rules/pages.ts +266 -24
  196. package/src/rules/security.ts +49 -11
  197. package/src/rules/zones.ts +30 -7
  198. package/src/stylex-migrate.ts +117 -17
  199. package/src/test-tool.ts +3 -9
  200. package/src/upgrade.ts +96 -8
  201. package/src/verification-plan.ts +9 -2
  202. package/src/version-drift.ts +53 -2
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAWxC,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAgExD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAiC,GAC3D,OAAO,CAKT;AAyRD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,OAAO,KAAK,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,MAAM,CAiCR;AAED,eAAO,MAAM,oBAAoB,EAAE,SAkDlC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAqDxB,CAAA;AA2FD,eAAO,MAAM,gBAAgB,EAAE,SAqD9B,CAAA;AAiBD,eAAO,MAAM,uBAAuB,EAAE,SAqErC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,SAqDlC,CAAA;AAWD,eAAO,MAAM,wBAAwB,EAAE,SAyCtC,CAAA;AAID,eAAO,MAAM,0BAA0B,EAAE,SAwDxC,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,6BAA6B,EAAE,SAe3C,CAAA;AAED,eAAO,MAAM,aAAa,sBASxB,CAAA"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAWxC,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAA;AAgExD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAiC,GAC3D,OAAO,CAKT;AAyRD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,OAAO,KAAK,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,MAAM,CAiCR;AAED,eAAO,MAAM,oBAAoB,EAAE,SAkDlC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAqDxB,CAAA;AA4HD,eAAO,MAAM,gBAAgB,EAAE,SAyD9B,CAAA;AAiBD,eAAO,MAAM,uBAAuB,EAAE,SAqErC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,SAqDlC,CAAA;AAWD,eAAO,MAAM,wBAAwB,EAAE,SAyCtC,CAAA;AAID,eAAO,MAAM,0BAA0B,EAAE,SAwDxC,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,6BAA6B,EAAE,SAe3C,CAAA;AAED,eAAO,MAAM,aAAa,sBASxB,CAAA"}
@@ -49,8 +49,9 @@ function unexpectedMessage(message, lines, line, code) {
49
49
  }
50
50
  const parentOf = (dir) => dir.slice(0, Math.max(dir.lastIndexOf("/"), 0));
51
51
  /**
52
- * Whether NF-S002 may treat `file` as browser code, which compares values the client already holds,
53
- * so a finding there is advisory. It must be browser code by path (a route's frontend half,
52
+ * Whether NF-S001 and NF-S002 may treat `file` as browser code, where a finding is advisory: a
53
+ * browser compares values the client already holds, and a gate there that fails open grants nothing
54
+ * the server does not check again. It must be browser code by path (a route's frontend half,
54
55
  * `frontend/`) and sit inside a nifra web app: a `routes/` folder in an API-only project or a package
55
56
  * without a web dependency runs on the server. `shared/` also runs on the server, and a file that
56
57
  * cannot be classified is treated as server - fail closed.
@@ -472,27 +473,42 @@ const GATE_NAMES = [
472
473
  /^(?:require|assert|authori[sz]e|authenticate)/i,
473
474
  /^can[A-Z]/,
474
475
  /.Guard$/,
475
- /^(?:ensure|verify|check|validate)(?:Auth|LoggedIn|Login|Session|Token|Jwt|JWT|Signature|Webhook|Hmac|HMAC|Password|Credential|Permission|Access|Role|Admin|Owner|Scope|Csrf|CSRF|ApiKey|Origin|Tenant|User|Member)/,
476
+ /^(?:ensure|verify|check|validate)(?:Auth\w*|LoggedIn|Login|Session|Token|Jwt|JWT|Signatures?|Webhook|Hmac|HMAC|Password|Credentials?|Permissions?|Access|Roles?|Admin(?:istrator)?|Owner(?:ship)?|Scopes?|Csrf|CSRF|ApiKey|Origin|Tenant|User|Member(?:ship)?)(?![a-z])/,
476
477
  ];
478
+ /** An authenticator returns who is calling, so its "nobody" result (`null`, `undefined`) is a denial. */
479
+ const AUTHENTICATOR = /^authenticate/i;
480
+ /** Result-object fields whose `false` is the denial (`{ ok: false, error }`). */
481
+ const DECISION_FIELDS = new Set([
482
+ "ok",
483
+ "allowed",
484
+ "authorized",
485
+ "authenticated",
486
+ "valid",
487
+ "success",
488
+ "granted",
489
+ ]);
477
490
  /** Helpers whose whole job is to fail (`fail(…)`, `deny(…)`, `reject(…)`, …). */
478
491
  const FAILING_HELPERS = new Set(["fail", "deny", "reject", "forbid", "unauthorized", "abort"]);
479
492
  /**
480
- * Whether a gate's catch block fails closed: it throws, returns `false`, a `new Response(…)` or a
481
- * `deny…(…)` call, or hands the failure to a {@link FAILING_HELPERS} helper. The last form is why
493
+ * Whether a gate's catch block fails closed: it throws, returns `false`, a result object whose decision
494
+ * field is `false`, a `new Response(…)` or a `deny…(…)` call (an authenticator also `null` or
495
+ * nothing), or hands the failure to a {@link FAILING_HELPERS} helper. The last form is why
482
496
  * conformance/invariant asserts that funnel every error through a `never`-returning `fail()` are not
483
497
  * fail-open - the scanner reads no types, so it trusts the helper by name, the same trade the SQL and
484
498
  * gate-name heuristics already make. Read from the syntax, so a "throw" in a comment or a string counts
485
499
  * for nothing, and a nested function's statements are not the catch's own.
486
500
  */
487
- function failsClosed(ts, block) {
501
+ function failsClosed(ts, block, gate) {
502
+ const authenticator = AUTHENTICATOR.test(gate);
488
503
  let closed = false;
489
504
  const visit = (node) => {
490
505
  if (closed || ts.isFunctionLike(node))
491
506
  return;
492
507
  if (ts.isThrowStatement(node) ||
493
508
  (ts.isReturnStatement(node) &&
494
- node.expression !== undefined &&
495
- isDenial(ts, node.expression)) ||
509
+ (node.expression === undefined
510
+ ? authenticator
511
+ : isDenial(ts, node.expression, authenticator))) ||
496
512
  (ts.isCallExpression(node) &&
497
513
  ts.isIdentifier(node.expression) &&
498
514
  FAILING_HELPERS.has(node.expression.text))) {
@@ -504,7 +520,7 @@ function failsClosed(ts, block) {
504
520
  visit(block);
505
521
  return closed;
506
522
  }
507
- function isDenial(ts, expression) {
523
+ function isDenial(ts, expression, authenticator) {
508
524
  let value = expression;
509
525
  while (ts.isParenthesizedExpression(value) ||
510
526
  ts.isAwaitExpression(value) ||
@@ -513,6 +529,17 @@ function isDenial(ts, expression) {
513
529
  value = value.expression;
514
530
  if (value.kind === ts.SyntaxKind.FalseKeyword)
515
531
  return true;
532
+ if (authenticator &&
533
+ (value.kind === ts.SyntaxKind.NullKeyword ||
534
+ ts.isVoidExpression(value) ||
535
+ (ts.isIdentifier(value) && value.text === "undefined")))
536
+ return true;
537
+ if (ts.isObjectLiteralExpression(value)) {
538
+ return value.properties.some((property) => ts.isPropertyAssignment(property) &&
539
+ (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name)) &&
540
+ DECISION_FIELDS.has(property.name.text) &&
541
+ property.initializer.kind === ts.SyntaxKind.FalseKeyword);
542
+ }
516
543
  if (ts.isNewExpression(value))
517
544
  return ts.isIdentifier(value.expression) && value.expression.text === "Response";
518
545
  return (ts.isCallExpression(value) &&
@@ -530,11 +557,13 @@ export const failOpenGateRule = {
530
557
  if (ts === undefined)
531
558
  return didNotRun("NF-S001", "Fail-open gate scan");
532
559
  const findings = [];
560
+ const webDirs = createWebAppProbe(ctx.root);
533
561
  for (const file of ctx.project.source.files) {
534
562
  const parsed = parsedFile(ts, ctx.project.source, file);
535
563
  if (parsed === undefined)
536
564
  continue;
537
565
  const { tree, lines } = parsed;
566
+ let browser;
538
567
  const visit = (node) => {
539
568
  if (ts.isCatchClause(node)) {
540
569
  let parent = node.parent;
@@ -542,12 +571,13 @@ export const failOpenGateRule = {
542
571
  parent = parent.parent;
543
572
  const name = parent === undefined ? undefined : functionName(ts, parent);
544
573
  if (name !== undefined && GATE_NAMES.some((gate) => gate.test(name))) {
545
- if (!failsClosed(ts, node.block)) {
574
+ if (!failsClosed(ts, node.block, name)) {
546
575
  const line = tree.getLineAndCharacterOfPosition(node.getStart(tree)).line + 1;
547
576
  const reviewed = expectedReason(lines, line, "NF-S001") !== undefined;
577
+ browser ??= provenBrowserFile(ctx.root, file, webDirs);
548
578
  findings.push(diagnostic({
549
579
  code: "NF-S001",
550
- severity: reviewed ? "info" : "error",
580
+ severity: reviewed ? "info" : browser ? "warn" : "error",
551
581
  file,
552
582
  line,
553
583
  message: reviewed
@@ -556,6 +586,7 @@ export const failOpenGateRule = {
556
586
  evidence: [
557
587
  name,
558
588
  "catch block has no denial or rethrow",
589
+ ...(browser ? ["browser code: the server's own gate decides"] : []),
559
590
  ...expectationEvidence(lines, line, "NF-S001"),
560
591
  ],
561
592
  verify: "nifra check --lints-only",
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zones.d.ts","sourceRoot":"","sources":["../../src/rules/zones.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,cAAc,EAMnB,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAA;AAgB3B,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA0BxD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED,UAAU,SAAS;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;CACxC;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAA;IACvD,qGAAqG;IACrG,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1F,CAsDA;AA2BD,eAAO,MAAM,cAAc,EAAE,SAiH5B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,WAAW,EAAE,SAsBzB,CAAA;AAgBD,eAAO,MAAM,cAAc,EAAE,SAmC5B,CAAA;AAED,eAAO,MAAM,SAAS,sBAA+D,CAAA"}
1
+ {"version":3,"file":"zones.d.ts","sourceRoot":"","sources":["../../src/rules/zones.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,cAAc,EAOnB,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAA;AAkB3B,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA2BxD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED,UAAU,SAAS;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;CACxC;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAA;IACvD,qGAAqG;IACrG,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1F,CAsDA;AA2BD,eAAO,MAAM,cAAc,EAAE,SAoI5B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,WAAW,EAAE,SAsBzB,CAAA;AAgBD,eAAO,MAAM,cAAc,EAAE,SAmC5B,CAAA;AAED,eAAO,MAAM,SAAS,sBAA+D,CAAA"}
@@ -9,15 +9,18 @@
9
9
  */
10
10
  import { existsSync, readFileSync, realpathSync } from "node:fs";
11
11
  import { isAbsolute, join, relative } from "node:path";
12
- import { browserDenial, createZoneClassifier, importAllowed, importRuleMessage, privateEnvReads, privateEnvReason, ZoneConfigError, } from "@nifrajs/web/zones";
12
+ import { browserDenial, createZoneClassifier, importAllowed, importRuleMessage, privateEnvReads, privateEnvReason, specifierPackage, ZoneConfigError, } from "@nifrajs/web/zones";
13
13
  import { CONFIG_FILE, FRAMEWORK_FILE } from "../app-files.js";
14
14
  import { COMPONENT_FILE, importSites, stripComments } from "../check-scan.js";
15
15
  import { appDirs, clientModuleRoot } from "../client-module.js";
16
16
  import { componentCheckReceipts } from "../component-check.js";
17
17
  import { diagnostic } from "../diagnostics.js";
18
18
  import { codeUnitOrder } from "../internal/code-unit-order.js";
19
+ import { installedManifest } from "../internal/installed-package.js";
19
20
  import { createApiOnlyProbe, createKindProbe, createNifraProjectProbe, createWebAppProbe, hasWebConfig, withApiKindHint, } from "../internal/nifra-project.js";
20
21
  import { createSpecifierResolver } from "../internal/project-specifiers.js";
22
+ import { createSourceFacts } from "../internal/source-facts.js";
23
+ import { loadRuleTypeScript } from "./typescript.js";
21
24
  const ZONE_FOLDER = new Set(["routes", "frontend", "backend", "shared"]);
22
25
  const FRONTEND = new Set(["route-frontend", "frontend"]);
23
26
  const SERVER = new Set(["backend", "route-backend", "fn"]);
@@ -152,6 +155,13 @@ export const zoneImportRule = {
152
155
  // Outside any web app, a finding may only mean the project serves no pages: say how to declare it.
153
156
  const inWebApp = createWebAppProbe(ctx.root);
154
157
  const resolveSpecifier = createSpecifierResolver();
158
+ // Without a compiler nothing proves an import erased, so every import stays an edge.
159
+ const { compiler } = await loadRuleTypeScript(ctx);
160
+ const facts = compiler === undefined
161
+ ? undefined
162
+ : createSourceFacts(compiler, {
163
+ keepsTypeOnlyImports: (file) => resolveSpecifier.keepsTypeOnlyImports(isAbsolute(file) ? file : join(ctx.root, file)),
164
+ });
155
165
  const queue = [];
156
166
  const queued = new Set();
157
167
  const follow = (importer) => {
@@ -168,7 +178,7 @@ export const zoneImportRule = {
168
178
  // The browser entry imports the app's `clientModule`, so the build classifies it like any file it
169
179
  // loads, and loads what it imports.
170
180
  for (const app of appDirs(ctx.sources.files)) {
171
- const entry = clientModuleRoot(ctx.root, app, resolveSpecifier);
181
+ const entry = clientModuleRoot(ctx.root, app, resolveSpecifier, compiler);
172
182
  if (entry === undefined)
173
183
  continue;
174
184
  let classification;
@@ -203,12 +213,24 @@ export const zoneImportRule = {
203
213
  const content = ctx.sources.read(file);
204
214
  if (content === undefined)
205
215
  continue;
206
- for (const { specifier, line } of importSites(content, file)) {
207
- const target = resolveSpecifier(join(ctx.root, file), specifier);
208
- if (target === undefined)
209
- continue;
210
- const to = classifierFor(app).classify(target);
211
- const targetName = display(ctx.root, target);
216
+ for (const { specifier, line } of importSites(content, file, facts)) {
217
+ let target = resolveSpecifier(join(ctx.root, file), specifier);
218
+ let to;
219
+ if (target === undefined) {
220
+ // An installed package is judged here only by the entry it names, when it gives each
221
+ // entry its own side; a package-wide side is NF-C004's in browser code.
222
+ const name = specifierPackage(specifier);
223
+ const manifest = name === undefined ? undefined : installedManifest(join(ctx.root, file), name);
224
+ if (manifest === undefined)
225
+ continue;
226
+ to = classifierFor(app).classify(manifest, specifier);
227
+ if (to.entry === undefined)
228
+ continue;
229
+ target = manifest;
230
+ }
231
+ else
232
+ to = classifierFor(app).classify(target, specifier);
233
+ const targetName = to.entry === undefined ? display(ctx.root, target) : specifier;
212
234
  if (["frontend", "route-frontend", "shared"].includes(from) &&
213
235
  (receipts.has(target) || receipts.has(targetName)))
214
236
  continue;
@@ -219,7 +241,7 @@ export const zoneImportRule = {
219
241
  continue;
220
242
  reportedPackages.add(to.package);
221
243
  }
222
- else {
244
+ else if (to.entry === undefined) {
223
245
  // A file in no zone loads what it imports too: the build refuses each one it reaches.
224
246
  follow({ file: targetName, app, zone: "error" });
225
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zones.js","sourceRoot":"","sources":["../../src/rules/zones.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zones.js","sourceRoot":"","sources":["../../src/rules/zones.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stylex-migrate.d.ts","sourceRoot":"","sources":["../src/stylex-migrate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC/C;AAsjCD,mGAAmG;AACnG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA2EnF;AAuBD,oFAAoF;AACpF,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAsChC"}
1
+ {"version":3,"file":"stylex-migrate.d.ts","sourceRoot":"","sources":["../src/stylex-migrate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC/C;AAypCD,mGAAmG;AACnG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA4EnF;AAuBD,oFAAoF;AACpF,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAsChC"}
@@ -1044,27 +1044,136 @@ const existingStylexImport = (source) => {
1044
1044
  const match = /import\s+\*\s+as\s+([A-Za-z_$][\w$]*)\s+from\s+["'](?:@stylexjs\/stylex|stylex)["']/.exec(source);
1045
1045
  return match?.[1];
1046
1046
  };
1047
- const insertionOffset = (source) => {
1048
- let offset = source.startsWith("#!") ? source.indexOf("\n") + 1 || source.length : 0;
1049
- const lines = source.slice(offset).split(/(?<=\n)/);
1050
- let consumed = 0;
1051
- let inImport = false;
1052
- for (const line of lines) {
1053
- const trimmed = line.trim();
1054
- const directive = /^(['"])(?:use client|use server)\1;?$/.test(trimmed);
1055
- if (inImport || trimmed.startsWith("import ") || trimmed.startsWith("import{")) {
1056
- inImport = !/(?:from\s+["'][^"']+["']|import\s+["'][^"']+["'])\s*;?$/.test(trimmed);
1057
- consumed += line.length;
1047
+ const isIdentifierChar = (char) => char !== undefined && /[\w$]/.test(char);
1048
+ /** Past the whitespace and comments at `index`. `inLine` stops at the end of the line. */
1049
+ function skipTrivia(source, index, inLine = false) {
1050
+ let at = index;
1051
+ while (at < source.length) {
1052
+ const char = source[at];
1053
+ if (char === " " || char === "\t" || char === "\r" || (char === "\n" && !inLine))
1054
+ at++;
1055
+ else if (source.startsWith("//", at)) {
1056
+ const end = source.indexOf("\n", at);
1057
+ if (end === -1)
1058
+ return source.length;
1059
+ at = inLine ? end : end + 1;
1060
+ }
1061
+ else if (source.startsWith("/*", at)) {
1062
+ const end = source.indexOf("*/", at + 2);
1063
+ if (end === -1)
1064
+ return source.length;
1065
+ at = end + 2;
1066
+ }
1067
+ else
1068
+ break;
1069
+ }
1070
+ return at;
1071
+ }
1072
+ function skipString(source, index) {
1073
+ const quote = source[index];
1074
+ let at = index + 1;
1075
+ while (at < source.length && source[at] !== quote && source[at] !== "\n")
1076
+ at += source[at] === "\\" ? 2 : 1;
1077
+ return Math.min(at + 1, source.length);
1078
+ }
1079
+ /** Past an import's specifier: its `with { ... }` (or `assert`) attributes and a `;`. */
1080
+ function afterSpecifier(source, index) {
1081
+ let at = index;
1082
+ const next = skipTrivia(source, at, true);
1083
+ for (const keyword of ["with", "assert"]) {
1084
+ if (!source.startsWith(keyword, next) || isIdentifierChar(source[next + keyword.length]))
1085
+ continue;
1086
+ const open = skipTrivia(source, next + keyword.length);
1087
+ const close = source[open] === "{" ? source.indexOf("}", open) : -1;
1088
+ if (close !== -1)
1089
+ at = close + 1;
1090
+ }
1091
+ const semicolon = skipTrivia(source, at, true);
1092
+ return source[semicolon] === ";" ? semicolon + 1 : at;
1093
+ }
1094
+ /** Where the import declaration whose `import` keyword is at `index` ends, or `undefined` for an
1095
+ * `import(...)` / `import.meta` expression or a declaration this scan cannot read. */
1096
+ function importEnd(source, index) {
1097
+ let at = skipTrivia(source, index + "import".length);
1098
+ if (source[at] === "(" || source[at] === ".")
1099
+ return undefined;
1100
+ if (source[at] === '"' || source[at] === "'")
1101
+ return afterSpecifier(source, skipString(source, at));
1102
+ let depth = 0;
1103
+ while (at < source.length) {
1104
+ const char = source[at];
1105
+ if (char === '"' || char === "'") {
1106
+ at = skipString(source, at);
1058
1107
  continue;
1059
1108
  }
1060
- if (directive || trimmed === "") {
1061
- consumed += line.length;
1109
+ if (source.startsWith("//", at) || source.startsWith("/*", at)) {
1110
+ at = skipTrivia(source, at);
1062
1111
  continue;
1063
1112
  }
1064
- break;
1113
+ if (char === "{")
1114
+ depth++;
1115
+ else if (char === "}")
1116
+ depth--;
1117
+ else if (depth === 0 && (char === ";" || char === "="))
1118
+ return undefined;
1119
+ else if (depth === 0 &&
1120
+ source.startsWith("from", at) &&
1121
+ !isIdentifierChar(source[at - 1]) &&
1122
+ !isIdentifierChar(source[at + 4])) {
1123
+ const specifier = skipTrivia(source, at + 4);
1124
+ if (source[specifier] === '"' || source[specifier] === "'")
1125
+ return afterSpecifier(source, skipString(source, specifier));
1126
+ }
1127
+ at++;
1128
+ }
1129
+ return undefined;
1130
+ }
1131
+ /** Past the rest of the line `index` is on when only trivia is left on it, then any blank lines. */
1132
+ function nextLine(source, index) {
1133
+ let at = skipTrivia(source, index, true);
1134
+ if (at < source.length && source[at] !== "\n")
1135
+ return index;
1136
+ for (;;) {
1137
+ if (source[at] !== "\n")
1138
+ return at;
1139
+ let next = at + 1;
1140
+ while (source[next] === " " || source[next] === "\t" || source[next] === "\r")
1141
+ next++;
1142
+ if (next < source.length && source[next] !== "\n")
1143
+ return at + 1;
1144
+ at = next;
1145
+ }
1146
+ }
1147
+ /**
1148
+ * Where the generated block goes: after the directive prologue and the import declarations. Comments
1149
+ * are read as comments, so one before `"use client"` keeps the directive first, and a trailing
1150
+ * `// note` on the last import does not hide where it ends.
1151
+ */
1152
+ const insertionOffset = (source) => {
1153
+ let end = source.startsWith("#!") ? source.indexOf("\n") + 1 || source.length : 0;
1154
+ let prologue = true;
1155
+ for (;;) {
1156
+ const at = skipTrivia(source, end);
1157
+ const char = source[at];
1158
+ let statementEnd;
1159
+ if (prologue && (char === '"' || char === "'")) {
1160
+ const literal = skipString(source, at);
1161
+ const after = skipTrivia(source, literal, true);
1162
+ // A string with more of an expression after it on its line is not a directive.
1163
+ if (source[after] === ";")
1164
+ statementEnd = after + 1;
1165
+ else if (after === source.length || source[after] === "\n")
1166
+ statementEnd = literal;
1167
+ }
1168
+ else if (source.startsWith("import", at) && !isIdentifierChar(source[at + 6])) {
1169
+ prologue = false;
1170
+ statementEnd = importEnd(source, at);
1171
+ }
1172
+ if (statementEnd === undefined)
1173
+ break;
1174
+ end = nextLine(source, statementEnd);
1065
1175
  }
1066
- offset += consumed;
1067
- return offset;
1176
+ return end;
1068
1177
  };
1069
1178
  /** Transform one source file. The returned source is unchanged when every match is unsupported. */
1070
1179
  export function migrateTailwindSource(source, file) {
@@ -1138,7 +1247,8 @@ export function migrateTailwindSource(source, file) {
1138
1247
  const needsImport = existingStylexImport(source) === undefined;
1139
1248
  const generated = `${needsImport ? `import * as ${stylexName} from "${STYLEX_SPECIFIER}"\n\n` : ""}const ${stylesName} = ${stylexName}.create(${JSON.stringify(Object.fromEntries(styles), null, 2)})\n\n`;
1140
1249
  const offset = insertionOffset(rewritten);
1141
- const withGenerated = `${rewritten.slice(0, offset)}${generated}${rewritten.slice(offset)}`;
1250
+ const separator = offset > 0 && rewritten[offset - 1] !== "\n" ? "\n" : "";
1251
+ const withGenerated = `${rewritten.slice(0, offset)}${separator}${generated}${rewritten.slice(offset)}`;
1142
1252
  return { source: withGenerated, changed: true, replacements: replacements.length, issues };
1143
1253
  }
1144
1254
  const stylexNamePlaceholder = "__NIFRA_STYLEX__";