2025-08-02 18:09:34 +00:00

45 lines
1.0 KiB
Nix

{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
stdenv,
}:
buildNpmPackage rec {
pname = "eslint";
version = "9.32.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
tag = "v${version}";
hash = "sha256-ORqkolpd5B2mZ5lpePHU3RCpUHnl2p9ugMe2+A8sauA=";
};
# NOTE: Generating lock-file
# arch = [ x64 arm64 ]
# platform = [ darwin linux]
# npm install --package-lock-only --arch=<arch> --platform=<os>
# darwin seems to generate a cross platform compatible lockfile
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-9IWGjPwvZFPlbClQ5XRx0clN0HD6eyggX+v5mtU0exQ=";
npmInstallFlags = [ "--omit=dev" ];
dontNpmBuild = true;
dontNpmPrune = true;
passthru.updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];
};
meta = {
description = "Find and fix problems in your JavaScript code";
homepage = "https://eslint.org";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.onny ];
};
}