summaryrefslogtreecommitdiff
path: root/tools/dep_updaters
diff options
context:
space:
mode:
authorMarco Ippolito <marcoippolito54@gmail.com>2023-04-26 16:10:29 +0200
committerGitHub <noreply@github.com>2023-04-26 14:10:29 +0000
commite2e3f5c9daeca9a01f1ac07b7ea627748d7feeca (patch)
tree3f1bd8afa15d769feecc3956fbdc75845523a2f2 /tools/dep_updaters
parentad5a0d1366a2c019c62e21ac35f62820ed342f31 (diff)
downloadnode-new-e2e3f5c9daeca9a01f1ac07b7ea627748d7feeca.tar.gz
tools: move update-npm to dep updaters
PR-URL: https://github.com/nodejs/node/pull/47619 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Diffstat (limited to 'tools/dep_updaters')
-rwxr-xr-xtools/dep_updaters/update-npm.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/tools/dep_updaters/update-npm.sh b/tools/dep_updaters/update-npm.sh
new file mode 100755
index 0000000000..9706bbfca8
--- /dev/null
+++ b/tools/dep_updaters/update-npm.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+set -e
+# Shell script to update npm in the source tree to a specific version
+
+BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd)
+DEPS_DIR="$BASE_DIR/deps"
+[ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node"
+[ -x "$NODE" ] || NODE=$(command -v node)
+
+NPM="$DEPS_DIR/npm/bin/npm-cli.js"
+
+NPM_VERSION=$1
+
+if [ "$#" -le 0 ]; then
+ echo "Error: please provide an npm version to update to"
+ exit 1
+fi
+
+echo "Making temporary workspace"
+
+WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp')
+
+cleanup () {
+ EXIT_CODE=$?
+ [ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE"
+ exit $EXIT_CODE
+}
+
+trap cleanup INT TERM EXIT
+
+cd "$WORKSPACE"
+
+NPM_TGZ=npm.tgz
+
+NPM_TARBALL="$($NODE "$NPM" view npm@"$NPM_VERSION" dist.tarball)"
+
+curl -s "$NPM_TARBALL" > "$NPM_TGZ"
+
+rm -rf "$DEPS_DIR/npm"
+
+mkdir "$DEPS_DIR/npm"
+
+tar zxvf "$NPM_TGZ" --strip-component=1 -C "$DEPS_DIR/npm"
+
+echo ""
+echo "All done!"
+echo ""
+echo "Please git add npm, commit the new version, and whitespace-fix:"
+echo ""
+echo "$ git add -A deps/npm"
+echo "$ git commit -m \"deps: upgrade npm to $NPM_VERSION\""
+echo ""
+
+# The last line of the script should always print the new version,
+# as we need to add it to $GITHUB_ENV variable.
+echo "NEW_VERSION=$NPM_VERSION"