@jitl/quickjs-ng-wasmfile-debug-sync
TypeScript icon, indicating that this package has built-in type declarations

0.29.1 • Public • Published

@jitl/quickjs-ng-wasmfile-debug-sync

Variant with separate .WASM file. Supports browser ESM, NodeJS ESM, and NodeJS CommonJS.

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-ng-wasmfile-debug-sync"
import { newQuickJSWASMModuleFromVariant } from "quickjs-emscripten-core"
const QuickJS = await newQuickJSWASMModuleFromVariant(variant)

This variant was built with the following settings:

Library: quickjs-ng

quickjs-ng is a fork of quickjs that tends to add features more quickly.

Version git+7ded62c5 vendored to quickjs-emscripten on 2024-02-12.

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 workerd

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.
  • Targets Cloudflare Workers.

Extra async magic? No

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-ng",
  "releaseMode": "debug",
  "syncMode": "sync",
  "description": "Variant with separate .WASM file. Supports browser ESM, NodeJS ESM, and NodeJS CommonJS.",
  "emscriptenInclusion": "wasm",
  "exports": {
    "require": {
      "emscriptenEnvironment": ["node"]
    },
    "import": {
      "emscriptenEnvironment": ["node"]
    },
    "browser": {
      "emscriptenEnvironment": ["web", "worker"]
    },
    "workerd": {
      "emscriptenEnvironment": ["web"]
    }
  }
}

Variant-specific Emscripten build flags:

[
  "-O0",
  "-DQTS_DEBUG_MODE",
  "-gsource-map",
  "-s ASSERTIONS=1",
  "--pre-js $(TEMPLATES)/pre-extension.js",
  "--pre-js $(TEMPLATES)/pre-sourceMapJson.js",
  "--pre-js $(TEMPLATES)/pre-wasmOffsetConverter.js",
  "--pre-js $(TEMPLATES)/pre-wasmMemory.js",
  "-DQTS_SANITIZE_LEAK",
  "-fsanitize=leak",
  "-g2"
]

Readme

Keywords

none

Package Sidebar

Install

npm i @jitl/quickjs-ng-wasmfile-debug-sync

Weekly Downloads

11

Version

0.29.1

License

MIT

Unpacked Size

7.43 MB

Total Files

24

Last publish

Collaborators

  • jitl