@jitl/quickjs-wasmfile-debug-sync
Variant with separate .WASM file. Supports browser, NodeJS ESM, and NodeJS CJS.
This generated package is part of quickjs-emscripten.
It contains a variant of the quickjs WASM library, and can be used with quickjs-emscripten-core.
import variant from "@jitl/quickjs-wasmfile-debug-sync"
import { newQuickJSWASMModuleFromVariant } from "quickjs-emscripten-core"
const QuickJS = await newQuickJSWASMModuleFromVariant(variant)
This variant was built with the following settings:
Library: quickjs
The original bellard/quickjs library.
Release mode: debug
Enables assertions and memory sanitizers. Try to run your tests against debug variants, in addition to your preferred production variant, to catch more bugs.
Exports: require import browser
Exports the following in package.json for the package entrypoint:
- Exports a NodeJS-compatible CommonJS module, which is faster to load and run compared to an ESModule.
- Exports a NodeJS-compatible ESModule. Cannot be imported synchronously from a NodeJS CommonJS module.
- Exports a browser-compatible ESModule, designed to work in browsers and browser-like environments.
The default, normal build. Note that both variants support regular async functions.
Single-file, or separate .wasm file? wasm
Has a separate .wasm file. May offer better caching in your browser, and reduces the size of your JS bundle. If you have issues, try a 'singlefile' variant.
More details
Full variant JSON description:
{
"library": "quickjs",
"releaseMode": "debug",
"syncMode": "sync",
"description": "Variant with separate .WASM file. Supports browser, NodeJS ESM, and NodeJS CJS.",
"emscriptenInclusion": "wasm",
"exports": {
"require": {
"emscriptenEnvironment": ["node"]
},
"import": {
"emscriptenEnvironment": ["node"]
},
"browser": {
"emscriptenEnvironment": ["web", "worker"]
}
}
}
Variant-specific Emscripten build flags:
[
"-O0",
"-DQTS_DEBUG_MODE",
"-gsource-map",
"-s ASSERTIONS=1",
"-DQTS_SANITIZE_LEAK",
"-fsanitize=leak",
"-g2"
]