| 12345678910111213141516171819202122232425262728 | import fs from 'fs'import path from 'path'import { execSync } from 'child_process'import type { Plugin } from 'vite'import { formatDateTime } from '../src/utils'export default function buildInfoPlugin(mode: string): Plugin {  return {    name: 'build-info-plugin',    closeBundle() {      const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'))      const buildInfo = {        version: pkg.version,        buildTime: formatDateTime(new Date()),        branch: execSync('git rev-parse --abbrev-ref HEAD').toString().trim(),        commitHash: execSync('git rev-parse --short HEAD').toString().trim(),        env: mode,      }      const outDir = path.resolve(process.cwd(), 'dist')      fs.writeFileSync(path.join(outDir, 'version.json'), JSON.stringify(buildInfo, null, 2))      console.log('\x1b[36m📦 已生成 version.json\x1b[0m')      console.log(buildInfo)    },  }}
 |