about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authoroxalica <oxalicc@pm.me>2020-04-11 14:51:06 +0800
committeroxalica <oxalicc@pm.me>2020-04-11 16:01:12 +0800
commit8318c36a4b1d40be930092787a8bb64e255f8620 (patch)
treeee20c4d0379df65543c468b7a592e94b57e49af0 /pkgs/development/tools
parente8d04d379789bd4922cf3dcbf3c03b413cc7800b (diff)
downloadnixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar.gz
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar.bz2
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar.lz
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar.xz
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.tar.zst
nixlib-8318c36a4b1d40be930092787a8bb64e255f8620.zip
vscode-extensions.rust-analyzer: use global NPM packages to share dependencies
Diffstat (limited to 'pkgs/development/tools')
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh33
1 files changed, 13 insertions, 20 deletions
diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh
index 8a4dabbd8be2..929112542596 100755
--- a/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq nix-prefetch nodePackages.node2nix
+#!nix-shell -i bash -p curl jq nix-prefetch
 set -euo pipefail
 cd "$(dirname "$0")"
 owner=rust-analyzer
@@ -46,23 +46,16 @@ sed "s/cargoSha256 = \".*\"/cargoSha256 = \"$cargo_sha256\"/" \
 
 # Update vscode extension
 
-echo "Generating node lock"
-pushd "$nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer"
-ext_version=$(jq '.version' "$node_src/package.json" --raw-output)
-ext_publisher=$(jq '.publisher' "$node_src/package.json" --raw-output)
-echo "Extension version: $ext_version"
-[[ "$ext_publisher" == "matklad" ]]
-node2nix \
-    --nodejs-12 \
-    --development \
-    --input "$node_src/package.json" \
-    --lock "$node_src/package-lock.json" \
-    --output ./node-packages.nix \
-    --composition ./node-composition.nix \
-    --no-copy-node-env \
-    --node-env ../../../development/node-packages/node-env.nix
-sed -e 's_^.*src = [./]*/nix/store.*__g' \
-    --in-place ./node-packages.nix
-sed -e "s/version = \".*\"/version = \"$ext_version\"/" \
-    --in-place ./default.nix
+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"
+
+# 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,}
+
+pushd "../../../node-packages"
+./generate.sh
 popd