Fix repo-wide lint failure: sort package.json for ultracite 7.10 - #165
Merged
Conversation
`pnpm lint` has failed on every branch, including main, since the Renovate bump in #154. That PR raised ultracite 7.9.4 -> 7.10.0, which added `assist/source/useSortedPackageJson`, and the repo's package.json does not satisfy it. #154 was itself merged with a red `quality` job. This is the second CI break from that one PR — it also bumped packageManager to pnpm@11.18.0, whose default 24h `minimumReleaseAge` rejected the ultracite version the same commit introduced, until it aged out. Applying the sort rather than switching the rule off. biome.jsonc does disable the sibling `useSortedKeys`, but for two stated reasons and the non-negotiable one — object key order being observable in persisted `snapshot_json`, where `getChangelog` compares rows byte-identically — does not apply to package.json. The other reason, cosmetic churn across ~600 files, is one file here. A rule that is merely opinionated is not worth a config exception. Purely a reordering: keys, values, scripts, dependencies and devDependencies all compare equal to the previous file. Co-Authored-By: Claude Opus 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.
Fix the repo-wide
qualityfailurepnpm linthas failed on every branch includingmainsince #154. One-file fix.Cause
#154 (Renovate, "update all non-major dependencies") raised ultracite 7.9.4 → 7.10.0, which added the
assist/source/useSortedPackageJsonrule. The repo'spackage.jsondoesn't satisfy it:main's ownpackage.jsonreproduces it — I checked it in isolation. None of the open PRs touch that file, so #162, #163 and #164 are all inheriting the failure, not causing it. Their other 7 checks pass.This is the second CI break from that single PR. It also bumped
packageManagertopnpm@11.18.0, whose default 24-hourminimumReleaseAgethen rejected the ultracite version the same commit introduced — that one cleared itself once the package aged out. #154 was merged with a redqualityjob, which is how both landed.Why sort rather than disable the rule
biome.jsoncdoes turn off the siblinguseSortedKeys, so there's precedent — but its two stated reasons don't carry here. The non-negotiable one is that object key order is observable in persistedsnapshot_json, wheregetChangelogcompares wayback and live rows byte-identically;package.jsonisn't in that path. The other is churn across ~600 files, and this is one file.A rule that's merely opinionated isn't worth a config exception.
The change is purely a reordering — keys, values,
scripts,dependenciesanddevDependenciesall compare equal to the previous file.Verification
biome check package.json→ cleanbiome check package.json biome.jsonc tsconfig.json app lib tests scripts locales→ 651 files, no fixesNote on how I missed this
My per-pass verification ran
biome check app/ lib/ tests/ scripts/, which never included the repo-rootpackage.json— so I reported "lint clean" on branches whosequalityjob was red. A pathlessultracite checkwould have caught it, but it can't be used here:biome.jsoncexcludes**/.claude, and this work happens in a worktree under.claude/worktrees/, so a pathless run reports "Checked 0 files". I've been passing explicit paths for that reason, and the path list was incomplete.Merging
Once this lands, #162/#163/#164 need
mainmerged in (or the Update branch button) to pick it up and re-run.🤖 Generated with Claude Code