feat: add versions.json version metadata contract#110
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Adds a new root-level versions.json file intended to act as the shared “version metadata contract” for the documentation/release pipeline (per #105), capturing the current latest released webpack major (v5) and reserving an entry for v6 before an npm release exists.
Changes:
- Introduces
versions.jsoncontaining alatestpointer plus aversions[]list of version metadata. - Populates v5 with an exact npm version and a commit SHA matching
HEAD_COMMIT; scaffolds v6 withnullfields.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
avivkeller
left a comment
There was a problem hiding this comment.
While the structure of the file looks good, I feel weird about adding an unused file, can you add the YAML and MJS files you mentioned to this PR?
|
Sure, will add |
|
Dropped |
avivkeller
left a comment
There was a problem hiding this comment.
My review is purely a suggestion, and I'm not 100% sure that it's the way to go. Curious what you think about consolidating versions.json to just a string
|
will push the fixes with the two corrections once confirmed . |
Co-authored-by: Aviv Keller <me@aviv.sh>
Co-authored-by: Aviv Keller <me@aviv.sh>
Co-authored-by: Aviv Keller <me@aviv.sh>
|
fixing the release.yml , I accidentally combined the typo and $COMMIT inside it |
|
Can you lint + add the generated file to |
okay |
|
Done ! |
Links to : #105
Summary
Adds
versions.jsonas the shared version metadata contract for the documentation pipeline. This is the single source of truth thatupdate-versions.mjs,place-output.mjs,release.ymlwill all read from.Real values:
v5.xreflects the actual latest webpack release on npm (5.107.1) and the commit matches the currentHEAD_COMMIT. Thev6.xentry hasnullvalues since v6 has no npm release yet, these get filled automatically byrelease.ymlwhen webpack tags a v6 release.What kind of change does this PR introduce?
New file, no existing behaviour is modified.
Did you add tests for your changes?
Tests will come alongside
update-versions.mjswhich reads and mutates this file. Adding them here in isolation would not be meaningful without the script that uses it.Does this PR introduce a breaking change?
No. Nothing currently depends on this file.
If relevant, what needs to be documented?
Schema is already documented and shared with the team.
Use of AI
Used for writing the PR Desc.