Skip to content

chore(deps): upgrade @biomejs/biome from 1.9.4 to 2.4.10#1075

Merged
aaight merged 1 commit intodevfrom
feature/upgrade-biome-v2
Apr 2, 2026
Merged

chore(deps): upgrade @biomejs/biome from 1.9.4 to 2.4.10#1075
aaight merged 1 commit intodevfrom
feature/upgrade-biome-v2

Conversation

@aaight
Copy link
Copy Markdown
Collaborator

@aaight aaight commented Apr 2, 2026

Summary

  • Upgrade @biomejs/biome from 1.9.4 → 2.4.10 (major version bump)
  • Migrate biome.json config schema via biome migrate --write (organizeImportsassist.actions.source.organizeImports, files.ignorefiles.includes)
  • Run safe auto-fixes: 239 files with import ordering and formatting changes
  • Run unsafe auto-fixes: remove unused vitest imports, unused variables, stale biome-ignore lint/performance/noDelete suppressions
  • Manually fix remaining violations: noArrayIndexKey, useExhaustiveDependencies, noTemplateCurlyInString, noUnusedFunctionParameters, noUnusedVariables
  • Exclude web/src/index.css from Biome checks (Tailwind v4 syntax unsupported by Biome CSS parser)
  • Two pre-existing noExcessiveCognitiveComplexity warnings in users.ts and webhooks.ts remain (expected)

Closes: https://trello.com/c/iQZ0yjGB/585-biome-linter-major-version-behind-biomejs-biome-at-194-latest-is-2410-major-version-gap-may-miss-new-lint-rules-and-improvements

Test plan

  • npm run lint — 0 errors, 2 pre-existing warnings
  • npm run typecheck — 0 errors
  • npm test — 369 test files, 7262 tests all passing
  • npm run build — compilation succeeds
  • Lefthook npx biome check --write {staged_files} CLI interface unchanged

🤖 Generated with Claude Code

🕵️ claude-code · claude-sonnet-4-6 · run details

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 2, 2026

Codecov Report

❌ Patch coverage is 90.57971% with 13 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/triggers/index.ts 0.00% 5 Missing ⚠️
src/triggers/trello/index.ts 0.00% 3 Missing ⚠️
src/triggers/github/index.ts 0.00% 2 Missing ⚠️
src/triggers/jira/index.ts 0.00% 2 Missing ⚠️
src/gadgets/AstGrep.ts 50.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Collaborator

@nhopeatall nhopeatall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

LGTM — clean Biome v1 → v2 major version upgrade with correct config migration and comprehensive auto-fix application.

What I verified:

  1. Config migration is correct: organizeImports.enabledassist.actions.source.organizeImports, files.ignorefiles.includes with negation patterns — both match Biome v2's documented schema changes.

  2. Behavioral code changes are sound:

    • Number.parseInt(t.id, 10) — adds explicit radix to parseInt, functionally equivalent since IDs are always decimal strings generated by the same function
    • !result?.trim() simplifications (3 occurrences) — semantically equivalent to !result || !result.trim()
    • _output / _config / _project underscore-prefix renames for unused variables — correct convention, variables are unused but their assignment has necessary side effects (e.g., consuming stdout pipe buffer in AstGrep)
    • Removed dead removeIntegrationCredential import in test seed helper — function body was already a no-op stub
  3. Bulk changes are mechanical: ~90 files with import reordering (alphabetical per Biome v2's organizeImports), export reordering, and minor formatting (blank line insertions, multi-line → single-line consolidation). All are safe reorganizations with no semantic impact.

  4. Exclusion of web/src/index.css from Biome checks is reasonable — Tailwind v4 uses custom CSS syntax that Biome's CSS parser doesn't support.

  5. CI is green: All 7 checks pass (lint, typecheck, tests, Docker builds, integration tests).

🕵️ claude-code · claude-opus-4-6 · run details

@aaight aaight merged commit 2b7559f into dev Apr 2, 2026
9 checks passed
zbigniewsobiecki added a commit that referenced this pull request Apr 15, 2026
Local node_modules had biome 1.9.4 (stale from before #1075), so the
previous commit wrote a 1.9.4 config that broke CI (which installs fresh
2.4.10). After running npm install locally, re-wrote config for 2.4.10:
- Restore assist/files.includes keys (valid 2.x API)
- Keep noDelete: off override (src/ + tests/) — delete process.env.X
  is semantically required; = undefined coerces to "undefined" string
- Add noArrayIndexKey suppression back to llm-call-list (2.4.10 triggers
  the rule even for compound keys; suppression is warranted — read-only list)
- Re-apply biome 2.4.10 import sort across modified files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
zbigniewsobiecki added a commit that referenced this pull request Apr 15, 2026
#1112)

* fix(linear): remove Bearer prefix from API key auth header + fix biome config

**Bug fix:**
Linear personal API keys (lin_api_*) must be sent as bare Authorization
tokens — not Bearer tokens. Bearer is for OAuth access tokens only.
Every outbound Linear API call (getMe, getTeams, createIssue, etc.) was
broken for any project using a personal key.

Reproducer: curl -H "Authorization: Bearer lin_api_..." returned
"Remove the Bearer prefix from the Authorization header."

**Also included:**
- Add logger.error in wrapIntegrationCall so integration failures are
  visible in server logs (previously swallowed silently)
- Add getMe unit tests (the method that was failing in the wizard)
- Fix biome.json: schema ref was 2.4.10 but installed biome is 1.9.4;
  also renamed assist→organizeImports, includes→ignore (1.9.x keys)
- Run biome check --write to apply all import-sort and style fixes
  across the entire codebase (pre-existing issues, now unblocked)
- Add biome override to keep noDelete off for src/ and tests/ —
  delete process.env.X is semantically required (= undefined coerces
  to the string "undefined" in Node.js process.env)
- Remove stale biome-ignore comment in llm-call-list.tsx

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(lint): align biome.json with installed version 2.4.10

Local node_modules had biome 1.9.4 (stale from before #1075), so the
previous commit wrote a 1.9.4 config that broke CI (which installs fresh
2.4.10). After running npm install locally, re-wrote config for 2.4.10:
- Restore assist/files.includes keys (valid 2.x API)
- Keep noDelete: off override (src/ + tests/) — delete process.env.X
  is semantically required; = undefined coerces to "undefined" string
- Add noArrayIndexKey suppression back to llm-call-list (2.4.10 triggers
  the rule even for compound keys; suppression is warranted — read-only list)
- Re-apply biome 2.4.10 import sort across modified files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

2 participants