Skip to content

chore(deps): biome 2.5.5 + ultracite 7.9.4 migration - #32

Closed
tnunamak wants to merge 36 commits into
mainfrom
biome/remove-dead-suppressions
Closed

chore(deps): biome 2.5.5 + ultracite 7.9.4 migration#32
tnunamak wants to merge 36 commits into
mainfrom
biome/remove-dead-suppressions

Conversation

@tnunamak

Copy link
Copy Markdown
Contributor

Upgrades @biomejs/biome 2.4.12 → 2.5.5 and ultracite 7.6.0 → 7.9.4, and clears every resulting lint violation. Resolves the biome/ultracite portion of Dependabot #22.

Scope

  • Formatter reflow (biome 2.5 changed formatter defaults) — the bulk of the diff, mechanical.
  • Config scoping — ultracite 7.9.4 broadened files.includes to **; restored the repo's TypeScript-only lint boundary, excluded design-system exploration prototypes (docs/design-system/**, unshipped .jsx/.html mockups), and waived noUnresolvedImports for valid package subpath exports biome cannot resolve.
  • Rule fixes across ~600 sites: useDestructuring, noJsxPropsBind (→ useCallback or scoped ignore for non-memoized), noUnnecessaryConditions (removed dead, kept runtime guards), noAwaitInLoops (Promise.all only where independent, else scoped ignore), useErrorCause, useAwait, noShadow, and more.

Verification

  • biome check: 0 errors, 0 warnings.
  • Typechecks: reference-implementation + apps/console, clean.
  • Test oracle: 7,182 reference-implementation tests pass, 0 fail.
  • Independent behavioral probe (random-sampled 12 changed files + all noAwaitInLoops conversions + every biome-ignore): all transforms confirmed behavior-preserving; no dependent-loop parallelization; all suppressions legitimate. 54 dead/templated suppressions removed so the tree is genuinely clean.

Large diff, but ~99% formatter reflow. For maintainer review.

Closes #30.

tnunamak added 30 commits July 22, 2026 16:57
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
tnunamak added 6 commits July 22, 2026 19:01
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
The migration fleet added some templated biome-ignore directives at sites where
the rule does not actually fire under biome 2.5, leaving unused-suppression
warnings. Remove the 54 dead directives so biome check is clean (0 errors,
0 warnings). Verified: biome check clean, typechecks pass.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
@tnunamak

Copy link
Copy Markdown
Contributor Author

Closing — this branch bumped biome/ultracite at ROOT only, which fails: the monorepo needs a UNIFORM version across all workspaces (mixed 2.5.5-root/2.4-workspace fails biome config-parsing under --frozen-lockfile).

Superseded by a properly-scoped uniform migration: biome 2.5.5 + ultracite 7.9.4 across ALL 7 workspaces, migrating legacy .js→.ts (not excluding), excluding only genuine artifacts via verified !!-negation configs, done in per-workspace reviewable tranches with reference-implementation last behind its behavioral suite. Grounded in official ultracite/biome docs. Will open as fresh per-workspace PRs.

@tnunamak tnunamak closed this Jul 23, 2026
@tnunamak
tnunamak deleted the biome/remove-dead-suppressions branch July 23, 2026 05:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Defer biome 2.4→2.5 upgrade: needs a staged lint migration, not an auto-rewrite

1 participant