const { execSync } = require('child_process'); const fs = require('fs'); const path = require('path'); function sh(cmd) { try { return execSync(cmd, { encoding: 'utf8' }).trim(); } catch { return ''; } } const out = { full: sh('git rev-parse HEAD'), short: sh('git rev-parse --short HEAD'), date: sh('git log -1 --format=%cI') }; fs.writeFileSync( path.join(__dirname, '..', 'public', 'version.json'), JSON.stringify(out, null, 2) );