summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/request/release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/request/release.sh')
-rwxr-xr-xdeps/npm/node_modules/request/release.sh44
1 files changed, 43 insertions, 1 deletions
diff --git a/deps/npm/node_modules/request/release.sh b/deps/npm/node_modules/request/release.sh
index 05e7767fc..7678bf8d8 100755
--- a/deps/npm/node_modules/request/release.sh
+++ b/deps/npm/node_modules/request/release.sh
@@ -1,3 +1,45 @@
#!/bin/sh
-npm version minor && npm publish && npm version patch && git push --tags && git push origin master
+if [ -z "`which github-changes`" ]; then
+ # specify version because github-changes "is under heavy development. Things
+ # may break between releases" until 0.1.0
+ echo "First, do: [sudo] npm install -g github-changes@0.0.14"
+ exit 1
+fi
+
+if [ -d .git/refs/remotes/upstream ]; then
+ remote=upstream
+else
+ remote=origin
+fi
+
+# Increment v2.x.y -> v2.x+1.0
+npm version minor || exit 1
+
+# Generate changelog from pull requests
+github-changes -o request -r request \
+ --auth --verbose \
+ --file CHANGELOG.md \
+ --only-pulls --use-commit-body \
+ --date-format '(YYYY/MM/DD)' \
+ || exit 1
+
+# Since the tag for the new version hasn't been pushed yet, any changes in it
+# will be marked as "upcoming"
+version="$(grep '"version"' package.json | cut -d'"' -f4)"
+sed -i -e "s/^### upcoming/### v$version/" CHANGELOG.md
+
+# This may fail if no changelog updates
+# TODO: would this ever actually happen? handle it better?
+git add CHANGELOG.md; git commit -m 'Update changelog'
+
+# Publish the new version to npm
+npm publish || exit 1
+
+# Increment v2.x.0 -> v2.x.1
+# For rationale, see:
+# https://github.com/request/oauth-sign/issues/10#issuecomment-58917018
+npm version patch || exit 1
+
+# Push back to the main repo
+git push $remote master --tags || exit 1