try to leave in saner state in case of failure
This commit is contained in:
parent
7fe0120867
commit
12650efc5b
1 changed files with 15 additions and 17 deletions
32
npm2git.sh
32
npm2git.sh
|
@ -1,14 +1,11 @@
|
|||
# bail on failures
|
||||
# get ready
|
||||
set -e
|
||||
|
||||
# go to root of repository
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
|
||||
# get commit id
|
||||
ORIG_HEAD="$(git symbolic-ref HEAD)"
|
||||
ORIG_COMMIT="$(git rev-parse HEAD)"
|
||||
|
||||
# extract version from package.json, and remove scripts.prepare
|
||||
ORIG_PKG="$(cat package.json)"
|
||||
cp package.json package.json_orig
|
||||
PKG_VERSION="$(node -e '
|
||||
const fs = require("fs");
|
||||
const pkg = JSON.parse(fs.readFileSync("package.json"));
|
||||
|
@ -19,23 +16,24 @@ PKG_VERSION="$(node -e '
|
|||
console.log(pkg.version);
|
||||
')"
|
||||
|
||||
# determine current branch name, and create new temporary branch
|
||||
ORIG_BRANCH="$(git symbolic-ref --short HEAD)"
|
||||
TEMP_BRANCH="RELEASE_${PKG_VERSION}_$(date +'%Y%m%d%H%M%S')"
|
||||
# create new temporary branch
|
||||
TEMP_BRANCH="NPM2GIT_${PKG_VERSION}_$(date +'%Y%m%d%H%M%S')"
|
||||
git checkout --orphan="${TEMP_BRANCH}"
|
||||
git rm --cached -rf .
|
||||
|
||||
# track the files that should be included in the published package
|
||||
# commit the files that should be included in the published package
|
||||
PKG_TAR="$(npm pack | tail -n 1)"
|
||||
tar tf "${PKG_TAR}" | cut -c 9- | xargs -d '\n' git add -f
|
||||
rm "${PKG_TAR}"
|
||||
|
||||
# commit and tag
|
||||
git commit -m "v${PKG_VERSION} @ ${ORIG_COMMIT}"
|
||||
git tag "v${PKG_VERSION}" -am "v${PKG_VERSION} @ ${ORIG_COMMIT}"
|
||||
|
||||
# return to original state
|
||||
git reset "${ORIG_BRANCH}"
|
||||
git checkout "${ORIG_BRANCH}"
|
||||
cat <<< "${ORIG_PKG}" > package.json
|
||||
rm "${PKG_TAR}"
|
||||
mv -f package.json_orig package.json
|
||||
git symbolic-ref HEAD "${ORIG_HEAD}"
|
||||
git reset
|
||||
|
||||
# tag commit
|
||||
git tag "v${PKG_VERSION}" "${TEMP_BRANCH}" -am "v${PKG_VERSION} @ ${ORIG_COMMIT}"
|
||||
|
||||
# delete temporary branch
|
||||
git branch -D "${TEMP_BRANCH}"
|
||||
|
|
Loading…
Reference in a new issue