変更履歴
Version 2.2.4 Latest
Patch Changes
-
#7453
aa8cea3
Thanks @arendjr! - Fixed #7242: Aliases specified inpackage.json
’simports
section now support having multiple targets as part of an array. -
#7454
ac17183
Thanks @arendjr! - Greatly improved performance ofnoImportCycles
by eliminating allocations.In one repository, the total runtime of Biome with only
noImportCycles
enabled went from ~23s down to ~4s. -
#7447
7139aad
Thanks @rriski! - Fixes #7446. The GritQL$...
spread metavariable now correctly matches members in object literals, aligning its behavior with arrays and function calls. -
#6710
98cf9af
Thanks @arendjr! - Fixed #4723: Type inference now recognises index signatures and their accesses when they are being indexed as a string.Example
type BagOfPromises = {// This is an index signature definition. It declares that instances of type// `BagOfPromises` can be indexed using arbitrary strings.[property: string]: Promise<void>;};let bag: BagOfPromises = {};// Because `bag.iAmAPromise` is equivalent to `bag["iAmAPromise"]`, this is// considered an access to the string index, and a Promise is expected.bag.iAmAPromise; -
#7415
d042f18
Thanks @qraqras! - Fixed #7212, now theuseOptionalChain
rule recognizes optional chaining usingtypeof
(e.g.,typeof foo !== 'undefined' && foo.bar
). -
#7419
576baf4
Thanks @Conaclos! - Fixed #7323.noUnusedPrivateClassMembers
no longer reports as unused TypeScriptprivate
members if the rule encounters a computed access onthis
.In the following example,
member
as previously reported as unused. It is no longer reported.class TsBioo {private member: number;set_with_name(name: string, value: number) {this[name] = value;}} -
351bccd
Thanks @ematipico! - Added the new nursery lint rulenoJsxLiterals
, which disallows the use of string literals inside JSX.The rule catches these cases:
<><div>test</div> {/* test is invalid */}<>test</><div>{/* this string is invalid */}asdjfl test foo</div></> -
#7406
b906112
Thanks @mdevils! - Fixed an issue (#6393) where the useHookAtTopLevel rule reported excessive diagnostics for nested hook calls.The rule now reports only the offending top-level call site, not sub-hooks of composite hooks.
// Before: reported twice (useFoo and useBar).function useFoo() {return useBar();}function Component() {if (cond) useFoo();}// After: reported once at the call to useFoo(). -
#7461
ea585a9
Thanks @arendjr! - Improved performance ofnoPrivateImports
by eliminating allocations.In one repository, the total runtime of Biome with only
noPrivateImports
enabled went from ~3.2s down to ~1.4s. -
351bccd
Thanks @ematipico! - Fixed #7411. The Biome Language Server had a regression where opening an editor with a file already open wouldn’t load the project settings correctly. -
#7142
53ff5ae
Thanks @Netail! - Added the new nursery rulenoDuplicateDependencies
, which verifies that no dependencies are duplicated between thebundledDependencies
,bundleDependencies
,dependencies
,devDependencies
,overrides
,optionalDependencies
, andpeerDependencies
sections.For example, the following snippets will trigger the rule:
{"dependencies": {"foo": ""},"devDependencies": {"foo": ""}}{"dependencies": {"foo": ""},"optionalDependencies": {"foo": ""}}{"dependencies": {"foo": ""},"peerDependencies": {"foo": ""}} -
351bccd
Thanks @ematipico! - Fixed #3824. Now the option CLI--color
is correctly applied to logging too.
Copyright (c) 2023-present Biome Developers and Contributors.