quickjs-wasi-reactor 0.0.3 → 0.0.4
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 +121 -23
- package/dist/quickjs.d.ts +36 -22
- package/dist/quickjs.d.ts.map +1 -1
- package/dist/quickjs.js +139 -59
- package/dist/quickjs.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/qjs-wasi.wasm +0 -0
package/README.md
CHANGED
|
@@ -31,8 +31,8 @@ import { loadQuickJS, buildFileSystem } from 'quickjs-wasi-reactor'
|
|
|
31
31
|
// Load QuickJS from a URL or buffer
|
|
32
32
|
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm')
|
|
33
33
|
|
|
34
|
-
// Initialize with std module
|
|
35
|
-
qjs.
|
|
34
|
+
// Initialize with std module (provides std, os, bjson globals)
|
|
35
|
+
qjs.initStdModule()
|
|
36
36
|
|
|
37
37
|
// Evaluate JavaScript code
|
|
38
38
|
qjs.eval(`console.log("Hello from QuickJS!")`)
|
|
@@ -44,6 +44,24 @@ await qjs.runLoop()
|
|
|
44
44
|
qjs.destroy()
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
### Initialization Options
|
|
48
|
+
|
|
49
|
+
There are three ways to initialize QuickJS:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// Option 1: init() - Basic runtime with std modules available for import
|
|
53
|
+
qjs.init()
|
|
54
|
+
qjs.eval(`import * as std from 'qjs:std'; std.printf("Hello\\n")`, true)
|
|
55
|
+
|
|
56
|
+
// Option 2: initStdModule() - Like init() but also exposes std, os, bjson as globals
|
|
57
|
+
qjs.initStdModule()
|
|
58
|
+
qjs.eval(`std.printf("Hello\\n")`) // std is already global
|
|
59
|
+
|
|
60
|
+
// Option 3: initArgv(args) - Like init() but sets up scriptArgs
|
|
61
|
+
qjs.initArgv(['qjs', 'script.js', '--verbose'])
|
|
62
|
+
qjs.eval(`console.log(scriptArgs)`) // ['qjs', 'script.js', '--verbose']
|
|
63
|
+
```
|
|
64
|
+
|
|
47
65
|
### With Virtual Filesystem
|
|
48
66
|
|
|
49
67
|
```typescript
|
|
@@ -57,12 +75,13 @@ const fs = buildFileSystem(
|
|
|
57
75
|
]),
|
|
58
76
|
)
|
|
59
77
|
|
|
60
|
-
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm', {
|
|
61
|
-
args: ['qjs', '--std', 'script.js'],
|
|
62
|
-
fs,
|
|
63
|
-
})
|
|
78
|
+
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm', { fs })
|
|
64
79
|
|
|
65
|
-
qjs.
|
|
80
|
+
qjs.initStdModule()
|
|
81
|
+
qjs.eval(`
|
|
82
|
+
import { greet } from './lib/utils.js'
|
|
83
|
+
console.log(greet('World'))
|
|
84
|
+
`, true)
|
|
66
85
|
await qjs.runLoop()
|
|
67
86
|
qjs.destroy()
|
|
68
87
|
```
|
|
@@ -81,7 +100,7 @@ const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm', {
|
|
|
81
100
|
},
|
|
82
101
|
})
|
|
83
102
|
|
|
84
|
-
qjs.
|
|
103
|
+
qjs.init()
|
|
85
104
|
qjs.eval(`console.log("This goes to custom stdout")`)
|
|
86
105
|
await qjs.runLoop()
|
|
87
106
|
qjs.destroy()
|
|
@@ -96,7 +115,7 @@ const stdin = new PollableStdin()
|
|
|
96
115
|
|
|
97
116
|
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm', { stdin })
|
|
98
117
|
|
|
99
|
-
qjs.
|
|
118
|
+
qjs.initStdModule()
|
|
100
119
|
|
|
101
120
|
// Push data to stdin
|
|
102
121
|
qjs.pushStdin(new TextEncoder().encode('Hello from stdin\n'))
|
|
@@ -106,6 +125,67 @@ await qjs.runLoop()
|
|
|
106
125
|
qjs.destroy()
|
|
107
126
|
```
|
|
108
127
|
|
|
128
|
+
### Non-Blocking Event Loop Control
|
|
129
|
+
|
|
130
|
+
For fine-grained control over JavaScript execution, use `loopOnce()` instead of `runLoop()`:
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
import { loadQuickJS, LOOP_IDLE, LOOP_ERROR } from 'quickjs-wasi-reactor'
|
|
134
|
+
|
|
135
|
+
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm')
|
|
136
|
+
qjs.initStdModule()
|
|
137
|
+
|
|
138
|
+
qjs.eval(`
|
|
139
|
+
os.setTimeout(() => console.log("timer fired"), 100)
|
|
140
|
+
console.log("scheduled timer")
|
|
141
|
+
`)
|
|
142
|
+
|
|
143
|
+
// Manual event loop - integrate with your own scheduling
|
|
144
|
+
while (true) {
|
|
145
|
+
const result = qjs.loopOnce()
|
|
146
|
+
|
|
147
|
+
if (result === LOOP_ERROR) throw new Error("JavaScript error")
|
|
148
|
+
if (result === LOOP_IDLE) break // No more work
|
|
149
|
+
|
|
150
|
+
if (result === 0) {
|
|
151
|
+
// More microtasks pending - yield to browser then continue
|
|
152
|
+
await new Promise(r => queueMicrotask(r))
|
|
153
|
+
} else if (result > 0) {
|
|
154
|
+
// Timer pending in N ms - do other work or wait
|
|
155
|
+
await new Promise(r => setTimeout(r, result))
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
qjs.destroy()
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Browser Integration with Animation Frames
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
const qjs = await loadQuickJS('/path/to/qjs-wasi.wasm')
|
|
166
|
+
qjs.initStdModule()
|
|
167
|
+
|
|
168
|
+
qjs.eval(`
|
|
169
|
+
let frame = 0
|
|
170
|
+
function tick() {
|
|
171
|
+
console.log("Frame:", frame++)
|
|
172
|
+
if (frame < 60) os.setTimeout(tick, 16)
|
|
173
|
+
}
|
|
174
|
+
tick()
|
|
175
|
+
`)
|
|
176
|
+
|
|
177
|
+
// Cooperative scheduling with browser
|
|
178
|
+
function runFrame() {
|
|
179
|
+
const result = qjs.loopOnce()
|
|
180
|
+
if (result >= 0) {
|
|
181
|
+
requestAnimationFrame(runFrame)
|
|
182
|
+
} else {
|
|
183
|
+
qjs.destroy()
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
requestAnimationFrame(runFrame)
|
|
187
|
+
```
|
|
188
|
+
|
|
109
189
|
## API
|
|
110
190
|
|
|
111
191
|
### `loadQuickJS(wasmSource, options?)`
|
|
@@ -134,7 +214,7 @@ Create a QuickJS instance from a pre-compiled WebAssembly module.
|
|
|
134
214
|
|
|
135
215
|
| Option | Type | Default | Description |
|
|
136
216
|
| ---------- | --------------------------- | ------------------------- | ---------------------------------- |
|
|
137
|
-
| `args` | `string[]` | `['qjs'
|
|
217
|
+
| `args` | `string[]` | `['qjs']` | WASI command-line arguments |
|
|
138
218
|
| `env` | `string[]` | `[]` | Environment variables (key=value) |
|
|
139
219
|
| `debug` | `boolean` | `false` | Enable WASI debug logging |
|
|
140
220
|
| `stdout` | `(line: string) => void` | `console.log` | Custom stdout line handler |
|
|
@@ -145,13 +225,20 @@ Create a QuickJS instance from a pre-compiled WebAssembly module.
|
|
|
145
225
|
|
|
146
226
|
### `QuickJS` Methods
|
|
147
227
|
|
|
148
|
-
#### `
|
|
228
|
+
#### `init()`
|
|
229
|
+
|
|
230
|
+
Initialize QuickJS runtime and context with std modules available for import.
|
|
231
|
+
Modules `qjs:std`, `qjs:os`, and `qjs:bjson` can be imported in evaluated code.
|
|
149
232
|
|
|
150
|
-
|
|
233
|
+
#### `initStdModule()`
|
|
151
234
|
|
|
152
|
-
|
|
235
|
+
Like `init()` but also exposes `std`, `os`, and `bjson` as global objects.
|
|
236
|
+
Convenient for REPL-style usage where you want immediate access to std library.
|
|
153
237
|
|
|
154
|
-
|
|
238
|
+
#### `initArgv(args)`
|
|
239
|
+
|
|
240
|
+
Like `init()` but also sets up `scriptArgs` global with the provided arguments.
|
|
241
|
+
Use this when your JavaScript code needs to access command-line arguments.
|
|
155
242
|
|
|
156
243
|
#### `eval(code, isModule?, filename?)`
|
|
157
244
|
|
|
@@ -217,17 +304,28 @@ const fs = buildFileSystem(
|
|
|
217
304
|
|
|
218
305
|
## Reactor Model
|
|
219
306
|
|
|
220
|
-
Unlike the standard WASI "command" model that blocks in `_start()`, the reactor model exports functions that the host calls:
|
|
307
|
+
Unlike the standard WASI "command" model that blocks in `_start()`, the reactor model exports the raw QuickJS C API functions that the host calls directly:
|
|
308
|
+
|
|
309
|
+
**Core Runtime:**
|
|
310
|
+
- `JS_NewRuntime()` / `JS_FreeRuntime(rt)` - Create/destroy runtime
|
|
311
|
+
- `JS_NewContext(rt)` / `JS_FreeContext(ctx)` - Create/destroy context
|
|
312
|
+
- `JS_Eval(ctx, input, len, filename, flags)` - Evaluate JavaScript code
|
|
313
|
+
- `JS_FreeValue(ctx, val)` - Free a JSValue
|
|
314
|
+
|
|
315
|
+
**Standard Library:**
|
|
316
|
+
- `js_std_init_handlers(rt)` / `js_std_free_handlers(rt)` - Initialize/cleanup std handlers
|
|
317
|
+
- `js_init_module_std(ctx, name)` - Register qjs:std module
|
|
318
|
+
- `js_init_module_os(ctx, name)` - Register qjs:os module
|
|
319
|
+
- `js_init_module_bjson(ctx, name)` - Register qjs:bjson module
|
|
320
|
+
- `js_std_add_helpers(ctx, argc, argv)` - Add console.log, print, scriptArgs, etc.
|
|
321
|
+
- `js_std_loop_once(ctx)` - Run one event loop iteration (non-blocking)
|
|
322
|
+
- `js_std_poll_io(ctx, timeout_ms)` - Poll for I/O events
|
|
323
|
+
- `js_std_dump_error(ctx)` - Dump exception to stderr
|
|
221
324
|
|
|
222
|
-
|
|
223
|
-
- `
|
|
224
|
-
- `qjs_eval(code, len, filename, is_module)` - Evaluate JS code
|
|
225
|
-
- `qjs_loop_once()` - Run one event loop iteration
|
|
226
|
-
- `qjs_poll_io(timeout_ms)` - Poll for I/O events
|
|
227
|
-
- `qjs_destroy()` - Cleanup runtime
|
|
228
|
-
- `malloc/free` - Memory allocation
|
|
325
|
+
**Memory:**
|
|
326
|
+
- `malloc(size)` / `free(ptr)` - Memory allocation
|
|
229
327
|
|
|
230
|
-
This enables re-entrant execution in JavaScript host environments where blocking is not possible.
|
|
328
|
+
This enables re-entrant execution in JavaScript host environments where blocking is not possible. The raw C API also enables advanced use cases like multiple contexts, custom module loaders, and fine-grained resource control.
|
|
231
329
|
|
|
232
330
|
## License
|
|
233
331
|
|
package/dist/quickjs.d.ts
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
import { PollableStdin, File, Directory } from "./fs-mem.js";
|
|
2
|
-
/** Loop result constants from
|
|
2
|
+
/** Loop result constants from js_std_loop_once() */
|
|
3
3
|
export declare const LOOP_IDLE = -1;
|
|
4
4
|
export declare const LOOP_ERROR = -2;
|
|
5
|
-
/** QuickJS reactor exports interface */
|
|
5
|
+
/** QuickJS reactor exports interface - raw C API */
|
|
6
6
|
export interface QuickJSReactorExports {
|
|
7
7
|
/** Standard WASI reactor initialization */
|
|
8
8
|
_initialize(): void;
|
|
9
9
|
/** WebAssembly memory */
|
|
10
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
11
|
malloc(size: number): number;
|
|
25
|
-
/** Free memory */
|
|
26
12
|
free(ptr: number): void;
|
|
13
|
+
JS_NewRuntime(): number;
|
|
14
|
+
JS_FreeRuntime(rt: number): void;
|
|
15
|
+
JS_NewContext(rt: number): number;
|
|
16
|
+
JS_FreeContext(ctx: number): void;
|
|
17
|
+
JS_Eval(ctx: number, input: number, input_len: number, filename: number, eval_flags: number): bigint;
|
|
18
|
+
JS_FreeValue(ctx: number, val: bigint): void;
|
|
19
|
+
js_init_module_std(ctx: number, module_name: number): number;
|
|
20
|
+
js_init_module_os(ctx: number, module_name: number): number;
|
|
21
|
+
js_init_module_bjson(ctx: number, module_name: number): number;
|
|
22
|
+
js_std_init_handlers(rt: number): void;
|
|
23
|
+
js_std_free_handlers(rt: number): void;
|
|
24
|
+
js_std_add_helpers(ctx: number, argc: number, argv: number): void;
|
|
25
|
+
js_std_loop_once(ctx: number): number;
|
|
26
|
+
js_std_poll_io(ctx: number, timeout_ms: number): number;
|
|
27
|
+
js_std_dump_error(ctx: number): void;
|
|
27
28
|
}
|
|
28
29
|
/** Options for creating a QuickJS instance */
|
|
29
30
|
export interface QuickJSOptions {
|
|
30
|
-
/** WASI arguments (default: ['qjs'
|
|
31
|
+
/** WASI arguments (default: ['qjs']) */
|
|
31
32
|
args?: string[];
|
|
32
33
|
/** Environment variables as key=value strings */
|
|
33
34
|
env?: string[];
|
|
@@ -54,16 +55,29 @@ export declare class QuickJS {
|
|
|
54
55
|
private running;
|
|
55
56
|
private exitCode;
|
|
56
57
|
private stdin;
|
|
58
|
+
private rtPtr;
|
|
59
|
+
private ctxPtr;
|
|
57
60
|
constructor(wasmModule: WebAssembly.Module, options?: QuickJSOptions);
|
|
61
|
+
/** Allocate a null-terminated string in WASM memory */
|
|
62
|
+
private allocString;
|
|
63
|
+
/** Free a pointer */
|
|
64
|
+
private freePtr;
|
|
65
|
+
/** Check if a JSValue is an exception */
|
|
66
|
+
private isException;
|
|
58
67
|
/**
|
|
59
|
-
* Initialize QuickJS
|
|
60
|
-
* The args should match the WASI args passed to the constructor.
|
|
68
|
+
* Initialize QuickJS runtime and context.
|
|
61
69
|
*/
|
|
62
|
-
|
|
70
|
+
init(): void;
|
|
63
71
|
/**
|
|
64
|
-
* Initialize QuickJS
|
|
72
|
+
* Initialize QuickJS and import std modules as globals.
|
|
73
|
+
* This makes std, os, and bjson available as global objects.
|
|
65
74
|
*/
|
|
66
|
-
|
|
75
|
+
initStdModule(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Initialize QuickJS with command-line arguments.
|
|
78
|
+
* Sets up scriptArgs for the JavaScript code.
|
|
79
|
+
*/
|
|
80
|
+
initArgv(args: string[]): void;
|
|
67
81
|
/**
|
|
68
82
|
* Evaluate JavaScript code.
|
|
69
83
|
* @param code The JavaScript code to evaluate
|
package/dist/quickjs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickjs.d.ts","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,aAAa,EAEb,IAAI,EACJ,SAAS,EAGV,MAAM,aAAa,CAAC;AAGrB,
|
|
1
|
+
{"version":3,"file":"quickjs.d.ts","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"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"}
|
package/dist/quickjs.js
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
// This module provides a high-level API for running QuickJS in reactor mode.
|
|
3
3
|
import { WASI, WASIProcExit } from "./wasi.js";
|
|
4
4
|
import { ConsoleStdout, PollableStdin, PreopenDirectory, File, Directory, DevOut, DevDirectory, } from "./fs-mem.js";
|
|
5
|
-
/** Loop result constants from
|
|
5
|
+
/** Loop result constants from js_std_loop_once() */
|
|
6
6
|
export const LOOP_IDLE = -1;
|
|
7
7
|
export const LOOP_ERROR = -2;
|
|
8
|
+
/** JS_EVAL flags */
|
|
9
|
+
const JS_EVAL_TYPE_GLOBAL = 0;
|
|
10
|
+
const JS_EVAL_TYPE_MODULE = 1;
|
|
11
|
+
/** JSValue tag constants */
|
|
12
|
+
const JS_TAG_EXCEPTION = 6;
|
|
8
13
|
/**
|
|
9
14
|
* QuickJS provides a high-level API for running JavaScript in QuickJS WASI reactor mode.
|
|
10
15
|
*/
|
|
@@ -15,8 +20,11 @@ export class QuickJS {
|
|
|
15
20
|
running = false;
|
|
16
21
|
exitCode = 0;
|
|
17
22
|
stdin;
|
|
23
|
+
// Runtime state
|
|
24
|
+
rtPtr = 0;
|
|
25
|
+
ctxPtr = 0;
|
|
18
26
|
constructor(wasmModule, options = {}) {
|
|
19
|
-
const args = options.args ?? ["qjs"
|
|
27
|
+
const args = options.args ?? ["qjs"];
|
|
20
28
|
const env = options.env ?? [];
|
|
21
29
|
const debug = options.debug ?? false;
|
|
22
30
|
// Create stdin
|
|
@@ -49,44 +57,114 @@ export class QuickJS {
|
|
|
49
57
|
// Initialize the WASI reactor
|
|
50
58
|
this.wasi.initialize(this.instance);
|
|
51
59
|
}
|
|
60
|
+
/** Allocate a null-terminated string in WASM memory */
|
|
61
|
+
allocString(s) {
|
|
62
|
+
if (!this.exports)
|
|
63
|
+
throw new Error("QuickJS not initialized");
|
|
64
|
+
const bytes = new TextEncoder().encode(s);
|
|
65
|
+
const ptr = this.exports.malloc(bytes.length + 1);
|
|
66
|
+
if (ptr === 0)
|
|
67
|
+
throw new Error("malloc failed");
|
|
68
|
+
const memory = new Uint8Array(this.exports.memory.buffer);
|
|
69
|
+
memory.set(bytes, ptr);
|
|
70
|
+
memory[ptr + bytes.length] = 0;
|
|
71
|
+
return ptr;
|
|
72
|
+
}
|
|
73
|
+
/** Free a pointer */
|
|
74
|
+
freePtr(ptr) {
|
|
75
|
+
if (ptr !== 0 && this.exports) {
|
|
76
|
+
this.exports.free(ptr);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Check if a JSValue is an exception */
|
|
80
|
+
isException(val) {
|
|
81
|
+
const tag = Number(val >> 32n);
|
|
82
|
+
return tag === JS_TAG_EXCEPTION;
|
|
83
|
+
}
|
|
52
84
|
/**
|
|
53
|
-
* Initialize QuickJS
|
|
54
|
-
* The args should match the WASI args passed to the constructor.
|
|
85
|
+
* Initialize QuickJS runtime and context.
|
|
55
86
|
*/
|
|
56
|
-
|
|
87
|
+
init() {
|
|
57
88
|
if (!this.exports)
|
|
58
89
|
throw new Error("QuickJS not initialized");
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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;
|
|
90
|
+
// Create runtime
|
|
91
|
+
this.rtPtr = this.exports.JS_NewRuntime();
|
|
92
|
+
if (this.rtPtr === 0) {
|
|
93
|
+
throw new Error("JS_NewRuntime failed");
|
|
74
94
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
95
|
+
// Initialize std handlers
|
|
96
|
+
this.exports.js_std_init_handlers(this.rtPtr);
|
|
97
|
+
// Create context
|
|
98
|
+
this.ctxPtr = this.exports.JS_NewContext(this.rtPtr);
|
|
99
|
+
if (this.ctxPtr === 0) {
|
|
100
|
+
this.exports.js_std_free_handlers(this.rtPtr);
|
|
101
|
+
this.exports.JS_FreeRuntime(this.rtPtr);
|
|
102
|
+
this.rtPtr = 0;
|
|
103
|
+
throw new Error("JS_NewContext failed");
|
|
79
104
|
}
|
|
105
|
+
// Initialize std modules
|
|
106
|
+
const stdName = this.allocString("qjs:std");
|
|
107
|
+
this.exports.js_init_module_std(this.ctxPtr, stdName);
|
|
108
|
+
this.freePtr(stdName);
|
|
109
|
+
const osName = this.allocString("qjs:os");
|
|
110
|
+
this.exports.js_init_module_os(this.ctxPtr, osName);
|
|
111
|
+
this.freePtr(osName);
|
|
112
|
+
const bjsonName = this.allocString("qjs:bjson");
|
|
113
|
+
this.exports.js_init_module_bjson(this.ctxPtr, bjsonName);
|
|
114
|
+
this.freePtr(bjsonName);
|
|
115
|
+
// Add std helpers (console.log, print, etc.)
|
|
116
|
+
this.exports.js_std_add_helpers(this.ctxPtr, 0, 0);
|
|
80
117
|
}
|
|
81
118
|
/**
|
|
82
|
-
* Initialize QuickJS
|
|
119
|
+
* Initialize QuickJS and import std modules as globals.
|
|
120
|
+
* This makes std, os, and bjson available as global objects.
|
|
83
121
|
*/
|
|
84
|
-
|
|
122
|
+
initStdModule() {
|
|
123
|
+
this.init();
|
|
124
|
+
// Import and expose std modules globally
|
|
125
|
+
const code = `import * as bjson from 'qjs:bjson';
|
|
126
|
+
import * as std from 'qjs:std';
|
|
127
|
+
import * as os from 'qjs:os';
|
|
128
|
+
globalThis.bjson = bjson;
|
|
129
|
+
globalThis.std = std;
|
|
130
|
+
globalThis.os = os;
|
|
131
|
+
`;
|
|
132
|
+
this.eval(code, true);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Initialize QuickJS with command-line arguments.
|
|
136
|
+
* Sets up scriptArgs for the JavaScript code.
|
|
137
|
+
*/
|
|
138
|
+
initArgv(args) {
|
|
85
139
|
if (!this.exports)
|
|
86
140
|
throw new Error("QuickJS not initialized");
|
|
87
|
-
|
|
88
|
-
if (
|
|
89
|
-
|
|
141
|
+
this.init();
|
|
142
|
+
if (args.length > 0) {
|
|
143
|
+
// Allocate argv strings
|
|
144
|
+
const argPtrs = [];
|
|
145
|
+
for (const arg of args) {
|
|
146
|
+
argPtrs.push(this.allocString(arg));
|
|
147
|
+
}
|
|
148
|
+
// Allocate argv array
|
|
149
|
+
const argvPtr = this.exports.malloc(args.length * 4);
|
|
150
|
+
if (argvPtr === 0) {
|
|
151
|
+
for (const ptr of argPtrs) {
|
|
152
|
+
this.freePtr(ptr);
|
|
153
|
+
}
|
|
154
|
+
throw new Error("malloc failed for argv");
|
|
155
|
+
}
|
|
156
|
+
// Write argv pointers
|
|
157
|
+
const view = new DataView(this.exports.memory.buffer);
|
|
158
|
+
for (let i = 0; i < argPtrs.length; i++) {
|
|
159
|
+
view.setUint32(argvPtr + i * 4, argPtrs[i], true);
|
|
160
|
+
}
|
|
161
|
+
// Call js_std_add_helpers with argv
|
|
162
|
+
this.exports.js_std_add_helpers(this.ctxPtr, args.length, argvPtr);
|
|
163
|
+
// Free argv
|
|
164
|
+
this.freePtr(argvPtr);
|
|
165
|
+
for (const ptr of argPtrs) {
|
|
166
|
+
this.freePtr(ptr);
|
|
167
|
+
}
|
|
90
168
|
}
|
|
91
169
|
}
|
|
92
170
|
/**
|
|
@@ -96,45 +174,38 @@ export class QuickJS {
|
|
|
96
174
|
* @param filename Optional filename for error messages
|
|
97
175
|
*/
|
|
98
176
|
eval(code, isModule = false, filename = "<eval>") {
|
|
99
|
-
if (!this.exports)
|
|
177
|
+
if (!this.exports || this.ctxPtr === 0) {
|
|
100
178
|
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
179
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
//
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const result = this.exports.qjs_eval(codePtr, codeBytes.length, filenamePtr, isModule ? 1 : 0);
|
|
180
|
+
// Allocate code string (with null terminator)
|
|
181
|
+
const codePtr = this.allocString(code);
|
|
182
|
+
// Allocate filename string
|
|
183
|
+
const filenamePtr = this.allocString(filename);
|
|
184
|
+
// Determine eval flags
|
|
185
|
+
const evalFlags = isModule ? JS_EVAL_TYPE_MODULE : JS_EVAL_TYPE_GLOBAL;
|
|
186
|
+
// Call JS_Eval
|
|
187
|
+
const result = this.exports.JS_Eval(this.ctxPtr, codePtr, code.length, filenamePtr, evalFlags);
|
|
122
188
|
// Free allocated memory
|
|
123
|
-
this.
|
|
124
|
-
this.
|
|
125
|
-
|
|
126
|
-
|
|
189
|
+
this.freePtr(codePtr);
|
|
190
|
+
this.freePtr(filenamePtr);
|
|
191
|
+
// Check for exception
|
|
192
|
+
if (this.isException(result)) {
|
|
193
|
+
this.exports.js_std_dump_error(this.ctxPtr);
|
|
194
|
+
throw new Error("JavaScript exception");
|
|
127
195
|
}
|
|
196
|
+
// Free the result value
|
|
197
|
+
this.exports.JS_FreeValue(this.ctxPtr, result);
|
|
128
198
|
}
|
|
129
199
|
/**
|
|
130
200
|
* Run one iteration of the event loop.
|
|
131
201
|
* @returns Loop result: >0 = timer ms, 0 = more work, -1 = idle, -2 = error
|
|
132
202
|
*/
|
|
133
203
|
loopOnce() {
|
|
134
|
-
if (!this.exports)
|
|
204
|
+
if (!this.exports || this.ctxPtr === 0) {
|
|
135
205
|
throw new Error("QuickJS not initialized");
|
|
206
|
+
}
|
|
136
207
|
try {
|
|
137
|
-
return this.exports.
|
|
208
|
+
return this.exports.js_std_loop_once(this.ctxPtr);
|
|
138
209
|
}
|
|
139
210
|
catch (e) {
|
|
140
211
|
if (e instanceof WASIProcExit) {
|
|
@@ -150,10 +221,11 @@ export class QuickJS {
|
|
|
150
221
|
* @param timeoutMs Poll timeout in milliseconds (0 = non-blocking)
|
|
151
222
|
*/
|
|
152
223
|
pollIO(timeoutMs = 0) {
|
|
153
|
-
if (!this.exports)
|
|
224
|
+
if (!this.exports || this.ctxPtr === 0) {
|
|
154
225
|
throw new Error("QuickJS not initialized");
|
|
226
|
+
}
|
|
155
227
|
try {
|
|
156
|
-
return this.exports.
|
|
228
|
+
return this.exports.js_std_poll_io(this.ctxPtr, timeoutMs);
|
|
157
229
|
}
|
|
158
230
|
catch (e) {
|
|
159
231
|
if (e instanceof WASIProcExit) {
|
|
@@ -263,7 +335,15 @@ export class QuickJS {
|
|
|
263
335
|
*/
|
|
264
336
|
destroy() {
|
|
265
337
|
if (this.exports) {
|
|
266
|
-
this.
|
|
338
|
+
if (this.ctxPtr !== 0) {
|
|
339
|
+
this.exports.JS_FreeContext(this.ctxPtr);
|
|
340
|
+
this.ctxPtr = 0;
|
|
341
|
+
}
|
|
342
|
+
if (this.rtPtr !== 0) {
|
|
343
|
+
this.exports.js_std_free_handlers(this.rtPtr);
|
|
344
|
+
this.exports.JS_FreeRuntime(this.rtPtr);
|
|
345
|
+
this.rtPtr = 0;
|
|
346
|
+
}
|
|
267
347
|
}
|
|
268
348
|
this.stdin.close();
|
|
269
349
|
}
|
package/dist/quickjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickjs.js","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quickjs.js","sourceRoot":"","sources":["../src/quickjs.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** QuickJS-NG version string */
|
|
2
|
-
export declare const VERSION = "v0.11.0-wasi29-reactor-
|
|
2
|
+
export declare const VERSION = "v0.11.0-wasi29-reactor-r4";
|
|
3
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-
|
|
4
|
+
export declare const DOWNLOAD_URL = "https://github.com/paralin/quickjs/releases/download/v0.11.0-wasi29-reactor-r4/qjs-wasi-reactor.wasm";
|
|
5
5
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,gCAAgC;AAChC,eAAO,MAAM,OAAO,8BAA8B,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,gCAAgC;AAChC,eAAO,MAAM,OAAO,8BAA8B,CAAA;AAElD,uCAAuC;AACvC,eAAO,MAAM,YAAY,yGAAyG,CAAA"}
|
package/dist/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Auto-generated by update-quickjs.bash
|
|
2
2
|
// Do not edit manually
|
|
3
3
|
/** QuickJS-NG version string */
|
|
4
|
-
export const VERSION =
|
|
4
|
+
export const VERSION = 'v0.11.0-wasi29-reactor-r4';
|
|
5
5
|
/** Download URL for the WASM binary */
|
|
6
|
-
export const DOWNLOAD_URL =
|
|
6
|
+
export const DOWNLOAD_URL = 'https://github.com/paralin/quickjs/releases/download/v0.11.0-wasi29-reactor-r4/qjs-wasi-reactor.wasm';
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +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,
|
|
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,CAAA;AAElD,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,sGAAsG,CAAA"}
|
package/package.json
CHANGED
package/qjs-wasi.wasm
CHANGED
|
Binary file
|