docs(game-data): correct the v3.0.0 migration changelog - #83
Merged
Merged
Conversation
The pending major changeset said "the same 14 heroes existed twice". heroes.ts has 14 rows but only 10 carry the gameplay sheet, and the removed gameContent.ts held 10 -- the same file already said "all 10 hero sheets transferred" and "four heroes genuinely have no sheet". A reader hitting 14-then-4 concludes data was dropped. This text ships to npm as the 3.0.0 CHANGELOG (it is in the published tarball's files list), so it is the migration doc consumers actually get. Also notes that gameContent.Adversary collapses into Foe. The migration table mapped three types onto two in one cell with no explanation; ADVERSARY_ROSTER is a readonly Foe[], which a consumer would not guess from that row. Plus two stale source comments left by the same removal: boxInventory.ts pointed at the deleted gameContent.ts, and companionCards.ts described it in the present tense.
The "same 14 heroes existed twice" claim appeared in three places, not one. heroes.ts's header comment ships in dist/*.d.ts, so it reaches consumers too.
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.
Found while reviewing what PR #58 would publish.
ultimatedarktowerdata2.2.0 →3.0.0 is a genuine major that removes the whole
gameContentnamespace, so.changeset/hero-record-merge.mdbecomes the published CHANGELOG — andpackages/game-datashipsCHANGELOG.mdin itsfileslist, so this text isthe migration doc external consumers actually receive.
1. The hero count was wrong
heroes.tshas 14 rows, but only 10 carrybannerAction, and the removedgameContent.tsheld 10 hero sheets. The same document already says "all 10hero sheets transferred byte-identical" and "four heroes genuinely have no
sheet" (the unreleased Expeditions heroes).
A reader hitting "14 existed twice" and then "four have no sheet" concludes data
was dropped in the merge. Nothing was. Corrected to "10 of the 14".
2.
Adversary→Foewas an unremarked type collapseThe migration table maps three types onto two in a single cell:
gameContent.Foe/.Adversary/.CompanionFoe/CompanionCardNothing says adversaries are now modelled as
Foe—ADVERSARY_ROSTERis areadonly Foe[]andALL_FOESis[...FOES, ...ADVERSARY_ROSTER]. A consumerwith
let a: gameContent.Adversarycan't guessFoefrom that row. Added ashort paragraph after the table.
3. Two stale source comments from the same removal
boxInventory.ts— "Gameplay content lives in gameContent.ts" (that file isdeleted).
companionCards.ts— "gameContent.COMPANIONSholds the same 10 questcompanions", present tense.
What I verified but did not change
Every replacement name in the migration table resolves against the real v3
export surface (
HERO_BY_NAME,HERO_BY_ID,HEROES,FOES,ADVERSARY_ROSTER,COMPANION_CARDS,KINGDOM_VIRTUES,kingdomVirtues,KingdomDirection,Virtue,Hero,Foe,CompanionCard,ContentSource) —no dangling references.
gameContentwas a named export of., never asubpath, so the
import { gameContent }diff has the right shape. Nothing inthe repo still imports it, and
virtues.test.tsasserts it stays gone.Verification
pnpm run cipasses (exit 0).pnpm --filter ultimatedarktowerdata test— 326passed / 13 files.
pnpm changeset statusstill resolvesultimatedarktowerdatato major.
Merging this regenerates the "Version Packages" PR (#58) with the corrected text.