generate-version.js 987 B

1234567891011121314151617181920212223242526272829303132333435
  1. const fs = require('fs').promises; // 或 require('fs/promises')
  2. const path = require('path');
  3. const dayjs = require('dayjs');
  4. const utc = require('dayjs/plugin/utc.js');
  5. const timezone = require('dayjs/plugin/timezone.js');
  6. dayjs.extend(utc)
  7. dayjs.extend(timezone)
  8. async function generateVersion() {
  9. try {
  10. const pkgBuffer = await fs.readFile(path.resolve(__dirname, 'package.json'))
  11. const pkg = JSON.parse(pkgBuffer.toString())
  12. const now = dayjs().tz("Asia/Shanghai")
  13. const versionData = {
  14. version: pkg.version,
  15. timestamp: now.format("YYYY-MM-DDTHH:mm:ss.SSS"),
  16. commitHash: process.env.GIT_COMMIT_HASH || 'dev-build'
  17. }
  18. await fs.writeFile(
  19. path.resolve(__dirname, 'public', 'version.json'),
  20. JSON.stringify(versionData, null, 2)
  21. )
  22. console.log('✅ 版本文件已生成:', versionData)
  23. } catch (error) {
  24. console.error('❌ 版本生成失败:', error)
  25. process.exit(1)
  26. }
  27. }
  28. generateVersion()