From bf17d7e1153180fe68cc568a6f4ffa8db66010dc Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 2 Mar 2018 13:55:56 -0800 Subject: Add version bumping script One step towards automating our deploy process is automating our version bumping scheme. This PR does that. --- development/version-bump.js | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 development/version-bump.js (limited to 'development/version-bump.js') diff --git a/development/version-bump.js b/development/version-bump.js new file mode 100644 index 000000000..63dd802d1 --- /dev/null +++ b/development/version-bump.js @@ -0,0 +1,53 @@ +const clone = require('clone') + +async function versionBump(bumpType, changelog, oldManifest) { + const manifest = clone(oldManifest) + const newVersion = newVersionFrom(manifest, bumpType) + + manifest.version = newVersion + const date = (new Date()).toDateString() + + const logHeader = `\n## ${newVersion} ${date}` + const logLines = changelog.split('\n') + for (let i = 0; i < logLines.length; i++) { + if (logLines[i].includes('Current Master')) { + logLines.splice(i + 1, 0, logHeader) + break + } + } + + return { + version: newVersion, + manifest: manifest, + changelog: logLines.join('\n') + } +} + +function newVersionFrom (manifest, bumpType) { + const string = manifest.version + let segments = string.split('.').map((str) => parseInt(str)) + + console.log('bump type is ' + bumpType) + switch (bumpType) { + case 'major': + segments[0] += 1 + segments[1] = 0 + segments[2] = 0 + break + case 'minor': + segments[1] += 1 + segments[2] = 0 + break + case 'patch': + segments[2] += 1 + break + } + + return segments.map(String).join('.') +} + +function bumpManifest (manifest, bumpType) { + +} + +module.exports = versionBump -- cgit v1.2.3 From 3a9b3794ebccbe3369a67e797186141dc011dd9d Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 2 Mar 2018 13:59:08 -0800 Subject: Remove logs --- development/version-bump.js | 1 - 1 file changed, 1 deletion(-) (limited to 'development/version-bump.js') diff --git a/development/version-bump.js b/development/version-bump.js index 63dd802d1..bedf87c01 100644 --- a/development/version-bump.js +++ b/development/version-bump.js @@ -27,7 +27,6 @@ function newVersionFrom (manifest, bumpType) { const string = manifest.version let segments = string.split('.').map((str) => parseInt(str)) - console.log('bump type is ' + bumpType) switch (bumpType) { case 'major': segments[0] += 1 -- cgit v1.2.3