note: la sintesi e le note di rilascio sono in inglese
note: nessuna sintesi per questa release digest
Le release digest sono elencate senza una sintesi. Le note di rilascio originali di questa versione sono qui sotto.
release-notesgithub.com/biomejs/biome · 210 righe
- ## 2.3.8
- ### Patch Changes
- - [#8188](https://github.com/biomejs/biome/pull/8188) [`4ca088c`](https://github.com/biomejs/biome/commit/4ca088c7648f37724dad07ae4e6f805e7a51ac79) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#7390](https://github.com/biomejs/biome/issues/7390), where Biome couldn't apply the correct configuration passed via `--config-path`.
- If you have multiple **root** configuration files, running any command with `--config-path` will now apply the chosen configuration file.
- - [#8171](https://github.com/biomejs/biome/pull/8171) [`79adaea`](https://github.com/biomejs/biome/commit/79adaea7d5bc382bd0a4cdcc34e59a8cb3fb6a55) Thanks [@dibashthapa](https://github.com/dibashthapa)! - Added the new rule [`noLeakedRender`](https://biomejs.dev/linter/rules/no-leaked-render). This rule helps prevent potential leaks when rendering components that use binary expressions or ternaries.
- For example, the following code triggers the rule because the component would render `0`:
- ```jsx
- const Component = () => {
- const count = 0;
- return <div>{count && <span>Count: {count}</span>}</div>;
- };
- ```
- - [#8116](https://github.com/biomejs/biome/pull/8116) [`b537918`](https://github.com/biomejs/biome/commit/b53791835ea98edf8fe4b4288240bd38abb19f2f) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noDuplicatedSpreadProps`](https://biomejs.dev/linter/rules/no-duplicated-spread-props/). Disallow JSX prop spreading the same identifier multiple times.
- **Invalid:**
- ```jsx
- <div {...props} something="else" {...props} />
- ```
- - [#8256](https://github.com/biomejs/biome/pull/8256) [`f1e4696`](https://github.com/biomejs/biome/commit/f1e4696bf8f018fc23656cd7b96fda32ca46677a) Thanks [@cormacrelf](https://github.com/cormacrelf)! - Fixed a bug where logs were discarded (the kind from `--log-level=info` etc.). This is a regression introduced after an internal refactor that wasn't adequately tested.
- - [#8226](https://github.com/biomejs/biome/pull/8226) [`3f19b52`](https://github.com/biomejs/biome/commit/3f19b520c65f4fc53e61ca7cef341deadec5f518) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#8222](https://github.com/biomejs/biome/issues/8222): The HTML parser, with Vue directives enabled, can now parse `v-slot` shorthand syntax, e.g. `<template #foo>`.
- - [#8007](https://github.com/biomejs/biome/pull/8007) [`182ecdc`](https://github.com/biomejs/biome/commit/182ecdc2736a54073fe79b4d3e1eaf793b73afa6) Thanks [@brandonmcconnell](https://github.com/brandonmcconnell)! - Added support for dollar-sign-prefixed filenames in the [`useFilenamingConvention`](https://biomejs.dev/linter/rules/use-filenaming-convention/) rule.
- Biome now allows filenames starting with the dollar-sign (e.g. `$postId.tsx`) by default to support naming conventions used by frameworks such as [TanStack Start](https://tanstack.com/start/latest/docs/framework/react/guide/routing#file-based-routing) for file-based-routing.
- - [#8218](https://github.com/biomejs/biome/pull/8218) [`91484d1`](https://github.com/biomejs/biome/commit/91484d1d53096a554f288c81105f71c7ea8df945) Thanks [@hirokiokada77](https://github.com/hirokiokada77)! - Added the [`noMultiStr`](https://biomejs.dev/linter/rules/no-multi-str) rule, which disallows creating multiline strings by escaping newlines.
- **Invalid:**
- ```js
- const foo =
- "Line 1\n\
- Line 2";
- ```
- **Valid:**
- ```js
- const foo = "Line 1\nLine 2";
- const bar = `Line 1
- Line 2`;
- ```
- - [#8225](https://github.com/biomejs/biome/pull/8225) [`98ca2ae`](https://github.com/biomejs/biome/commit/98ca2ae9f3b9b25a14d63b243223583aba6e4907) Thanks [@ongyuxing](https://github.com/ongyuxing)! - Fixed [#7806](https://github.com/biomejs/biome/issues/7806): Prefer breaking after the assignment operator for conditional types with generic parameters to match Prettier.
- ```diff
- -type True = unknown extends Type<
- - "many",
- - "generic",
- - "parameters",
- - "one",
- - "two",
- - "three"
- ->
- - ? true
- - : false;
- +type True =
- + unknown extends Type<"many", "generic", "parameters", "one", "two", "three">
- + ? true
- + : false;
- ```
- - [#6765](https://github.com/biomejs/biome/pull/6765) [`23f7855`](https://github.com/biomejs/biome/commit/23f78551167e5415da17b5cca8eb2a34e64e0aac) Thanks [@emilyinure](https://github.com/emilyinure)! - Fixed [#6569](https://github.com/biomejs/biome/issues/6569): Allow files to export from themselves with `noImportCycles`.
- This means the following is now allowed:
- ```js
- // example.js
- export function example() {
- return 1;
- }
- // Re-exports all named exports from the current module under a single namespace
- // and then imports the namespace from the current module.
- // Allows for encapsulating functions/variables into a namespace instead
- // of using a static class.
- export * as Example from "./example.js";
- import { Example } from "./example.js";
- ```
- - [#8214](https://github.com/biomejs/biome/pull/8214) [`68c052e`](https://github.com/biomejs/biome/commit/68c052efa29892470d4590bffefb20448685f2d9) Thanks [@hirokiokada77](https://github.com/hirokiokada77)! - Added the [`noEqualsToNull`](https://biomejs.dev/linter/rules/no-equals-to-null) rule, which enforces the use of `===` and `!==` for comparison with `null` instead of `==` or `!=`.
- **Invalid:**
- ```js
- foo == null;
- foo != null;
- ```
- **Valid:**
- ```js
- foo === null;
- foo !== null;
- ```
- - [#8219](https://github.com/biomejs/biome/pull/8219) [`793bb9a`](https://github.com/biomejs/biome/commit/793bb9adf179117f6cd7796140f1da2098a4eab5) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#8190](https://github.com/biomejs/biome/issues/8190): The HTML parser will now parse Vue event handlers that contain `:` correctly, e.g. `@update:modelValue="onUpdate"`.
- - [#8259](https://github.com/biomejs/biome/pull/8259) [`4a9139b`](https://github.com/biomejs/biome/commit/4a9139bbe393d7f8acc226281c7a92d0cc5887ee) Thanks [@hirokiokada77](https://github.com/hirokiokada77)! - Fixed [#8254](https://github.com/biomejs/biome/issues/8254): The `noParameterAssign` rule with `propertyAssignment: "deny"` was incorrectly reporting an error when a function parameter was used on the right-hand side of an assignment to a local variable's property.
- The rule should only flag assignments that modify the parameter binding or its properties (L-value), not the use of its value.
- **Valid:**
- ```js
- (input) => {
- const local = { property: 0 };
- local.property = input;
- };
- ```
- - [#8201](https://github.com/biomejs/biome/pull/8201) [`cd2edd7`](https://github.com/biomejs/biome/commit/cd2edd75d9532171c599073fc91de5a15578e84d) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noTernary`](https://biomejs.dev/linter/rules/no-ternary/). Disallow ternary operators.
- **Invalid:**
- ```js
- const foo = isBar ? baz : qux;
- ```
- - [#8172](https://github.com/biomejs/biome/pull/8172) [`de98933`](https://github.com/biomejs/biome/commit/de98933f77091358e70d23e51aa5a2a084953722) Thanks [@JeremyMoeglich](https://github.com/JeremyMoeglich)! - Fixed [#8145](https://github.com/biomejs/biome/issues/8145): handling of large hex literals, which previously caused both false positives and false negatives.
- This affects [`noPrecisionLoss`](https://biomejs.dev/linter/rules/no-precision-loss/) and [`noConstantMathMinMaxClamp`](https://biomejs.dev/linter/rules/no-constant-math-min-max-clamp/).
- - [#8210](https://github.com/biomejs/biome/pull/8210) [`7b44e9e`](https://github.com/biomejs/biome/commit/7b44e9eec8200fdde096ebdfac493b2e48fd707e) Thanks [@Netail](https://github.com/Netail)! - Corrected rule source reference. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations.
- - [#8213](https://github.com/biomejs/biome/pull/8213) [`e430555`](https://github.com/biomejs/biome/commit/e43055515212a81fc3ef0477fb0ce505555ad0af) Thanks [@ruidosujeira](https://github.com/ruidosujeira)! - Fixed #8209: Recognized formatting capability when either range or on-type formatting is supported, not only full-file formatting. This ensures editors and the language server correctly detect formatting support in files like JSONC.
- - [#8202](https://github.com/biomejs/biome/pull/8202) [`6f49d95`](https://github.com/biomejs/biome/commit/6f49d95f3f3330c12012064a0c6facc306f9f8bf) Thanks [@hirokiokada77](https://github.com/hirokiokada77)! - Fixed [#8079](https://github.com/biomejs/biome/issues/8079): Properly handle `name` and `value` metavariables for `JsxAttribute` GritQL queries.
- The following `biome search` command no longer throws an error:
- ```
- biome search 'JsxAttribute($name, $value) as $attr where { $name <: "style" }'
- ```
- - [#8276](https://github.com/biomejs/biome/pull/8276) [`f7e836f`](https://github.com/biomejs/biome/commit/f7e836fa2b5859c712bb891dc7fbb2fcf28e19a3) Thanks [@hirokiokada77](https://github.com/hirokiokada77)! - Added the [`noProto`](https://biomejs.dev/linter/rules/no-proto/) rule, which disallows the use of the `__proto__` property for getting or setting the prototype of an object.
- **Invalid**:
- ```js
- obj.__proto__ = a;
- const b = obj.__proto__;
- ```
- **Valid**:
- ```js
- const a = Object.getPrototypeOf(obj);
- Object.setPrototypeOf(obj, b);
- ```
- ## What's Changed
- * fix(noImportCycles): prevent flagging on single file import cycling by @emilyinure in https://github.com/biomejs/biome/pull/6765
- * chore: fix changeset by @ematipico in https://github.com/biomejs/biome/pull/8191
- * ci: breakdown wasm CI build by @ematipico in https://github.com/biomejs/biome/pull/8187
- * chore: disable docstrings in coderabbit by @Netail in https://github.com/biomejs/biome/pull/8203
- * feat(js_analyze): implement noTernary by @Netail in https://github.com/biomejs/biome/pull/8201
- * docs: missing references by @Netail in https://github.com/biomejs/biome/pull/8207
- * fix(biome_grit_patterns): properly handle name and value metavariables for JsxAttribute GritQL queries by @hirokiokada77 in https://github.com/biomejs/biome/pull/8202
- * feat(lint): added new rule `no-leaked-render` from eslint-react by @dibashthapa in https://github.com/biomejs/biome/pull/8171
- * fix(noPrecisionLoss): correctly handle large hex literals by @JeremyMoeglich in https://github.com/biomejs/biome/pull/8172
- * docs: qwik no-react-props rule reference by @Netail in https://github.com/biomejs/biome/pull/8210
- * docs(noSecrets): properly document `entropyThreshold` option by @dyc3 in https://github.com/biomejs/biome/pull/8211
- * feat(use_filenaming_convention): add support for `$` prefix by @brandonmcconnell in https://github.com/biomejs/biome/pull/8007
- * feat(biome_js_analyze): implement `noEqualsToNull` rule by @hirokiokada77 in https://github.com/biomejs/biome/pull/8214
- * fix: recognize format_range and format_on_type as Format capabilities… by @ruidosujeira in https://github.com/biomejs/biome/pull/8213
- * feat(biome_js_analyze): implement `noMultiStr` rule by @hirokiokada77 in https://github.com/biomejs/biome/pull/8218
- * feat(js_biome_analyze): implement noDuplicatedSpreadProps by @Netail in https://github.com/biomejs/biome/pull/8116
- * chore: improve the wording of the no_descending_specificity rule by @ashnewmanjones in https://github.com/biomejs/biome/pull/8220
- * fix(cli): make config-path absolute by @ematipico in https://github.com/biomejs/biome/pull/8188
- * docs: clarify doc comments for ISO validation functions by @hirokiokada77 in https://github.com/biomejs/biome/pull/8227
- * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/8230
- * chore(deps): update rust crate indexmap to 2.12.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/8236
- * chore(deps): update rust:1.91.1-bullseye docker digest to 4886b15 by @renovate[bot] in https://github.com/biomejs/biome/pull/8235
- * chore(deps): update rust:1.91.1-bookworm docker digest to 8fed34f by @renovate[bot] in https://github.com/biomejs/biome/pull/8231
- * chore(deps): update github-actions (major) by @renovate[bot] in https://github.com/biomejs/biome/pull/8238
- * fix(parse/html/vue): fix lexing of event handlers with `:` in them by @dyc3 in https://github.com/biomejs/biome/pull/8219
- * feat(parse/html/vue): parse v-slot shorthand syntax by @dyc3 in https://github.com/biomejs/biome/pull/8226
- * ci: fix regression in benchmark workflows by @ematipico in https://github.com/biomejs/biome/pull/8244
- * fix(formatter): align conditional type formatting with Prettier by @ongyuxing in https://github.com/biomejs/biome/pull/8225
- * fix(cli): revert some of PR #7531 to re-enable logging by @cormacrelf in https://github.com/biomejs/biome/pull/8256
- * fix(noParameterAssign): prevent false positive when parameter is used as R-value by @hirokiokada77 in https://github.com/biomejs/biome/pull/8259
- * ci: restore WASM build in release by @ematipico in https://github.com/biomejs/biome/pull/8264
- * chore: add flags to regex literals by @arendjr in https://github.com/biomejs/biome/pull/8279
- * feat(biome_js_analyze): implement `noProto` rule by @hirokiokada77 in https://github.com/biomejs/biome/pull/8276
- * chore(test infra): record parsing errors for analyze crates by @dyc3 in https://github.com/biomejs/biome/pull/8268
- * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/8263
- * chore: refactor global type system to accommodate further extensions by @tidefield in https://github.com/biomejs/biome/pull/8253
- ## New Contributors
- * @JeremyMoeglich made their first contribution in https://github.com/biomejs/biome/pull/8172
- * @brandonmcconnell made their first contribution in https://github.com/biomejs/biome/pull/8007
- * @ruidosujeira made their first contribution in https://github.com/biomejs/biome/pull/8213
- * @ongyuxing made their first contribution in https://github.com/biomejs/biome/pull/8225
- * @cormacrelf made their first contribution in https://github.com/biomejs/biome/pull/8256
- **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/biome@2.3.7...@biomejs/biome@2.3.8