svelte-language-server: convert to buildNpmPackage

This commit is contained in:
purepani 2024-05-12 22:57:48 -05:00 committed by Sandro Jäckel
parent a7cdcbc951
commit a46ce7c77d
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5
7 changed files with 2008 additions and 260 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,34 @@
{ lib
, buildNpmPackage
, fetchurl
}:
let
version = "0.16.9";
in buildNpmPackage {
pname = "svelte-language-server";
inherit version;
src = fetchurl {
url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-${version}.tgz";
hash = "sha256-RR2RzBZGCyd0hnEX4iD5pjmgtq8GzgrGZAG8Qq63EZA=";
};
npmDepsHash = "sha256-WYiWm/2gr/0kXZOYeMjVYZOg0JttghPF9jkwNnb0nQo=";
postPatch = ''
ln -s ${./package-lock.json} package-lock.json
'';
dontNpmBuild = true;
passthru.updateScript = ./update.sh;
meta = {
description = "Language server (implementing the language server protocol) for Svelte";
downloadPage = "https://www.npmjs.com/package/svelte-language-server";
homepage = "https://github.com/sveltejs/language-tools";
license = lib.licenses.mit;
mainProgram = "svelteserver";
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -0,0 +1,30 @@
#! /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

View File

@ -133,6 +133,7 @@ mapAliases {
stf = throw "stf was removed because it was broken"; # added 2023-08-21
inherit (pkgs) stylelint; # added 2023-09-13
surge = pkgs.surge-cli; # Added 2023-09-08
inherit (pkgs) svelte-language-server; # Added 2024-05-12
swagger = throw "swagger was removed because it was broken and abandoned upstream"; # added 2023-09-09
tedicross = throw "tedicross was removed because it was broken"; # added 2023-09-09
inherit (pkgs) terser; # Added 2023-08-31

View File

@ -52,7 +52,6 @@
purty = "purty";
pscid = "pscid";
remod-cli = "remod";
svelte-language-server = "svelteserver";
teck-programmer = "teck-firmware-upgrade";
typescript-language-server = "typescript-language-server";
uglify-js = "uglifyjs";

View File

@ -216,7 +216,6 @@
, "sql-formatter"
, "stackdriver-statsd-backend"
, "svelte-check"
, "svelte-language-server"
, "svgo"
, "tailwindcss"
, "teck-programmer"

View File

@ -92612,264 +92612,6 @@ in
bypassCache = true;
reconstructLock = true;
};
svelte-language-server = nodeEnv.buildNodePackage {
name = "svelte-language-server";
packageName = "svelte-language-server";
version = "0.16.5";
src = fetchurl {
url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.16.5.tgz";
sha512 = "gzGlDikWDQZn+ccX0hyCamzGuTEXMwGNiXOXiNBtK+HJg+aL7wKcHnjwHg72K4K5s85OIYZE0zUj6JXjkAJkKQ==";
};
dependencies = [
sources."@ampproject/remapping-2.3.0"
sources."@babel/code-frame-7.23.5"
sources."@babel/compat-data-7.23.5"
sources."@babel/core-7.24.0"
sources."@babel/generator-7.23.6"
sources."@babel/helper-compilation-targets-7.23.6"
sources."@babel/helper-environment-visitor-7.22.20"
sources."@babel/helper-function-name-7.23.0"
sources."@babel/helper-hoist-variables-7.22.5"
sources."@babel/helper-module-imports-7.22.15"
sources."@babel/helper-module-transforms-7.23.3"
sources."@babel/helper-simple-access-7.22.5"
sources."@babel/helper-split-export-declaration-7.22.6"
sources."@babel/helper-string-parser-7.23.4"
sources."@babel/helper-validator-identifier-7.22.20"
sources."@babel/helper-validator-option-7.23.5"
sources."@babel/helpers-7.24.0"
sources."@babel/highlight-7.23.4"
sources."@babel/parser-7.24.0"
sources."@babel/template-7.24.0"
sources."@babel/traverse-7.24.0"
sources."@babel/types-7.24.0"
sources."@emmetio/abbreviation-2.3.3"
sources."@emmetio/css-abbreviation-2.1.8"
sources."@emmetio/scanner-1.0.4"
sources."@jridgewell/gen-mapping-0.3.5"
sources."@jridgewell/resolve-uri-3.1.2"
sources."@jridgewell/set-array-1.2.1"
sources."@jridgewell/sourcemap-codec-1.4.15"
sources."@jridgewell/trace-mapping-0.3.25"
sources."@nodelib/fs.scandir-2.1.5"
sources."@nodelib/fs.stat-2.0.5"
sources."@nodelib/fs.walk-1.2.8"
sources."@types/pug-2.0.10"
(sources."@vscode/emmet-helper-2.8.4" // {
dependencies = [
sources."vscode-uri-2.1.2"
];
})
sources."@vscode/l10n-0.0.18"
sources."acorn-7.4.1"
sources."ansi-styles-3.2.1"
sources."anymatch-3.1.3"
sources."asap-2.0.6"
sources."assert-never-1.2.1"
sources."atob-2.1.2"
sources."babel-walk-3.0.0-canary-5"
sources."balanced-match-1.0.2"
sources."binary-extensions-2.3.0"
sources."brace-expansion-1.1.11"
sources."braces-3.0.2"
sources."browserslist-4.23.0"
sources."buffer-crc32-0.2.13"
sources."call-bind-1.0.7"
sources."caniuse-lite-1.0.30001599"
sources."chalk-2.4.2"
sources."character-parser-2.2.0"
sources."chokidar-3.6.0"
sources."coffeescript-2.7.0"
sources."color-convert-1.9.3"
sources."color-name-1.1.3"
sources."concat-map-0.0.1"
sources."constantinople-4.0.1"
sources."convert-source-map-2.0.0"
sources."copy-anything-2.0.6"
sources."css-3.0.0"
sources."debug-4.3.4"
sources."decode-uri-component-0.2.2"
sources."dedent-js-1.0.1"
sources."define-data-property-1.1.4"
sources."detect-indent-6.1.0"
sources."doctypes-1.1.0"
sources."electron-to-chromium-1.4.710"
sources."emmet-2.4.7"
sources."errno-0.1.8"
sources."es-define-property-1.0.0"
sources."es-errors-1.3.0"
sources."es6-promise-3.3.1"
sources."escalade-3.1.2"
sources."escape-string-regexp-1.0.5"
sources."estree-walker-2.0.2"
sources."fast-glob-3.3.2"
sources."fastq-1.17.1"
sources."fill-range-7.0.1"
sources."fs.realpath-1.0.0"
sources."function-bind-1.1.2"
sources."gensync-1.0.0-beta.2"
sources."get-intrinsic-1.2.4"
sources."glob-7.2.3"
sources."glob-parent-5.1.2"
sources."globals-11.12.0"
sources."gopd-1.0.1"
sources."graceful-fs-4.2.11"
sources."has-flag-3.0.0"
sources."has-property-descriptors-1.0.2"
sources."has-proto-1.0.3"
sources."has-symbols-1.0.3"
sources."has-tostringtag-1.0.2"
sources."hasown-2.0.2"
sources."iconv-lite-0.6.3"
sources."image-size-0.5.5"
sources."immutable-4.3.5"
sources."inflight-1.0.6"
sources."inherits-2.0.4"
sources."is-binary-path-2.1.0"
sources."is-core-module-2.13.1"
sources."is-expression-4.0.0"
sources."is-extglob-2.1.1"
sources."is-glob-4.0.3"
sources."is-number-7.0.0"
sources."is-promise-2.2.2"
sources."is-regex-1.1.4"
sources."is-what-3.14.1"
sources."jiti-1.21.0"
sources."js-stringify-1.0.2"
sources."js-tokens-4.0.0"
sources."jsesc-2.5.2"
sources."json5-2.2.3"
sources."jsonc-parser-2.3.1"
sources."jstransformer-1.0.0"
sources."less-4.2.0"
sources."lilconfig-3.1.1"
sources."lodash-4.17.21"
sources."lower-case-2.0.2"
sources."lru-cache-5.1.1"
sources."magic-string-0.30.8"
(sources."make-dir-2.1.0" // {
dependencies = [
sources."semver-5.7.2"
];
})
sources."merge2-1.4.1"
sources."micromatch-4.0.5"
sources."mime-1.6.0"
sources."min-indent-1.0.1"
sources."minimatch-3.1.2"
sources."minimist-1.2.8"
sources."mkdirp-0.5.6"
sources."ms-2.1.2"
sources."nanoid-3.3.7"
sources."needle-3.3.1"
sources."no-case-3.0.4"
sources."node-releases-2.0.14"
sources."normalize-path-3.0.0"
sources."object-assign-4.1.1"
sources."once-1.4.0"
sources."parse-node-version-1.0.1"
sources."pascal-case-3.1.2"
sources."path-is-absolute-1.0.1"
sources."path-parse-1.0.7"
sources."picocolors-1.0.0"
sources."picomatch-2.3.1"
sources."pify-4.0.1"
sources."postcss-8.4.36"
sources."postcss-load-config-5.0.3"
sources."prettier-3.2.5"
sources."prettier-plugin-svelte-3.2.2"
sources."promise-7.3.1"
sources."prr-1.0.1"
sources."pug-3.0.2"
sources."pug-attrs-3.0.0"
sources."pug-code-gen-3.0.2"
sources."pug-error-2.0.0"
sources."pug-filters-4.0.0"
sources."pug-lexer-5.0.1"
sources."pug-linker-4.0.0"
sources."pug-load-3.0.0"
sources."pug-parser-6.0.0"
sources."pug-runtime-3.0.1"
sources."pug-strip-comments-2.0.0"
sources."pug-walk-2.0.0"
sources."queue-microtask-1.2.3"
sources."readdirp-3.6.0"
sources."resolve-1.22.8"
sources."reusify-1.0.4"
sources."rimraf-2.7.1"
sources."run-parallel-1.2.0"
sources."safer-buffer-2.1.2"
sources."sander-0.5.1"
sources."sass-1.72.0"
sources."sax-1.3.0"
sources."semver-6.3.1"
sources."set-function-length-1.2.2"
sources."sorcery-0.11.0"
sources."source-map-0.6.1"
sources."source-map-js-1.1.0"
sources."source-map-resolve-0.6.0"
sources."strip-indent-3.0.0"
(sources."stylus-0.55.0" // {
dependencies = [
sources."debug-3.1.0"
sources."mkdirp-1.0.4"
sources."ms-2.0.0"
sources."sax-1.2.4"
sources."source-map-0.7.4"
];
})
sources."sugarss-4.0.1"
sources."supports-color-5.5.0"
sources."supports-preserve-symlinks-flag-1.0.0"
sources."svelte-3.59.2"
sources."svelte-preprocess-5.1.3"
sources."svelte2tsx-0.7.4"
sources."to-fast-properties-2.0.0"
sources."to-regex-range-5.0.1"
sources."token-stream-1.0.0"
sources."tslib-2.6.2"
sources."typescript-5.4.2"
(sources."typescript-auto-import-cache-0.3.2" // {
dependencies = [
sources."lru-cache-6.0.0"
sources."semver-7.6.0"
sources."yallist-4.0.0"
];
})
sources."update-browserslist-db-1.0.13"
sources."void-elements-3.1.0"
(sources."vscode-css-languageservice-6.2.12" // {
dependencies = [
sources."vscode-languageserver-types-3.17.5"
];
})
(sources."vscode-html-languageservice-5.1.2" // {
dependencies = [
sources."vscode-languageserver-types-3.17.5"
];
})
sources."vscode-jsonrpc-8.0.2"
sources."vscode-languageserver-8.0.2"
sources."vscode-languageserver-protocol-3.17.2"
sources."vscode-languageserver-textdocument-1.0.11"
sources."vscode-languageserver-types-3.17.2"
sources."vscode-nls-5.2.0"
sources."vscode-uri-3.0.8"
sources."with-7.0.2"
sources."wrappy-1.0.2"
sources."yallist-3.1.1"
sources."yaml-2.4.1"
];
buildInputs = globalBuildInputs;
meta = {
description = "A language server for Svelte";
homepage = "https://github.com/sveltejs/language-tools#readme";
license = "MIT";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
svgo = nodeEnv.buildNodePackage {
name = "svgo";
packageName = "svgo";