cache versions
This commit is contained in:
46
scripts/generate-version.js
Normal file
46
scripts/generate-version.js
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { execSync } = require('child_process');
|
||||
|
||||
function generateVersion() {
|
||||
const timestamp = Date.now();
|
||||
const date = new Date().toISOString();
|
||||
|
||||
let gitHash = null;
|
||||
let gitBranch = null;
|
||||
|
||||
try {
|
||||
gitHash = execSync('git rev-parse --short HEAD', { encoding: 'utf8' }).trim();
|
||||
gitBranch = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf8' }).trim();
|
||||
} catch (e) {
|
||||
console.warn('Warning: Could not get git info');
|
||||
}
|
||||
|
||||
const version = {
|
||||
timestamp,
|
||||
date,
|
||||
version: gitHash ? `${timestamp}-${gitHash}` : timestamp.toString(),
|
||||
gitHash,
|
||||
gitBranch,
|
||||
buildDate: date
|
||||
};
|
||||
|
||||
const outputPath = path.join(__dirname, '../public/version.json');
|
||||
fs.writeFileSync(outputPath, JSON.stringify(version, null, 2));
|
||||
|
||||
console.log('✅ Version file generated:', version.version);
|
||||
console.log(` Date: ${date}`);
|
||||
if (gitHash) {
|
||||
console.log(` Git: ${gitHash} (${gitBranch})`);
|
||||
}
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
generateVersion();
|
||||
}
|
||||
|
||||
module.exports = { generateVersion };
|
||||
Reference in New Issue
Block a user