@scriptc/compiler 0.2.7 → 0.2.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/scriptc-node-fallback.d.ts +3 -0
- package/dist/backend/cycle-analysis.js +50 -17
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +138 -14
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/cycle-mutability.d.ts +31 -6
- package/dist/backend/cycle-mutability.js +120 -18
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +16 -3
- package/dist/backend/llvm/alloc.js +78 -23
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +5 -5
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/blocks.d.ts +9 -0
- package/dist/backend/llvm/blocks.js +9 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/borrowed-receivers.d.ts +7 -0
- package/dist/backend/llvm/borrowed-receivers.js +39 -0
- package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.js +2 -3
- package/dist/backend/llvm/byte-numbers.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.d.ts +4 -1
- package/dist/backend/llvm/call-lifetimes.js +14 -3
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +8 -3
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.d.ts +24 -0
- package/dist/backend/llvm/checked-narrows.js +108 -0
- package/dist/backend/llvm/checked-narrows.js.map +1 -0
- package/dist/backend/llvm/checked-narrows.test.d.ts +1 -0
- package/dist/backend/llvm/checked-narrows.test.js +208 -0
- package/dist/backend/llvm/checked-narrows.test.js.map +1 -0
- package/dist/backend/llvm/classes.d.ts +13 -1
- package/dist/backend/llvm/classes.js +32 -23
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +32 -3
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +17 -0
- package/dist/backend/llvm/common.js +28 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/debug-info.d.ts +6 -2
- package/dist/backend/llvm/debug-info.js +11 -1
- package/dist/backend/llvm/debug-info.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.js +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +89 -0
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +8 -4
- package/dist/backend/llvm/dyn.js +58 -31
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +227 -12
- package/dist/backend/llvm/emitter.js +1492 -169
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +54 -1
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +4 -4
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +1 -1
- package/dist/backend/llvm/expr-bytes.js +116 -32
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +29 -21
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +5 -0
- package/dist/backend/llvm/expr-calls.js +55 -10
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +7 -1
- package/dist/backend/llvm/expr-containers.js +231 -28
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +2 -0
- package/dist/backend/llvm/expr-control.js +70 -14
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +75 -21
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.js +3 -8
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +41 -12
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +50 -2
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +28 -14
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +3 -0
- package/dist/backend/llvm/expr-stream-bridges.js +114 -42
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +6 -3
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/layouts.d.ts +2 -1
- package/dist/backend/llvm/layouts.js +2 -2
- package/dist/backend/llvm/layouts.js.map +1 -1
- package/dist/backend/llvm/lib-abi.js +10 -0
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +25 -13
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +8 -8
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +2 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.d.ts +17 -6
- package/dist/backend/llvm/local-array-reads.js +223 -51
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +7 -3
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.js +10 -6
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +3 -2
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +18 -0
- package/dist/backend/llvm/map-number-lookup.js +62 -0
- package/dist/backend/llvm/map-number-lookup.js.map +1 -0
- package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -0
- package/dist/backend/llvm/map-read-lifetimes.js +24 -3
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +38 -19
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.d.ts +68 -0
- package/dist/backend/llvm/nullable-unions.js +132 -0
- package/dist/backend/llvm/nullable-unions.js.map +1 -0
- package/dist/backend/llvm/publish.d.ts +58 -0
- package/dist/backend/llvm/publish.js +286 -0
- package/dist/backend/llvm/publish.js.map +1 -0
- package/dist/backend/llvm/rebound-parameters.d.ts +12 -0
- package/dist/backend/llvm/rebound-parameters.js +72 -0
- package/dist/backend/llvm/rebound-parameters.js.map +1 -0
- package/dist/backend/llvm/rebound-parameters.test.d.ts +1 -0
- package/dist/backend/llvm/rebound-parameters.test.js +67 -0
- package/dist/backend/llvm/rebound-parameters.test.js.map +1 -0
- package/dist/backend/llvm/reference-effects.d.ts +18 -2
- package/dist/backend/llvm/reference-effects.js +140 -17
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-effects.test.js +52 -1
- package/dist/backend/llvm/reference-effects.test.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +58 -19
- package/dist/backend/llvm/shapes.js +171 -62
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +36 -11
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +5 -2
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.d.ts +10 -0
- package/dist/backend/llvm/string-construction.js +42 -0
- package/dist/backend/llvm/string-construction.js.map +1 -1
- package/dist/backend/llvm/string-key-hash.d.ts +9 -2
- package/dist/backend/llvm/string-key-hash.js +20 -3
- package/dist/backend/llvm/string-key-hash.js.map +1 -1
- package/dist/backend/llvm/string-key-hash.test.js +14 -3
- package/dist/backend/llvm/string-key-hash.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +24 -11
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +7 -0
- package/dist/backend/llvm/string-reads.js +79 -0
- package/dist/backend/llvm/string-reads.js.map +1 -0
- package/dist/backend/llvm/string-slices.js +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
- package/dist/backend/llvm/test-boxed-unions.d.ts +5 -0
- package/dist/backend/llvm/test-boxed-unions.js +13 -0
- package/dist/backend/llvm/test-boxed-unions.js.map +1 -0
- package/dist/backend/llvm/trunc.d.ts +8 -0
- package/dist/backend/llvm/trunc.js +28 -0
- package/dist/backend/llvm/trunc.js.map +1 -0
- package/dist/backend/llvm/union-repr.d.ts +15 -0
- package/dist/backend/llvm/union-repr.js +89 -0
- package/dist/backend/llvm/union-repr.js.map +1 -0
- package/dist/backend/llvm/virtual-borrows.d.ts +31 -0
- package/dist/backend/llvm/virtual-borrows.js +82 -0
- package/dist/backend/llvm/virtual-borrows.js.map +1 -0
- package/dist/backend/llvm/walk-borrows.d.ts +43 -0
- package/dist/backend/llvm/walk-borrows.js +150 -0
- package/dist/backend/llvm/walk-borrows.js.map +1 -0
- package/dist/backend/llvm/walk-borrows.test.d.ts +1 -0
- package/dist/backend/llvm/walk-borrows.test.js +119 -0
- package/dist/backend/llvm/walk-borrows.test.js.map +1 -0
- package/dist/backend/llvm/walkers.d.ts +5 -1
- package/dist/backend/llvm/walkers.js +24 -21
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/loop-polls.d.ts +14 -0
- package/dist/backend/loop-polls.js +100 -0
- package/dist/backend/loop-polls.js.map +1 -0
- package/dist/backend/loop-polls.test.d.ts +1 -0
- package/dist/backend/loop-polls.test.js +86 -0
- package/dist/backend/loop-polls.test.js.map +1 -0
- package/dist/backend/may-throw.d.ts +29 -1
- package/dist/backend/may-throw.js +365 -3
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +136 -1
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/runtime-inputs.d.ts +1 -1
- package/dist/backend/native/runtime-inputs.js +1 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native-codegen-core.d.ts +7 -5
- package/dist/backend/native-codegen-core.js +14 -9
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +2 -0
- package/dist/backend/native-codegen.js +21 -2
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +41 -10
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-tools.d.ts +2 -0
- package/dist/backend/native-tools.js +3 -0
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/publication.d.ts +28 -0
- package/dist/backend/publication.js +155 -0
- package/dist/backend/publication.js.map +1 -0
- package/dist/backend/publication.test.d.ts +1 -0
- package/dist/backend/publication.test.js +72 -0
- package/dist/backend/publication.test.js.map +1 -0
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-abi.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 +1 -1
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/cli/command.js +78 -8
- package/dist/cli/command.js.map +1 -1
- 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 +8 -1
- package/dist/cli/usage.js +14 -1
- package/dist/cli/usage.js.map +1 -1
- package/dist/compile-types.d.ts +17 -3
- package/dist/coverage/report.d.ts +25 -2
- package/dist/coverage/report.js +161 -33
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +63 -0
- package/dist/coverage/verdict-cache.js +193 -0
- package/dist/coverage/verdict-cache.js.map +1 -0
- package/dist/coverage/verdict-cache.test.d.ts +1 -0
- package/dist/coverage/verdict-cache.test.js +52 -0
- package/dist/coverage/verdict-cache.test.js.map +1 -0
- package/dist/coverage/verdict-semantic.d.ts +2 -0
- package/dist/coverage/verdict-semantic.js +24 -0
- package/dist/coverage/verdict-semantic.js.map +1 -0
- package/dist/coverage/verdict-startup.d.ts +15 -0
- package/dist/coverage/verdict-startup.js +66 -0
- package/dist/coverage/verdict-startup.js.map +1 -0
- package/dist/diagnostics/diagnostic.d.ts +29 -1
- package/dist/diagnostics/diagnostic.js +74 -4
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +130 -0
- package/dist/diagnostics/envelope.js +257 -0
- package/dist/diagnostics/envelope.js.map +1 -0
- package/dist/diagnostics/envelope.test.d.ts +1 -0
- package/dist/diagnostics/envelope.test.js +91 -0
- package/dist/diagnostics/envelope.test.js.map +1 -0
- package/dist/diagnostics/render.d.ts +3 -0
- package/dist/diagnostics/render.js +13 -2
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +2 -0
- package/dist/executable/executable-cache.js +3 -0
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +1 -0
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.d.ts +4 -0
- package/dist/executable/prepare.js +7 -1
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +1 -0
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +7 -0
- package/dist/frontend/lowering/array-values.js +157 -5
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtins/numbers.js +29 -1
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +4 -0
- package/dist/frontend/lowering/builtins/process.js +10 -0
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/strings.js +4 -1
- package/dist/frontend/lowering/builtins/strings.js.map +1 -1
- package/dist/frontend/lowering/builtins/workers.js +4 -2
- package/dist/frontend/lowering/builtins/workers.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.js +96 -4
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/class-assertions.d.ts +8 -0
- package/dist/frontend/lowering/class-assertions.js +217 -1
- package/dist/frontend/lowering/class-assertions.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +8 -5
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-method-mutations.js +88 -0
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +6 -0
- package/dist/frontend/lowering/coercions/state.js +2 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +8 -0
- package/dist/frontend/lowering/coercions/unions.js +67 -2
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/collation-repertoire.d.ts +1 -0
- package/dist/frontend/lowering/collation-repertoire.js +19 -0
- package/dist/frontend/lowering/collation-repertoire.js.map +1 -0
- package/dist/frontend/lowering/construction-escapes.d.ts +38 -0
- package/dist/frontend/lowering/construction-escapes.js +146 -0
- package/dist/frontend/lowering/construction-escapes.js.map +1 -0
- package/dist/frontend/lowering/construction-escapes.test.d.ts +1 -0
- package/dist/frontend/lowering/construction-escapes.test.js +150 -0
- package/dist/frontend/lowering/construction-escapes.test.js.map +1 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +81 -44
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +15 -2
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +231 -12
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +15 -4
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +43 -1
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.js +7 -63
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.d.ts +6 -1
- package/dist/frontend/lowering/cycle-initialization.js +59 -33
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/divergences.d.ts +9 -0
- package/dist/frontend/lowering/divergences.js +630 -0
- package/dist/frontend/lowering/divergences.js.map +1 -0
- package/dist/frontend/lowering/expressions/object-literals.js +40 -2
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-fields.d.ts +19 -0
- package/dist/frontend/lowering/expressions/union-fields.js +236 -0
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -0
- package/dist/frontend/lowering/lower-calls.d.ts +5 -0
- package/dist/frontend/lowering/lower-calls.js +237 -158
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +4 -0
- package/dist/frontend/lowering/lower-classes.js +72 -22
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +19 -0
- package/dist/frontend/lowering/lower-exprs.js +592 -109
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +19 -13
- package/dist/frontend/lowering/lower-generators.js +67 -44
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +3 -2
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +1 -1
- package/dist/frontend/lowering/lower-island.js +10 -7
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +90 -1
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +47 -7
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +83 -2
- package/dist/frontend/lowering/lowerer.js +1158 -79
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +161 -0
- package/dist/frontend/lowering/nan-coded-reads.js +1342 -0
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.d.ts +31 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js +360 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.test.d.ts +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.test.js +94 -0
- package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-elements.d.ts +117 -0
- package/dist/frontend/lowering/runtime-optional-elements.js +738 -0
- package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-guards.d.ts +36 -0
- package/dist/frontend/lowering/runtime-optional-guards.js +375 -0
- package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-guards.test.d.ts +1 -0
- package/dist/frontend/lowering/runtime-optional-guards.test.js +92 -0
- package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-ownership.d.ts +63 -0
- package/dist/frontend/lowering/runtime-optional-ownership.js +382 -0
- package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-provenance.d.ts +2 -1
- package/dist/frontend/lowering/runtime-optional-provenance.js +2 -1
- package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
- package/dist/frontend/lowering/string-index-bounds.d.ts +36 -0
- package/dist/frontend/lowering/string-index-bounds.js +537 -0
- package/dist/frontend/lowering/string-index-bounds.js.map +1 -0
- package/dist/frontend/lowering/string-index-bounds.test.d.ts +1 -0
- package/dist/frontend/lowering/string-index-bounds.test.js +223 -0
- package/dist/frontend/lowering/string-index-bounds.test.js.map +1 -0
- package/dist/frontend/lowering/surfaces.js +8 -0
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.d.ts +2 -0
- package/dist/frontend/lowering/union-narrow.js +10 -6
- package/dist/frontend/lowering/union-narrow.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +10 -0
- package/dist/frontend/program-analysis.js +7 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program.d.ts +25 -0
- package/dist/frontend/program.js +613 -17
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +64 -1
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/resolve.d.ts +6 -0
- package/dist/frontend/resolve.js +14 -0
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/threads-import.d.ts +5 -0
- package/dist/frontend/threads-import.js +21 -0
- package/dist/frontend/threads-import.js.map +1 -0
- package/dist/frontend/type-mapper.d.ts +3 -0
- package/dist/frontend/type-mapper.js +72 -6
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/worker-target.d.ts +4 -0
- package/dist/frontend/worker-target.js +8 -1
- package/dist/frontend/worker-target.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +67 -17
- package/dist/index.js.map +1 -1
- package/dist/ir/build.d.ts +5 -0
- package/dist/ir/build.js +7 -0
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +5 -0
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/constant-globals.d.ts +14 -0
- package/dist/ir/constant-globals.js +81 -0
- package/dist/ir/constant-globals.js.map +1 -0
- package/dist/ir/constant-globals.test.d.ts +1 -0
- package/dist/ir/constant-globals.test.js +97 -0
- package/dist/ir/constant-globals.test.js.map +1 -0
- package/dist/ir/final-fields.d.ts +35 -0
- package/dist/ir/final-fields.js +187 -0
- package/dist/ir/final-fields.js.map +1 -0
- package/dist/ir/final-fields.test.d.ts +1 -0
- package/dist/ir/final-fields.test.js +106 -0
- package/dist/ir/final-fields.test.js.map +1 -0
- package/dist/ir/int32-slots.d.ts +81 -0
- package/dist/ir/int32-slots.js +850 -0
- package/dist/ir/int32-slots.js.map +1 -0
- package/dist/ir/int32-slots.test.d.ts +1 -0
- package/dist/ir/int32-slots.test.js +249 -0
- package/dist/ir/int32-slots.test.js.map +1 -0
- package/dist/ir/integer-loops.d.ts +5 -0
- package/dist/ir/integer-loops.js +20 -4
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +17 -0
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +19 -3
- package/dist/ir/integer-ranges.js +168 -23
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +74 -2
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/ir.d.ts +30 -7
- package/dist/ir/ir.js +4 -0
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/serialize.d.ts +12 -2
- package/dist/ir/serialize.js +190 -39
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +65 -1
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/validate.js +21 -2
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +39 -0
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/native/cache.d.ts +11 -1
- package/dist/native/cache.js +87 -2
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cache.test.js +32 -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.d.ts +5 -0
- package/dist/native/compiler.js +55 -7
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/prepare.d.ts +7 -1
- package/dist/native/prepare.js +65 -29
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +23 -1
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/text-file.d.ts +10 -0
- package/dist/native/text-file.js +41 -0
- package/dist/native/text-file.js.map +1 -0
- package/dist/startup-cache.d.ts +2 -0
- package/dist/startup-cache.js +2 -0
- package/dist/startup-cache.js.map +1 -1
- package/dist/text-parts.d.ts +5 -0
- package/dist/text-parts.js +36 -0
- package/dist/text-parts.js.map +1 -0
- package/package.json +20 -20
- package/surface-manifest.json +7 -1
- package/dist/frontend/lowering/expressions/union-field-write.d.ts +0 -8
- package/dist/frontend/lowering/expressions/union-field-write.js +0 -108
- package/dist/frontend/lowering/expressions/union-field-write.js.map +0 -1
package/dist/cli/command.js
CHANGED
|
@@ -3,7 +3,9 @@ import { dirname, join, resolve } from "node:path";
|
|
|
3
3
|
import { parseArgs } from "node:util";
|
|
4
4
|
import { isExactExternalTypeSpecifier } from "../frontend/program.js";
|
|
5
5
|
import { renderDiagnostics } from "../diagnostics/render.js";
|
|
6
|
-
import { renderCoverage } from "../coverage/report.js";
|
|
6
|
+
import { coverageEnvelope, coveragePasses, renderCoverage, } from "../coverage/report.js";
|
|
7
|
+
import { buildEnvelope } from "../diagnostics/envelope.js";
|
|
8
|
+
import { renderWarnings } from "../diagnostics/render.js";
|
|
7
9
|
import { isNativeOptimization } from "../backend/optimization.js";
|
|
8
10
|
import { setProvenanceSources } from "../frontend/provenance-registry.js";
|
|
9
11
|
import { resolveOutputOptions } from "./output-options.js";
|
|
@@ -64,10 +66,12 @@ async function main(args, host) {
|
|
|
64
66
|
values.backend !== undefined ||
|
|
65
67
|
values.emit !== undefined ||
|
|
66
68
|
values.print !== undefined ||
|
|
69
|
+
values["fail-on"] !== undefined ||
|
|
67
70
|
values.ffi !== undefined ||
|
|
68
71
|
values.profile !== undefined ||
|
|
69
72
|
values.strip ||
|
|
70
73
|
values["windows-subsystem"] !== undefined ||
|
|
74
|
+
values["detached-exit"] ||
|
|
71
75
|
(values["npm-static"] ?? []).length > 0 ||
|
|
72
76
|
values["provenance-sources"] ||
|
|
73
77
|
externalTypeArgs.length > 0 ||
|
|
@@ -126,13 +130,15 @@ async function main(args, host) {
|
|
|
126
130
|
values.backend !== undefined ||
|
|
127
131
|
values.emit !== undefined ||
|
|
128
132
|
values.print !== undefined ||
|
|
133
|
+
values["fail-on"] !== undefined ||
|
|
129
134
|
values.optimization !== undefined ||
|
|
130
135
|
values.strip ||
|
|
131
136
|
values.ffi !== undefined ||
|
|
132
137
|
values["windows-subsystem"] !== undefined ||
|
|
138
|
+
values["detached-exit"] ||
|
|
133
139
|
(values["npm-static"] ?? []).length > 0 ||
|
|
134
140
|
externalTypeArgs.length > 0) {
|
|
135
|
-
fail("scriptc build --lib takes no --dynamic/--backend/--emit/--print/--optimization/--strip/--windows-subsystem/--npm-static/--ffi/--external-types: the profile pins the emission and optimization, npm imports are judged automatically, outbound FFI belongs to executable builds, and external type mappings belong to coverage");
|
|
141
|
+
fail("scriptc build --lib takes no --dynamic/--backend/--emit/--print/--optimization/--strip/--windows-subsystem/--detached-exit/--npm-static/--ffi/--external-types: the profile pins the emission and optimization, npm imports are judged automatically, outbound FFI belongs to executable builds, and external type mappings belong to coverage");
|
|
136
142
|
}
|
|
137
143
|
const profilePath = resolve(profileArg);
|
|
138
144
|
const libOutDir = values.out
|
|
@@ -173,10 +179,27 @@ async function main(args, host) {
|
|
|
173
179
|
if (command === "coverage" && values.strip) {
|
|
174
180
|
fail(`--strip is a build/run option\n\n${USAGE}`);
|
|
175
181
|
}
|
|
176
|
-
if (
|
|
177
|
-
fail(
|
|
182
|
+
if (command === "coverage" && values["detached-exit"]) {
|
|
183
|
+
fail(`--detached-exit is a build/run option\n\n${USAGE}`);
|
|
184
|
+
}
|
|
185
|
+
if (values.print !== undefined &&
|
|
186
|
+
values.print !== "native-link-info" &&
|
|
187
|
+
values.print !== "diagnostics") {
|
|
188
|
+
fail(`unknown print kind "${values.print}" (supported: native-link-info, diagnostics)\n\n${USAGE}`);
|
|
178
189
|
}
|
|
179
190
|
const printNativeLinkInfo = values.print === "native-link-info";
|
|
191
|
+
const printDiagnostics = values.print === "diagnostics";
|
|
192
|
+
if (printDiagnostics && command === "run") {
|
|
193
|
+
fail(`--print=diagnostics is a build/coverage option\n\n${USAGE}`);
|
|
194
|
+
}
|
|
195
|
+
const failOnRaw = values["fail-on"];
|
|
196
|
+
if (failOnRaw !== undefined && failOnRaw !== "blockers" && failOnRaw !== "divergences") {
|
|
197
|
+
fail(`unknown --fail-on value "${failOnRaw}" (supported: blockers, divergences)\n\n${USAGE}`);
|
|
198
|
+
}
|
|
199
|
+
if (failOnRaw !== undefined && command !== "coverage") {
|
|
200
|
+
fail(`--fail-on is a coverage option (a build already fails on blockers)\n\n${USAGE}`);
|
|
201
|
+
}
|
|
202
|
+
const failOn = failOnRaw;
|
|
180
203
|
if (printNativeLinkInfo && command !== "build") {
|
|
181
204
|
fail(`--print=native-link-info is a build option\n\n${USAGE}`);
|
|
182
205
|
}
|
|
@@ -242,6 +265,7 @@ async function main(args, host) {
|
|
|
242
265
|
sanitize: values.sanitize,
|
|
243
266
|
...(values.optimization === undefined ? {} : { optimization: values.optimization }),
|
|
244
267
|
strip: values.strip,
|
|
268
|
+
detachedExit: values["detached-exit"],
|
|
245
269
|
...(windowsSubsystem === undefined ? {} : { windowsSubsystem }),
|
|
246
270
|
...(values.ffi === undefined ? {} : { ffi: values.ffi }),
|
|
247
271
|
});
|
|
@@ -286,9 +310,20 @@ async function main(args, host) {
|
|
|
286
310
|
...(ffiProfilePath !== undefined ? { ffiProfilePath } : {}),
|
|
287
311
|
...(Object.keys(externalTypes).length > 0 ? { externalTypes } : {}),
|
|
288
312
|
});
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
313
|
+
if (printDiagnostics) {
|
|
314
|
+
// Keep stdout pure JSON for tooling.
|
|
315
|
+
const envelope = coverageEnvelope(coverage, {
|
|
316
|
+
compilerVersion: host.version(),
|
|
317
|
+
sourceTexts,
|
|
318
|
+
...(failOn === undefined ? {} : { failOn }),
|
|
319
|
+
});
|
|
320
|
+
process.stdout.write(`${JSON.stringify(envelope, null, 2)}\n`);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
const color = process.stdout.isTTY ?? false;
|
|
324
|
+
process.stdout.write(renderCoverage(coverage, { color, sourceTexts, root: process.cwd() }) + "\n");
|
|
325
|
+
}
|
|
326
|
+
return coveragePasses(coverage, failOn) ? 0 : 1;
|
|
292
327
|
}
|
|
293
328
|
if (output === null || !output.ok)
|
|
294
329
|
throw new Error("internal output-option state");
|
|
@@ -297,6 +332,7 @@ async function main(args, host) {
|
|
|
297
332
|
}
|
|
298
333
|
const { outDir, outPath } = selectOutputPaths(input, output.cliOutputKind, values.out, output.cliOutputKind === "exe" ? host.sourceTargetPlatform() : undefined);
|
|
299
334
|
let nativeLinkInfo;
|
|
335
|
+
let diagnosticsEnvelope;
|
|
300
336
|
const build = async () => {
|
|
301
337
|
const result = await host.compile(input, {
|
|
302
338
|
outPath,
|
|
@@ -309,17 +345,48 @@ async function main(args, host) {
|
|
|
309
345
|
...(optimization !== undefined ? { optimization } : {}),
|
|
310
346
|
...(values.strip ? { strip: true } : {}),
|
|
311
347
|
...(windowsSubsystem !== undefined ? { windowsSubsystem } : {}),
|
|
348
|
+
...(values["detached-exit"] ? { detachedExit: true } : {}),
|
|
312
349
|
...(npmStatic !== undefined ? { npmStatic } : {}),
|
|
313
350
|
...(ffiProfilePath !== undefined ? { ffiProfilePath } : {}),
|
|
314
351
|
...(printNativeLinkInfo ? { nativeLinkInfo: true } : {}),
|
|
315
352
|
});
|
|
316
353
|
if (!result.ok) {
|
|
354
|
+
if (printDiagnostics) {
|
|
355
|
+
const envelope = buildEnvelope({
|
|
356
|
+
compilerVersion: host.version(),
|
|
357
|
+
entry: input,
|
|
358
|
+
ok: false,
|
|
359
|
+
diagnostics: result.diagnostics,
|
|
360
|
+
sourceTexts: result.sourceTexts,
|
|
361
|
+
});
|
|
362
|
+
process.stdout.write(`${JSON.stringify(envelope, null, 2)}\n`);
|
|
363
|
+
throw new CliExit(1);
|
|
364
|
+
}
|
|
317
365
|
const color = process.stderr.isTTY ?? false;
|
|
318
366
|
process.stderr.write(renderDiagnostics(result.diagnostics, result.sourceTexts, { color }) + "\n");
|
|
319
367
|
const n = result.diagnostics.length;
|
|
320
368
|
process.stderr.write(`\n${n} error${n === 1 ? "" : "s"}.\n`);
|
|
321
369
|
throw new CliExit(1);
|
|
322
370
|
}
|
|
371
|
+
const warnings = result.warnings ?? [];
|
|
372
|
+
if (printDiagnostics) {
|
|
373
|
+
diagnosticsEnvelope = buildEnvelope({
|
|
374
|
+
compilerVersion: host.version(),
|
|
375
|
+
entry: input,
|
|
376
|
+
ok: true,
|
|
377
|
+
artifact: result.artifact.path,
|
|
378
|
+
diagnostics: [],
|
|
379
|
+
warnings,
|
|
380
|
+
...(result.sourceTexts === undefined ? {} : { sourceTexts: result.sourceTexts }),
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
else if (warnings.length > 0 && command === "build") {
|
|
384
|
+
// Divergence warnings never fail a build; they explain where the
|
|
385
|
+
// native program can behave differently from Node. `run` keeps
|
|
386
|
+
// stderr for the program's own output.
|
|
387
|
+
const color = process.stderr.isTTY ?? false;
|
|
388
|
+
process.stderr.write(renderWarnings(warnings, result.sourceTexts ?? new Map(), { color }) + "\n");
|
|
389
|
+
}
|
|
323
390
|
if (result.artifact.kind === "exe") {
|
|
324
391
|
if (!values["keep-llvm"])
|
|
325
392
|
rmSync(result.artifact.translationUnitPath, { force: true });
|
|
@@ -333,7 +400,10 @@ async function main(args, host) {
|
|
|
333
400
|
if (command === "run") {
|
|
334
401
|
return host.run(binary);
|
|
335
402
|
}
|
|
336
|
-
if (
|
|
403
|
+
if (printDiagnostics) {
|
|
404
|
+
process.stdout.write(`${JSON.stringify(diagnosticsEnvelope, null, 2)}\n`);
|
|
405
|
+
}
|
|
406
|
+
else if (printNativeLinkInfo) {
|
|
337
407
|
if (nativeLinkInfo === undefined)
|
|
338
408
|
throw new Error("internal native-link-info state");
|
|
339
409
|
// Keep stdout pure JSON for tooling; the ordinary artifact path is in
|
package/dist/cli/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,9 @@ export function resolveOutputOptions(command, values) {
|
|
|
37
37
|
if (values.strip && emit !== "exe") {
|
|
38
38
|
return { ok: false, message: `--strip is only supported with --emit=exe` };
|
|
39
39
|
}
|
|
40
|
+
if (values.detachedExit && emit !== "exe") {
|
|
41
|
+
return { ok: false, message: `--detached-exit is only supported with --emit=exe` };
|
|
42
|
+
}
|
|
40
43
|
if (emit === "ir" && backend !== undefined) {
|
|
41
44
|
return {
|
|
42
45
|
ok: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-options.js","sourceRoot":"","sources":["../../src/cli/output-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output-options.js","sourceRoot":"","sources":["../../src/cli/output-options.ts"],"names":[],"mappings":"AA2BA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAErE,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAClC,OAAwB,EACxB,MAA0B;IAE1B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,MAAM,CAAC,OAAO,qBAAqB,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,IACE,OAAO,KAAK,SAAS;QACrB,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,MAAM;QAClB,OAAO,KAAK,KAAK;QACjB,OAAO,KAAK,KAAK;QACjB,OAAO,KAAK,KAAK,EACjB,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,sBAAsB,OAAO,wCAAwC;SAC/E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,CAAkB,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4CAA4C,IAAI,iBAAiB;SAC3E,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;IACrF,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,qFAAqF;SAC/F,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;QACjF,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,UAAU,GAAG,IAAyB,CAAC;IAC7C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,UAAU;QACV,aAAa,EAAE,IAAI;QACnB,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;QAC/E,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,KAAK;QACvC,eAAe,EAAE,MAAM,CAAC,MAAM;KAC/B,CAAC;AACJ,CAAC"}
|
package/dist/cli/usage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const USAGE = "scriptc \u2014 TypeScript/JavaScript to native and WebAssembly executables (experimental)\n\nUsage:\n scriptc build <file.ts|.js> [options] compile to an executable or source artifact\n scriptc run <file.ts|.js> [options] compile and run\n scriptc coverage <file.ts|.js> how much compiles statically, and why not\n scriptc coverage <file.ts|.js> --dynamic what a --dynamic build compiles, and what still blocks it\n scriptc coverage <file.ts|.js> --external-types <specifier=file.d.ts>\n type-resolve an embedder-provided module for analysis\n scriptc build --lib --profile <p.json> library mode: compile the profile's entry\n module to a linkable static archive\n (<name>.lib.a), or a Wasm reactor\n (<name>.wasm) on wasm32-wasi,\n exporting the profile symbols; a profile\n with a sidecar section also gets the\n contract sidecar JSON beside the archive\n scriptc cache warm [runtime|tls|dynamic\u2026] prebuild expensive native cache families\n for the current compiler/SDK/target\n\nOptions:\n -o, --out <path> primary output path (default: .scriptc/<name><suffix>)\n --emit <kind> primary output: ir, llvm, asm, obj, or exe\n (default: exe). asm/obj use the matching platform helper\n --print <kind> print machine-readable metadata instead of the output path\n (native-link-info implies --emit=obj and never links)\n --backend <b> code generator (llvm)\n --optimization <release|dev|speed>\n native optimization posture (default: release/-O2). dev\n uses -O0, source breakpoints, and cached LLVM object shards;\n macOS executable builds also produce an adjacent .dSYM.\n speed trades larger executables and longer builds for\n faster programs (runtime inlining, inline reference\n counting, cache-line-aligned runtime code on x86-64)\n --strip remove symbol/debug payload from the linked executable\n for smaller builds (opt in; --emit=exe only)\n --windows-subsystem <console|gui>\n Windows executable subsystem (default: console). gui\n prevents Windows from opening a console window\n --keep-llvm keep generated LLVM IR beside the executable (default)\n --no-keep-llvm delete generated LLVM IR after compiling\n --emit-ir also write IR beside an executable or library archive;\n deprecated for executables: use --emit=ir for primary IR\n --sanitize build with ASan + runtime RC audit\n --dynamic embed the dynamic engine (adds ~620KB; static stays the default)\n --ffi <file> bind signature-only TypeScript declarations to native\n C symbols and link the manifest's archives/libraries\n --npm-static <pkg[,pkg\u2026]|auto>\n compile the named npm packages' shipped JS statically as\n program modules (repeatable; \"auto\" opts in every eligible\n direct import: own .d.ts, unminified JS, no build-transform\n markers). A package preflight refuses falls back to the\n island (--dynamic) with a coverage-report note \u2014 opt-in,\n experimental\n --provenance-sources\n EXPERIMENTAL: compile npm dependencies from their\n provenance-attested SOURCE (fetched at the attested\n commit) as static program modules; packages without a\n usable attestation keep the island path (a note, never\n a failure)\n --external-types <specifier=file.d.ts>\n coverage only: map an exact bare module specifier to a\n local declaration file. The declaration supplies types\n for analysis; the host module remains an explicit\n external-boundary blocker (repeatable)\n -h, --help show this help\n -v, --version print the version\n";
|
|
1
|
+
export declare const USAGE = "scriptc \u2014 TypeScript/JavaScript to native and WebAssembly executables (experimental)\n\nUsage:\n scriptc build <file.ts|.js> [options] compile to an executable or source artifact\n scriptc run <file.ts|.js> [options] compile and run\n scriptc coverage <file.ts|.js> how much compiles statically, and why not\n scriptc coverage <file.ts|.js> --dynamic what a --dynamic build compiles, and what still blocks it\n scriptc coverage <file.ts|.js> --external-types <specifier=file.d.ts>\n type-resolve an embedder-provided module for analysis\n scriptc build --lib --profile <p.json> library mode: compile the profile's entry\n module to a linkable static archive\n (<name>.lib.a), or a Wasm reactor\n (<name>.wasm) on wasm32-wasi,\n exporting the profile symbols; a profile\n with a sidecar section also gets the\n contract sidecar JSON beside the archive\n scriptc cache warm [runtime|tls|dynamic\u2026] prebuild expensive native cache families\n for the current compiler/SDK/target\n\nOptions:\n -o, --out <path> primary output path (default: .scriptc/<name><suffix>)\n --emit <kind> primary output: ir, llvm, asm, obj, or exe\n (default: exe). asm/obj use the matching platform helper\n --print <kind> print machine-readable metadata instead of the output path\n (native-link-info implies --emit=obj and never links;\n diagnostics prints the versioned JSON diagnostics\n envelope for build and coverage)\n --fail-on <blockers|divergences>\n coverage only: exit 1 when the entry path has blockers\n (a build would fail), or also when it has Node\n divergences\n --backend <b> code generator (llvm)\n --optimization <release|dev|speed>\n native optimization posture (default: release/-O2). dev\n uses -O0, source breakpoints, and cached LLVM object shards;\n macOS executable builds also produce an adjacent .dSYM.\n speed trades larger executables and longer builds for\n faster programs (runtime inlining, inline reference\n counting, cache-line-aligned runtime code on x86-64)\n --strip remove symbol/debug payload from the linked executable\n for smaller builds (opt in; --emit=exe only)\n --windows-subsystem <console|gui>\n Windows executable subsystem (default: console). gui\n prevents Windows from opening a console window\n --detached-exit\n Linux: after process.exit, free the program's memory in\n a helper process so the parent sees the exit sooner. The\n helper keeps the executable mapped and its memory charged\n for up to ~100 ms after exit (opt in; --emit=exe only)\n --keep-llvm keep generated LLVM IR beside the executable (default)\n --no-keep-llvm delete generated LLVM IR after compiling\n --emit-ir also write IR beside an executable or library archive;\n deprecated for executables: use --emit=ir for primary IR\n --sanitize build with ASan + runtime RC audit\n --dynamic embed the dynamic engine (adds ~620KB; static stays the default)\n --ffi <file> bind signature-only TypeScript declarations to native\n C symbols and link the manifest's archives/libraries\n --npm-static <pkg[,pkg\u2026]|auto>\n compile the named npm packages' shipped JS statically as\n program modules (repeatable; \"auto\" opts in every eligible\n direct import: own .d.ts, unminified JS, no build-transform\n markers). A package preflight refuses falls back to the\n island (--dynamic) with a coverage-report note \u2014 opt-in,\n experimental\n --provenance-sources\n EXPERIMENTAL: compile npm dependencies from their\n provenance-attested SOURCE (fetched at the attested\n commit) as static program modules; packages without a\n usable attestation keep the island path (a note, never\n a failure)\n --external-types <specifier=file.d.ts>\n coverage only: map an exact bare module specifier to a\n local declaration file. The declaration supplies types\n for analysis; the host module remains an explicit\n external-boundary blocker (repeatable)\n -h, --help show this help\n -v, --version print the version\n";
|
|
2
2
|
export declare const CLI_OPTIONS: {
|
|
3
3
|
readonly out: {
|
|
4
4
|
readonly type: "string";
|
|
@@ -10,6 +10,9 @@ export declare const CLI_OPTIONS: {
|
|
|
10
10
|
readonly print: {
|
|
11
11
|
readonly type: "string";
|
|
12
12
|
};
|
|
13
|
+
readonly "fail-on": {
|
|
14
|
+
readonly type: "string";
|
|
15
|
+
};
|
|
13
16
|
readonly backend: {
|
|
14
17
|
readonly type: "string";
|
|
15
18
|
};
|
|
@@ -23,6 +26,10 @@ export declare const CLI_OPTIONS: {
|
|
|
23
26
|
readonly "windows-subsystem": {
|
|
24
27
|
readonly type: "string";
|
|
25
28
|
};
|
|
29
|
+
readonly "detached-exit": {
|
|
30
|
+
readonly type: "boolean";
|
|
31
|
+
readonly default: false;
|
|
32
|
+
};
|
|
26
33
|
readonly "keep-llvm": {
|
|
27
34
|
readonly type: "boolean";
|
|
28
35
|
readonly default: true;
|
package/dist/cli/usage.js
CHANGED
|
@@ -22,7 +22,13 @@ Options:
|
|
|
22
22
|
--emit <kind> primary output: ir, llvm, asm, obj, or exe
|
|
23
23
|
(default: exe). asm/obj use the matching platform helper
|
|
24
24
|
--print <kind> print machine-readable metadata instead of the output path
|
|
25
|
-
(native-link-info implies --emit=obj and never links
|
|
25
|
+
(native-link-info implies --emit=obj and never links;
|
|
26
|
+
diagnostics prints the versioned JSON diagnostics
|
|
27
|
+
envelope for build and coverage)
|
|
28
|
+
--fail-on <blockers|divergences>
|
|
29
|
+
coverage only: exit 1 when the entry path has blockers
|
|
30
|
+
(a build would fail), or also when it has Node
|
|
31
|
+
divergences
|
|
26
32
|
--backend <b> code generator (llvm)
|
|
27
33
|
--optimization <release|dev|speed>
|
|
28
34
|
native optimization posture (default: release/-O2). dev
|
|
@@ -36,6 +42,11 @@ Options:
|
|
|
36
42
|
--windows-subsystem <console|gui>
|
|
37
43
|
Windows executable subsystem (default: console). gui
|
|
38
44
|
prevents Windows from opening a console window
|
|
45
|
+
--detached-exit
|
|
46
|
+
Linux: after process.exit, free the program's memory in
|
|
47
|
+
a helper process so the parent sees the exit sooner. The
|
|
48
|
+
helper keeps the executable mapped and its memory charged
|
|
49
|
+
for up to ~100 ms after exit (opt in; --emit=exe only)
|
|
39
50
|
--keep-llvm keep generated LLVM IR beside the executable (default)
|
|
40
51
|
--no-keep-llvm delete generated LLVM IR after compiling
|
|
41
52
|
--emit-ir also write IR beside an executable or library archive;
|
|
@@ -69,10 +80,12 @@ export const CLI_OPTIONS = {
|
|
|
69
80
|
out: { type: "string", short: "o" },
|
|
70
81
|
emit: { type: "string" },
|
|
71
82
|
print: { type: "string" },
|
|
83
|
+
"fail-on": { type: "string" },
|
|
72
84
|
backend: { type: "string" },
|
|
73
85
|
optimization: { type: "string" },
|
|
74
86
|
strip: { type: "boolean", default: false },
|
|
75
87
|
"windows-subsystem": { type: "string" },
|
|
88
|
+
"detached-exit": { type: "boolean", default: false },
|
|
76
89
|
"keep-llvm": { type: "boolean", default: true },
|
|
77
90
|
"emit-ir": { type: "boolean", default: false },
|
|
78
91
|
sanitize: { type: "boolean", default: false },
|
package/dist/cli/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EpB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACpD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;IAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC5C,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAChD,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpD,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;IACrD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;CAChD,CAAC"}
|
package/dist/compile-types.d.ts
CHANGED
|
@@ -32,6 +32,11 @@ export interface CompileBaseOptions {
|
|
|
32
32
|
/** Windows PE executable subsystem. Console is the default; GUI suppresses
|
|
33
33
|
* automatic console-window creation. Only valid for Windows executables. */
|
|
34
34
|
windowsSubsystem?: WindowsSubsystem;
|
|
35
|
+
/** On Linux, hand the address-space teardown after `process.exit` to a
|
|
36
|
+
* helper process so the parent sees the exit sooner. The helper keeps the
|
|
37
|
+
* executable mapped and the memory charged for up to ~100 ms after exit.
|
|
38
|
+
* Executables only; no effect on other platforms. */
|
|
39
|
+
detachedExit?: boolean;
|
|
35
40
|
/** --npm-static: package names whose shipped, unminified JS compiles
|
|
36
41
|
* STATICALLY as program modules (inference types the bodies; statements
|
|
37
42
|
* the lowering cannot prove become runtime fences). "auto" opts in every
|
|
@@ -93,12 +98,21 @@ export type CompileFailure = {
|
|
|
93
98
|
diagnostics: ScrDiagnostic[];
|
|
94
99
|
sourceTexts: Map<string, string>;
|
|
95
100
|
};
|
|
96
|
-
|
|
101
|
+
/** Non-failing findings of a successful build: divergence warnings
|
|
102
|
+
* (SC6xxx — sites that compile but can behave differently from Node), with
|
|
103
|
+
* the sources they point into. Present only when the build lowered the
|
|
104
|
+
* program and found at least one; a cache hit that skips lowering carries
|
|
105
|
+
* none (`scriptc coverage` always reports them). */
|
|
106
|
+
export interface CompileWarnings {
|
|
107
|
+
warnings?: ScrDiagnostic[];
|
|
108
|
+
sourceTexts?: Map<string, string>;
|
|
109
|
+
}
|
|
110
|
+
export type CompileSourceResult = ({
|
|
97
111
|
ok: true;
|
|
98
112
|
artifact: Extract<CompileArtifact, {
|
|
99
113
|
kind: "ir" | "llvm" | "asm" | "obj";
|
|
100
114
|
}>;
|
|
101
|
-
} | CompileFailure;
|
|
115
|
+
} & CompileWarnings) | CompileFailure;
|
|
102
116
|
/** Historical executable result shape retained for source compatibility. */
|
|
103
117
|
export type CompileResult = {
|
|
104
118
|
ok: true;
|
|
@@ -115,7 +129,7 @@ export type CompileExecutableResult =
|
|
|
115
129
|
artifact: Extract<CompileArtifact, {
|
|
116
130
|
kind: "exe";
|
|
117
131
|
}>;
|
|
118
|
-
}) | CompileFailure;
|
|
132
|
+
} & CompileWarnings) | CompileFailure;
|
|
119
133
|
/** Result union for callers that choose outputKind dynamically. */
|
|
120
134
|
export type CompileRequestResult = CompileSourceResult | CompileExecutableResult;
|
|
121
135
|
export interface CompileLibraryOptions {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ScrDiagnostic } from "../diagnostics/diagnostic.js";
|
|
2
|
+
import { type DiagnosticsEnvelope } from "../diagnostics/envelope.js";
|
|
2
3
|
import type { LowerStats } from "../frontend/lowering/lowerer.js";
|
|
3
4
|
import type { NpmBuiltinUse, NpmLazyTrap } from "../frontend/npm.js";
|
|
4
5
|
import type { ProvenanceSources } from "../frontend/provenance-registry.js";
|
|
@@ -20,7 +21,12 @@ export interface CoverageInput {
|
|
|
20
21
|
unreached?: {
|
|
21
22
|
stats: LowerStats;
|
|
22
23
|
diagnostics: ScrDiagnostic[];
|
|
24
|
+
runtimeFences?: ScrDiagnostic[];
|
|
23
25
|
};
|
|
26
|
+
/** Compile-time-detectable behavior differences from Node (SC6xxx):
|
|
27
|
+
* the program compiles, but these sites can behave differently natively.
|
|
28
|
+
* Never blockers; `--fail-on=divergences` opts into failing on them. */
|
|
29
|
+
divergences?: ScrDiagnostic[];
|
|
24
30
|
/** --dynamic only: every Node builtin the embedded npm graph imports —
|
|
25
31
|
* what the island must provide for this program (unshimmed ones also
|
|
26
32
|
* appear as SC2030 blockers, EXCEPT lazily-reached ones, which embed
|
|
@@ -59,7 +65,24 @@ export interface NpmStaticStatus {
|
|
|
59
65
|
/** The fallback's first refusal reason (fallback rows only). */
|
|
60
66
|
detail?: string;
|
|
61
67
|
}
|
|
62
|
-
export
|
|
68
|
+
export interface CoverageRenderOptions {
|
|
63
69
|
color?: boolean;
|
|
64
70
|
sourceTexts?: Map<string, string>;
|
|
65
|
-
|
|
71
|
+
/** Paths under this directory render relative to it. */
|
|
72
|
+
root?: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function renderCoverage(input: CoverageInput, opts?: CoverageRenderOptions): string;
|
|
75
|
+
/** What `coverage --fail-on` checks: reached blockers (they fail a build)
|
|
76
|
+
* and, optionally, divergences. Unreached blockers never fail. */
|
|
77
|
+
export type CoverageFailOn = "blockers" | "divergences";
|
|
78
|
+
/** Whether the analysis passes the selected gate. Preflight failures
|
|
79
|
+
* always fail; `failOn` undefined means only preflight fails (the report's
|
|
80
|
+
* historical contract). Divergence gating implies blocker gating. */
|
|
81
|
+
export declare function coveragePasses(input: CoverageInput, failOn?: CoverageFailOn): boolean;
|
|
82
|
+
/** The versioned machine-readable form of a coverage analysis
|
|
83
|
+
* (`scriptc coverage --print=diagnostics`). */
|
|
84
|
+
export declare function coverageEnvelope(input: CoverageInput, opts: {
|
|
85
|
+
compilerVersion: string;
|
|
86
|
+
sourceTexts?: Map<string, string>;
|
|
87
|
+
failOn?: CoverageFailOn;
|
|
88
|
+
}): DiagnosticsEnvelope;
|