mirror of
https://github.com/Viren070/AIOStreams.git
synced 2025-12-01 23:14:04 +01:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const { writeFileSync, mkdirSync } = require('fs');
|
|
const { execSync } = require('child_process');
|
|
const path = require('path');
|
|
|
|
const channel = process.argv.find((arg) => arg.startsWith('--channel='));
|
|
const isNightly = channel === '--channel=nightly';
|
|
|
|
// Get the version from package.json
|
|
let { version, description } = require('../package.json');
|
|
|
|
let tag;
|
|
if (isNightly) {
|
|
tag = execSync('git describe --tags --abbrev=0').toString().trim();
|
|
} else {
|
|
tag = execSync('git tag --sort=-version:refname | head -n 1')
|
|
.toString()
|
|
.trim();
|
|
}
|
|
|
|
// Get the current Git commit hash
|
|
const commitHash = execSync('git rev-parse --short HEAD').toString().trim();
|
|
const commitTime = execSync('git log -1 --format=%cd --date=iso')
|
|
.toString()
|
|
.trim();
|
|
|
|
// Create the version info object
|
|
const versionInfo = {
|
|
version,
|
|
description,
|
|
tag,
|
|
commitHash,
|
|
buildTime: new Date().toISOString(),
|
|
commitTime: new Date(commitTime).toISOString(),
|
|
};
|
|
|
|
// Write the version info to a file
|
|
const outputPath = path.resolve(__dirname, '../resources/metadata.json');
|
|
const outputDir = path.dirname(outputPath);
|
|
// Ensure the output directory exists
|
|
mkdirSync(outputDir, { recursive: true });
|
|
// Write the version info to a JSON file
|
|
const jsonContent = JSON.stringify(versionInfo, null, 2);
|
|
writeFileSync(outputPath, jsonContent, 'utf8');
|
|
// Write the version info to a TypeScript file
|
|
console.log('Version info generated:', versionInfo);
|