@scriptc/compiler 0.4.8 → 0.4.9
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/node-fallback/buffer.d.ts +2 -0
- package/ambient/node-fallback/child_process.d.ts +9 -3
- package/ambient/node-fallback/dns-promises.d.ts +25 -0
- package/ambient/node-fallback/dns.d.ts +29 -0
- package/ambient/node-fallback/test.d.ts +7 -0
- package/ambient/scriptc-node-fallback.d.ts +145 -2
- package/ambient/scriptc-overrides.d.ts +22 -13
- package/dist/backend/build-cache.d.ts +1 -1
- package/dist/backend/build-cache.js +1 -1
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/cache-root.d.ts +7 -0
- package/dist/backend/cache-root.js +27 -0
- package/dist/backend/cache-root.js.map +1 -1
- package/dist/backend/executable-features.js +5 -1
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/link-plan.js +7 -1
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.d.ts +12 -1
- package/dist/backend/llvm/bytes-loop-versions.js +107 -30
- package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.test.js +96 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.js +1 -0
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +16 -5
- package/dist/backend/llvm/classes.js +34 -6
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +21 -2
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +9 -0
- package/dist/backend/llvm/common.js +9 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/cpu-dispatch.d.ts +36 -2
- package/dist/backend/llvm/cpu-dispatch.js +96 -2
- package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +5 -2
- package/dist/backend/llvm/dense-array-access.js +16 -12
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +3 -1
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +24 -0
- package/dist/backend/llvm/dyn.js +117 -3
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +6 -0
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-journal.d.ts +1 -0
- package/dist/backend/llvm/emit-journal.js.map +1 -1
- package/dist/backend/llvm/emit-module.js +48 -5
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-module.test.js +41 -0
- package/dist/backend/llvm/emit-module.test.js.map +1 -1
- package/dist/backend/llvm/emit-statements.js +11 -0
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +87 -7
- package/dist/backend/llvm/emitter.js +136 -15
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +28 -6
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +19 -5
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +29 -1
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +104 -6
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +15 -1
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +53 -5
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/inline-arrays.js +1 -1
- package/dist/backend/llvm/inline-arrays.js.map +1 -1
- package/dist/backend/llvm/js-ic.js +126 -2
- package/dist/backend/llvm/js-ic.js.map +1 -1
- package/dist/backend/llvm/lanes.d.ts +38 -0
- package/dist/backend/llvm/lanes.js +778 -0
- package/dist/backend/llvm/lanes.js.map +1 -0
- package/dist/backend/llvm/lanes.test.d.ts +1 -0
- package/dist/backend/llvm/lanes.test.js +402 -0
- package/dist/backend/llvm/lanes.test.js.map +1 -0
- package/dist/backend/llvm/lib-dispatch.js +9 -4
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +20 -0
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +27 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +11 -0
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +2 -2
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.js +8 -2
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.js +5 -2
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/publish.d.ts +3 -0
- package/dist/backend/llvm/publish.js +2 -2
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/reference-writes.js +1 -0
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/region-groups.js +43 -4
- package/dist/backend/llvm/region-groups.js.map +1 -1
- package/dist/backend/llvm/region-groups.test.js +79 -0
- package/dist/backend/llvm/region-groups.test.js.map +1 -1
- package/dist/backend/llvm/runtime-registries.test.js +32 -1
- package/dist/backend/llvm/runtime-registries.test.js.map +1 -1
- package/dist/backend/llvm/shapes.js +10 -1
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +1 -1
- package/dist/backend/llvm/string-reads.js +1 -1
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/unwind-abi.js +24 -2
- package/dist/backend/llvm/unwind-abi.js.map +1 -1
- package/dist/backend/llvm/unwind-abi.test.js +38 -0
- package/dist/backend/llvm/unwind-abi.test.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +3 -0
- package/dist/backend/llvm/walkers.js +20 -2
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +15 -3
- package/dist/backend/native/executable.js +19 -5
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native-codegen-core.d.ts +20 -0
- package/dist/backend/native-codegen-core.js +15 -0
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +5 -0
- package/dist/backend/native-codegen.js +62 -8
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +48 -8
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +27 -3
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-link-info.test.js +17 -1
- package/dist/backend/native-link-info.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +1 -1
- package/dist/backend/native-toolchain.js +1 -1
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +14 -1
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/runtime-pack-core.d.ts +9 -3
- package/dist/backend/runtime-pack-core.js +6 -1
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +32 -1
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/targets.d.ts +9 -1
- package/dist/backend/targets.js +11 -2
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +6 -0
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/cli/command.js +15 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/host.d.ts +6 -0
- package/dist/cli/mcp.d.ts +72 -0
- package/dist/cli/mcp.js +601 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/mcp.test.d.ts +1 -0
- package/dist/cli/mcp.test.js +380 -0
- package/dist/cli/mcp.test.js.map +1 -0
- package/dist/cli/output-options.d.ts +1 -0
- package/dist/cli/output-options.js +3 -0
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/usage.d.ts +51 -1
- package/dist/cli/usage.js +709 -186
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.js +9 -4
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +17 -0
- package/dist/coverage/report.d.ts +5 -9
- package/dist/coverage/report.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +17 -3
- package/dist/executable/executable-cache.js +17 -3
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/prepare.js +87 -10
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +3 -2
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/canon-map.js +13 -8
- package/dist/frontend/canon-map.js.map +1 -1
- package/dist/frontend/decl-projection.d.ts +18 -0
- package/dist/frontend/decl-projection.js +90 -22
- package/dist/frontend/decl-projection.js.map +1 -1
- package/dist/frontend/decl-projection.test.js +47 -1
- package/dist/frontend/decl-projection.test.js.map +1 -1
- package/dist/frontend/default-library.d.ts +10 -0
- package/dist/frontend/default-library.js +43 -0
- package/dist/frontend/default-library.js.map +1 -0
- package/dist/frontend/fork-target.js +54 -9
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/fork-target.test.js +82 -0
- package/dist/frontend/fork-target.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.test.js +73 -0
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/lowering/abstract-equality.d.ts +2 -1
- package/dist/frontend/lowering/abstract-equality.js +7 -1
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +2 -2
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/assertion-members.js +52 -2
- package/dist/frontend/lowering/assertion-members.js.map +1 -1
- package/dist/frontend/lowering/builtin-namespaces.d.ts +5 -0
- package/dist/frontend/lowering/builtin-namespaces.js +19 -12
- package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
- package/dist/frontend/lowering/builtins/callable-aliases.js +42 -6
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.d.ts +12 -11
- package/dist/frontend/lowering/builtins/child-process.js +235 -38
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/compression.d.ts +6 -1
- package/dist/frontend/lowering/builtins/compression.js +3 -3
- package/dist/frontend/lowering/builtins/compression.js.map +1 -1
- package/dist/frontend/lowering/builtins/constants.js +2 -2
- package/dist/frontend/lowering/builtins/constants.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +3 -1
- package/dist/frontend/lowering/builtins/crypto.js +9 -1
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/dates.js +26 -6
- package/dist/frontend/lowering/builtins/dates.js.map +1 -1
- package/dist/frontend/lowering/builtins/environment.d.ts +13 -1
- package/dist/frontend/lowering/builtins/environment.js +15 -4
- package/dist/frontend/lowering/builtins/environment.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +33 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +213 -11
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +9 -2
- package/dist/frontend/lowering/builtins/module-resolution.js +187 -19
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/performance.js +1 -1
- package/dist/frontend/lowering/builtins/performance.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.js +40 -2
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +33 -0
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +9 -5
- package/dist/frontend/lowering/builtins/readline.js +184 -75
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.d.ts +4 -0
- package/dist/frontend/lowering/builtins/url.js +6 -0
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.js +15 -0
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/callable-properties.d.ts +34 -0
- package/dist/frontend/lowering/callable-properties.js +210 -0
- package/dist/frontend/lowering/callable-properties.js.map +1 -0
- package/dist/frontend/lowering/cjs-inline-require.d.ts +16 -0
- package/dist/frontend/lowering/cjs-inline-require.js +105 -0
- package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
- package/dist/frontend/lowering/cjs-inline-require.test.d.ts +1 -0
- package/dist/frontend/lowering/cjs-inline-require.test.js +61 -0
- package/dist/frontend/lowering/cjs-inline-require.test.js.map +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +82 -2
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.d.ts +57 -4
- package/dist/frontend/lowering/class-protocols.js +597 -30
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-unions.js +2 -2
- package/dist/frontend/lowering/class-unions.js.map +1 -1
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +12 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +62 -0
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +56 -1
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +9 -4
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/collection-ingestion.d.ts +9 -0
- package/dist/frontend/lowering/collection-ingestion.js +115 -41
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +16 -0
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +66 -10
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +61 -5
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/filter-predicates.js +11 -0
- package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +15 -0
- package/dist/frontend/lowering/containers/indexed-objects.js +213 -30
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/error-name-order.d.ts +16 -0
- package/dist/frontend/lowering/error-name-order.js +61 -0
- package/dist/frontend/lowering/error-name-order.js.map +1 -1
- package/dist/frontend/lowering/expressions/asserted-receiver.d.ts +17 -0
- package/dist/frontend/lowering/expressions/asserted-receiver.js +123 -1
- package/dist/frontend/lowering/expressions/asserted-receiver.js.map +1 -1
- package/dist/frontend/lowering/expressions/binary.js +147 -20
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.js +63 -14
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/erased-delete.d.ts +59 -0
- package/dist/frontend/lowering/expressions/erased-delete.js +247 -0
- package/dist/frontend/lowering/expressions/erased-delete.js.map +1 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +10 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js +48 -1
- package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/identifiers.js +20 -0
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
- package/dist/frontend/lowering/expressions/narrowing.d.ts +7 -2
- package/dist/frontend/lowering/expressions/narrowing.js +77 -45
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +62 -19
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +19 -0
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +7 -7
- package/dist/frontend/lowering/expressions/property-access.js +247 -48
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.d.ts +1 -0
- package/dist/frontend/lowering/expressions/relational.js +18 -8
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-fields.js +11 -5
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.js +121 -11
- package/dist/frontend/lowering/expressions/updates.js.map +1 -1
- package/dist/frontend/lowering/function-context.d.ts +10 -0
- package/dist/frontend/lowering/function-context.js +36 -0
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.js +8 -8
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/handle-properties.d.ts +62 -3
- package/dist/frontend/lowering/handle-properties.js +674 -26
- package/dist/frontend/lowering/handle-properties.js.map +1 -1
- package/dist/frontend/lowering/handle-properties.test.js +95 -2
- package/dist/frontend/lowering/handle-properties.test.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +12 -0
- package/dist/frontend/lowering/lower-builtin-values.js +44 -0
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +328 -136
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +82 -17
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +113 -9
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.d.ts +13 -21
- package/dist/frontend/lowering/lower-expando.js +90 -126
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +2 -2
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +65 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +471 -0
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +36 -10
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-node-island.js +28 -0
- package/dist/frontend/lowering/lower-node-island.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +53 -7
- package/dist/frontend/lowering/lower-server.js +213 -42
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.js +50 -7
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +24 -0
- package/dist/frontend/lowering/lower-stmts.js +463 -220
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +2 -2
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.js +71 -2
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +81 -10
- package/dist/frontend/lowering/lowerer.js +319 -72
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/new-target.js +10 -2
- package/dist/frontend/lowering/new-target.js.map +1 -1
- package/dist/frontend/lowering/nullish-empty-pattern.js +3 -3
- package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -1
- package/dist/frontend/lowering/partial-assertions.js +30 -5
- package/dist/frontend/lowering/partial-assertions.js.map +1 -1
- package/dist/frontend/lowering/primitive-throws.js +91 -1
- package/dist/frontend/lowering/primitive-throws.js.map +1 -1
- package/dist/frontend/lowering/primitive-wrappers.d.ts +9 -0
- package/dist/frontend/lowering/primitive-wrappers.js +2 -2
- package/dist/frontend/lowering/primitive-wrappers.js.map +1 -1
- package/dist/frontend/lowering/promise-executor-adapter.js +5 -2
- package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -1
- package/dist/frontend/lowering/record-links.js +7 -2
- package/dist/frontend/lowering/record-links.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +4 -0
- package/dist/frontend/lowering/surfaces.js +118 -2
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/surfaces.test.d.ts +1 -0
- package/dist/frontend/lowering/surfaces.test.js +31 -0
- package/dist/frontend/lowering/surfaces.test.js.map +1 -0
- package/dist/frontend/mock-shapes.js +3 -3
- package/dist/frontend/mock-shapes.js.map +1 -1
- package/dist/frontend/npm-static-ladder.d.ts +21 -0
- package/dist/frontend/npm-static-ladder.js +2 -0
- package/dist/frontend/npm-static-ladder.js.map +1 -0
- package/dist/frontend/npm-static-ladder.test.d.ts +1 -0
- package/dist/frontend/npm-static-ladder.test.js +138 -0
- package/dist/frontend/npm-static-ladder.test.js.map +1 -0
- package/dist/frontend/npm-static-status.d.ts +15 -0
- package/dist/frontend/npm-static-status.js +2 -0
- package/dist/frontend/npm-static-status.js.map +1 -0
- package/dist/frontend/package-shims.js +1 -1
- package/dist/frontend/package-shims.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +1 -1
- package/dist/frontend/pipeline.js +222 -25
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +4 -0
- package/dist/frontend/program-analysis.js +6 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program.js +258 -32
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +30 -0
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/resolve.js +29 -5
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +40 -0
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/services.d.ts +8 -0
- package/dist/frontend/services.js +7 -0
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +7 -0
- package/dist/frontend/ts7/checker.js +12 -0
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +1 -0
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +39 -2
- package/dist/frontend/ts7/program-host.js +62 -8
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +33 -0
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/session-cache.d.ts +5 -1
- package/dist/frontend/ts7/session-cache.js +7 -1
- package/dist/frontend/ts7/session-cache.js.map +1 -1
- package/dist/frontend/ts7/session-cache.test.js +37 -0
- package/dist/frontend/ts7/session-cache.test.js.map +1 -1
- package/dist/frontend/ts7/session.js +19 -1
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/source-parser.d.ts +17 -2
- package/dist/frontend/ts7/source-parser.js +61 -2
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +55 -2
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/tsc-codes.d.ts +3 -2
- package/dist/frontend/tsc-codes.js +129 -22
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +5 -11
- package/dist/frontend/type-mapper.js +380 -70
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +67 -7
- package/dist/index.js.map +1 -1
- package/dist/ir/builtin-effects.js +29 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +72 -6
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/codec.generated.d.ts +1 -1
- package/dist/ir/codec.generated.js +321 -263
- package/dist/ir/codec.generated.js.map +1 -1
- package/dist/ir/constant-length-clones.d.ts +26 -0
- package/dist/ir/constant-length-clones.js +589 -0
- package/dist/ir/constant-length-clones.js.map +1 -0
- package/dist/ir/constant-length-clones.test.d.ts +1 -0
- package/dist/ir/constant-length-clones.test.js +292 -0
- package/dist/ir/constant-length-clones.test.js.map +1 -0
- package/dist/ir/constant-tables.d.ts +10 -5
- package/dist/ir/constant-tables.js +83 -17
- package/dist/ir/constant-tables.js.map +1 -1
- package/dist/ir/constant-tables.test.js +58 -1
- package/dist/ir/constant-tables.test.js.map +1 -1
- package/dist/ir/fields.generated.js +5 -2
- package/dist/ir/fields.generated.js.map +1 -1
- package/dist/ir/function-references.js +2 -0
- package/dist/ir/function-references.js.map +1 -1
- package/dist/ir/function-references.test.js +13 -0
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/integer-loops.js +1 -0
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +16 -0
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/ir.d.ts +50 -6
- package/dist/ir/ir.js +44 -2
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +83 -1
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/js-groups.js +5 -1
- package/dist/ir/js-groups.js.map +1 -1
- package/dist/ir/js-ic.d.ts +20 -0
- package/dist/ir/js-ic.js +81 -4
- package/dist/ir/js-ic.js.map +1 -1
- package/dist/ir/js-ic.test.js +8 -1
- package/dist/ir/js-ic.test.js.map +1 -1
- package/dist/ir/lane-plans.d.ts +86 -0
- package/dist/ir/lane-plans.js +589 -0
- package/dist/ir/lane-plans.js.map +1 -0
- package/dist/ir/lane-plans.test.d.ts +1 -0
- package/dist/ir/lane-plans.test.js +549 -0
- package/dist/ir/lane-plans.test.js.map +1 -0
- package/dist/ir/runtime-features.d.ts +68 -10
- package/dist/ir/runtime-features.js +285 -17
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/runtime-features.test.js +190 -1
- package/dist/ir/runtime-features.test.js.map +1 -1
- package/dist/ir/validate.js +61 -24
- package/dist/ir/validate.js.map +1 -1
- package/dist/native/cache.d.ts +5 -0
- package/dist/native/cache.js +23 -1
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cache.test.js +29 -1
- package/dist/native/cache.test.js.map +1 -1
- package/dist/native/cli.js +4 -2
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.d.ts +11 -3
- package/dist/native/compiler.js +102 -16
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +244 -2
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/prepare.d.ts +14 -1
- package/dist/native/prepare.js +79 -29
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.test.js +3 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/unchanged.d.ts +80 -0
- package/dist/native/unchanged.js +301 -0
- package/dist/native/unchanged.js.map +1 -0
- package/dist/native/unchanged.test.d.ts +1 -0
- package/dist/native/unchanged.test.js +249 -0
- package/dist/native/unchanged.test.js.map +1 -0
- package/dist/node-islands/boundary.d.ts +16 -0
- package/dist/node-islands/boundary.js +70 -7
- package/dist/node-islands/boundary.js.map +1 -1
- package/dist/node-islands/boundary.test.js +59 -14
- package/dist/node-islands/boundary.test.js.map +1 -1
- package/dist/node-islands/detect.js +203 -47
- package/dist/node-islands/detect.js.map +1 -1
- package/dist/node-islands/detect.test.js +45 -0
- package/dist/node-islands/detect.test.js.map +1 -1
- package/dist/node-islands/growth.js +4 -16
- package/dist/node-islands/growth.js.map +1 -1
- package/dist/node-islands/modules.d.ts +3 -0
- package/dist/node-islands/modules.js +143 -12
- package/dist/node-islands/modules.js.map +1 -1
- package/dist/node-islands/modules.test.js +125 -0
- package/dist/node-islands/modules.test.js.map +1 -1
- package/dist/node-islands/report.d.ts +1 -1
- package/dist/node-islands/report.js +2 -1
- package/dist/node-islands/report.js.map +1 -1
- package/package.json +20 -20
- package/shims/undici/core/request.ts +7 -1
- package/surface-manifest.json +380 -2
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// The npm-static ladder's per-build memo: one build loads the frontend more
|
|
2
|
+
// than once (the island decision reloads it), and every reload re-walks the
|
|
3
|
+
// library fixpoint's rungs from the smallest set. These tests pin the two
|
|
4
|
+
// halves of that: a rung the build already walked costs no load, and a rung
|
|
5
|
+
// whose answer the island set can change is never taken from the memo.
|
|
6
|
+
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
7
|
+
import { tmpdir } from "node:os";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { afterEach, expect, test } from "vitest";
|
|
10
|
+
import { runFrontend } from "./pipeline.js";
|
|
11
|
+
import { loadProgramWithServices } from "./program-node.js";
|
|
12
|
+
import { createNodeFrontendServices } from "./services-node.js";
|
|
13
|
+
const scratch = [];
|
|
14
|
+
const services = [];
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
for (const dir of scratch.splice(0))
|
|
17
|
+
rmSync(dir, { recursive: true, force: true });
|
|
18
|
+
for (const created of services.splice(0))
|
|
19
|
+
created.close();
|
|
20
|
+
});
|
|
21
|
+
function writePackage(dir, name, js, dts) {
|
|
22
|
+
const root = join(dir, "node_modules", name);
|
|
23
|
+
mkdirSync(root, { recursive: true });
|
|
24
|
+
writeFileSync(join(root, "package.json"), JSON.stringify({ name, version: "1.0.0", main: "index.js", types: "index.d.ts" }));
|
|
25
|
+
writeFileSync(join(root, "index.js"), js);
|
|
26
|
+
writeFileSync(join(root, "index.d.ts"), dts);
|
|
27
|
+
}
|
|
28
|
+
/** `outerpkg` (opted in) requires `innerpkg` from its own JavaScript, so the
|
|
29
|
+
* library fixpoint needs a second rung to settle the set. `unrelated` is
|
|
30
|
+
* installed and never imported: an island package outside every rung's
|
|
31
|
+
* reach. */
|
|
32
|
+
function fixture() {
|
|
33
|
+
const dir = mkdtempSync(join(tmpdir(), "scriptc-npm-ladder-"));
|
|
34
|
+
scratch.push(dir);
|
|
35
|
+
writePackage(dir, "outerpkg", 'const { half } = require("innerpkg");\nmodule.exports.double = function (n) { return half(n) * 4; };\n', "export declare function double(n: number): number;\n");
|
|
36
|
+
writePackage(dir, "innerpkg", "module.exports.half = function (n) { return n / 2; };\n", "export declare function half(n: number): number;\n");
|
|
37
|
+
writePackage(dir, "unrelated", "module.exports.nothing = function () { return 1; };\n", "export declare function nothing(): number;\n");
|
|
38
|
+
writeFileSync(join(dir, "main.ts"), 'import { double } from "outerpkg";\nconsole.log(double(2));\n');
|
|
39
|
+
return dir;
|
|
40
|
+
}
|
|
41
|
+
/** The entry's `outerpkg` requires `borrowed`, whose declarations come from
|
|
42
|
+
* another package: a plain opt-in refuses it at the declaration bar, while
|
|
43
|
+
* `outerpkg...` opts in the whole closure without that bar. */
|
|
44
|
+
function transitiveFixture() {
|
|
45
|
+
const dir = mkdtempSync(join(tmpdir(), "scriptc-npm-ladder-"));
|
|
46
|
+
scratch.push(dir);
|
|
47
|
+
writePackage(dir, "outerpkg", 'const { half } = require("innerpkg");\nconst twice = require("borrowed");\nmodule.exports.double = function (n) { return half(twice(n)) * 4; };\n', "export declare function double(n: number): number;\n");
|
|
48
|
+
writePackage(dir, "innerpkg", "module.exports.half = function (n) { return n / 2; };\n", "export declare function half(n: number): number;\n");
|
|
49
|
+
const donor = join(dir, "node_modules", "typesdonor");
|
|
50
|
+
mkdirSync(donor, { recursive: true });
|
|
51
|
+
writeFileSync(join(donor, "package.json"), JSON.stringify({ name: "typesdonor", version: "1.0.0", types: "index.d.ts" }));
|
|
52
|
+
writeFileSync(join(donor, "index.d.ts"), "declare function twice(n: number): number;\nexport = twice;\n");
|
|
53
|
+
const root = join(dir, "node_modules", "borrowed");
|
|
54
|
+
mkdirSync(root, { recursive: true });
|
|
55
|
+
writeFileSync(join(root, "package.json"), JSON.stringify({
|
|
56
|
+
name: "borrowed",
|
|
57
|
+
version: "1.0.0",
|
|
58
|
+
main: "index.js",
|
|
59
|
+
types: "../typesdonor/index.d.ts",
|
|
60
|
+
}));
|
|
61
|
+
writeFileSync(join(root, "index.js"), "module.exports = function (n) { return n * 2; };\n");
|
|
62
|
+
writeFileSync(join(dir, "main.ts"), 'import { double } from "outerpkg";\nconsole.log(double(2));\n');
|
|
63
|
+
return dir;
|
|
64
|
+
}
|
|
65
|
+
function compile(dir, shared, islandPackages, optIn = ["outerpkg"]) {
|
|
66
|
+
const loaded = [];
|
|
67
|
+
const loader = (path, options) => {
|
|
68
|
+
loaded.push([...(options.npmStatic ?? [])]);
|
|
69
|
+
return loadProgramWithServices(path, shared, {
|
|
70
|
+
npmStatic: options.npmStatic ?? [],
|
|
71
|
+
externalTypes: options.externalTypes,
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const frontend = runFrontend(join(dir, "main.ts"), loader, "lib", undefined, optIn, {
|
|
75
|
+
islandPackages,
|
|
76
|
+
});
|
|
77
|
+
return { frontend, loaded };
|
|
78
|
+
}
|
|
79
|
+
function statuses(run) {
|
|
80
|
+
return run.frontend.npmStatic.map((status) => `${status.package}:${status.status}`);
|
|
81
|
+
}
|
|
82
|
+
test("a reload takes a rung the build already walked without loading it", () => {
|
|
83
|
+
const dir = fixture();
|
|
84
|
+
const shared = createNodeFrontendServices();
|
|
85
|
+
services.push(shared);
|
|
86
|
+
const first = compile(dir, shared, new Set());
|
|
87
|
+
// Scout, then the opted-in set, then the set with the dependency it found.
|
|
88
|
+
expect(first.loaded).toEqual([[], ["outerpkg"], ["outerpkg", "innerpkg"]]);
|
|
89
|
+
expect(statuses(first)).toEqual(["outerpkg:static", "innerpkg:static"]);
|
|
90
|
+
// The island reload: a package no rung consults leaves every answer the
|
|
91
|
+
// same, so the rung `["outerpkg"]` comes from the memo — the reload skips
|
|
92
|
+
// its load and lands on the converged set directly.
|
|
93
|
+
const reload = compile(dir, shared, new Set(["unrelated"]));
|
|
94
|
+
expect(reload.loaded).toEqual([[], ["outerpkg", "innerpkg"]]);
|
|
95
|
+
expect(statuses(reload)).toEqual(statuses(first));
|
|
96
|
+
expect(reload.frontend.npmImportSites).toEqual(first.frontend.npmImportSites);
|
|
97
|
+
first.frontend.dispose();
|
|
98
|
+
reload.frontend.dispose();
|
|
99
|
+
});
|
|
100
|
+
test("an island package a rung judges is a changed answer, not a memo hit", () => {
|
|
101
|
+
const dir = fixture();
|
|
102
|
+
const shared = createNodeFrontendServices();
|
|
103
|
+
services.push(shared);
|
|
104
|
+
const first = compile(dir, shared, new Set());
|
|
105
|
+
expect(statuses(first)).toEqual(["outerpkg:static", "innerpkg:static"]);
|
|
106
|
+
// `innerpkg` became an island: the fixpoint must not grow it, so the rung
|
|
107
|
+
// `["outerpkg"]` answers differently and the memo may not stand in for it.
|
|
108
|
+
const reload = compile(dir, shared, new Set(["innerpkg"]));
|
|
109
|
+
expect(reload.loaded).toEqual([[], ["outerpkg"]]);
|
|
110
|
+
expect(statuses(reload)).toEqual(["outerpkg:static"]);
|
|
111
|
+
first.frontend.dispose();
|
|
112
|
+
reload.frontend.dispose();
|
|
113
|
+
});
|
|
114
|
+
test("a `pkg...` selection does not take a rung walked for a plain `pkg`", () => {
|
|
115
|
+
const dir = transitiveFixture();
|
|
116
|
+
const shared = createNodeFrontendServices();
|
|
117
|
+
services.push(shared);
|
|
118
|
+
const plain = compile(dir, shared, new Set());
|
|
119
|
+
expect(statuses(plain)).toEqual(["borrowed:refused", "outerpkg:refused", "innerpkg:static"]);
|
|
120
|
+
// Same services, same entry, same npm-static list: only the trailing `...`
|
|
121
|
+
// differs, and it opts in the package's whole closure — `borrowed` with it.
|
|
122
|
+
// The first frontend's rung refused it, so its answer is no answer for this
|
|
123
|
+
// walk: taken from the memo, the dependency `outerpkg...` asked for would
|
|
124
|
+
// be silently missing.
|
|
125
|
+
const closure = compile(dir, shared, new Set(), ["outerpkg..."]);
|
|
126
|
+
expect(statuses(closure)).toEqual(["outerpkg:static", "innerpkg:static", "borrowed:static"]);
|
|
127
|
+
plain.frontend.dispose();
|
|
128
|
+
closure.frontend.dispose();
|
|
129
|
+
});
|
|
130
|
+
test("a build without a reload walks every rung once", () => {
|
|
131
|
+
const dir = fixture();
|
|
132
|
+
const shared = createNodeFrontendServices();
|
|
133
|
+
services.push(shared);
|
|
134
|
+
const only = compile(dir, shared, new Set());
|
|
135
|
+
expect(only.loaded).toEqual([[], ["outerpkg"], ["outerpkg", "innerpkg"]]);
|
|
136
|
+
only.frontend.dispose();
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=npm-static-ladder.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-static-ladder.test.js","sourceRoot":"","sources":["../../src/frontend/npm-static-ladder.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** One dependency's native compilation outcome.
|
|
2
|
+
*
|
|
3
|
+
* The frontend carries these statuses while it walks the npm-static ladder
|
|
4
|
+
* (npm-static-ladder.ts), so the type lives here, in a module with no
|
|
5
|
+
* imports. Taking it from coverage/report.ts would put that report's
|
|
6
|
+
* imports — the diagnostics renderer, the lowering types and the wasm
|
|
7
|
+
* discovery — into the import graph of every frontend load. */
|
|
8
|
+
export interface NpmStaticStatus {
|
|
9
|
+
package: string;
|
|
10
|
+
status: "static" | "refused";
|
|
11
|
+
/** The first refusal reason for a refused package. */
|
|
12
|
+
detail?: string;
|
|
13
|
+
/** How to act on the refusal, when there is a specific remedy. */
|
|
14
|
+
hint?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-static-status.js","sourceRoot":"","sources":["../../src/frontend/npm-static-status.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-shims.js","sourceRoot":"","sources":["../../src/frontend/package-shims.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-shims.js","sourceRoot":"","sources":["../../src/frontend/package-shims.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ScrDiagnostic } from "../diagnostics/diagnostic.js";
|
|
2
2
|
import type { IrModule } from "../ir/ir.js";
|
|
3
3
|
import type { SrcLoc } from "../ir/ir.js";
|
|
4
|
-
import type { NpmStaticStatus } from "
|
|
4
|
+
import type { NpmStaticStatus } from "./npm-static-status.js";
|
|
5
5
|
import { type EntryExport } from "./lib-exports.js";
|
|
6
6
|
import { type ContractFacts } from "./lib-contract.js";
|
|
7
7
|
import { type LoadResult } from "./program.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Shared frontend orchestration. Hosts supply a program loader so Node
|
|
2
2
|
* and native callers use the same npm selection, preflight and lowering. */
|
|
3
|
-
import { beginShapeOverlayBuild, excludeRefusedOverlay, recordShapeOverlayMemo, restoreShapeOverlayState, setShapeOverlayDropped, shapeOverlayActive, shapeOverlayMemoPlainFences, shapeOverlayReport, } from "./shape-inference/index.js";
|
|
3
|
+
import { beginShapeOverlayBuild, excludeRefusedOverlay, recordShapeOverlayMemo, restoreShapeOverlayState, setShapeOverlayDropped, shapeOverlayActive, shapeOverlayEnabled, shapeOverlayMemoPlainFences, shapeOverlayReport, } from "./shape-inference/index.js";
|
|
4
4
|
import { entryExportFacts } from "./lib-exports.js";
|
|
5
5
|
import { entryContractFacts } from "./lib-contract.js";
|
|
6
6
|
import { canonicalBuiltinModule, npmBuiltinAliasOf, checkModuleOrder, checkPreflight, isNodeTypesPath, locOf, npmStaticDepSf7, npmStaticLoadableFiles, requiresOf, resolveImport, resolveNpmImport, } from "./program.js";
|
|
@@ -19,7 +19,7 @@ import { NODE_API_MODULE } from "./node-api-import.js";
|
|
|
19
19
|
import { erasedTypeOnlyImport } from "./type-only-imports.js";
|
|
20
20
|
import { EXPERIMENTAL_MODULE } from "./experimental-import.js";
|
|
21
21
|
import { readProjectConfig } from "../project-config.js";
|
|
22
|
-
import { setFrontendIslands } from "../node-islands/boundary.js";
|
|
22
|
+
import { recordFrontendIslandReads, setFrontendIslands } from "../node-islands/boundary.js";
|
|
23
23
|
import { typePatchDiagnostics } from "./type-patches/layer.js";
|
|
24
24
|
import { packageDirOf } from "../node-islands/origin.js";
|
|
25
25
|
import { scanFiles, } from "../node-islands/scan.js";
|
|
@@ -102,8 +102,76 @@ function addDynamicImportGraph(load, scanned) {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
/** Adds the package modules a compiled package loads LAZILY to `scanned`: a
|
|
106
|
+
* `require()` call inside a function or a nested declaration lowers at the
|
|
107
|
+
* call, so its target is not in the startup module order — but that file's
|
|
108
|
+
* own top-level requires still name packages the program loads on that path,
|
|
109
|
+
* and library mode compiles the package whole. Package sources hide their
|
|
110
|
+
* dependency edges exactly there (fastify's logger-factory.js requires
|
|
111
|
+
* ./logger-pino.js inside createLogger, and only logger-pino.js requires
|
|
112
|
+
* pino). Every literal require()/import() call in the package's JavaScript
|
|
113
|
+
* counts, wherever it sits; the walk follows the files it reaches, including
|
|
114
|
+
* the files the package loader brought into the program for exactly this.
|
|
115
|
+
* A file the graph already holds keeps the graph's own static edges: the
|
|
116
|
+
* program pruned the ones a pure package's unused exports back (a
|
|
117
|
+
* re-exported module the program never reads, whose own `export *` would
|
|
118
|
+
* otherwise name a package), and rescanning its declarations here would add
|
|
119
|
+
* them back. Only the files this walk discovers owe their static
|
|
120
|
+
* declarations to it. */
|
|
121
|
+
function addLazyRequireGraph(load, scanned) {
|
|
122
|
+
const inGraph = new Set(scanned);
|
|
123
|
+
const queue = [...scanned];
|
|
124
|
+
while (queue.length > 0) {
|
|
125
|
+
const sf = queue.pop();
|
|
126
|
+
if (npmStaticPackageOfPath(sf.fileName) === null || !isJsSourceFileName(sf.fileName))
|
|
127
|
+
continue;
|
|
128
|
+
const candidates = moduleSourceCandidates(load.program, sf);
|
|
129
|
+
// `candidates.specifiers` also names every literal require() call, which
|
|
130
|
+
// resolves with the IMPORT conditions. A package's require edge must use
|
|
131
|
+
// its own ("@hapi/hoek" answers lib/index.js, not lib/index.mjs there),
|
|
132
|
+
// so the static declarations are read separately and the calls below.
|
|
133
|
+
const specs = [];
|
|
134
|
+
if (!inGraph.has(sf)) {
|
|
135
|
+
for (const stmt of sf.statements.nodes) {
|
|
136
|
+
if ((isImportDeclaration(stmt) || isExportDeclaration(stmt)) &&
|
|
137
|
+
stmt.moduleSpecifier !== undefined &&
|
|
138
|
+
isStringLiteral(stmt.moduleSpecifier))
|
|
139
|
+
specs.push({ spec: stmt.moduleSpecifier.text, kind: "import" });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
for (const call of candidates.calls) {
|
|
143
|
+
const arg = call.arguments.nodes[0];
|
|
144
|
+
if (arg === undefined || !isStringLiteralLike(arg))
|
|
145
|
+
continue;
|
|
146
|
+
if (call.expression.kind === SyntaxKind.ImportKeyword)
|
|
147
|
+
specs.push({ spec: arg.text, kind: "import" });
|
|
148
|
+
else if (isIdentifier(call.expression) && call.expression.text === "require")
|
|
149
|
+
specs.push({ spec: arg.text, kind: "require" });
|
|
150
|
+
}
|
|
151
|
+
for (const { spec, kind } of specs) {
|
|
152
|
+
if (canonicalBuiltinModule(spec) !== null)
|
|
153
|
+
continue;
|
|
154
|
+
const dep = resolveImport(load.program, sf, spec, kind) ??
|
|
155
|
+
npmStaticDepSf7(load.program, sf, spec, kind);
|
|
156
|
+
if (dep === null || scanned.has(dep) || dep.isDeclarationFile)
|
|
157
|
+
continue;
|
|
158
|
+
if (dep.fileName.includes("/node_modules/") && !isJsSourceFileName(dep.fileName))
|
|
159
|
+
continue;
|
|
160
|
+
scanned.add(dep);
|
|
161
|
+
queue.push(dep);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transitive = new Set(), witness) {
|
|
106
166
|
const chosen = [];
|
|
167
|
+
// Whether the package was already decided, recording that the answer
|
|
168
|
+
// depends on it: `judged` starts with the frontend's island packages, so a
|
|
169
|
+
// rung's outcome is a function of the island set through exactly the names
|
|
170
|
+
// this walk asks about (see LadderRung).
|
|
171
|
+
const judgedAlready = (pkg) => {
|
|
172
|
+
witness?.add(pkg);
|
|
173
|
+
return judged?.has(pkg) ?? false;
|
|
174
|
+
};
|
|
107
175
|
// package → the resolved types file AND the file whose import found it:
|
|
108
176
|
// the runtime-JS probe below must resolve from the SAME importing file,
|
|
109
177
|
// or a package visible only to a nested package.json realm (a pnpm
|
|
@@ -115,6 +183,10 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
115
183
|
// dependencies.
|
|
116
184
|
const scanned = new Set([...load.moduleOrder, load.entry]);
|
|
117
185
|
addDynamicImportGraph(load, scanned);
|
|
186
|
+
// Library mode compiles a package whole: the modules a function-scoped
|
|
187
|
+
// require loads are part of its source graph, so their edges count.
|
|
188
|
+
if (mode === "lib")
|
|
189
|
+
addLazyRequireGraph(load, scanned);
|
|
118
190
|
const transitiveFiles = transitive.size === 0
|
|
119
191
|
? []
|
|
120
192
|
: load.program.getImplementationSourceFiles().filter((sf) => {
|
|
@@ -189,6 +261,10 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
189
261
|
for (const { spec, loc, nested } of edges) {
|
|
190
262
|
if (load.externalTypes?.has(spec))
|
|
191
263
|
continue;
|
|
264
|
+
// A required JSON document is data the package reads, not a package
|
|
265
|
+
// dependency of its own: it never needs declarations or an opt-in.
|
|
266
|
+
if (spec.endsWith(".json"))
|
|
267
|
+
continue;
|
|
192
268
|
// scriptc's own packages are not npm dependencies: contract types are
|
|
193
269
|
// declarations only, and @scriptc/threads and @scriptc/experimental
|
|
194
270
|
// exports lower at their use sites (threads-import.ts,
|
|
@@ -222,7 +298,7 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
222
298
|
continue;
|
|
223
299
|
// Explicit attempts name the runtime package. Types-first resolution
|
|
224
300
|
// may instead identify its @types twin, which has no runtime to admit.
|
|
225
|
-
if (
|
|
301
|
+
if (judgedAlready(packageNameOfSpecifier(spec)))
|
|
226
302
|
continue;
|
|
227
303
|
const npm = resolveNpmImport(sf.fileName, spec);
|
|
228
304
|
if (npm !== null && isNodeTypesPath(npm.typesFile))
|
|
@@ -240,7 +316,7 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
240
316
|
!(npm !== null && !/\.d\.(ts|mts|cts)$/.test(npm.typesFile)))
|
|
241
317
|
continue;
|
|
242
318
|
if (npm === null || runtimePkg !== null) {
|
|
243
|
-
if (mode !== "lib" || runtimePkg === null ||
|
|
319
|
+
if (mode !== "lib" || runtimePkg === null || judgedAlready(runtimePkg))
|
|
244
320
|
continue;
|
|
245
321
|
judged.add(runtimePkg);
|
|
246
322
|
sites.set(runtimePkg, loc);
|
|
@@ -272,7 +348,7 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
272
348
|
});
|
|
273
349
|
continue;
|
|
274
350
|
}
|
|
275
|
-
if (
|
|
351
|
+
if (judgedAlready(npm.packageName))
|
|
276
352
|
continue;
|
|
277
353
|
// An @types twin with no runtime package installed has nothing to
|
|
278
354
|
// compile (Node cannot load it either).
|
|
@@ -290,6 +366,8 @@ function detectAutoPackages(load, statuses, mode = "auto", judged, sites, transi
|
|
|
290
366
|
}
|
|
291
367
|
}
|
|
292
368
|
for (const [pkg, { typesFile, fromFile, spec, owner }] of seen) {
|
|
369
|
+
// npmStaticIneligibleReason reads the package's island membership.
|
|
370
|
+
witness?.add(pkg);
|
|
293
371
|
judged?.add(pkg);
|
|
294
372
|
// A package without a root entry (no "main", "exports" or index file)
|
|
295
373
|
// can still serve the subpath the program imports.
|
|
@@ -415,6 +493,47 @@ export function runFrontend(entryPath, loadProgram, npmStatic, externalTypes, li
|
|
|
415
493
|
throw error;
|
|
416
494
|
}
|
|
417
495
|
}
|
|
496
|
+
/** Everything a rung's answer is a function of besides the island set: the
|
|
497
|
+
* entry, the npm-static list the rung loads with, the external-type map that
|
|
498
|
+
* decides what that load compiles, and the packages a `pkg...` selection
|
|
499
|
+
* opted in transitively. The last is not in the list: `runFrontend` strips
|
|
500
|
+
* the `...` before the load, so `pkg` and `pkg...` load the same list and
|
|
501
|
+
* answer differently — the transitive walk skips the declaration bar. */
|
|
502
|
+
function ladderKey(entryPath, requested, externalTypes, transitive) {
|
|
503
|
+
const types = externalTypes === undefined
|
|
504
|
+
? ""
|
|
505
|
+
: Object.keys(externalTypes)
|
|
506
|
+
.sort()
|
|
507
|
+
.map((spec) => `${spec}=${externalTypes[spec]}`)
|
|
508
|
+
.join("\n");
|
|
509
|
+
return `${entryPath}\n${requested.join("\n")}\n${[...transitive].sort().join("\n")}\n\n${types}`;
|
|
510
|
+
}
|
|
511
|
+
/** The recorded answer for this rung under an island set that answers the
|
|
512
|
+
* same about every package the recorded walk asked about.
|
|
513
|
+
*
|
|
514
|
+
* The island set is the one input the key does not spell out: it reaches a
|
|
515
|
+
* rung only by naming packages — a judged package is skipped, an island's
|
|
516
|
+
* undeclared subpath files serve their any-surface stub, and its imports
|
|
517
|
+
* pass the preflight fences — so the rung records every package whose
|
|
518
|
+
* membership it read together with the answers it ran under. Two island sets
|
|
519
|
+
* that agree on each of those packages leave every read unchanged, and a walk
|
|
520
|
+
* whose reads are unchanged cannot diverge. */
|
|
521
|
+
function ladderRead(ladder, key, islands) {
|
|
522
|
+
const entries = ladder.get(key);
|
|
523
|
+
if (entries === undefined)
|
|
524
|
+
return undefined;
|
|
525
|
+
for (const entry of entries) {
|
|
526
|
+
let same = true;
|
|
527
|
+
for (const pkg of entry.witness)
|
|
528
|
+
if (islands.has(pkg) !== entry.islands.has(pkg)) {
|
|
529
|
+
same = false;
|
|
530
|
+
break;
|
|
531
|
+
}
|
|
532
|
+
if (same)
|
|
533
|
+
return entry;
|
|
534
|
+
}
|
|
535
|
+
return undefined;
|
|
536
|
+
}
|
|
418
537
|
/** A file path as the frontend and the island decision spell it. */
|
|
419
538
|
function normalizeFile(file) {
|
|
420
539
|
return file.replaceAll("\\", "/");
|
|
@@ -463,8 +582,10 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
463
582
|
let requested = [];
|
|
464
583
|
let reusableScout = null;
|
|
465
584
|
let reusablePreflight = null;
|
|
585
|
+
let scoutServices;
|
|
466
586
|
if (npmStatic === "auto" || npmStatic === "lib") {
|
|
467
587
|
const scout = loadProgram(entryPath, { externalTypes });
|
|
588
|
+
scoutServices = scout.services;
|
|
468
589
|
let retained = false;
|
|
469
590
|
try {
|
|
470
591
|
const scoutPreflight = checkPreflight(scout);
|
|
@@ -523,14 +644,28 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
523
644
|
// remove that package from the active source graph. Reloading restores
|
|
524
645
|
// its declarations for analysis; the recorded refusal stops executable
|
|
525
646
|
// and library builds with a package-specific diagnostic.
|
|
526
|
-
|
|
527
|
-
|
|
647
|
+
//
|
|
648
|
+
// `held` is the fixpoint's working program: the ladder below answers a rung
|
|
649
|
+
// with no load at all, so it may be absent until the converged rung needs
|
|
650
|
+
// one. `load` is the program the rest of the pipeline reads.
|
|
651
|
+
const islandsForLadder = options.islandPackages ?? new Set();
|
|
652
|
+
// Only the library fixpoint walks rungs, and an overlay build keeps its
|
|
653
|
+
// first program's diagnostics for the fallback below: no memo there.
|
|
654
|
+
const ladder = npmStatic === "lib" && !shapeOverlayEnabled() && scoutServices !== undefined
|
|
655
|
+
? scoutServices.npmStaticLadder
|
|
656
|
+
: null;
|
|
657
|
+
let held = reusableScout;
|
|
658
|
+
let preflight = reusablePreflight ?? [];
|
|
659
|
+
if (held === null && ladder === null) {
|
|
660
|
+
held = loadProgram(entryPath, { npmStatic: requested, externalTypes });
|
|
661
|
+
preflight = checkPreflight(held);
|
|
662
|
+
}
|
|
528
663
|
// Shape inference never makes the preflight fail: when the overlay's
|
|
529
664
|
// program reports diagnostics the program without it does not (its type
|
|
530
665
|
// references can load package files the program would not), the build
|
|
531
666
|
// continues without the overlay.
|
|
532
|
-
if (preflight.length > 0 &&
|
|
533
|
-
restoreShapeOverlayState(
|
|
667
|
+
if (held !== null && preflight.length > 0 && held.shapeOverlayState !== undefined) {
|
|
668
|
+
restoreShapeOverlayState(held.shapeOverlayState);
|
|
534
669
|
if (shapeOverlayActive()) {
|
|
535
670
|
const key = (d) => `${d.code}|${d.loc.file}|${d.loc.start}`;
|
|
536
671
|
setShapeOverlayDropped(true);
|
|
@@ -538,8 +673,8 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
538
673
|
const plainPreflight = checkPreflight(plain);
|
|
539
674
|
const known = new Set(plainPreflight.map(key));
|
|
540
675
|
if (preflight.some((d) => !known.has(key(d)))) {
|
|
541
|
-
|
|
542
|
-
|
|
676
|
+
held.dispose();
|
|
677
|
+
held = plain;
|
|
543
678
|
preflight = plainPreflight;
|
|
544
679
|
if (process.env["SCRIPTC_DEBUG_SHAPE_FALLBACK"] !== undefined)
|
|
545
680
|
process.stderr.write(`[shape-fallback] preflight: the overlay's program failed; overlay off\n`);
|
|
@@ -557,26 +692,88 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
557
692
|
// reloads; ineligible ones record a refusal. Bounded by the dependency
|
|
558
693
|
// count (every iteration settles
|
|
559
694
|
// at least one new package for good).
|
|
695
|
+
//
|
|
696
|
+
// A rung's only consumer is the next `detectAutoPackages`, which reads the
|
|
697
|
+
// module order and the dynamic-import rejections. Its diagnostics are read
|
|
698
|
+
// only if it turns out to be the fixpoint's LAST rung, so they wait for the
|
|
699
|
+
// single full preflight below (which completes this walk rather than
|
|
700
|
+
// repeating it). A rung this build already walked answers from the ladder,
|
|
701
|
+
// and the load that would only reproduce its program is skipped.
|
|
702
|
+
let walked = false;
|
|
560
703
|
if (npmStatic === "lib") {
|
|
561
|
-
let reloaded = false;
|
|
562
704
|
for (;;) {
|
|
563
|
-
const
|
|
705
|
+
const key = ladder === null ? "" : ladderKey(entryPath, requested, externalTypes, transitive);
|
|
706
|
+
const known = ladder === null ? undefined : ladderRead(ladder, key, islandsForLadder);
|
|
707
|
+
let grown;
|
|
708
|
+
if (known !== undefined) {
|
|
709
|
+
grown = known.grown;
|
|
710
|
+
for (const status of known.statuses)
|
|
711
|
+
statuses.push(status);
|
|
712
|
+
for (const [pkg, loc] of known.sites)
|
|
713
|
+
npmSites.set(pkg, loc);
|
|
714
|
+
for (const pkg of known.judged)
|
|
715
|
+
judged.add(pkg);
|
|
716
|
+
for (const pkg of known.transitive)
|
|
717
|
+
transitive.add(pkg);
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
const witness = new Set();
|
|
721
|
+
const statusMark = statuses.length;
|
|
722
|
+
const siteMark = new Set(npmSites.keys());
|
|
723
|
+
const judgedMark = new Set(judged);
|
|
724
|
+
const transitiveMark = new Set(transitive);
|
|
725
|
+
// Everything this rung reads the island set through: the boundary's
|
|
726
|
+
// own answers while the load and its structure walk run, and the
|
|
727
|
+
// judged lookups in the walk below.
|
|
728
|
+
recordFrontendIslandReads(witness);
|
|
729
|
+
try {
|
|
730
|
+
if (held === null) {
|
|
731
|
+
held = loadProgram(entryPath, { npmStatic: requested, externalTypes });
|
|
732
|
+
checkModuleOrder(held);
|
|
733
|
+
walked = true;
|
|
734
|
+
}
|
|
735
|
+
grown = detectAutoPackages(held, statuses, "lib", judged, npmSites, transitive, witness);
|
|
736
|
+
}
|
|
737
|
+
finally {
|
|
738
|
+
recordFrontendIslandReads(null);
|
|
739
|
+
}
|
|
740
|
+
if (grown.length > 0 && ladder !== null) {
|
|
741
|
+
const sites = [];
|
|
742
|
+
for (const [pkg, loc] of npmSites)
|
|
743
|
+
if (!siteMark.has(pkg))
|
|
744
|
+
sites.push([pkg, loc]);
|
|
745
|
+
const entries = ladder.get(key) ?? [];
|
|
746
|
+
entries.push({
|
|
747
|
+
grown,
|
|
748
|
+
statuses: statuses.slice(statusMark),
|
|
749
|
+
sites,
|
|
750
|
+
judged: [...judged].filter((pkg) => !judgedMark.has(pkg)),
|
|
751
|
+
transitive: [...transitive].filter((pkg) => !transitiveMark.has(pkg)),
|
|
752
|
+
islands: new Set(islandsForLadder),
|
|
753
|
+
witness: [...witness],
|
|
754
|
+
});
|
|
755
|
+
ladder.set(key, entries);
|
|
756
|
+
}
|
|
757
|
+
}
|
|
564
758
|
if (grown.length === 0)
|
|
565
759
|
break;
|
|
566
760
|
requested = [...requested, ...grown];
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
// are read only if it turns out to be the fixpoint's LAST rung, so they
|
|
572
|
-
// wait for the single full preflight below (which completes this walk
|
|
573
|
-
// rather than repeating it).
|
|
574
|
-
checkModuleOrder(load);
|
|
575
|
-
reloaded = true;
|
|
761
|
+
if (held !== null) {
|
|
762
|
+
held.dispose();
|
|
763
|
+
held = null;
|
|
764
|
+
}
|
|
576
765
|
}
|
|
577
|
-
if (reloaded)
|
|
578
|
-
preflight = checkPreflight(load);
|
|
579
766
|
}
|
|
767
|
+
if (held === null) {
|
|
768
|
+
// The converged rung's answer came from the ladder; the frontend still
|
|
769
|
+
// owns the one program it lowers.
|
|
770
|
+
held = loadProgram(entryPath, { npmStatic: requested, externalTypes });
|
|
771
|
+
checkModuleOrder(held);
|
|
772
|
+
walked = true;
|
|
773
|
+
}
|
|
774
|
+
let load = held;
|
|
775
|
+
if (walked)
|
|
776
|
+
preflight = checkPreflight(load);
|
|
580
777
|
const effective = new Set(requested);
|
|
581
778
|
// Packages refused only because the program does not typecheck against
|
|
582
779
|
// their inferred surface (no offender, no package-anchored diagnostic).
|