xbintsc 0.5.6 → 0.5.21
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/AGENTS.md +20 -10
- package/README.md +8 -7
- package/README.zh-CN.md +6 -6
- package/dist/src/binder/declarations.js +14 -3
- package/dist/src/binder/declarations.js.map +1 -1
- package/dist/src/cli/hints.js +7 -1
- package/dist/src/cli/hints.js.map +1 -1
- package/dist/src/cli/main.js +115 -15
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/watch.d.ts +25 -0
- package/dist/src/cli/watch.js +93 -0
- package/dist/src/cli/watch.js.map +1 -0
- package/dist/src/codegen/generator/calls/access.js +11 -2
- package/dist/src/codegen/generator/calls/access.js.map +1 -1
- package/dist/src/codegen/generator/calls/closures.js +12 -4
- package/dist/src/codegen/generator/calls/closures.js.map +1 -1
- package/dist/src/codegen/generator/context.d.ts +8 -0
- package/dist/src/codegen/generator/context.js +22 -3
- package/dist/src/codegen/generator/context.js.map +1 -1
- package/dist/src/codegen/generator/expressions/operators.js +17 -15
- package/dist/src/codegen/generator/expressions/operators.js.map +1 -1
- package/dist/src/codegen/generator/expressions/primary.js +5 -0
- package/dist/src/codegen/generator/expressions/primary.js.map +1 -1
- package/dist/src/codegen/generator/module.js +0 -7
- package/dist/src/codegen/generator/module.js.map +1 -1
- package/dist/src/codegen/generator/numeric.d.ts +6 -3
- package/dist/src/codegen/generator/numeric.js +54 -11
- package/dist/src/codegen/generator/numeric.js.map +1 -1
- package/dist/src/codegen/generator/state.js +23 -0
- package/dist/src/codegen/generator/state.js.map +1 -1
- package/dist/src/codegen/generator/statements/control-flow.js +1 -4
- package/dist/src/codegen/generator/statements/control-flow.js.map +1 -1
- package/dist/src/codegen/generator/statements/loops.js +48 -16
- package/dist/src/codegen/generator/statements/loops.js.map +1 -1
- package/dist/src/codegen/generator/tables.js +26 -1
- package/dist/src/codegen/generator/tables.js.map +1 -1
- package/dist/src/diagnostics/diagnostic.d.ts +3 -1
- package/dist/src/diagnostics/diagnostic.js +23 -3
- package/dist/src/diagnostics/diagnostic.js.map +1 -1
- package/dist/src/driver/app-artifacts.d.ts +42 -0
- package/dist/src/driver/app-artifacts.js +53 -0
- package/dist/src/driver/app-artifacts.js.map +1 -0
- package/dist/src/driver/build-key.d.ts +29 -0
- package/dist/src/driver/build-key.js +35 -0
- package/dist/src/driver/build-key.js.map +1 -0
- package/dist/src/driver/bundler/graph.js +61 -12
- package/dist/src/driver/bundler/graph.js.map +1 -1
- package/dist/src/driver/bundler/merge.js +7 -1
- package/dist/src/driver/bundler/merge.js.map +1 -1
- package/dist/src/driver/compiler.d.ts +10 -67
- package/dist/src/driver/compiler.js +95 -234
- package/dist/src/driver/compiler.js.map +1 -1
- package/dist/src/driver/config.d.ts +3 -0
- package/dist/src/driver/config.js +8 -0
- package/dist/src/driver/config.js.map +1 -1
- package/dist/src/driver/frontend.d.ts +37 -0
- package/dist/src/driver/frontend.js +92 -0
- package/dist/src/driver/frontend.js.map +1 -0
- package/dist/src/driver/index.d.ts +1 -1
- package/dist/src/driver/index.js.map +1 -1
- package/dist/src/driver/options.d.ts +64 -0
- package/dist/src/driver/options.js +9 -0
- package/dist/src/driver/options.js.map +1 -0
- package/dist/src/driver/runtime-objects.d.ts +38 -0
- package/dist/src/driver/runtime-objects.js +112 -0
- package/dist/src/driver/runtime-objects.js.map +1 -0
- package/dist/src/driver/toolchain-provider.d.ts +4 -0
- package/dist/src/driver/toolchain-provider.js +4 -0
- package/dist/src/driver/toolchain-provider.js.map +1 -1
- package/dist/src/driver/toolchain.d.ts +32 -1
- package/dist/src/driver/toolchain.js +115 -11
- package/dist/src/driver/toolchain.js.map +1 -1
- package/dist/src/driver/version.d.ts +12 -0
- package/dist/src/driver/version.js +13 -0
- package/dist/src/driver/version.js.map +1 -0
- package/dist/src/driver/win-icon.d.ts +7 -9
- package/dist/src/driver/win-icon.js +37 -35
- package/dist/src/driver/win-icon.js.map +1 -1
- package/dist/src/extensions/node/fs/index.d.ts +4 -3
- package/dist/src/extensions/node/fs/index.js +12 -3
- package/dist/src/extensions/node/fs/index.js.map +1 -1
- package/dist/src/extensions/node/fs-promises/index.d.ts +5 -5
- package/dist/src/extensions/node/fs-promises/index.js +15 -6
- package/dist/src/extensions/node/fs-promises/index.js.map +1 -1
- package/dist/src/parser/declarations/classes.js +5 -0
- package/dist/src/parser/declarations/classes.js.map +1 -1
- package/dist/src/parser/declarations/functions.js +13 -1
- package/dist/src/parser/declarations/functions.js.map +1 -1
- package/dist/src/parser/modules.js +8 -3
- package/dist/src/parser/modules.js.map +1 -1
- package/dist/src/parser/parser.d.ts +1 -0
- package/dist/src/parser/parser.js +23 -0
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/tests/cli/check.test.d.ts +6 -0
- package/dist/tests/cli/check.test.js +68 -0
- package/dist/tests/cli/check.test.js.map +1 -0
- package/dist/tests/cli/main.test.js +19 -0
- package/dist/tests/cli/main.test.js.map +1 -1
- package/dist/tests/cli/watch.test.d.ts +6 -0
- package/dist/tests/cli/watch.test.js +72 -0
- package/dist/tests/cli/watch.test.js.map +1 -0
- package/dist/tests/codegen/expressions.test.js +15 -3
- package/dist/tests/codegen/expressions.test.js.map +1 -1
- package/dist/tests/codegen/llvm.test.js +16 -0
- package/dist/tests/codegen/llvm.test.js.map +1 -1
- package/dist/tests/diagnostics/diagnostic.test.js +8 -0
- package/dist/tests/diagnostics/diagnostic.test.js.map +1 -1
- package/dist/tests/docs/structure.test.d.ts +1 -0
- package/dist/tests/docs/structure.test.js +92 -0
- package/dist/tests/docs/structure.test.js.map +1 -0
- package/dist/tests/driver/compiler.test.js +6 -0
- package/dist/tests/driver/compiler.test.js.map +1 -1
- package/dist/tests/driver/config.test.js +9 -0
- package/dist/tests/driver/config.test.js.map +1 -1
- package/dist/tests/driver/icon.test.js +19 -32
- package/dist/tests/driver/icon.test.js.map +1 -1
- package/dist/tests/driver/invalid-input.test.d.ts +10 -0
- package/dist/tests/driver/invalid-input.test.js +29 -0
- package/dist/tests/driver/invalid-input.test.js.map +1 -0
- package/dist/tests/driver/modules.test.js +42 -3
- package/dist/tests/driver/modules.test.js.map +1 -1
- package/dist/tests/driver/toolchain-provider.test.js +27 -1
- package/dist/tests/driver/toolchain-provider.test.js.map +1 -1
- package/dist/tests/driver/toolchain.test.js +60 -2
- package/dist/tests/driver/toolchain.test.js.map +1 -1
- package/dist/tests/e2e/array-buffer.test.d.ts +5 -0
- package/dist/tests/e2e/array-buffer.test.js +38 -0
- package/dist/tests/e2e/array-buffer.test.js.map +1 -0
- package/dist/tests/e2e/array-from-iterables.test.d.ts +7 -0
- package/dist/tests/e2e/array-from-iterables.test.js +34 -0
- package/dist/tests/e2e/array-from-iterables.test.js.map +1 -0
- package/dist/tests/e2e/array-symbol-iterator.test.d.ts +8 -0
- package/dist/tests/e2e/array-symbol-iterator.test.js +42 -0
- package/dist/tests/e2e/array-symbol-iterator.test.js.map +1 -0
- package/dist/tests/e2e/async-await.test.js +1 -1
- package/dist/tests/e2e/async-fs.test.d.ts +9 -0
- package/dist/tests/e2e/async-fs.test.js +119 -0
- package/dist/tests/e2e/async-fs.test.js.map +1 -0
- package/dist/tests/e2e/async-generators.test.d.ts +1 -0
- package/dist/tests/e2e/async-generators.test.js +154 -0
- package/dist/tests/e2e/async-generators.test.js.map +1 -0
- package/dist/tests/e2e/await-ordering.test.d.ts +5 -0
- package/dist/tests/e2e/await-ordering.test.js +37 -0
- package/dist/tests/e2e/await-ordering.test.js.map +1 -0
- package/dist/tests/e2e/compile-builtins.test.js +1 -1
- package/dist/tests/e2e/compile-modules.test.js +7 -0
- package/dist/tests/e2e/compile-modules.test.js.map +1 -1
- package/dist/tests/e2e/date-parse.test.d.ts +8 -0
- package/dist/tests/e2e/date-parse.test.js +38 -0
- package/dist/tests/e2e/date-parse.test.js.map +1 -0
- package/dist/tests/e2e/default-anonymous-exports.test.d.ts +7 -0
- package/dist/tests/e2e/default-anonymous-exports.test.js +23 -0
- package/dist/tests/e2e/default-anonymous-exports.test.js.map +1 -0
- package/dist/tests/e2e/fetch.test.js +24 -0
- package/dist/tests/e2e/fetch.test.js.map +1 -1
- package/dist/tests/e2e/globals-microtask.test.d.ts +9 -0
- package/dist/tests/e2e/globals-microtask.test.js +37 -0
- package/dist/tests/e2e/globals-microtask.test.js.map +1 -0
- package/dist/tests/e2e/gui-inline-svg.test.d.ts +11 -0
- package/dist/tests/e2e/gui-inline-svg.test.js +160 -0
- package/dist/tests/e2e/gui-inline-svg.test.js.map +1 -0
- package/dist/tests/e2e/gui-media.test.js +8 -1
- package/dist/tests/e2e/gui-media.test.js.map +1 -1
- package/dist/tests/e2e/inspect-builtins.test.d.ts +10 -0
- package/dist/tests/e2e/inspect-builtins.test.js +43 -0
- package/dist/tests/e2e/inspect-builtins.test.js.map +1 -0
- package/dist/tests/e2e/json-builtin-objects.test.d.ts +9 -0
- package/dist/tests/e2e/json-builtin-objects.test.js +23 -0
- package/dist/tests/e2e/json-builtin-objects.test.js.map +1 -0
- package/dist/tests/e2e/json-circular.test.d.ts +6 -0
- package/dist/tests/e2e/json-circular.test.js +43 -0
- package/dist/tests/e2e/json-circular.test.js.map +1 -0
- package/dist/tests/e2e/json-parse-reviver.test.d.ts +6 -0
- package/dist/tests/e2e/json-parse-reviver.test.js +29 -0
- package/dist/tests/e2e/json-parse-reviver.test.js.map +1 -0
- package/dist/tests/e2e/json-stringify-replacer.test.d.ts +6 -0
- package/dist/tests/e2e/json-stringify-replacer.test.js +27 -0
- package/dist/tests/e2e/json-stringify-replacer.test.js.map +1 -0
- package/dist/tests/e2e/json-stringify-space.test.d.ts +6 -0
- package/dist/tests/e2e/json-stringify-space.test.js +23 -0
- package/dist/tests/e2e/json-stringify-space.test.js.map +1 -0
- package/dist/tests/e2e/method-dispatch-errors.test.d.ts +9 -0
- package/dist/tests/e2e/method-dispatch-errors.test.js +38 -0
- package/dist/tests/e2e/method-dispatch-errors.test.js.map +1 -0
- package/dist/tests/e2e/native-extensions.test.js +1 -1
- package/dist/tests/e2e/native-extensions.test.js.map +1 -1
- package/dist/tests/e2e/promise-with-resolvers.test.d.ts +5 -0
- package/dist/tests/e2e/promise-with-resolvers.test.js +20 -0
- package/dist/tests/e2e/promise-with-resolvers.test.js.map +1 -0
- package/dist/tests/e2e/property-descriptors.test.d.ts +5 -0
- package/dist/tests/e2e/property-descriptors.test.js +25 -0
- package/dist/tests/e2e/property-descriptors.test.js.map +1 -0
- package/dist/tests/e2e/property-ic.test.d.ts +1 -0
- package/dist/tests/e2e/property-ic.test.js +55 -0
- package/dist/tests/e2e/property-ic.test.js.map +1 -0
- package/dist/tests/e2e/runtime-errors.test.d.ts +10 -0
- package/dist/tests/e2e/runtime-errors.test.js +52 -0
- package/dist/tests/e2e/runtime-errors.test.js.map +1 -0
- package/dist/tests/e2e/structured-clone.test.d.ts +6 -0
- package/dist/tests/e2e/structured-clone.test.js +49 -0
- package/dist/tests/e2e/structured-clone.test.js.map +1 -0
- package/dist/tests/e2e/text-codec.test.d.ts +6 -0
- package/dist/tests/e2e/text-codec.test.js +24 -0
- package/dist/tests/e2e/text-codec.test.js.map +1 -0
- package/dist/tests/e2e/typed-array-views.test.d.ts +6 -0
- package/dist/tests/e2e/typed-array-views.test.js +39 -0
- package/dist/tests/e2e/typed-array-views.test.js.map +1 -0
- package/dist/tests/e2e/url-search-params.test.d.ts +5 -0
- package/dist/tests/e2e/url-search-params.test.js +30 -0
- package/dist/tests/e2e/url-search-params.test.js.map +1 -0
- package/dist/tests/e2e/weak-collections.test.d.ts +1 -0
- package/dist/tests/e2e/weak-collections.test.js +88 -0
- package/dist/tests/e2e/weak-collections.test.js.map +1 -0
- package/dist/tests/parser/declarations.test.js +12 -0
- package/dist/tests/parser/declarations.test.js.map +1 -1
- package/dist/tests/parser/module-syntax.test.js +9 -0
- package/dist/tests/parser/module-syntax.test.js.map +1 -1
- package/dist/tests/parser/parser.test.js +7 -0
- package/dist/tests/parser/parser.test.js.map +1 -1
- package/dist/tests/version.test.js +5 -1
- package/dist/tests/version.test.js.map +1 -1
- package/doc/ai/README.md +4 -3
- package/doc/ai/cli.md +41 -0
- package/doc/ai/contributing.md +20 -16
- package/doc/ai/extensions.md +13 -10
- package/doc/ai/language-support.md +19 -14
- package/doc/ai/troubleshooting.md +11 -9
- package/doc/ai/zh-CN/README.md +3 -2
- package/doc/ai/zh-CN/cli.md +35 -0
- package/doc/ai/zh-CN/contributing.md +16 -15
- package/doc/ai/zh-CN/extensions.md +12 -9
- package/doc/ai/zh-CN/language-support.md +19 -15
- package/doc/ai/zh-CN/troubleshooting.md +9 -8
- package/doc/gui/api.md +8 -0
- package/doc/gui/build.md +13 -4
- package/doc/gui/known-issues.md +19 -14
- package/doc/gui/media.md +32 -3
- package/doc/gui/rendering.md +3 -1
- package/doc/gui.md +28 -5
- package/doc/icon.md +5 -4
- package/doc/implemented/async.md +51 -0
- package/doc/implemented/binder.md +13 -0
- package/doc/implemented/cli.md +47 -0
- package/doc/implemented/codegen.md +33 -0
- package/doc/implemented/collections.md +26 -0
- package/doc/implemented/driver.md +19 -0
- package/doc/implemented/extensions.md +19 -0
- package/doc/implemented/fetch.md +44 -0
- package/doc/implemented/lexer.md +23 -0
- package/doc/implemented/modules.md +28 -0
- package/doc/implemented/node/assert.md +17 -0
- package/doc/implemented/node/buffer.md +29 -0
- package/doc/implemented/node/child-process.md +29 -0
- package/doc/implemented/node/crypto.md +9 -0
- package/doc/implemented/node/dgram.md +15 -0
- package/doc/implemented/node/events.md +37 -0
- package/doc/implemented/node/fs-promises.md +49 -0
- package/doc/implemented/node/fs.md +112 -0
- package/doc/implemented/node/http.md +21 -0
- package/doc/implemented/node/net.md +17 -0
- package/doc/implemented/node/os.md +22 -0
- package/doc/implemented/node/path.md +33 -0
- package/doc/implemented/node/process.md +23 -0
- package/doc/implemented/node/querystring.md +20 -0
- package/doc/implemented/node/stream-promises.md +8 -0
- package/doc/implemented/node/stream.md +19 -0
- package/doc/implemented/node/test.md +10 -0
- package/doc/implemented/node/url.md +8 -0
- package/doc/implemented/node/util.md +25 -0
- package/doc/implemented/node/worker-threads.md +10 -0
- package/doc/implemented/node/zlib.md +8 -0
- package/doc/implemented/node.md +48 -0
- package/doc/implemented/operators.md +38 -0
- package/doc/implemented/parser.md +58 -0
- package/doc/implemented/pipeline.md +28 -0
- package/doc/implemented/runtime-core.md +32 -0
- package/doc/implemented/stdlib.md +78 -0
- package/doc/implemented/strings.md +27 -0
- package/doc/implemented/tests.md +10 -0
- package/doc/implemented/typed-arrays.md +26 -0
- package/doc/implemented/value-model.md +18 -0
- package/doc/implemented.md +54 -355
- package/doc/node-implemented.md +3 -585
- package/doc/node-unimplemented.md +3 -164
- package/doc/requirements.md +23 -8
- package/doc/unimplemented/classes.md +22 -0
- package/doc/unimplemented/deviations.md +27 -0
- package/doc/unimplemented/expressions.md +26 -0
- package/doc/unimplemented/functions.md +21 -0
- package/doc/unimplemented/modules.md +22 -0
- package/doc/unimplemented/node/async.md +20 -0
- package/doc/unimplemented/node/bun.md +9 -0
- package/doc/unimplemented/node/fs-promises.md +20 -0
- package/doc/unimplemented/node/fs.md +30 -0
- package/doc/unimplemented/node/globals.md +23 -0
- package/doc/unimplemented/node/modules.md +21 -0
- package/doc/unimplemented/node.md +21 -0
- package/doc/unimplemented/statements.md +18 -0
- package/doc/unimplemented/stdlib.md +54 -0
- package/doc/unimplemented/toolchain.md +14 -0
- package/doc/unimplemented/types.md +12 -0
- package/doc/unimplemented.md +18 -275
- package/doc/xbintsc.config.schema.json +12 -0
- package/doc/zh-CN/gui/api.md +7 -0
- package/doc/zh-CN/gui/build.md +11 -3
- package/doc/zh-CN/gui/known-issues.md +17 -11
- package/doc/zh-CN/gui/media.md +26 -2
- package/doc/zh-CN/gui/rendering.md +2 -1
- package/doc/zh-CN/gui.md +21 -3
- package/doc/zh-CN/icon.md +5 -4
- package/doc/zh-CN/implemented/async.md +49 -0
- package/doc/zh-CN/implemented/binder.md +13 -0
- package/doc/zh-CN/implemented/cli.md +46 -0
- package/doc/zh-CN/implemented/codegen.md +33 -0
- package/doc/zh-CN/implemented/collections.md +26 -0
- package/doc/zh-CN/implemented/driver.md +19 -0
- package/doc/zh-CN/implemented/extensions.md +19 -0
- package/doc/zh-CN/implemented/fetch.md +31 -0
- package/doc/zh-CN/implemented/lexer.md +23 -0
- package/doc/zh-CN/implemented/modules.md +28 -0
- package/doc/zh-CN/implemented/node/assert.md +17 -0
- package/doc/zh-CN/implemented/node/buffer.md +25 -0
- package/doc/zh-CN/implemented/node/child-process.md +27 -0
- package/doc/zh-CN/implemented/node/crypto.md +9 -0
- package/doc/zh-CN/implemented/node/dgram.md +15 -0
- package/doc/zh-CN/implemented/node/events.md +36 -0
- package/doc/zh-CN/implemented/node/fs-promises.md +30 -0
- package/doc/zh-CN/implemented/node/fs.md +105 -0
- package/doc/zh-CN/implemented/node/http.md +17 -0
- package/doc/zh-CN/implemented/node/net.md +17 -0
- package/doc/zh-CN/implemented/node/os.md +21 -0
- package/doc/zh-CN/implemented/node/path.md +26 -0
- package/doc/zh-CN/implemented/node/process.md +23 -0
- package/doc/zh-CN/implemented/node/querystring.md +20 -0
- package/doc/zh-CN/implemented/node/stream-promises.md +8 -0
- package/doc/zh-CN/implemented/node/stream.md +15 -0
- package/doc/zh-CN/implemented/node/test.md +10 -0
- package/doc/zh-CN/implemented/node/url.md +8 -0
- package/doc/zh-CN/implemented/node/util.md +25 -0
- package/doc/zh-CN/implemented/node/worker-threads.md +9 -0
- package/doc/zh-CN/implemented/node/zlib.md +8 -0
- package/doc/zh-CN/implemented/node.md +45 -0
- package/doc/zh-CN/implemented/operators.md +38 -0
- package/doc/zh-CN/implemented/parser.md +58 -0
- package/doc/zh-CN/implemented/pipeline.md +25 -0
- package/doc/zh-CN/implemented/runtime-core.md +31 -0
- package/doc/zh-CN/implemented/stdlib.md +76 -0
- package/doc/zh-CN/implemented/strings.md +27 -0
- package/doc/zh-CN/implemented/tests.md +10 -0
- package/doc/zh-CN/implemented/typed-arrays.md +26 -0
- package/doc/zh-CN/implemented/value-model.md +18 -0
- package/doc/zh-CN/implemented.md +50 -350
- package/doc/zh-CN/node-implemented.md +4 -531
- package/doc/zh-CN/node-unimplemented.md +4 -139
- package/doc/zh-CN/plan-require-node-modules.md +4 -4
- package/doc/zh-CN/requirements.md +20 -6
- package/doc/zh-CN/unimplemented/classes.md +22 -0
- package/doc/zh-CN/unimplemented/deviations.md +24 -0
- package/doc/zh-CN/unimplemented/expressions.md +24 -0
- package/doc/zh-CN/unimplemented/functions.md +21 -0
- package/doc/zh-CN/unimplemented/modules.md +19 -0
- package/doc/zh-CN/unimplemented/node/async.md +20 -0
- package/doc/zh-CN/unimplemented/node/bun.md +8 -0
- package/doc/zh-CN/unimplemented/node/fs-promises.md +12 -0
- package/doc/zh-CN/unimplemented/node/fs.md +24 -0
- package/doc/zh-CN/unimplemented/node/globals.md +14 -0
- package/doc/zh-CN/unimplemented/node/modules.md +15 -0
- package/doc/zh-CN/unimplemented/node.md +18 -0
- package/doc/zh-CN/unimplemented/statements.md +15 -0
- package/doc/zh-CN/unimplemented/stdlib.md +54 -0
- package/doc/zh-CN/unimplemented/toolchain.md +14 -0
- package/doc/zh-CN/unimplemented/types.md +11 -0
- package/doc/zh-CN/unimplemented.md +14 -237
- package/llms.txt +32 -4
- package/package.json +1 -1
- package/runtime/ext_gui/inline_svg.cpp +219 -0
- package/runtime/ext_gui/inline_svg.h +41 -0
- package/runtime/ext_gui/layout.cpp +18 -0
- package/runtime/ext_gui/layout.h +7 -0
- package/runtime/ext_gui/layout_flow.cpp +4 -3
- package/runtime/ext_gui/paint.cpp +14 -0
- package/runtime/ext_gui/paint.h +5 -1
- package/runtime/ext_gui/renderer_image.cpp +53 -25
- package/runtime/ext_gui/renderer_shaders.h +2 -2
- package/runtime/ext_gui/stb_image.h +1 -17
- package/runtime/ext_gui/style_ua.cpp +3 -0
- package/runtime/ext_gui/svg.cpp +122 -39
- package/runtime/ext_gui/svg.h +14 -3
- package/runtime/ext_gui/window.cpp +28 -0
- package/runtime/ext_node/child_process/child_process.c +173 -73
- package/runtime/ext_node/fs/async_api.c +314 -0
- package/runtime/ext_node/fs/async_complete.c +99 -0
- package/runtime/ext_node/fs/async_fh.c +206 -0
- package/runtime/ext_node/fs/async_job.c +81 -0
- package/runtime/ext_node/fs/async_job.h +132 -0
- package/runtime/ext_node/fs/async_worker.c +534 -0
- package/runtime/ext_node/fs/async_worker_dir.c +439 -0
- package/runtime/ext_node/fs/async_worker_dir.h +33 -0
- package/runtime/ext_node/fs/async_worker_fd.c +74 -0
- package/runtime/ext_node/fs/dir.c +60 -15
- package/runtime/ext_node/fs/fs_common.h +9 -0
- package/runtime/ext_node/fs/fs_ops.c +18 -29
- package/runtime/ext_node/fs/parts/builtins.inc +34 -0
- package/runtime/ext_node/fs/parts/platform.inc +66 -0
- package/runtime/ext_node/fs/promises.c +44 -234
- package/runtime/rt.h +15 -0
- package/runtime/rt_internal.h +108 -0
- package/runtime/xt_alloc.c +43 -7
- package/runtime/xt_array_buffer.c +284 -0
- package/runtime/xt_async.c +46 -21
- package/runtime/xt_async_io.c +333 -0
- package/runtime/xt_async_io.h +47 -0
- package/runtime/xt_bigint/helpers.inc +3 -3
- package/runtime/xt_builtins.c +21 -17
- package/runtime/xt_constructors.c +12 -2
- package/runtime/xt_containers/access.inc +148 -3
- package/runtime/xt_containers/objects.inc +26 -2
- package/runtime/xt_containers/shapes.inc +71 -0
- package/runtime/xt_containers.c +1 -0
- package/runtime/xt_coroutine.c +17 -0
- package/runtime/xt_fetch/async.inc +295 -0
- package/runtime/xt_fetch/request.inc +6 -183
- package/runtime/xt_fetch/socket.inc +5 -4
- package/runtime/xt_fetch.c +6 -4
- package/runtime/xt_generator.c +299 -10
- package/runtime/xt_io/inspect.inc +112 -0
- package/runtime/xt_loop.c +79 -7
- package/runtime/xt_performance.c +37 -0
- package/runtime/xt_promise.c +63 -1
- package/runtime/xt_stdlib/arrays.inc +1 -1
- package/runtime/xt_stdlib/dispatch.inc +46 -11
- package/runtime/xt_stdlib/strings.inc +1 -1
- package/runtime/xt_stdlib2/array-statics.inc +25 -0
- package/runtime/xt_stdlib2/arrays.inc +5 -3
- package/runtime/xt_stdlib2/container.inc +5 -0
- package/runtime/xt_stdlib2/date.inc +111 -3
- package/runtime/xt_stdlib2/error.inc +24 -0
- package/runtime/xt_stdlib2/json.inc +310 -19
- package/runtime/xt_stdlib2/number-string-statics.inc +1 -1
- package/runtime/xt_stdlib2/objects.inc +122 -0
- package/runtime/xt_stdlib2/set.inc +1 -1
- package/runtime/xt_structured_clone.c +159 -0
- package/runtime/xt_symbol.c +2 -2
- package/runtime/xt_text_codec.c +69 -0
- package/runtime/xt_typed_array/construction.inc +35 -5
- package/runtime/xt_typed_array/elements.inc +159 -0
- package/runtime/xt_typed_array/methods.inc +21 -5
- package/runtime/xt_typed_array.c +7 -10
- package/runtime/xt_url.c +375 -0
- package/runtime/xt_values/arithmetic.inc +2 -2
- package/runtime/xt_values/conversions.inc +1 -1
- package/runtime/xt_weak.c +281 -0
- package/scripts/build-gui.ts +133 -60
- package/scripts/check-version.ts +3 -3
- package/src/binder/declarations.ts +14 -3
- package/src/cli/hints.ts +8 -1
- package/src/cli/main.ts +119 -18
- package/src/cli/watch.ts +101 -0
- package/src/codegen/generator/calls/access.ts +10 -2
- package/src/codegen/generator/calls/closures.ts +12 -4
- package/src/codegen/generator/context.ts +23 -3
- package/src/codegen/generator/expressions/operators.ts +27 -13
- package/src/codegen/generator/expressions/primary.ts +4 -0
- package/src/codegen/generator/module.ts +0 -7
- package/src/codegen/generator/numeric.ts +85 -11
- package/src/codegen/generator/state.ts +23 -0
- package/src/codegen/generator/statements/control-flow.ts +1 -4
- package/src/codegen/generator/statements/loops.ts +50 -16
- package/src/codegen/generator/tables.ts +26 -1
- package/src/diagnostics/diagnostic.ts +23 -3
- package/src/driver/app-artifacts.ts +77 -0
- package/src/driver/build-key.ts +55 -0
- package/src/driver/bundler/graph.ts +63 -13
- package/src/driver/bundler/merge.ts +4 -1
- package/src/driver/compiler.ts +94 -328
- package/src/driver/config.ts +11 -0
- package/src/driver/frontend.ts +120 -0
- package/src/driver/index.ts +0 -1
- package/src/driver/options.ts +70 -0
- package/src/driver/runtime-objects.ts +134 -0
- package/src/driver/toolchain-provider.ts +4 -0
- package/src/driver/toolchain.ts +154 -10
- package/src/driver/version.ts +12 -0
- package/src/driver/win-icon.ts +36 -36
- package/src/extensions/node/fs/index.ts +12 -3
- package/src/extensions/node/fs-promises/index.ts +15 -6
- package/src/parser/declarations/classes.ts +4 -0
- package/src/parser/declarations/functions.ts +12 -1
- package/src/parser/modules.ts +8 -4
- package/src/parser/parser.ts +28 -0
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* testable: unit tests can pass a fake `Runner` and never touch the host.
|
|
6
6
|
*/
|
|
7
7
|
import { spawnSync } from "node:child_process";
|
|
8
|
-
import { existsSync } from "node:fs";
|
|
9
|
-
import { join } from "node:path";
|
|
8
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
9
|
+
import { dirname, join } from "node:path";
|
|
10
10
|
export const realRunner = {
|
|
11
11
|
run(command, args, options = {}) {
|
|
12
12
|
const spawnOptions = {
|
|
@@ -55,6 +55,20 @@ export function parseClangVersion(output) {
|
|
|
55
55
|
return undefined;
|
|
56
56
|
return { major: Number(match[1]), minor: Number(match[2]), patch: Number(match[3]) };
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Extract the `Target:` triple from `clang --version` output. Windows builds
|
|
60
|
+
* must target the MSVC ABI; clang built for a GNU/Windows or other triple emits
|
|
61
|
+
* objects that cannot be linked into an xbintsc executable (see
|
|
62
|
+
* {@link isMsvcTarget}).
|
|
63
|
+
*/
|
|
64
|
+
export function parseClangTarget(output) {
|
|
65
|
+
const match = /^\s*Target:\s*(\S+)/m.exec(output);
|
|
66
|
+
return match?.[1];
|
|
67
|
+
}
|
|
68
|
+
/** True when a clang target triple uses the MSVC ABI on Windows. */
|
|
69
|
+
export function isMsvcTarget(target) {
|
|
70
|
+
return /-windows-msvc/i.test(target);
|
|
71
|
+
}
|
|
58
72
|
function firstLineOf(text) {
|
|
59
73
|
const end = text.indexOf("\n");
|
|
60
74
|
return (end === -1 ? text : text.slice(0, end)).trim();
|
|
@@ -65,10 +79,12 @@ export function probeClang(runner, command, env) {
|
|
|
65
79
|
const result = runner.run(command, ["--version"], env ? { env } : undefined);
|
|
66
80
|
const output = `${result.stdout}\n${result.stderr}`;
|
|
67
81
|
const version = parseClangVersion(output);
|
|
82
|
+
const target = parseClangTarget(output);
|
|
68
83
|
return {
|
|
69
84
|
command,
|
|
70
85
|
responds: result.status === 0,
|
|
71
86
|
...(version ? { version } : {}),
|
|
87
|
+
...(target ? { target } : {}),
|
|
72
88
|
summary: firstLineOf(result.stdout) || firstLineOf(result.stderr),
|
|
73
89
|
};
|
|
74
90
|
}
|
|
@@ -118,20 +134,43 @@ function tooOldError(probe) {
|
|
|
118
134
|
"Install a newer LLVM/clang (on Windows, the one bundled with Visual Studio works) or set " +
|
|
119
135
|
`xbintsc_CLANG to a clang ${MINIMUM_CLANG_MAJOR}+ binary.`);
|
|
120
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Windows links against the MSVC ABI, so a clang built for another Windows ABI
|
|
139
|
+
* (or for a different OS) cannot be used: its objects would not link with the
|
|
140
|
+
* MSVC runtime. This turns that mismatch into an actionable error instead of a
|
|
141
|
+
* wall of unresolved symbols.
|
|
142
|
+
*/
|
|
143
|
+
function wrongTargetError(probe) {
|
|
144
|
+
return new ToolchainError("clang --version", 1, `${probe.command} targets ${probe.target}, but xbintsc on Windows requires a clang whose default ` +
|
|
145
|
+
"target is the MSVC ABI (for example x86_64-pc-windows-msvc).\n" +
|
|
146
|
+
"Install the Visual Studio C++ build tools and use the LLVM bundled with Visual Studio " +
|
|
147
|
+
"(VC\\Tools\\Llvm\\<arch>\\bin\\clang.exe), or set xbintsc_CLANG to an MSVC-targeting clang.");
|
|
148
|
+
}
|
|
149
|
+
function hasWrongWindowsTarget(probe) {
|
|
150
|
+
return process.platform === "win32" && probe.target !== undefined && !isMsvcTarget(probe.target);
|
|
151
|
+
}
|
|
121
152
|
function noCompilerError(tried) {
|
|
122
153
|
const responded = tried.filter((probe) => probe.responds);
|
|
123
154
|
const details = responded.map((probe) => {
|
|
124
155
|
const version = probe.version
|
|
125
156
|
? `clang ${probe.version.major}.${probe.version.minor}.${probe.version.patch}`
|
|
126
157
|
: probe.summary || "unknown version";
|
|
127
|
-
|
|
158
|
+
const target = probe.target ? ` (target ${probe.target})` : "";
|
|
159
|
+
return ` ${probe.command}: ${version}${target}`;
|
|
128
160
|
});
|
|
161
|
+
const wrongTarget = responded.some(hasWrongWindowsTarget);
|
|
129
162
|
const tooOld = responded.some((probe) => probe.version !== undefined && probe.version.major < MINIMUM_CLANG_MAJOR);
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
163
|
+
const reasons = [];
|
|
164
|
+
if (tooOld) {
|
|
165
|
+
reasons.push(`Only clang older than ${MINIMUM_CLANG_MAJOR} was found; xbintsc requires clang ${MINIMUM_CLANG_MAJOR}+ ` +
|
|
166
|
+
"(the emitted LLVM IR uses opaque pointers).");
|
|
167
|
+
}
|
|
168
|
+
if (wrongTarget) {
|
|
169
|
+
reasons.push("Only clang targeting a non-MSVC Windows ABI was found; the Windows build links against the MSVC ABI.");
|
|
170
|
+
}
|
|
171
|
+
if (reasons.length === 0)
|
|
172
|
+
reasons.push(`No clang ${MINIMUM_CLANG_MAJOR}+ was found.`);
|
|
173
|
+
return new ToolchainError("clang --version", 1, [...reasons, ...(details.length > 0 ? ["Tested:", ...details] : []), "Set xbintsc_CLANG to a clang binary."].join("\n"));
|
|
135
174
|
}
|
|
136
175
|
/**
|
|
137
176
|
* Resolve the compiler to use, version-checked.
|
|
@@ -149,6 +188,8 @@ export function locateClang(runner = realRunner) {
|
|
|
149
188
|
if (explicit) {
|
|
150
189
|
const probe = probeClang(runner, explicit);
|
|
151
190
|
if (probe.responds) {
|
|
191
|
+
if (hasWrongWindowsTarget(probe))
|
|
192
|
+
throw wrongTargetError(probe);
|
|
152
193
|
if (probe.version && probe.version.major < MINIMUM_CLANG_MAJOR)
|
|
153
194
|
throw tooOldError(probe);
|
|
154
195
|
return { command: explicit, source: "env", ...(probe.version ? { version: probe.version } : {}) };
|
|
@@ -160,6 +201,8 @@ export function locateClang(runner = realRunner) {
|
|
|
160
201
|
tried.push(probe);
|
|
161
202
|
if (!probe.responds || !probe.version)
|
|
162
203
|
continue;
|
|
204
|
+
if (hasWrongWindowsTarget(probe))
|
|
205
|
+
continue;
|
|
163
206
|
if (probe.version.major < MINIMUM_CLANG_MAJOR)
|
|
164
207
|
continue;
|
|
165
208
|
return { command, source: "system", version: probe.version };
|
|
@@ -170,6 +213,17 @@ export function locateClang(runner = realRunner) {
|
|
|
170
213
|
export function findClang(runner = realRunner) {
|
|
171
214
|
return locateClang(runner).command;
|
|
172
215
|
}
|
|
216
|
+
/** clang flags for LTO and the selected PGO stage. */
|
|
217
|
+
export function optimizationFlags(lto, pgo, pgoDir) {
|
|
218
|
+
const flags = [];
|
|
219
|
+
if (lto)
|
|
220
|
+
flags.push("-flto");
|
|
221
|
+
if (pgo === "generate")
|
|
222
|
+
flags.push(`-fprofile-generate=${pgoDir ?? "pgo"}`);
|
|
223
|
+
else if (pgo === "use")
|
|
224
|
+
flags.push(`-fprofile-use=${pgoDir ?? "pgo"}`);
|
|
225
|
+
return flags;
|
|
226
|
+
}
|
|
173
227
|
/**
|
|
174
228
|
* One function/data item per section so the linker can drop everything a
|
|
175
229
|
* program never references. This is what `--gc-sections` / `-dead_strip` need;
|
|
@@ -179,7 +233,17 @@ const SECTION_FLAGS = ["-ffunction-sections", "-fdata-sections"];
|
|
|
179
233
|
/** Compile an LLVM IR file to a native object file. */
|
|
180
234
|
export function compileIr(runner, options) {
|
|
181
235
|
const debugFlags = options.debug ? ["-g", "-fno-omit-frame-pointer"] : [];
|
|
182
|
-
const
|
|
236
|
+
const profileFlags = optimizationFlags(options.lto, options.pgo, options.pgoDir);
|
|
237
|
+
const result = runner.run(options.clang, [
|
|
238
|
+
`-O${options.optimize}`,
|
|
239
|
+
...SECTION_FLAGS,
|
|
240
|
+
...debugFlags,
|
|
241
|
+
...profileFlags,
|
|
242
|
+
"-c",
|
|
243
|
+
options.irPath,
|
|
244
|
+
"-o",
|
|
245
|
+
options.objectPath,
|
|
246
|
+
], { env: options.env });
|
|
183
247
|
if (result.status !== 0)
|
|
184
248
|
throw new ToolchainError(`${options.clang} ${options.irPath}`, result.status, result.stderr);
|
|
185
249
|
}
|
|
@@ -192,8 +256,14 @@ function deadStripFlag() {
|
|
|
192
256
|
return ["-Wl,--gc-sections"];
|
|
193
257
|
}
|
|
194
258
|
export function link(runner, options) {
|
|
259
|
+
const profileFlags = optimizationFlags(options.lto, options.pgo, options.pgoDir);
|
|
195
260
|
const args = [
|
|
196
261
|
`-O${options.optimize}`,
|
|
262
|
+
...profileFlags,
|
|
263
|
+
/* LTO bitcode needs a linker with an LTO plugin. lld ships with LLVM and
|
|
264
|
+
* understands both ELF/Mach-O and COFF; without it MSVC link.exe rejects
|
|
265
|
+
* the bitcode object on Windows. */
|
|
266
|
+
...(options.lto ? ["-fuse-ld=lld"] : []),
|
|
197
267
|
...options.objectPaths,
|
|
198
268
|
"-o",
|
|
199
269
|
options.outputPath,
|
|
@@ -217,9 +287,43 @@ export const RUNTIME_CFLAGS = [
|
|
|
217
287
|
...SECTION_FLAGS,
|
|
218
288
|
];
|
|
219
289
|
/** Compile a C source to an object file (used for the runtime and extensions). */
|
|
220
|
-
export function compileC(runner, clang, sourcePath, objectPath, includeDir, env) {
|
|
221
|
-
const result = runner.run(clang, [...RUNTIME_CFLAGS, "-c", sourcePath, "-o", objectPath, `-I${includeDir}`], { env });
|
|
290
|
+
export function compileC(runner, clang, sourcePath, objectPath, includeDir, env, extraFlags = []) {
|
|
291
|
+
const result = runner.run(clang, [...RUNTIME_CFLAGS, ...extraFlags, "-c", sourcePath, "-o", objectPath, `-I${includeDir}`], { env });
|
|
222
292
|
if (result.status !== 0)
|
|
223
293
|
throw new ToolchainError(`${clang} ${sourcePath}`, result.status, result.stderr);
|
|
224
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Merge the `.profraw` files written by an instrumented binary into the
|
|
297
|
+
* `default.profdata` that `-fprofile-use=<dir>` expects. Clang's `-fprofile-use`
|
|
298
|
+
* does not read raw profiles directly; this runs `llvm-profdata merge`.
|
|
299
|
+
*
|
|
300
|
+
* `xbintsc_LLVM_PROFDATA` selects the tool when it is not on `PATH`.
|
|
301
|
+
*/
|
|
302
|
+
export function mergeProfileData(runner, directory, clang, env) {
|
|
303
|
+
const profdata = join(directory, "default.profdata");
|
|
304
|
+
if (existsSync(profdata))
|
|
305
|
+
return;
|
|
306
|
+
let raw;
|
|
307
|
+
try {
|
|
308
|
+
raw = readdirSync(directory)
|
|
309
|
+
.filter((name) => name.endsWith(".profraw"))
|
|
310
|
+
.map((name) => join(directory, name));
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
raw = [];
|
|
314
|
+
}
|
|
315
|
+
if (raw.length === 0) {
|
|
316
|
+
throw new ToolchainError("llvm-profdata merge", 1, `no .profraw files found in ${directory}; run the --pgo-generate binary before --pgo-use.`);
|
|
317
|
+
}
|
|
318
|
+
/* Prefer the llvm-profdata shipped next to clang: a system-wide copy from a
|
|
319
|
+
* different LLVM version rejects newer raw profile formats. */
|
|
320
|
+
const suffix = process.platform === "win32" ? ".exe" : "";
|
|
321
|
+
const adjacent = join(dirname(clang), `llvm-profdata${suffix}`);
|
|
322
|
+
const tool = process.env.xbintsc_LLVM_PROFDATA ??
|
|
323
|
+
(existsSync(adjacent) ? adjacent : "llvm-profdata");
|
|
324
|
+
const result = runner.run(tool, ["merge", "-o", profdata, ...raw], env ? { env } : undefined);
|
|
325
|
+
if (result.status !== 0) {
|
|
326
|
+
throw new ToolchainError(`${tool} merge`, result.status, `${result.stderr}\nInstall LLVM's llvm-profdata or set xbintsc_LLVM_PROFDATA to it.`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
225
329
|
//# sourceMappingURL=toolchain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../src/driver/toolchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE;QAC7B,MAAM,YAAY,GAAqB;YACrC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC;QACF,IAAI,OAAO,CAAC,GAAG;YAAE,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,MAAM,CAAS;IACxB,YAAY,OAAe,EAAE,MAAc,EAAE,MAAc;QACzD,KAAK,CAAC,mBAAmB,MAAM,MAAM,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAyBtC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,OAAe,EACf,GAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;SAClE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B;IAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;SACjG,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBACtD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,qBAAqB;IACnC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,mBAAmB,EAAE,KAAK,EAAE;QAAE,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IAC9F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,CAAC,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IACzE,OAAO,IAAI,cAAc,CACvB,iBAAiB,EACjB,CAAC,EACD,GAAG,KAAK,CAAC,OAAO,YAAY,KAAK,gCAAgC,mBAAmB,YAAY;QAC9F,+CAA+C;QAC/C,2FAA2F;QAC3F,4BAA4B,mBAAmB,WAAW,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA4B;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;YAC3B,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;YAC9E,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,iBAAiB,CAAC;QACvC,OAAO,KAAK,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC,yBAAyB,mBAAmB,sCAAsC,mBAAmB,IAAI;YACzG,6CAA6C;QAC/C,CAAC,CAAC,YAAY,mBAAmB,cAAc,CAAC;IAClD,OAAO,IAAI,cAAc,CACvB,iBAAiB,EACjB,CAAC,EACD,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,sCAAsC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpH,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,UAAU;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC5E,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,mBAAmB;gBAAE,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACzF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,SAAS;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,mBAAmB;YAAE,SAAS;QACxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,SAAS,CAAC,SAAiB,UAAU;IACnD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;AACrC,CAAC;AAYD;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AAEjE,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,OAAyB;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CACvB,OAAO,CAAC,KAAK,EACb,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAC1G,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CACrB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACxH,CAAC;AAWD,0FAA0F;AAC1F,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC,CAAC,qCAAqC;IAClF,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,MAAc,EAAE,OAAoB;IACvD,MAAM,IAAI,GAAG;QACX,KAAK,OAAO,CAAC,QAAQ,EAAE;QACvB,GAAG,OAAO,CAAC,WAAW;QACtB,IAAI;QACJ,OAAO,CAAC,UAAU;QAClB,GAAG,aAAa,EAAE;QAClB,GAAG,OAAO,CAAC,WAAW;KACvB,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3G,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK;IACL,OAAO;IACP,SAAS;IACT,2BAA2B;IAC3B,GAAG,aAAa;CACR,CAAC;AAEX,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,KAAa,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,GAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CACvB,KAAK,EACL,CAAC,GAAG,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC,EAC1E,EAAE,GAAG,EAAE,CACR,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,KAAK,IAAI,UAAU,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5G,CAAC"}
|
|
1
|
+
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../src/driver/toolchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compiler's own version.
|
|
3
|
+
*
|
|
4
|
+
* It is part of the incremental cache key, so it must be bumped for every
|
|
5
|
+
* release (a test enforces that it matches `package.json`); a stale version
|
|
6
|
+
* would let an upgraded compiler reuse binaries produced by the previous one.
|
|
7
|
+
*
|
|
8
|
+
* Keep this constant in its own module: the pre-commit hook bumps it on
|
|
9
|
+
* `main`/`master` only (see `.githooks/pre-commit`), so feature branches never
|
|
10
|
+
* change this line and merging two of them cannot conflict here.
|
|
11
|
+
*/
|
|
12
|
+
export declare const COMPILER_VERSION = "0.5.21";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compiler's own version.
|
|
3
|
+
*
|
|
4
|
+
* It is part of the incremental cache key, so it must be bumped for every
|
|
5
|
+
* release (a test enforces that it matches `package.json`); a stale version
|
|
6
|
+
* would let an upgraded compiler reuse binaries produced by the previous one.
|
|
7
|
+
*
|
|
8
|
+
* Keep this constant in its own module: the pre-commit hook bumps it on
|
|
9
|
+
* `main`/`master` only (see `.githooks/pre-commit`), so feature branches never
|
|
10
|
+
* change this line and merging two of them cannot conflict here.
|
|
11
|
+
*/
|
|
12
|
+
export const COMPILER_VERSION = "0.5.21";
|
|
13
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/driver/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC"}
|
|
@@ -4,24 +4,22 @@
|
|
|
4
4
|
* Windows reads the application icon from a resource section in the `.exe`, so
|
|
5
5
|
* an embedded blob is not enough: the icon is wrapped in a `.rc` script and
|
|
6
6
|
* compiled to a resource object that is linked into the executable. `llvm-rc`
|
|
7
|
-
* (shipping with clang
|
|
8
|
-
*
|
|
9
|
-
* instead of failing the build.
|
|
7
|
+
* (shipping with LLVM/clang, and next to the clang xbintsc resolves) produces
|
|
8
|
+
* the MSVC-compatible `.res` object the linker expects.
|
|
10
9
|
*/
|
|
11
10
|
import { type IconInfo } from "./icon.js";
|
|
12
11
|
import type { Runner } from "./toolchain.js";
|
|
13
|
-
export type ResourceCompilerKind = "llvm-rc" | "windres";
|
|
14
12
|
export interface ResourceCompiler {
|
|
15
13
|
readonly tool: string;
|
|
16
|
-
readonly kind: ResourceCompilerKind;
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
|
-
* Locate
|
|
20
|
-
*
|
|
16
|
+
* Locate `llvm-rc`. `xbintsc_RC` wins, then `llvm-rc` next to the resolved
|
|
17
|
+
* clang, then `llvm-rc` on `PATH`. Returns `undefined` when none exists; the
|
|
18
|
+
* caller then builds without the embedded icon.
|
|
21
19
|
*/
|
|
22
20
|
export declare function resolveResourceCompiler(runner: Runner, clang: string): ResourceCompiler | undefined;
|
|
23
21
|
/**
|
|
24
|
-
* Compile the icon into a linkable PE resource object (`.res
|
|
25
|
-
*
|
|
22
|
+
* Compile the icon into a linkable PE resource object (`.res`, cached by
|
|
23
|
+
* contents).
|
|
26
24
|
*/
|
|
27
25
|
export declare function ensureWindowsIconResource(runner: Runner, cacheDir: string, icon: IconInfo, compiler: ResourceCompiler, env?: Record<string, string>): string;
|
|
@@ -4,63 +4,68 @@
|
|
|
4
4
|
* Windows reads the application icon from a resource section in the `.exe`, so
|
|
5
5
|
* an embedded blob is not enough: the icon is wrapped in a `.rc` script and
|
|
6
6
|
* compiled to a resource object that is linked into the executable. `llvm-rc`
|
|
7
|
-
* (shipping with clang
|
|
8
|
-
*
|
|
9
|
-
* instead of failing the build.
|
|
7
|
+
* (shipping with LLVM/clang, and next to the clang xbintsc resolves) produces
|
|
8
|
+
* the MSVC-compatible `.res` object the linker expects.
|
|
10
9
|
*/
|
|
11
10
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
12
11
|
import { dirname, join } from "node:path";
|
|
13
12
|
import { hashParts } from "./cache.js";
|
|
14
13
|
import { IconError, toIcoBytes } from "./icon.js";
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* Probe `llvm-rc`.
|
|
16
|
+
*
|
|
17
|
+
* It has no `--version` flag: any invocation that is not a valid conversion
|
|
18
|
+
* exits non-zero, but a usage-only run (`/?`) prints the tool name, which is
|
|
19
|
+
* what identifies it. Treat a usage banner as success so a real `llvm-rc`
|
|
20
|
+
* installed next to clang is not skipped.
|
|
21
|
+
*/
|
|
22
|
+
function isLlvmRc(runner, tool) {
|
|
23
|
+
try {
|
|
24
|
+
const result = runner.run(tool, ["/?"]);
|
|
25
|
+
if (result.status === 0)
|
|
26
|
+
return true;
|
|
27
|
+
return /LLVM Resource Converter/i.test(result.stdout + result.stderr);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Locate `llvm-rc`. `xbintsc_RC` wins, then `llvm-rc` next to the resolved
|
|
35
|
+
* clang, then `llvm-rc` on `PATH`. Returns `undefined` when none exists; the
|
|
36
|
+
* caller then builds without the embedded icon.
|
|
18
37
|
*/
|
|
19
38
|
export function resolveResourceCompiler(runner, clang) {
|
|
20
39
|
const exe = process.platform === "win32" ? ".exe" : "";
|
|
21
40
|
// An explicit override is trusted: probe it and fall back rather than
|
|
22
41
|
// rejecting it on a path prefix check (it may be a bare command on PATH).
|
|
23
42
|
const override = process.env.xbintsc_RC;
|
|
24
|
-
if (override)
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
if (runner.run(override, ["--version"]).status === 0)
|
|
28
|
-
return { tool: override, kind };
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// Fall through to the discovered compilers.
|
|
32
|
-
}
|
|
33
|
-
}
|
|
43
|
+
if (override && isLlvmRc(runner, override))
|
|
44
|
+
return { tool: override };
|
|
34
45
|
const candidates = [];
|
|
35
46
|
if (clang && (clang.includes("/") || clang.includes("\\"))) {
|
|
36
|
-
candidates.push(
|
|
47
|
+
candidates.push(join(dirname(clang), `llvm-rc${exe}`));
|
|
37
48
|
}
|
|
38
|
-
candidates.push(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if ((candidate.tool.includes("/") || candidate.tool.includes("\\")) && !existsSync(candidate.tool))
|
|
49
|
+
candidates.push(`llvm-rc${exe}`);
|
|
50
|
+
for (const tool of candidates) {
|
|
51
|
+
if ((tool.includes("/") || tool.includes("\\")) && !existsSync(tool))
|
|
42
52
|
continue;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return candidate;
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
// Not runnable; try the next candidate.
|
|
49
|
-
}
|
|
53
|
+
if (isLlvmRc(runner, tool))
|
|
54
|
+
return { tool };
|
|
50
55
|
}
|
|
51
56
|
return undefined;
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
|
-
* Compile the icon into a linkable PE resource object (`.res
|
|
55
|
-
*
|
|
59
|
+
* Compile the icon into a linkable PE resource object (`.res`, cached by
|
|
60
|
+
* contents).
|
|
56
61
|
*/
|
|
57
62
|
export function ensureWindowsIconResource(runner, cacheDir, icon, compiler, env) {
|
|
58
63
|
const icoBytes = toIcoBytes(icon);
|
|
59
|
-
const key = hashParts(["icon-res",
|
|
64
|
+
const key = hashParts(["icon-res", Buffer.from(icoBytes).toString("base64")]);
|
|
60
65
|
const icoName = `icon-${key}.ico`;
|
|
61
66
|
const icoPath = join(cacheDir, icoName);
|
|
62
67
|
const rcPath = join(cacheDir, `icon-${key}.rc`);
|
|
63
|
-
const objectPath = join(cacheDir, `icon-${key}
|
|
68
|
+
const objectPath = join(cacheDir, `icon-${key}.res`);
|
|
64
69
|
if (existsSync(objectPath))
|
|
65
70
|
return objectPath;
|
|
66
71
|
mkdirSync(cacheDir, { recursive: true });
|
|
@@ -68,10 +73,7 @@ export function ensureWindowsIconResource(runner, cacheDir, icon, compiler, env)
|
|
|
68
73
|
// The .rc references the .ico by name; the compiler runs with `cacheDir` as
|
|
69
74
|
// its working directory so the relative path resolves.
|
|
70
75
|
writeFileSync(rcPath, `1 ICON "${icoName}"\n`);
|
|
71
|
-
const
|
|
72
|
-
? [rcPath, "-O", "coff", "-o", objectPath]
|
|
73
|
-
: ["/fo", objectPath, rcPath];
|
|
74
|
-
const result = runner.run(compiler.tool, args, { cwd: cacheDir, env });
|
|
76
|
+
const result = runner.run(compiler.tool, ["/fo", objectPath, rcPath], { cwd: cacheDir, env });
|
|
75
77
|
if (result.status !== 0 || !existsSync(objectPath)) {
|
|
76
78
|
throw new IconError(`Failed to compile the Windows icon resource with ${compiler.tool}:\n${result.stderr || result.stdout}`);
|
|
77
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"win-icon.js","sourceRoot":"","sources":["../../../src/driver/win-icon.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"win-icon.js","sourceRoot":"","sources":["../../../src/driver/win-icon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node's `fs` module: synchronous file and directory operations backed by
|
|
3
|
-
* `runtime/ext_node/fs
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* `runtime/ext_node/fs`, plus the `fs.promises` namespace (implemented in
|
|
4
|
+
* `async_*.c` on top of the asynchronous I/O pool). The callback-style
|
|
5
|
+
* `readFile`/`writeFile` forms are not supported; `*Sync` and `fs.promises` are.
|
|
6
|
+
* `watch`/`watchFile` return API-shaped watchers that never emit.
|
|
6
7
|
*
|
|
7
8
|
* `fs.constants` and `fs.promises` are exposed as value getters, so both
|
|
8
9
|
* `import { constants } from "fs"` and the `fs.constants.F_OK` property form
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node's `fs` module: synchronous file and directory operations backed by
|
|
3
|
-
* `runtime/ext_node/fs
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* `runtime/ext_node/fs`, plus the `fs.promises` namespace (implemented in
|
|
4
|
+
* `async_*.c` on top of the asynchronous I/O pool). The callback-style
|
|
5
|
+
* `readFile`/`writeFile` forms are not supported; `*Sync` and `fs.promises` are.
|
|
6
|
+
* `watch`/`watchFile` return API-shaped watchers that never emit.
|
|
6
7
|
*
|
|
7
8
|
* `fs.constants` and `fs.promises` are exposed as value getters, so both
|
|
8
9
|
* `import { constants } from "fs"` and the `fs.constants.F_OK` property form
|
|
@@ -34,6 +35,14 @@ export const fsModule = {
|
|
|
34
35
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/watch.c"),
|
|
35
36
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/constants.c"),
|
|
36
37
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/streams.c"),
|
|
38
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_job.c"),
|
|
39
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker.c"),
|
|
40
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker_dir.c"),
|
|
41
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker_fd.c"),
|
|
42
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_complete.c"),
|
|
43
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_api.c"),
|
|
44
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_fh.c"),
|
|
45
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/promises.c"),
|
|
37
46
|
],
|
|
38
47
|
builtins: () => builtins,
|
|
39
48
|
exports: () => exports,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAEtG,MAAM,OAAO,GAAkB;IAC7B,GAAG,QAAQ;IACX,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC7C,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAe;IAClC,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,GAAG,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,8CAA8C,CAAC;QAC5E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC;QACxE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC;QACxE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,uCAAuC,CAAC;QACrE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wCAAwC,CAAC;QACtE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,yCAAyC,CAAC;QACvE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC;QACzE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,gDAAgD,CAAC;QAC9E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,oDAAoD,CAAC;QAClF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,mDAAmD,CAAC;QACjF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,kDAAkD,CAAC;QAChF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;KAC3E;IACD,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node's `fs/promises` module.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Each function submits a job to the asynchronous I/O pool: the blocking
|
|
5
|
+
* syscall runs on a worker thread and the promise settles on the event loop, so
|
|
6
|
+
* awaiting `readFile`, `writeFile`, `stat`, `rm`, `open` (a `FileHandle`), ...
|
|
7
|
+
* yields to timers and sockets while the I/O is in flight. `constants` is
|
|
8
|
+
* re-exported as a value getter.
|
|
9
9
|
*/
|
|
10
10
|
import type { NodeModule } from "../module.js";
|
|
11
11
|
export declare const fsPromisesModule: NodeModule;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node's `fs/promises` module.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Each function submits a job to the asynchronous I/O pool: the blocking
|
|
5
|
+
* syscall runs on a worker thread and the promise settles on the event loop, so
|
|
6
|
+
* awaiting `readFile`, `writeFile`, `stat`, `rm`, `open` (a `FileHandle`), ...
|
|
7
|
+
* yields to timers and sockets while the I/O is in flight. `constants` is
|
|
8
|
+
* re-exported as a value getter.
|
|
9
9
|
*/
|
|
10
10
|
import { resolveFrom } from "../module.js";
|
|
11
11
|
const builtins = {
|
|
@@ -48,7 +48,7 @@ const exports = {
|
|
|
48
48
|
export const fsPromisesModule = {
|
|
49
49
|
name: "fs/promises",
|
|
50
50
|
runtimeSources: () => [
|
|
51
|
-
//
|
|
51
|
+
// Synchronous builtins (used by `watch` and the sync module) plus the async job split.
|
|
52
52
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/read_file.c"),
|
|
53
53
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/write_file.c"),
|
|
54
54
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/fs_ops.c"),
|
|
@@ -57,6 +57,15 @@ export const fsPromisesModule = {
|
|
|
57
57
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/link_ops.c"),
|
|
58
58
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/copy_ops.c"),
|
|
59
59
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/constants.c"),
|
|
60
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/dir.c"),
|
|
61
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/watch.c"),
|
|
62
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_job.c"),
|
|
63
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker.c"),
|
|
64
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker_dir.c"),
|
|
65
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_worker_fd.c"),
|
|
66
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_complete.c"),
|
|
67
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_api.c"),
|
|
68
|
+
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/async_fh.c"),
|
|
60
69
|
resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/promises.c"),
|
|
61
70
|
],
|
|
62
71
|
builtins: () => builtins,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs-promises/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,QAAQ,GAA8C;IAC1D,QAAQ,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE;IAC3C,SAAS,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;IAC7C,UAAU,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;IAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpC,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACxC,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IAC9B,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,QAAQ,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE;IAC3C,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IAC9B,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;IAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAClC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAClC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;IAC1C,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACtC,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACxC,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAClC,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACxC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;IAC1C,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACxC,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACxC,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAClC,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;CACrC,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,GAAG,QAAQ;IACX,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,GAAG,EAAE,CAAC;QACpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs-promises/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,11 @@ export const declarationClassMethods = {
|
|
|
11
11
|
if (!this.at(TokenKind.OpenBrace) && !this.at(TokenKind.ExtendsKeyword) && !this.at(TokenKind.ImplementsKeyword)) {
|
|
12
12
|
name = this.parseIdentifier();
|
|
13
13
|
}
|
|
14
|
+
else if (this.hasModifier(modifiers, ModifierKind.Default)) {
|
|
15
|
+
/* `export default class {}` gets the internal binding name the bundler
|
|
16
|
+
* maps the default export to. */
|
|
17
|
+
name = { kind: SyntaxKind.Identifier, text: "default", start, end: start };
|
|
18
|
+
}
|
|
14
19
|
const typeParameters = this.parseTypeParameters();
|
|
15
20
|
const heritage = this.parseHeritageClauses();
|
|
16
21
|
const members = this.parseClassMembers();
|