Repository navigation
deps: upgrade ultracite to 8 (major, needs review) - #1088
Merged
Merged
Conversation
…-8-0314 Co-authored-by: Aymeric Rabot <Aymericr@users.noreply.github.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.
What does this PR do?
Upgrades
ultracitefrom ^7.8.2 to ^8.0.1 in the rootpackage.json, withbun.lockregenerated. It also raises the rootengines.nodefrom>=22to>=22.18to match Ultracite 8's own requirement, and updates the Node prerequisite inSETUP.mdandCONTRIBUTING.mdto 22.18+. The CLI package's>=22.13.0engines field and the "CLI-managed editor" note inSETUP.mdare unchanged, because they describe end users of the published@pascal-app/cli, not contributors.Ultracite 8 peer-requires
@biomejs/biome ^2.5.0, which #1087 (now merged) provided.mainhas been merged into this branch, andbun install --frozen-lockfilepasses on the merged lockfile.How it was done: I ran
ultracite upgrade --pm bun. It reported "Configuration files are already in this release's format", and the only extra change it made was pinning@biomejs/biometo an exact2.5.15. I reverted that pin to keep the repo's^ranges; otherwise the result is identical to a manual bump. I did not runultracite init, because it would rewritebiome.jsoncandAGENTS.md.Important context: Ultracite is effectively unused in this repo.
biome.jsoncdoesn't extendultracite/biome/core(ultracite doctorwarns about exactly that), no script or hook callsultracite, andAGENTS.mdhas no Ultracite rules block. No Oxlint, ESLint, Stylelint or Prettier configs exist, so there's no whitespace-only diff from the Oxlint preset. Reviewers may prefer to dropultraciteentirely rather than carry a major-version upgrade of an unused dependency.Ultracite 8.0.0 / 8.0.1 breaking changes, checked against this repo
AGENTS.md;initmigrates oldCLAUDE.md/GEMINI.md/.firebenderblocksCLAUDE.mdandGEMINI.mdare symlinks toAGENTS.md, there is no Ultracite block anywhere, andinitwas not run.noSuspiciousSemicolonInJsx,noDuplicateJsxProps,noVoidElementsWithChildrentoerrorbiome.jsoncdoesn't extend the preset. Adopting it later would turn these on.compat/compatan error (needs browserslist targets)packages/eslint-configdoesn't reference ultracite).ultracite fix --hookexits 2 when problems remain.githooks/pre-commitcallsbun run check(Biome directly), notultracite fix --hook.init/upgradeinstalloxlint/oxfmt/oxlint-tsgolintwithin caret rangesupgradeinstalled none of them, since Biome is the detected linter. They show up only as optional peers inbun.lock.engines.nodeis now>=22.18, and the contributor docs say Node.js 22.18+. CI'snode-version: 22already resolves to a newer 22.x.How to test
bun install --frozen-lockfilebunx ultracite doctorshould show "4 passed, 1 warnings" (the warning is the non-extendedbiome.jsonc).bun run cishould pass.CI is green. Locally (Node 22.21.1, Bun 1.4.2),
bun run cipasses except forpackages/viewer/src/components/viewer/perf-monitor.test.tsx. That test passes in isolation and in CI. It fails locally only whenrender-error.test.tsxruns first: that test'sfinallyrestoreswindow,requestAnimationFrameandcancelAnimationFramewithObject.assign, which leaves them as own keys set toundefinedinstead of deleting them. This predates this PR and is left for a separate fix.Screenshots / screen recording
N/A — non-visual change
Checklist
bun devbun checkto verify)mainbranchNote
Low Risk
Dev-only dependency and documentation/engine pin changes; no application runtime or auth paths are modified.
Reviewed by Cursor Bugbot for commit 1481e7b. Bugbot is set up for automated code reviews on this repo. Configure here.