{ lib, stdenv, buildNpmPackage, fetchFromGitHub, nodejs_22, python3, xcbuild, nix-update-script, }: buildNpmPackage rec { pname = "firebase-tools"; version = "15.30.2"; nodejs = nodejs_22; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; tag = "v${version}"; hash = "sha256-/dsxYIFFN8LSZ3+P+S4vSQ9YhMiGIEoRV7+MWTbP6Js="; }; npmDepsHash = "sha256-hQMfsMKzwrXCQHbAmFi12X1EAMFa/xphyJqqp2J5MKc="; # No more package-lock.json in upstream src postPatch = '' cp ./npm-shrinkwrap.json ./package-lock.json ''; nativeBuildInputs = [ python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; env.PUPPETEER_SKIP_DOWNLOAD = true; passthru.updateScript = nix-update-script { }; meta = { changelog = "https://github.com/firebase/firebase-tools/blob/v${version}/CHANGELOG.md"; description = "Manage, and deploy your Firebase project from the command line"; homepage = "https://github.com/firebase/firebase-tools"; license = lib.licenses.mit; mainProgram = "firebase"; maintainers = with lib.maintainers; [ sarahec ]; }; }