generate-version-json.js 662 B

1234567891011121314151617181920212223242526272829
  1. const fs = require('node:fs');
  2. const path = require('node:path');
  3. const semver = require('semver');
  4. const outputPath = process.argv[2];
  5. const currentVersion = process.argv[3];
  6. const parsed = semver.parse(currentVersion);
  7. let prerelease = '';
  8. if (parsed.prerelease && parsed.prerelease.length > 0) {
  9. prerelease = parsed.prerelease.join('.');
  10. }
  11. const {
  12. major,
  13. minor,
  14. patch
  15. } = parsed;
  16. fs.writeFileSync(outputPath, JSON.stringify({
  17. full_version: currentVersion,
  18. major,
  19. minor,
  20. patch,
  21. prerelease,
  22. prerelease_number: prerelease ? parsed.prerelease[parsed.prerelease.length - 1] : '0',
  23. has_prerelease: prerelease === '' ? 0 : 1
  24. }, null, 2));