From b4d98708a4a3cdf97a4d63fce0b735418a1bdfea Mon Sep 17 00:00:00 2001 From: "Bartosz V. Bentkowski" Date: Wed, 3 Oct 2018 14:04:22 -0700 Subject: [PATCH] New tagging system --- source/package.json | 9 ++++++--- source/scripts/bump-version.js | 17 +++++++++++++++++ source/scripts/create-tag.js | 22 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 source/scripts/bump-version.js create mode 100644 source/scripts/create-tag.js diff --git a/source/package.json b/source/package.json index c18d844..40b21a8 100644 --- a/source/package.json +++ b/source/package.json @@ -17,10 +17,12 @@ "lint:js": "eslint --cache .", "readme:build": "node ./scripts/build-readme.js", "package:build": "node ./scripts/build-package.json.js", + "bump:version": "node ./scripts/bump-version.js", + "create:tag": "node ./scripts/create-tag.js", "release": "yarn release:patch", - "release:major": "git checkout master && git pull && yarn build && git add .. && yarn version --new-version major && git push --follow-tags", - "release:minor": "git checkout master && git pull && yarn build && git add .. && yarn version --new-version minor && git push --follow-tags", - "release:patch": "git checkout master && git pull && yarn build && git add .. && yarn version --new-version patch && git push --follow-tags", + "release:major": "git checkout master && git pull && yarn bump:version major && yarn build && git add .. && yarn create:tag && git push --follow-tags", + "release:minor": "git checkout master && git pull && yarn bump:version minor && yarn build && git add .. && yarn create:tag && git push --follow-tags", + "release:patch": "git checkout master && git pull && yarn bump:version patch && yarn build && git add .. && yarn create:tag && git push --follow-tags", "styleguide:build": "styleguidist build --config ./config/styleguide.config.js", "styleguide:watch": "styleguidist server --config ./config/styleguide.config.js", "ci": "yarn lint && yarn test --runInBand", @@ -72,6 +74,7 @@ "rollup-plugin-sass": "^0.9.2", "rollup-plugin-string": "^2.0.2", "sass-loader": "^7.1.0", + "semver": "^5.5.1", "sinon": "^6.3.4", "stylelint": "^9.5.0", "stylelint-config-fandom": "git://github.com/Wikia/stylelint-config-fandom.git#0.0.1", diff --git a/source/scripts/bump-version.js b/source/scripts/bump-version.js new file mode 100644 index 0000000..b72fa38 --- /dev/null +++ b/source/scripts/bump-version.js @@ -0,0 +1,17 @@ +const fs = require('fs'); +const semver = require('semver'); + +const source = require('../package.json'); +const version = process.argv.length === 3 ? process.argv[2] : 'patch'; + +console.log(process.argv[2]); + +const target = { + ...source, + version: semver.inc(source.version, version), +}; + +console.log(`Updating ${source.version} to version ${target.version}.`); + +// write template to the file +fs.writeFileSync(`${__dirname}/../package.json`, `${JSON.stringify(target, null, 2)}\n`); diff --git a/source/scripts/create-tag.js b/source/scripts/create-tag.js new file mode 100644 index 0000000..a337b9d --- /dev/null +++ b/source/scripts/create-tag.js @@ -0,0 +1,22 @@ +const { exec } = require('child_process'); + +let { version } = require('../package.json'); + +version = `${version}-test2`; + +console.log(`Creating tag for version ${version}.`); + +const command = `git tag -m "${version}" -a ${version} -s`; + +exec(command, (error, stdout, stderr) => { + if (error) { + console.error(`exec error: ${error}`); + return; + } + if (stdout && stdout.length > 0) { + console.log(`stdout: ${stdout}`); + } + if (stderr && stderr.length > 0) { + console.log(`stdout: ${stderr}`); + } +});