Conversation
There was a problem hiding this comment.
Pull request overview
This PR tightens the repository’s Biome lint configuration (enabling additional rule groups and promoting several rules to error) and updates related tooling dependencies in package.json / package-lock.json.
Changes:
- Expand
biome.jsonlinter rules beyondrecommended, adding strictersuspicious,complexity,performance, andstylerules. - Update dev tooling dependencies, including a major upgrade of
vitestand@vitest/coverage-v8to4.0.18. - Refresh
package-lock.jsonto reflect the updated dependency graph.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| package.json | Updates devDependencies (Biome range tweak; Vitest + coverage bumped to v4). |
| package-lock.json | Large lockfile refresh reflecting the new Vitest/tooling dependency tree. |
| biome.json | Adds multiple stricter Biome lint rules on top of recommended. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "@vitest/coverage-v8": "^4.0.18", | ||
| "eslint": "^10.0.2", | ||
| "eslint-config-biome": "^2.1.3", | ||
| "tshy": "^3.3.2", | ||
| "typescript": "^5.9.3", | ||
| "typescript-eslint": "^8.56.1", | ||
| "vitest": "^3.2.4" | ||
| "vitest": "^4.0.18" |
There was a problem hiding this comment.
vitest/@vitest/coverage-v8 were bumped to v4, but vitest@4.0.18 requires Node ^20 || ^22 || >=24 (see package-lock). The CI workflow currently runs tests on Node 18, so this change will make the Node 18 job fail. Either keep Vitest v3 to preserve Node 18 support, or update the CI matrix (and any stated support policy) to drop Node 18.
| "@vitest/coverage-v8": "^4.0.18", | ||
| "eslint": "^10.0.2", | ||
| "eslint-config-biome": "^2.1.3", | ||
| "tshy": "^3.3.2", | ||
| "typescript": "^5.9.3", | ||
| "typescript-eslint": "^8.56.1", | ||
| "vitest": "^3.2.4" | ||
| "vitest": "^4.0.18" |
There was a problem hiding this comment.
PR title/scope is about stricter Biome linting, but this diff also includes a major Vitest upgrade (v3 -> v4). Since this can be a breaking tooling change (including Node version support), consider either splitting the Vitest bump into a separate PR or updating the PR title/description to reflect that broader change.
| "@biomejs/biome": "^2.4.4", | ||
| "@eslint/compat": "^2.0.2", | ||
| "@feedic/eslint-config": "^0.2.3", | ||
| "@types/node": "^25.3.3", | ||
| "@vitest/coverage-v8": "^3.2.4", | ||
| "@vitest/coverage-v8": "^4.0.18", |
There was a problem hiding this comment.
@biomejs/biome is set to ^2.4.4, but the lockfile resolves 2.4.5. If the intent is to stay on 2.4.4 (e.g., to match the schema URL in biome.json), consider pinning the exact version; otherwise bump the range/schema so all three are aligned to reduce confusion.
| "rules": { | ||
| "recommended": true, | ||
| "suspicious": { | ||
| "noConstEnum": "off" | ||
| "noConstEnum": "off", | ||
| "noConstantBinaryExpressions": "error", |
There was a problem hiding this comment.
This PR adds a number of new Biome rules. Since the lockfile installs @biomejs/biome@2.4.5 but biome.json still references the 2.4.4 schema, consider updating the $schema URL to match the installed Biome version so editors/validation stay in sync with the rule set.
No description provided.