mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-07-05 04:21:50 +02:00
Fix wasm-pack output for Vite 8/rolldown production builds
Rewrite generated yaak_templates.js to use Vite's ?init import style instead of the ES Module Integration style that rolldown doesn't support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
const { execSync } = require('node:child_process');
|
const { execSync } = require('node:child_process');
|
||||||
|
const fs = require('node:fs');
|
||||||
|
const path = require('node:path');
|
||||||
|
|
||||||
if (process.env.SKIP_WASM_BUILD === '1') {
|
if (process.env.SKIP_WASM_BUILD === '1') {
|
||||||
console.log('Skipping wasm-pack build (SKIP_WASM_BUILD=1)');
|
console.log('Skipping wasm-pack build (SKIP_WASM_BUILD=1)');
|
||||||
@@ -6,3 +8,20 @@ if (process.env.SKIP_WASM_BUILD === '1') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
execSync('wasm-pack build --target bundler', { stdio: 'inherit' });
|
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'),
|
||||||
|
);
|
||||||
|
|||||||
+5
-4
@@ -1,5 +1,6 @@
|
|||||||
import * as wasm from "./yaak_templates_bg.wasm";
|
import init from "./yaak_templates_bg.wasm?init";
|
||||||
export * from "./yaak_templates_bg.js";
|
export * from "./yaak_templates_bg.js";
|
||||||
import { __wbg_set_wasm } from "./yaak_templates_bg.js";
|
import * as bg from "./yaak_templates_bg.js";
|
||||||
__wbg_set_wasm(wasm);
|
const instance = await init({ "./yaak_templates_bg.js": bg });
|
||||||
wasm.__wbindgen_start();
|
bg.__wbg_set_wasm(instance.exports);
|
||||||
|
instance.exports.__wbindgen_start();
|
||||||
|
|||||||
Reference in New Issue
Block a user