import path from 'path';import {writeFileSync} from 'fs';import {execSync} from 'child_process';let outputFileName = process.argv[2];if (!outputFileName) {outputFileName = 'revision.json';}try {const rootDir = execSync('git rev-parse --show-toplevel').toString().trim();const branch = execSync('git rev-parse --abbrev-ref HEAD').toString().trim();const SHA1 = execSync('git rev-parse --short HEAD').toString().trim();const commit = execSync(`git log -n 1 --date=format:'%Y-%m-%d %H:%M:%S' --format="%s%n%an%n%cd"`).toString().trim();const [message, author, date] = commit.split('\n');const content = JSON.stringify({branch, SHA1, message, author, date},undefined,2);writeFileSync(path.join(rootDir, outputFileName), content, {encoding: 'utf8'});console.log('\x1b[32m%s\x1b[0m','✨ [amis] revision.json generated successfully!');process.exit();} catch (error) {console.log('\x1b[31m%s\x1b[0m', '❌ [amis] revision.json failed to write!');process.exit(1);}