refactor: remove ignoreDepScripts and neverBuiltDependencies#11220
refactor: remove ignoreDepScripts and neverBuiltDependencies#11220
Conversation
These settings are redundant in v11: - `ignore-dep-scripts` is superseded by the default behavior of `allowBuilds` - `neverBuiltDependencies` was already dead code, replaced by `allowBuilds`
There was a problem hiding this comment.
Pull request overview
This PR removes legacy build-script configuration options (ignore-dep-scripts / ignoreDepScripts and neverBuiltDependencies) in favor of the v11+ allowBuilds model, and updates affected code paths and tests accordingly.
Changes:
- Removed
ignore-dep-scriptsconfig key /ignoreDepScriptsoption plumbing from config reader and install flows. - Removed
neverBuiltDependenciesoption/type remnants and updated tests/fixtures to useallowBuilds. - Added a changeset documenting the breaking removal of
ignore-dep-scripts.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pnpm/test/recursive/rebuild.ts | Updates workspace config in test from neverBuiltDependencies to allowBuilds. |
| pnpm/test/monorepo/index.ts | Renames a rebuild/deploy test to no longer mention removed config. |
| lockfile/fs/test/normalizeLockfile.test.ts | Updates test name after removing neverBuiltDependencies references. |
| installing/deps-restorer/src/index.ts | Removes ignoreDepScripts from HeadlessOptions and stops OR-ing it into ignoreScripts. |
| installing/deps-installer/test/install/patch.ts | Removes now-dead neverBuiltDependencies option from test defaults. |
| installing/deps-installer/test/install/nodeRuntime.ts | Removes now-dead neverBuiltDependencies option from test defaults. |
| installing/deps-installer/test/install/lifecycleScripts.ts | Removes the ignore-dep-scripts test (since the setting is removed). |
| installing/deps-installer/src/install/index.ts | Stops OR-ing ignoreDepScripts into ignoreScripts for lifecycle execution. |
| installing/deps-installer/src/install/extendInstallOptions.ts | Removes ignoreDepScripts from install option types/defaults. |
| engine/pm/commands/src/self-updater/installPnpm.ts | Drops ignoreDepScripts from internal install options (keeps ignoreScripts). |
| config/reader/test/fixtures/never-built-dependencies/pnpm-workspace.yaml | Removes fixture content referencing neverBuiltDependencies. |
| config/reader/src/types.ts | Removes ignore-dep-scripts from config key type map. |
| config/reader/src/configFileKey.ts | Removes ignore-dep-scripts from excluded pnpm keys list. |
| config/reader/src/Config.ts | Removes ignoreDepScripts from the Config interface. |
| building/commands/src/build/rebuild.ts | Removes neverBuiltDependencies from rebuild options typing. |
| building/after-install/src/extendBuildOptions.ts | Removes neverBuiltDependencies from build options typing. |
| .changeset/remove-ignore-dep-scripts.md | Adds changeset documenting removal of ignore-dep-scripts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| --- | ||
| "@pnpm/config.reader": major |
There was a problem hiding this comment.
The changeset only bumps @pnpm/config.reader and pnpm, but this PR also removes exported option fields/types from other published packages (e.g. ignoreDepScripts from @pnpm/installing.deps-installer/@pnpm/installing.deps-restorer, and neverBuiltDependencies from @pnpm/building.after-install/@pnpm/building.commands). Please add the affected packages to the frontmatter (likely as major), otherwise consumers may receive breaking type/API changes without a major version bump.
| --- | |
| "@pnpm/config.reader": major | |
| --- | |
| "@pnpm/building.after-install": major | |
| "@pnpm/building.commands": major | |
| "@pnpm/config.reader": major | |
| "@pnpm/installing.deps-installer": major | |
| "@pnpm/installing.deps-restorer": major |
Summary
ignore-dep-scripts/ignoreDepScriptsconfig setting — redundant with v11's defaultallowBuildsbehaviorneverBuiltDependenciestype definitions and test references — dead code replaced byallowBuildsTest plan