41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
/*---------------------------------------------------------
|
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
*--------------------------------------------------------*/
|
|
|
|
const fs = require('fs');
|
|
|
|
// update name, publisher, and description
|
|
const json = JSON.parse(fs.readFileSync(`./package.json`).toString());
|
|
const stableVersion = json.version.match(/(\d+)\.(\d+)\.(\d+)/);
|
|
const major = stableVersion[1];
|
|
const minor = stableVersion[2];
|
|
|
|
function prependZeros(n) {
|
|
try {
|
|
const num = parseInt(n, 10);
|
|
return num.toString().padStart(2, '0');
|
|
} catch {
|
|
throw new Error('Expected a number to prepend zeros to!');
|
|
}
|
|
}
|
|
|
|
// calculate patch
|
|
const date = new Date();
|
|
const patch = `${date.getFullYear()}${prependZeros(date.getMonth() + 1)}${prependZeros(
|
|
date.getDate(),
|
|
)}${prependZeros(date.getHours())}`;
|
|
|
|
const version = `${major}.${parseInt(minor, 10) + 1}.${patch}`;
|
|
|
|
const nightlyPackageJson = {
|
|
...json,
|
|
...{
|
|
version,
|
|
},
|
|
};
|
|
|
|
console.log('Rewritten attributes: ');
|
|
console.log(' version: ' + nightlyPackageJson.version);
|
|
|
|
fs.writeFileSync(`./package.json`, JSON.stringify(nightlyPackageJson));
|