xbintsc 0.5.31 → 0.5.32
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/README.md +16 -10
- package/dist/src/binder/references.js +14 -1
- package/dist/src/binder/references.js.map +1 -1
- package/dist/src/cli/help.d.ts +1 -1
- package/dist/src/codegen/generator/module.d.ts +1 -0
- package/dist/src/codegen/generator/module.js +54 -0
- package/dist/src/codegen/generator/module.js.map +1 -1
- package/dist/src/codegen/generator/statements/variables.js +6 -4
- package/dist/src/codegen/generator/statements/variables.js.map +1 -1
- package/dist/src/driver/version.d.ts +1 -1
- package/dist/src/driver/version.js +1 -1
- package/dist/src/extensions/gui/css.d.ts +26 -0
- package/dist/src/extensions/gui/css.js +100 -0
- package/dist/src/extensions/gui/css.js.map +1 -0
- package/dist/src/extensions/gui/html.js +9 -2
- package/dist/src/extensions/gui/html.js.map +1 -1
- package/dist/src/extensions/gui/index.js +16 -2
- package/dist/src/extensions/gui/index.js.map +1 -1
- package/dist/src/extensions/gui/three.d.ts +16 -0
- package/dist/src/extensions/gui/three.js +22 -0
- package/dist/src/extensions/gui/three.js.map +1 -0
- package/dist/src/extensions/media/index.d.ts +6 -5
- package/dist/src/extensions/media/index.js +12 -14
- package/dist/src/extensions/media/index.js.map +1 -1
- package/dist/tests/e2e/compile-builtins.test.js +24 -0
- package/dist/tests/e2e/compile-builtins.test.js.map +1 -1
- package/dist/tests/e2e/compile-objects-classes.test.js +23 -0
- package/dist/tests/e2e/compile-objects-classes.test.js.map +1 -1
- package/dist/tests/e2e/gui-browser.test.js +1 -1
- package/dist/tests/e2e/gui-browser.test.js.map +1 -1
- package/dist/tests/e2e/gui-effects.test.d.ts +6 -0
- package/dist/tests/e2e/gui-effects.test.js +262 -0
- package/dist/tests/e2e/gui-effects.test.js.map +1 -0
- package/dist/tests/e2e/gui-example-webgl.test.d.ts +10 -0
- package/dist/tests/e2e/gui-example-webgl.test.js +75 -0
- package/dist/tests/e2e/gui-example-webgl.test.js.map +1 -0
- package/dist/tests/e2e/gui-example-webgl2.test.d.ts +8 -0
- package/dist/tests/e2e/gui-example-webgl2.test.js +72 -0
- package/dist/tests/e2e/gui-example-webgl2.test.js.map +1 -0
- package/dist/tests/e2e/gui-layout.test.js +48 -0
- package/dist/tests/e2e/gui-layout.test.js.map +1 -1
- package/dist/tests/e2e/gui-media.test.js +5 -4
- package/dist/tests/e2e/gui-media.test.js.map +1 -1
- package/dist/tests/e2e/gui-webgl.test.d.ts +11 -0
- package/dist/tests/e2e/gui-webgl.test.js +179 -0
- package/dist/tests/e2e/gui-webgl.test.js.map +1 -0
- package/dist/tests/e2e/gui-webgl2.test.d.ts +10 -0
- package/dist/tests/e2e/gui-webgl2.test.js +238 -0
- package/dist/tests/e2e/gui-webgl2.test.js.map +1 -0
- package/dist/tests/extensions/gui.test.js +41 -0
- package/dist/tests/extensions/gui.test.js.map +1 -1
- package/dist/tests/extensions/media.test.js +7 -3
- package/dist/tests/extensions/media.test.js.map +1 -1
- package/doc/ai/extensions.md +29 -9
- package/doc/ai/troubleshooting.md +12 -8
- package/doc/ai/zh-CN/extensions.md +26 -8
- package/doc/ai/zh-CN/troubleshooting.md +10 -6
- package/doc/gui/api.md +3 -2
- package/doc/gui/build.md +72 -16
- package/doc/gui/canvas.md +11 -3
- package/doc/gui/dom.md +33 -18
- package/doc/gui/known-issues.md +57 -24
- package/doc/gui/layout.md +18 -0
- package/doc/gui/media.md +17 -13
- package/doc/gui/rendering.md +50 -3
- package/doc/gui/webgl.md +256 -0
- package/doc/gui.md +108 -17
- package/doc/npm-package.md +6 -4
- package/doc/requirements.md +18 -9
- package/doc/zh-CN/gui/api.md +3 -2
- package/doc/zh-CN/gui/build.md +64 -15
- package/doc/zh-CN/gui/canvas.md +9 -2
- package/doc/zh-CN/gui/dom.md +20 -7
- package/doc/zh-CN/gui/known-issues.md +45 -19
- package/doc/zh-CN/gui/layout.md +14 -0
- package/doc/zh-CN/gui/media.md +15 -11
- package/doc/zh-CN/gui/rendering.md +41 -4
- package/doc/zh-CN/gui/webgl.md +115 -0
- package/doc/zh-CN/gui.md +89 -14
- package/doc/zh-CN/npm-package.md +9 -6
- package/doc/zh-CN/requirements.md +12 -6
- package/llms.txt +2 -0
- package/package.json +1 -1
- package/runtime/ext_gui/browser.cpp +39 -13
- package/runtime/ext_gui/canvas.cpp +3 -18
- package/runtime/ext_gui/canvas_internal.h +10 -0
- package/runtime/ext_gui/canvas_raster.cpp +60 -0
- package/runtime/ext_gui/clip_values.cpp +246 -0
- package/runtime/ext_gui/css.cpp +94 -0
- package/runtime/ext_gui/css.h +22 -1
- package/runtime/ext_gui/css_match.cpp +3 -0
- package/runtime/ext_gui/css_selector.cpp +9 -0
- package/runtime/ext_gui/css_sheet.cpp +89 -45
- package/runtime/ext_gui/document.cpp +4 -1
- package/runtime/ext_gui/document.h +2 -0
- package/runtime/ext_gui/dom.h +16 -0
- package/runtime/ext_gui/dom_api.cpp +1 -0
- package/runtime/ext_gui/dom_api_canvas.cpp +17 -80
- package/runtime/ext_gui/dom_api_canvas_extra.cpp +130 -1
- package/runtime/ext_gui/dom_api_canvas_pending.cpp +41 -0
- package/runtime/ext_gui/dom_api_internal.h +259 -0
- package/runtime/ext_gui/dom_api_webgl.cpp +376 -0
- package/runtime/ext_gui/dom_api_webgl2.cpp +434 -0
- package/runtime/ext_gui/dom_api_webgl2_draw.cpp +269 -0
- package/runtime/ext_gui/dom_api_webgl_buffer.cpp +212 -0
- package/runtime/ext_gui/dom_api_webgl_rt.h +30 -0
- package/runtime/ext_gui/dom_api_webgl_shader.cpp +443 -0
- package/runtime/ext_gui/dom_api_webgl_state.cpp +444 -0
- package/runtime/ext_gui/dom_api_webgl_texture.cpp +445 -0
- package/runtime/ext_gui/effect_values.cpp +312 -0
- package/runtime/ext_gui/gradient_values.cpp +476 -0
- package/runtime/ext_gui/grid_values.cpp +230 -0
- package/runtime/ext_gui/gui_canvas.cpp +50 -2
- package/runtime/ext_gui/gui_engine.h +27 -0
- package/runtime/ext_gui/gui_events.cpp +4 -1
- package/runtime/ext_gui/gui_media.cpp +1 -1
- package/runtime/ext_gui/gui_webgl.cpp +83 -0
- package/runtime/ext_gui/layout.cpp +21 -0
- package/runtime/ext_gui/layout_flow.cpp +81 -4
- package/runtime/ext_gui/layout_flow_internal.h +31 -0
- package/runtime/ext_gui/layout_grid.cpp +374 -0
- package/runtime/ext_gui/media.h +1 -1
- package/runtime/ext_gui/media_api.h +2 -2
- package/runtime/ext_gui/media_query.cpp +211 -0
- package/runtime/ext_gui/paint.cpp +111 -77
- package/runtime/ext_gui/paint.h +33 -3
- package/runtime/ext_gui/paint_background.cpp +229 -0
- package/runtime/ext_gui/paint_clip.cpp +268 -0
- package/runtime/ext_gui/paint_effects.cpp +324 -0
- package/runtime/ext_gui/paint_internal.h +85 -0
- package/runtime/ext_gui/renderer.cpp +8 -31
- package/runtime/ext_gui/renderer_clip.cpp +196 -0
- package/runtime/ext_gui/renderer_image.cpp +13 -8
- package/runtime/ext_gui/renderer_internal.h +15 -8
- package/runtime/ext_gui/renderer_text.cpp +6 -31
- package/runtime/ext_gui/style.cpp +343 -20
- package/runtime/ext_gui/style.h +144 -3
- package/runtime/ext_gui/style_print.cpp +134 -1
- package/runtime/ext_gui/style_values.cpp +152 -126
- package/runtime/ext_gui/style_values_internal.h +35 -0
- package/runtime/ext_gui/webgl.h +466 -0
- package/runtime/ext_gui/webgl2_constants.h +274 -0
- package/runtime/ext_gui/webgl_buffer.cpp +565 -0
- package/runtime/ext_gui/webgl_constants.h +317 -0
- package/runtime/ext_gui/webgl_context.cpp +466 -0
- package/runtime/ext_gui/webgl_draw.cpp +495 -0
- package/runtime/ext_gui/webgl_glsl.h +125 -0
- package/runtime/ext_gui/webgl_glsl_compile.cpp +431 -0
- package/runtime/ext_gui/webgl_glsl_rewrite.cpp +349 -0
- package/runtime/ext_gui/webgl_glsl_scan.cpp +581 -0
- package/runtime/ext_gui/webgl_msl.cpp +62 -0
- package/runtime/ext_gui/webgl_msl.h +33 -0
- package/runtime/ext_gui/webgl_pipeline.cpp +274 -0
- package/runtime/ext_gui/webgl_program_internal.h +18 -0
- package/runtime/ext_gui/webgl_shader.cpp +582 -0
- package/runtime/ext_gui/webgl_texture.cpp +293 -0
- package/runtime/ext_gui/webgl_uniform.cpp +167 -0
- package/runtime/ext_gui/webgl_webgl2.cpp +224 -0
- package/runtime/ext_media/media.cpp +1 -1
- package/runtime/ext_media/media_bridge.c +9 -3
- package/runtime/rt_internal.h +1 -0
- package/runtime/xt_containers/access.inc +8 -0
- package/runtime/xt_regex/api.inc +2 -0
- package/runtime/xt_regex/matcher.inc +16 -3
- package/runtime/xt_regex/parser.inc +8 -2
- package/runtime/xt_regex/types.inc +3 -0
- package/runtime/xt_stdlib2/regexp-match.inc +60 -21
- package/runtime/xt_stdlib2/regexp.inc +1 -0
- package/runtime/xt_typed_array.c +1 -1
- package/scripts/build-gui.ts +90 -3
- package/scripts/build-media.ts +323 -58
- package/scripts/setup-vs-toolchain.ps1 +152 -0
- package/src/binder/references.ts +13 -1
- package/src/codegen/generator/module.ts +50 -0
- package/src/codegen/generator/statements/variables.ts +6 -3
- package/src/driver/version.ts +1 -1
- package/src/extensions/gui/css.ts +113 -0
- package/src/extensions/gui/html.ts +9 -2
- package/src/extensions/gui/index.ts +16 -2
- package/src/extensions/gui/three.ts +25 -0
- package/src/extensions/media/index.ts +13 -16
package/README.md
CHANGED
|
@@ -86,8 +86,8 @@ too.
|
|
|
86
86
|
> **Before you start:** check the per-platform prerequisites in
|
|
87
87
|
> [Requirements](./doc/requirements.md). xbintsc does not bundle a compiler, so
|
|
88
88
|
> every platform needs a clang-compatible toolchain installed (macOS: Xcode
|
|
89
|
-
> Command Line Tools; Linux: clang+lld; Windows:
|
|
90
|
-
>
|
|
89
|
+
> Command Line Tools; Linux: clang+lld; Windows: Visual Studio C++ build tools
|
|
90
|
+
> with their bundled LLVM/MSVC).
|
|
91
91
|
|
|
92
92
|
### Prebuilt standalone archives
|
|
93
93
|
|
|
@@ -129,8 +129,9 @@ tar -xf xbintsc-<version>-darwin-arm64.tar.zst
|
|
|
129
129
|
./build/hello
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
**Windows example** — install
|
|
133
|
-
[Requirements](./doc/requirements.md)), then download
|
|
132
|
+
**Windows example** — install the Visual Studio C++ build tools (MSVC, MSBuild
|
|
133
|
+
and its bundled LLVM; see [Requirements](./doc/requirements.md)), then download
|
|
134
|
+
an archive from the
|
|
134
135
|
[Releases page](https://github.com/zy445566/xbintsc/releases/latest) (here
|
|
135
136
|
`xbintsc-<version>-win32-x64.tar.zst`; use `-arm64` on Windows on ARM) and run the
|
|
136
137
|
commands below in an **x64 Native Tools Command Prompt for VS 2022** (Windows on
|
|
@@ -315,11 +316,15 @@ Platforms and full details: [doc/gui.md](./doc/gui.md) is the engine overview
|
|
|
315
316
|
[doc/gui/](./doc/gui) — API, DOM/CSS, layout, rendering, media, input, animation,
|
|
316
317
|
runtime, build and known issues. Linux and macOS are built and exercised in CI
|
|
317
318
|
and their release archives ship the engine (`gui.a`) plus the optional media
|
|
318
|
-
archive (`media.a`)
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
319
|
+
archive (`media.a`). Windows x64 gets the same pair (`gui.lib` through SDL_GPU's
|
|
320
|
+
Vulkan backend, and `media.lib` from FFmpeg compiled with clang-cl for the MSVC
|
|
321
|
+
ABI), built in CI with the Visual Studio MSVC + LLVM toolchain a local build
|
|
322
|
+
uses; Windows arm64 still skips them. Running the examples in CI stays
|
|
323
|
+
provisional because hosted runners have no GPU/Vulkan driver. Building
|
|
324
|
+
`media.lib` on Windows needs a POSIX shell and GNU make for FFmpeg's configure
|
|
325
|
+
step: Git for Windows supplies the shell, and make is a native GNU make
|
|
326
|
+
(Chocolatey). See [doc/gui/build.md](./doc/gui/build.md). Without the media archive
|
|
327
|
+
`<video>` and `<audio>` fire `error`.
|
|
323
328
|
|
|
324
329
|
## Incremental compilation
|
|
325
330
|
|
|
@@ -442,7 +447,8 @@ See [Requirements](./doc/requirements.md) for the full, per-platform list.
|
|
|
442
447
|
- Node.js 22+ — to run the compiler from npm or from source; released binaries
|
|
443
448
|
are standalone
|
|
444
449
|
- macOS: the Xcode Command Line Tools (`xcode-select --install`)
|
|
445
|
-
- Windows:
|
|
450
|
+
- Windows: the Visual Studio C++ build tools (MSVC, MSBuild and the bundled
|
|
451
|
+
LLVM; `scripts/setup-vs-toolchain.ps1` imports that exact toolchain)
|
|
446
452
|
- Linux: `clang` and `lld` from your distribution
|
|
447
453
|
- To build a binary yourself: a `clang`-compatible compiler on `PATH`
|
|
448
454
|
(override with `xbintsc_CLANG`)
|
|
@@ -435,8 +435,21 @@ export const referenceMethods = {
|
|
|
435
435
|
this.symbolOfIdentifier.set(identifier, symbol);
|
|
436
436
|
// Functions, classes and type-only names are resolved to their
|
|
437
437
|
// declaration sites by codegen; they are never captured as values.
|
|
438
|
-
|
|
438
|
+
// A *function declaration* reached from a nested function is the
|
|
439
|
+
// exception: the closure value belongs to the declaring function's
|
|
440
|
+
// frame (it may itself capture parameters), so thread it through the
|
|
441
|
+
// environment instead of rebuilding it at the call site with the
|
|
442
|
+
// caller's slots. Module-scope functions keep their global handling.
|
|
443
|
+
if (symbol.kind === SymbolKind.Function) {
|
|
444
|
+
/* Module-scope functions are reached through their globals; a
|
|
445
|
+
* function declared inside a function travels with the closure
|
|
446
|
+
* environment because its own captures belong to that frame. */
|
|
447
|
+
if (symbol.fn !== this.current && !symbol.fn.isModule)
|
|
448
|
+
this.markCaptured(symbol);
|
|
449
|
+
}
|
|
450
|
+
else if (symbol.fn !== this.current && isCapturable(symbol.kind)) {
|
|
439
451
|
this.markCaptured(symbol);
|
|
452
|
+
}
|
|
440
453
|
return;
|
|
441
454
|
}
|
|
442
455
|
current = current.parent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/binder/references.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../src/binder/references.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/help.d.ts
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* It lives apart from the command dispatch so the executable entry point stays
|
|
5
5
|
* under the repository's per-file line budget; the text is data, not logic.
|
|
6
6
|
*/
|
|
7
|
-
export declare const HELP = "xbintsc 0.5.
|
|
7
|
+
export declare const HELP = "xbintsc 0.5.32 - TypeScript binary compiler\n\nUsage:\n xbintsc build <file.ts> [options] Compile to a native binary\n xbintsc run <file.ts> [-- args] Compile and execute\n xbintsc check <file.ts> Parse, bind and check without linking\n xbintsc watch <file.ts> [options] Rebuild whenever the source tree changes\n xbintsc emit <file.ts> Print LLVM IR\n xbintsc doctor Report the resolved toolchain\n xbintsc version Print the version\n xbintsc help Show this message\n\nOptions:\n -o, --output <path> Output path\n --out <dir> Output directory (default: build/)\n --emit <kind> exe | obj | ir (default: exe)\n -O0..-O3 Optimization level (default: -O2)\n --ext <names> Comma separated extensions (e.g. node,gui,media)\n --ext-native <m> Register a C++/Rust extension from a JSON manifest\n (comma separated for several)\n --config <path> Use a project config (default: auto-detect\n xbintsc.config.json)\n --no-config Do not read any project config\n --icon <path> Embed an application icon (PNG/ICO/ICNS)\n --bundle macOS: also produce a .app bundle\n --app-name <name> Bundle / display name\n --app-id <id> macOS bundle identifier (e.g. com.example.demo)\n --force Ignore the incremental cache\n --verbose Print progress information\n --time Print per-phase build timings\n --debug Emit debug info (DWARF/CodeView) and keep frame pointers\n --check Run the semantic checker (default)\n --no-check Skip the semantic checker; only erase type syntax\n --lto Compile program and runtime to LTO bitcode; link with lld\n --pgo-generate [dir] Build an instrumented binary writing profiles to dir\n --pgo-use [dir] Build with the profiles collected from --pgo-generate\n --json Print diagnostics as a JSON array on stdout\n --no-hints Do not append the \"hint: \u2026 see <doc>\" line to failures\n\nxbintsc compiles a subset of TypeScript to a native binary. Types are erased;\nonly inference-free facts (names, redeclarations, call arity) are checked.\nNode built-ins need --ext node, packages in node_modules are bundled at build\ntime, and clang 16+ is required to link.\n\nInstalled as a project dependency (npm):\n npx xbintsc doctor\n npx xbintsc build <entry.ts> --out build\n npx xbintsc run <entry.ts>\nThe first build compiles the C runtime; later builds reuse the cache.\n\nDocs: doc/ai/README.md (task guide) - doc/ai/language-support.md (subset) -\ndoc/ai/troubleshooting.md (failures) - llms.txt (index of every document).\nWhen installed from npm, these live under node_modules/xbintsc/doc/ and\nnode_modules/xbintsc/doc/npm-package.md is the project guide.\n";
|
|
@@ -8,6 +8,7 @@ import type { Generator } from "./generator.js";
|
|
|
8
8
|
export interface ModuleMethods {
|
|
9
9
|
run(this: Generator): string;
|
|
10
10
|
emitFunction(this: Generator, fn: FunctionInfo): void;
|
|
11
|
+
emitHoistedFunctions(this: Generator, fn: FunctionInfo): void;
|
|
11
12
|
emitFunctionReturn(this: Generator, value: string): void;
|
|
12
13
|
emitMain(this: Generator): void;
|
|
13
14
|
functionName(this: Generator, fn: FunctionInfo): string;
|
|
@@ -161,6 +161,13 @@ export const moduleMethods = {
|
|
|
161
161
|
this.emit(` ${value} = call i64 @xt_closure_env(i64 %env, i32 ${index})`);
|
|
162
162
|
this.defineCaptureSlot(symbol, value);
|
|
163
163
|
}
|
|
164
|
+
// Hoisted function declarations: create their closure values in this
|
|
165
|
+
// frame (before the body runs) so a nested function that references one
|
|
166
|
+
// gets the closure built against the declaring frame, not against the
|
|
167
|
+
// caller's slots. Captured function symbols are boxed by the binder, so
|
|
168
|
+
// the second pass publishes the closures into those boxes and mutual
|
|
169
|
+
// recursion sees the same values.
|
|
170
|
+
this.emitHoistedFunctions(fn);
|
|
164
171
|
// Arrow functions inherit `this` lexically; it travels as an extra capture.
|
|
165
172
|
if (fn.isArrow && fn.capturesThis) {
|
|
166
173
|
const inherited = this.reg();
|
|
@@ -302,6 +309,53 @@ export const moduleMethods = {
|
|
|
302
309
|
this.globals.push(`${name} = internal global i64 0`);
|
|
303
310
|
return name;
|
|
304
311
|
},
|
|
312
|
+
emitHoistedFunctions(fn) {
|
|
313
|
+
if (fn.isModule)
|
|
314
|
+
return;
|
|
315
|
+
const body = fn.node.body;
|
|
316
|
+
if (!body || body.kind !== SyntaxKind.Block)
|
|
317
|
+
return;
|
|
318
|
+
const declarations = [];
|
|
319
|
+
for (const statement of body.statements) {
|
|
320
|
+
if (statement.kind === SyntaxKind.FunctionDeclaration) {
|
|
321
|
+
declarations.push(statement);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
if (declarations.length === 0)
|
|
325
|
+
return;
|
|
326
|
+
/* Captured locals of this frame may be declared textually after the
|
|
327
|
+
* function that uses them. Function declarations are hoisted, so create
|
|
328
|
+
* their boxes now; the `let`/`const`/`var` statement fills the box when it
|
|
329
|
+
* runs (emitVariableStatement writes into an existing slot). */
|
|
330
|
+
for (const declaration of declarations) {
|
|
331
|
+
const child = this.binding.functionOfNode.get(declaration);
|
|
332
|
+
if (!child)
|
|
333
|
+
continue;
|
|
334
|
+
for (const captured of child.captures) {
|
|
335
|
+
if (captured.fn !== fn)
|
|
336
|
+
continue;
|
|
337
|
+
if (!this.current.slots.has(captured.id))
|
|
338
|
+
this.declareSlot(captured, i64(XT_UNDEFINED));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/* First pass: a slot (and a box, when captured) exists for every name
|
|
342
|
+
* before any closure is built, so sibling references cannot observe an
|
|
343
|
+
* uninitialised slot. */
|
|
344
|
+
const ready = [];
|
|
345
|
+
for (const declaration of declarations) {
|
|
346
|
+
const symbol = this.binding.symbolOfDeclaration.get(declaration);
|
|
347
|
+
const child = this.binding.functionOfNode.get(declaration);
|
|
348
|
+
if (!symbol || !child)
|
|
349
|
+
continue;
|
|
350
|
+
if (!this.current.slots.has(symbol.id))
|
|
351
|
+
this.declareSlot(symbol, i64(XT_UNDEFINED));
|
|
352
|
+
ready.push({ symbol, child });
|
|
353
|
+
}
|
|
354
|
+
/* Second pass: build and store the closures. */
|
|
355
|
+
for (const entry of ready) {
|
|
356
|
+
this.writeSlot(entry.symbol, this.emitClosureValue(entry.child));
|
|
357
|
+
}
|
|
358
|
+
},
|
|
305
359
|
emitClassReference(classInfo) {
|
|
306
360
|
const globalName = this.classGlobal(classInfo);
|
|
307
361
|
const value = this.reg();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/codegen/generator/module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/codegen/generator/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,12 @@ export const variableStatementMethods = {
|
|
|
16
16
|
continue;
|
|
17
17
|
}
|
|
18
18
|
if (this.current.slots.has(symbol.id)) {
|
|
19
|
-
// Hoisted `var
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
// Hoisted `var`, or a box created early for a captured binding
|
|
20
|
+
// declared textually after a hoisted function: do not redeclare the
|
|
21
|
+
// slot, but assigning an initializer is still part of the statement.
|
|
22
|
+
if (declaration.initializer) {
|
|
23
|
+
this.writeSlot(symbol, this.emitExpression(declaration.initializer));
|
|
24
|
+
}
|
|
23
25
|
continue;
|
|
24
26
|
}
|
|
25
27
|
if (symbol.boxed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/statements/variables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,GAOX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,qBAAqB,CAAC,SAA4B;QAChD,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YACjE,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,WAAW,CAAC,WAAW;wBAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC1E,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../../src/codegen/generator/statements/variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* `main`/`master` only (see `.githooks/pre-commit`), so feature branches never
|
|
10
10
|
* change this line and merging two of them cannot conflict here.
|
|
11
11
|
*/
|
|
12
|
-
export const COMPILER_VERSION = "0.5.
|
|
12
|
+
export const COMPILER_VERSION = "0.5.32";
|
|
13
13
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GUI extension: inline external stylesheets into the HTML asset.
|
|
3
|
+
*
|
|
4
|
+
* The engine's CSS cascade only reads `<style>` elements (`document.cpp` skips
|
|
5
|
+
* `<link rel="stylesheet">` because resolving it would need I/O at runtime).
|
|
6
|
+
* A page that ships its CSS as a separate file therefore loses *all* styling
|
|
7
|
+
* once it is compiled. The bundler, unlike the runtime, can read files, so this
|
|
8
|
+
* loader rewrites every local stylesheet link (and every local `@import` inside
|
|
9
|
+
* it) into an inline `<style>` block. The page keeps its author-time structure
|
|
10
|
+
* and the compiled binary has no runtime file dependency.
|
|
11
|
+
*
|
|
12
|
+
* Remote URLs are left untouched: there is no network-backed style loader, so
|
|
13
|
+
* the engine simply ignores them, exactly as before.
|
|
14
|
+
*/
|
|
15
|
+
/** A resolved local stylesheet: its inlined text is returned to the caller. */
|
|
16
|
+
export interface InlinedStylesheets {
|
|
17
|
+
readonly html: string;
|
|
18
|
+
/** Every stylesheet file that was read (for bundler cache invalidation). */
|
|
19
|
+
readonly dependencies: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Replace `<link rel="stylesheet">` elements with inline `<style>` blocks,
|
|
23
|
+
* recursively resolving local `@import` rules. Returns the rewritten HTML and
|
|
24
|
+
* the list of stylesheet files it read.
|
|
25
|
+
*/
|
|
26
|
+
export declare function inlineStylesheets(htmlFile: string, html: string): InlinedStylesheets;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GUI extension: inline external stylesheets into the HTML asset.
|
|
3
|
+
*
|
|
4
|
+
* The engine's CSS cascade only reads `<style>` elements (`document.cpp` skips
|
|
5
|
+
* `<link rel="stylesheet">` because resolving it would need I/O at runtime).
|
|
6
|
+
* A page that ships its CSS as a separate file therefore loses *all* styling
|
|
7
|
+
* once it is compiled. The bundler, unlike the runtime, can read files, so this
|
|
8
|
+
* loader rewrites every local stylesheet link (and every local `@import` inside
|
|
9
|
+
* it) into an inline `<style>` block. The page keeps its author-time structure
|
|
10
|
+
* and the compiled binary has no runtime file dependency.
|
|
11
|
+
*
|
|
12
|
+
* Remote URLs are left untouched: there is no network-backed style loader, so
|
|
13
|
+
* the engine simply ignores them, exactly as before.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
16
|
+
import { dirname, resolve } from "node:path";
|
|
17
|
+
/** Read a stylesheet as a byte string (one code unit per UTF-8 byte).
|
|
18
|
+
*
|
|
19
|
+
* The bundler hands asset loaders the same shape (`sourceTextBytes`), so CSS
|
|
20
|
+
* must join the HTML *as bytes*. Decoding it to UTF-16 and putting that into
|
|
21
|
+
* the byte-string document would make codegen encode the HTML's own bytes a
|
|
22
|
+
* second time. `toString("latin1")` is exactly the byte-string mapping; the
|
|
23
|
+
* self-hosted runtime's `readFileSync` already returns bytes. */
|
|
24
|
+
function readCssText(file) {
|
|
25
|
+
const data = readFileSync(file);
|
|
26
|
+
return typeof data === "string" ? data : data.toString("latin1");
|
|
27
|
+
}
|
|
28
|
+
/** True for a URL the compiler cannot read (http:, data:, //host, …). */
|
|
29
|
+
const URL_SPEC = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
|
|
30
|
+
/** Read one attribute from an element's attribute text. */
|
|
31
|
+
function attribute(attributes, name) {
|
|
32
|
+
const pattern = new RegExp(`(?:^|\\s)${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s"'=<>\`]+))`, "i");
|
|
33
|
+
const match = pattern.exec(attributes);
|
|
34
|
+
if (!match)
|
|
35
|
+
return undefined;
|
|
36
|
+
return match[1] ?? match[2] ?? match[3];
|
|
37
|
+
}
|
|
38
|
+
/** Strip a `?query` / `#fragment`, then resolve against a base file. */
|
|
39
|
+
function localPath(baseFile, specifier) {
|
|
40
|
+
if (specifier === "" || URL_SPEC.test(specifier))
|
|
41
|
+
return undefined;
|
|
42
|
+
const clean = specifier.split(/[?#]/, 1)[0] ?? specifier;
|
|
43
|
+
return resolve(dirname(baseFile), clean);
|
|
44
|
+
}
|
|
45
|
+
/** True when the `rel` attribute lists `stylesheet` among its tokens. */
|
|
46
|
+
function isStylesheet(rel) {
|
|
47
|
+
if (rel === undefined)
|
|
48
|
+
return false;
|
|
49
|
+
return rel.toLowerCase().split(/\s+/).includes("stylesheet");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Inline every local `@import` in `css`. Imports are resolved relative to
|
|
53
|
+
* `cssFile`, which is the file the rules came from (not the HTML page), so a
|
|
54
|
+
* partial that imports a sibling keeps working. A cycle is cut at the repeated
|
|
55
|
+
* file rather than recursing forever.
|
|
56
|
+
*/
|
|
57
|
+
function inlineImports(css, cssFile, dependencies, stack) {
|
|
58
|
+
/* `@import url("./x.css") screen;` and `@import "./x.css";` are the two
|
|
59
|
+
* spellings the CSS parser accepts. Match one at a time so a single bad
|
|
60
|
+
* import cannot swallow the rest of the sheet. */
|
|
61
|
+
const pattern = /@import\s+(?:url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]+))\s*\)|"([^"]*)"|'([^']*)')\s*[^;]*;/gi;
|
|
62
|
+
return css.replace(pattern, (match, a, b, c, d, e) => {
|
|
63
|
+
const specifier = a ?? b ?? c ?? d ?? e;
|
|
64
|
+
if (specifier === undefined)
|
|
65
|
+
return "";
|
|
66
|
+
const file = localPath(cssFile, specifier);
|
|
67
|
+
if (file === undefined)
|
|
68
|
+
return match;
|
|
69
|
+
if (stack.includes(file))
|
|
70
|
+
return "";
|
|
71
|
+
if (!existsSync(file))
|
|
72
|
+
return match;
|
|
73
|
+
dependencies.add(file);
|
|
74
|
+
const nested = readCssText(file);
|
|
75
|
+
return inlineImports(nested, file, dependencies, [...stack, file]);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Replace `<link rel="stylesheet">` elements with inline `<style>` blocks,
|
|
80
|
+
* recursively resolving local `@import` rules. Returns the rewritten HTML and
|
|
81
|
+
* the list of stylesheet files it read.
|
|
82
|
+
*/
|
|
83
|
+
export function inlineStylesheets(htmlFile, html) {
|
|
84
|
+
const dependencies = new Set();
|
|
85
|
+
const rewritten = html.replace(/<link\b([^>]*)>/gi, (match, attributes) => {
|
|
86
|
+
if (!isStylesheet(attribute(attributes, "rel")))
|
|
87
|
+
return match;
|
|
88
|
+
const href = attribute(attributes, "href");
|
|
89
|
+
if (href === undefined)
|
|
90
|
+
return match;
|
|
91
|
+
const file = localPath(htmlFile, href);
|
|
92
|
+
if (file === undefined || !existsSync(file))
|
|
93
|
+
return match;
|
|
94
|
+
dependencies.add(file);
|
|
95
|
+
const css = inlineImports(readCssText(file), file, dependencies, [file]);
|
|
96
|
+
return `<style data-xt-href="${href.replace(/"/g, """)}">\n${css}\n</style>`;
|
|
97
|
+
});
|
|
98
|
+
return { html: rewritten, dependencies: [...dependencies] };
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../../../src/extensions/gui/css.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ import { SourceFile } from "../../diagnostics/source.js";
|
|
|
28
28
|
import { Parser } from "../../parser/parser.js";
|
|
29
29
|
import { artifactPath } from "../../canonical.js";
|
|
30
30
|
import { hashString } from "../../driver/cache.js";
|
|
31
|
+
import { inlineStylesheets } from "./css.js";
|
|
31
32
|
/** Matches an inline `<script …>body</script>` element, attributes included. */
|
|
32
33
|
const SCRIPT_RE = /<script\b([^>]*)>([\s\S]*?)<\/script\s*>/gi;
|
|
33
34
|
/** `<script src>` targets that are URLs (http:, data:, //host, …). */
|
|
@@ -161,7 +162,10 @@ export function loadHtmlAsset(path, source) {
|
|
|
161
162
|
const imports = [];
|
|
162
163
|
const importedText = new Set();
|
|
163
164
|
const bound = new Set();
|
|
164
|
-
|
|
165
|
+
/* The engine's cascade only reads `<style>` elements, so a linked stylesheet
|
|
166
|
+
* would be dropped at runtime. Inline it (and its `@import`s) now. */
|
|
167
|
+
const styles = inlineStylesheets(path, source);
|
|
168
|
+
const html = styles.html.replace(SCRIPT_RE, (match, attributes, inlineBody) => {
|
|
165
169
|
if (!isExecutable(attribute(attributes, "type"), attribute(attributes, "lang")))
|
|
166
170
|
return match;
|
|
167
171
|
const src = attribute(attributes, "src");
|
|
@@ -211,7 +215,10 @@ export function loadHtmlAsset(path, source) {
|
|
|
211
215
|
offset += part.length + 1;
|
|
212
216
|
}
|
|
213
217
|
parts.push(`export default ${JSON.stringify(html)};`);
|
|
214
|
-
const result = {
|
|
218
|
+
const result = {
|
|
219
|
+
moduleSource: parts.join("\n"),
|
|
220
|
+
...(styles.dependencies.length > 0 ? { dependencies: styles.dependencies } : {}),
|
|
221
|
+
};
|
|
215
222
|
return sourceRanges.length > 0 ? { ...result, sourceRanges } : result;
|
|
216
223
|
}
|
|
217
224
|
//# sourceMappingURL=html.js.map
|