fix: prevent postinstall script from running when installed as dependency using pnpm #1255
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
postinstallscript runspatch-packageeven when the package is installed as a dependency, causing installation failures for users who don't havepatch-packageinstalled in their projects. This issue is particularly evident when usingpnpm, which handles module isolation more strictly.Problem:
The
postinstallscript attempts to runpatch-package, which isn't available in user projects, causing installation to fail. The workaround is for the user to add patch-package as a top-level dev-dependency in their own project.Solution:
This fix updates
patches/patch.jsto check if the script is running inside anode_modulesdirectory. If it is, the script assumes it's being installed as a dependency and skips runningpatch-package.Compatibility:
Tested with
npm,pnpm, andyarn. The fix works across all package managers.Testing:
postinstallruns during local development.