LouisLam
4 years ago
3 changed files with 71 additions and 40 deletions
@ -0,0 +1,70 @@ |
|||
/** |
|||
* String.prototype.replaceAll() polyfill |
|||
* https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/
|
|||
* @author Chris Ferdinandi |
|||
* @license MIT |
|||
*/ |
|||
if (!String.prototype.replaceAll) { |
|||
String.prototype.replaceAll = function(str, newStr) { |
|||
|
|||
// If a regex pattern
|
|||
if (Object.prototype.toString.call(str).toLowerCase() === "[object regexp]") { |
|||
return this.replace(str, newStr); |
|||
} |
|||
|
|||
// If a string
|
|||
return this.replace(new RegExp(str, "g"), newStr); |
|||
|
|||
}; |
|||
} |
|||
|
|||
const pkg = require("../package.json"); |
|||
const fs = require("fs"); |
|||
const child_process = require("child_process"); |
|||
const oldVersion = pkg.version; |
|||
const newVersion = process.argv[2]; |
|||
|
|||
console.log("Old Version: " + oldVersion); |
|||
console.log("New Version: " + newVersion); |
|||
|
|||
if (! newVersion) { |
|||
console.error("invalid version"); |
|||
process.exit(1); |
|||
} |
|||
|
|||
const exists = tagExists(newVersion); |
|||
|
|||
if (! exists) { |
|||
// Process package.json
|
|||
pkg.version = newVersion; |
|||
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion); |
|||
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion); |
|||
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n"); |
|||
|
|||
// Process README.md
|
|||
fs.writeFileSync("README.md", fs.readFileSync("README.md", "utf8").replaceAll(oldVersion, newVersion)); |
|||
|
|||
//commit(newVersion);
|
|||
//tag(newVersion);
|
|||
} else { |
|||
console.log("version exists") |
|||
} |
|||
|
|||
function commit(version) { |
|||
let msg = "update to " + version; |
|||
child_process.spawnSync("git", ["commit", "-m", msg]); |
|||
} |
|||
|
|||
function tag(version) { |
|||
child_process.spawnSync("git", ["tag", version]); |
|||
} |
|||
|
|||
function tagExists(version) { |
|||
if (! version) { |
|||
throw new Error("invalid version"); |
|||
} |
|||
|
|||
let res = child_process.spawnSync("git", ["tag", "-l", version]); |
|||
|
|||
return res.stdout.toString().trim() === version; |
|||
} |
@ -1,39 +0,0 @@ |
|||
/** |
|||
* String.prototype.replaceAll() polyfill |
|||
* https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/
|
|||
* @author Chris Ferdinandi |
|||
* @license MIT |
|||
*/ |
|||
if (!String.prototype.replaceAll) { |
|||
String.prototype.replaceAll = function(str, newStr){ |
|||
|
|||
// If a regex pattern
|
|||
if (Object.prototype.toString.call(str).toLowerCase() === '[object regexp]') { |
|||
return this.replace(str, newStr); |
|||
} |
|||
|
|||
// If a string
|
|||
return this.replace(new RegExp(str, 'g'), newStr); |
|||
|
|||
}; |
|||
} |
|||
|
|||
const pkg = require('../package.json'); |
|||
const fs = require("fs"); |
|||
const oldVersion = pkg.version |
|||
const newVersion = process.argv[2] |
|||
|
|||
console.log("Old Version: " + oldVersion) |
|||
console.log("New Version: " + newVersion) |
|||
|
|||
if (newVersion) { |
|||
// Process package.json
|
|||
pkg.version = newVersion |
|||
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion) |
|||
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion) |
|||
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n") |
|||
|
|||
// Process README.md
|
|||
fs.writeFileSync("README.md", fs.readFileSync("README.md", 'utf8').replaceAll(oldVersion, newVersion)) |
|||
} |
|||
|
Loading…
Reference in new issue