Something went wrong. Try again.
inkfinite (an infinite canvas/whiteboard) monorepo ink.stormlightlabs.org
svelte rust tauri svg canvas perfect-freehand
Something went wrong. Try again.
12345678910111213141516171819202122import { mkdir, rm } from 'node:fs/promises';import { spawn } from 'node:child_process';import { fileURLToPath } from 'node:url';import path from 'node:path';
const root = path.resolve(fileURLToPath(new URL('..', import.meta.url)));const output = path.join(root, 'packages/wasm/dist');const target = path.join(root, 'target/wasm32-unknown-unknown/release/inkfinite_wasm.wasm');
function run(command, args) { return new Promise((resolve, reject) => { const child = spawn(command, args, { cwd: root, stdio: 'inherit' }); child.once('error', reject); child.once('exit', (code) => (code === 0 ? resolve() : reject(new Error(`${command} exited with ${code}`)))); });}
await run('cargo', ['build', '-p', 'inkfinite-wasm', '--target', 'wasm32-unknown-unknown', '--release']);await rm(output, { recursive: true, force: true });await mkdir(output, { recursive: true });await run('wasm-bindgen', [target, '--target', 'web', '--out-dir', output, '--out-name', 'inkfinite_wasm']);