-
Notifications
You must be signed in to change notification settings - Fork 69
chore(deps): update non-major dependencies #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
π WalkthroughWalkthroughBumps to dev tooling and runtime versions only. package.json devDependencies updated: Possibly related PRs
Suggested reviewers
Pre-merge checksβ Passed checks (2 passed)
Comment |
Codecov Reportβ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #63 +/- ##
=======================================
Coverage 95.24% 95.24%
=======================================
Files 25 25
Lines 715 715
Branches 207 207
=======================================
Hits 681 681
Misses 34 34 β View full report in Codecov by Sentry. π New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (1)
package.json(1 hunks)
π Additional comments (1)
package.json (1)
49-49: lint-staged patch update is safe.The 16.2.6 bump fixes a bug in --continue-on-error task handlingβlow risk.
package.json
Outdated
| }, | ||
| "devDependencies": { | ||
| "@biomejs/biome": "2.2.7", | ||
| "@biomejs/biome": "2.3.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
π§© Analysis chain
Verify biome 2.3.0 compatibility with existing linting/formatting.
The bump to 2.3.0 introduces new lint rules and formatting options (lineEnding: auto, indentScriptAndStyle). Confirm the pipeline passes linting and formatting checks.
π Script executed:
#!/bin/bash
# Verify lock file is updated and biome configuration remains compatible
# Check if pnpm-lock.yaml exists and contains the updated biome version
fd "pnpm-lock.yaml" -x grep -q "@biomejs/[email protected]" && echo "β Lock file contains biome 2.3.0" || echo "β Lock file may need update"
# Check for biome config file and its content
fd "biome.json|biome.jsonc" -x catLength of output: 3953
Update biome.json schema reference to match 2.3.0 version.
Lock file is properly updated, but the schema URL still references 2.2.7. Update "$schema" in biome.json to https://biomejs.dev/schemas/2.3.0/schema.json to avoid validation mismatches.
Also confirm whether the new formatting options (lineEnding: auto, indentScriptAndStyle) mentioned in the PR should be adopted or remain as-is.
π€ Prompt for AI Agents
In package.json around line 43 (the Biome dependency bump to 2.3.0), update the
"$schema" field in biome.json from the old 2.2.7 URL to
https://biomejs.dev/schemas/2.3.0/schema.json so the schema version matches the
installed biome package; open biome.json, replace the schema URL accordingly,
and then run biome/format or validation to ensure no schema errors. While here,
confirm whether to adopt the new formatting options (lineEnding: "auto" and
indentScriptAndStyle) by either adding them to biome.json if you want those
behaviors or leaving them out to preserve current formatting, and run the
formatter to verify the resulting diffs are acceptable.
e1d63fb to
81f4f99
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (1)
package.json(1 hunks)
π Additional comments (2)
package.json (2)
49-49: Confirm lint-staged 16.2.6 patch resolves --continue-on-error issue.The patch addresses task failures with the
--continue-on-errorflag. If your CI/hooks use this flag, verify it now works as expected.
52-52: LGTM.tsdown 0.15.10 patch is low-risk (rolldown-plugin-dts upgrade, nested index fix).
81f4f99 to
e517470
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (3)
.nvmrc (1)
1-1: LGTM!Node patch version bump (22.21.0 β 22.21.1) is routine and safe.
package.json (2)
49-49: LGTM!lint-staged 16.2.5 β 16.2.6 is a patch fix for --continue-on-error task handling. No breaking changes.
52-52: LGTM!tsdown 0.15.9 β 0.15.11 (per AI summary; PR objectives mention 0.15.10) includes rolldown-plugin-dts upgrade and index file export fixes. Routine patch bump.
package.json
Outdated
| }, | ||
| "devDependencies": { | ||
| "@biomejs/biome": "2.2.7", | ||
| "@biomejs/biome": "2.3.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
π§© Analysis chain
Dependency update approved; schema URL verification required.
@biomejs/biome 2.2.7 β 2.3.1 looks good. However, previous reviews flagged that biome.json's "$schema" URL still referenced 2.2.7. Confirm the schema URL has been updated to match 2.3.1.
π Script executed:
#!/bin/bash
# Verify biome.json schema URL matches installed version and lock file is current
echo "=== biome.json schema URL ==="
fd "biome.json|biome.jsonc" -x grep '"$schema"' || echo "No biome config found"
echo -e "\n=== pnpm-lock.yaml @biomejs/biome version ==="
grep -A 2 '"@biomejs/biome":' pnpm-lock.yaml | head -5 || echo "biome not found in lock file"
echo -e "\n=== Confirm schema matches package.json version ==="
SCHEMA=$(fd "biome.json|biome.jsonc" -x grep -oP '(?<=schemas/)[^/]+' || echo "not found")
echo "Schema version from biome.json: $SCHEMA (should be 2.3.1)"Length of output: 247
biome.json schema URL must be updated to 2.3.1.
The schema URL in biome.json is still 2.2.7 but the package is 2.3.1. Update to https://biomejs.dev/schemas/2.3.1/schema.json.
π€ Prompt for AI Agents
In package.json around line 43, the project depends on "@biomejs/biome": "2.3.1"
but the biome.json schema URL still points to 2.2.7; update the schema URL in
biome.json to "https://biomejs.dev/schemas/2.3.1/schema.json" so it matches the
installed biome version, ensuring the schema version string and path reflect
2.3.1.
e517470 to
8982ea7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (5)
.nvmrc (1)
1-1: Routine patch bump; no concerns.Node.js 22.21.1 is a patch release with minor fixes and improvements. Safe to update.
package.json (4)
44-44: Approve @types/node patch bump.Update from 22.18.12 to 22.18.13 is a safe patch with type corrections.
49-49: Approve lint-staged patch bump.Update from 16.2.5 to 16.2.6 fixes --continue-on-error task handling. No breaking changes.
52-52: Approve tsdown patch bumps.Updates from 0.15.9 to 0.15.11 include rolldown-plugin-dts upgrade and export path fixes. No concerns.
56-56: Approve pnpm packageManager update.Bump from 10.19.0 to 10.20.0 is a minor release. Ensure lock file is regenerated with
pnpm installor equivalent if needed.
8982ea7 to
1e78a91
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node.js patch bump approved.Routine runtime update; no issues.
1e78a91 to
32c61f3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node patch update looks good.Straightforward patch version bump that aligns with the broader toolchain updates.
239fb8f to
1e0991c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node version patch bump is safe.Straightforward patch version update; no behavioral changes.
1e0991c to
e319653
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node.js patch update approved.Straightforward patch bump (22.21.0 β 22.21.1) aligned with the PR strategy.
e319653 to
57b736a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (3)
package.json (2)
56-56: pnpm version bump is safe.The packageManager field correctly pins pnpm to 10.20.0 (minor bump from 10.19.0). This ensures consistent builds across environments and includes patch fixes.
43-44: Lock file is properly updated.All four version bumps are confirmed in pnpm-lock.yaml and maintain non-major semantics (no breaking changes).
.nvmrc (1)
1-1: Node.js patch version aligned with package.json engines constraint.The .nvmrc update from 22.21.0 to 22.21.1 is a safe patch-level bump and satisfies the
engines.nodeconstraint (β₯22.14.0) in package.json. No behavioral changes expected.
57b736a to
c838298
Compare
797544e to
e7e1379
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node patch update approved.Straightforward patch bump (22.21.0 β 22.21.1) aligns with PR objectives. No compatibility concerns.
7d30fad to
0a38086
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (2)
.nvmrc (1)
1-1: Node.js patch bump is safe.Updating from 22.21.0 to 22.21.1 is a routine patch version update with no breaking changes.
package.json (1)
56-56: pnpm packageManager update is straightforward.Bump from 10.19.0 to 10.20.0 (minor) is safe. Ensure
pnpm-lock.yamlreflects this update.
package.json
Outdated
| "@biomejs/biome": "2.3.2", | ||
| "@types/node": "22.19.0", | ||
| "@vitest/coverage-v8": "4.0.6", | ||
| "cspell": "9.2.2", | ||
| "husky": "9.1.7", | ||
| "license-checker-rseidelsohn": "4.4.2", | ||
| "lint-staged": "16.2.5", | ||
| "lint-staged": "16.2.6", | ||
| "prettier": "3.6.2", | ||
| "sort-package-json": "3.4.0", | ||
| "tsdown": "0.15.9", | ||
| "tsdown": "0.15.12", | ||
| "typescript": "5.9.3", | ||
| "vitest": "4.0.5" | ||
| "vitest": "4.0.6" | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
π§© Analysis chain
All devDependency updates are non-major; verify biome.json schema alignment.
All six devDependency bumps are patch or minor versionsβsafe from a semver breaking-change perspective. However, past reviews flagged a critical blocker: when @biomejs/biome was bumped to 2.3.2, the $schema URL in biome.json must be updated from 2.2.7 to 2.3.2. The most recent past review comment indicates this was addressed in commit 7d30fad (β
), but biome.json is not in the files under review here. Confirm the fix persists before merge.
π Script executed:
#!/bin/bash
# Verify biome.json schema URL matches @biomejs/biome version and lock file consistency
echo "=== biome.json schema URL ==="
if [ -f "biome.json" ]; then
SCHEMA=$(grep -oP '"$schema":\s*"\K[^"]+' biome.json 2>/dev/null || echo "not-found")
if [[ "$SCHEMA" == *"2.3.2"* ]]; then
echo "β Schema URL correctly references 2.3.2"
else
echo "β CRITICAL: Schema URL is $SCHEMA (expected to reference 2.3.2)"
fi
else
echo "β biome.json not found"
fi
echo -e "\n=== Lock file consistency (pnpm-lock.yaml) ==="
for pkg in "@biomejs/[email protected]" "[email protected]" "@vitest/[email protected]" "[email protected]" "[email protected]"; do
grep -q "$pkg" pnpm-lock.yaml && echo "β $pkg found" || echo "β οΈ $pkg not found"
doneLength of output: 277
π Script executed:
#!/bin/bash
# Simpler approach: check biome.json existence and extract schema field
echo "=== biome.json content check ==="
if [ -f "biome.json" ]; then
echo "β biome.json exists"
echo ""
echo "Schema field:"
grep -A1 -B1 'schema' biome.json | head -5 || echo "No 'schema' found"
else
echo "β biome.json not found in repo root"
fi
echo -e "\n=== Attempting alternate grep patterns ==="
[ -f "biome.json" ] && grep '$schema' biome.json
[ -f "biome.json" ] && grep '"' biome.json | head -3Length of output: 112
π Script executed:
#!/bin/bash
# Search for biome.json anywhere in repo
echo "=== Searching for biome.json ==="
fd biome.json 2>/dev/null || echo "No biome.json found"
echo -e "\n=== Searching for files with 'biome' in name ==="
fd biome 2>/dev/null | head -10Length of output: 104
π Script executed:
#!/bin/bash
# Read biome.json and extract schema URL
echo "=== biome.json schema URL ==="
cat biome.json | grep -i 'schema' | head -1
echo -e "\n=== Full biome.json (first 30 lines) ==="
head -30 biome.jsonLength of output: 986
Update biome.json schema URL to match @biomejs/biome version.
The $schema in biome.json still references 2.2.7 but package.json upgrades @biomejs/biome to 2.3.2. Update the schema URL from https://biomejs.dev/schemas/2.2.7/schema.json to https://biomejs.dev/schemas/2.3.2/schema.json in biome.json.
π€ Prompt for AI Agents
In biome.json (top of file where the "$schema" property is declared, replace the
existing URL), update the $schema value from
"https://biomejs.dev/schemas/2.2.7/schema.json" to
"https://biomejs.dev/schemas/2.3.2/schema.json" so it matches the @biomejs/biome
version in package.json; ensure the string is exact and save the file.
0a38086 to
0f8262b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Node patch bump is safe.Patch releases contain only bug fixes. No concerns.
0f8262b to
49028a7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: Environment alignment: Node patch bump.Straightforward patch update aligning with @types/node v22.19.0. No issues.
5ec33b5 to
e849e25
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: LGTM: Node.js patch update is safe.The bump to 22.21.1 is a patch release and aligns with the updated dev tooling versions in package.json.
e6eef6f to
8679f7a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: LGTM. Node.js patch bump (22.21.0 β 22.21.1) is low-risk and aligns with theengines.nodeconstraint (β₯22.14.0).
8679f7a to
3b52d35
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (3)
.nvmrc (1)
1-1: LGTM. Node.js patch version bump is safe.package.json (2)
43-45: Semver-safe updates. All six devDependency bumps are patch or minor versionsβno breaking changes from a semver perspective.Also applies to: 49-49, 52-52, 54-54
56-56: packageManager bump is safe. [email protected] is a minor update.
3b52d35 to
2fc8043
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: LGTM!Patch version bump (22.21.0 β 22.21.1) is semver-safe and requires no action on source code.
2fc8043 to
47b80da
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π§° Additional context used
πͺ GitHub Actions: CI
package.json
[error] 1-1: ELIFECYCLE: Command failed with exit code 1. The test suite exited with errors during 'pnpm run test:coverage'.
π Additional comments (1)
.nvmrc (1)
1-1: Node patch bump is safe.Straightforward patch version bump (22.21.0 β 22.21.1); no breaking changes or configuration impact.
55585e3 to
1cdb68a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
π Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
β Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
π Files selected for processing (2)
.nvmrc(1 hunks)package.json(1 hunks)
π Additional comments (1)
.nvmrc (1)
1-1: LGTM β safe patch-level runtime update.Node 22.21.0 β 22.21.1 is a patch bump (core/lib/process/timers fixes); no compatibility concerns. Aligns with
engines.node >= 22.14.0in package.json.
1cdb68a to
529c538
Compare
529c538 to
b27df75
Compare
This PR contains the following updates:
2.2.7->2.3.422.18.12->22.19.04.0.5->4.0.716.2.5->16.2.622.21.0->22.21.110.19.0->10.20.00.15.9->0.16.04.0.5->4.0.7Release Notes
biomejs/biome (@βbiomejs/biome)
v2.3.4Compare Source
Patch Changes
#β7989
4855c4aThanks @βalissonlauffer! - Fixed a regression in Astro frontmatter parsing where comments inside quoted strings were incorrectly detected as actual comments. This caused the parser to prematurely terminate frontmatter parsing when encountering strings likeconst test = "//";.For example, the following Astro frontmatter now parses correctly:
#β7968
0b28f5fThanks @βdenbezrukov! - Refactored formatter to use strictTokenelement for better performance. The newTokenvariant is optimized for static, ASCII-only text (keywords, operators, punctuation) with the following constraints:\n,\r)\t)This enables faster printing and fitting logic by using bulk string operations (
push_str,len()) instead of character-by-character iteration with Unicode width calculations.#β7941
19b8280Thanks @βConaclos! - Fixed #β7943. Rules'optionsare now properly merged with the inheritedoptionsfrom a shared configuration.This means that you can now override a specific option from a rule without resetting the other options to their default.
Given the following shared configuration:
{ "linter": { "rules": { "style": { "useNamingConvention": { "level": "on", "options": { "strictCase": false, "conventions": [ { "selector": { "kind": "variable", "scope": "global" }, "formats": ["CONSTANT_CASE"] } ] } } } } } }And the user configuration that extends this shared configuration:
{ "extends": ["shared.json"], "linter": { "rules": { "style": { "useNamingConvention": { "level": "on", "options": { "strictCase": true } } } } } }The obtained merged configuration is now as follows:
{ "extends": ["shared.json"], "linter": { "rules": { "style": { "useNamingConvention": { "level": "on", "options": { "strictCase": true, "conventions": [ { "selector": { "kind": "variable", "scope": "global" }, "formats": ["CONSTANT_CASE"] } ] } } } } } }#β7969
425963dThanks @βematipico! - Added support for the Svelte syntax{@​debug}. The Biome HTML parser is now able to parse and format the blocks:#β7986
3256f82Thanks @βlisiur! - Fixed #β7981. Now Biome correctly detects and parseslang='tsx'andlang='jsx'languages when used inside in.vuefiles, when.experimentalFullSupportEnabledis enabled.#β7921
547c2daThanks @βdyc3! - Fixed #β7854: The CSS parser, withtailwindDirectivesenabled, will now parse@source inline("underline");.#β7856
c9e20c3Thanks @βNetail! - Added the nursery rulenoContinue. Disallowing the usage of thecontinuestatement, structured control flow statements such asifshould be used instead.Invalid:
Valid:
v2.3.3Compare Source
Patch Changes
#β7907
57bd662Thanks @βematipico! - Fixed #β7839. Now the Biome parser correctly parses the Astro frontmatter even when a triple fence is inside quotes.#β7934
a35c496Thanks @βalissonlauffer! - Fixed #β7919: The HTML parser now correctly handles Unicode BOM (Byte Order Mark) characters at the beginning of HTML files, ensuring proper parsing and tokenization.#β7869
c80361dThanks @βmatanshavit! - Fixed #β7864: Biome now preserves component tag name casing in Svelte, Astro, and Vue files.#β7926
69cececThanks @βmatanshavit! - Added the rulenoParametersOnlyUsedInRecursion.This rule detects function parameters that are exclusively used in recursive calls and can be removed to simplify the function signature since they are effectively unused.
Fixes #β6484.
#β7774
2509b91Thanks @βdibashthapa! - Fixed #β7657: Added the new ruleno-unknown-propertyfrom ESLint#β7918
7165d06Thanks @βdyc3! - Fixed #β7913: The CSS parser, withtailwindDirectivesenabled, will now correctly handle@slot.#β7959
ffae203Thanks @βsiketyan! - Fixed the Biome Language Server so it no longer returns an internal error when the formatter is disabled in the configuration.v2.3.2Compare Source
Patch Changes
#β7859
c600618Thanks @βNetail! - Added the nursery rulenoIncrementDecrement, disallows the usage of the unary operators ++ and --.#β7901
0d17b05Thanks @βematipico! - Fixed #β7837, where Biome couldn't properly parse text expressions that contained nested curly brackets. This was breaking parsing in Astro and Svelte files.#β7874
e617d36Thanks @βBertie690! - Fixed #β7230:noUselessStringConcatno longer emits false positives for multi-line strings with leading+operators.Previously, the rule did not check for leading newlines on the
+operator, emitting false positives if one occurred at the start of a line.Notably, formatting with
operatorLinebreak="before"would move the+operators to the start of lines automatically, resulting in spurious errors whenever a multi-line string was used.Now, the rule correctly detects and ignores multi-line concatenations with leading operators as well, working regardless of the setting of
operatorLinebreak.Example
#β7786
33ffcd5Thanks @βdaivinhtran! - Fixed #β7601: Properly match Grit plugin's code snippet with only one child.#β7901
0d17b05Thanks @βematipico! - Fixed #β7837, where Biome Language Server panicked when opening HTML-ish files when the experimental full support is enabled.v2.3.1Compare Source
Patch Changes
#β7840
72afdfaThanks @βematipico! - Fixed #β7838, which caused the new--css-parse-*arguments not being recognised by thecicommand.#β7789
d5b416eThanks @βfronterior! - Fixed the LSP methodworkspace/didChangeWorkspaceFoldersto perform incremental updates instead of replacing the entire folder list.#β7852
bd254c7Thanks @βdyc3! - Fixed #β7843: The CSS parser, whentailwindDirectivesis enabled, correctly parses--*: initial;.#β7872
0fe13feThanks @βdyc3! - Fixed #β7861: The HTML parser will now accept Svelte attribute shorthand syntax in.sveltefiles.#β7866
7b2600bThanks @βdyc3! - Fixed #β7860: The css parser, withtailwindDirectivesenabled, will now accept@pluginoptions.#β7853
fe90c78Thanks @βdyc3! - Fixed #β7848: The css parser withtailwindDirectivesenabled will now correctly parse tailwind's source exclude syntax:@source not "foo.css";#β7878
c9f7fe5Thanks @βematipico! - Fixed #β7857: Biome now parses<script>tags as TypeScript when analysing.astrofiles.#β7867
b42b718Thanks @βsmorimoto! - Fixed incorrect option name in HTML parser error message.The error message for disabled text expressions incorrectly referred
to the
html.parser.textExpressionoption, which does not exist.Updated it to reference the correct
html.parser.interpolationoption.v2.3.0Compare Source
Minor Changes
a3e3369Thanks @βarendjr! - Biome's resolver now supportsbaseUrlif specified intsconfig.json.Example
Given the following file structure:
tsconfig.json{ "compilerOptions": { "baseUrl": "./src" } }src/foo.tsIn this scenario,
import { foo } from "foo";should work regardless of thelocation of the file containing the
importstatement.Fixes #β6432.
#β7745
6fcbc07Thanks @βdyc3! - Addedignoreoption tonoUnknownAtRules. If an unknown at-rule matches any of the items provided inignore, a diagnostic won't be emitted.#β7753
63cb7ffThanks @βematipico! - Enhanced theinitcommand. Theinitcommand now checks if the existing project contains known ignore files and known generated folders.If Biome finds
.gitignoreor.ignorefiles, it will add the following configuration tobiome.json:{ + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + } }If Biome finds a
dist/folder, it will exclude it automatically using the double-exclude syntax:{ + "files": { + "includes": ["**", "!!**/dist"] + } }#β7548
85d3a3aThanks @βsiketyan! - The rules in a domain are no longer enabled automatically by the installed dependencies unless the rule is recommended.#β7723
d3aac63Thanks @βematipico! - Added--css-parse-css-modulesCLI flag to control whether CSS Modules syntax is enabled.You can now enable or disable CSS Modules parsing directly from the command line:
#β7723
d3aac63Thanks @βematipico! - Added--css-parse-tailwind-directivesCLI flag to control whether Tailwind CSS 4.0 directives and functions are enabled.You can now enable or disable Tailwind CSS 4.0 directive parsing directly from the command line:
#β7330
272632fThanks @βematipico! - Updated the formatting of.svelteand.vuefiles. Now the indentation of the JavaScript blocks matches Prettier's:#β7333
de0d2d6Thanks @βdyc3! - Implemented theindentScriptAndStyleoption for vue and svelte files, with the default set tofalseto match Prettier'svueIndentScriptAndStyleoption. When enabled, this option indents the content within<script>and<style>tags to align with the surrounding HTML structure.It can be enabled with this configuration:
{ "html": { "formatter": { "indentScriptAndStyle": true } } }Which will format this code to:
#β7359
ebbddc4Thanks @βarendjr! - Deprecated the optionfiles.experimentalScannerIgnoresin favour of force-ignore syntax infiles.includes.files.includessupports ignoring files by prefixing globs with an exclamation mark (!). With this change, it also supports force-ignoring globs by prefixing them with a double exclamation mark (!!).The effect of force-ignoring is that the scanner will not index files matching the glob, even in project mode, even if those files are imported by other files, and even if they are files that receive special treatment by Biome, such as nested
biome.jsonfiles.Example
Let's take the following configuration:
{ "files": { "includes": [ "**", "!**/generated", "!!**/dist", "fixtures/example/dist/*.js" ] }, "linter": { "domains": { "project": "all" } } }This configuration achieves the following:
generatedfolder are not processed by the linter, but they will get indexed if a file outside ageneratedfolder imports them.distfolder are never indexed nor processed, not even if they are imported for any purpose, except:distfolder is insidefixtures/example/, its.jsfiles do get both indexed and processed.In general, we now recommend using the force-ignore syntax for any folders that contain output files, such as
build/anddist/. For such folders, it is highly unlikely that indexing has any useful benefits. For folders containing generated files, you may wish to use the regular ignore syntax so that type information can still be extracted from the files.experimentalScannerIgnoreswill continue to work for now, but you'll see a deprecation warning if you still use it.Run the
biome migrate --writecommand to automatically update the configuration file.#β7698
3b6f5e3Thanks @βematipico! - Added a new reporter namedrdjson. This reporter prints diagnostics following the RDJSON format:The following command:
Will emit diagnostics in the following format:
{ "source": { "name": "Biome", "url": "https://biomejs.dev" }, "diagnostics": [ { "code": { "url": "https://biomejs.dev/linter/rules/no-unused-imports", "value": "lint/correctness/noUnusedImports" }, "location": { "path": "index.ts", "range": { "end": { "column": 11, "line": 0 }, "start": { "column": 7, "line": 0 } } }, "message": "This import is unused." }, { "code": { "url": "https://biomejs.dev/linter/rules/no-unused-imports", "value": "lint/correctness/noUnusedImports" }, "location": { "path": "index.ts", "range": { "end": { "column": 10, "line": 1 }, "start": { "column": 9, "line": 1 } } }, "message": "Several of these imports are unused." } ] }#β7719
188a767Thanks @βcadunass! - TheformatWithErrorsoption can now be set via CLI using the--format-with-errorsflag.This flag was previously only available in the configuration file. It allows formatting to proceed on files with syntax errors, which is useful during development when you want to auto-format code while fixing syntax issues.
Example
#β7723
d3aac63Thanks @βematipico! - Added--json-parse-allow-commentsCLI flag to control whether comments are allowed in JSON files.You can now enable or disable comment parsing in JSON files directly from the command line:
#β7723
d3aac63Thanks @βematipico! - Added--json-parse-allow-trailing-commasCLI flag to control whether trailing commas are allowed in JSON files.You can now enable or disable trailing comma parsing in JSON files directly from the command line:
#β7758
cea002fThanks @βematipico! - Promoted new lint rules:noNonNullAssertedOptionalChainto the suspicious groupuseReactFunctionComponentsto thestylegroupuseImageSizeto thecorrectnessgroupuseConsistentTypeDefinitionsto thestylegroupuseQwikClasslistto thecorrectnessgroupnoSecretsto thesecuritygroupRemoved the lint rule
useAnchorHref, because its use case is covered byuseValidAnchor.#β6356
296627dThanks @βwrick17! - Added the newcheckstylereporter. When--reporter=checkstyleis passed to the CLI, Biome will emit diagnostics for Checkstyle format:#β7488
b13e524Thanks @βkpapa05! - Added "@βrbxts/react" as an alias for "react" for handling the reactClassic jsxRuntime.#β7536
0bccd34Thanks @βTheAlexLichter! - Added.oxlintrc.jsonto well-known files.#β7548
85d3a3aThanks @βsiketyan! - The following rules are now a part of thereactdomain, and they won't be enabled automatically unless you enabled the domain, or Biome detectsreactas a dependency of your closestpackage.json:lint/correctness/noChildrenProp(recommended)lint/correctness/noReactPropAssignmentslint/security/noDangerouslySetInnerHtml(recommended)lint/security/noDangerouslySetInnerHtmlWithChildren(recommended)lint/style/useComponentExportOnlyModuleslint/suspicious/noArrayIndexKey(recommended)#β7667
480909aThanks @βematipico! - Added the ability to show severityInformationdiagnostics in reporter outputs.If one or more rules are triggered, and they are configured to emit an
Informationdiagnostic, now they're counted in the final output:#β7702
28e8860Thanks @βematipico! - Added linting and assist support for.htmlfiles, with addition of two new configurations:html.linter.enabledhtml.assist.enabledThe HTML linter, in this release, only contains the rule
noHeaderScope. More rules will be released in the upcoming releases.#β7164
f66b0c5Thanks @βdyc3! - Added a new CSS parser optiontailwindDirectives. Enabling this option will allow all of Tailwind v4's syntax additions to be parsed and formatted by Biome.You can enable this by setting
css.parser.tailwindDirectivestotruein your Biome configuration.{ "css": { "parser": { "tailwindDirectives": true } } }#β7669
6ed4d16Thanks @βbarklund! - React 19.2 support is now supported in Biome:useEffectEventlikeuseRefinuseExhaustiveDependencies<Activity />to known React APIs.#β7702
28e8860Thanks @βematipico! - Added experimental full support for HTML, Vue, Svelte and Astro files. In this release, the HTML parserhas been enhanced, and it's now able to parse
.vue,.svelteand.astrofiles.This means that now Biome is able to lint and format the JavaScript (TypeScript), HTML and CSS code that is contained in these files.
Now that the main architecture is stable and working, in the upcoming patches and minors we will also fix possible inaccuracies and edge cases coming from existing lint rules, such as
noUnusedVariablesinside<script>blocks or frontmatter.The support is considered experimental because there might be cases that aren't fine-parsed yet, hence causing possible inaccuracies when it comes to formatting and linting.
#β7599
09445c8Thanks @βanaisbetts! - #### lineEnding has a new optionautoThe option
lineEndingnow has a variant calledautoto match the operating system's expectedline-ending style: on Windows, this will be CRLF (
\r\n), and on macOS / Linux, this willbe LF (
\n).This allows for cross-platform projects that use Biome not to have to
force one option or the other, which aligns better with Git's default behavior
on these platforms.
Example usage:
{ "formatter": { "lineEnding": "auto" } }#β7392
e4feb8eThanks @βematipico! - Added new capabilities to the CLI arguments--skipand--only, available to thebiome lintcommand.--skipand--onlycan now accept domain names; when provided, Biome will run or skip all the rules that belong to a certain domain.For example, the following command will only run the rules that belong to the next domain:
Another example, the following command will skip the rules that belong to the project domain:
#β7702
28e8860Thanks @βematipico! - Added a new option calledhtml.interpolation. This option enables the parsing of text expressions (or interpolation) in HTML files.The following
file.htmlwill be correctly formatted:To note that
html.interpolationonly parses text expressions that are delimited by double curly braces ({{ }}). The content of expressions is parsed as normal text.Patch Changes
#β7712
fcc9b42Thanks @βminht11! - Added new ruleuseVueDefineMacrosOrderwhich allows enforcing specific order for Vue compiler macros.In this example, the rule will suggest moving
definePropsbeforedefineEmits:#β7698
3b6f5e3Thanks @βematipico! - Fixed an issue where the JUnit reporter returned a zero-based location. Now the location returned is one-based.#β7819
ef45056Thanks @βematipico! - Fixed #β7788. Removes some error logging that were emitted when loading possible configuration files.#β7593
e51dd55Thanks @βarendjr! - Fixed an issue with thefiles.maxSizesetting. Previously the setting would always be looked up in the root settings, even in monorepos where a closerbiome.jsonis available. It now correctly uses the nearest configuration.#β7825
ad55b35Thanks @βConaclos! - Fixed #β7798. useNamingConvention no longer panics when it encounters a name that consists of a single dollar sign$that doesn't match a custom convention.#β7764
93be2abThanks @βgaauwe! - Fixed #β6589: Biome now properly loads extension settings before loading the configuration file when opening a text document in the LSP server.vitest-dev/vitest (@βvitest/coverage-v8)
v4.0.7Compare Source
Β Β Β π Bug Fixes
processin case global is overwritten Β -Β by @βAriPerkkio in #β8916 (6240d)isolate: falseΒ -Β by @βsheremet-va in #β8915 (c9078)toContainElement()matcher Β -Β by @βvitalybaev in #β8910 and #β8927 (35a27)isolateoption, deprecatebrowser.isolate/browser.fileParallelismΒ -Β by @βsheremet-va in #β8890 (9d2b4)--execArgvas array Β -Β by @βAriPerkkio in #β8924 (751c3)URL.createObjectURL,FormData.set(prop, blob)Β -Β by @βsheremet-va in #β8935 (a1b73)--requireargument when running in deno Β -Β by @βpi0 in #β8897 (d41fa)tscΒ -Β by @βAriPerkkio in #β8920 (fdb2e)Β Β Β π Performance
Array.fromcall Β -Β by @βConnormiha in #β8907 (b6014)Β Β Β Β View changes on GitHub
v4.0.6Compare Source
Β Β Β π Bug Fixes
isolateandfileParallelismare false Β -Β by @βsheremet-va in #β8889 (31706)FormDatatoRequestΒ -Β by @βsheremet-va in #β8880 (197ca)Β Β Β Β View changes on GitHub
lint-staged/lint-staged (lint-staged)
v16.2.6Compare Source
Patch Changes
33d4502Thanks @βAdrian-Baran-GY! - Fix problems with--continue-on-erroroption, where tasks might have still been killed (SIGINT) when one of them failed.nodejs/node (node)
v22.21.1: 2025-10-28, Version 22.21.1 'Jod' (LTS), @βaduh95Compare Source
Commits
af33e8e668] - benchmark: remove unused variable from util/priority-queue (Bruno Rodrigues) #β598726764ce8756] - benchmark: update count to n in permission startup (Bruno Rodrigues) #β598724e8d99f0dc] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #β59872af0a8ba7f8] - benchmark: adjust dgram offset-length len values (Bruno Rodrigues) #β5970878efd1be4a] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #β59708df72dc96e9] - console,util: improve array inspection performance (Ruben Bridgewater) #β60037ef67d09f50] - http: improve writeEarlyHints by avoiding for-of loop (Haram Jeong) #β5995823468fd76b] - http2: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) #β5992456abc4ac76] - lib: optimize priority queue (GΓΌrgΓΌn DayΔ±oΔlu) #β60039ea5cfd98c5] - lib: implement passive listener behavior per spec (BCD1me) #β59995c2dd6eed2f] - process: fix wrong asyncContext under unhandled-rejections=strict (Shima Ryuhei) #β6010381a3055710](https://rConfiguration
π Schedule: Branch creation - "before 9am on Monday" in timezone UTC, Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
π» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.