npm scripts: inline lifecycle pre/post hooks into their parents - #2726
Merged
chalin merged 7 commits intoAug 19, 2026
Conversation
- Routes npm extra args past the inlined post-update step (otel.io bash -c form), fixing update:packages:not-hugo - Widens the hook-sibling test to every script in all three manifests - Adds the changelog "For maintainers" entry
- Replaces the bash -c arg-passthrough with the repo's underscore-payload idiom: :not-hugo puts its flag on _update:packages directly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
pre*/post*run-hook scripts into their parent scripts as explicit&&chains (otel.io precedent), so behavior no longer depends on npm's implicit hook mechanism.ignore-scripts=truesuppressesnpm runpre/post hooks, but not the script itself):check:links/check:links:internalsilently skipped the site build and checked a stale or absentpublic/.update:packages:not-hugo), routes them to the main step via the otel.iobash -c '… "$@" && …' -form (npm appends extras to the last&&command).pre/posthook sibling (subsumes the previous root-only check-lane list).