28 lines
		
	
	
	
		
			627 B
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			627 B
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const fs = require('node:fs');
 | 
						|
const semver = require('semver');
 | 
						|
 | 
						|
const outputPath = process.argv[2];
 | 
						|
const currentVersion = process.argv[3];
 | 
						|
 | 
						|
const parsed = semver.parse(currentVersion);
 | 
						|
 | 
						|
let prerelease = '';
 | 
						|
if (parsed.prerelease && parsed.prerelease.length > 0) {
 | 
						|
  prerelease = parsed.prerelease.join('.');
 | 
						|
}
 | 
						|
 | 
						|
const {
 | 
						|
  major,
 | 
						|
  minor,
 | 
						|
  patch
 | 
						|
} = parsed;
 | 
						|
 | 
						|
fs.writeFileSync(outputPath, JSON.stringify({
 | 
						|
  full_version: currentVersion,
 | 
						|
  major,
 | 
						|
  minor,
 | 
						|
  patch,
 | 
						|
  prerelease,
 | 
						|
  prerelease_number: prerelease ? parsed.prerelease[parsed.prerelease.length - 1] : '0',
 | 
						|
  has_prerelease: prerelease === '' ? 0 : 1
 | 
						|
}, null, 2));
 |