mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-20 16:01:18 +02:00
28 lines
942 B
JavaScript
28 lines
942 B
JavaScript
const { execSync } = require('node:child_process');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
if (process.env.SKIP_WASM_BUILD === '1') {
|
|
console.log('Skipping wasm-pack build (SKIP_WASM_BUILD=1)');
|
|
return;
|
|
}
|
|
|
|
execSync('wasm-pack build --target bundler', { stdio: 'inherit' });
|
|
|
|
// Rewrite the generated entry to use Vite's ?init import style instead of
|
|
// the ES Module Integration style that wasm-pack generates, which Vite/rolldown
|
|
// does not support in production builds.
|
|
const entry = path.join(__dirname, 'pkg', 'yaak_templates.js');
|
|
fs.writeFileSync(
|
|
entry,
|
|
[
|
|
'import init from "./yaak_templates_bg.wasm?init";',
|
|
'export * from "./yaak_templates_bg.js";',
|
|
'import * as bg from "./yaak_templates_bg.js";',
|
|
'const instance = await init({ "./yaak_templates_bg.js": bg });',
|
|
'bg.__wbg_set_wasm(instance.exports);',
|
|
'instance.exports.__wbindgen_start();',
|
|
'',
|
|
].join('\n'),
|
|
);
|