Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/thatdeveloperguy-website / scripts/sync-rive-wasm.mjs |
| Date | Not specified in source |
| Repository | Janady13/thatdeveloperguy-website |
| Revision | 2bea2ebdff0e34494bff597d4fa9c8422a0c3a94 |
| Branch | main |
| Path or archive member | scripts/sync-rive-wasm.mjs |
| Original SHA-256 | 5e80939b350dff66c318a98d6e842029992e2ee9a384f6046228e14480a3790f |
| Git blob SHA | 5d01c70244365f0eaae73957ecf47c1ee2cbfb22 |
| Reading-copy SHA-256 | 5e80939b350dff66c318a98d6e842029992e2ee9a384f6046228e14480a3790f |
Recovered source transcript
Download complete source text ↓18 lines · 1.2 KB
import { createRequire } from 'node:module';
import { dirname, join } from 'node:path';
import { existsSync, readFileSync, copyFileSync, mkdirSync, writeFileSync } from 'node:fs';
import { createHash } from 'node:crypto';
import { fileURLToPath } from 'node:url';
process.chdir(fileURLToPath(new URL('..', import.meta.url)));
const require = createRequire(import.meta.url);
const reactEntry = require.resolve('@rive-app/react-webgl2');
const runtimeEntry = createRequire(reactEntry).resolve('@rive-app/webgl2');
let dir = dirname(runtimeEntry);
while (!existsSync(join(dir, 'package.json'))) { const parent = dirname(dir); if (parent === dir) throw new Error('runtime package root not found'); dir = parent; }
const pkg = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8'));
if (pkg.name !== '@rive-app/webgl2') throw new Error('unexpected runtime package');
const out = 'public/animation/runtime'; mkdirSync(out, { recursive: true });
copyFileSync(join(dir, 'rive.wasm'), join(out, 'rive.wasm'));
writeFileSync(join(out, 'version.json'), JSON.stringify({ name: pkg.name, version: pkg.version, wasmSHA256: createHash('sha256').update(readFileSync(join(dir, 'rive.wasm'))).digest('hex') }, null, 2));
console.log(`self-hosted Rive WebGL2 runtime ${pkg.version}`);