mirror of
https://github.com/rive-app/rive-react.git
synced 2025-12-19 01:30:08 +08:00
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
const fs = require('fs');
|
|
const path = process.argv[3];
|
|
const package = require(path + '/package.json');
|
|
const currentVersion = package.version;
|
|
const nextVersion = process.argv[2].trim().replace(/\'/g, '"');
|
|
|
|
if (!nextVersion || nextVersion === currentVersion) {
|
|
throw new Error('Next version is not defined or is a version that already exists');
|
|
}
|
|
|
|
// Returns -1 if first is less than second, 1 if first is greater than second, otherwise 0 if equal.
|
|
function compareVersion(first, second) {
|
|
// Assumption: only numbers in our versions.
|
|
const firstParts = first.split('.').map((value) => parseInt(value));
|
|
const secondParts = second.split('.').map((value) => parseInt(value));
|
|
|
|
for (let i = 0; i < Math.max(firstParts.length, secondParts.length); i++) {
|
|
const first = i < firstParts.length ? firstParts[i] : 0;
|
|
const second = i < secondParts.length ? secondParts[i] : 0;
|
|
if (first < second) {
|
|
return -1;
|
|
}
|
|
if (second < first) {
|
|
return 1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
if (compareVersion(currentVersion, nextVersion) <= 0) {
|
|
package.version = nextVersion;
|
|
fs.writeFileSync(path + '/package.json', JSON.stringify(package, null, 2));
|
|
}
|