wasmer-pack 0.7.1

A code generator that lets you treat WebAssembly modules like native dependencies.
Documentation
---
source: crates/wasmer-pack/src/js/mod.rs
expression: "files[\"package/src/commands/second-with-dashes.js\"].utf8_contents().unwrap()"
---
const fs = require("fs/promises");
const { init: initWasi, WASI } = require("@wasmer/wasi");

let compiledModule = undefined;

/** Lazily fetch and compile the WebAssembly module */
async function getModule() {
    if (!compiledModule) {
        const wasm = await fs.readFile(`${__dirname}/second-with-dashes.wasm`);

        compiledModule = WebAssembly.compile(wasm);
    }

    return await compiledModule;
}

async function load(options) {
    await initWasi();
    const module = options?.module || await getModule();
    const wasi = new WASI(options?.wasi || {}, module);
    const imports = options?.imports || {};

    await wasi.instantiate(module, imports);

    const code = wasi.start();
    return { code:code, wasi: wasi };
}

module.exports = { load };