From 1ad72f3e1337720b91ba35cb6496adfd791a1f33 Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Mon, 30 Oct 2023 11:03:59 +0200 Subject: [PATCH 1/4] tools: improve update acorn-walk script --- tools/dep_updaters/update-acorn-walk.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/dep_updaters/update-acorn-walk.sh b/tools/dep_updaters/update-acorn-walk.sh index 33aa76abe24070..dad7a990c01d0b 100755 --- a/tools/dep_updaters/update-acorn-walk.sh +++ b/tools/dep_updaters/update-acorn-walk.sh @@ -17,7 +17,7 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION=$("$NODE" "$NPM" view acorn-walk dist-tags.latest) -CURRENT_VERSION=$("$NODE" -p "require('./deps/acorn/acorn-walk/package.json').version") +CURRENT_VERSION=$("$NODE" "$NPM" --prefix './deps/acorn/acorn-walk/' pkg get version) # This function exit with 0 if new version and current version are the same compare_dependency_version "acorn-walk" "$NEW_VERSION" "$CURRENT_VERSION" @@ -40,7 +40,7 @@ cd "$WORKSPACE" echo "Fetching acorn-walk source archive..." -DIST_URL=$(curl -sL "https://registry.npmjs.org/acorn-walk/$NEW_VERSION" | perl -n -e '/"dist".*?"tarball":"(.*?)"/ && print $1') +DIST_URL=$("$NODE" "$NPM" view "acorn-walk@$NEW_VERSION" dist.tarball) ACORN_WALK_TGZ="acorn-walk.tgz" @@ -52,9 +52,7 @@ rm -r "$DEPS_DIR/acorn/acorn-walk"/* tar -xf "$ACORN_WALK_TGZ" -mv "$WORKSPACE/package"/* "$DEPS_DIR/acorn/acorn-walk" - -rm "$ACORN_WALK_TGZ" +mv package/* "$DEPS_DIR/acorn/acorn-walk" echo "All done!" echo "" From 997d04b49545c836fd32261747680da0f261526c Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Mon, 30 Oct 2023 11:04:28 +0200 Subject: [PATCH 2/4] tools: download acorn without npm --- tools/dep_updaters/update-acorn.sh | 58 +++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/tools/dep_updaters/update-acorn.sh b/tools/dep_updaters/update-acorn.sh index 53d85156653d9c..edf5b70f71cf8e 100755 --- a/tools/dep_updaters/update-acorn.sh +++ b/tools/dep_updaters/update-acorn.sh @@ -7,36 +7,55 @@ set -ex -ROOT=$(cd "$(dirname "$0")/../.." && pwd) -[ -z "$NODE" ] && NODE="$ROOT/out/Release/node" +BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd) +[ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) -NPM="$ROOT/deps/npm/bin/npm-cli.js" +NPM="$BASE_DIR/deps/npm/bin/npm-cli.js" +DEPS_DIR="$BASE_DIR/deps" # shellcheck disable=SC1091 -. "$ROOT/tools/dep_updaters/utils.sh" +. "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION=$("$NODE" "$NPM" view acorn dist-tags.latest) -CURRENT_VERSION=$("$NODE" -p "require('./deps/acorn/acorn/package.json').version") +CURRENT_VERSION=$("$NODE" "$NPM" --prefix './deps/acorn/acorn/' pkg get version) # This function exit with 0 if new version and current version are the same compare_dependency_version "acorn" "$NEW_VERSION" "$CURRENT_VERSION" cd "$( dirname "$0" )/../.." || exit -rm -rf deps/acorn/acorn +echo "Making temporary workspace..." -( - rm -rf acorn-tmp - mkdir acorn-tmp - cd acorn-tmp || exit +WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp') - "$NODE" "$NPM" init --yes +cleanup () { + EXIT_CODE=$? + [ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE" + exit $EXIT_CODE +} - "$NODE" "$NPM" install --global-style --no-bin-links --ignore-scripts "acorn@$NEW_VERSION" -) +trap cleanup INT TERM EXIT + +cd "$WORKSPACE" + +echo "Fetching acorn source archive..." + +DIST_URL=$("$NODE" "$NPM" view "acorn@$NEW_VERSION" dist.tarball) + +ACORN_TGZ="acorn.tgz" + +curl -sL -o "$ACORN_TGZ" "$DIST_URL" + +log_and_verify_sha256sum "acorn" "$ACORN_TGZ" + +rm -r "$DEPS_DIR/acorn/acorn"/* + +tar -xf "$ACORN_TGZ" + +mv package/* "$DEPS_DIR/acorn/acorn" # update version information in src/acorn_version.h -cat > "$ROOT/src/acorn_version.h" < "$BASE_DIR/src/acorn_version.h" < "$ROOT/src/acorn_version.h" < Date: Mon, 30 Oct 2023 15:23:43 +0200 Subject: [PATCH 3/4] fix: use npm pack instead of curl --- tools/dep_updaters/update-acorn-walk.sh | 6 ++---- tools/dep_updaters/update-acorn.sh | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/tools/dep_updaters/update-acorn-walk.sh b/tools/dep_updaters/update-acorn-walk.sh index dad7a990c01d0b..3db13c7cca217b 100755 --- a/tools/dep_updaters/update-acorn-walk.sh +++ b/tools/dep_updaters/update-acorn-walk.sh @@ -40,11 +40,9 @@ cd "$WORKSPACE" echo "Fetching acorn-walk source archive..." -DIST_URL=$("$NODE" "$NPM" view "acorn-walk@$NEW_VERSION" dist.tarball) +"$NODE" "$NPM" pack "acorn-walk@$NEW_VERSION" -ACORN_WALK_TGZ="acorn-walk.tgz" - -curl -sL -o "$ACORN_WALK_TGZ" "$DIST_URL" +ACORN_WALK_TGZ="acorn-walk-$NEW_VERSION.tgz" log_and_verify_sha256sum "acorn-walk" "$ACORN_WALK_TGZ" diff --git a/tools/dep_updaters/update-acorn.sh b/tools/dep_updaters/update-acorn.sh index edf5b70f71cf8e..6c0f54a5447100 100755 --- a/tools/dep_updaters/update-acorn.sh +++ b/tools/dep_updaters/update-acorn.sh @@ -40,11 +40,9 @@ cd "$WORKSPACE" echo "Fetching acorn source archive..." -DIST_URL=$("$NODE" "$NPM" view "acorn@$NEW_VERSION" dist.tarball) +"$NODE" "$NPM" pack "acorn@$NEW_VERSION" -ACORN_TGZ="acorn.tgz" - -curl -sL -o "$ACORN_TGZ" "$DIST_URL" +ACORN_TGZ="acorn-$NEW_VERSION.tgz" log_and_verify_sha256sum "acorn" "$ACORN_TGZ" From 46cfd76be4fdcdf1598f4b8e556fda9d59e62217 Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Wed, 1 Nov 2023 12:18:00 +0200 Subject: [PATCH 4/4] fix: forgot to update file --- tools/dep_updaters/update-acorn-walk.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/dep_updaters/update-acorn-walk.sh b/tools/dep_updaters/update-acorn-walk.sh index 3db13c7cca217b..844380305d0fe3 100755 --- a/tools/dep_updaters/update-acorn-walk.sh +++ b/tools/dep_updaters/update-acorn-walk.sh @@ -60,6 +60,7 @@ echo "$ git add -A deps/acorn-walk" echo "$ git commit -m \"deps: update acorn-walk to $NEW_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=$NEW_VERSION" +# Update the version number on maintaining-dependencies.md +# and print the new version as the last line of the script as we need +# to add it to $GITHUB_ENV variable +finalize_version_update "acorn-walk" "$NEW_VERSION"