Files
NumberSwipe_New/wechat-campaign-200-r2/music-assets.mjs
T

4 lines
550 B
JavaScript

import fs from 'node:fs';import path from 'node:path';import crypto from 'node:crypto';
// User-selected WAVs are versioned assets, never overwritten by synthesis.
export function buildMusic(root){const manifest=JSON.parse(fs.readFileSync(path.join(root,'.audio-sources/manifest.json')));for(const item of Object.values(manifest)){const b=fs.readFileSync(path.join(root,item.output));if(b.toString('ascii',0,4)!=='RIFF'||crypto.createHash('sha256').update(b).digest('hex')!==item.sha256)throw Error('Selected WAV resource mismatch: '+item.output);}}