xbintsc 0.2.4 → 0.2.6
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/dist/src/ast/declarations.d.ts +20 -1
- package/dist/src/ast/expressions.d.ts +6 -2
- package/dist/src/ast/kinds.d.ts +6 -1
- package/dist/src/ast/kinds.js +5 -0
- package/dist/src/ast/kinds.js.map +1 -1
- package/dist/src/ast/statements.d.ts +2 -1
- package/dist/src/binder/binder.js +73 -9
- package/dist/src/binder/binder.js.map +1 -1
- package/dist/src/cli/main.js +2 -4
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/codegen/generator/calls.d.ts +1 -1
- package/dist/src/codegen/generator/calls.js +57 -14
- package/dist/src/codegen/generator/calls.js.map +1 -1
- package/dist/src/codegen/generator/context.d.ts +1 -1
- package/dist/src/codegen/generator/expressions.js +39 -3
- package/dist/src/codegen/generator/expressions.js.map +1 -1
- package/dist/src/codegen/generator/module.js +73 -7
- package/dist/src/codegen/generator/module.js.map +1 -1
- package/dist/src/codegen/generator/state.js +16 -0
- package/dist/src/codegen/generator/state.js.map +1 -1
- package/dist/src/codegen/generator/statements.d.ts +4 -1
- package/dist/src/codegen/generator/statements.js +141 -10
- package/dist/src/codegen/generator/statements.js.map +1 -1
- package/dist/src/codegen/generator/tables.d.ts +3 -0
- package/dist/src/codegen/generator/tables.js +13 -0
- package/dist/src/codegen/generator/tables.js.map +1 -1
- package/dist/src/codegen/values.d.ts +18 -11
- package/dist/src/codegen/values.js +92 -15
- package/dist/src/codegen/values.js.map +1 -1
- package/dist/src/diagnostics/source.d.ts +1 -1
- package/dist/src/diagnostics/source.js +12 -7
- package/dist/src/diagnostics/source.js.map +1 -1
- package/dist/src/driver/compiler.d.ts +5 -0
- package/dist/src/driver/compiler.js +42 -2
- package/dist/src/driver/compiler.js.map +1 -1
- package/dist/src/driver/modules.js +29 -4
- package/dist/src/driver/modules.js.map +1 -1
- package/dist/src/extensions/node/child_process/index.d.ts +7 -0
- package/dist/src/extensions/node/child_process/index.js +19 -0
- package/dist/src/extensions/node/child_process/index.js.map +1 -0
- package/dist/src/extensions/node/crypto/index.d.ts +6 -0
- package/dist/src/extensions/node/crypto/index.js +18 -0
- package/dist/src/extensions/node/crypto/index.js.map +1 -0
- package/dist/src/extensions/node/index.js +6 -0
- package/dist/src/extensions/node/index.js.map +1 -1
- package/dist/src/extensions/node/module.d.ts +9 -1
- package/dist/src/extensions/node/module.js +14 -1
- package/dist/src/extensions/node/module.js.map +1 -1
- package/dist/src/extensions/node/url/index.d.ts +7 -0
- package/dist/src/extensions/node/url/index.js +21 -0
- package/dist/src/extensions/node/url/index.js.map +1 -0
- package/dist/src/lexer/scanner.js +4 -5
- package/dist/src/lexer/scanner.js.map +1 -1
- package/dist/src/lexer/token.d.ts +10 -0
- package/dist/src/lexer/token.js +69 -0
- package/dist/src/lexer/token.js.map +1 -1
- package/dist/src/parser/context.js +4 -16
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/declarations.d.ts +2 -0
- package/dist/src/parser/declarations.js +146 -33
- package/dist/src/parser/declarations.js.map +1 -1
- package/dist/src/parser/expressions.js +20 -3
- package/dist/src/parser/expressions.js.map +1 -1
- package/dist/src/parser/helpers.js +2 -0
- package/dist/src/parser/helpers.js.map +1 -1
- package/dist/src/parser/modules.js +7 -2
- package/dist/src/parser/modules.js.map +1 -1
- package/dist/src/parser/statements.js +28 -3
- package/dist/src/parser/statements.js.map +1 -1
- package/dist/src/parser/types.js +5 -0
- package/dist/src/parser/types.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/driver/compiler.test.js +13 -1
- package/dist/tests/driver/compiler.test.js.map +1 -1
- package/dist/tests/e2e/compile.test.js +57 -0
- package/dist/tests/e2e/compile.test.js.map +1 -1
- package/dist/tests/parser/parser.test.js +53 -0
- package/dist/tests/parser/parser.test.js.map +1 -1
- package/package.json +1 -1
- package/runtime/ext_node/child_process/child_process.c +213 -0
- package/runtime/ext_node/crypto/crypto.c +177 -0
- package/runtime/ext_node/process/process.c +37 -3
- package/runtime/ext_node/url/url.c +85 -0
- package/runtime/rt.h +20 -0
- package/runtime/rt_internal.h +11 -0
- package/runtime/xt_builtins.c +23 -0
- package/runtime/xt_containers.c +136 -10
- package/runtime/xt_io.c +53 -0
- package/runtime/xt_regex.h +16 -6
- package/runtime/xt_stdlib.c +11 -2
- package/runtime/xt_stdlib2.c +250 -13
- package/runtime/xt_values.c +2 -1
- package/src/ast/declarations.ts +26 -1
- package/src/ast/expressions.ts +7 -2
- package/src/ast/kinds.ts +5 -0
- package/src/ast/statements.ts +2 -1
- package/src/binder/binder.ts +75 -9
- package/src/cli/main.ts +2 -3
- package/src/codegen/generator/calls.ts +59 -16
- package/src/codegen/generator/context.ts +1 -1
- package/src/codegen/generator/expressions.ts +39 -3
- package/src/codegen/generator/module.ts +79 -7
- package/src/codegen/generator/state.ts +16 -0
- package/src/codegen/generator/statements.ts +139 -11
- package/src/codegen/generator/tables.ts +14 -0
- package/src/codegen/values.ts +85 -16
- package/src/diagnostics/source.ts +12 -7
- package/src/driver/compiler.ts +44 -2
- package/src/driver/modules.ts +28 -3
- package/src/extensions/node/child_process/index.ts +24 -0
- package/src/extensions/node/crypto/index.ts +23 -0
- package/src/extensions/node/index.ts +6 -0
- package/src/extensions/node/module.ts +13 -1
- package/src/extensions/node/url/index.ts +26 -0
- package/src/lexer/scanner.ts +4 -4
- package/src/lexer/token.ts +73 -0
- package/src/parser/context.ts +4 -15
- package/src/parser/declarations.ts +140 -29
- package/src/parser/expressions.ts +20 -4
- package/src/parser/helpers.ts +2 -0
- package/src/parser/modules.ts +7 -2
- package/src/parser/statements.ts +27 -3
- package/src/parser/types.ts +5 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* cached, and the whole build is skipped when the incremental cache says
|
|
7
7
|
* nothing relevant changed.
|
|
8
8
|
*/
|
|
9
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
9
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { basename, extname, join, resolve } from "node:path";
|
|
11
11
|
import { DiagnosticBag } from "../diagnostics/diagnostic.js";
|
|
12
12
|
import { SourceFile } from "../diagnostics/source.js";
|
|
@@ -32,6 +32,32 @@ export function compileString(source, fileName = "input.ts", extensions) {
|
|
|
32
32
|
});
|
|
33
33
|
return { ir, diagnostics: diagnostics.diagnostics };
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Compile a file to LLVM IR, bundling every reachable relative module first so
|
|
37
|
+
* that imports from other TypeScript sources resolve exactly like `build`.
|
|
38
|
+
*/
|
|
39
|
+
export function compileEntry(entryPath, extensions) {
|
|
40
|
+
const absoluteEntry = resolve(entryPath);
|
|
41
|
+
const sourceText = readFileSync(absoluteEntry, "utf8");
|
|
42
|
+
const file = new SourceFile(absoluteEntry, sourceText);
|
|
43
|
+
const diagnostics = new DiagnosticBag();
|
|
44
|
+
const parser = new Parser(file, diagnostics);
|
|
45
|
+
let sourceFile = parser.parseSourceFile();
|
|
46
|
+
const isModule = sourceFile.statements.some((statement) => statement.kind === SyntaxKind.ImportDeclaration ||
|
|
47
|
+
statement.kind === SyntaxKind.ExportDeclaration ||
|
|
48
|
+
statement.kind === SyntaxKind.ExportAssignment);
|
|
49
|
+
if (isModule) {
|
|
50
|
+
const bundled = bundleModules(absoluteEntry, diagnostics);
|
|
51
|
+
if (bundled)
|
|
52
|
+
sourceFile = bundled.sourceFile;
|
|
53
|
+
}
|
|
54
|
+
const registry = extensions ?? createDefaultRegistry();
|
|
55
|
+
const { ir } = generate(sourceFile, diagnostics, {
|
|
56
|
+
builtins: registry.builtins(),
|
|
57
|
+
modules: registry.modules(),
|
|
58
|
+
});
|
|
59
|
+
return { ir, diagnostics: diagnostics.diagnostics };
|
|
60
|
+
}
|
|
35
61
|
function executableName(entry, outDir, explicit) {
|
|
36
62
|
if (explicit)
|
|
37
63
|
return resolve(explicit);
|
|
@@ -142,9 +168,23 @@ const RUNTIME_SOURCES = [
|
|
|
142
168
|
* files keyed on the C source hash. Returns the object paths to link.
|
|
143
169
|
*/
|
|
144
170
|
function ensureRuntimeObjects(runner, clang, runtimeDir, cacheDir, registry) {
|
|
171
|
+
/* Runtime objects depend on the shared headers (rt.h/rt_internal.h/...),
|
|
172
|
+
so a header change must invalidate every cached object. Hash them all. */
|
|
173
|
+
const headerParts = [];
|
|
174
|
+
const collectHeaders = (dir) => {
|
|
175
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
176
|
+
const full = join(dir, entry.name);
|
|
177
|
+
if (entry.isDirectory())
|
|
178
|
+
collectHeaders(full);
|
|
179
|
+
else if (entry.name.endsWith(".h"))
|
|
180
|
+
headerParts.push(readFileSync(full, "utf8"));
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
collectHeaders(runtimeDir);
|
|
184
|
+
const headerStamp = hashParts(headerParts);
|
|
145
185
|
const compileOne = (sourcePath, tag) => {
|
|
146
186
|
const body = readFileSync(sourcePath, "utf8");
|
|
147
|
-
const key = hashParts(["runtime", COMPILER_VERSION, tag, body, clang, process.platform]);
|
|
187
|
+
const key = hashParts(["runtime", COMPILER_VERSION, tag, headerStamp, body, clang, process.platform]);
|
|
148
188
|
const objectPath = join(cacheDir, `${tag}-${key}.o`);
|
|
149
189
|
if (!existsSync(objectPath)) {
|
|
150
190
|
compileC(runner, clang, sourcePath, objectPath, runtimeDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/driver/compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/driver/compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAW,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,aAAa,EAAmB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAA0B,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,IAAI,EACJ,UAAU,GAEX,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAgCxC,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAQ,GAAG,UAAU,EAAE,UAA8B;IACjG,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,IAAI,qBAAqB,EAAE,CAAC;IACvD,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE;QAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,UAA8B;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAI,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,iBAAiB;QAC/C,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,iBAAiB;QAC/C,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB,CACjD,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,OAAO;YAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,IAAI,qBAAqB,EAAE,CAAC;IACvD,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE;QAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,QAA4B;IACjF,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE,UAAwB,EAAE;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,qBAAqB,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,MAAM,UAAU,GACd,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,IAAI,KAAK,KAAK;YACd,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D,2EAA2E;IAC3E,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAI,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAE1C,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,iBAAiB;QAC/C,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,iBAAiB;QAC/C,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB,CACjD,CAAC;IACF,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAChC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC;QACzB,gBAAgB;QAChB,SAAS;QACT,IAAI;QACJ,QAAQ;QACR,OAAO,CAAC,QAAQ;QAChB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE;QAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC5B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,MAAM,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACxF,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE1B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpE,CAAC;IAED,2EAA2E;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjH,MAAM,UAAU,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;IAClF,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE3D,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,MAAM,EAAE;QACX,KAAK;QACL,WAAW,EAAE,CAAC,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC;QACjE,UAAU;QACV,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpG,QAAQ;KACT,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACpE,CAAC;AAOD,+EAA+E;AAC/E,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,cAAc;IACd,WAAW;IACX,eAAe;IACf,SAAS;CACD,CAAC;AAEX;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,MAAc,EACd,KAAa,EACb,UAAkB,EAClB,QAAgB,EAChB,QAA2B;IAE3B;gFAC4E;IAC5E,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAQ,EAAE;QAC3C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,cAAc,CAAC,IAAI,CAAC,CAAC;iBACzC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;IACF,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,GAAW,EAAU,EAAE;QAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtG,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAC7D,CAAC;IACF,MAAM,gBAAgB,GAAG,QAAQ;SAC9B,cAAc,EAAE;SAChB,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -28,6 +28,19 @@ function isExternalSpecifier(specifier) {
|
|
|
28
28
|
}
|
|
29
29
|
function resolveModule(fromDir, specifier) {
|
|
30
30
|
const base = resolve(fromDir, specifier);
|
|
31
|
+
// TypeScript sources are imported using their emitted `.js` extension
|
|
32
|
+
// (`import ... from "./foo.js"`), so map the extension back to the source
|
|
33
|
+
// file before probing the usual suffixes.
|
|
34
|
+
const candidates = [base];
|
|
35
|
+
const jsExtension = /\.(?:m|c)?jsx?$/.exec(base);
|
|
36
|
+
if (jsExtension) {
|
|
37
|
+
const stem = base.slice(0, jsExtension.index);
|
|
38
|
+
candidates.push(`${stem}.ts`, `${stem}.tsx`, `${stem}.mts`, `${stem}.cts`);
|
|
39
|
+
}
|
|
40
|
+
for (const candidate of candidates) {
|
|
41
|
+
if (existsSync(candidate) && statSync(candidate).isFile())
|
|
42
|
+
return candidate;
|
|
43
|
+
}
|
|
31
44
|
for (const suffix of RESOLVE_SUFFIXES) {
|
|
32
45
|
const candidate = base + suffix;
|
|
33
46
|
if (existsSync(candidate) && statSync(candidate).isFile())
|
|
@@ -48,8 +61,10 @@ function declarationName(node) {
|
|
|
48
61
|
case SyntaxKind.TypeAliasDeclaration:
|
|
49
62
|
case SyntaxKind.ModuleDeclaration:
|
|
50
63
|
return node.name;
|
|
51
|
-
case SyntaxKind.VariableDeclaration:
|
|
52
|
-
|
|
64
|
+
case SyntaxKind.VariableDeclaration: {
|
|
65
|
+
const name = node.name;
|
|
66
|
+
return name.kind === SyntaxKind.Identifier ? name : undefined;
|
|
67
|
+
}
|
|
53
68
|
default:
|
|
54
69
|
return undefined;
|
|
55
70
|
}
|
|
@@ -315,8 +330,7 @@ function exportedNames(statement) {
|
|
|
315
330
|
const names = [];
|
|
316
331
|
if (statement.kind === SyntaxKind.VariableStatement) {
|
|
317
332
|
for (const declaration of statement.declarationList.declarations) {
|
|
318
|
-
|
|
319
|
-
names.push(declaration.name.text);
|
|
333
|
+
collectBindingIdentifiers(declaration.name, names);
|
|
320
334
|
}
|
|
321
335
|
}
|
|
322
336
|
else {
|
|
@@ -326,6 +340,17 @@ function exportedNames(statement) {
|
|
|
326
340
|
}
|
|
327
341
|
return names;
|
|
328
342
|
}
|
|
343
|
+
function collectBindingIdentifiers(name, out) {
|
|
344
|
+
if (name.kind === SyntaxKind.Identifier) {
|
|
345
|
+
out.push(name.text);
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
const elements = name.kind === SyntaxKind.ArrayBindingPattern ? name.elements : name.elements;
|
|
349
|
+
for (const element of elements) {
|
|
350
|
+
if (element)
|
|
351
|
+
collectBindingIdentifiers(element.name, out);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
329
354
|
/** Turn `export default expr` into a synthetic `const` declaration. */
|
|
330
355
|
function exportAssignmentToStatement(record, assignment) {
|
|
331
356
|
const name = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/driver/modules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/driver/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's `child_process` module: `spawnSync(command, args, options)`, backed by
|
|
3
|
+
* `runtime/ext_node/child_process`. Captures stdout/stderr as UTF-8 strings and
|
|
4
|
+
* honours `options.cwd`, which is all the compiler's toolchain wrapper needs.
|
|
5
|
+
*/
|
|
6
|
+
import type { NodeModule } from "../module.js";
|
|
7
|
+
export declare const childProcessModule: NodeModule;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's `child_process` module: `spawnSync(command, args, options)`, backed by
|
|
3
|
+
* `runtime/ext_node/child_process`. Captures stdout/stderr as UTF-8 strings and
|
|
4
|
+
* honours `options.cwd`, which is all the compiler's toolchain wrapper needs.
|
|
5
|
+
*/
|
|
6
|
+
import { resolveFrom } from "../module.js";
|
|
7
|
+
const builtins = {
|
|
8
|
+
spawnSync: { symbol: "xt_child_process_spawn_sync" },
|
|
9
|
+
};
|
|
10
|
+
const exports = {
|
|
11
|
+
spawnSync: { symbol: "xt_child_process_spawn_sync" },
|
|
12
|
+
};
|
|
13
|
+
export const childProcessModule = {
|
|
14
|
+
name: "child_process",
|
|
15
|
+
runtimeSources: () => [resolveFrom(import.meta.url, "../../../../runtime/ext_node/child_process/child_process.c")],
|
|
16
|
+
builtins: () => builtins,
|
|
17
|
+
exports: () => exports,
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/child_process/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,QAAQ,GAAoC;IAChD,SAAS,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE;CACrD,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,SAAS,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4DAA4D,CAAC,CAAC;IAClH,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's `crypto` module: `createHash(...).update(...).digest("hex")`, backed
|
|
3
|
+
* by a self-contained SHA-256 in `runtime/ext_node/crypto`.
|
|
4
|
+
*/
|
|
5
|
+
import { resolveFrom } from "../module.js";
|
|
6
|
+
const builtins = {
|
|
7
|
+
createHash: { symbol: "xt_crypto_create_hash" },
|
|
8
|
+
};
|
|
9
|
+
const exports = {
|
|
10
|
+
createHash: { symbol: "xt_crypto_create_hash" },
|
|
11
|
+
};
|
|
12
|
+
export const cryptoModule = {
|
|
13
|
+
name: "crypto",
|
|
14
|
+
runtimeSources: () => [resolveFrom(import.meta.url, "../../../../runtime/ext_node/crypto/crypto.c")],
|
|
15
|
+
builtins: () => builtins,
|
|
16
|
+
exports: () => exports,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/crypto/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,QAAQ,GAAoC;IAChD,UAAU,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;CAChD,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,UAAU,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,IAAI,EAAE,QAAQ;IACd,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;IACpG,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC"}
|
|
@@ -19,6 +19,9 @@ import { streamModule } from "./stream/index.js";
|
|
|
19
19
|
import { netModule } from "./net/index.js";
|
|
20
20
|
import { dgramModule } from "./dgram/index.js";
|
|
21
21
|
import { httpModule } from "./http/index.js";
|
|
22
|
+
import { urlModule } from "./url/index.js";
|
|
23
|
+
import { cryptoModule } from "./crypto/index.js";
|
|
24
|
+
import { childProcessModule } from "./child_process/index.js";
|
|
22
25
|
/** Every Node module the extension currently provides. */
|
|
23
26
|
const modules = [
|
|
24
27
|
fsModule,
|
|
@@ -31,6 +34,9 @@ const modules = [
|
|
|
31
34
|
netModule,
|
|
32
35
|
dgramModule,
|
|
33
36
|
httpModule,
|
|
37
|
+
urlModule,
|
|
38
|
+
cryptoModule,
|
|
39
|
+
childProcessModule,
|
|
34
40
|
];
|
|
35
41
|
export const nodeExtension = {
|
|
36
42
|
name: "node",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,0DAA0D;AAC1D,MAAM,OAAO,GAA0B;IACrC,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,YAAY;IACZ,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,6EAA6E;IAC1F,2EAA2E;IAC3E,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACxF,2EAA2E;IAC3E,+DAA+D;IAC/D,uEAAuE;IACvE,yEAAyE;IACzE,uDAAuD;IACvD,OAAO,EAAE,GAAG,EAAE;QACZ,MAAM,OAAO,GAAoC,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAoB;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;aAC/D,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC7B,OAAO,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
|
|
@@ -21,5 +21,13 @@ export interface NodeModule {
|
|
|
21
21
|
/** Named exports for `import { x } from "..."` (defaults to `builtins()`). */
|
|
22
22
|
exports?(): ModuleExports;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Resolve a C runtime source that is written relative to an extension module
|
|
26
|
+
* (e.g. `../../../../runtime/ext_node/fs/read_file.c`).
|
|
27
|
+
*
|
|
28
|
+
* When running from source the page is resolved against the calling module's
|
|
29
|
+
* own URL, but inside a compiled xbintsc binary `import.meta.url` points at the
|
|
30
|
+
* executable, so the module-relative form no longer resolves. Anchor on the
|
|
31
|
+
* discovered runtime directory instead, which is correct in both worlds.
|
|
32
|
+
*/
|
|
25
33
|
export declare function resolveFrom(importMetaUrl: string, relative: string): string;
|
|
@@ -6,8 +6,21 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { dirname, resolve } from "node:path";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
|
-
|
|
9
|
+
import { findRuntimeDir } from "../../driver/paths.js";
|
|
10
|
+
/**
|
|
11
|
+
* Resolve a C runtime source that is written relative to an extension module
|
|
12
|
+
* (e.g. `../../../../runtime/ext_node/fs/read_file.c`).
|
|
13
|
+
*
|
|
14
|
+
* When running from source the page is resolved against the calling module's
|
|
15
|
+
* own URL, but inside a compiled xbintsc binary `import.meta.url` points at the
|
|
16
|
+
* executable, so the module-relative form no longer resolves. Anchor on the
|
|
17
|
+
* discovered runtime directory instead, which is correct in both worlds.
|
|
18
|
+
*/
|
|
10
19
|
export function resolveFrom(importMetaUrl, relative) {
|
|
20
|
+
const marker = "runtime/";
|
|
21
|
+
const index = relative.indexOf(marker);
|
|
22
|
+
if (index >= 0)
|
|
23
|
+
return resolve(findRuntimeDir(), relative.slice(index + marker.length));
|
|
11
24
|
return resolve(dirname(fileURLToPath(importMetaUrl)), relative);
|
|
12
25
|
}
|
|
13
26
|
//# sourceMappingURL=module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/extensions/node/module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/extensions/node/module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAoBvD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,aAAqB,EAAE,QAAgB;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's `url` module: `pathToFileURL` / `fileURLToPath`, backed by
|
|
3
|
+
* `runtime/ext_node/url`. These are the helpers the compiler uses to relate
|
|
4
|
+
* `import.meta.url`, `process.argv[1]` and filesystem paths.
|
|
5
|
+
*/
|
|
6
|
+
import type { NodeModule } from "../module.js";
|
|
7
|
+
export declare const urlModule: NodeModule;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node's `url` module: `pathToFileURL` / `fileURLToPath`, backed by
|
|
3
|
+
* `runtime/ext_node/url`. These are the helpers the compiler uses to relate
|
|
4
|
+
* `import.meta.url`, `process.argv[1]` and filesystem paths.
|
|
5
|
+
*/
|
|
6
|
+
import { resolveFrom } from "../module.js";
|
|
7
|
+
const builtins = {
|
|
8
|
+
pathToFileURL: { symbol: "xt_url_path_to_file_url" },
|
|
9
|
+
fileURLToPath: { symbol: "xt_url_file_url_to_path" },
|
|
10
|
+
};
|
|
11
|
+
const exports = {
|
|
12
|
+
pathToFileURL: { symbol: "xt_url_path_to_file_url" },
|
|
13
|
+
fileURLToPath: { symbol: "xt_url_file_url_to_path" },
|
|
14
|
+
};
|
|
15
|
+
export const urlModule = {
|
|
16
|
+
name: "url",
|
|
17
|
+
runtimeSources: () => [resolveFrom(import.meta.url, "../../../../runtime/ext_node/url/url.c")],
|
|
18
|
+
builtins: () => builtins,
|
|
19
|
+
exports: () => exports,
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/url/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,QAAQ,GAAoC;IAChD,aAAa,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;IACpD,aAAa,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;CACrD,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,aAAa,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;IACpD,aAAa,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC,IAAI,EAAE,KAAK;IACX,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wCAAwC,CAAC,CAAC;IAC9F,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC"}
|
|
@@ -219,13 +219,12 @@ export class Scanner {
|
|
|
219
219
|
const cleaned = raw.replace(/_/g, "");
|
|
220
220
|
if (isBigInt) {
|
|
221
221
|
raw = raw.slice(0, -1).replace(/_/g, "");
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
catch {
|
|
222
|
+
const parsed = Number(raw);
|
|
223
|
+
if (parsed !== parsed) {
|
|
226
224
|
this.error(DiagnosticCode.InvalidNumber, `Invalid BigInt literal '${raw}'`, start, this.pos);
|
|
227
|
-
return this.makeToken(TokenKind.BigIntLiteral, start, this.pos, raw, precededByLineBreak,
|
|
225
|
+
return this.makeToken(TokenKind.BigIntLiteral, start, this.pos, raw, precededByLineBreak, 0);
|
|
228
226
|
}
|
|
227
|
+
return this.makeToken(TokenKind.BigIntLiteral, start, this.pos, raw, precededByLineBreak, parsed);
|
|
229
228
|
}
|
|
230
229
|
let value;
|
|
231
230
|
if (/^0[xX]/.test(cleaned))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/lexer/scanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/lexer/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -168,3 +168,13 @@ export declare const KEYWORDS: Map<string, TokenKind>;
|
|
|
168
168
|
export declare const CONTEXTUAL_KEYWORDS: ReadonlySet<TokenKind>;
|
|
169
169
|
/** True when the token text is the contextual `of` keyword. */
|
|
170
170
|
export declare function isOfKeyword(token: Token): boolean;
|
|
171
|
+
/** Every keyword token kind, derived from the scanner's keyword table. */
|
|
172
|
+
export declare const KEYWORD_KINDS: ReadonlySet<TokenKind>;
|
|
173
|
+
/**
|
|
174
|
+
* True for the hard/contextual keywords the scanner emits. Property names and
|
|
175
|
+
* member access allow any of these (`obj.default`, `{ type: 1 }`), so the
|
|
176
|
+
* parser consults this instead of maintaining a hand-written allow list.
|
|
177
|
+
*/
|
|
178
|
+
export declare function isKeywordKind(kind: TokenKind): boolean;
|
|
179
|
+
/** True when the scanner token may be used as an identifier/binding name. */
|
|
180
|
+
export declare function isIdentifierNameToken(kind: TokenKind): boolean;
|
package/dist/src/lexer/token.js
CHANGED
|
@@ -247,4 +247,73 @@ export const CONTEXTUAL_KEYWORDS = new Set([
|
|
|
247
247
|
export function isOfKeyword(token) {
|
|
248
248
|
return token.kind === TokenKind.Identifier && token.text === "of";
|
|
249
249
|
}
|
|
250
|
+
/** Every keyword token kind, derived from the scanner's keyword table. */
|
|
251
|
+
export const KEYWORD_KINDS = new Set(KEYWORDS.values());
|
|
252
|
+
/**
|
|
253
|
+
* True for the hard/contextual keywords the scanner emits. Property names and
|
|
254
|
+
* member access allow any of these (`obj.default`, `{ type: 1 }`), so the
|
|
255
|
+
* parser consults this instead of maintaining a hand-written allow list.
|
|
256
|
+
*/
|
|
257
|
+
export function isKeywordKind(kind) {
|
|
258
|
+
return KEYWORD_KINDS.has(kind);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Keywords that can never be used as a plain binding/identifier. Everything
|
|
262
|
+
* else the scanner recognizes is a TypeScript contextual keyword (`type`,
|
|
263
|
+
* `async`, `module`, `namespace`, `readonly`, …) and may legally name a
|
|
264
|
+
* variable, parameter or property.
|
|
265
|
+
*/
|
|
266
|
+
const RESERVED_KEYWORDS = new Set([
|
|
267
|
+
TokenKind.BreakKeyword,
|
|
268
|
+
TokenKind.CaseKeyword,
|
|
269
|
+
TokenKind.CatchKeyword,
|
|
270
|
+
TokenKind.ClassKeyword,
|
|
271
|
+
TokenKind.ConstKeyword,
|
|
272
|
+
TokenKind.ContinueKeyword,
|
|
273
|
+
TokenKind.DebuggerKeyword,
|
|
274
|
+
TokenKind.DefaultKeyword,
|
|
275
|
+
TokenKind.DeleteKeyword,
|
|
276
|
+
TokenKind.DoKeyword,
|
|
277
|
+
TokenKind.ElseKeyword,
|
|
278
|
+
TokenKind.EnumKeyword,
|
|
279
|
+
TokenKind.ExportKeyword,
|
|
280
|
+
TokenKind.ExtendsKeyword,
|
|
281
|
+
TokenKind.FalseKeyword,
|
|
282
|
+
TokenKind.FinallyKeyword,
|
|
283
|
+
TokenKind.ForKeyword,
|
|
284
|
+
TokenKind.FunctionKeyword,
|
|
285
|
+
TokenKind.IfKeyword,
|
|
286
|
+
TokenKind.ImportKeyword,
|
|
287
|
+
TokenKind.InKeyword,
|
|
288
|
+
TokenKind.InstanceOfKeyword,
|
|
289
|
+
TokenKind.NewKeyword,
|
|
290
|
+
TokenKind.NullKeyword,
|
|
291
|
+
TokenKind.ReturnKeyword,
|
|
292
|
+
TokenKind.SuperKeyword,
|
|
293
|
+
TokenKind.SwitchKeyword,
|
|
294
|
+
TokenKind.ThisKeyword,
|
|
295
|
+
TokenKind.ThrowKeyword,
|
|
296
|
+
TokenKind.TrueKeyword,
|
|
297
|
+
TokenKind.TryKeyword,
|
|
298
|
+
TokenKind.TypeOfKeyword,
|
|
299
|
+
TokenKind.VarKeyword,
|
|
300
|
+
TokenKind.VoidKeyword,
|
|
301
|
+
TokenKind.WhileKeyword,
|
|
302
|
+
TokenKind.WithKeyword,
|
|
303
|
+
// Strict-mode / module reserved words.
|
|
304
|
+
TokenKind.LetKeyword,
|
|
305
|
+
TokenKind.StaticKeyword,
|
|
306
|
+
TokenKind.YieldKeyword,
|
|
307
|
+
TokenKind.AwaitKeyword,
|
|
308
|
+
TokenKind.ImplementsKeyword,
|
|
309
|
+
TokenKind.InterfaceKeyword,
|
|
310
|
+
TokenKind.PackageKeyword,
|
|
311
|
+
TokenKind.PrivateKeyword,
|
|
312
|
+
TokenKind.ProtectedKeyword,
|
|
313
|
+
TokenKind.PublicKeyword,
|
|
314
|
+
]);
|
|
315
|
+
/** True when the scanner token may be used as an identifier/binding name. */
|
|
316
|
+
export function isIdentifierNameToken(kind) {
|
|
317
|
+
return kind === TokenKind.Identifier || (isKeywordKind(kind) && !RESERVED_KEYWORDS.has(kind));
|
|
318
|
+
}
|
|
250
319
|
//# sourceMappingURL=token.js.map
|