quickjs-wasi-reactor 0.0.1
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/LICENSE +25 -0
- package/README.md +230 -0
- package/dist/fd.d.ts +106 -0
- package/dist/fd.d.ts.map +1 -0
- package/dist/fd.js +110 -0
- package/dist/fd.js.map +1 -0
- package/dist/fs-mem.d.ts +255 -0
- package/dist/fs-mem.d.ts.map +1 -0
- package/dist/fs-mem.js +679 -0
- package/dist/fs-mem.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/quickjs.d.ts +136 -0
- package/dist/quickjs.d.ts.map +1 -0
- package/dist/quickjs.js +334 -0
- package/dist/quickjs.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/dist/wasi-defs.d.ts +119 -0
- package/dist/wasi-defs.d.ts.map +1 -0
- package/dist/wasi-defs.js +247 -0
- package/dist/wasi-defs.js.map +1 -0
- package/dist/wasi.d.ts +41 -0
- package/dist/wasi.d.ts.map +1 -0
- package/dist/wasi.js +638 -0
- package/dist/wasi.js.map +1 -0
- package/package.json +61 -0
- package/qjs-wasi.wasm +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-mem.js","sourceRoot":"","sources":["../src/fs-mem.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { QuickJS, createQuickJS, loadQuickJS, buildFileSystem, LOOP_IDLE, LOOP_ERROR, type QuickJSOptions, type QuickJSReactorExports, } from "./quickjs.js";
|
|
2
|
+
export { WASI, WASIProcExit, type WASIOptions } from "./wasi.js";
|
|
3
|
+
export { File, Directory, OpenFile, OpenDirectory, PreopenDirectory, ConsoleStdout, PollableStdin, DevOut, DevDirectory, } from "./fs-mem.js";
|
|
4
|
+
export { Fd, Inode, type PollResult } from "./fd.js";
|
|
5
|
+
export * as wasi from "./wasi-defs.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// js-quickjs-wasi-reactor
|
|
2
|
+
// JavaScript harness for QuickJS-NG WASI reactor model
|
|
3
|
+
// Main QuickJS API
|
|
4
|
+
export { QuickJS, createQuickJS, loadQuickJS, buildFileSystem, LOOP_IDLE, LOOP_ERROR, } from "./quickjs.js";
|
|
5
|
+
// WASI implementation
|
|
6
|
+
export { WASI, WASIProcExit } from "./wasi.js";
|
|
7
|
+
// File system types
|
|
8
|
+
export { File, Directory, OpenFile, OpenDirectory, PreopenDirectory, ConsoleStdout, PollableStdin, DevOut, DevDirectory, } from "./fs-mem.js";
|
|
9
|
+
// File descriptor types
|
|
10
|
+
export { Fd, Inode } from "./fd.js";
|
|
11
|
+
// WASI definitions
|
|
12
|
+
export * as wasi from "./wasi-defs.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,uDAAuD;AAEvD,mBAAmB;AACnB,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,GAGX,MAAM,cAAc,CAAC;AAEtB,sBAAsB;AACtB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAoB,MAAM,WAAW,CAAC;AAEjE,oBAAoB;AACpB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,MAAM,EACN,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,wBAAwB;AACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AAErD,mBAAmB;AACnB,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { PollableStdin, File, Directory } from "./fs-mem.js";
|
|
2
|
+
/** Loop result constants from qjs_loop_once() */
|
|
3
|
+
export declare const LOOP_IDLE = -1;
|
|
4
|
+
export declare const LOOP_ERROR = -2;
|
|
5
|
+
/** QuickJS reactor exports interface */
|
|
6
|
+
export interface QuickJSReactorExports {
|
|
7
|
+
/** Standard WASI reactor initialization */
|
|
8
|
+
_initialize(): void;
|
|
9
|
+
/** WebAssembly memory */
|
|
10
|
+
memory: WebAssembly.Memory;
|
|
11
|
+
/** Initialize with CLI arguments */
|
|
12
|
+
qjs_init_argv(argc: number, argv: number): number;
|
|
13
|
+
/** Initialize empty runtime */
|
|
14
|
+
qjs_init(): number;
|
|
15
|
+
/** Evaluate JavaScript code */
|
|
16
|
+
qjs_eval(code: number, len: number, filename: number, is_module: number): number;
|
|
17
|
+
/** Run one iteration of the event loop */
|
|
18
|
+
qjs_loop_once(): number;
|
|
19
|
+
/** Poll for I/O events */
|
|
20
|
+
qjs_poll_io(timeout_ms: number): number;
|
|
21
|
+
/** Cleanup runtime */
|
|
22
|
+
qjs_destroy(): void;
|
|
23
|
+
/** Allocate memory */
|
|
24
|
+
malloc(size: number): number;
|
|
25
|
+
/** Free memory */
|
|
26
|
+
free(ptr: number): void;
|
|
27
|
+
}
|
|
28
|
+
/** Options for creating a QuickJS instance */
|
|
29
|
+
export interface QuickJSOptions {
|
|
30
|
+
/** WASI arguments (default: ['qjs', '--std']) */
|
|
31
|
+
args?: string[];
|
|
32
|
+
/** Environment variables as key=value strings */
|
|
33
|
+
env?: string[];
|
|
34
|
+
/** Enable debug logging */
|
|
35
|
+
debug?: boolean;
|
|
36
|
+
/** Custom stdout handler (default: console.log) */
|
|
37
|
+
stdout?: (line: string) => void;
|
|
38
|
+
/** Custom stderr handler (default: console.error) */
|
|
39
|
+
stderr?: (line: string) => void;
|
|
40
|
+
/** Virtual filesystem root contents */
|
|
41
|
+
fs?: Map<string, File | Directory>;
|
|
42
|
+
/** Handler for data written to /dev/out */
|
|
43
|
+
onDevOut?: (data: Uint8Array) => void;
|
|
44
|
+
/** Custom stdin that data can be pushed to */
|
|
45
|
+
stdin?: PollableStdin;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* QuickJS provides a high-level API for running JavaScript in QuickJS WASI reactor mode.
|
|
49
|
+
*/
|
|
50
|
+
export declare class QuickJS {
|
|
51
|
+
private wasi;
|
|
52
|
+
private instance;
|
|
53
|
+
private exports;
|
|
54
|
+
private running;
|
|
55
|
+
private exitCode;
|
|
56
|
+
private stdin;
|
|
57
|
+
constructor(wasmModule: WebAssembly.Module, options?: QuickJSOptions);
|
|
58
|
+
/**
|
|
59
|
+
* Initialize QuickJS with command-line arguments.
|
|
60
|
+
* The args should match the WASI args passed to the constructor.
|
|
61
|
+
*/
|
|
62
|
+
initArgv(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Initialize QuickJS with an empty context.
|
|
65
|
+
*/
|
|
66
|
+
init(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Evaluate JavaScript code.
|
|
69
|
+
* @param code The JavaScript code to evaluate
|
|
70
|
+
* @param isModule Whether to treat the code as an ES module
|
|
71
|
+
* @param filename Optional filename for error messages
|
|
72
|
+
*/
|
|
73
|
+
eval(code: string, isModule?: boolean, filename?: string): void;
|
|
74
|
+
/**
|
|
75
|
+
* Run one iteration of the event loop.
|
|
76
|
+
* @returns Loop result: >0 = timer ms, 0 = more work, -1 = idle, -2 = error
|
|
77
|
+
*/
|
|
78
|
+
loopOnce(): number;
|
|
79
|
+
/**
|
|
80
|
+
* Poll for I/O events and invoke handlers.
|
|
81
|
+
* @param timeoutMs Poll timeout in milliseconds (0 = non-blocking)
|
|
82
|
+
*/
|
|
83
|
+
pollIO(timeoutMs?: number): number;
|
|
84
|
+
/**
|
|
85
|
+
* Push data to stdin for the QuickJS instance to read.
|
|
86
|
+
*/
|
|
87
|
+
pushStdin(data: Uint8Array): void;
|
|
88
|
+
/**
|
|
89
|
+
* Check if stdin has data available.
|
|
90
|
+
*/
|
|
91
|
+
hasStdinData(): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Run the event loop until idle or stopped.
|
|
94
|
+
* This method is designed for browser environments and yields to the event loop.
|
|
95
|
+
* @param onTick Optional callback called on each loop iteration
|
|
96
|
+
* @returns Promise that resolves when the loop is idle
|
|
97
|
+
*/
|
|
98
|
+
runLoop(onTick?: () => void): Promise<number>;
|
|
99
|
+
/**
|
|
100
|
+
* Run the event loop synchronously (blocking).
|
|
101
|
+
* This is suitable for Node.js/Bun environments.
|
|
102
|
+
* @returns Exit code
|
|
103
|
+
*/
|
|
104
|
+
runLoopSync(): number;
|
|
105
|
+
/**
|
|
106
|
+
* Stop the event loop.
|
|
107
|
+
*/
|
|
108
|
+
stop(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Destroy the QuickJS runtime and release resources.
|
|
111
|
+
*/
|
|
112
|
+
destroy(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Get the exit code (valid after runLoop completes).
|
|
115
|
+
*/
|
|
116
|
+
getExitCode(): number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Create a QuickJS instance from a WASM module.
|
|
120
|
+
* @param wasmModule Compiled WebAssembly module
|
|
121
|
+
* @param options Configuration options
|
|
122
|
+
*/
|
|
123
|
+
export declare function createQuickJS(wasmModule: WebAssembly.Module, options?: QuickJSOptions): QuickJS;
|
|
124
|
+
/**
|
|
125
|
+
* Load and create a QuickJS instance from a URL or buffer.
|
|
126
|
+
* @param wasmSource URL string, Response, or ArrayBuffer containing the WASM
|
|
127
|
+
* @param options Configuration options
|
|
128
|
+
*/
|
|
129
|
+
export declare function loadQuickJS(wasmSource: string | Response | ArrayBuffer | Uint8Array, options?: QuickJSOptions): Promise<QuickJS>;
|
|
130
|
+
/**
|
|
131
|
+
* Build a virtual filesystem from a map of paths to file contents.
|
|
132
|
+
* @param files Map of path -> content (string or Uint8Array)
|
|
133
|
+
* @returns Root directory contents suitable for QuickJSOptions.fs
|
|
134
|
+
*/
|
|
135
|
+
export declare function buildFileSystem(files: Map<string, string | Uint8Array>): Map<string, File | Directory>;
|
|
136
|
+
//# sourceMappingURL=quickjs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickjs.d.ts","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"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"}
|
package/dist/quickjs.js
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
// QuickJS WASI Reactor harness for JavaScript
|
|
2
|
+
// This module provides a high-level API for running QuickJS in reactor mode.
|
|
3
|
+
import { WASI, WASIProcExit } from "./wasi.js";
|
|
4
|
+
import { ConsoleStdout, PollableStdin, PreopenDirectory, File, Directory, DevOut, DevDirectory, } from "./fs-mem.js";
|
|
5
|
+
/** Loop result constants from qjs_loop_once() */
|
|
6
|
+
export const LOOP_IDLE = -1;
|
|
7
|
+
export const LOOP_ERROR = -2;
|
|
8
|
+
/**
|
|
9
|
+
* QuickJS provides a high-level API for running JavaScript in QuickJS WASI reactor mode.
|
|
10
|
+
*/
|
|
11
|
+
export class QuickJS {
|
|
12
|
+
wasi;
|
|
13
|
+
instance = null;
|
|
14
|
+
exports = null;
|
|
15
|
+
running = false;
|
|
16
|
+
exitCode = 0;
|
|
17
|
+
stdin;
|
|
18
|
+
constructor(wasmModule, options = {}) {
|
|
19
|
+
const args = options.args ?? ["qjs", "--std"];
|
|
20
|
+
const env = options.env ?? [];
|
|
21
|
+
const debug = options.debug ?? false;
|
|
22
|
+
// Create stdin
|
|
23
|
+
this.stdin = options.stdin ?? new PollableStdin();
|
|
24
|
+
// Create stdout/stderr
|
|
25
|
+
const stdout = ConsoleStdout.lineBuffered(options.stdout ?? ((line) => console.log("[QuickJS]", line)));
|
|
26
|
+
const stderr = ConsoleStdout.lineBuffered(options.stderr ?? ((line) => console.error("[QuickJS]", line)));
|
|
27
|
+
// Build filesystem
|
|
28
|
+
const rootContents = options.fs ?? new Map();
|
|
29
|
+
const rootDir = new PreopenDirectory("/", rootContents);
|
|
30
|
+
// Build file descriptors
|
|
31
|
+
const fds = [
|
|
32
|
+
this.stdin, // fd 0 - stdin
|
|
33
|
+
stdout, // fd 1 - stdout
|
|
34
|
+
stderr, // fd 2 - stderr
|
|
35
|
+
rootDir, // fd 3 - preopened /
|
|
36
|
+
];
|
|
37
|
+
// Add /dev directory with /dev/out if onDevOut is provided
|
|
38
|
+
if (options.onDevOut) {
|
|
39
|
+
const devOut = new DevOut(options.onDevOut);
|
|
40
|
+
const devDir = new DevDirectory("/dev", new Map([["out", devOut]]));
|
|
41
|
+
fds.push(devDir); // fd 4 - preopened /dev
|
|
42
|
+
}
|
|
43
|
+
this.wasi = new WASI(args, env, fds, { debug });
|
|
44
|
+
// Instantiate the WASM module
|
|
45
|
+
this.instance = new WebAssembly.Instance(wasmModule, {
|
|
46
|
+
wasi_snapshot_preview1: this.wasi.wasiImport,
|
|
47
|
+
});
|
|
48
|
+
this.exports = this.instance.exports;
|
|
49
|
+
// Initialize the WASI reactor
|
|
50
|
+
this.wasi.initialize(this.instance);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Initialize QuickJS with command-line arguments.
|
|
54
|
+
* The args should match the WASI args passed to the constructor.
|
|
55
|
+
*/
|
|
56
|
+
initArgv() {
|
|
57
|
+
if (!this.exports)
|
|
58
|
+
throw new Error("QuickJS not initialized");
|
|
59
|
+
const args = this.wasi.args;
|
|
60
|
+
const memory = this.exports.memory;
|
|
61
|
+
const encoder = new TextEncoder();
|
|
62
|
+
// Allocate space for argv array and strings
|
|
63
|
+
const ARGV_BASE = 65536;
|
|
64
|
+
const STRINGS_BASE = ARGV_BASE + args.length * 4 + 4;
|
|
65
|
+
const view = new DataView(memory.buffer);
|
|
66
|
+
const bytes = new Uint8Array(memory.buffer);
|
|
67
|
+
let stringOffset = STRINGS_BASE;
|
|
68
|
+
for (let i = 0; i < args.length; i++) {
|
|
69
|
+
view.setUint32(ARGV_BASE + i * 4, stringOffset, true);
|
|
70
|
+
const encoded = encoder.encode(args[i]);
|
|
71
|
+
bytes.set(encoded, stringOffset);
|
|
72
|
+
bytes[stringOffset + encoded.length] = 0;
|
|
73
|
+
stringOffset += encoded.length + 1;
|
|
74
|
+
}
|
|
75
|
+
view.setUint32(ARGV_BASE + args.length * 4, 0, true);
|
|
76
|
+
const result = this.exports.qjs_init_argv(args.length, ARGV_BASE);
|
|
77
|
+
if (result !== 0) {
|
|
78
|
+
throw new Error(`qjs_init_argv failed with code ${result}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Initialize QuickJS with an empty context.
|
|
83
|
+
*/
|
|
84
|
+
init() {
|
|
85
|
+
if (!this.exports)
|
|
86
|
+
throw new Error("QuickJS not initialized");
|
|
87
|
+
const result = this.exports.qjs_init();
|
|
88
|
+
if (result !== 0) {
|
|
89
|
+
throw new Error(`qjs_init failed with code ${result}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Evaluate JavaScript code.
|
|
94
|
+
* @param code The JavaScript code to evaluate
|
|
95
|
+
* @param isModule Whether to treat the code as an ES module
|
|
96
|
+
* @param filename Optional filename for error messages
|
|
97
|
+
*/
|
|
98
|
+
eval(code, isModule = false, filename = "<eval>") {
|
|
99
|
+
if (!this.exports)
|
|
100
|
+
throw new Error("QuickJS not initialized");
|
|
101
|
+
const codeBytes = new TextEncoder().encode(code);
|
|
102
|
+
const filenameBytes = new TextEncoder().encode(filename);
|
|
103
|
+
// Allocate memory for code
|
|
104
|
+
const codePtr = this.exports.malloc(codeBytes.length + 1);
|
|
105
|
+
if (codePtr === 0)
|
|
106
|
+
throw new Error("malloc failed for code");
|
|
107
|
+
// Allocate memory for filename
|
|
108
|
+
const filenamePtr = this.exports.malloc(filenameBytes.length + 1);
|
|
109
|
+
if (filenamePtr === 0) {
|
|
110
|
+
this.exports.free(codePtr);
|
|
111
|
+
throw new Error("malloc failed for filename");
|
|
112
|
+
}
|
|
113
|
+
const memory = new Uint8Array(this.exports.memory.buffer);
|
|
114
|
+
// Write code with null terminator
|
|
115
|
+
memory.set(codeBytes, codePtr);
|
|
116
|
+
memory[codePtr + codeBytes.length] = 0;
|
|
117
|
+
// Write filename with null terminator
|
|
118
|
+
memory.set(filenameBytes, filenamePtr);
|
|
119
|
+
memory[filenamePtr + filenameBytes.length] = 0;
|
|
120
|
+
// Call qjs_eval
|
|
121
|
+
const result = this.exports.qjs_eval(codePtr, codeBytes.length, filenamePtr, isModule ? 1 : 0);
|
|
122
|
+
// Free allocated memory
|
|
123
|
+
this.exports.free(codePtr);
|
|
124
|
+
this.exports.free(filenamePtr);
|
|
125
|
+
if (result !== 0) {
|
|
126
|
+
throw new Error("eval failed");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Run one iteration of the event loop.
|
|
131
|
+
* @returns Loop result: >0 = timer ms, 0 = more work, -1 = idle, -2 = error
|
|
132
|
+
*/
|
|
133
|
+
loopOnce() {
|
|
134
|
+
if (!this.exports)
|
|
135
|
+
throw new Error("QuickJS not initialized");
|
|
136
|
+
try {
|
|
137
|
+
return this.exports.qjs_loop_once();
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
if (e instanceof WASIProcExit) {
|
|
141
|
+
this.running = false;
|
|
142
|
+
this.exitCode = e.code;
|
|
143
|
+
return LOOP_IDLE;
|
|
144
|
+
}
|
|
145
|
+
throw e;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Poll for I/O events and invoke handlers.
|
|
150
|
+
* @param timeoutMs Poll timeout in milliseconds (0 = non-blocking)
|
|
151
|
+
*/
|
|
152
|
+
pollIO(timeoutMs = 0) {
|
|
153
|
+
if (!this.exports)
|
|
154
|
+
throw new Error("QuickJS not initialized");
|
|
155
|
+
try {
|
|
156
|
+
return this.exports.qjs_poll_io(timeoutMs);
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
if (e instanceof WASIProcExit) {
|
|
160
|
+
this.running = false;
|
|
161
|
+
this.exitCode = e.code;
|
|
162
|
+
return -1;
|
|
163
|
+
}
|
|
164
|
+
throw e;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Push data to stdin for the QuickJS instance to read.
|
|
169
|
+
*/
|
|
170
|
+
pushStdin(data) {
|
|
171
|
+
this.stdin.push(data);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Check if stdin has data available.
|
|
175
|
+
*/
|
|
176
|
+
hasStdinData() {
|
|
177
|
+
return this.stdin.hasData();
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Run the event loop until idle or stopped.
|
|
181
|
+
* This method is designed for browser environments and yields to the event loop.
|
|
182
|
+
* @param onTick Optional callback called on each loop iteration
|
|
183
|
+
* @returns Promise that resolves when the loop is idle
|
|
184
|
+
*/
|
|
185
|
+
async runLoop(onTick) {
|
|
186
|
+
this.running = true;
|
|
187
|
+
while (this.running) {
|
|
188
|
+
onTick?.();
|
|
189
|
+
const result = this.loopOnce();
|
|
190
|
+
if (result === LOOP_ERROR) {
|
|
191
|
+
throw new Error("JavaScript error occurred");
|
|
192
|
+
}
|
|
193
|
+
if (result === LOOP_IDLE) {
|
|
194
|
+
// Check if there's stdin data to process
|
|
195
|
+
if (this.stdin.hasData()) {
|
|
196
|
+
this.pollIO(0);
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
// No more work
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
if (result === 0) {
|
|
203
|
+
// More microtasks pending, yield to browser event loop
|
|
204
|
+
await new Promise((resolve) => queueMicrotask(resolve));
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
if (result > 0) {
|
|
208
|
+
// Timer pending - check stdin first
|
|
209
|
+
if (this.stdin.hasData()) {
|
|
210
|
+
this.pollIO(0);
|
|
211
|
+
await new Promise((resolve) => queueMicrotask(resolve));
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
// Wait for timer
|
|
215
|
+
await new Promise((resolve) => setTimeout(resolve, result));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return this.exitCode;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Run the event loop synchronously (blocking).
|
|
222
|
+
* This is suitable for Node.js/Bun environments.
|
|
223
|
+
* @returns Exit code
|
|
224
|
+
*/
|
|
225
|
+
runLoopSync() {
|
|
226
|
+
this.running = true;
|
|
227
|
+
while (this.running) {
|
|
228
|
+
const result = this.loopOnce();
|
|
229
|
+
if (result === LOOP_ERROR) {
|
|
230
|
+
throw new Error("JavaScript error occurred");
|
|
231
|
+
}
|
|
232
|
+
if (result === LOOP_IDLE) {
|
|
233
|
+
if (this.stdin.hasData()) {
|
|
234
|
+
this.pollIO(0);
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
if (result === 0) {
|
|
240
|
+
// More microtasks pending
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (result > 0) {
|
|
244
|
+
if (this.stdin.hasData()) {
|
|
245
|
+
this.pollIO(0);
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
// In sync mode, we just continue - host should call loopOnce again
|
|
249
|
+
// after the timer would have fired
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return this.exitCode;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Stop the event loop.
|
|
257
|
+
*/
|
|
258
|
+
stop() {
|
|
259
|
+
this.running = false;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Destroy the QuickJS runtime and release resources.
|
|
263
|
+
*/
|
|
264
|
+
destroy() {
|
|
265
|
+
if (this.exports) {
|
|
266
|
+
this.exports.qjs_destroy();
|
|
267
|
+
}
|
|
268
|
+
this.stdin.close();
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get the exit code (valid after runLoop completes).
|
|
272
|
+
*/
|
|
273
|
+
getExitCode() {
|
|
274
|
+
return this.exitCode;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Create a QuickJS instance from a WASM module.
|
|
279
|
+
* @param wasmModule Compiled WebAssembly module
|
|
280
|
+
* @param options Configuration options
|
|
281
|
+
*/
|
|
282
|
+
export function createQuickJS(wasmModule, options) {
|
|
283
|
+
return new QuickJS(wasmModule, options);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Load and create a QuickJS instance from a URL or buffer.
|
|
287
|
+
* @param wasmSource URL string, Response, or ArrayBuffer containing the WASM
|
|
288
|
+
* @param options Configuration options
|
|
289
|
+
*/
|
|
290
|
+
export async function loadQuickJS(wasmSource, options) {
|
|
291
|
+
let wasmModule;
|
|
292
|
+
if (typeof wasmSource === "string") {
|
|
293
|
+
const response = await fetch(wasmSource);
|
|
294
|
+
wasmModule = await WebAssembly.compileStreaming(response);
|
|
295
|
+
}
|
|
296
|
+
else if (wasmSource instanceof Response) {
|
|
297
|
+
wasmModule = await WebAssembly.compileStreaming(wasmSource);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
wasmModule = await WebAssembly.compile(wasmSource);
|
|
301
|
+
}
|
|
302
|
+
return createQuickJS(wasmModule, options);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Build a virtual filesystem from a map of paths to file contents.
|
|
306
|
+
* @param files Map of path -> content (string or Uint8Array)
|
|
307
|
+
* @returns Root directory contents suitable for QuickJSOptions.fs
|
|
308
|
+
*/
|
|
309
|
+
export function buildFileSystem(files) {
|
|
310
|
+
const root = new Map();
|
|
311
|
+
for (const [path, content] of files) {
|
|
312
|
+
const parts = path.split("/").filter((p) => p.length > 0);
|
|
313
|
+
if (parts.length === 0)
|
|
314
|
+
continue;
|
|
315
|
+
let currentMap = root;
|
|
316
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
317
|
+
const part = parts[i];
|
|
318
|
+
const existing = currentMap.get(part);
|
|
319
|
+
if (existing instanceof Directory) {
|
|
320
|
+
currentMap = existing.contents;
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
const newDir = new Map();
|
|
324
|
+
currentMap.set(part, new Directory(newDir));
|
|
325
|
+
currentMap = newDir;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
const fileName = parts[parts.length - 1];
|
|
329
|
+
const data = typeof content === "string" ? new TextEncoder().encode(content) : content;
|
|
330
|
+
currentMap.set(fileName, new File(data));
|
|
331
|
+
}
|
|
332
|
+
return root;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=quickjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickjs.js","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** QuickJS-NG version string */
|
|
2
|
+
export declare const VERSION = "v0.11.0-wasi29-reactor-r3";
|
|
3
|
+
/** Download URL for the WASM binary */
|
|
4
|
+
export declare const DOWNLOAD_URL = "https://github.com/paralin/quickjs/releases/download/v0.11.0-wasi29-reactor-r3/qjs-wasi-reactor.wasm";
|
|
5
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,gCAAgC;AAChC,eAAO,MAAM,OAAO,8BAA8B,CAAC;AAEnD,uCAAuC;AACvC,eAAO,MAAM,YAAY,yGAC+E,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Auto-generated by update-quickjs.bash
|
|
2
|
+
// Do not edit manually
|
|
3
|
+
/** QuickJS-NG version string */
|
|
4
|
+
export const VERSION = "v0.11.0-wasi29-reactor-r3";
|
|
5
|
+
/** Download URL for the WASM binary */
|
|
6
|
+
export const DOWNLOAD_URL = "https://github.com/paralin/quickjs/releases/download/v0.11.0-wasi29-reactor-r3/qjs-wasi-reactor.wasm";
|
|
7
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,uBAAuB;AAEvB,gCAAgC;AAChC,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAEnD,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GACvB,sGAAsG,CAAC"}
|