diff --git a/pkgs/by-name/js/jshint/package.nix b/pkgs/by-name/js/jshint/package.nix new file mode 100644 index 000000000000..3d9dbeb5ed8f --- /dev/null +++ b/pkgs/by-name/js/jshint/package.nix @@ -0,0 +1,36 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, +}: + +buildNpmPackage (finalAttrs: { + pname = "jshint"; + version = "2.13.6"; + + src = fetchFromGitHub { + owner = "jshint"; + repo = "jshint"; + tag = finalAttrs.version; + hash = "sha256-RANA+kL7gL5bGa5KywEH/G+mAsPEoNkfxlp/pHeW8iE="; + }; + + npmDepsHash = "sha256-4P1rQmNIENbJPFqpbgnrq4V2tZe4MWySIphwUtnNcuc="; + + env.PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "1"; + + postBuild = '' + npm run test-node + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool that helps to detect errors and potential problems in your JavaScript code"; + homepage = "https://jshint.com"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + mainProgram = "jshint"; + }; +}) diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index ad998d2dac12..f1ca449fb7b6 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -177,6 +177,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) jshint; # Added 2025-11-06 inherit (pkgs) jsonplaceholder; # Added 2025-11-04 joplin = pkgs.joplin-cli; # Added 2025-11-02 inherit (pkgs) kaput-cli; # added 2024-12-03 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 69cd6711e666..6fbe741cb611 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -51,7 +51,6 @@ , "imapnotify" , "js-yaml" , "jsdoc" -, "jshint" , "json" , "json-diff" , "json-refs" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 07c8eff605e3..4be801c40fab 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -7934,15 +7934,6 @@ let sha512 = "TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ=="; }; }; - "cli-1.0.1" = { - name = "cli"; - packageName = "cli"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz"; - sha512 = "41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg=="; - }; - }; "cli-boxes-2.2.1" = { name = "cli-boxes"; packageName = "cli-boxes"; @@ -8861,15 +8852,6 @@ let sha512 = "EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA=="; }; }; - "console-browserify-1.1.0" = { - name = "console-browserify"; - packageName = "console-browserify"; - version = "1.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz"; - sha512 = "duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg=="; - }; - }; "console-browserify-1.2.0" = { name = "console-browserify"; packageName = "console-browserify"; @@ -9915,15 +9897,6 @@ let sha512 = "39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg=="; }; }; - "date-now-0.1.4" = { - name = "date-now"; - packageName = "date-now"; - version = "0.1.4"; - src = fetchurl { - url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"; - sha512 = "AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw=="; - }; - }; "dateformat-2.2.0" = { name = "dateformat"; packageName = "dateformat"; @@ -10788,15 +10761,6 @@ let sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="; }; }; - "domhandler-2.3.0" = { - name = "domhandler"; - packageName = "domhandler"; - version = "2.3.0"; - src = fetchurl { - url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz"; - sha512 = "q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ=="; - }; - }; "domino-2.1.6" = { name = "domino"; packageName = "domino"; @@ -10806,15 +10770,6 @@ let sha512 = "3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ=="; }; }; - "domutils-1.5.1" = { - name = "domutils"; - packageName = "domutils"; - version = "1.5.1"; - src = fetchurl { - url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz"; - sha512 = "gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw=="; - }; - }; "domutils-3.2.2" = { name = "domutils"; packageName = "domutils"; @@ -11328,15 +11283,6 @@ let sha512 = "n6e4bsCpzsP0OB76X+vEWhySUQI8GHPVFVK+3QkX35tbryy2WoeGeK5kQ+oxzgDVHjIZyz5fyS60Mi3EpQLc0Q=="; }; }; - "entities-1.0.0" = { - name = "entities"; - packageName = "entities"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz"; - sha512 = "LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ=="; - }; - }; "entities-1.1.2" = { name = "entities"; packageName = "entities"; @@ -12309,15 +12255,6 @@ let sha512 = "c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="; }; }; - "exit-0.1.2" = { - name = "exit"; - packageName = "exit"; - version = "0.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"; - sha512 = "Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ=="; - }; - }; "exit-hook-1.1.1" = { name = "exit-hook"; packageName = "exit-hook"; @@ -15009,15 +14946,6 @@ let sha512 = "eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg=="; }; }; - "htmlparser2-3.8.3" = { - name = "htmlparser2"; - packageName = "htmlparser2"; - version = "3.8.3"; - src = fetchurl { - url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz"; - sha512 = "hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q=="; - }; - }; "http-auth-3.1.3" = { name = "http-auth"; packageName = "http-auth"; @@ -28907,15 +28835,6 @@ let sha512 = "mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA=="; }; }; - "strip-json-comments-1.0.4" = { - name = "strip-json-comments"; - packageName = "strip-json-comments"; - version = "1.0.4"; - src = fetchurl { - url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"; - sha512 = "AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg=="; - }; - }; "strip-json-comments-2.0.1" = { name = "strip-json-comments"; packageName = "strip-json-comments"; @@ -40604,68 +40523,6 @@ in bypassCache = true; reconstructLock = true; }; - jshint = nodeEnv.buildNodePackage { - name = "jshint"; - packageName = "jshint"; - version = "2.13.6"; - src = fetchurl { - url = "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz"; - sha512 = "IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ=="; - }; - dependencies = [ - sources."balanced-match-1.0.2" - sources."brace-expansion-1.1.11" - sources."cli-1.0.1" - sources."concat-map-0.0.1" - sources."console-browserify-1.1.0" - sources."core-util-is-1.0.3" - sources."date-now-0.1.4" - ( - sources."dom-serializer-0.2.2" - // { - dependencies = [ - sources."domelementtype-2.3.0" - sources."entities-2.2.0" - ]; - } - ) - sources."domelementtype-1.3.1" - sources."domhandler-2.3.0" - sources."domutils-1.5.1" - sources."entities-1.0.0" - sources."exit-0.1.2" - sources."fs.realpath-1.0.0" - ( - sources."glob-7.2.3" - // { - dependencies = [ - sources."minimatch-3.1.2" - ]; - } - ) - sources."htmlparser2-3.8.3" - sources."inflight-1.0.6" - sources."inherits-2.0.4" - sources."isarray-0.0.1" - sources."lodash-4.17.21" - sources."minimatch-3.0.8" - sources."once-1.4.0" - sources."path-is-absolute-1.0.1" - sources."readable-stream-1.1.14" - sources."string_decoder-0.10.31" - sources."strip-json-comments-1.0.4" - sources."wrappy-1.0.2" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Static analysis tool for JavaScript"; - homepage = "http://jshint.com/"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; json = nodeEnv.buildNodePackage { name = "json"; packageName = "json";