@bytecodealliance/jco 1.32.1 → 1.34.0
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 +12 -1
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +12 -0
- package/dist/bundle.js.map +1 -1
- package/dist/cmd/componentize.d.ts +33 -0
- package/dist/cmd/componentize.d.ts.map +1 -1
- package/dist/cmd/componentize.js +92 -8
- package/dist/cmd/componentize.js.map +1 -1
- package/dist/cmd/new.js +2 -1
- package/dist/cmd/new.js.map +1 -1
- package/dist/cmd/run.d.ts.map +1 -1
- package/dist/cmd/run.js +58 -1
- package/dist/cmd/run.js.map +1 -1
- package/dist/cmd/transpile.d.ts +5 -1
- package/dist/cmd/transpile.d.ts.map +1 -1
- package/dist/cmd/transpile.js +124 -0
- package/dist/cmd/transpile.js.map +1 -1
- package/dist/engine-compat.d.ts +11 -0
- package/dist/engine-compat.d.ts.map +1 -0
- package/dist/engine-compat.js +56 -0
- package/dist/engine-compat.js.map +1 -0
- package/dist/jco.js +12 -1
- package/dist/jco.js.map +1 -1
- package/dist/node-builtins/assert.d.ts +3 -0
- package/dist/node-builtins/assert.d.ts.map +1 -0
- package/dist/node-builtins/assert.js +65 -0
- package/dist/node-builtins/assert.js.map +1 -0
- package/dist/node-builtins/async-hooks.d.ts +3 -0
- package/dist/node-builtins/async-hooks.d.ts.map +1 -0
- package/dist/node-builtins/async-hooks.js +27 -0
- package/dist/node-builtins/async-hooks.js.map +1 -0
- package/dist/node-builtins/buffer.d.ts +4 -0
- package/dist/node-builtins/buffer.d.ts.map +1 -0
- package/dist/node-builtins/buffer.js +87 -0
- package/dist/node-builtins/buffer.js.map +1 -0
- package/dist/node-builtins/child-process.d.ts +3 -0
- package/dist/node-builtins/child-process.d.ts.map +1 -0
- package/dist/node-builtins/child-process.js +23 -0
- package/dist/node-builtins/child-process.js.map +1 -0
- package/dist/node-builtins/cluster.d.ts +3 -0
- package/dist/node-builtins/cluster.d.ts.map +1 -0
- package/dist/node-builtins/cluster.js +28 -0
- package/dist/node-builtins/cluster.js.map +1 -0
- package/dist/node-builtins/console.d.ts +3 -0
- package/dist/node-builtins/console.d.ts.map +1 -0
- package/dist/node-builtins/console.js +39 -0
- package/dist/node-builtins/console.js.map +1 -0
- package/dist/node-builtins/crypto.d.ts +3 -0
- package/dist/node-builtins/crypto.d.ts.map +1 -0
- package/dist/node-builtins/crypto.js +5 -0
- package/dist/node-builtins/crypto.js.map +1 -0
- package/dist/node-builtins/dgram.d.ts +4 -0
- package/dist/node-builtins/dgram.d.ts.map +1 -0
- package/dist/node-builtins/dgram.js +13 -0
- package/dist/node-builtins/dgram.js.map +1 -0
- package/dist/node-builtins/diagnostics-channel.d.ts +3 -0
- package/dist/node-builtins/diagnostics-channel.d.ts.map +1 -0
- package/dist/node-builtins/diagnostics-channel.js +26 -0
- package/dist/node-builtins/diagnostics-channel.js.map +1 -0
- package/dist/node-builtins/dns.d.ts +3 -0
- package/dist/node-builtins/dns.d.ts.map +1 -0
- package/dist/node-builtins/dns.js +12 -0
- package/dist/node-builtins/dns.js.map +1 -0
- package/dist/node-builtins/domain.d.ts +3 -0
- package/dist/node-builtins/domain.d.ts.map +1 -0
- package/dist/node-builtins/domain.js +19 -0
- package/dist/node-builtins/domain.js.map +1 -0
- package/dist/node-builtins/events.d.ts +3 -0
- package/dist/node-builtins/events.d.ts.map +1 -0
- package/dist/node-builtins/events.js +39 -0
- package/dist/node-builtins/events.js.map +1 -0
- package/dist/node-builtins/ffi.d.ts +3 -0
- package/dist/node-builtins/ffi.d.ts.map +1 -0
- package/dist/node-builtins/ffi.js +59 -0
- package/dist/node-builtins/ffi.js.map +1 -0
- package/dist/node-builtins/fs.d.ts +3 -0
- package/dist/node-builtins/fs.d.ts.map +1 -0
- package/dist/node-builtins/fs.js +16 -0
- package/dist/node-builtins/fs.js.map +1 -0
- package/dist/node-builtins/globals.d.ts +19 -0
- package/dist/node-builtins/globals.d.ts.map +1 -0
- package/dist/node-builtins/globals.js +56 -0
- package/dist/node-builtins/globals.js.map +1 -0
- package/dist/node-builtins/http-common.d.ts +6 -0
- package/dist/node-builtins/http-common.d.ts.map +1 -0
- package/dist/node-builtins/http-common.js +111 -0
- package/dist/node-builtins/http-common.js.map +1 -0
- package/dist/node-builtins/http.d.ts +4 -0
- package/dist/node-builtins/http.d.ts.map +1 -0
- package/dist/node-builtins/http.js +15 -0
- package/dist/node-builtins/http.js.map +1 -0
- package/dist/node-builtins/http2.d.ts +4 -0
- package/dist/node-builtins/http2.d.ts.map +1 -0
- package/dist/node-builtins/http2.js +79 -0
- package/dist/node-builtins/http2.js.map +1 -0
- package/dist/node-builtins/https.d.ts +3 -0
- package/dist/node-builtins/https.d.ts.map +1 -0
- package/dist/node-builtins/https.js +5 -0
- package/dist/node-builtins/https.js.map +1 -0
- package/dist/node-builtins/index.d.ts +10 -0
- package/dist/node-builtins/index.d.ts.map +1 -0
- package/dist/node-builtins/index.js +164 -0
- package/dist/node-builtins/index.js.map +1 -0
- package/dist/node-builtins/inspector.d.ts +12 -0
- package/dist/node-builtins/inspector.d.ts.map +1 -0
- package/dist/node-builtins/inspector.js +70 -0
- package/dist/node-builtins/inspector.js.map +1 -0
- package/dist/node-builtins/module.d.ts +3 -0
- package/dist/node-builtins/module.d.ts.map +1 -0
- package/dist/node-builtins/module.js +55 -0
- package/dist/node-builtins/module.js.map +1 -0
- package/dist/node-builtins/net.d.ts +3 -0
- package/dist/node-builtins/net.d.ts.map +1 -0
- package/dist/node-builtins/net.js +46 -0
- package/dist/node-builtins/net.js.map +1 -0
- package/dist/node-builtins/os.d.ts +3 -0
- package/dist/node-builtins/os.d.ts.map +1 -0
- package/dist/node-builtins/os.js +39 -0
- package/dist/node-builtins/os.js.map +1 -0
- package/dist/node-builtins/path.d.ts +3 -0
- package/dist/node-builtins/path.d.ts.map +1 -0
- package/dist/node-builtins/path.js +91 -0
- package/dist/node-builtins/path.js.map +1 -0
- package/dist/node-builtins/perf-hooks.d.ts +3 -0
- package/dist/node-builtins/perf-hooks.d.ts.map +1 -0
- package/dist/node-builtins/perf-hooks.js +12 -0
- package/dist/node-builtins/perf-hooks.js.map +1 -0
- package/dist/node-builtins/process.d.ts +3 -0
- package/dist/node-builtins/process.d.ts.map +1 -0
- package/dist/node-builtins/process.js +9 -0
- package/dist/node-builtins/process.js.map +1 -0
- package/dist/node-builtins/querystring.d.ts +3 -0
- package/dist/node-builtins/querystring.d.ts.map +1 -0
- package/dist/node-builtins/querystring.js +18 -0
- package/dist/node-builtins/querystring.js.map +1 -0
- package/dist/node-builtins/readline.d.ts +3 -0
- package/dist/node-builtins/readline.d.ts.map +1 -0
- package/dist/node-builtins/readline.js +11 -0
- package/dist/node-builtins/readline.js.map +1 -0
- package/dist/node-builtins/repl.d.ts +9 -0
- package/dist/node-builtins/repl.d.ts.map +1 -0
- package/dist/node-builtins/repl.js +12 -0
- package/dist/node-builtins/repl.js.map +1 -0
- package/dist/node-builtins/shared.d.ts +24 -0
- package/dist/node-builtins/shared.d.ts.map +1 -0
- package/dist/node-builtins/shared.js +68 -0
- package/dist/node-builtins/shared.js.map +1 -0
- package/dist/node-builtins/sqlite.d.ts +3 -0
- package/dist/node-builtins/sqlite.d.ts.map +1 -0
- package/dist/node-builtins/sqlite.js +9 -0
- package/dist/node-builtins/sqlite.js.map +1 -0
- package/dist/node-builtins/stream.d.ts +3 -0
- package/dist/node-builtins/stream.d.ts.map +1 -0
- package/dist/node-builtins/stream.js +64 -0
- package/dist/node-builtins/stream.js.map +1 -0
- package/dist/node-builtins/string-decoder.d.ts +3 -0
- package/dist/node-builtins/string-decoder.d.ts.map +1 -0
- package/dist/node-builtins/string-decoder.js +14 -0
- package/dist/node-builtins/string-decoder.js.map +1 -0
- package/dist/node-builtins/test.d.ts +4 -0
- package/dist/node-builtins/test.d.ts.map +1 -0
- package/dist/node-builtins/test.js +8 -0
- package/dist/node-builtins/test.js.map +1 -0
- package/dist/node-builtins/timers.d.ts +4 -0
- package/dist/node-builtins/timers.d.ts.map +1 -0
- package/dist/node-builtins/timers.js +9 -0
- package/dist/node-builtins/timers.js.map +1 -0
- package/dist/node-builtins/tls.d.ts +3 -0
- package/dist/node-builtins/tls.d.ts.map +1 -0
- package/dist/node-builtins/tls.js +10 -0
- package/dist/node-builtins/tls.js.map +1 -0
- package/dist/node-builtins/trace-events.d.ts +3 -0
- package/dist/node-builtins/trace-events.d.ts.map +1 -0
- package/dist/node-builtins/trace-events.js +9 -0
- package/dist/node-builtins/trace-events.js.map +1 -0
- package/dist/node-builtins/tty.d.ts +8 -0
- package/dist/node-builtins/tty.d.ts.map +1 -0
- package/dist/node-builtins/tty.js +12 -0
- package/dist/node-builtins/tty.js.map +1 -0
- package/dist/node-builtins/types.d.ts +159 -0
- package/dist/node-builtins/types.d.ts.map +1 -0
- package/dist/node-builtins/types.js +2 -0
- package/dist/node-builtins/types.js.map +1 -0
- package/dist/node-builtins/unenv.d.ts +6 -0
- package/dist/node-builtins/unenv.d.ts.map +1 -0
- package/dist/node-builtins/unenv.js +27 -0
- package/dist/node-builtins/unenv.js.map +1 -0
- package/dist/node-builtins/url-pattern.d.ts +8 -0
- package/dist/node-builtins/url-pattern.d.ts.map +1 -0
- package/dist/node-builtins/url-pattern.js +19 -0
- package/dist/node-builtins/url-pattern.js.map +1 -0
- package/dist/node-builtins/url.d.ts +4 -0
- package/dist/node-builtins/url.d.ts.map +1 -0
- package/dist/node-builtins/url.js +100 -0
- package/dist/node-builtins/url.js.map +1 -0
- package/dist/node-builtins/util.d.ts +3 -0
- package/dist/node-builtins/util.d.ts.map +1 -0
- package/dist/node-builtins/util.js +7 -0
- package/dist/node-builtins/util.js.map +1 -0
- package/dist/node-builtins/v8.d.ts +3 -0
- package/dist/node-builtins/v8.d.ts.map +1 -0
- package/dist/node-builtins/v8.js +6 -0
- package/dist/node-builtins/v8.js.map +1 -0
- package/dist/node-builtins/vfs.d.ts +3 -0
- package/dist/node-builtins/vfs.d.ts.map +1 -0
- package/dist/node-builtins/vfs.js +42 -0
- package/dist/node-builtins/vfs.js.map +1 -0
- package/dist/node-builtins/vm.d.ts +4 -0
- package/dist/node-builtins/vm.d.ts.map +1 -0
- package/dist/node-builtins/vm.js +6 -0
- package/dist/node-builtins/vm.js.map +1 -0
- package/dist/node-builtins/wasi-sockets.d.ts +10 -0
- package/dist/node-builtins/wasi-sockets.d.ts.map +1 -0
- package/dist/node-builtins/wasi-sockets.js +25 -0
- package/dist/node-builtins/wasi-sockets.js.map +1 -0
- package/dist/node-builtins/wasi.d.ts +10 -0
- package/dist/node-builtins/wasi.d.ts.map +1 -0
- package/dist/node-builtins/wasi.js +14 -0
- package/dist/node-builtins/wasi.js.map +1 -0
- package/dist/node-builtins/worker-threads.d.ts +3 -0
- package/dist/node-builtins/worker-threads.d.ts.map +1 -0
- package/dist/node-builtins/worker-threads.js +16 -0
- package/dist/node-builtins/worker-threads.js.map +1 -0
- package/dist/node-builtins/zlib.d.ts +3 -0
- package/dist/node-builtins/zlib.d.ts.map +1 -0
- package/dist/node-builtins/zlib.js +6 -0
- package/dist/node-builtins/zlib.js.map +1 -0
- package/dist/node-wit.d.ts +102 -0
- package/dist/node-wit.d.ts.map +1 -0
- package/dist/node-wit.js +469 -0
- package/dist/node-wit.js.map +1 -0
- package/lib/wasi_snapshot_preview1.command.wasm +0 -0
- package/lib/wasi_snapshot_preview1.reactor.wasm +0 -0
- package/lib/wit/builtin/0.2.10/wasi-clocks/package.wit +35 -0
- package/lib/wit/builtin/0.2.10/wasi-io/package.wit +47 -0
- package/lib/wit/builtin/0.2.10/wasi-sockets/package.wit +168 -0
- package/lib/wit/builtin/jco-node-0.1.0/child-process.wit +42 -0
- package/lib/wit/builtin/jco-node-0.1.0/cluster.wit +112 -0
- package/lib/wit/builtin/jco-node-0.1.0/console.wit +12 -0
- package/lib/wit/builtin/jco-node-0.1.0/dgram.wit +142 -0
- package/lib/wit/builtin/jco-node-0.1.0/dns.wit +145 -0
- package/lib/wit/builtin/jco-node-0.1.0/ffi.wit +116 -0
- package/lib/wit/builtin/jco-node-0.1.0/fs.wit +208 -0
- package/lib/wit/builtin/jco-node-0.1.0/http.wit +151 -0
- package/lib/wit/builtin/jco-node-0.1.0/http2.wit +190 -0
- package/lib/wit/builtin/jco-node-0.1.0/inspector.wit +142 -0
- package/lib/wit/builtin/jco-node-0.1.0/os.wit +120 -0
- package/lib/wit/builtin/jco-node-0.1.0/process.wit +245 -0
- package/lib/wit/builtin/jco-node-0.1.0/sqlite.wit +154 -0
- package/lib/wit/builtin/jco-node-0.1.0/tls.wit +108 -0
- package/lib/wit/builtin/jco-node-0.1.0/trace-events.wit +27 -0
- package/lib/wit/builtin/jco-node-0.1.0/tty.wit +59 -0
- package/lib/wit/builtin/jco-node-0.1.0/types.wit +12 -0
- package/lib/wit/builtin/jco-node-0.1.0/v8.wit +102 -0
- package/lib/wit/builtin/jco-node-0.1.0/wasi.wit +57 -0
- package/lib/wit/builtin/jco-node-0.1.0/worker-threads.wit +67 -0
- package/lib/wit/builtin/jco-node-0.1.0/zlib.wit +77 -0
- package/lib/wit/builtin/wasi-tls-0.2.0-draft/LICENSE.md +8 -0
- package/lib/wit/builtin/wasi-tls-0.2.0-draft/README.md +25 -0
- package/lib/wit/builtin/wasi-tls-0.2.0-draft/deps/io/package.wit +66 -0
- package/lib/wit/builtin/wasi-tls-0.2.0-draft/types.wit +27 -0
- package/lib/wit/builtin/wasi-tls-0.2.0-draft/world.wit +8 -0
- package/package.json +9 -5
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { PATH_WIT_REQUIREMENT } from "../node-wit.js";
|
|
2
|
+
import { VIRTUAL_PREFIX, stdModule } from "./shared.js";
|
|
3
|
+
const PATH_SPECIFIERS = new Map([
|
|
4
|
+
["node:path", "default"],
|
|
5
|
+
["node:path/posix", "posix"],
|
|
6
|
+
["node:path/win32", "win32"],
|
|
7
|
+
]);
|
|
8
|
+
/**
|
|
9
|
+
* Determine the `wasi:cli/environment` version a WIT world imports.
|
|
10
|
+
*
|
|
11
|
+
* `node:path` is backed by WASI, so the world has to import the interface it needs, at exactly
|
|
12
|
+
* one version.
|
|
13
|
+
*/
|
|
14
|
+
function environmentVersion(worldMetadata) {
|
|
15
|
+
const matches = (worldMetadata?.imports ?? []).filter((iface) => iface.namespace === "wasi" &&
|
|
16
|
+
iface.package === "cli" &&
|
|
17
|
+
iface.interface === "environment" &&
|
|
18
|
+
iface.version?.major === 0n &&
|
|
19
|
+
iface.version?.minor === 2n);
|
|
20
|
+
if (matches.length === 0) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
if (matches.length > 1) {
|
|
24
|
+
throw new Error("node:path cannot select a WASI environment adapter because the selected WIT world imports multiple wasi:cli/environment@0.2.x versions");
|
|
25
|
+
}
|
|
26
|
+
const { major, minor, patch, pre } = matches[0].version;
|
|
27
|
+
return `${major}.${minor}.${patch}${pre ? `-${pre}` : ""}`;
|
|
28
|
+
}
|
|
29
|
+
/** Source of the shared `node:path` core, which owns the single WASI-backed path instance */
|
|
30
|
+
function pathCore(version, factoryPath) {
|
|
31
|
+
return `
|
|
32
|
+
import { initialCwd, getEnvironment } from "wasi:cli/environment@${version}";
|
|
33
|
+
import { createPath } from ${JSON.stringify(factoryPath)};
|
|
34
|
+
export const portablePath = createPath({ initialCwd, getEnvironment });
|
|
35
|
+
`;
|
|
36
|
+
}
|
|
37
|
+
/** Source of a `node:path`, `node:path/posix`, or `node:path/win32` adapter */
|
|
38
|
+
function pathAdapter(specifier, version) {
|
|
39
|
+
const namespace = PATH_SPECIFIERS.get(specifier);
|
|
40
|
+
return `
|
|
41
|
+
import { portablePath } from ${JSON.stringify(`${VIRTUAL_PREFIX}path-core@${version}`)};
|
|
42
|
+
const path = ${namespace === "default" ? "portablePath" : `portablePath.${namespace}`};
|
|
43
|
+
export default path;
|
|
44
|
+
export const _makeLong = path._makeLong;
|
|
45
|
+
export const basename = path.basename;
|
|
46
|
+
export const delimiter = path.delimiter;
|
|
47
|
+
export const dirname = path.dirname;
|
|
48
|
+
export const extname = path.extname;
|
|
49
|
+
export const format = path.format;
|
|
50
|
+
export const matchesGlob = path.matchesGlob;
|
|
51
|
+
export const isAbsolute = path.isAbsolute;
|
|
52
|
+
export const join = path.join;
|
|
53
|
+
export const normalize = path.normalize;
|
|
54
|
+
export const parse = path.parse;
|
|
55
|
+
export const posix = path.posix;
|
|
56
|
+
export const relative = path.relative;
|
|
57
|
+
export const resolve = path.resolve;
|
|
58
|
+
export const sep = path.sep;
|
|
59
|
+
export const toNamespacedPath = path.toNamespacedPath;
|
|
60
|
+
export const win32 = path.win32;
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
export function createPathBuiltin({ options, worldMetadata }) {
|
|
64
|
+
return {
|
|
65
|
+
resolveId(id) {
|
|
66
|
+
if (!PATH_SPECIFIERS.has(id)) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
let version = environmentVersion(worldMetadata);
|
|
70
|
+
if (!version) {
|
|
71
|
+
options.onWitRequirement?.(PATH_WIT_REQUIREMENT);
|
|
72
|
+
version = "0.2.12";
|
|
73
|
+
}
|
|
74
|
+
return `${VIRTUAL_PREFIX}${id}@${version}`;
|
|
75
|
+
},
|
|
76
|
+
load(id) {
|
|
77
|
+
if (!id.startsWith(VIRTUAL_PREFIX)) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const value = id.slice(VIRTUAL_PREFIX.length);
|
|
81
|
+
const separator = value.lastIndexOf("@");
|
|
82
|
+
const specifier = value.slice(0, separator);
|
|
83
|
+
const version = value.slice(separator + 1);
|
|
84
|
+
if (specifier === "path-core") {
|
|
85
|
+
return pathCore(version, stdModule(options.pathFactory, "path"));
|
|
86
|
+
}
|
|
87
|
+
return PATH_SPECIFIERS.has(specifier) ? pathAdapter(specifier, version) : null;
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/node-builtins/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-hooks.d.ts","sourceRoot":"","sources":["../../src/node-builtins/perf-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAU3F,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAElF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { builtin, stdModule } from "./shared.js";
|
|
2
|
+
/** Source of the capability-free `node:perf_hooks` ESM facade. */
|
|
3
|
+
function perfHooksAdapter(perfHooksModule) {
|
|
4
|
+
return `
|
|
5
|
+
export { default } from ${JSON.stringify(perfHooksModule)};
|
|
6
|
+
export * from ${JSON.stringify(perfHooksModule)};
|
|
7
|
+
`;
|
|
8
|
+
}
|
|
9
|
+
export function createPerfHooksBuiltin({ options }) {
|
|
10
|
+
return builtin("node:perf_hooks", () => perfHooksAdapter(stdModule(options.perfHooksModule, "perf-hooks")));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=perf-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-hooks.js","sourceRoot":"","sources":["../../src/node-builtins/perf-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3F,kEAAkE;AAClE,SAAS,gBAAgB,CAAC,eAAuB;IAC7C,OAAO;0BACe,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;CAC9C,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAE,OAAO,EAAkB;IAC9D,OAAO,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/node-builtins/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAG3F,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAShF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { builtin, stdModule } from "./shared.js";
|
|
2
|
+
import { PROCESS_WIT_REQUIREMENT } from "../node-wit.js";
|
|
3
|
+
export function createProcessBuiltin({ options }) {
|
|
4
|
+
return builtin("node:process", () => {
|
|
5
|
+
const module = JSON.stringify(stdModule(options.processModule, "process"));
|
|
6
|
+
return `export { default } from ${module}; export * from ${module};`;
|
|
7
|
+
}, () => options.onWitRequirement?.(PROCESS_WIT_REQUIREMENT));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/node-builtins/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAkB;IAC5D,OAAO,OAAO,CACV,cAAc,EACd,GAAG,EAAE;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,OAAO,2BAA2B,MAAM,mBAAmB,MAAM,GAAG,CAAC;IACzE,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,uBAAuB,CAAC,CAC5D,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystring.d.ts","sourceRoot":"","sources":["../../src/node-builtins/querystring.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAW,MAAM,aAAa,CAAC;AAYhF,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAQpF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { unenvModule } from "./unenv.js";
|
|
2
|
+
import { UNENV_BUFFER_CORE } from "./buffer.js";
|
|
3
|
+
import { builtin } from "./shared.js";
|
|
4
|
+
function querystringAdapter(options) {
|
|
5
|
+
const querystringModule = unenvModule("node:querystring", options);
|
|
6
|
+
return `
|
|
7
|
+
import ${JSON.stringify(UNENV_BUFFER_CORE)};
|
|
8
|
+
import querystring from ${JSON.stringify(querystringModule)};
|
|
9
|
+
export * from ${JSON.stringify(querystringModule)};
|
|
10
|
+
export default querystring;
|
|
11
|
+
`;
|
|
12
|
+
}
|
|
13
|
+
export function createQuerystringBuiltin({ options }) {
|
|
14
|
+
return builtin("node:querystring", () => querystringAdapter(options), () => {
|
|
15
|
+
querystringAdapter(options);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=querystring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querystring.js","sourceRoot":"","sources":["../../src/node-builtins/querystring.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA4C,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhF,SAAS,kBAAkB,CAAC,OAA2B;IACnD,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO;SACF,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;0BAChB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;CAEhD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAkB;IAChE,OAAO,OAAO,CACV,kBAAkB,EAClB,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EACjC,GAAG,EAAE;QACD,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readline.d.ts","sourceRoot":"","sources":["../../src/node-builtins/readline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAIhH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAQjF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { starReexportAdapter, builtin, stdModule } from "./shared.js";
|
|
2
|
+
const READLINE_SPECIFIERS = new Set(["node:readline", "node:readline/promises"]);
|
|
3
|
+
export function createReadlineBuiltin({ options }) {
|
|
4
|
+
return builtin(READLINE_SPECIFIERS, (specifier) => {
|
|
5
|
+
const module = specifier === "node:readline"
|
|
6
|
+
? stdModule(options.readlineModule, "readline")
|
|
7
|
+
: stdModule(options.readlinePromisesModule, "readline/promises");
|
|
8
|
+
return starReexportAdapter(module, "readline");
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=readline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readline.js","sourceRoot":"","sources":["../../src/node-builtins/readline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEjF,MAAM,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAkB;IAC7D,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,MAAM,GACR,SAAS,KAAK,eAAe;YACzB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;QACzE,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* `node:repl` is entirely guest-side -- evaluation, line editing and completion over the streams
|
|
4
|
+
* the application supplies -- so it reports no WIT requirement. The jco-std module is the only one
|
|
5
|
+
* that bundles acorn; resolving it here, and nowhere else, keeps the parser out of every other
|
|
6
|
+
* component.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createReplBuiltin({ options }: BuiltinContext): BuiltinAdapter;
|
|
9
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/node-builtins/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAIhH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAE7E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { starReexportAdapter, builtin, stdModule } from "./shared.js";
|
|
2
|
+
const REPL_SPECIFIER = "node:repl";
|
|
3
|
+
/**
|
|
4
|
+
* `node:repl` is entirely guest-side -- evaluation, line editing and completion over the streams
|
|
5
|
+
* the application supplies -- so it reports no WIT requirement. The jco-std module is the only one
|
|
6
|
+
* that bundles acorn; resolving it here, and nowhere else, keeps the parser out of every other
|
|
7
|
+
* component.
|
|
8
|
+
*/
|
|
9
|
+
export function createReplBuiltin({ options }) {
|
|
10
|
+
return builtin(REPL_SPECIFIER, () => starReexportAdapter(stdModule(options.replModule, "repl"), "repl"));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=repl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/node-builtins/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhH,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7G,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type WorldMetadata, type NodeBuiltinOptions } from "./types.js";
|
|
2
|
+
export declare const VIRTUAL_PREFIX = "\0jco-node-builtin:";
|
|
3
|
+
/**
|
|
4
|
+
* Source of an adapter that forwards a module's default export and re-exports its whole named
|
|
5
|
+
* surface. `localName` only names the default-import binding in the generated source.
|
|
6
|
+
*/
|
|
7
|
+
export declare function starReexportAdapter(module: string, localName: string): string;
|
|
8
|
+
export interface BuiltinAdapter {
|
|
9
|
+
resolveId(id: string, importer?: string): string | null;
|
|
10
|
+
load(id: string): string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface BuiltinContext {
|
|
13
|
+
worldMetadata: WorldMetadata;
|
|
14
|
+
options: NodeBuiltinOptions;
|
|
15
|
+
}
|
|
16
|
+
/** Keep both the WASI and Node major pinned; resolve only when an adapter is loaded. */
|
|
17
|
+
export declare function stdModule(override: string | undefined, subpath: string, major?: string): string;
|
|
18
|
+
/** Register ordinary node: specifiers without eagerly resolving their implementations. */
|
|
19
|
+
export declare function builtin(specifiers: string | Iterable<string>, load: (specifier: string) => string, onResolve?: (specifier: string) => void): BuiltinAdapter;
|
|
20
|
+
/** Register a shared virtual module, such as a guest callback interface. */
|
|
21
|
+
export declare function virtualBuiltin(specifier: string, virtualId: string, load: () => string): BuiltinAdapter;
|
|
22
|
+
/** Compose adapters in order, stopping at the first one that handles the request. */
|
|
23
|
+
export declare function composeBuiltins(adapters: BuiltinAdapter[]): BuiltinAdapter;
|
|
24
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/node-builtins/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGzE,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,MAAM,CAIjG;AAED,0FAA0F;AAC1F,wBAAgB,OAAO,CACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EACrC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACnC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GACxC,cAAc,CAkBhB;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,GAAG,cAAc,CAKvG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,CAqB1E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
export const VIRTUAL_PREFIX = "\0jco-node-builtin:";
|
|
3
|
+
/**
|
|
4
|
+
* Source of an adapter that forwards a module's default export and re-exports its whole named
|
|
5
|
+
* surface. `localName` only names the default-import binding in the generated source.
|
|
6
|
+
*/
|
|
7
|
+
export function starReexportAdapter(module, localName) {
|
|
8
|
+
return `
|
|
9
|
+
import ${localName} from ${JSON.stringify(module)};
|
|
10
|
+
export default ${localName};
|
|
11
|
+
export * from ${JSON.stringify(module)};
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
14
|
+
/** Keep both the WASI and Node major pinned; resolve only when an adapter is loaded. */
|
|
15
|
+
export function stdModule(override, subpath, major = "24.x.x") {
|
|
16
|
+
return (override ?? fileURLToPath(import.meta.resolve(`@bytecodealliance/jco-std/wasi/0.2.x/node/${major}/${subpath}`)));
|
|
17
|
+
}
|
|
18
|
+
/** Register ordinary node: specifiers without eagerly resolving their implementations. */
|
|
19
|
+
export function builtin(specifiers, load, onResolve) {
|
|
20
|
+
const supported = new Set(typeof specifiers === "string" ? [specifiers] : specifiers);
|
|
21
|
+
return {
|
|
22
|
+
resolveId(id) {
|
|
23
|
+
if (!supported.has(id)) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
onResolve?.(id);
|
|
27
|
+
return VIRTUAL_PREFIX + id;
|
|
28
|
+
},
|
|
29
|
+
load(id) {
|
|
30
|
+
if (!id.startsWith(VIRTUAL_PREFIX)) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const specifier = id.slice(VIRTUAL_PREFIX.length);
|
|
34
|
+
return supported.has(specifier) ? load(specifier) : null;
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Register a shared virtual module, such as a guest callback interface. */
|
|
39
|
+
export function virtualBuiltin(specifier, virtualId, load) {
|
|
40
|
+
return {
|
|
41
|
+
resolveId: (id) => (id === specifier ? virtualId : null),
|
|
42
|
+
load: (id) => (id === virtualId ? load() : null),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** Compose adapters in order, stopping at the first one that handles the request. */
|
|
46
|
+
export function composeBuiltins(adapters) {
|
|
47
|
+
return {
|
|
48
|
+
resolveId(id, importer) {
|
|
49
|
+
for (const adapter of adapters) {
|
|
50
|
+
const result = adapter.resolveId(id, importer);
|
|
51
|
+
if (result !== null) {
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
},
|
|
57
|
+
load(id) {
|
|
58
|
+
for (const adapter of adapters) {
|
|
59
|
+
const result = adapter.load(id);
|
|
60
|
+
if (result !== null) {
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/node-builtins/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,SAAiB;IACjE,OAAO;SACF,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAChC,SAAS;gBACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;CACrC,CAAC;AACF,CAAC;AAYD,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,QAA4B,EAAE,OAAe,EAAE,KAAK,GAAG,QAAQ;IACrF,OAAO,CACH,QAAQ,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,6CAA6C,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC,CAClH,CAAC;AACN,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,OAAO,CACnB,UAAqC,EACrC,IAAmC,EACnC,SAAuC;IAEvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtF,OAAO;QACH,SAAS,CAAC,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,cAAc,GAAG,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,EAAE;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,CAAC;KACJ,CAAC;AACN,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAkB;IACnF,OAAO;QACH,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACnD,CAAC;AACN,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,QAA0B;IACtD,OAAO;QACH,SAAS,CAAC,EAAE,EAAE,QAAQ;YAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,EAAE;YACH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAClB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/node-builtins/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAG3F,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAS/E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { builtin, stdModule } from "./shared.js";
|
|
2
|
+
import { SQLITE_WIT_REQUIREMENT } from "../node-wit.js";
|
|
3
|
+
export function createSqliteBuiltin({ options }) {
|
|
4
|
+
return builtin("node:sqlite", () => {
|
|
5
|
+
const module = JSON.stringify(stdModule(options.sqliteModule, "sqlite"));
|
|
6
|
+
return `export { default } from ${module}; export * from ${module};`;
|
|
7
|
+
}, () => options.onWitRequirement?.(SQLITE_WIT_REQUIREMENT));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/node-builtins/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAkB;IAC3D,OAAO,OAAO,CACV,aAAa,EACb,GAAG,EAAE;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,OAAO,2BAA2B,MAAM,mBAAmB,MAAM,GAAG,CAAC;IACzE,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,sBAAsB,CAAC,CAC3D,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/node-builtins/stream.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,cAAc,EAKtB,MAAM,aAAa,CAAC;AAiBrB,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAqD/E"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { starReexportAdapter, builtin, stdModule, composeBuiltins, VIRTUAL_PREFIX, } from "./shared.js";
|
|
3
|
+
const STREAM_SPECIFIER = "node:stream";
|
|
4
|
+
const STREAM_PROMISES_SPECIFIER = "node:stream/promises";
|
|
5
|
+
const STREAM_CONSUMERS_SPECIFIER = "node:stream/consumers";
|
|
6
|
+
const STREAM_ITER_SPECIFIER = "node:stream/iter";
|
|
7
|
+
const STREAM_EVENTS_MODULE = `${VIRTUAL_PREFIX}stream-events`;
|
|
8
|
+
/** Source of a capability-free Node stream submodule adapter. */
|
|
9
|
+
function streamAdapter(module) {
|
|
10
|
+
return starReexportAdapter(module, "streamModule");
|
|
11
|
+
}
|
|
12
|
+
export function createStreamBuiltin({ options }) {
|
|
13
|
+
const modules = {
|
|
14
|
+
[STREAM_SPECIFIER]: () => stdModule(options.streamModule, "stream"),
|
|
15
|
+
[STREAM_PROMISES_SPECIFIER]: () => stdModule(options.streamPromisesModule, "stream/promises"),
|
|
16
|
+
[STREAM_CONSUMERS_SPECIFIER]: () => stdModule(options.streamConsumersModule, "stream/consumers"),
|
|
17
|
+
[STREAM_ITER_SPECIFIER]: () => stdModule(options.streamIterModule, "stream/iter"),
|
|
18
|
+
};
|
|
19
|
+
return composeBuiltins([
|
|
20
|
+
{
|
|
21
|
+
resolveId(id, importer) {
|
|
22
|
+
// Only the audited portable core's dependencies use legacy bare IDs.
|
|
23
|
+
// Share Buffer/EventEmitter/StringDecoder with ordinary node: imports.
|
|
24
|
+
if (importer?.replaceAll("\\", "/").includes("/node_modules/readable-stream/lib/")) {
|
|
25
|
+
if (id === "events") {
|
|
26
|
+
return STREAM_EVENTS_MODULE;
|
|
27
|
+
}
|
|
28
|
+
if (id === "process/") {
|
|
29
|
+
return stdModule(options.streamSchedulerModule, "stream/scheduler");
|
|
30
|
+
}
|
|
31
|
+
if (id === "string_decoder/") {
|
|
32
|
+
return `${VIRTUAL_PREFIX}node:string_decoder`;
|
|
33
|
+
}
|
|
34
|
+
if (id === "abort-controller") {
|
|
35
|
+
return createRequire(importer).resolve(id);
|
|
36
|
+
}
|
|
37
|
+
if (id === "buffer" || id === "string_decoder") {
|
|
38
|
+
return `${VIRTUAL_PREFIX}node:${id}`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (id === "event-target-shim" &&
|
|
42
|
+
importer?.replaceAll("\\", "/").includes("/node_modules/abort-controller/dist/")) {
|
|
43
|
+
return createRequire(importer).resolve(id);
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
},
|
|
47
|
+
load(id) {
|
|
48
|
+
if (id === `${VIRTUAL_PREFIX}commonjs-stream`) {
|
|
49
|
+
return `module.exports = require(${JSON.stringify(stdModule(options.streamModule, "stream"))}).default;`;
|
|
50
|
+
}
|
|
51
|
+
if (id !== STREAM_EVENTS_MODULE) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return `import * as events from "node:events";
|
|
55
|
+
import { callableEmitter } from ${JSON.stringify(stdModule(options.streamEmitterModule, "stream/emitter"))};
|
|
56
|
+
export * from "node:events";
|
|
57
|
+
export const EventEmitter = callableEmitter(events.EventEmitter);
|
|
58
|
+
export default { ...events, EventEmitter };`;
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
builtin(Object.keys(modules), (specifier) => streamAdapter(modules[specifier]())),
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/node-builtins/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-decoder.d.ts","sourceRoot":"","sources":["../../src/node-builtins/string-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAa3F,wBAAgB,0BAA0B,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAItF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { builtin, stdModule } from "./shared.js";
|
|
2
|
+
const STRING_DECODER_SPECIFIER = "node:string_decoder";
|
|
3
|
+
/** Source of the capability-free `node:string_decoder` ESM facade. */
|
|
4
|
+
function stringDecoderAdapter(stringDecoderModule) {
|
|
5
|
+
return `
|
|
6
|
+
import stringDecoder from ${JSON.stringify(stringDecoderModule)};
|
|
7
|
+
export default stringDecoder;
|
|
8
|
+
export { StringDecoder } from ${JSON.stringify(stringDecoderModule)};
|
|
9
|
+
`;
|
|
10
|
+
}
|
|
11
|
+
export function createStringDecoderBuiltin({ options }) {
|
|
12
|
+
return builtin(STRING_DECODER_SPECIFIER, () => stringDecoderAdapter(stdModule(options.stringDecoderModule, "string-decoder")));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=string-decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/node-builtins/string-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3F,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAEvD,sEAAsE;AACtE,SAAS,oBAAoB,CAAC,mBAA2B;IACrD,OAAO;4BACiB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;;gCAE/B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;CAClE,CAAC;AACF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAE,OAAO,EAAkB;IAClE,OAAO,OAAO,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAC1C,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CACjF,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
|
|
2
|
+
/** The component test runner and reporters require no additional WIT capabilities. */
|
|
3
|
+
export declare function createTestBuiltin({ options }: BuiltinContext): BuiltinAdapter;
|
|
4
|
+
//# sourceMappingURL=test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/node-builtins/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAA2C,MAAM,aAAa,CAAC;AAEhH,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM7E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { builtin, starReexportAdapter, stdModule } from "./shared.js";
|
|
2
|
+
/** The component test runner and reporters require no additional WIT capabilities. */
|
|
3
|
+
export function createTestBuiltin({ options }) {
|
|
4
|
+
return builtin(["node:test", "node:test/reporters"], (specifier) => specifier === "node:test"
|
|
5
|
+
? starReexportAdapter(stdModule(options.testModule, "test"), "test")
|
|
6
|
+
: starReexportAdapter(stdModule(options.testReportersModule, "test/reporters"), "reporters"));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/node-builtins/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhH,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAC/D,SAAS,KAAK,WAAW;QACrB,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QACpE,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,CACnG,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
|
|
2
|
+
/** Both timer specifiers share an engine-backed core and request no additional WIT. */
|
|
3
|
+
export declare function createTimersBuiltin({ options }: BuiltinContext): BuiltinAdapter;
|
|
4
|
+
//# sourceMappingURL=timers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../src/node-builtins/timers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAA2C,MAAM,aAAa,CAAC;AAEhH,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAW/E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { builtin, stdModule, starReexportAdapter } from "./shared.js";
|
|
2
|
+
/** Both timer specifiers share an engine-backed core and request no additional WIT. */
|
|
3
|
+
export function createTimersBuiltin({ options }) {
|
|
4
|
+
return builtin(["node:timers", "node:timers/promises"], (specifier) => {
|
|
5
|
+
const promises = specifier === "node:timers/promises";
|
|
6
|
+
return starReexportAdapter(stdModule(promises ? options.timersPromisesModule : options.timersModule, promises ? "timers/promises" : "timers"), promises ? "timersPromises" : "timers");
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=timers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timers.js","sourceRoot":"","sources":["../../src/node-builtins/timers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhH,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAkB;IAC3D,OAAO,OAAO,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,SAAS,KAAK,sBAAsB,CAAC;QACtD,OAAO,mBAAmB,CACtB,SAAS,CACL,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAC9D,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAC1C,EACD,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CACzC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../src/node-builtins/tls.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,cAAc,EAOtB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAc5E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { builtin, virtualBuiltin, composeBuiltins, stdModule, starReexportAdapter, VIRTUAL_PREFIX, } from "./shared.js";
|
|
2
|
+
import { TLS_WIT_REQUIREMENT } from "../node-wit.js";
|
|
3
|
+
export function createTlsBuiltin({ options }) {
|
|
4
|
+
const module = () => stdModule(options.tlsModule, "tls");
|
|
5
|
+
return composeBuiltins([
|
|
6
|
+
builtin("node:tls", () => starReexportAdapter(module(), "tls"), () => options.onWitRequirement?.(TLS_WIT_REQUIREMENT)),
|
|
7
|
+
virtualBuiltin("jco:node-tls-callbacks", `${VIRTUAL_PREFIX}tls-callbacks`, () => `export { tlsCallbacks } from ${JSON.stringify(module())};`),
|
|
8
|
+
]);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=tls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.js","sourceRoot":"","sources":["../../src/node-builtins/tls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EACP,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAkB;IACxD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO,eAAe,CAAC;QACnB,OAAO,CACH,UAAU,EACV,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,EAC1C,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,CACxD;QACD,cAAc,CACV,wBAAwB,EACxB,GAAG,cAAc,eAAe,EAChC,GAAG,EAAE,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CACpE;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-events.d.ts","sourceRoot":"","sources":["../../src/node-builtins/trace-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAG3F,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAUpF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { builtin, stdModule } from "./shared.js";
|
|
2
|
+
import { TRACE_EVENTS_WIT_REQUIREMENT } from "../node-wit.js";
|
|
3
|
+
export function createTraceEventsBuiltin({ options }) {
|
|
4
|
+
return builtin("node:trace_events", () => {
|
|
5
|
+
const module = JSON.stringify(stdModule(options.traceEventsModule, "trace-events"));
|
|
6
|
+
return `export { default, createTracing, getEnabledCategories } from ${module};`;
|
|
7
|
+
}, () => options.onWitRequirement?.(TRACE_EVENTS_WIT_REQUIREMENT));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=trace-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-events.js","sourceRoot":"","sources":["../../src/node-builtins/trace-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAkB;IAChE,OAAO,OAAO,CACV,mBAAmB,EACnB,GAAG,EAAE;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;QAEpF,OAAO,gEAAgE,MAAM,GAAG,CAAC;IACrF,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,4BAA4B,CAAC,CACjE,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* `node:tty` addresses the host process's terminals by descriptor, which no WASI interface
|
|
4
|
+
* expresses, so the jco-std module imports `jco:node/tty@0.1.0` and the world gains that import.
|
|
5
|
+
* The capability is denied until the application maps a provider at transpile time.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createTtyBuiltin({ options }: BuiltinContext): BuiltinAdapter;
|
|
8
|
+
//# sourceMappingURL=tty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tty.d.ts","sourceRoot":"","sources":["../../src/node-builtins/tty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAKhH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM5E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { starReexportAdapter, builtin, stdModule } from "./shared.js";
|
|
2
|
+
import { TTY_WIT_REQUIREMENT } from "../node-wit.js";
|
|
3
|
+
const TTY_SPECIFIER = "node:tty";
|
|
4
|
+
/**
|
|
5
|
+
* `node:tty` addresses the host process's terminals by descriptor, which no WASI interface
|
|
6
|
+
* expresses, so the jco-std module imports `jco:node/tty@0.1.0` and the world gains that import.
|
|
7
|
+
* The capability is denied until the application maps a provider at transpile time.
|
|
8
|
+
*/
|
|
9
|
+
export function createTtyBuiltin({ options }) {
|
|
10
|
+
return builtin(TTY_SPECIFIER, () => starReexportAdapter(stdModule(options.ttyModule, "tty"), "tty"), () => options.onWitRequirement?.(TTY_WIT_REQUIREMENT));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=tty.js.map
|