Centralize NPM dependencies for website builds#506
Open
ppkarwasz wants to merge 3 commits into
Open
Conversation
Add the canonical `package.json` and `package-lock.json` that determine the NPM dependencies of all Apache Logging websites. Website deployments pass the new `npm-dependencies-ref` input to `deploy-site-reusable`, which downloads both files before building the website, so all deployed websites use the exact same dependency tree. Dependabot keeps the files up-to-date on this branch only. The lock file uses its standard name, since npm 12 removed all support for `npm-shrinkwrap.json` (npm/cli#9262). Assisted-By: Claude Fable 5 <noreply@anthropic.com>
Assisted-By: Claude Fable 5 <noreply@anthropic.com>
The site generation is currently duplicated between `build-reusable` (PR gate) and `deploy-site-reusable` (deployment), so both need the same `npm-dependencies-ref` input. Also key the Node.js cache on the manifests, since the previous key hashed files absent at restore time. Assisted-By: Claude Fable 5 <noreply@anthropic.com>
ppkarwasz
added a commit
that referenced
this pull request
Jul 25, 2026
Prove that the centralized NPM dependencies work before #506 is merged. Revert this commit once the manifests are available on `gha/v0`. Assisted-By: Claude Fable 5 <noreply@anthropic.com>
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.
This is a second attempt at #367, which locked the Antora dependencies with
npm-shrinkwrap.json, but had to be rolled back in #409: it installed the dependencies differently inlogging-parent(npm install .) than in the other repositories (npm install github:apache/logging-parent#rel/x.y.z).Now that the
gha/v0branch exists solely for version pinning, the canonicalpackage.jsonandpackage-lock.jsoncan live here instead:npm-dependencies-refinput todeploy-site-reusable, which downloads both files (from this branch, or from any Git repository vianpm-dependencies-repository) before building the website, so all deployed websites use the exact same dependency tree. Release website staging omits the input and uses thepackage.jsoncommitted in each repository.mainfor thedependabot.yamlchange).npm-shrinkwrap.json(feat!: drop npm-shrinkwrap.json support npm/cli#9262), and a shrinkwrap was never honored for Git dependencies anyway ([BUG] npm does not respect shrinkwrap files when_hasShrinkwrapis undefined npm/cli#4583).Making website builds from released source archives reproducible will be addressed separately.
🤖 Generated with Claude Code