svelte-language-server: cleanup (#459908)
This commit is contained in:
2011
pkgs/by-name/sv/svelte-language-server/package-lock.json
generated
2011
pkgs/by-name/sv/svelte-language-server/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,31 +1,73 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
buildNpmPackage,
|
stdenv,
|
||||||
fetchurl,
|
fetchFromGitHub,
|
||||||
|
pnpm,
|
||||||
|
nodejs,
|
||||||
|
makeBinaryWrapper,
|
||||||
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
let
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
version = "0.17.21";
|
|
||||||
in
|
|
||||||
buildNpmPackage {
|
|
||||||
pname = "svelte-language-server";
|
pname = "svelte-language-server";
|
||||||
inherit version;
|
version = "0.17.21";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-${version}.tgz";
|
owner = "sveltejs";
|
||||||
hash = "sha256-zRUeAocuEyoaBUrCDkqxJhMY7ryv9y7hYQC5/CsL2NM=";
|
repo = "language-tools";
|
||||||
|
tag = "svelte-language-server@${finalAttrs.version}";
|
||||||
|
hash = "sha256-HNd4M7bFTN0oFdO44w8Rgz45mDLrJ/ksZKB0iPw6t1s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-0nad0gdQhl3nwHbmDyLCfnIfgn4ixBbZn/oy3THDniw=";
|
pnpmWorkspaces = [ "svelte-language-server..." ];
|
||||||
|
|
||||||
postPatch = ''
|
pnpmDeps = pnpm.fetchDeps {
|
||||||
ln -s ${./package-lock.json} package-lock.json
|
inherit (finalAttrs)
|
||||||
|
pname
|
||||||
|
version
|
||||||
|
src
|
||||||
|
pnpmWorkspaces
|
||||||
|
;
|
||||||
|
fetcherVersion = 2;
|
||||||
|
hash = "sha256-J279yrHRyG6QyUedXmYwv6Kcuz/9pGwvu6dUELIFeu8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
nodejs
|
||||||
|
pnpm.configHook
|
||||||
|
makeBinaryWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
pnpm run --filter=svelte-language-server... build
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontNpmBuild = true;
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
npmFlags = [ "--legacy-peer-deps" ];
|
pnpm install --filter=svelte-language-server... --prod --frozen-lockfile --offline --force --ignore-scripts
|
||||||
|
mkdir -p $out/lib/node_modules/svelte-language-server/
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
passthru.updateScript = ./update.sh;
|
mv {packages,node_modules} $out/lib/node_modules/svelte-language-server/
|
||||||
|
|
||||||
|
makeWrapper ${lib.getExe nodejs} $out/bin/svelteserver \
|
||||||
|
--add-flags "$out/lib/node_modules/svelte-language-server/packages/language-server/bin/server.js" \
|
||||||
|
--set NODE_PATH "$out/lib/node_modules/svelte-language-server/packages/language-server/node_modules/"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script {
|
||||||
|
extraArgs = [
|
||||||
|
"--use-github-releases"
|
||||||
|
"--version-regex"
|
||||||
|
"svelte-language-server@(.*)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Language server (implementing the language server protocol) for Svelte";
|
description = "Language server (implementing the language server protocol) for Svelte";
|
||||||
@@ -35,4 +77,4 @@ buildNpmPackage {
|
|||||||
mainProgram = "svelteserver";
|
mainProgram = "svelteserver";
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
#! /usr/bin/env nix-shell
|
|
||||||
#! nix-shell -i bash -p gnused nix nodejs prefetch-npm-deps wget
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
pushd "$(dirname "${BASH_SOURCE[0]}")"
|
|
||||||
|
|
||||||
version=$(npm view svelte-language-server version)
|
|
||||||
tarball="svelte-language-server-$version.tgz"
|
|
||||||
url="https://registry.npmjs.org/svelte-language-server/-/$tarball"
|
|
||||||
|
|
||||||
if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
|
|
||||||
echo "Already up to date!"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -i 's#version = "[^"]*"#version = "'"$version"'"#' package.nix
|
|
||||||
|
|
||||||
sha256=$(nix-prefetch-url "$url")
|
|
||||||
src_hash=$(nix-hash --type sha256 --to-sri "$sha256")
|
|
||||||
sed -i 's#hash = "[^"]*"#hash = "'"$src_hash"'"#' package.nix
|
|
||||||
|
|
||||||
rm -f package-lock.json package.json *.tgz
|
|
||||||
wget "$url"
|
|
||||||
tar xf "$tarball" --strip-components=1 package/package.json
|
|
||||||
npm i --package-lock-only
|
|
||||||
npm_hash=$(prefetch-npm-deps package-lock.json)
|
|
||||||
sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix
|
|
||||||
rm -f package.json *.tgz
|
|
||||||
|
|
||||||
popd
|
|
||||||
Reference in New Issue
Block a user