Biome @biomejs/[email protected]stable Released Aug 23, 2025
Impact Score: 5/10

Biome CLI v2.2.2

Source available โ€” automated, not human-reviewed

Component: @biomejs/biome ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
$ npm install --save-dev --save-exact @biomejs/[email protected]
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Biome @biomejs/[email protected]. Source highlight: Fixed an issue where Biome got stuck when analyzing some files. This is usually caused by a bug in the inference engine. Now Biome has some guards in place in case the number of types grows too much, and if that happens, a diagnostic is emitted and the inference is halted.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (2)

  • feat(linter): auto add Svelte globals for .svelte.test/spec files
  • feat(grit): add JSX node name mappings for GritQL patterns

โšก Performance & Enhancements (2)

  • perf: determine folders more efficiently
  • docs(lint): improve noUndeclaredDependencies

๐Ÿ”ง Bug Fixes & Patches (6)

  • Fixed an issue where Biome got stuck when analyzing some files. This is usually caused by a bug in the inference engine. Now Biome has some guards in place in case the number of types grows too much, and if that happens, a diagnostic is emitted and the inference is halted.
  • Fixed an issue where the function `scanProject` wouldn't work as expected.
  • Partially fixed #6782: JSX node kinds are now supported in GritQL AST nodes.
  • Fixed #748, where Biome Language Server didn't show the unsafe fixes when requesting the quick fixes. Now all LSP editors will show also opt-in, unsafe fixes.
  • Fixed #7020: Resolved an issue with analysing types of static member expressions involving unions. If the object type was a union that referenced nested unions, it would trigger an infinite loop as it tried to keep expanding nested unions, and the set of types would grow indefinitely.
  • Resolved an overcorrection in `useImportExtensions` when importing explicit index files.
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## 2.2.2 ### Patch Changes - [#7266](https://github.com/biomejs/biome/pull/7266) [`b270bb5`](https://github.com/biomejs/biome/commit/b270bb59978efafeef48e0b7d834c9b3958bae51) Thanks [@ematipico](https://github.com/ematipico)! - Fixed an issue where Biome got stuck when analyzing some files. This is usually caused by a bug in the inference engine. Now Biome has some guards in place in case the number of types grows too much, and if that happens, a diagnostic is emitted and the inference is halted. - [#7281](https://github.com/biomejs/biome/pull/7281) [`6436180`](https://github.com/biomejs/biome/commit/6436180f4a3b257e2de018bac45c99a76eff58be) Thanks [@ematipico](https://github.com/ematipico)! - Fixed an issue where the function `scanProject` wouldn't work as expected. - [#7285](https://github.com/biomejs/biome/pull/7285) [`1511d0c`](https://github.com/biomejs/biome/commit/1511d0c1fdbab576701f12e9dbfca11141b60e3f) Thanks [@rriski](https://github.com/rriski)! - Partially fixed [#6782](https://github.com/biomejs/biome/issues/6782): JSX node kinds are now supported in GritQL AST nodes. - [#7249](https://github.com/biomejs/biome/pull/7249) [`dff85c0`](https://github.com/biomejs/biome/commit/dff85c05ec1ecfd252028476828d63d15b0ed60f) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#748](https://github.com/biomejs/biome-vscode/issues/748), where Biome Language Server didn't show the unsafe fixes when requesting the quick fixes. Now all LSP editors will show also opt-in, unsafe fixes. - [#7266](https://github.com/biomejs/biome/pull/7266) [`b270bb5`](https://github.com/biomejs/biome/commit/b270bb59978efafeef48e0b7d834c9b3958bae51) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#7020](https://github.com/biomejs/biome/issues/7020): Resolved an issue with analysing types of static member expressions involving unions. If the object type was a union that referenced nested unions, it would trigger an infinite loop as it tried to keep expanding nested unions, and the set of types would grow indefinitely. - [#7209](https://github.com/biomejs/biome/pull/7209) [`679b70e`](https://github.com/biomejs/biome/commit/679b70e8a5141250f74a11ce7e615b15fc711914) Thanks [@patrickshipe](https://github.com/patrickshipe)! - Resolved an overcorrection in [`useImportExtensions`](https://biomejs.dev/linter/rules/use-import-extensions/) when importing explicit index files. Imports that explicitly reference an index file are now preserved and no longer rewritten to nested index paths. #### Example ```diff // Before - import "./sub/index"; + import "./sub/index/index.js"; // After - import "./sub/index"; + import "./sub/index.js"; ``` - [#7270](https://github.com/biomejs/biome/pull/7270) [`953f9c6`](https://github.com/biomejs/biome/commit/953f9c6f019412caf14f983d5abb4c331605eb57) Thanks [@arendjr](https://github.com/arendjr)! - Fixed [#6172](https://github.com/biomejs/biome/issues/6172): Resolved an issue with inferring types for rest parameters. This issue caused rest-parameter types to be incorrect, and in some cases caused extreme performance regressions in files that contained many methods with rest-parameter definitions. - [#7234](https://github.com/biomejs/biome/pull/7234) [`b7aa111`](https://github.com/biomejs/biome/commit/b7aa111c1c88c33d9c1a35d391b23e79e11dfd43) Thanks [@JeetuSuthar](https://github.com/JeetuSuthar)! - Fixed [#7233](https://github.com/biomejs/biome/issues/7233): The useIndexOf rule now correctly suggests using indexOf() instead of findIndex(). The diagnostic message was incorrectly recommending Array#findIndex() over Array#indexOf(), when it should recommend the opposite for simple equality checks. - [#7283](https://github.com/biomejs/biome/pull/7283) [`0b07f45`](https://github.com/biomejs/biome/commit/0b07f4574581d9189c1386c2255caca7338c15e9) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#7236](https://github.com/biomejs/biome/issues/7236). Now Biome correctly migrates JSONC configuration files when they are passed using `--config-path`. - [#7239](https://github.com/biomejs/biome/pull/7239) [`1d643d8`](https://github.com/biomejs/biome/commit/1d643d850120663e16663574ca3457184cdd4c27) Thanks [@minht11](https://github.com/minht11)! - Fixed an issue where Svelte globals ($state and so on) were not properly recognized inside `.svelte.test.ts/js` and `.svelte.spec.ts/js` files. - [#7264](https://github.com/biomejs/biome/pull/7264) [`62fdbc8`](https://github.com/biomejs/biome/commit/62fdbc80154f5a92d54af861c31dd334f25c16fc) Thanks [@ematipico](https://github.com/ematipico)! - Fixed a regression where when using `--log-kind-pretty` wasn't working anymore as expected. - [#7244](https://github.com/biomejs/biome/pull/7244) [`660031b`](https://github.com/biomejs/biome/commit/660031b6707ddeae29388f1d0b4089b64c048e40) Thanks [@JeetuSuthar](https://github.com/JeetuSuthar)! - Fixed [#7225](https://github.com/biomejs/biome/issues/7225): The `noExtraBooleanCast` rule now preserves parentheses when removing `Boolean` calls inside negations. ```js // Before !Boolean(b0 && b1); // After !(b0 && b1); // instead of !b0 && b1 ``` - [#7298](https://github.com/biomejs/biome/pull/7298) [`46a8e93`](https://github.com/biomejs/biome/commit/46a8e93a65310df566526e6b3fb778455aee2d0b) Thanks [@unvalley](https://github.com/unvalley)! - Fixed [#6695](https://github.com/biomejs/biome/issues/6695): [`useNamingConvention`](https://biomejs.dev/linter/rules/use-naming-convention/) now correctly reports TypeScript parameter properties with modifiers. Previously, constructor parameter properties with modifiers like `private` or `readonly` were not checked against naming conventions. These properties are now treated consistently with regular class properties. ## What's Changed * perf: determine folders more efficiently by @arendjr in https://github.com/biomejs/biome/pull/7220 * chore: use `divan` for module graph benchmarks by @arendjr in https://github.com/biomejs/biome/pull/7231 * chore: add repository dispatch to kick off docker image build on release by @stathis-alexander in https://github.com/biomejs/biome/pull/7235 * fix: correct error message in useIndexOf rule by @JeetuSuthar in https://github.com/biomejs/biome/pull/7234 * fix(changelog): correct dead links in 2.2 by @Jayllyz in https://github.com/biomejs/biome/pull/7243 * chore: fix image sponsor by @ematipico in https://github.com/biomejs/biome/pull/7250 * docs: fix CHANGELOG to reflect operatorLinebreak by @blfpd in https://github.com/biomejs/biome/pull/7253 * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/7251 * chore(deps): update rust:1.89.0-bookworm docker digest to e090f7b by @renovate[bot] in https://github.com/biomejs/biome/pull/7252 * chore(deps): update rust:1.89.0-bullseye docker digest to 5b0defc - autoclosed by @renovate[bot] in https://github.com/biomejs/biome/pull/7254 * chore(deps): update dependency @changesets/cli to v2.29.6 by @renovate[bot] in https://github.com/biomejs/biome/pull/7255 * fix(lsp): unsafe fixes when pulling code actions by @ematipico in https://github.com/biomejs/biome/pull/7249 * feat(linter): auto add Svelte globals for .svelte.test/spec files by @minht11 in https://github.com/biomejs/biome/pull/7239 * fix(cli): pretty logger by @ematipico in https://github.com/biomejs/biome/pull/7264 * fix(core): resolve issue with rest params in type inference by @arendjr in https://github.com/biomejs/biome/pull/7270 * chore: remove duplicated fixture by @arendjr in https://github.com/biomejs/biome/pull/7273 * fix(linter): fix `useImportExtensions` handling of index files by @patrickshipe in https://github.com/biomejs/biome/pull/7209 * chore: unduplicate branch by @arendjr in https://github.com/biomejs/biome/pull/7274 * docs(lint): improve noUndeclaredDependencies by @ematipico in https://github.com/biomejs/biome/pull/7272 * fix(wasm): `scanProject` being stuck by @ematipico in https://github.com/biomejs/biome/pull/7281 * fix(semantic): missing references in namespaces by @ematipico in https://github.com/biomejs/biome/pull/7282 * fix(module_graph): limit flattening to hardcoded value by @ematipico in https://github.com/biomejs/biome/pull/7266 * fix(migrate): jsonc configuration files by @ematipico in https://github.com/biomejs/biome/pull/7283 * feat(grit): add JSX node name mappings for GritQL patterns by @rriski in https://github.com/biomejs/biome/pull/7285 * fix(noExtraBooleanCast): preserve parentheses to maintain operator precedence by @JeetuSuthar in https://github.com/biomejs/biome/pull/7244 * fix(lint/useNamingConvention): detects ts property parameter with modifier by @unvalley in https://github.com/biomejs/biome/pull/7298 * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/7238 * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/7303 ## New Contributors * @stathis-alexander made their first contribution in https://github.com/biomejs/biome/pull/7235 * @JeetuSuthar made their first contribution in https://github.com/biomejs/biome/pull/7234 * @blfpd made their first contribution in https://github.com/biomejs/biome/pull/7253 * @patrickshipe made their first contribution in https://github.com/biomejs/biome/pull/7209 * @rriski made their first contribution in https://github.com/biomejs/biome/pull/7285 **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/[email protected]...@biomejs/[email protected]