Repository navigation
feat(sync): stop when upstream needs a newer CLI - #30
Merged
Merged
Conversation
A sync bumps the fork's @cellajs/cli with its other packages, so each sync ran on the CLI from before it, and fixes to analyze or sync reached a fork one sync late. projectcampus synced to cella 2fb4512b5 on 0.2.2 and so missed the override and ignored-path reports #27 added in 0.2.3. analyze and sync now read the @cellajs/cli range from upstream's root package.json at the target ref, and stop before merging when the running CLI is below its lower bound, with the command to update. Ranges without a lower bound (workspace:, link:, file:, unions) never block. The version helpers move from services/packages.ts to utils/versions.ts to be shared. Co-Authored-By: Claude Opus 5.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.
A sync bumps the app's
@cellajs/clialong with its other packages, so every sync runs on the CLI from before it. Any fix toanalyzeorsynctherefore reaches an app one sync late.This already happened: projectcampus synced to cella
2fb4512b5on 0.2.2. That run did not report the newbackend/src/bundle-config.tspin or the ignored-path changes, both of which #27 added in 0.2.3. Upstream'spackage.jsonalready required^0.2.3.Change
analyzeandsyncread the@cellajs/clirange from upstream's rootpackage.jsonat the target ref. If the running CLI is below that range's lower bound, the run stops before anything merges:workspace:,link:,file:,*,<x,>xanda || b. A locally linked CLI keeps working.package.jsonis missing or unparsable, nothing is checked.parseComparableVersionandcompareVersionsmove unchanged fromservices/packages.tstoutils/versions.ts, so both callers share them.Verification
tests/cli-version.test.ts: 5 new tests. 210 of 210 tests pass, along withtsgoand Biome.mainfrom before its sync (279003742):+ pinned: backend/src/bundle-config.ts.🤖 Generated with Claude Code