You can use fs.readFile() and fs.writeFile() to read and edit the package.json file.
append-build-to-version.js:
var fs = require('fs');
fs.readFile('./package.json', (err, data) => {
if (err) throw err;
var packageJsonObj = JSON.parse(data);
var build = 5; // get this from somewhere or increment the last char
var versionNumber = packageJsonObj.version;
packageJsonObj.version = `${versionNumber}-${build}`;
packageJsonObj = JSON.stringify(packageJsonObj);
fs.writeFile('./package.json', packageJsonObj, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
});
package.json:
{
"name": "teststackoverflow",
"version": "1.0.0-5",
"description": "",
"main": "router.js",
"dependencies": {},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
More info on fs.readFile() and fs.writeFile() can be found in the Node.js documentation.