@scriptc/compiler 0.0.10 → 0.0.12

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 (111) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +63 -15
  2. package/ambient/scriptc.d.ts +2 -2
  3. package/dist/backend/cc.d.ts +2 -2
  4. package/dist/backend/emission/emit-async.js +1 -1
  5. package/dist/backend/emission/emit-exprs.js +131 -54
  6. package/dist/backend/emission/emit-exprs.js.map +1 -1
  7. package/dist/backend/emission/emit-island.js +1 -1
  8. package/dist/backend/emission/emit-shapes.js +1 -1
  9. package/dist/backend/emission/emit-walkers.d.ts +14 -14
  10. package/dist/backend/emission/emit-walkers.js +44 -44
  11. package/dist/backend/emission/emit-walkers.js.map +1 -1
  12. package/dist/backend/emission/emitter.d.ts +3 -3
  13. package/dist/backend/emission/emitter.js +33 -9
  14. package/dist/backend/emission/emitter.js.map +1 -1
  15. package/dist/backend/emission/may-throw.js +1 -1
  16. package/dist/backend/llvm/dyn.d.ts +10 -10
  17. package/dist/backend/llvm/dyn.js +26 -26
  18. package/dist/backend/llvm/dyn.js.map +1 -1
  19. package/dist/backend/llvm/emitter.js +156 -47
  20. package/dist/backend/llvm/emitter.js.map +1 -1
  21. package/dist/backend/llvm/shapes.js +1 -1
  22. package/dist/backend/llvm/walkers.js +2 -2
  23. package/dist/backend/llvm/walkers.js.map +1 -1
  24. package/dist/coverage/surface-manifest.js +16 -2
  25. package/dist/coverage/surface-manifest.js.map +1 -1
  26. package/dist/diagnostics/diagnostic.d.ts +21 -8
  27. package/dist/diagnostics/diagnostic.js +48 -14
  28. package/dist/diagnostics/diagnostic.js.map +1 -1
  29. package/dist/frontend/lowering/lib-boundary.js +5 -5
  30. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  31. package/dist/frontend/lowering/lower-assert.js +12 -12
  32. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  33. package/dist/frontend/lowering/lower-builtins.d.ts +63 -7
  34. package/dist/frontend/lowering/lower-builtins.js +327 -35
  35. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  36. package/dist/frontend/lowering/lower-calls.d.ts +4 -4
  37. package/dist/frontend/lowering/lower-calls.js +104 -70
  38. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  39. package/dist/frontend/lowering/lower-classes.d.ts +7 -0
  40. package/dist/frontend/lowering/lower-classes.js +82 -6
  41. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  42. package/dist/frontend/lowering/lower-containers.d.ts +9 -5
  43. package/dist/frontend/lowering/lower-containers.js +88 -26
  44. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  45. package/dist/frontend/lowering/lower-emitter.d.ts +70 -3
  46. package/dist/frontend/lowering/lower-emitter.js +438 -31
  47. package/dist/frontend/lowering/lower-emitter.js.map +1 -1
  48. package/dist/frontend/lowering/lower-exprs.d.ts +87 -12
  49. package/dist/frontend/lowering/lower-exprs.js +630 -125
  50. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  51. package/dist/frontend/lowering/lower-inspect.js +5 -5
  52. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  53. package/dist/frontend/lowering/lower-island.js +12 -3
  54. package/dist/frontend/lowering/lower-island.js.map +1 -1
  55. package/dist/frontend/lowering/lower-modules.d.ts +8 -5
  56. package/dist/frontend/lowering/lower-modules.js +157 -63
  57. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  58. package/dist/frontend/lowering/lower-namespaces.d.ts +24 -0
  59. package/dist/frontend/lowering/lower-namespaces.js +158 -16
  60. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  61. package/dist/frontend/lowering/lower-server.js +11 -11
  62. package/dist/frontend/lowering/lower-server.js.map +1 -1
  63. package/dist/frontend/lowering/lower-stmts.d.ts +1 -1
  64. package/dist/frontend/lowering/lower-stmts.js +271 -36
  65. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  66. package/dist/frontend/lowering/lower-stream.js +171 -20
  67. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  68. package/dist/frontend/lowering/lowerer.d.ts +27 -10
  69. package/dist/frontend/lowering/lowerer.js +156 -54
  70. package/dist/frontend/lowering/lowerer.js.map +1 -1
  71. package/dist/frontend/lowering/surfaces.d.ts +44 -0
  72. package/dist/frontend/lowering/surfaces.js +236 -5
  73. package/dist/frontend/lowering/surfaces.js.map +1 -1
  74. package/dist/frontend/npm.d.ts +12 -0
  75. package/dist/frontend/npm.js +30 -0
  76. package/dist/frontend/npm.js.map +1 -1
  77. package/dist/frontend/program.d.ts +25 -0
  78. package/dist/frontend/program.js +145 -136
  79. package/dist/frontend/program.js.map +1 -1
  80. package/dist/frontend/shared.d.ts +1 -1
  81. package/dist/frontend/shared.js +8 -8
  82. package/dist/frontend/shared.js.map +1 -1
  83. package/dist/frontend/types.d.ts +2 -2
  84. package/dist/frontend/types.js +15 -15
  85. package/dist/frontend/types.js.map +1 -1
  86. package/dist/index.d.ts +2 -1
  87. package/dist/index.js +169 -5
  88. package/dist/index.js.map +1 -1
  89. package/dist/ir/nodes.d.ts +174 -106
  90. package/dist/ir/nodes.js +69 -24
  91. package/dist/ir/nodes.js.map +1 -1
  92. package/dist/ir/validate.js +55 -36
  93. package/dist/ir/validate.js.map +1 -1
  94. package/dist/library/fence-eval.js +12 -2
  95. package/dist/library/fence-eval.js.map +1 -1
  96. package/dist/library/int-infer.d.ts +119 -0
  97. package/dist/library/int-infer.js +1314 -0
  98. package/dist/library/int-infer.js.map +1 -0
  99. package/dist/library/int-infer.test.d.ts +1 -0
  100. package/dist/library/int-infer.test.js +279 -0
  101. package/dist/library/int-infer.test.js.map +1 -0
  102. package/dist/library/profile.d.ts +34 -5
  103. package/dist/library/profile.js +77 -13
  104. package/dist/library/profile.js.map +1 -1
  105. package/dist/library/sidecar-validate.js +1 -1
  106. package/dist/library/sidecar-validate.js.map +1 -1
  107. package/dist/library/sidecar.d.ts +24 -1
  108. package/dist/library/sidecar.js +163 -16
  109. package/dist/library/sidecar.js.map +1 -1
  110. package/package.json +2 -2
  111. package/surface-manifest.json +210 -12
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/frontend/npm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/frontend/npm.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,31 @@ declare function isNodeEsmFile7(sf: ts.SourceFile): boolean;
84
84
  * module.exports surfaces — `ts.isExternalModule` is NOT the CJS test:
85
85
  * tsgo marks CJS files with export assignments as external modules). */
86
86
  export declare function isCjsJsFile(sf: ts.SourceFile): boolean;
87
+ /** A module edge, carrying what cycle admission needs when it turns out
88
+ * to close one. `stmt` is the importing/re-exporting statement; absent
89
+ * for require() edges, which are never admitted (their CJS home fails the
90
+ * cluster check anyway). */
91
+ export interface CycleEdge {
92
+ dep: ts.SourceFile;
93
+ stmt?: ts.ImportDeclaration | ts.ExportDeclaration;
94
+ }
95
+ /** The benign-cycle admission engine over one import graph, shared by
96
+ * preflight's static-module walk and the --dynamic subgraph walk
97
+ * (appendDynamicImportModules). Given a BACK edge (importer → e.dep with
98
+ * e.dep already mid-initialization in a depth-first walk), answers null
99
+ * to ADMIT the cycle — the guarded %init calls reproduce Node's cache-hit
100
+ * order and nothing can observe the partial initialization — or the
101
+ * human-readable reason it keeps the SC1016 fence. Two admission chances:
102
+ * - the CHEAP PER-EDGE rule: the closing statement binds nothing (a
103
+ * side-effect import) or binds only namespace objects whose every use
104
+ * is a bare expression statement — no read crosses the edge at all;
105
+ * - the DECLARATION-ONLY INIT WINDOW rule (the admission block above):
106
+ * every cluster member is an ES module with an inert top level, and
107
+ * the closing edge's bindings are used only in deferred positions.
108
+ * Tarjan SCCs (lazy, rooted at each queried importer) and cluster
109
+ * verdicts are memoized across calls, so `edgesOf` must answer the same
110
+ * edges for the same file every time. */
111
+ export declare function makeCycleAdmission(program: ts.Program, edgesOf: (sf: ts.SourceFile) => readonly CycleEdge[]): (importer: ts.SourceFile, e: CycleEdge) => string | null;
87
112
  /** Resolves an import specifier from `from` to a source file of the
88
113
  * program, or null (unresolvable / outside the program). Exported (as
89
114
  * resolveImport) for the lowering: CommonJS require statements lower to
@@ -149,7 +149,7 @@ function loadProgram7(host, entryPath) {
149
149
  const config = adoptProjectConfig7(host, entryPath);
150
150
  const nodeTypes = config.configFile ? resolveNodeTypes7(entryPath) : null;
151
151
  // skipLibCheck is FORCED with @types/node in the program: checking a
152
- // third-party lib's internals against OUR lib choice (es2025, no DOM) is
152
+ // third-party lib's internals against OUR lib choice (es2025, no dyn) is
153
153
  // not scriptc's fence and drowns real diagnostics in hundreds of
154
154
  // .d.ts-internal errors. Fence discipline never depended on it: the
155
155
  // lowerer checks provenance and forms at every use site.
@@ -895,6 +895,118 @@ function backEdgeUseOffence7(program, sf, stmt) {
895
895
  }
896
896
  return null;
897
897
  }
898
+ /** The benign-cycle admission engine over one import graph, shared by
899
+ * preflight's static-module walk and the --dynamic subgraph walk
900
+ * (appendDynamicImportModules). Given a BACK edge (importer → e.dep with
901
+ * e.dep already mid-initialization in a depth-first walk), answers null
902
+ * to ADMIT the cycle — the guarded %init calls reproduce Node's cache-hit
903
+ * order and nothing can observe the partial initialization — or the
904
+ * human-readable reason it keeps the SC1016 fence. Two admission chances:
905
+ * - the CHEAP PER-EDGE rule: the closing statement binds nothing (a
906
+ * side-effect import) or binds only namespace objects whose every use
907
+ * is a bare expression statement — no read crosses the edge at all;
908
+ * - the DECLARATION-ONLY INIT WINDOW rule (the admission block above):
909
+ * every cluster member is an ES module with an inert top level, and
910
+ * the closing edge's bindings are used only in deferred positions.
911
+ * Tarjan SCCs (lazy, rooted at each queried importer) and cluster
912
+ * verdicts are memoized across calls, so `edgesOf` must answer the same
913
+ * edges for the same file every time. */
914
+ export function makeCycleAdmission(program, edgesOf) {
915
+ // Tarjan over the same edges the order walk uses (self-edges skipped —
916
+ // Node's self-reference rule makes those benign before admission is
917
+ // ever asked). State persists across lazily-added roots: a later
918
+ // strongconnect over an unvisited root composes with earlier runs
919
+ // exactly like the classic all-roots loop.
920
+ const sccOf = new Map();
921
+ const index = new Map();
922
+ const low = new Map();
923
+ const onStack = new Set();
924
+ const tstack = [];
925
+ let next = 0;
926
+ const strongconnect = (v) => {
927
+ index.set(v, next);
928
+ low.set(v, next);
929
+ next++;
930
+ tstack.push(v);
931
+ onStack.add(v);
932
+ for (const e of edgesOf(v)) {
933
+ const w = e.dep;
934
+ if (w === v)
935
+ continue;
936
+ if (!index.has(w)) {
937
+ strongconnect(w);
938
+ low.set(v, Math.min(low.get(v), low.get(w)));
939
+ }
940
+ else if (onStack.has(w)) {
941
+ low.set(v, Math.min(low.get(v), index.get(w)));
942
+ }
943
+ }
944
+ if (low.get(v) === index.get(v)) {
945
+ const comp = [];
946
+ for (;;) {
947
+ const w = tstack.pop();
948
+ onStack.delete(w);
949
+ comp.push(w);
950
+ if (w === v)
951
+ break;
952
+ }
953
+ for (const w of comp)
954
+ sccOf.set(w, comp);
955
+ }
956
+ };
957
+ const lineOf = (node) => {
958
+ const nsf = node.getSourceFile();
959
+ return `${nsf.fileName}:${ts.getLineAndCharacterOfPosition(nsf, node.getStart(nsf)).line + 1}`;
960
+ };
961
+ // Cluster verdict memo (keyed by the component array identity): the
962
+ // reason the cluster's cycles stay fenced, or null when its every
963
+ // member passes the inert-top-level bar.
964
+ const sccVerdict = new Map();
965
+ return (importer, e) => {
966
+ if (e.stmt === undefined)
967
+ return "the cycle closes through a require() edge";
968
+ // Cheap per-edge admission: nothing readable binds through the edge.
969
+ if (ts.isImportDeclaration(e.stmt)) {
970
+ const clause = e.stmt.importClause;
971
+ if (clause === undefined ||
972
+ (clause.name === undefined &&
973
+ (clause.namedBindings === undefined ||
974
+ (ts.isNamespaceImport(clause.namedBindings) &&
975
+ nsBindingUsesAreBareStatements7(program, importer, clause.namedBindings.name))))) {
976
+ return null;
977
+ }
978
+ }
979
+ if (!index.has(importer))
980
+ strongconnect(importer);
981
+ const comp = sccOf.get(e.dep);
982
+ if (comp === undefined || comp.length < 2 || !comp.includes(importer)) {
983
+ return "the cycle's module cluster could not be analyzed";
984
+ }
985
+ if (!sccVerdict.has(comp)) {
986
+ let reason = null;
987
+ for (const m of comp) {
988
+ if (isCjsJsFile7(m)) {
989
+ reason = `${m.fileName} is a CommonJS module — admission covers ES-module cycles only`;
990
+ break;
991
+ }
992
+ const off = nonInertTopLevel7(program, m);
993
+ if (off !== null) {
994
+ reason = `top-level code at ${lineOf(off)} can run user code during the cycle's init window — only declaration-only module bodies are admitted`;
995
+ break;
996
+ }
997
+ }
998
+ sccVerdict.set(comp, reason);
999
+ }
1000
+ const clusterReason = sccVerdict.get(comp);
1001
+ if (clusterReason !== null)
1002
+ return clusterReason;
1003
+ const use = backEdgeUseOffence7(program, importer, e.stmt);
1004
+ if (use !== null) {
1005
+ return `the cycle-crossing binding '${use.name}' is read at ${lineOf(use.node)}, outside any function body — a read during the init window observes the partially-initialized module (Node's TDZ ReferenceError / stale var), which is not modeled`;
1006
+ }
1007
+ return null;
1008
+ };
1009
+ }
898
1010
  /** Resolves an import specifier from `from` to a source file of the
899
1011
  * program, or null (unresolvable / outside the program). Exported (as
900
1012
  * resolveImport) for the lowering: CommonJS require statements lower to
@@ -1277,18 +1389,17 @@ function preflight7(load) {
1277
1389
  spec.endsWith(p.slice(star + 1)));
1278
1390
  });
1279
1391
  };
1280
- // Module edges, each carrying its BACK-EDGE admissibility: an edge that
1281
- // closes a cycle is admissible when nothing can OBSERVE the partially-
1282
- // initialized module through it — the importing statement binds nothing
1283
- // (side-effect import) or binds only NAMESPACE objects (initialized at
1284
- // link, never TDZ) whose every use is a bare expression statement (the
1285
- // no-op lowering; no member is ever read). Node evaluates such cycles
1392
+ // Module edges. An edge that closes a cycle is judged by the shared
1393
+ // admission engine (makeCycleAdmission): admissible when nothing can
1394
+ // OBSERVE the partially-initialized module through it — the importing
1395
+ // statement binds nothing (side-effect import) or binds only NAMESPACE
1396
+ // objects (initialized at link, never TDZ) whose every use is a bare
1397
+ // expression statement (the no-op lowering; no member is ever read),
1398
+ // or the cycle passes the declaration-only init window analysis (the
1399
+ // benign-cycle admission block above). Node evaluates such cycles
1286
1400
  // benignly (the revisited module is a cache hit, and no binding read
1287
1401
  // can hit TDZ or a stale slot), so the guarded %init calls reproduce
1288
- // its order exactly. Named/default bindings and `export ... from`
1289
- // re-exports get the SECOND admission chance when they close a cycle —
1290
- // the declaration-only init window analysis (see the benign-cycle
1291
- // admission block above): cycles that fail it keep the SC1016 fence,
1402
+ // its order exactly. Cycles that fail both keep the SC1016 fence,
1292
1403
  // because a read through them mid-cycle observes TDZ (let/const) or
1293
1404
  // undefined (var) in Node — runtime evaluation-order semantics the
1294
1405
  // static story does not model.
@@ -1374,7 +1485,7 @@ function preflight7(load) {
1374
1485
  }
1375
1486
  }
1376
1487
  if (reDep && !reDep.fileName.endsWith(".json")) {
1377
- deps.push({ dep: reDep, backAdmissible: () => false, stmt });
1488
+ deps.push({ dep: reDep, stmt });
1378
1489
  depPositions.get(sf).push({ dep: reDep, pos: stmt.getStart(sf) });
1379
1490
  }
1380
1491
  continue;
@@ -1397,15 +1508,15 @@ function preflight7(load) {
1397
1508
  const isBare = !isRelative && !ambientModules.has(spec);
1398
1509
  // --npm-static: an opted-in package importing node:module admits
1399
1510
  // for PROGRAM code (per-member fences, divergence 370) but marks
1400
- // the PACKAGE an offender — the only member, createRequire, has no
1401
- // static story, and bundler banners (esbuild's
1402
- // __createRequire(import.meta.url) prologue) run it at module
1403
- // INIT, so a static compile would fence at load where the island
1404
- // runs the package as shipped.
1511
+ // the PACKAGE an offender — createRequire's static story covers
1512
+ // only literal-specifier requires, and bundler banners (esbuild's
1513
+ // __createRequire(import.meta.url) prologue) feed the returned
1514
+ // require COMPUTED specifiers at module INIT, so a static compile
1515
+ // would fence at load where the island runs the package as shipped.
1405
1516
  if (canonicalBuiltinModule(spec) === "module") {
1406
1517
  const pkg = npmStaticPackageOfPath(sf.fileName);
1407
1518
  if (pkg !== null) {
1408
- reportNpmStaticOffender(pkg, "it imports node:module (createRequire has no static story; the island serves the package)");
1519
+ reportNpmStaticOffender(pkg, "it imports node:module (bundler banners drive createRequire's require with computed specifiers; the island serves the package)");
1409
1520
  }
1410
1521
  }
1411
1522
  // An import edge Node's own resolution refuses BEFORE any module
@@ -1575,20 +1686,7 @@ function preflight7(load) {
1575
1686
  }
1576
1687
  }
1577
1688
  if (dep && !isJson) {
1578
- // Back-edge admissibility (see the edges declaration): no clause,
1579
- // or namespace-only bindings whose uses are all bare statements.
1580
- // Lazy — the file scan only runs if this edge ever closes a cycle.
1581
- const importClause = clause;
1582
- const importSf = sf;
1583
- deps.push({
1584
- dep,
1585
- backAdmissible: () => importClause === undefined ||
1586
- (importClause.name === undefined &&
1587
- (importClause.namedBindings === undefined ||
1588
- (ts.isNamespaceImport(importClause.namedBindings) &&
1589
- nsBindingUsesAreBareStatements7(program, importSf, importClause.namedBindings.name)))),
1590
- stmt,
1591
- });
1689
+ deps.push({ dep, stmt });
1592
1690
  depPositions.get(sf).push({ dep, pos: stmt.getStart(sf) });
1593
1691
  }
1594
1692
  }
@@ -1663,7 +1761,7 @@ function preflight7(load) {
1663
1761
  continue;
1664
1762
  }
1665
1763
  if (dep)
1666
- deps.push({ dep, backAdmissible: () => false });
1764
+ deps.push({ dep });
1667
1765
  }
1668
1766
  }
1669
1767
  if (!ts.isExternalModule(sf)) {
@@ -1677,7 +1775,7 @@ function preflight7(load) {
1677
1775
  if (npmReq !== null && isNpmStaticPackage(npmReq.packageName)) {
1678
1776
  const nDep = npmStaticProgramDep(program, npmReq.packageName, npmReq.typesFile);
1679
1777
  if (nDep !== null)
1680
- deps.push({ dep: nDep, backAdmissible: () => false });
1778
+ deps.push({ dep: nDep });
1681
1779
  continue;
1682
1780
  }
1683
1781
  if (canonicalBuiltinModule(spec) === null && !processModuleAliasRequire7(spec, null)) {
@@ -1695,7 +1793,7 @@ function preflight7(load) {
1695
1793
  continue;
1696
1794
  }
1697
1795
  if (dep)
1698
- deps.push({ dep, backAdmissible: () => false });
1796
+ deps.push({ dep });
1699
1797
  }
1700
1798
  }
1701
1799
  }
@@ -1710,102 +1808,15 @@ function preflight7(load) {
1710
1808
  // the importing module itself — Node's self-reference rule): the
1711
1809
  // imported bindings alias the module's OWN top-level bindings with
1712
1810
  // identical timing, evaluation happens once — always benign;
1713
- // - a longer cycle whose closing edge is backAdmissible (see the edges
1714
- // declaration: nothing binds, or only namespace objects bound to
1715
- // bare-statement uses — no read can hit TDZ or a stale slot);
1716
- // - a cycle passing the DECLARATION-ONLY INIT WINDOW analysis (the
1717
- // benign-cycle admission block): every module of the cycle's
1811
+ // - a back edge the shared admission engine (makeCycleAdmission)
1812
+ // clears: the cheap per-edge rule (nothing binds, or only namespace
1813
+ // objects bound to bare-statement uses — no read can hit TDZ or a
1814
+ // stale slot) or the DECLARATION-ONLY INIT WINDOW analysis (the
1815
+ // benign-cycle admission block: every module of the cycle's
1718
1816
  // strongly-connected component has an inert top level and the
1719
1817
  // closing edge's bindings are used only in deferred positions, so no
1720
- // read can execute before every member initialized.
1721
- // The cycle cluster (SCC) memo: computed once, on the first back edge
1722
- // the cheap per-edge rule does not admit. Tarjan over the same edges
1723
- // the order walk uses (self-edges skipped — Node's self-reference rule
1724
- // handles those above).
1725
- let sccOf = null;
1726
- const computeSccs = () => {
1727
- const out = new Map();
1728
- const index = new Map();
1729
- const low = new Map();
1730
- const onStack = new Set();
1731
- const tstack = [];
1732
- let next = 0;
1733
- const strongconnect = (v) => {
1734
- index.set(v, next);
1735
- low.set(v, next);
1736
- next++;
1737
- tstack.push(v);
1738
- onStack.add(v);
1739
- for (const e of edges.get(v) ?? []) {
1740
- const w = e.dep;
1741
- if (w === v)
1742
- continue;
1743
- if (!index.has(w)) {
1744
- strongconnect(w);
1745
- low.set(v, Math.min(low.get(v), low.get(w)));
1746
- }
1747
- else if (onStack.has(w)) {
1748
- low.set(v, Math.min(low.get(v), index.get(w)));
1749
- }
1750
- }
1751
- if (low.get(v) === index.get(v)) {
1752
- const comp = [];
1753
- for (;;) {
1754
- const w = tstack.pop();
1755
- onStack.delete(w);
1756
- comp.push(w);
1757
- if (w === v)
1758
- break;
1759
- }
1760
- for (const w of comp)
1761
- out.set(w, comp);
1762
- }
1763
- };
1764
- for (const sf of edges.keys())
1765
- if (!index.has(sf))
1766
- strongconnect(sf);
1767
- return out;
1768
- };
1769
- const lineOf = (node) => {
1770
- const nsf = node.getSourceFile();
1771
- return `${nsf.fileName}:${ts.getLineAndCharacterOfPosition(nsf, node.getStart(nsf)).line + 1}`;
1772
- };
1773
- // Cluster verdict memo (keyed by the component array identity): the
1774
- // reason the cluster's cycles stay fenced, or null when its every
1775
- // member passes the inert-top-level bar.
1776
- const sccVerdict = new Map();
1777
- const cycleAdmissionReason = (importer, e) => {
1778
- if (e.stmt === undefined)
1779
- return "the cycle closes through a require() edge";
1780
- sccOf ??= computeSccs();
1781
- const comp = sccOf.get(e.dep);
1782
- if (comp === undefined || comp.length < 2 || !comp.includes(importer)) {
1783
- return "the cycle's module cluster could not be analyzed";
1784
- }
1785
- if (!sccVerdict.has(comp)) {
1786
- let reason = null;
1787
- for (const m of comp) {
1788
- if (isCjsJsFile7(m)) {
1789
- reason = `${m.fileName} is a CommonJS module — admission covers ES-module cycles only`;
1790
- break;
1791
- }
1792
- const off = nonInertTopLevel7(program, m);
1793
- if (off !== null) {
1794
- reason = `top-level code at ${lineOf(off)} can run user code during the cycle's init window — only declaration-only module bodies are admitted`;
1795
- break;
1796
- }
1797
- }
1798
- sccVerdict.set(comp, reason);
1799
- }
1800
- const clusterReason = sccVerdict.get(comp);
1801
- if (clusterReason !== null)
1802
- return clusterReason;
1803
- const use = backEdgeUseOffence7(program, importer, e.stmt);
1804
- if (use !== null) {
1805
- return `the cycle-crossing binding '${use.name}' is read at ${lineOf(use.node)}, outside any function body — a read during the init window observes the partially-initialized module (Node's TDZ ReferenceError / stale var), which is not modeled`;
1806
- }
1807
- return null;
1808
- };
1818
+ // read can execute before every member initialized).
1819
+ const cycleAdmissionReason = makeCycleAdmission(program, (sf) => edges.get(sf) ?? []);
1809
1820
  const order = [];
1810
1821
  const state = new Map();
1811
1822
  const stack = [];
@@ -1823,13 +1834,11 @@ function preflight7(load) {
1823
1834
  // already evaluating) — benign exactly when nothing can observe
1824
1835
  // the partial initialization through this edge's bindings, by the
1825
1836
  // cheap per-edge rule or the declaration-only init window rule.
1826
- if (!e.backAdmissible()) {
1827
- const reason = cycleAdmissionReason(sf, e);
1828
- if (reason !== null) {
1829
- const cycleStart = stack.indexOf(e.dep.fileName);
1830
- const cycle = [...stack.slice(cycleStart), e.dep.fileName].join(" → ");
1831
- diags.push(unsupportedDiag("SC1016", { file: e.dep.fileName, start: 0, end: 0 }, `circular imports (${cycle}; ${reason})`));
1832
- }
1837
+ const reason = cycleAdmissionReason(sf, e);
1838
+ if (reason !== null) {
1839
+ const cycleStart = stack.indexOf(e.dep.fileName);
1840
+ const cycle = [...stack.slice(cycleStart), e.dep.fileName].join(" → ");
1841
+ diags.push(unsupportedDiag("SC1016", { file: e.dep.fileName, start: 0, end: 0 }, `circular imports (${cycle}; ${reason})`));
1833
1842
  }
1834
1843
  continue;
1835
1844
  }