aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh')
-rwxr-xr-xnixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh19
1 files changed, 11 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
index 92911254259..b0435be7208 100755
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -49,13 +49,16 @@ sed "s/cargoSha256 = \".*\"/cargoSha256 = \"$cargo_sha256\"/" \
build_deps="../../../../misc/vscode-extensions/rust-analyzer/build-deps"
# We need devDependencies to build vsix.
jq '{ name, version, dependencies: (.dependencies + .devDependencies) }' "$node_src/package.json" \
- >"$build_deps/package.json"
+ >"$build_deps/package.json.new"
-# FIXME: Lock the version of @type/vscode, the latest one (1.43.0) will cause build failure.
-vscode_lock_ver="$(jq '.dependencies."@types/vscode".version' --raw-output "$node_src/package-lock.json")"
-jq '.dependencies."@types/vscode" = "'$vscode_lock_ver'"' "$build_deps/package.json" >"$build_deps/package.json.new"
-mv "$build_deps"/package.json{.new,}
+if cmp --quiet "$build_deps"/package.json{.new,}; then
+ echo "package.json not changed, skip updating nodePackages"
+ rm "$build_deps"/package.json.new
+else
+ echo "package.json changed, updating nodePackages"
+ mv "$build_deps"/package.json{.new,}
-pushd "../../../node-packages"
-./generate.sh
-popd
+ pushd "../../../node-packages"
+ ./generate.sh
+ popd
+fi