vscode-extensions.rust-analyzer: use global NPM packages to share dependencies
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user