{ 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= --platform= # 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 ]; }; }