@scriptc/compiler 0.4.7 → 0.4.8
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/child_process.d.ts +71 -22
- package/ambient/node-fallback/crypto.d.ts +15 -7
- package/ambient/node-fallback/events.d.ts +23 -5
- package/ambient/node-fallback/fs.d.ts +3 -2
- package/ambient/node-fallback/http.d.ts +23 -17
- package/ambient/node-fallback/https.d.ts +5 -2
- package/ambient/node-fallback/net.d.ts +6 -0
- package/ambient/node-fallback/os.d.ts +11 -1
- package/ambient/node-fallback/path-posix.d.ts +6 -0
- package/ambient/node-fallback/path-win32.d.ts +5 -0
- package/ambient/node-fallback/path.d.ts +2 -0
- package/ambient/node-fallback/zlib.d.ts +31 -2
- package/ambient/scriptc-node-fallback.d.ts +37 -7
- package/ambient/scriptc.d.ts +7 -2
- package/dist/backend/executable-features.js +11 -3
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/library-pack.d.ts +6 -0
- package/dist/backend/library-pack.js +17 -6
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/library-pack.test.d.ts +1 -0
- package/dist/backend/library-pack.test.js +28 -0
- package/dist/backend/library-pack.test.js.map +1 -0
- package/dist/backend/linker.d.ts +9 -2
- package/dist/backend/linker.js +190 -32
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/lld.d.ts +8 -4
- package/dist/backend/lld.js +19 -13
- package/dist/backend/lld.js.map +1 -1
- package/dist/backend/lld.test.js +3 -1
- package/dist/backend/lld.test.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +15 -2
- package/dist/backend/llvm/alloc.js +172 -36
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +69 -1
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/arenas.d.ts +17 -4
- package/dist/backend/llvm/arenas.js +105 -10
- package/dist/backend/llvm/arenas.js.map +1 -1
- package/dist/backend/llvm/arenas.test.js +229 -0
- package/dist/backend/llvm/arenas.test.js.map +1 -1
- package/dist/backend/llvm/bytes-alias.js +10 -1
- package/dist/backend/llvm/bytes-alias.js.map +1 -1
- package/dist/backend/llvm/bytes-headers.js +6 -0
- package/dist/backend/llvm/bytes-headers.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.test.js +25 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.js +10 -0
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +16 -9
- package/dist/backend/llvm/classes.js +142 -37
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +42 -0
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/cpu-dispatch.d.ts +15 -5
- package/dist/backend/llvm/cpu-dispatch.js +31 -7
- package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +12 -3
- package/dist/backend/llvm/dyn.js +31 -7
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +67 -4
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-module.js +90 -39
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-module.test.d.ts +1 -0
- package/dist/backend/llvm/emit-module.test.js +52 -0
- package/dist/backend/llvm/emit-module.test.js.map +1 -0
- package/dist/backend/llvm/emit-statements.js +99 -15
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +113 -8
- package/dist/backend/llvm/emitter.js +438 -67
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +31 -3
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +19 -1
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +16 -1
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +18 -2
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +31 -10
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +31 -3
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-records.d.ts +1 -1
- package/dist/backend/llvm/expr-records.js +124 -56
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +17 -0
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/js-groups.d.ts +21 -0
- package/dist/backend/llvm/js-groups.js +277 -0
- package/dist/backend/llvm/js-groups.js.map +1 -0
- package/dist/backend/llvm/js-ic.d.ts +19 -1
- package/dist/backend/llvm/js-ic.js +96 -23
- package/dist/backend/llvm/js-ic.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +132 -1
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +33 -6
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +44 -3
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +69 -2
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +32 -0
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/loop-state.js +7 -2
- package/dist/backend/llvm/loop-state.js.map +1 -1
- package/dist/backend/llvm/map-entry-fusion.d.ts +8 -0
- package/dist/backend/llvm/map-entry-fusion.js +3 -3
- package/dist/backend/llvm/map-entry-fusion.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.test.js +6 -6
- package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.js +7 -6
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.test.js +4 -1
- package/dist/backend/llvm/nullable-unions.test.js.map +1 -1
- package/dist/backend/llvm/receivers.js +3 -0
- package/dist/backend/llvm/receivers.js.map +1 -1
- package/dist/backend/llvm/record-entry-fusion.d.ts +32 -0
- package/dist/backend/llvm/record-entry-fusion.js +217 -0
- package/dist/backend/llvm/record-entry-fusion.js.map +1 -0
- package/dist/backend/llvm/record-results.d.ts +5 -2
- package/dist/backend/llvm/record-results.js +13 -12
- package/dist/backend/llvm/record-results.js.map +1 -1
- package/dist/backend/llvm/record-views.js +12 -6
- package/dist/backend/llvm/record-views.js.map +1 -1
- package/dist/backend/llvm/reference-effects.js +1 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.js +3 -0
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/region-ir.js +1 -0
- package/dist/backend/llvm/region-ir.js.map +1 -1
- package/dist/backend/llvm/region-sites.d.ts +18 -0
- package/dist/backend/llvm/region-sites.js +79 -1
- package/dist/backend/llvm/region-sites.js.map +1 -1
- package/dist/backend/llvm/runtime-registries.test.js +53 -6
- package/dist/backend/llvm/runtime-registries.test.js.map +1 -1
- package/dist/backend/llvm/serialized-ir-emission.test.js +3 -1
- package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +33 -3
- package/dist/backend/llvm/shapes.js +183 -13
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +1 -2
- package/dist/backend/llvm/stack-objects.js +8 -5
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +12 -0
- package/dist/backend/llvm/walkers.js +46 -2
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/may-throw.js +12 -2
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +13 -0
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +48 -8
- package/dist/backend/native/executable.js +55 -13
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/helper-identity-record.d.ts +11 -0
- package/dist/backend/native/helper-identity-record.js +76 -0
- package/dist/backend/native/helper-identity-record.js.map +1 -0
- package/dist/backend/native/helper-identity-record.test.d.ts +1 -0
- package/dist/backend/native/helper-identity-record.test.js +101 -0
- package/dist/backend/native/helper-identity-record.test.js.map +1 -0
- package/dist/backend/native/library.js +9 -1
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/runtime-inputs.js +4 -1
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native/vendor.d.ts +1 -1
- package/dist/backend/native/vendor.js +1 -1
- package/dist/backend/native/vendor.js.map +1 -1
- package/dist/backend/native-codegen-core.d.ts +13 -10
- package/dist/backend/native-codegen-core.js +26 -13
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.js +27 -8
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +110 -14
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +37 -8
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/runtime-pack-core.d.ts +17 -2
- package/dist/backend/runtime-pack-core.js +18 -3
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +1 -1
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +211 -2
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/tree-classes.d.ts +42 -0
- package/dist/backend/tree-classes.js +723 -0
- package/dist/backend/tree-classes.js.map +1 -0
- package/dist/backend/tree-classes.test.d.ts +1 -0
- package/dist/backend/tree-classes.test.js +338 -0
- package/dist/backend/tree-classes.test.js.map +1 -0
- package/dist/backend/vendor-archives.d.ts +5 -1
- package/dist/backend/vendor-archives.js +51 -7
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +25 -4
- package/dist/backend/vendor-inputs.js +68 -4
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/vendor-inputs.test.js +35 -1
- package/dist/backend/vendor-inputs.test.js.map +1 -1
- package/dist/backend/warm-cache.js +1 -1
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/compat/fetch-profile.js +2 -2
- package/dist/coverage/report.js +47 -0
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +1 -1
- package/dist/diagnostics/codes.d.ts +8 -0
- package/dist/diagnostics/codes.js +8 -0
- package/dist/diagnostics/codes.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +27 -9
- package/dist/diagnostics/diagnostic.js +60 -19
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +18 -0
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +21 -2
- package/dist/executable/executable-cache.js +21 -1
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +123 -1
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +199 -248
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +200 -18
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/builtin-modules.d.ts +4 -0
- package/dist/frontend/builtin-modules.js +10 -0
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/early-errors.d.ts +12 -2
- package/dist/frontend/early-errors.js +535 -4
- package/dist/frontend/early-errors.js.map +1 -1
- package/dist/frontend/early-errors.test.js +165 -0
- package/dist/frontend/early-errors.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.test.js +65 -0
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/jsx-opinion-sites.test.d.ts +1 -0
- package/dist/frontend/jsx-opinion-sites.test.js +86 -0
- package/dist/frontend/jsx-opinion-sites.test.js.map +1 -0
- package/dist/frontend/lib-exports.d.ts +23 -4
- package/dist/frontend/lib-exports.js +98 -26
- package/dist/frontend/lib-exports.js.map +1 -1
- package/dist/frontend/lowering/binding-analysis.js +21 -3
- package/dist/frontend/lowering/binding-analysis.js.map +1 -1
- package/dist/frontend/lowering/buffers.d.ts +8 -0
- package/dist/frontend/lowering/buffers.js +43 -0
- package/dist/frontend/lowering/buffers.js.map +1 -0
- package/dist/frontend/lowering/builtin-calls.js +4 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -1
- package/dist/frontend/lowering/builtin-namespaces.d.ts +3 -2
- package/dist/frontend/lowering/builtin-namespaces.js +24 -3
- package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
- package/dist/frontend/lowering/builtin-statics.d.ts +24 -0
- package/dist/frontend/lowering/builtin-statics.js +407 -0
- package/dist/frontend/lowering/builtin-statics.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.d.ts +4 -0
- package/dist/frontend/lowering/builtins/arguments.js +12 -0
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/atomics.d.ts +6 -1
- package/dist/frontend/lowering/builtins/atomics.js +87 -1
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.js +2 -2
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-sync.d.ts +13 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js +1 -13
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.d.ts +10 -4
- package/dist/frontend/lowering/builtins/child-process.js +560 -27
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/compression.d.ts +2 -2
- package/dist/frontend/lowering/builtins/compression.js +41 -21
- package/dist/frontend/lowering/builtins/compression.js.map +1 -1
- package/dist/frontend/lowering/builtins/constants.js +7 -2
- package/dist/frontend/lowering/builtins/constants.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +28 -2
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +4 -0
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +3 -1
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/numbers.d.ts +4 -1
- package/dist/frontend/lowering/builtins/numbers.js +10 -2
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/operating-system.d.ts +6 -3
- package/dist/frontend/lowering/builtins/operating-system.js +96 -16
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +2 -2
- package/dist/frontend/lowering/builtins/process.js +103 -8
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +169 -8
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/properties.js +6 -2
- package/dist/frontend/lowering/builtins/properties.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +6 -4
- package/dist/frontend/lowering/builtins/readline.js +180 -36
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.js +35 -12
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/builtins/webassembly.js +2 -0
- package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.d.ts +10 -0
- package/dist/frontend/lowering/call-arguments.js +37 -2
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.d.ts +10 -0
- package/dist/frontend/lowering/call-signatures.js +103 -0
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/class-construction.d.ts +14 -2
- package/dist/frontend/lowering/class-construction.js +99 -5
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +9 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +1283 -1030
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +158 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.js +20 -15
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.d.ts +8 -0
- package/dist/frontend/lowering/class-runtime-statics.js +20 -1
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-unions.js +21 -4
- package/dist/frontend/lowering/class-unions.js.map +1 -1
- package/dist/frontend/lowering/coercions/function-adapters.js +9 -0
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +8 -0
- package/dist/frontend/lowering/coercions/state.js +17 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +20 -5
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +10 -1
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +2 -1
- package/dist/frontend/lowering/coercions/unions.js +54 -10
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/constructor-returns.d.ts +23 -2
- package/dist/frontend/lowering/constructor-returns.js +284 -58
- package/dist/frontend/lowering/constructor-returns.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +156 -62
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +21 -3
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-from-async.js +139 -3
- package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
- package/dist/frontend/lowering/containers/array-iteration.d.ts +14 -4
- package/dist/frontend/lowering/containers/array-iteration.js +24 -7
- package/dist/frontend/lowering/containers/array-iteration.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +14 -11
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.d.ts +6 -0
- package/dist/frontend/lowering/containers/bytes.js +446 -86
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +5 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +21 -12
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-grouping.js +421 -2
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +52 -17
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +23 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js +176 -10
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +5 -2
- package/dist/frontend/lowering/containers/string-and-regexp.js +45 -11
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/crypto-tables.d.ts +3 -3
- package/dist/frontend/lowering/crypto-tables.js +5 -5
- package/dist/frontend/lowering/dispatch-sites.js +3 -0
- package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
- package/dist/frontend/lowering/divergences.d.ts +40 -0
- package/dist/frontend/lowering/divergences.js +239 -20
- package/dist/frontend/lowering/divergences.js.map +1 -1
- package/dist/frontend/lowering/effect-free.d.ts +12 -0
- package/dist/frontend/lowering/effect-free.js +44 -0
- package/dist/frontend/lowering/effect-free.js.map +1 -0
- package/dist/frontend/lowering/expressions/array-literals.d.ts +10 -0
- package/dist/frontend/lowering/expressions/array-literals.js +62 -0
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/binary.js +115 -5
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.js +151 -7
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +15 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js +54 -1
- package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/identifiers.js +31 -2
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
- package/dist/frontend/lowering/expressions/narrowing.d.ts +3 -0
- package/dist/frontend/lowering/expressions/narrowing.js +175 -22
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +173 -11
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +5 -1
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +8 -0
- package/dist/frontend/lowering/expressions/property-access.js +379 -109
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.js +237 -7
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/typeof.js +8 -0
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-fields.d.ts +20 -1
- package/dist/frontend/lowering/expressions/union-fields.js +103 -13
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.js +74 -55
- package/dist/frontend/lowering/expressions/updates.js.map +1 -1
- package/dist/frontend/lowering/function-returns.js +37 -10
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/general-streams.js +5 -0
- package/dist/frontend/lowering/general-streams.js.map +1 -1
- package/dist/frontend/lowering/generator-delegation.d.ts +15 -7
- package/dist/frontend/lowering/generator-delegation.js +301 -118
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +27 -1
- package/dist/frontend/lowering/generic-functions.js +432 -18
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/global-function-values.d.ts +25 -0
- package/dist/frontend/lowering/global-function-values.js +193 -0
- package/dist/frontend/lowering/global-function-values.js.map +1 -0
- package/dist/frontend/lowering/global-values.d.ts +6 -4
- package/dist/frontend/lowering/global-values.js +24 -10
- package/dist/frontend/lowering/global-values.js.map +1 -1
- package/dist/frontend/lowering/host-global-values.d.ts +31 -0
- package/dist/frontend/lowering/host-global-values.js +121 -0
- package/dist/frontend/lowering/host-global-values.js.map +1 -0
- package/dist/frontend/lowering/host-globals.d.ts +74 -0
- package/dist/frontend/lowering/host-globals.js +344 -0
- package/dist/frontend/lowering/host-globals.js.map +1 -0
- package/dist/frontend/lowering/http2-constants.js +1 -1
- package/dist/frontend/lowering/iterator-adapters.js +46 -17
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/iterator-prototype.d.ts +30 -0
- package/dist/frontend/lowering/iterator-prototype.js +160 -0
- package/dist/frontend/lowering/iterator-prototype.js.map +1 -0
- package/dist/frontend/lowering/key-order-witness.js +43 -22
- package/dist/frontend/lowering/key-order-witness.js.map +1 -1
- package/dist/frontend/lowering/key-order-witness.test.js +1 -0
- package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.js +11 -3
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +30 -15
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +11 -0
- package/dist/frontend/lowering/lower-async-iteration.js +15 -0
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.js +11 -1
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +25 -0
- package/dist/frontend/lowering/lower-calls.js +929 -227
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.test.js +59 -16
- package/dist/frontend/lowering/lower-calls.test.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +20 -0
- package/dist/frontend/lowering/lower-classes.js +468 -44
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.d.ts +6 -2
- package/dist/frontend/lowering/lower-event-emitter.js +253 -83
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +1 -1
- package/dist/frontend/lowering/lower-exprs.js +71 -20
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +25 -6
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.js +57 -10
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.d.ts +6 -0
- package/dist/frontend/lowering/lower-global-value.js +14 -5
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +4 -0
- package/dist/frontend/lowering/lower-inspect.js +638 -64
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +48 -2
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +18 -0
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-island.js +16 -6
- package/dist/frontend/lowering/lower-node-island.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +303 -87
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.js +45 -0
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +14 -11
- package/dist/frontend/lowering/lower-stmts.js +270 -52
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +110 -27
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lower-url.js +6 -3
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +227 -21
- package/dist/frontend/lowering/lowerer.js +651 -92
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +18 -0
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/lowering-facts.d.ts +110 -0
- package/dist/frontend/lowering/lowering-facts.js +323 -0
- package/dist/frontend/lowering/lowering-facts.js.map +1 -0
- package/dist/frontend/lowering/lowering-facts.test.d.ts +1 -0
- package/dist/frontend/lowering/lowering-facts.test.js +100 -0
- package/dist/frontend/lowering/lowering-facts.test.js.map +1 -0
- package/dist/frontend/lowering/nan-coded-reads.d.ts +27 -4
- package/dist/frontend/lowering/nan-coded-reads.js +112 -9
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.d.ts +4 -0
- package/dist/frontend/lowering/optional-arguments.js +26 -2
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/partial-assertions.d.ts +0 -3
- package/dist/frontend/lowering/partial-assertions.js +9 -15
- package/dist/frontend/lowering/partial-assertions.js.map +1 -1
- package/dist/frontend/lowering/primitive-throws.d.ts +100 -0
- package/dist/frontend/lowering/primitive-throws.js +241 -0
- package/dist/frontend/lowering/primitive-throws.js.map +1 -0
- package/dist/frontend/lowering/primitive-wrappers.js +1 -0
- package/dist/frontend/lowering/primitive-wrappers.js.map +1 -1
- package/dist/frontend/lowering/record-inherited.d.ts +17 -1
- package/dist/frontend/lowering/record-inherited.js +16 -2
- package/dist/frontend/lowering/record-inherited.js.map +1 -1
- package/dist/frontend/lowering/record-links.d.ts +73 -0
- package/dist/frontend/lowering/record-links.js +797 -0
- package/dist/frontend/lowering/record-links.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-provenance.d.ts +27 -7
- package/dist/frontend/lowering/runtime-optional-provenance.js +25 -11
- package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-report.d.ts +40 -0
- package/dist/frontend/lowering/runtime-optional-report.js +300 -0
- package/dist/frontend/lowering/runtime-optional-report.js.map +1 -0
- package/dist/frontend/lowering/scoped-type-memo.test.d.ts +1 -0
- package/dist/frontend/lowering/scoped-type-memo.test.js +86 -0
- package/dist/frontend/lowering/scoped-type-memo.test.js.map +1 -0
- package/dist/frontend/lowering/static-typeof.d.ts +3 -1
- package/dist/frontend/lowering/static-typeof.js +6 -1
- package/dist/frontend/lowering/static-typeof.js.map +1 -1
- package/dist/frontend/lowering/strict-mode.d.ts +1 -5
- package/dist/frontend/lowering/strict-mode.js +4 -30
- package/dist/frontend/lowering/strict-mode.js.map +1 -1
- package/dist/frontend/lowering/structural-instances.d.ts +7 -0
- package/dist/frontend/lowering/structural-instances.js +23 -0
- package/dist/frontend/lowering/structural-instances.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +15 -1
- package/dist/frontend/lowering/surfaces.js +78 -10
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/union-retag.d.ts +13 -1
- package/dist/frontend/lowering/union-retag.js +55 -1
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +51 -0
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/unit-journal.d.ts +8 -0
- package/dist/frontend/lowering/unit-journal.js +14 -0
- package/dist/frontend/lowering/unit-journal.js.map +1 -1
- package/dist/frontend/lowering/unit-journal.test.js +36 -1
- package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
- package/dist/frontend/lowering/zlib-constants.js +3 -2
- package/dist/frontend/lowering/zlib-constants.js.map +1 -1
- package/dist/frontend/npm-static.js +78 -9
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm-static.test.js +95 -2
- package/dist/frontend/npm-static.test.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +5 -4
- package/dist/frontend/pipeline.js +94 -31
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +68 -11
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program.d.ts +62 -2
- package/dist/frontend/program.js +695 -422
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +37 -1
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/services-node.d.ts +7 -0
- package/dist/frontend/services-node.js +32 -1
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services-node.test.js +51 -0
- package/dist/frontend/services-node.test.js.map +1 -1
- package/dist/frontend/shape-inference/overlay.js +68 -2
- package/dist/frontend/shape-inference/overlay.js.map +1 -1
- package/dist/frontend/tier-analysis.d.ts +9 -0
- package/dist/frontend/tier-analysis.js +1 -0
- package/dist/frontend/tier-analysis.js.map +1 -1
- package/dist/frontend/tsc-codes.d.ts +57 -3
- package/dist/frontend/tsc-codes.js +935 -150
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/tsc-codes.test.js +221 -12
- package/dist/frontend/tsc-codes.test.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +91 -9
- package/dist/frontend/type-mapper.js +622 -181
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +80 -15
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +1 -0
- package/dist/index.test.js +60 -0
- package/dist/index.test.js.map +1 -0
- package/dist/ir/builtin-effects.js +43 -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 +242 -16
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/callback-specialization.d.ts +3 -2
- package/dist/ir/callback-specialization.js +35 -25
- package/dist/ir/callback-specialization.js.map +1 -1
- package/dist/ir/capture-values.d.ts +8 -4
- package/dist/ir/capture-values.js +9 -6
- package/dist/ir/capture-values.js.map +1 -1
- package/dist/ir/char-unit-locals.d.ts +6 -2
- package/dist/ir/char-unit-locals.js +11 -2
- package/dist/ir/char-unit-locals.js.map +1 -1
- package/dist/ir/class-key-index.d.ts +18 -0
- package/dist/ir/class-key-index.js +29 -0
- package/dist/ir/class-key-index.js.map +1 -0
- package/dist/ir/class-key-index.test.d.ts +1 -0
- package/dist/ir/class-key-index.test.js +25 -0
- package/dist/ir/class-key-index.test.js.map +1 -0
- package/dist/ir/codec.generated.d.ts +1 -1
- package/dist/ir/codec.generated.js +724 -648
- package/dist/ir/codec.generated.js.map +1 -1
- package/dist/ir/constant-globals.d.ts +5 -2
- package/dist/ir/constant-globals.js +25 -27
- package/dist/ir/constant-globals.js.map +1 -1
- package/dist/ir/expression-inlining.d.ts +4 -2
- package/dist/ir/expression-inlining.js +8 -2
- package/dist/ir/expression-inlining.js.map +1 -1
- package/dist/ir/field-values.d.ts +5 -2
- package/dist/ir/field-values.js +32 -21
- package/dist/ir/field-values.js.map +1 -1
- package/dist/ir/fields.generated.d.ts +11 -2
- package/dist/ir/fields.generated.js +8 -0
- package/dist/ir/fields.generated.js.map +1 -1
- package/dist/ir/final-fields.js +1 -1
- package/dist/ir/final-fields.js.map +1 -1
- package/dist/ir/function-references.d.ts +5 -4
- package/dist/ir/function-references.js +7 -4
- package/dist/ir/function-references.js.map +1 -1
- package/dist/ir/function-references.test.js +7 -0
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/init-only-globals.d.ts +4 -2
- package/dist/ir/init-only-globals.js +17 -18
- package/dist/ir/init-only-globals.js.map +1 -1
- package/dist/ir/inline-array-views.js +1 -0
- package/dist/ir/inline-array-views.js.map +1 -1
- package/dist/ir/int32-slots.js +7 -0
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/ir.d.ts +59 -4
- package/dist/ir/ir.js +7 -0
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/js-groups.d.ts +51 -0
- package/dist/ir/js-groups.js +394 -0
- package/dist/ir/js-groups.js.map +1 -0
- package/dist/ir/js-groups.test.d.ts +1 -0
- package/dist/ir/js-groups.test.js +555 -0
- package/dist/ir/js-groups.test.js.map +1 -0
- package/dist/ir/js-ic.js +30 -5
- package/dist/ir/js-ic.js.map +1 -1
- package/dist/ir/js-ic.test.js +27 -1
- package/dist/ir/js-ic.test.js.map +1 -1
- package/dist/ir/node-index.d.ts +23 -6
- package/dist/ir/node-index.js +126 -49
- package/dist/ir/node-index.js.map +1 -1
- package/dist/ir/numeric-call-specialization.d.ts +4 -2
- package/dist/ir/numeric-call-specialization.js +40 -26
- package/dist/ir/numeric-call-specialization.js.map +1 -1
- package/dist/ir/paired-while-loops.d.ts +4 -2
- package/dist/ir/paired-while-loops.js +8 -2
- package/dist/ir/paired-while-loops.js.map +1 -1
- package/dist/ir/parameter-versions.d.ts +13 -4
- package/dist/ir/parameter-versions.js +63 -42
- package/dist/ir/parameter-versions.js.map +1 -1
- package/dist/ir/property-bags.d.ts +4 -2
- package/dist/ir/property-bags.js +22 -17
- package/dist/ir/property-bags.js.map +1 -1
- package/dist/ir/row-pairs.d.ts +4 -2
- package/dist/ir/row-pairs.js +12 -11
- package/dist/ir/row-pairs.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +87 -12
- package/dist/ir/runtime-features.js +263 -160
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/runtime-features.test.js +109 -139
- package/dist/ir/runtime-features.test.js.map +1 -1
- package/dist/ir/runtime-jam-loops.d.ts +35 -0
- package/dist/ir/runtime-jam-loops.js +604 -0
- package/dist/ir/runtime-jam-loops.js.map +1 -0
- package/dist/ir/runtime-jam-loops.test.d.ts +1 -0
- package/dist/ir/runtime-jam-loops.test.js +565 -0
- package/dist/ir/runtime-jam-loops.test.js.map +1 -0
- package/dist/ir/saturating-loop-jams.d.ts +4 -2
- package/dist/ir/saturating-loop-jams.js +11 -10
- package/dist/ir/saturating-loop-jams.js.map +1 -1
- package/dist/ir/scalar-records.d.ts +5 -2
- package/dist/ir/scalar-records.js +12 -2
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/self-captures.d.ts +4 -2
- package/dist/ir/self-captures.js +32 -27
- package/dist/ir/self-captures.js.map +1 -1
- package/dist/ir/serialize.d.ts +6 -1
- package/dist/ir/serialize.js +87 -23
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +26 -0
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/tiers.js +1 -0
- package/dist/ir/tiers.js.map +1 -1
- package/dist/ir/traverse.js +4 -0
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/typed-argument-clones.d.ts +30 -0
- package/dist/ir/typed-argument-clones.js +789 -0
- package/dist/ir/typed-argument-clones.js.map +1 -0
- package/dist/ir/union-arm-loops.d.ts +3 -0
- package/dist/ir/union-arm-loops.js +373 -0
- package/dist/ir/union-arm-loops.js.map +1 -0
- package/dist/ir/union-arm-loops.test.d.ts +1 -0
- package/dist/ir/union-arm-loops.test.js +230 -0
- package/dist/ir/union-arm-loops.test.js.map +1 -0
- package/dist/ir/validate.js +88 -18
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/compiler-self-identity.d.ts +8 -2
- package/dist/library/compiler-self-identity.js +92 -18
- package/dist/library/compiler-self-identity.js.map +1 -1
- package/dist/library/compiler-self-identity.test.js +150 -3
- package/dist/library/compiler-self-identity.test.js.map +1 -1
- package/dist/library/int-infer.d.ts +5 -0
- package/dist/library/int-infer.js +15 -3
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/ir-policy.js +1 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/library/library-cache.d.ts +4 -0
- package/dist/library/library-cache.js +2 -0
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +26 -0
- package/dist/library/library-cache.test.js.map +1 -1
- package/dist/library/prepare.js +99 -31
- package/dist/library/prepare.js.map +1 -1
- package/dist/native/cache.d.ts +7 -0
- package/dist/native/cache.js +47 -0
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cache.test.js +13 -1
- package/dist/native/cache.test.js.map +1 -1
- package/dist/native/cli.js +1 -1
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +18 -3
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/executable-cache-open.test.js +31 -5
- package/dist/native/executable-cache-open.test.js.map +1 -1
- package/dist/native/executable-cache.d.ts +6 -1
- package/dist/native/executable-cache.js +7 -1
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/prepare.d.ts +3 -0
- package/dist/native/prepare.js +43 -26
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +25 -3
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/sanitizer.js +10 -1
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +7 -2
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/node-islands/boundary.d.ts +12 -0
- package/dist/node-islands/boundary.js +38 -6
- package/dist/node-islands/boundary.js.map +1 -1
- package/dist/node-islands/boundary.test.d.ts +1 -0
- package/dist/node-islands/boundary.test.js +76 -0
- package/dist/node-islands/boundary.test.js.map +1 -0
- package/dist/node-islands/detect.d.ts +9 -0
- package/dist/node-islands/detect.js +110 -0
- package/dist/node-islands/detect.js.map +1 -1
- package/dist/node-islands/detect.test.js +24 -0
- package/dist/node-islands/detect.test.js.map +1 -1
- package/dist/node-islands/graph-islands.d.ts +40 -0
- package/dist/node-islands/graph-islands.js +128 -0
- package/dist/node-islands/graph-islands.js.map +1 -0
- package/dist/node-islands/growth.d.ts +57 -0
- package/dist/node-islands/growth.js +205 -0
- package/dist/node-islands/growth.js.map +1 -0
- package/dist/node-islands/report.d.ts +12 -0
- package/dist/node-islands/report.js +28 -0
- package/dist/node-islands/report.js.map +1 -1
- package/dist/node-islands/report.test.js +2 -0
- package/dist/node-islands/report.test.js.map +1 -1
- package/dist/node-islands/rules.js +5 -0
- package/dist/node-islands/rules.js.map +1 -1
- package/dist/node-islands/scan.d.ts +11 -2
- package/dist/node-islands/scan.js +61 -9
- package/dist/node-islands/scan.js.map +1 -1
- package/dist/wasm/translate.js +11 -5
- package/dist/wasm/translate.js.map +1 -1
- package/dist/wasm/translate.test.js +35 -0
- package/dist/wasm/translate.test.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +184 -117
|
@@ -1,9 +1,9 @@
|
|
|
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
3
|
import { beginShapeOverlayBuild, excludeRefusedOverlay, recordShapeOverlayMemo, restoreShapeOverlayState, setShapeOverlayDropped, shapeOverlayActive, shapeOverlayMemoPlainFences, shapeOverlayReport, } from "./shape-inference/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { entryExportFacts } from "./lib-exports.js";
|
|
5
5
|
import { entryContractFacts } from "./lib-contract.js";
|
|
6
|
-
import { canonicalBuiltinModule, npmBuiltinAliasOf, checkPreflight, isNodeTypesPath, locOf, npmStaticDepSf7, npmStaticLoadableFiles, requiresOf, resolveImport, resolveNpmImport, } from "./program.js";
|
|
6
|
+
import { canonicalBuiltinModule, npmBuiltinAliasOf, checkModuleOrder, checkPreflight, isNodeTypesPath, locOf, npmStaticDepSf7, npmStaticLoadableFiles, requiresOf, resolveImport, resolveNpmImport, } from "./program.js";
|
|
7
7
|
import { definitelyTypedMismatch, npmStaticFileDegrades, npmStaticIneligibleReason, npmStaticOffenders, npmStaticPackageOfPath, } from "./npm-static.js";
|
|
8
8
|
import { clearResolveCaches, resolveBareModule, resolveWorkspaceSourceModule } from "./resolve.js";
|
|
9
9
|
import { isShimmedImport } from "./package-shims.js";
|
|
@@ -558,6 +558,7 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
558
558
|
// count (every iteration settles
|
|
559
559
|
// at least one new package for good).
|
|
560
560
|
if (npmStatic === "lib") {
|
|
561
|
+
let reloaded = false;
|
|
561
562
|
for (;;) {
|
|
562
563
|
const grown = detectAutoPackages(load, statuses, "lib", judged, npmSites, transitive);
|
|
563
564
|
if (grown.length === 0)
|
|
@@ -565,8 +566,16 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
565
566
|
requested = [...requested, ...grown];
|
|
566
567
|
load.dispose();
|
|
567
568
|
load = loadProgram(entryPath, { npmStatic: requested, externalTypes });
|
|
568
|
-
|
|
569
|
+
// A rung's only consumer is the next `detectAutoPackages`, which reads
|
|
570
|
+
// the module order and the dynamic-import rejections. Its diagnostics
|
|
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;
|
|
569
576
|
}
|
|
577
|
+
if (reloaded)
|
|
578
|
+
preflight = checkPreflight(load);
|
|
570
579
|
}
|
|
571
580
|
const effective = new Set(requested);
|
|
572
581
|
// Packages refused only because the program does not typecheck against
|
|
@@ -631,13 +640,19 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
631
640
|
// declaration-only members, or a .d.ts type-GUARD an inferred JS
|
|
632
641
|
// function cannot reproduce). Those SC0001s anchor in USER files no
|
|
633
642
|
// offender or
|
|
634
|
-
// message attribution reaches, so each
|
|
635
|
-
//
|
|
636
|
-
//
|
|
637
|
-
//
|
|
638
|
-
//
|
|
639
|
-
//
|
|
640
|
-
//
|
|
643
|
+
// message attribution reaches, so each package is probed by LEAVE-ONE-OUT
|
|
644
|
+
// (n is the opt-in count — a handful of extra analysis loads): the set
|
|
645
|
+
// minus that package is exactly the load that would follow dropping it. A
|
|
646
|
+
// package whose removal clears or changes the errors is a culprit and
|
|
647
|
+
// falls back with a note. A package whose absence leaves the errors
|
|
648
|
+
// untouched is not; and when NO package attributes, the flag's own typing
|
|
649
|
+
// produced the diagnostic, so the set keeps every package and the error is
|
|
650
|
+
// reported as the one diagnostic it is. Explicit opt-ins degrade the same
|
|
651
|
+
// way — the ratified stance for bundle-shaped dists is graceful
|
|
652
|
+
// per-package degradation, never a failed gate the user cannot act on
|
|
653
|
+
// (the note carries the why). A diagnostic the program reports without ANY
|
|
654
|
+
// opt-in is not a package's either: that baseline keeps the set and the
|
|
655
|
+
// error is reported once.
|
|
641
656
|
if (effective.size > 0 && preflight.some((d) => d.code === "SC0001")) {
|
|
642
657
|
const lastResortDropped = [];
|
|
643
658
|
const dropWithNote = (p) => {
|
|
@@ -655,27 +670,74 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
655
670
|
: "the program does not typecheck against its inferred surface (type-only declarations and .d.ts type guards have no JS value inference can chase)",
|
|
656
671
|
});
|
|
657
672
|
};
|
|
658
|
-
//
|
|
659
|
-
//
|
|
660
|
-
//
|
|
661
|
-
// that
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
673
|
+
// A diagnostic the program also reports with NO opt-in at all is the
|
|
674
|
+
// program's own type error: every package would "reproduce" it, so the
|
|
675
|
+
// per-package probe below cannot attribute it and would drop the whole
|
|
676
|
+
// set. Read that baseline once, and let the set keep its packages: the
|
|
677
|
+
// error is reported as the one diagnostic it is (the splice at the end
|
|
678
|
+
// of this function has the same stance for a program that only fails
|
|
679
|
+
// after the drop).
|
|
680
|
+
const diagKey = (d) => `${d.code}|${d.loc.file}|${d.loc.start}`;
|
|
681
|
+
let baselineKeys = null;
|
|
682
|
+
// Each load installs its own package set as npm-static's live state
|
|
683
|
+
// (program.ts), and lowering and the program-source classification read
|
|
684
|
+
// that state after this function returns. A load opened here with a
|
|
685
|
+
// probe's set therefore has to be followed by one reload of the set the
|
|
686
|
+
// retained program keeps, unless a culprit reload already reset it.
|
|
687
|
+
let probeStateStale = false;
|
|
688
|
+
const programOwnsDiagnostic = () => {
|
|
689
|
+
if (baselineKeys === null) {
|
|
690
|
+
const bare = loadProgram(entryPath, { npmStatic: [], externalTypes });
|
|
691
|
+
probeStateStale = true;
|
|
692
|
+
try {
|
|
693
|
+
baselineKeys = new Set(checkPreflight(bare)
|
|
694
|
+
.filter((d) => d.code === "SC0001")
|
|
695
|
+
.map(diagKey));
|
|
696
|
+
}
|
|
697
|
+
finally {
|
|
698
|
+
bare.dispose();
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
const known = baselineKeys;
|
|
702
|
+
return known.size > 0 && preflight.every((d) => d.code !== "SC0001" || known.has(diagKey(d)));
|
|
703
|
+
};
|
|
704
|
+
// Attribute by LEAVE-ONE-OUT: the set minus one package is the load
|
|
705
|
+
// that would follow dropping it. A package whose removal clears — or
|
|
706
|
+
// changes — the errors is a culprit; a package whose absence leaves them
|
|
707
|
+
// exactly as they are is not. When no package attributes, the flag's own
|
|
708
|
+
// typing produced the diagnostic and the set keeps every package: one
|
|
709
|
+
// program diagnostic must never refuse the whole set (the pi shape: an
|
|
710
|
+
// error no subset removes, collapsed into a refusal per package, and
|
|
711
|
+
// the program still did not typecheck afterwards).
|
|
712
|
+
if (!programOwnsDiagnostic()) {
|
|
713
|
+
const sc0001Keys = (diags) => diags
|
|
714
|
+
.filter((d) => d.code === "SC0001")
|
|
715
|
+
.map(diagKey)
|
|
716
|
+
.sort()
|
|
717
|
+
.join("\n");
|
|
718
|
+
const loadKeys = sc0001Keys(preflight);
|
|
719
|
+
const culprits = [];
|
|
720
|
+
for (const p of [...effective]) {
|
|
721
|
+
const rest = [...effective].filter((q) => q !== p);
|
|
722
|
+
const probe = loadProgram(entryPath, { npmStatic: rest, externalTypes });
|
|
723
|
+
probeStateStale = true;
|
|
724
|
+
const probeDiags = checkPreflight(probe);
|
|
725
|
+
probe.dispose();
|
|
726
|
+
if (sc0001Keys(probeDiags) !== loadKeys)
|
|
727
|
+
culprits.push(p);
|
|
728
|
+
}
|
|
729
|
+
if (culprits.length > 0) {
|
|
730
|
+
for (const p of culprits)
|
|
731
|
+
dropWithNote(p);
|
|
732
|
+
if (scanIslands)
|
|
733
|
+
scanDroppedPackages(load, lastResortDropped.splice(0), droppedScan);
|
|
734
|
+
load.dispose();
|
|
735
|
+
load = loadProgram(entryPath, { npmStatic: [...effective], externalTypes });
|
|
736
|
+
preflight = checkPreflight(load);
|
|
737
|
+
probeStateStale = false;
|
|
738
|
+
}
|
|
668
739
|
}
|
|
669
|
-
if (
|
|
670
|
-
scanDroppedPackages(load, lastResortDropped.splice(0), droppedScan);
|
|
671
|
-
load.dispose();
|
|
672
|
-
load = loadProgram(entryPath, { npmStatic: [...effective], externalTypes });
|
|
673
|
-
preflight = checkPreflight(load);
|
|
674
|
-
if (preflight.some((d) => d.code === "SC0001") && effective.size > 0) {
|
|
675
|
-
for (const p of [...effective])
|
|
676
|
-
dropWithNote(p);
|
|
677
|
-
if (scanIslands)
|
|
678
|
-
scanDroppedPackages(load, lastResortDropped.splice(0), droppedScan);
|
|
740
|
+
if (probeStateStale) {
|
|
679
741
|
load.dispose();
|
|
680
742
|
load = loadProgram(entryPath, { npmStatic: [...effective], externalTypes });
|
|
681
743
|
preflight = checkPreflight(load);
|
|
@@ -713,7 +775,7 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
713
775
|
preflight: withoutIslandModules(report && configDiagnostics.length > 0 ? [...configDiagnostics, ...preflight] : preflight),
|
|
714
776
|
...(buildWarnings.length > 0 ? { warnings: buildWarnings } : {}),
|
|
715
777
|
entryText: () => finalLoad.entry.text,
|
|
716
|
-
entryExports: () =>
|
|
778
|
+
entryExports: (names) => entryExportFacts(finalLoad.program, finalLoad.entry, names),
|
|
717
779
|
// The contract scans the PROGRAM's source files, not the runtime
|
|
718
780
|
// module order: a type-only module (nothing but exported types) has no
|
|
719
781
|
// runtime edge and never joins moduleOrder, yet its declarations are
|
|
@@ -771,6 +833,7 @@ function loadFrontend(entryPath, loadProgram, npmStatic, externalTypes, libraryN
|
|
|
771
833
|
...opts,
|
|
772
834
|
frontendServices: l.services,
|
|
773
835
|
startupCrash: l.startupCrash ?? null,
|
|
836
|
+
admittedOpinions: l.admittedOpinions,
|
|
774
837
|
inlineRequireCycleCalls: l.inlineRequireCycleCalls,
|
|
775
838
|
moduleEdges: l.moduleEdges,
|
|
776
839
|
dynamicImportRejections: l.dynamicImportRejections,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/frontend/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/frontend/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@ import { afterEach, expect, test, vi } from "vitest";
|
|
|
2
2
|
import { runFrontend } from "./pipeline.js";
|
|
3
3
|
import * as program from "./program.js";
|
|
4
4
|
const opened = [];
|
|
5
|
+
const loadPackages = new Map();
|
|
5
6
|
const preflight = vi.spyOn(program, "checkPreflight");
|
|
6
7
|
afterEach(() => {
|
|
7
8
|
opened.length = 0;
|
|
9
|
+
loadPackages.clear();
|
|
8
10
|
preflight.mockReset();
|
|
9
11
|
});
|
|
10
|
-
const loader = () => {
|
|
12
|
+
const loader = (_path, options) => {
|
|
11
13
|
// Resource-ownership tests inject only the load fields the orchestration
|
|
12
14
|
// reads. Real program loading and native execution have integration tests.
|
|
13
15
|
const load = {
|
|
@@ -16,8 +18,15 @@ const loader = () => {
|
|
|
16
18
|
dispose: vi.fn(),
|
|
17
19
|
};
|
|
18
20
|
opened.push(load);
|
|
21
|
+
loadPackages.set(load, options.npmStatic);
|
|
19
22
|
return load;
|
|
20
23
|
};
|
|
24
|
+
/** The load the frontend retains: the only one not disposed by the run. */
|
|
25
|
+
function retainedLoad() {
|
|
26
|
+
const live = opened.filter((load) => vi.mocked(load.dispose).mock.calls.length === 0);
|
|
27
|
+
expect(live).toHaveLength(1);
|
|
28
|
+
return live[0];
|
|
29
|
+
}
|
|
21
30
|
const typeError = {
|
|
22
31
|
code: "SC0001",
|
|
23
32
|
message: "the program does not typecheck",
|
|
@@ -62,17 +71,17 @@ test("closes the current program if opening a probe fails", () => {
|
|
|
62
71
|
});
|
|
63
72
|
test("does not retain or close disposed fallback loads twice", () => {
|
|
64
73
|
preflight
|
|
65
|
-
.mockReturnValueOnce([])
|
|
66
|
-
.mockReturnValueOnce([typeError])
|
|
67
|
-
.mockReturnValueOnce([
|
|
68
|
-
.
|
|
74
|
+
.mockReturnValueOnce([]) // the scout
|
|
75
|
+
.mockReturnValueOnce([typeError]) // the opted-in load
|
|
76
|
+
.mockReturnValueOnce([]) // the no-opt-in baseline: the program itself is clean
|
|
77
|
+
.mockReturnValueOnce([{ ...typeError, loc: { file: "/main.ts", start: 5, end: 6 } }]) // the solo probe: this package breaks its own import site
|
|
78
|
+
.mockReturnValue([]); // the survivor reload
|
|
69
79
|
const frontend = runFrontend("/main.ts", loader, ["fixture"]);
|
|
70
|
-
expect(opened).toHaveLength(
|
|
80
|
+
expect(opened).toHaveLength(5);
|
|
71
81
|
expect(frontend.npmStatic).toMatchObject([{ package: "fixture", status: "refused" }]);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
expect(opened[
|
|
75
|
-
expect(opened[3].dispose).not.toHaveBeenCalled();
|
|
82
|
+
for (const load of opened.slice(0, 4))
|
|
83
|
+
expect(load.dispose).toHaveBeenCalledTimes(1);
|
|
84
|
+
expect(opened[4].dispose).not.toHaveBeenCalled();
|
|
76
85
|
frontend.dispose();
|
|
77
86
|
for (const load of opened)
|
|
78
87
|
expect(load.dispose).toHaveBeenCalledTimes(1);
|
|
@@ -99,11 +108,15 @@ test("reports program type errors instead of refusing the package", () => {
|
|
|
99
108
|
// and against its declarations alike: the errors are the program's.
|
|
100
109
|
preflight.mockReturnValueOnce([]).mockReturnValue([typeError]);
|
|
101
110
|
const frontend = runFrontend("/main.ts", loader, ["fixture"]);
|
|
102
|
-
|
|
111
|
+
// The package stays statically compiled — no package caused the error.
|
|
112
|
+
expect(frontend.npmStatic).toEqual([{ package: "fixture", status: "static" }]);
|
|
103
113
|
expect(frontend.preflight).toEqual([typeError]);
|
|
104
114
|
frontend.dispose();
|
|
105
115
|
});
|
|
106
116
|
test("reports program type errors that name the package's module", () => {
|
|
117
|
+
// The message names the package, so the attribution pass refuses it before
|
|
118
|
+
// the last resort; the final program still reports the error, so the
|
|
119
|
+
// splice drops the refusal and the diagnostic is reported as the program's.
|
|
107
120
|
const missingExport = {
|
|
108
121
|
code: "SC0001",
|
|
109
122
|
message: `Module '"fixture"' has no exported member 'open'.`,
|
|
@@ -115,4 +128,48 @@ test("reports program type errors that name the package's module", () => {
|
|
|
115
128
|
expect(frontend.preflight).toEqual([missingExport]);
|
|
116
129
|
frontend.dispose();
|
|
117
130
|
});
|
|
131
|
+
test("keeps the whole set when no probe can attribute the diagnostic", () => {
|
|
132
|
+
// The error depends on the flag, not on WHICH package is opted in: every
|
|
133
|
+
// solo probe reports the load's own error word for word. No package
|
|
134
|
+
// separates itself, so no package is a culprit and none is refused — the
|
|
135
|
+
// diagnostic is reported once, at its own location.
|
|
136
|
+
preflight
|
|
137
|
+
.mockReturnValueOnce([]) // the scout
|
|
138
|
+
.mockReturnValueOnce([typeError]) // the opted-in load
|
|
139
|
+
.mockReturnValueOnce([]) // the no-opt-in baseline: the program itself is clean
|
|
140
|
+
.mockReturnValue([typeError]); // every solo probe reproduces the load's error
|
|
141
|
+
const frontend = runFrontend("/main.ts", loader, ["alpha", "beta"]);
|
|
142
|
+
// The last load is the reload of the retained program: each probe installed
|
|
143
|
+
// its own package set as npm-static's live state, and lowering reads that
|
|
144
|
+
// state after runFrontend returns.
|
|
145
|
+
expect(opened).toHaveLength(6);
|
|
146
|
+
const retained = retainedLoad();
|
|
147
|
+
expect(retained).toBe(opened.at(-1));
|
|
148
|
+
expect(loadPackages.get(retained)).toEqual(["alpha", "beta"]);
|
|
149
|
+
expect(frontend.npmStatic).toEqual([
|
|
150
|
+
{ package: "alpha", status: "static" },
|
|
151
|
+
{ package: "beta", status: "static" },
|
|
152
|
+
]);
|
|
153
|
+
expect(frontend.preflight).toEqual([typeError]);
|
|
154
|
+
frontend.dispose();
|
|
155
|
+
});
|
|
156
|
+
test("one program diagnostic does not refuse every package in the set", () => {
|
|
157
|
+
// pi's round 2: a single program-level SC0001 that every solo probe
|
|
158
|
+
// reproduces (the diagnostic depends on the opt-in, not on WHICH package
|
|
159
|
+
// was opted in). Probing alone cannot attribute it, and reporting one
|
|
160
|
+
// refusal per package hides the one diagnostic that is real.
|
|
161
|
+
preflight.mockReturnValueOnce([]).mockReturnValue([typeError]);
|
|
162
|
+
const frontend = runFrontend("/main.ts", loader, ["alpha", "beta"]);
|
|
163
|
+
// The no-opt-in baseline load left its empty set live; the retained program
|
|
164
|
+
// is reloaded so lowering reads the set it was compiled with.
|
|
165
|
+
const retained = retainedLoad();
|
|
166
|
+
expect(retained).toBe(opened.at(-1));
|
|
167
|
+
expect(loadPackages.get(retained)).toEqual(["alpha", "beta"]);
|
|
168
|
+
expect(frontend.npmStatic).toEqual([
|
|
169
|
+
{ package: "alpha", status: "static" },
|
|
170
|
+
{ package: "beta", status: "static" },
|
|
171
|
+
]);
|
|
172
|
+
expect(frontend.preflight).toEqual([typeError]);
|
|
173
|
+
frontend.dispose();
|
|
174
|
+
});
|
|
118
175
|
//# sourceMappingURL=pipeline.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.test.js","sourceRoot":"","sources":["../../src/frontend/pipeline.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,MAAM,MAAM,GAAgC,EAAE,CAAC;AAC/C,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACtD,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,SAAS,CAAC,SAAS,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAkB,
|
|
1
|
+
{"version":3,"file":"pipeline.test.js","sourceRoot":"","sources":["../../src/frontend/pipeline.test.ts"],"names":[],"mappings":"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"}
|