jsdoc: migrate from nodePackages

Current 4.x versions don't have a working package-lock.json file, and
trying to update it deletes fsevents which causes a cache error.
Therefore, just use the dev versions 🤷
This commit is contained in:
dish
2025-11-29 15:52:51 -05:00
parent 506200bfa2
commit 8796ff4c99
4 changed files with 51 additions and 221 deletions
+50
View File
@@ -0,0 +1,50 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "jsdoc";
version = "5.0.0-dev.19";
src = fetchFromGitHub {
owner = "jsdoc";
repo = "jsdoc";
tag = "jsdoc@${finalAttrs.version}";
hash = "sha256-dd68veLr78YRw06o/KzlhHtmSznnu7XHK6gTu6V4sJU=";
};
npmWorkspace = "packages/jsdoc";
npmDepsHash = "sha256-29xgiKNGwVNv+l3ou3RNamBNp0ykbDlUCsnlo0CEcSI=";
dontNpmBuild = true;
postBuild = ''
npm run test
'';
postInstall = ''
mkdir -p $out/lib/node_modules/jsdoc/packages
mv packages/* $out/lib/node_modules/jsdoc/packages
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--use-github-releases"
"--version=unstable"
"--version-regex"
"jsdoc@(.*)"
];
};
meta = {
changelog = "https://github.com/jsdoc/jsdoc/releases/jsdoc@${finalAttrs.version}";
description = "API documentation generator for JavaScript";
homepage = "https://jsdoc.app";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pyrox0 ];
};
})
@@ -213,6 +213,7 @@ mapAliases {
inherit (pkgs) jake; # added 2023-08-19
inherit (pkgs) javascript-typescript-langserver; # added 2023-08-19
inherit (pkgs) js-beautify; # Added 2025-11-06
inherit (pkgs) jsdoc; # Added 2025-11-29
inherit (pkgs) jshint; # Added 2025-11-06
json = throw "'json' has been removed because it was unmaintained upstream"; # Added 2025-11-14
inherit (pkgs) json-diff; # Added 2025-11-07
@@ -17,7 +17,6 @@
, "grunt-cli"
, "gulp-cli"
, "js-yaml"
, "jsdoc"
, "lcov-result-merger"
, "mathjax"
, "node2nix"
-220
View File
@@ -1155,15 +1155,6 @@ let
sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
};
};
"@jsdoc/salty-0.2.9" = {
name = "_at_jsdoc_slash_salty";
packageName = "@jsdoc/salty";
version = "0.2.9";
src = fetchurl {
url = "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.9.tgz";
sha512 = "yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==";
};
};
"@jsep-plugin/assignment-1.3.0" = {
name = "_at_jsep-plugin_slash_assignment";
packageName = "@jsep-plugin/assignment";
@@ -2532,15 +2523,6 @@ let
sha512 = "5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==";
};
};
"@types/linkify-it-5.0.0" = {
name = "_at_types_slash_linkify-it";
packageName = "@types/linkify-it";
version = "5.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz";
sha512 = "sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==";
};
};
"@types/lodash-4.17.16" = {
name = "_at_types_slash_lodash";
packageName = "@types/lodash";
@@ -2550,15 +2532,6 @@ let
sha512 = "HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==";
};
};
"@types/markdown-it-14.1.2" = {
name = "_at_types_slash_markdown-it";
packageName = "@types/markdown-it";
version = "14.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz";
sha512 = "promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==";
};
};
"@types/mdast-3.0.15" = {
name = "_at_types_slash_mdast";
packageName = "@types/mdast";
@@ -2568,15 +2541,6 @@ let
sha512 = "LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==";
};
};
"@types/mdurl-2.0.0" = {
name = "_at_types_slash_mdurl";
packageName = "@types/mdurl";
version = "2.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz";
sha512 = "RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==";
};
};
"@types/minimatch-3.0.5" = {
name = "_at_types_slash_minimatch";
packageName = "@types/minimatch";
@@ -3873,15 +3837,6 @@ let
sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
};
};
"bluebird-3.7.2" = {
name = "bluebird";
packageName = "bluebird";
version = "3.7.2";
src = fetchurl {
url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
};
};
"bmp-js-0.1.0" = {
name = "bmp-js";
packageName = "bmp-js";
@@ -4494,15 +4449,6 @@ let
sha512 = "4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==";
};
};
"catharsis-0.9.0" = {
name = "catharsis";
packageName = "catharsis";
version = "0.9.0";
src = fetchurl {
url = "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz";
sha512 = "prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==";
};
};
"ccount-2.0.1" = {
name = "ccount";
packageName = "ccount";
@@ -6870,15 +6816,6 @@ let
sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
};
};
"escape-string-regexp-2.0.0" = {
name = "escape-string-regexp";
packageName = "escape-string-regexp";
version = "2.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
};
};
"escape-string-regexp-4.0.0" = {
name = "escape-string-regexp";
packageName = "escape-string-regexp";
@@ -9633,15 +9570,6 @@ let
sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
};
};
"js2xmlparser-4.0.2" = {
name = "js2xmlparser";
packageName = "js2xmlparser";
version = "4.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz";
sha512 = "6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==";
};
};
"jsbn-0.1.1" = {
name = "jsbn";
packageName = "jsbn";
@@ -10011,15 +9939,6 @@ let
sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
};
};
"klaw-3.0.0" = {
name = "klaw";
packageName = "klaw";
version = "3.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz";
sha512 = "0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==";
};
};
"kleur-4.1.5" = {
name = "kleur";
packageName = "kleur";
@@ -10155,15 +10074,6 @@ let
sha512 = "wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==";
};
};
"linkify-it-5.0.0" = {
name = "linkify-it";
packageName = "linkify-it";
version = "5.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz";
sha512 = "5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==";
};
};
"listr2-8.2.5" = {
name = "listr2";
packageName = "listr2";
@@ -10767,24 +10677,6 @@ let
sha512 = "CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==";
};
};
"markdown-it-14.1.0" = {
name = "markdown-it";
packageName = "markdown-it";
version = "14.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz";
sha512 = "a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==";
};
};
"markdown-it-anchor-8.6.7" = {
name = "markdown-it-anchor";
packageName = "markdown-it-anchor";
version = "8.6.7";
src = fetchurl {
url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz";
sha512 = "FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==";
};
};
"markdown-table-3.0.4" = {
name = "markdown-table";
packageName = "markdown-table";
@@ -10794,15 +10686,6 @@ let
sha512 = "wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==";
};
};
"marked-4.3.0" = {
name = "marked";
packageName = "marked";
version = "4.3.0";
src = fetchurl {
url = "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz";
sha512 = "PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==";
};
};
"math-intrinsics-1.1.0" = {
name = "math-intrinsics";
packageName = "math-intrinsics";
@@ -11010,15 +10893,6 @@ let
sha512 = "GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==";
};
};
"mdurl-2.0.0" = {
name = "mdurl";
packageName = "mdurl";
version = "2.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz";
sha512 = "Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==";
};
};
"mem-8.1.1" = {
name = "mem";
packageName = "mem";
@@ -13827,15 +13701,6 @@ let
sha512 = "vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==";
};
};
"punycode.js-2.3.1" = {
name = "punycode.js";
packageName = "punycode.js";
version = "2.3.1";
src = fetchurl {
url = "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz";
sha512 = "uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==";
};
};
"pupa-2.1.1" = {
name = "pupa";
packageName = "pupa";
@@ -14493,15 +14358,6 @@ let
sha512 = "KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==";
};
};
"requizzle-0.2.4" = {
name = "requizzle";
packageName = "requizzle";
version = "0.2.4";
src = fetchurl {
url = "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz";
sha512 = "JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==";
};
};
"reserved-words-0.1.2" = {
name = "reserved-words";
packageName = "reserved-words";
@@ -16824,15 +16680,6 @@ let
sha512 = "z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==";
};
};
"uc.micro-2.1.0" = {
name = "uc.micro";
packageName = "uc.micro";
version = "2.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz";
sha512 = "ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==";
};
};
"uid-number-0.0.5" = {
name = "uid-number";
packageName = "uid-number";
@@ -16878,15 +16725,6 @@ let
sha512 = "pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==";
};
};
"underscore-1.13.7" = {
name = "underscore";
packageName = "underscore";
version = "1.13.7";
src = fetchurl {
url = "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz";
sha512 = "GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==";
};
};
"undici-5.28.4" = {
name = "undici";
packageName = "undici";
@@ -18255,15 +18093,6 @@ let
sha512 = "fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==";
};
};
"xmlcreate-2.0.4" = {
name = "xmlcreate";
packageName = "xmlcreate";
version = "2.0.4";
src = fetchurl {
url = "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz";
sha512 = "nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==";
};
};
"xmlhttprequest-ssl-2.1.2" = {
name = "xmlhttprequest-ssl";
packageName = "xmlhttprequest-ssl";
@@ -21839,55 +21668,6 @@ in
bypassCache = true;
reconstructLock = true;
};
jsdoc = nodeEnv.buildNodePackage {
name = "jsdoc";
packageName = "jsdoc";
version = "4.0.4";
src = fetchurl {
url = "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz";
sha512 = "zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==";
};
dependencies = [
sources."@babel/helper-string-parser-7.25.9"
sources."@babel/helper-validator-identifier-7.25.9"
sources."@babel/parser-7.26.10"
sources."@babel/types-7.26.10"
sources."@jsdoc/salty-0.2.9"
sources."@types/linkify-it-5.0.0"
sources."@types/markdown-it-14.1.2"
sources."@types/mdurl-2.0.0"
sources."argparse-2.0.1"
sources."bluebird-3.7.2"
sources."catharsis-0.9.0"
sources."entities-4.5.0"
sources."escape-string-regexp-2.0.0"
sources."graceful-fs-4.2.11"
sources."js2xmlparser-4.0.2"
sources."klaw-3.0.0"
sources."linkify-it-5.0.0"
sources."lodash-4.17.21"
sources."markdown-it-14.1.0"
sources."markdown-it-anchor-8.6.7"
sources."marked-4.3.0"
sources."mdurl-2.0.0"
sources."mkdirp-1.0.4"
sources."punycode.js-2.3.1"
sources."requizzle-0.2.4"
sources."strip-json-comments-3.1.1"
sources."uc.micro-2.1.0"
sources."underscore-1.13.7"
sources."xmlcreate-2.0.4"
];
buildInputs = globalBuildInputs;
meta = {
description = "API documentation generator for JavaScript";
homepage = "https://github.com/jsdoc/jsdoc#readme";
license = "Apache-2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
lcov-result-merger = nodeEnv.buildNodePackage {
name = "lcov-result-merger";
packageName = "lcov-result-merger";