@scriptc/compiler 0.0.10 → 0.0.11
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/ambient/scriptc-node-fallback.d.ts +54 -9
- package/dist/backend/emission/emit-exprs.js +34 -2
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emitter.js +25 -1
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.js +59 -4
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/coverage/surface-manifest.js +16 -2
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +20 -7
- package/dist/diagnostics/diagnostic.js +44 -11
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +56 -0
- package/dist/frontend/lowering/lower-builtins.js +235 -4
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +38 -4
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +7 -0
- package/dist/frontend/lowering/lower-classes.js +51 -1
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +4 -0
- package/dist/frontend/lowering/lower-containers.js +69 -7
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-emitter.d.ts +70 -3
- package/dist/frontend/lowering/lower-emitter.js +436 -29
- package/dist/frontend/lowering/lower-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +80 -5
- package/dist/frontend/lowering/lower-exprs.js +472 -13
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +8 -5
- package/dist/frontend/lowering/lower-modules.js +141 -47
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +14 -0
- package/dist/frontend/lowering/lower-namespaces.js +122 -15
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +80 -6
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +113 -6
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +17 -0
- package/dist/frontend/lowering/lowerer.js +105 -17
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +44 -0
- package/dist/frontend/lowering/surfaces.js +234 -3
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/npm.d.ts +12 -0
- package/dist/frontend/npm.js +30 -0
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/program.d.ts +25 -0
- package/dist/frontend/program.js +144 -135
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/shared.d.ts +1 -1
- package/dist/frontend/shared.js +1 -1
- package/dist/frontend/shared.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +137 -4
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +64 -8
- package/dist/ir/nodes.js +21 -3
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/validate.js +11 -2
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/fence-eval.js +12 -2
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/int-infer.d.ts +119 -0
- package/dist/library/int-infer.js +1301 -0
- package/dist/library/int-infer.js.map +1 -0
- package/dist/library/int-infer.test.d.ts +1 -0
- package/dist/library/int-infer.test.js +279 -0
- package/dist/library/int-infer.test.js.map +1 -0
- package/dist/library/profile.d.ts +32 -5
- package/dist/library/profile.js +77 -13
- package/dist/library/profile.js.map +1 -1
- package/dist/library/sidecar.d.ts +23 -0
- package/dist/library/sidecar.js +150 -16
- package/dist/library/sidecar.js.map +1 -1
- package/package.json +2 -2
- package/surface-manifest.json +208 -10
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
* statement is not modeled — same as top-level const reads through early
|
|
38
38
|
* calls). */
|
|
39
39
|
import * as ts from "../ts7/adapter.js";
|
|
40
|
+
import { boundIdentifiersOf } from "./lowerer.js";
|
|
40
41
|
import { locOf, resolveImport } from "../program.js";
|
|
41
42
|
import { F64, STRING } from "../../ir/nodes.js";
|
|
42
43
|
/** True when this module declaration produces NO runtime construct at all:
|
|
@@ -388,28 +389,134 @@ export function ambientUndefVarRootOf(L, e) {
|
|
|
388
389
|
}
|
|
389
390
|
if (!ts.isIdentifier(root))
|
|
390
391
|
return null;
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
392
|
+
// PROBE resolution: every caller asks "is this chain ambient-rooted?"
|
|
393
|
+
// and proceeds to its ordinary lowering on a null answer — so the
|
|
394
|
+
// question must not carry resolution's side effects. Bare
|
|
395
|
+
// resolveValueSymbol flushes the root's DEFERRED collection
|
|
396
|
+
// diagnostics onto the build (reached-only-by-the-probe declarations
|
|
397
|
+
// reported eagerly — collectGlobals runs this walk on every
|
|
398
|
+
// initializer) and throws the cross-block merged-namespace fence's
|
|
399
|
+
// PoisonError out of collection entirely. The collect-phase guard
|
|
400
|
+
// suppresses both; the ordinary lowering that follows a null answer
|
|
401
|
+
// re-resolves with full effects at its own site.
|
|
402
|
+
const wasCollecting = L.collecting;
|
|
403
|
+
L.collecting = true;
|
|
404
|
+
try {
|
|
405
|
+
const sym = L.resolveValueSymbol(root);
|
|
406
|
+
if (!sym)
|
|
407
|
+
return null;
|
|
408
|
+
if (L.trapBindings.has(sym))
|
|
409
|
+
return root;
|
|
410
|
+
if (L.isStdlibSymbol(sym))
|
|
411
|
+
return null;
|
|
412
|
+
if (ambientUndefinedFnSymbolOf(L, root) !== null)
|
|
413
|
+
return root;
|
|
414
|
+
const decls = L.checker.declarationsOf(sym);
|
|
415
|
+
if (decls.length === 0)
|
|
416
|
+
return null;
|
|
417
|
+
for (const d of decls) {
|
|
418
|
+
if (!ts.isVariableDeclaration(d) || d.initializer !== undefined)
|
|
419
|
+
return null;
|
|
420
|
+
if (d.getSourceFile().isDeclarationFile)
|
|
421
|
+
return null; // lib/@types keep their own fences
|
|
422
|
+
if (!(ts.getCombinedModifierFlags(d) & ts.ModifierFlags.Ambient))
|
|
423
|
+
return null;
|
|
424
|
+
}
|
|
395
425
|
return root;
|
|
396
|
-
|
|
426
|
+
}
|
|
427
|
+
finally {
|
|
428
|
+
L.collecting = wasCollecting;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
/** The declaration-classification form of ambientUndefVarRootOf: the root
|
|
432
|
+
* that makes `decl` a TRAP BINDING — its initializer provably throws the
|
|
433
|
+
* root's ReferenceError, so the binding never holds a value and needs no
|
|
434
|
+
* storage — with the storage question answered honestly: a binding the
|
|
435
|
+
* program WRITES anywhere keeps ordinary storage instead, because the
|
|
436
|
+
* no-storage stance would fence every write site ("assignment to 'x'
|
|
437
|
+
* (not a writable local or module global)") where the ordinary lowering
|
|
438
|
+
* compiles them (`declare const numLiteral: 0; let t1 = numLiteral;
|
|
439
|
+
* t1 = t1 + 42` — the literal-widening corpus shape). The writes still
|
|
440
|
+
* never RUN either way — module init unwinds at the declaration's throw,
|
|
441
|
+
* which the initializer READ lowers to through the ordinary chain walk
|
|
442
|
+
* (lower-exprs) — so runtime semantics are identical; only the binding's
|
|
443
|
+
* storage story changes. */
|
|
444
|
+
export function trapDeclRootOf(L, decl) {
|
|
445
|
+
if (decl.initializer === undefined)
|
|
397
446
|
return null;
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
const decls = L.checker.declarationsOf(sym);
|
|
401
|
-
if (decls.length === 0)
|
|
447
|
+
const root = ambientUndefVarRootOf(L, decl.initializer);
|
|
448
|
+
if (root === null)
|
|
402
449
|
return null;
|
|
403
|
-
for (const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
if (d.getSourceFile().isDeclarationFile)
|
|
407
|
-
return null; // lib/@types keep their own fences
|
|
408
|
-
if (!(ts.getCombinedModifierFlags(d) & ts.ModifierFlags.Ambient))
|
|
450
|
+
for (const nameNode of boundIdentifiersOf(decl.name)) {
|
|
451
|
+
const sym = L.checker.getSymbolAtLocation(nameNode);
|
|
452
|
+
if (sym && bindingEverWritten(L, sym, decl.getSourceFile()))
|
|
409
453
|
return null;
|
|
410
454
|
}
|
|
411
455
|
return root;
|
|
412
456
|
}
|
|
457
|
+
/** True when any identifier resolving to `sym` sits in a WRITE position in
|
|
458
|
+
* `sf` (module-scope bindings cannot be written from other modules — ESM
|
|
459
|
+
* imported bindings are read-only): an assignment LHS (compound forms
|
|
460
|
+
* included), a destructuring-assignment element, ++/--, or a bare
|
|
461
|
+
* for-in/of cursor. Resolution is plain getSymbolAtLocation — a probe
|
|
462
|
+
* must not flush deferred diagnostics or fence. */
|
|
463
|
+
function bindingEverWritten(L, sym, sf) {
|
|
464
|
+
const symText = sym.name;
|
|
465
|
+
const namesSym = (e) => ts.isIdentifier(e) && e.text === symText && L.checker.getSymbolAtLocation(e) === sym;
|
|
466
|
+
const patternWrites = (target) => {
|
|
467
|
+
if (namesSym(target))
|
|
468
|
+
return true;
|
|
469
|
+
let hit = false;
|
|
470
|
+
const walk = (m) => {
|
|
471
|
+
if (hit)
|
|
472
|
+
return;
|
|
473
|
+
if (namesSym(m))
|
|
474
|
+
hit = true;
|
|
475
|
+
else
|
|
476
|
+
m.forEachChild(walk);
|
|
477
|
+
};
|
|
478
|
+
target.forEachChild(walk);
|
|
479
|
+
return hit;
|
|
480
|
+
};
|
|
481
|
+
let written = false;
|
|
482
|
+
const visit = (n) => {
|
|
483
|
+
if (written)
|
|
484
|
+
return;
|
|
485
|
+
if (ts.isBinaryExpression(n)) {
|
|
486
|
+
const k = n.operatorToken.kind;
|
|
487
|
+
if (k >= ts.SyntaxKind.FirstAssignment && k <= ts.SyntaxKind.LastAssignment) {
|
|
488
|
+
let lhs = n.left;
|
|
489
|
+
while (ts.isParenthesizedExpression(lhs))
|
|
490
|
+
lhs = lhs.expression;
|
|
491
|
+
if (namesSym(lhs))
|
|
492
|
+
written = true;
|
|
493
|
+
else if (ts.isArrayLiteralExpression(lhs) || ts.isObjectLiteralExpression(lhs)) {
|
|
494
|
+
if (patternWrites(lhs))
|
|
495
|
+
written = true;
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
else if ((ts.isPrefixUnaryExpression(n) || ts.isPostfixUnaryExpression(n)) &&
|
|
500
|
+
(n.operator === ts.SyntaxKind.PlusPlusToken || n.operator === ts.SyntaxKind.MinusMinusToken)) {
|
|
501
|
+
let op = n.operand;
|
|
502
|
+
while (ts.isParenthesizedExpression(op))
|
|
503
|
+
op = op.expression;
|
|
504
|
+
if (namesSym(op))
|
|
505
|
+
written = true;
|
|
506
|
+
}
|
|
507
|
+
else if ((ts.isForOfStatement(n) || ts.isForInStatement(n)) && !ts.isVariableDeclarationList(n.initializer)) {
|
|
508
|
+
let t = n.initializer;
|
|
509
|
+
while (ts.isParenthesizedExpression(t))
|
|
510
|
+
t = t.expression;
|
|
511
|
+
if (namesSym(t) || ((ts.isArrayLiteralExpression(t) || ts.isObjectLiteralExpression(t)) && patternWrites(t))) {
|
|
512
|
+
written = true;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
n.forEachChild(visit);
|
|
516
|
+
};
|
|
517
|
+
sf.forEachChild(visit);
|
|
518
|
+
return written;
|
|
519
|
+
}
|
|
413
520
|
/** ambientUndefReadType's CONTEXTUAL fallback: when the use site's own
|
|
414
521
|
* type has no mapping (an `any`-typed member off a narrowed ambient), the
|
|
415
522
|
* type the value flows INTO types the throw instead — sound because the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower-namespaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-namespaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lower-namespaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-namespaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { enforceLibBoundary } from "./lib-boundary.js";
|
|
|
10
10
|
import { cjsExportAssignmentOf, cjsExportDiscardReason, cjsExportTargetLiteral, isCjsJsFile, isJsSourceFile, locOf, requireSpecOf } from "../program.js";
|
|
11
11
|
import { COMPOUND_ASSIGN_OPS, STR_METHODS, UNSUPPORTED_STMT, isStdlibMember, sideEffectFreeOptionValue, stdlibGlobalAliasDecl, stdlibGlobalNameOf } from "./surfaces.js";
|
|
12
12
|
import { isProvenanceSourceFile } from "../provenance-registry.js";
|
|
13
|
-
import { ambientUndefVarRootOf, lowerImportEquals, nsUndefRead, nsWritableTarget } from "./lower-namespaces.js";
|
|
13
|
+
import { ambientUndefVarRootOf, lowerImportEquals, nsUndefRead, nsWritableTarget, trapDeclRootOf } from "./lower-namespaces.js";
|
|
14
14
|
import { expandoWritableTarget, lowerExpandoAssignStmt } from "./lower-expando.js";
|
|
15
15
|
import { lowerForOfArrayIter, lowerForOfMap, lowerForOfSearchParams, lowerForOfSet, objectIterOverIndexShape, strCharsCall } from "./lower-containers.js";
|
|
16
16
|
import { bindingContextualGenericFnNodeOf, bindingGenericFnAliasInfoOf, bindingGenericFnInfoOf, bindingGenericFnNodeOf, deadUnmappableBinding, implicitLocalFnInfoOf, implicitLocalFnNodeOf, nullishExprUnitOf, nullishGenericBindingUnitOf, recordKeysArrayCall } from "./lower-calls.js";
|
|
@@ -18,9 +18,9 @@ import { isMixinFnBinding, mixinResultBindingClassOf } from "./lower-mixins.js";
|
|
|
18
18
|
import { genericIfaceBindingKeepsClass } from "./lower-classes.js";
|
|
19
19
|
import { lowerStreamUnderscoreAssign, streamClassAliasDecl, streamSidesOf } from "./lower-stream.js";
|
|
20
20
|
import { lowerHttpResPropertyAssignment, lowerServerCloseOverrideAssignment } from "./lower-server.js";
|
|
21
|
-
import { builtinMemberRequireDecl, builtinNamespaceDestructureModuleOf } from "./lower-builtins.js";
|
|
21
|
+
import { builtinMemberRequireDecl, builtinNamespaceDestructureModuleOf, createRequireBindingDecl, createRequireCalleeFileOf, createRequireNamespaceDecl } from "./lower-builtins.js";
|
|
22
22
|
import { lowerEnumDeclaration } from "./lower-enums.js";
|
|
23
|
-
import { abstractPropertyDeclOf, aliasTypeofNarrows, probeLower, pureReemittable, symbolFieldInfo } from "./lower-exprs.js";
|
|
23
|
+
import { abstractPropertyDeclOf, aliasTypeofNarrows, isMatchSliceType, lowerGroupsProjection, matchResultNamedGroupsOf, probeLower, pureReemittable, symbolFieldInfo } from "./lower-exprs.js";
|
|
24
24
|
import { checkerPanicDiag, isCheckerPanic, requiresDynamicDiag } from "../../diagnostics/diagnostic.js";
|
|
25
25
|
import { isUnitOnlyTsType, unitOnlyUnion } from "../types.js";
|
|
26
26
|
import { canonicalBuiltinModule, isRelativeSpecifier } from "../shared.js";
|
|
@@ -1103,6 +1103,39 @@ export function lowerDestructuringDecl(L, decl, isLet) {
|
|
|
1103
1103
|
init = { kind: "unionNarrow", unionId: init.type.unionId, tag, value: uref, type: arm, loc };
|
|
1104
1104
|
}
|
|
1105
1105
|
}
|
|
1106
|
+
// `const { groups } = re.exec(s)!` / `const { groups: { year } } = m`
|
|
1107
|
+
// — every pattern element binds `groups` off a MATCH SLICE whose
|
|
1108
|
+
// regex is statically known: the slice has no record shape of its
|
|
1109
|
+
// own, so the groups projection (lowerGroupsProjection — the same
|
|
1110
|
+
// record `m.groups` reads produce) wraps one level in a synthesized
|
|
1111
|
+
// `{ groups: ... }` record and the ordinary record destructure below
|
|
1112
|
+
// serves the pattern — aliases and nested patterns included. Only
|
|
1113
|
+
// named-group regexes take the wrap: a group-less regex destructures
|
|
1114
|
+
// `groups: undefined` in Node (a nested pattern then throws), which
|
|
1115
|
+
// the fence reports honestly instead.
|
|
1116
|
+
if (ts.isObjectBindingPattern(decl.name) &&
|
|
1117
|
+
decl.name.elements.length > 0 &&
|
|
1118
|
+
isMatchSliceType(L, init.type) &&
|
|
1119
|
+
decl.name.elements.every((el) => {
|
|
1120
|
+
if (el.dotDotDotToken !== undefined || el.name === undefined)
|
|
1121
|
+
return false;
|
|
1122
|
+
const prop = el.propertyName;
|
|
1123
|
+
if (prop === undefined)
|
|
1124
|
+
return ts.isIdentifier(el.name) && el.name.text === "groups";
|
|
1125
|
+
return (ts.isIdentifier(prop) || ts.isStringLiteral(prop)) && prop.text === "groups";
|
|
1126
|
+
})) {
|
|
1127
|
+
const groups = matchResultNamedGroupsOf(L, decl.initializer);
|
|
1128
|
+
if (groups !== null && groups.length > 0) {
|
|
1129
|
+
const proj = lowerGroupsProjection(L, init, groups, loc);
|
|
1130
|
+
const outerShape = L.shapes.intern([{ name: "groups", type: proj.type }], false, undefined, ["groups"]);
|
|
1131
|
+
init = {
|
|
1132
|
+
kind: "recordLit",
|
|
1133
|
+
fields: [{ name: "groups", value: proj }],
|
|
1134
|
+
type: { kind: "record", shapeId: outerShape },
|
|
1135
|
+
loc,
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1106
1139
|
const tmp = L.declareHiddenLocal("%destr", init.type);
|
|
1107
1140
|
out.push({ kind: "varDecl", localId: tmp.id, init, loc });
|
|
1108
1141
|
// V8's destructuring TypeError spells STATIC sources: an identifier
|
|
@@ -1586,6 +1619,29 @@ export function lowerBindingPattern(L, pattern, srcRef, srcType, isLet, out, dyn
|
|
|
1586
1619
|
continue;
|
|
1587
1620
|
}
|
|
1588
1621
|
const fieldType = shape.fields.find((f) => f.name === propName)?.type;
|
|
1622
|
+
if (!fieldType && shape.indexValue !== undefined && !shape.tuple) {
|
|
1623
|
+
// An UNDECLARED key of an INDEX-SIGNATURE shape (`const { m, n, p }
|
|
1624
|
+
// = ....groups` over `{ [key: string]: string }` — the groups
|
|
1625
|
+
// record, `Record<string, T>` tables generally): the overflow-map
|
|
1626
|
+
// read, exactly the dot access's recordKeyGet — a missing key
|
|
1627
|
+
// traps when the value type carries no undefined arm (the checker
|
|
1628
|
+
// claimed V), or binds the undefined arm (where a default applies
|
|
1629
|
+
// like any field's).
|
|
1630
|
+
const loc = locOf(el);
|
|
1631
|
+
let value = {
|
|
1632
|
+
kind: "recordKeyGet",
|
|
1633
|
+
obj: srcRef(),
|
|
1634
|
+
shapeId: srcType.shapeId,
|
|
1635
|
+
key: { kind: "strLit", value: propName, type: STRING, loc },
|
|
1636
|
+
overflowOnly: true,
|
|
1637
|
+
type: shape.indexValue,
|
|
1638
|
+
loc,
|
|
1639
|
+
};
|
|
1640
|
+
if (el.initializer)
|
|
1641
|
+
value = applyBindingDefault(L, el, value);
|
|
1642
|
+
L.bindPatternTarget(el.name, value, isLet, out);
|
|
1643
|
+
continue;
|
|
1644
|
+
}
|
|
1589
1645
|
if (!fieldType) {
|
|
1590
1646
|
// The pattern names a field the source SHAPE does not carry —
|
|
1591
1647
|
// `for (let {x = 1} of [{}])` (signature 08): tsc types the binding
|
|
@@ -2566,8 +2622,10 @@ export function lowerVarDecl(L, decl, isLet) {
|
|
|
2566
2622
|
// statement lowers to exactly that throw; the binding registers as a
|
|
2567
2623
|
// trap (references lower to the same never-reached shape), and no
|
|
2568
2624
|
// storage or type mapping is needed for a value that never exists.
|
|
2569
|
-
|
|
2570
|
-
|
|
2625
|
+
// Written bindings keep ordinary storage (trapDeclRootOf) — the
|
|
2626
|
+
// initializer read still lowers to the root's throw below.
|
|
2627
|
+
{
|
|
2628
|
+
const root = trapDeclRootOf(L, decl);
|
|
2571
2629
|
if (root !== null) {
|
|
2572
2630
|
for (const nameNode of boundIdentifiersOf(decl.name)) {
|
|
2573
2631
|
const sym = L.checker.getSymbolAtLocation(nameNode);
|
|
@@ -2631,6 +2689,17 @@ export function lowerVarDecl(L, decl, isLet) {
|
|
|
2631
2689
|
// skipped its global by the same test).
|
|
2632
2690
|
if (builtinMemberRequireDecl(decl.name, decl.initializer))
|
|
2633
2691
|
return null;
|
|
2692
|
+
// `const require = createRequire(import.meta.url)` — compile-time
|
|
2693
|
+
// plumbing: each call through the binding resolves per site
|
|
2694
|
+
// (lowerCreateRequireCall); no storage, no code (collectGlobals
|
|
2695
|
+
// skipped its global by the same test).
|
|
2696
|
+
if (!isLet && createRequireBindingDecl(L, decl.name, decl.initializer))
|
|
2697
|
+
return null;
|
|
2698
|
+
// `const fs = require("node:fs")` through that binding — a builtin
|
|
2699
|
+
// namespace import in const clothing: alias plumbing, no storage
|
|
2700
|
+
// (builtinNamespaceModuleOf resolves member uses).
|
|
2701
|
+
if (!isLet && createRequireNamespaceDecl(L, decl.name, decl.initializer))
|
|
2702
|
+
return null;
|
|
2634
2703
|
// `const { NGHTTP2_CANCEL } = http2.constants` — a destructure over
|
|
2635
2704
|
// the baked constants table: alias plumbing, no storage (uses read
|
|
2636
2705
|
// their literals via http2ConstantBindingOf; collectGlobals skipped
|
|
@@ -3647,7 +3716,12 @@ export function lowerExprStatement(L, expr) {
|
|
|
3647
3716
|
ts.isExpressionStatement(stmtNode) &&
|
|
3648
3717
|
ts.isSourceFile(stmtNode.parent) &&
|
|
3649
3718
|
isJsSourceFile(stmtNode.parent);
|
|
3650
|
-
if (requireSpecOf(expr) !== null &&
|
|
3719
|
+
if (requireSpecOf(expr) !== null &&
|
|
3720
|
+
ts.isCallExpression(expr) &&
|
|
3721
|
+
ts.isIdentifier(expr.expression) &&
|
|
3722
|
+
// A binding NAMED require made by createRequire is not the CJS
|
|
3723
|
+
// global — the expression path owns it (lowerCreateRequireCall).
|
|
3724
|
+
createRequireCalleeFileOf(L, expr.expression) === null) {
|
|
3651
3725
|
const sf = expr.getSourceFile();
|
|
3652
3726
|
// A bare require of a package NOTHING INSTALLED resolves, in ANY
|
|
3653
3727
|
// CommonJS JS file (the export-assignment spellings tsgo marks
|