Biome CLI v2.4.10
- Added new lint nursery rule noImpliedEval that detects implied eval() usage through functions like setTimeout, setInterval, and setImmediate when called with string arguments
- Added the new nursery rule noUnsafePlusOperands, which reports + and += operations that use object-like, symbol, unknown, or never operands, or that mix number with bigint
- Improved the performance of the commands lint and check when they are called with --write
- Fixed noUnusedVariables to no longer report false positives for TypeScript namespace declarations that participate in declaration merging with an exported or used value declaration of the same name
- Fixed noNegationElse to keep ternary branch comments attached to the correct branch when applying its fixer
- Fixed noProcessEnv to detect process.env when process is imported from the process or node:process modules
- Fixed Svelte #each destructuring parsing and formatting for nested patterns such as [key, { a, b }]
- Improved the performance of how the Biome Language Server pulls code actions and diagnostics by computing them lazily instead of all at once
- Fixed useVueValidVBind to no longer report valid object bindings like v-bind="props"
- Fixed assist diagnostics being invisible when using --diagnostic-level=error by preventing enforced violations from being filtered out before promotion to errors
- Fixed duplicate parse errors in check and ci output where the same parse error was printed twice and the error count was inflated
- Fixed --diagnostic-level not fully filtering diagnostics so that --diagnostic-level=error now correctly excludes warnings and infos from both output and summary counts
- Fixed --skip to no longer cause suppressions/unused warnings for suppression comments targeting skipped rules or domains
2.4.10
Patch Changes
-
#8838
f3a6a6bThanks @baeseokjae! - Added new lint nursery rulenoImpliedEval.The rule detects implied
eval()usage through functions likesetTimeout,setInterval, andsetImmediatewhen called with string arguments.// Invalid setTimeout("alert('Hello');", 100); // Valid setTimeout(() => alert("Hello"), 100); -
#9320
93c3b6cThanks @taberoajorge! - Fixed #7664:noUnusedVariablesno longer reports false positives for TypeScript namespace declarations that participate in declaration merging with an exported or used value declaration (const,function, orclass) of the same name. The reverse direction is also handled: a value declaration merged with an exported namespace is no longer flagged. -
#9630
1dd4a56Thanks @raashish1601! - Fixed #9629:noNegationElsenow keeps ternary branch comments attached to the correct branch when applying its fixer. -
#9216
04243b0Thanks @FrederickStempfle! - Fixed #9061:noProcessEnvnow also detectsprocess.envwhenprocessis imported from the"process"or"node:process"modules.Previously, only the global
processobject was flagged:import process from "node:process"; // This was not flagged, but now it is: console.log(process.env.NODE_ENV); -
#9692
61b7ec5Thanks @mkosei! - Fixed Svelte#eachdestructuring parsing and formatting for nested patterns such as[key, { a, b }]. -
#9627
06a0f35Thanks @ematipico! - Fixed #191: Improved the performance of how the Biome Language Server pulls code actions and diagnostics.Before, code actions were pulled and computed all at once in one request. This approach couldn't work in big files, and caused Biome to stale and have CPU usage spikes up to 100%.
Now, code actions are pulled and computed lazily, and Biome won't choke anymore in big files.
-
#9643
5bfee36Thanks @dyc3! - Fixed #9347:useVueValidVBindno longer reports valid object bindings likev-bind="props". -
#9627
06a0f35Thanks @ematipico! - Fixed assist diagnostics being invisible when using--diagnostic-level=error. Enforced assist violations (e.g.useSortedKeys) were filtered out before being promoted to errors, causingbiome checkto incorrectly return success. -
#9695
9856a87Thanks @dyc3! - Added the new nursery rulenoUnsafePlusOperands, which reports+and+=operations that use object-like,symbol,unknown, orneveroperands, or that mixnumberwithbigint. -
#9627
06a0f35Thanks @ematipico! - Fixed duplicate parse errors incheckandcioutput. When a file had syntax errors, the same parse error was printed twice and the error count was inflated. -
#9627
06a0f35Thanks @ematipico! - Improved the performance of the commandslintandcheckwhen they are called with--write. -
#9627
06a0f35Thanks @ematipico! - Fixed--diagnostic-levelnot fully filtering diagnostics. Setting--diagnostic-level=errornow correctly excludes warnings and infos from both the output and the summary counts. -
#9623
13b3261Thanks @ematipico! - Fixed #9258:--skipno longer causessuppressions/unusedwarnings for suppression comments targeting skipped rules or domains. -
#9631
599dd04Thanks @raashish1601! - Fixed #9625:experimentalEmbeddedSnippetsEnabledno longer crashes when a file mixes formatable CSS-in-JS templates with tagged templates that the embedded formatter can't currently delegate, such as a styled-components interpolation returning `css```.
What's Changed
- feat(linter): add
noImpliedEvalrule by @baeseokjae in https://github.com/biomejs/biome/pull/8838 - fix(linter): detect process.env when process is imported from module by @FrederickStempfle in https://github.com/biomejs/biome/pull/9216
- fix(cli): skip with domains should not report by @ematipico in https://github.com/biomejs/biome/pull/9623
- fix: avoid unresolved embedded CSS tag ranges by @raashish1601 in https://github.com/biomejs/biome/pull/9631
- chore(deps): update dependency happy-dom to v20.8.8 [security] by @renovate[bot] in https://github.com/biomejs/biome/pull/9628
- fix(cli): improve code actions filtering by @ematipico in https://github.com/biomejs/biome/pull/9627
- fix(lint): preserve ternary branch comments in noNegationElse by @raashish1601 in https://github.com/biomejs/biome/pull/9630
- fix(markdown-parser): incorrect inline link R_PAREN token range by @jfmcdowell in https://github.com/biomejs/biome/pull/9642
- fix(useVueValidVBind): don't flag missing arguments by @dyc3 in https://github.com/biomejs/biome/pull/9643
- chore(deps): update rust crate terminal_size to 0.4.4 by @raashish1601 in https://github.com/biomejs/biome/pull/9646
- test(markdown-parser): add criterion benchmarks and CI workflow by @jfmcdowell in https://github.com/biomejs/biome/pull/9657
- chore(deps): update dependency happy-dom to v20.8.9 [security] by @renovate[bot] in https://github.com/biomejs/biome/pull/9694
- chore(Cargo.toml): clean up, compile insta in opt-level=3 by @Conaclos in https://github.com/biomejs/biome/pull/9698
- fix(lint): handle namespace declaration merging in noUnusedVariables by @taberoajorge in https://github.com/biomejs/biome/pull/9320
- feat(md/fmt): links, codeblocks by @ematipico in https://github.com/biomejs/biome/pull/9699
- fix(html): support nested svelte each destructuring by @mkosei in https://github.com/biomejs/biome/pull/9692
- feat(lint/js): add
noUnsafePlusOperandsby @dyc3 in https://github.com/biomejs/biome/pull/9695 - chore(deps): update rust crate papaya to 0.2.4 by @renovate[bot] in https://github.com/biomejs/biome/pull/9707
- chore(deps): update rust crate rustc-hash to 2.1.2 by @renovate[bot] in https://github.com/biomejs/biome/pull/9710
- chore(deps): update rust crate boa_engine to 0.21.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/9706
- chore(deps): update dependency tombi to v0.9.8 by @renovate[bot] in https://github.com/biomejs/biome/pull/9705
- chore(deps): update dependency rust to v1.94.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/9704
- chore(deps): update dependency dprint to v0.53.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/9703
- chore(deps): update rust crate quickcheck_macros to 1.2.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/9601
- chore: update sponsors by @ematipico in https://github.com/biomejs/biome/pull/9714
- ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/9622
New Contributors
- @raashish1601 made their first contribution in https://github.com/biomejs/biome/pull/9631
- @taberoajorge made their first contribution in https://github.com/biomejs/biome/pull/9320
- @mkosei made their first contribution in https://github.com/biomejs/biome/pull/9692
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.9...@biomejs/biome@2.4.10