2018-10-04 01:50:00 +00:00
|
|
|
# bail on failures
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# go to root of repository
|
|
|
|
cd $(git rev-parse --show-toplevel)
|
|
|
|
|
2018-10-04 10:42:59 +00:00
|
|
|
# get commit id
|
2018-10-04 15:24:42 +00:00
|
|
|
ORIG_COMMIT="$(git rev-parse HEAD)"
|
2018-10-04 10:42:59 +00:00
|
|
|
|
2018-10-04 23:58:05 +00:00
|
|
|
# extract version from package.json, and remove scripts.prepare
|
2018-10-04 09:59:04 +00:00
|
|
|
ORIG_PKG="$(cat package.json)"
|
2018-10-04 23:58:05 +00:00
|
|
|
PKG_VERSION="$(node -e '
|
2018-10-04 14:48:02 +00:00
|
|
|
const fs = require("fs");
|
|
|
|
const pkg = JSON.parse(fs.readFileSync("package.json"));
|
|
|
|
if (pkg.scripts && pkg.scripts.prepare) {
|
|
|
|
delete pkg.scripts.prepare;
|
|
|
|
fs.writeFileSync("package.json", JSON.stringify(pkg, null, "\t") + "\n");
|
|
|
|
}
|
2018-10-04 23:58:05 +00:00
|
|
|
console.log(pkg.version);
|
|
|
|
')"
|
2018-10-04 01:50:00 +00:00
|
|
|
|
|
|
|
# determine current branch name, and create new temporary branch
|
|
|
|
ORIG_BRANCH=$(git symbolic-ref --short HEAD)
|
2018-10-04 15:24:42 +00:00
|
|
|
TEMP_BRANCH=RELEASE_${PKG_VERSION}_$(date +'%Y%m%d%H%M%S')
|
2018-10-04 15:00:48 +00:00
|
|
|
git checkout --orphan=${TEMP_BRANCH}
|
2018-10-04 23:42:58 +00:00
|
|
|
git rm --cached -rf .
|
2018-10-04 01:50:00 +00:00
|
|
|
|
2018-10-04 23:42:58 +00:00
|
|
|
# track the files that should be included in the published package
|
2018-10-04 23:58:05 +00:00
|
|
|
PKG_TAR="$(npm pack | tail -n 1)"
|
|
|
|
git add -f $(tar tf ${PKG_TAR} | cut -c 9-)
|
|
|
|
rm ${PKG_TAR}
|
2018-10-04 01:50:00 +00:00
|
|
|
|
2018-10-04 10:23:32 +00:00
|
|
|
# commit and tag
|
2018-10-04 15:24:42 +00:00
|
|
|
git commit -m "v${PKG_VERSION} @ ${ORIG_COMMIT}"
|
2018-10-04 23:42:58 +00:00
|
|
|
git tag v${PKG_VERSION} -am "v${PKG_VERSION} @ ${ORIG_COMMIT}"
|
2018-10-04 01:50:00 +00:00
|
|
|
|
|
|
|
# return to original state
|
|
|
|
git reset ${ORIG_BRANCH}
|
|
|
|
git checkout ${ORIG_BRANCH}
|
2018-10-04 10:24:50 +00:00
|
|
|
cat <<< "${ORIG_PKG}" > package.json
|
2018-10-04 01:50:00 +00:00
|
|
|
git branch -D ${TEMP_BRANCH}
|