mirror of
https://github.com/alecthomas/chroma.git
synced 2026-06-11 21:52:26 +02:00
786675b89c
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [biome](https://redirect.github.com/biomejs/biome) | | patch | `2.4.9` → `2.4.14` |  |  | | [enumer](https://redirect.github.com/dmarkham/enumer) | | patch | `1.6.1` → `1.6.3` |  |  | | [esbuild](https://redirect.github.com/evanw/esbuild) | | minor | `0.27.4` → `0.28.0` |  |  | | [github.com/alecthomas/chroma/v2](https://redirect.github.com/alecthomas/chroma) | require | minor | `v2.23.1` → `v2.24.1` |  |  | | [go](https://redirect.github.com/golang/go) | | patch | `1.26.1` → `1.26.3` |  |  | | [go](https://go.dev/) ([source](https://redirect.github.com/golang/go)) | toolchain | patch | `1.26.2` → `1.26.3` |  |  | | [just](https://redirect.github.com/casey/just) | | minor | `1.48.0` → `1.50.0` |  |  | | [svu](https://redirect.github.com/caarlos0/svu) | | patch | `3.4.0` → `3.4.1` |  |  | | [tinygo](https://redirect.github.com/tinygo-org/tinygo) | | minor | `0.40.1` → `0.41.1` |  |  | | [uv](https://redirect.github.com/astral-sh/uv) | | patch | `0.11.1` → `0.11.12` |  |  | | [watchexec](https://redirect.github.com/watchexec/watchexec) | | patch | `2.5.0` → `2.5.1` |  |  | --- ### Release Notes <details> <summary>biomejs/biome (biome)</summary> ### [`v2.4.14`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.4.14): Biome CLI v2.4.14 #### 2.4.14 ##### Patch Changes - [#​9393](https://redirect.github.com/biomejs/biome/pull/9393) [`491b171`](https://redirect.github.com/biomejs/biome/commit/491b171e245aa1ad1063662d4408692b4fc11eae) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`useTestHooksOnTop`](https://biomejs.dev/linter/rules/use-test-hooks-on-top) in the `test` domain. The rule flags lifecycle hooks (`beforeEach`, `beforeAll`, `afterEach`, `afterAll`) that appear after test cases in the same block, enforcing that hooks are defined before any test case. - [#​10157](https://redirect.github.com/biomejs/biome/pull/10157) [`eefc5ab`](https://redirect.github.com/biomejs/biome/commit/eefc5ab81709e78068774b0f5bc56af448a733d1) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​7882](https://redirect.github.com/biomejs/biome/issues/7882): The HTML parser will now emit better diagnostics when it encounters a void element with a closing tag, such as `<br></br>`. Previously, the parser would emit multiple diagnostics with conflicting advice. Now it emits a single diagnostic that clearly states that void elements should not have closing tags. - [#​10054](https://redirect.github.com/biomejs/biome/pull/10054) [`0e9f569`](https://redirect.github.com/biomejs/biome/commit/0e9f5696b1f2dec6e0d1f81b39192bdb07ab0c1a) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) no longer misses widening from concrete object types, class instances, object literals, tuples, functions, and regular expressions to `: object`. A function annotated `: object` returning an object literal: ```ts function f(): object { return { retry: true }; } ``` - [#​10116](https://redirect.github.com/biomejs/biome/pull/10116) [`53269eb`](https://redirect.github.com/biomejs/biome/commit/53269ebe0a2f718213483444696b88c7e8d0e7c4) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​6201](https://redirect.github.com/biomejs/biome/issues/6201): [`noUselessEscapeInRegex`](https://biomejs.dev/linter/rules/no-useless-escape-in-regex/) no longer flags an escaped backslash followed by `-` as a useless escape. Patterns like `/[\\-]/` are now considered valid because the second `\` is the escaped backslash, not an unnecessary escape of the trailing dash. - [#​10092](https://redirect.github.com/biomejs/biome/pull/10092) [`33d8543`](https://redirect.github.com/biomejs/biome/commit/33d8543da451e272000b84a8e29114d72923cdc1) Thanks [@​Conaclos](https://redirect.github.com/Conaclos)! - Fixed [#​9097](https://redirect.github.com/biomejs/biome/issues/9097): [`organizeImports`](https://biomejs.dev/assist/actions/organize-imports/) no longer adds a blank line between a never-matched group and a matched group. Given the following `organizeImports` options: ```json { "groups": [":NODE:", ":BLANK_LINE:", ":PACKAGE:", ":BLANK_LINE:", ":PATH:"] } ``` The following code... ```js // Comment import "package"; import "./file.js"; ``` ...was organized as: ```diff + // Comment import "package"; + import "./file.js"; ``` A blank line was added even though the group ':NODE:' doesn't match any imports here. `:BLANK_LINE:` between never-matched groups and matched groups are now ignored. The code is now organized as: ```diff // Comment import "package"; + import "./file.js"; ``` - [#​10138](https://redirect.github.com/biomejs/biome/pull/10138) [`a10b6c1`](https://redirect.github.com/biomejs/biome/commit/a10b6c119d1f3862da918ce7617ee365bb534c6e) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed Vue `v-for` handling for [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) and [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/). Biome now recognizes variables declared by `v-for` directives and references to iterated values in Vue templates. - [#​10115](https://redirect.github.com/biomejs/biome/pull/10115) [`d428d76`](https://redirect.github.com/biomejs/biome/commit/d428d76ba8be7131090c199cefa36613a332e75b) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) no longer reports false positives when a union return type's `boolean` variant is covered by both `true` and `false` returns. - [#​9922](https://redirect.github.com/biomejs/biome/pull/9922) [`7acf1e0`](https://redirect.github.com/biomejs/biome/commit/7acf1e0890d1e52b1cfa940554f6ebbd1bae20b3) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the new nursery rule [`noReactStringRefs`](https://biomejs.dev/linter/rules/no-react-string-refs/), which disallows legacy React string refs such as `ref="hello"` and `this.refs.hello`. Biome also reports template-literal refs such as ``ref={`hello`}``, so React code can consistently migrate to callback refs, `createRef()`, or `useRef()`. - [#​10010](https://redirect.github.com/biomejs/biome/pull/10010) [`f3e76ab`](https://redirect.github.com/biomejs/biome/commit/f3e76ab7befecca7cdc7a04edac1350de31029de) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed a bug in the LSP file watcher registration so Biome now watches `.biome.json` and `.biome.jsonc` configuration files and reloads workspace settings when they change. - [#​10176](https://redirect.github.com/biomejs/biome/pull/10176) [`8a40ef8`](https://redirect.github.com/biomejs/biome/commit/8a40ef835db83277a15b4f0455b5b9b69c719ad3) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​10011](https://redirect.github.com/biomejs/biome/issues/10011): The [`noThisInStatic`](https://biomejs.dev/linter/rules/no-this-in-static/) rule no longer reports `this` when it is used as the constructor target in `new this(...)`, which is required for inherited static factory methods. - [#​10163](https://redirect.github.com/biomejs/biome/pull/10163) [`6867e96`](https://redirect.github.com/biomejs/biome/commit/6867e96dacf0b96dfbefd51f95a29136d90b7bb4) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​9884](https://redirect.github.com/biomejs/biome/issues/9884): The [`useSortedAttributes`](https://biomejs.dev/assist/actions/use-sorted-attributes/) auto-fix no longer corrupts source code when both an outer JSX element and a nested JSX-valued attribute have unsorted attributes in the same pass. Multiple unsorted groups separated by spread or shorthand attributes within the same JSX element are now reported as a single diagnostic. - [#​10079](https://redirect.github.com/biomejs/biome/pull/10079) [`d29dd19`](https://redirect.github.com/biomejs/biome/commit/d29dd1916bdfa4a13dba95cad57f61c65cb5739c) Thanks [@​Damix48](https://redirect.github.com/Damix48)! - Fixed false positive in `noAssignInExpressions` for Svelte `{@​const}` blocks. Assignments in `{@​const name = value}` are now correctly recognized as declarations rather than accidental assignments in expressions. - [#​10080](https://redirect.github.com/biomejs/biome/pull/10080) [`5d8fdac`](https://redirect.github.com/biomejs/biome/commit/5d8fdac6d26987904130c2ef0db797c295922f08) Thanks [@​Damix48](https://redirect.github.com/Damix48)! - Fixed parsing of closing parentheses in Svelte `{#each}` block key expressions. Biome now correctly parses method calls and other parenthesised expressions used as keys. For example, the following snippets are now parsed correctly: ```svelte {#each numbers as number, index (number.toString())} <p>{number}</p> {/each} {#each numbers as number (key(number))} <p>{number}</p> {/each} ``` - [#​10140](https://redirect.github.com/biomejs/biome/pull/10140) [`e7024b9`](https://redirect.github.com/biomejs/biome/commit/e7024b92638090a9b8ccd064e0662f7994164621) Thanks [@​solithcy](https://redirect.github.com/solithcy)! - Fixed [#​10135](https://redirect.github.com/biomejs/biome/issues/10135): Biome no longer crashes on missing Svelte template expressions. The following code snippet longer panics: ```svelte {#if } <p>^ this would previously crash</p> {/if} {@​const } <p> ^ this would also crash</p> ``` - [#​10111](https://redirect.github.com/biomejs/biome/pull/10111) [`7818009`](https://redirect.github.com/biomejs/biome/commit/7818009e23e12758d00665be6faf8471ca0b0027) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​9997](https://redirect.github.com/biomejs/biome/issues/9997): [`noDuplicateSelectors`](https://biomejs.dev/linter/rules/no-duplicate-selectors/) no longer reports false positives for selectors inside `@scope` queries. Biome now treats `@scope` as a separate at-rule context, like `@media`, `@supports`, `@container`, and `@starting-style`. The following snippet is no longer flagged as a duplicate: ```css .Example { padding: 0; } @​scope (.theme-dark) { .Example { color: white; } } ``` - [#​9926](https://redirect.github.com/biomejs/biome/pull/9926) [`d62b331`](https://redirect.github.com/biomejs/biome/commit/d62b331726c1b730ca2d1c38325ce6196beee7a4) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the nursery lint rule [`useMathMinMax`](https://biomejs.dev/linter/rules/use-math-min-max/), which prefers `Math.min()` and `Math.max()` over equivalent ternary comparisons. For example, this code: ```js const min = a < b ? a : b; ``` is much more readable when rewritten as: ```js const min = Math.min(a, b); ``` - [#​10115](https://redirect.github.com/biomejs/biome/pull/10115) [`d428d76`](https://redirect.github.com/biomejs/biome/commit/d428d76ba8be7131090c199cefa36613a332e75b) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - [`useExhaustiveSwitchCases`](https://biomejs.dev/linter/rules/use-exhaustive-switch-cases/) now flags missing `true`/`false` cases for `boolean` discriminants, including when `boolean` is a union variant. - [#​10125](https://redirect.github.com/biomejs/biome/pull/10125) [`a55a0b6`](https://redirect.github.com/biomejs/biome/commit/a55a0b6fe03f772316b76937b1292096cdc8a661) Thanks [@​bmish](https://redirect.github.com/bmish)! - Fixed a resolver bug where packages that define a typed entry point through `package.json`'s `main` field but omit `types` were ignored during type-aware resolution. Type-aware rules such as [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) can now inspect imports from those packages. - [#​10117](https://redirect.github.com/biomejs/biome/pull/10117) [`895e809`](https://redirect.github.com/biomejs/biome/commit/895e809dc799cd6aa70032fbb56dfe0f9c0f6f39) Thanks [@​denizdogan](https://redirect.github.com/denizdogan)! - Added support for the `corner-shape` family of CSS properties and the `superellipse()`/`squircle()` value functions, so [`noUnknownProperty`](https://biomejs.dev/linter/rules/no-unknown-property/) and [`noUnknownFunction`](https://biomejs.dev/linter/rules/no-unknown-function/) no longer flag them as unknown. New known properties: `corner-shape`, `corner-block-end-shape`, `corner-block-start-shape`, `corner-bottom-left-shape`, `corner-bottom-right-shape`, `corner-bottom-shape`, `corner-end-end-shape`, `corner-end-start-shape`, `corner-inline-end-shape`, `corner-inline-start-shape`, `corner-left-shape`, `corner-right-shape`, `corner-start-end-shape`, `corner-start-start-shape`, `corner-top-left-shape`, `corner-top-right-shape`, `corner-top-shape`. New known value functions: `superellipse()`, `squircle()`. - [#​8620](https://redirect.github.com/biomejs/biome/pull/8620) [`8df8f73`](https://redirect.github.com/biomejs/biome/commit/8df8f73ca1c18a688f64f304f0b9089797258a1e) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​8062](https://redirect.github.com/biomejs/biome/issues/8062): Added support for parsing Vue `v-for` directives more accurately. - [#​10191](https://redirect.github.com/biomejs/biome/pull/10191) [`aa055cd`](https://redirect.github.com/biomejs/biome/commit/aa055cd74f82fac691dfa2f65dbfd255213cb884) Thanks [@​guney](https://redirect.github.com/guney)! - Now the rule [`noStaticElementInteractions`](https://biomejs.dev/linter/rules/no-static-element-interactions/) doesn't trigger custom elements. - [#​9757](https://redirect.github.com/biomejs/biome/pull/9757) [`2c62594`](https://redirect.github.com/biomejs/biome/commit/2c62594b84ae62fd5fa130adff917a1bcd8dfddd) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​9099](https://redirect.github.com/biomejs/biome/issues/9099): the HTML formatter collapsing non-text children (inline elements, Svelte expressions, comments) onto a single line when the source had them on separate lines. Biome now preserves the user's intended line breaks for exclusively non-text children. For example, the following Svelte snippet is now preserved instead of being collapsed to `<div>{name}<!-- comment --></div>`: ```svelte <div> {name}<!-- comment --> </div> ``` Similarly, HTML elements like `<span>` inside a `<div>` are now preserved when written on their own line: ```html <div> <span>text</span> </div> ``` - [#​10105](https://redirect.github.com/biomejs/biome/pull/10105) [`e7c1a6d`](https://redirect.github.com/biomejs/biome/commit/e7c1a6d5319908cf613f7fa80667e6981435508d) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​10039](https://redirect.github.com/biomejs/biome/issues/10039): [`useReadonlyClassProperties`](https://biomejs.dev/linter/rules/use-readonly-class-properties/) now detects unreassigned private members in class expressions and export default classes, not only in class declarations. The following patterns are now correctly flagged: ```ts const AnonClass = class { #prop = 123; constructor() { console.log(this.#prop); } }; export default class { #prop = 123; constructor() { console.log(this.#prop); } } ``` - [#​10141](https://redirect.github.com/biomejs/biome/pull/10141) [`46a77d0`](https://redirect.github.com/biomejs/biome/commit/46a77d0a35e8dbbcefeca264e8630af83b21f1d9) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - Improved [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) to detect conditions that are always truthy because they check built-in global class instances such as `Date`, `Map`, `Set`, `WeakMap`, and `Error`. - [#​10178](https://redirect.github.com/biomejs/biome/pull/10178) [`7b05a89`](https://redirect.github.com/biomejs/biome/commit/7b05a893df8c9c950871b83ff1b3ae28113e8b15) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​10177](https://redirect.github.com/biomejs/biome/issues/10177): The HTML parser no longer reports lowercase `html` or `doctype` text as invalid after void elements such as `<br>`. - [#​10155](https://redirect.github.com/biomejs/biome/pull/10155) [`0d4595d`](https://redirect.github.com/biomejs/biome/commit/0d4595dae68b034bd6de3bdfd15437a34fa53cb2) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​10045](https://redirect.github.com/biomejs/biome/issues/10045): the CSS formatter no longer compounds indentation inside nested functional pseudo-classes such as `:not(:where(...))`, `:is(:where(...))`, and similar combinations. The same fix also removes one level of unnecessary indentation that was added inside any pseudo-class function whose argument list wrapped onto multiple lines, including `:nth-child(... of ...)`, `::part(...)`, and `:active-view-transition-type(...)`. The following snippet is now correctly formatted, matching Prettier. ```css input:not( :where( [type="submit"], [type="checkbox"], [type="radio"], [type="button"], [type="reset"] ) ) { inline-size: 100%; } ``` - [#​10112](https://redirect.github.com/biomejs/biome/pull/10112) [`6f0251e`](https://redirect.github.com/biomejs/biome/commit/6f0251ea12cddb6edcbf512e5608a7b502762423) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​10110](https://redirect.github.com/biomejs/biome/issues/10110): Biome's parser now accepts surrogate code points in JavaScript string `\u{...}` escapes. - [#​10141](https://redirect.github.com/biomejs/biome/pull/10141) [`46a77d0`](https://redirect.github.com/biomejs/biome/commit/46a77d0a35e8dbbcefeca264e8630af83b21f1d9) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - Improved [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) to detect `object` return annotations that hide built-in global class instances such as `Date`, `Map`, `Set`, `WeakMap`, and `Error`. - [#​10083](https://redirect.github.com/biomejs/biome/pull/10083) [`4a664c1`](https://redirect.github.com/biomejs/biome/commit/4a664c1c9ebee339ee4a8b971b0a345aa4dbbe70) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added two new options to [`noShadow`](https://biomejs.dev/linter/rules/no-shadow/), both defaulting to `true` to match typescript-eslint's behavior. Fixed [#​9482](https://redirect.github.com/biomejs/biome/issues/9482): Added `ignoreFunctionTypeParameterNameValueShadow` option. When enabled, parameter names inside function type annotations (e.g. `(options: unknown) => void`) are not flagged as shadowing outer variables. Fixed [#​7812](https://redirect.github.com/biomejs/biome/issues/7812): Added `ignoreTypeValueShadow` option. When enabled, a value binding that shares its name with a type-only declaration (type alias or interface) is not flagged, since types and values occupy separate namespaces in TypeScript. - [#​9286](https://redirect.github.com/biomejs/biome/pull/9286) [`52695cf`](https://redirect.github.com/biomejs/biome/commit/52695cf52b3ff42ddfcaef040cfaa00e9a93a4b7) Thanks [@​Hugo-Polloli](https://redirect.github.com/Hugo-Polloli)! - Fixed [#​6316](https://redirect.github.com/biomejs/biome/issues/6316): Biome now resolves Svelte `$store` references to the underlying `store` binding in semantic analysis, preventing false `noUndeclaredVariables` diagnostics when the store is declared. - [#​10188](https://redirect.github.com/biomejs/biome/pull/10188) [`ae659dd`](https://redirect.github.com/biomejs/biome/commit/ae659ddbd317753c4feb5e4d223b9159d272d01b) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added a new nursery rule [`noExcessiveNestedCallbacks`](https://biomejs.dev/linter/rules/no-excessive-nested-callbacks/), which disallows callbacks nested deeper than the configured maximum. - [#​9757](https://redirect.github.com/biomejs/biome/pull/9757) [`2c62594`](https://redirect.github.com/biomejs/biome/commit/2c62594b84ae62fd5fa130adff917a1bcd8dfddd) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​9450](https://redirect.github.com/biomejs/biome/issues/9450): the HTML formatter now correctly preserves multiline formatting for nested `<template>` elements (e.g. `<template #body>`) when the source has children on separate lines. Previously, the children were collapsed onto a single line. ```diff <template> <UModal> - <template #body> <p>content</p> </template> + <template #body> + <p>content</p> + </template> </UModal> </template> ``` - [#​10118](https://redirect.github.com/biomejs/biome/pull/10118) [`c6edcb4`](https://redirect.github.com/biomejs/biome/commit/c6edcb493d42f05179167a8ff3be4549908e9d0b) Thanks [@​Netail](https://redirect.github.com/Netail)! - Fixed [#​10024](https://redirect.github.com/biomejs/biome/issues/10024): `biome migrate eslint` correctly migrates `eslint` rules that belong to multiple Biome rules. #### What's Changed - chore(docs): minor updates for contributing and skills by [@​dyc3](https://redirect.github.com/dyc3) in [#​10098](https://redirect.github.com/biomejs/biome/pull/10098) - fix(semantic): resolve Svelte $store references in semantic model by [@​Hugo-Polloli](https://redirect.github.com/Hugo-Polloli) in [#​9286](https://redirect.github.com/biomejs/biome/pull/9286) - fix(format/html): preserve block indentation if already present in some cases by [@​dyc3](https://redirect.github.com/dyc3) in [#​9757](https://redirect.github.com/biomejs/biome/pull/9757) - fix(md/formatter): nested italic by [@​tidefield](https://redirect.github.com/tidefield) in [#​10078](https://redirect.github.com/biomejs/biome/pull/10078) - fix(deps): update [@​biomejs](https://redirect.github.com/biomejs) packages by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10061](https://redirect.github.com/biomejs/biome/pull/10061) - fix(analyzer): useReadonlyClassProperties detects non-declaration class forms by [@​jiwon79](https://redirect.github.com/jiwon79) in [#​10105](https://redirect.github.com/biomejs/biome/pull/10105) - fix(noShadow): make sure it doesn't shadow types by [@​ematipico](https://redirect.github.com/ematipico) in [#​10083](https://redirect.github.com/biomejs/biome/pull/10083) - chore: prepare goverance for contractors by [@​ematipico](https://redirect.github.com/ematipico) in [#​10087](https://redirect.github.com/biomejs/biome/pull/10087) - feat(analyze/html): add some utilities to speed up lookups of multiple attributes by [@​dyc3](https://redirect.github.com/dyc3) in [#​10109](https://redirect.github.com/biomejs/biome/pull/10109) - fix(lint): resolve false positive in noAssignInExpressions for Svelte {[@​const](https://redirect.github.com/const)} blocks by [@​Damix48](https://redirect.github.com/Damix48) in [#​10079](https://redirect.github.com/biomejs/biome/pull/10079) - fix(analyzer): noDuplicateSelectors false positives with scope at-rule by [@​jiwon79](https://redirect.github.com/jiwon79) in [#​10111](https://redirect.github.com/biomejs/biome/pull/10111) - fix(parser): correctly consume closing parenthesis in Svelte each key expression by [@​Damix48](https://redirect.github.com/Damix48) in [#​10080](https://redirect.github.com/biomejs/biome/pull/10080) - feat(lint/js): add `useTestHooksOnTop` by [@​dyc3](https://redirect.github.com/dyc3) in [#​9393](https://redirect.github.com/biomejs/biome/pull/9393) - fix(deps): update dependency prettier to v3.8.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10062](https://redirect.github.com/biomejs/biome/pull/10062) - fix(parse/js): lex surrogate codepoints in string literal escapes by [@​dyc3](https://redirect.github.com/dyc3) in [#​10112](https://redirect.github.com/biomejs/biome/pull/10112) - fix(analyzer): noUselessEscapeInRegex no longer flags `\\-` as useless by [@​jiwon79](https://redirect.github.com/jiwon79) in [#​10116](https://redirect.github.com/biomejs/biome/pull/10116) - feat(css): support corner-shape, superellipse, and squircle by [@​denizdogan](https://redirect.github.com/denizdogan) in [#​10117](https://redirect.github.com/biomejs/biome/pull/10117) - fix(lsp): inform clients that .biome.json(c) should also be watched by [@​dyc3](https://redirect.github.com/dyc3) in [#​10010](https://redirect.github.com/biomejs/biome/pull/10010) - chore(deps): update rust crate jiff to 0.2.24 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10128](https://redirect.github.com/biomejs/biome/pull/10128) - chore(deps): update dependency tombi to v0.9.22 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10127](https://redirect.github.com/biomejs/biome/pull/10127) - fix(resolver): resolve typed package main entries by [@​bmish](https://redirect.github.com/bmish) in [#​10125](https://redirect.github.com/biomejs/biome/pull/10125) - chore(deps): update dependency [@​changesets/cli](https://redirect.github.com/changesets/cli) to v2.31.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10132](https://redirect.github.com/biomejs/biome/pull/10132) - chore(deps): update dependency dprint to v0.54.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10133](https://redirect.github.com/biomejs/biome/pull/10133) - fix(deps): update [@​biomejs](https://redirect.github.com/biomejs) packages by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10130](https://redirect.github.com/biomejs/biome/pull/10130) - chore(deps): update rust crate libc to 0.2.186 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10129](https://redirect.github.com/biomejs/biome/pull/10129) - chore(deps): update rust crate mimalloc to 0.1.50 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​10060](https://redirect.github.com/biomejs/biome/pull/10060) - feat(parse/html/vue): parse v-for better by [@​dyc3](https://redirect.github.com/dyc3) in [#​8620](https://redirect.github.com/biomejs/biome/pull/8620) - feat(parse/html/vue): nested destructuring in v-for by [@​dyc3](https://redirect.github.com/dyc3) in [#​10136](https://redirect.github.com/biomejs/biome/pull/10136) - fix(noCommaOperator): remove vue v-for hack by [@​dyc3](https://redirect.github.com/dyc3) in [#​10137](https://redirect.github.com/biomejs/biome/pull/10137) - fix(10024): eslint generation by [@​Netail](https://redirect.github.com/Netail) in [#​10118](https://redirect.github.com/biomejs/biome/pull/10118) - feat(markdown\_formatter): enable formatter ir debugger by [@​tidefield](https://redirect.github.com/tidefield) in [#​10144](https://redirect.github.com/biomejs/biome/pull/10144) - fix(lint): detect misleading object returns for built-in class instances by [@​minseong0324](https://redirect.github.com/minseong0324) in [#​10141](https://redirect.github.com/biomejs/biome/pull/10141) - fix: svelte missing expression crash by [@​solithcy](https://redirect.github.com/solithcy) in [#​10140](https://redirect.github.com/biomejs/biome/pull/10140) - fix(md/fmt/parser): bom, quotes, trimming by [@​ematipico](https://redirect.github.com/ematipico) in [#​10040](https://redirect.github.com/biomejs/biome/pull/10040) - fix(vue): recognize embedded bindings in v-for directives by [@​dyc3](https://redirect.github.com/dyc3) in [#​10138](https://redirect.github.com/biomejs/biome/pull/10138) - feat(css\_formatter): improve SCSS include argument formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10147](https://redirect.github.com/biomejs/biome/pull/10147) - feat(css\_formatter): align SCSS map closing comments by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10149](https://redirect.github.com/biomejs/biome/pull/10149) - fix(organizeImports): doesn't add a blank line between a never-matched group and a matched group by [@​Conaclos](https://redirect.github.com/Conaclos) in [#​10092](https://redirect.github.com/biomejs/biome/pull/10092) - fix(parser/md): handle vertical tab by [@​ematipico](https://redirect.github.com/ematipico) in [#​10146](https://redirect.github.com/biomejs/biome/pull/10146) - fix(lint): noMisleadingReturnType false positive on union with exhausted boolean by [@​minseong0324](https://redirect.github.com/minseong0324) in [#​10115](https://redirect.github.com/biomejs/biome/pull/10115) - feat(css\_formatter): include SCSS comments by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10150](https://redirect.github.com/biomejs/biome/pull/10150) - refactor(css\_formatter): clarify SCSS include closing comments by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10153](https://redirect.github.com/biomejs/biome/pull/10153) - fix(format/css): align selector list indentation with Prettier by [@​jiwon79](https://redirect.github.com/jiwon79) in [#​10155](https://redirect.github.com/biomejs/biome/pull/10155) - fix(lint): noMisleadingReturnType false negative on object keyword by [@​minseong0324](https://redirect.github.com/minseong0324) in [#​10054](https://redirect.github.com/biomejs/biome/pull/10054) - feat(css\_formatter): improve handling of SCSS trailing separator comm… by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10154](https://redirect.github.com/biomejs/biome/pull/10154) - feat(css\_formatter): improve handling of SCSS list trailing separator comments by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10156](https://redirect.github.com/biomejs/biome/pull/10156) - feat(css\_formatter): improve handling of SCSS expression item line comments by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10158](https://redirect.github.com/biomejs/biome/pull/10158) - feat(css\_formatter): improve handling of SCSS `@at-root` selector comments and formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10160](https://redirect.github.com/biomejs/biome/pull/10160) - feat(lint/js): add `noReactStringRefs` by [@​dyc3](https://redirect.github.com/dyc3) in [#​9922](https://redirect.github.com/biomejs/biome/pull/9922) - feat(lint/js): add `useMathMinMax` by [@​dyc3](https://redirect.github.com/dyc3) in [#​9926](https://redirect.github.com/biomejs/biome/pull/9926) - feat(css\_formatter): improve handling of SCSS `@if-else` comments and formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10162](https://redirect.github.com/biomejs/biome/pull/10162) - feat(css\_formatter): improve handling of SCSS `@while` rule formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10164](https://redirect.github.com/biomejs/biome/pull/10164) - feat(css\_formatter): improve handling of SCSS `@for` rule formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10165](https://redirect.github.com/biomejs/biome/pull/10165) - feat(css\_formatter): improve handling of SCSS parenthesized binary expressions formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10167](https://redirect.github.com/biomejs/biome/pull/10167) - fix(assist): useSortedAttributes no longer corrupts nested JSX attributes by [@​jiwon79](https://redirect.github.com/jiwon79) in [#​10163](https://redirect.github.com/biomejs/biome/pull/10163) - feat(css\_formatter): improve handling of SCSS `@each` rule formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10169](https://redirect.github.com/biomejs/biome/pull/10169) - fix(markdown\_parser): blockquote list splitting and tightness by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9990](https://redirect.github.com/biomejs/biome/pull/9990) - chore(markdown\_parser): remove unused lexer contexts by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​10173](https://redirect.github.com/biomejs/biome/pull/10173) - fix(parse/html): relex keywords as text in text contexts by [@​dyc3](https://redirect.github.com/dyc3) in [#​10178](https://redirect.github.com/biomejs/biome/pull/10178) - feat(css\_formatter): improve handling of SCSS list with trailing separator by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10172](https://redirect.github.com/biomejs/biome/pull/10172) - fix(noThisInStatic): don't report `new this()` by [@​dyc3](https://redirect.github.com/dyc3) in [#​10176](https://redirect.github.com/biomejs/biome/pull/10176) - feat(css): support SCSS interpolated values by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10171](https://redirect.github.com/biomejs/biome/pull/10171) - feat(css\_formatter): improve handling of SCSS `@use` and `@forward` rule formatting by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10180](https://redirect.github.com/biomejs/biome/pull/10180) - fix(markdown\_parser): stop nested lazy lists from swallowing fences by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​10170](https://redirect.github.com/biomejs/biome/pull/10170) - feat(css): add support for SCSS media query interpolation by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10181](https://redirect.github.com/biomejs/biome/pull/10181) - feat(css\_formatter): improve handling of spacing for SCSS unary expressions and functions by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10182](https://redirect.github.com/biomejs/biome/pull/10182) - feat(lint/js): add `noExcessiveNestedCallbacks` by [@​dyc3](https://redirect.github.com/dyc3) in [#​10188](https://redirect.github.com/biomejs/biome/pull/10188) - fix(markdown\_parser): keep lazy link references as text by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​10189](https://redirect.github.com/biomejs/biome/pull/10189) - fix(lint/a11y/noStaticElementInteractions): exclude custom elements by [@​guney](https://redirect.github.com/guney) in [#​10191](https://redirect.github.com/biomejs/biome/pull/10191) - fix(parse/html): improve the diagnostics when void elements have a closing tag by [@​dyc3](https://redirect.github.com/dyc3) in [#​10157](https://redirect.github.com/biomejs/biome/pull/10157) - ci: release by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​10100](https://redirect.github.com/biomejs/biome/pull/10100) #### New Contributors - [@​Hugo-Polloli](https://redirect.github.com/Hugo-Polloli) made their first contribution in [#​9286](https://redirect.github.com/biomejs/biome/pull/9286) - [@​Damix48](https://redirect.github.com/Damix48) made their first contribution in [#​10079](https://redirect.github.com/biomejs/biome/pull/10079) - [@​denizdogan](https://redirect.github.com/denizdogan) made their first contribution in [#​10117](https://redirect.github.com/biomejs/biome/pull/10117) - [@​solithcy](https://redirect.github.com/solithcy) made their first contribution in [#​10140](https://redirect.github.com/biomejs/biome/pull/10140) - [@​guney](https://redirect.github.com/guney) made their first contribution in [#​10191](https://redirect.github.com/biomejs/biome/pull/10191) **Full Changelog**: <https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.13...@​biomejs/biome@2.4.14> ### [`v2.4.13`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.4.13): Biome CLI v2.4.13 #### 2.4.13 ##### Patch Changes - [#​9969](https://redirect.github.com/biomejs/biome/pull/9969) [`c5eb92b`](https://redirect.github.com/biomejs/biome/commit/c5eb92ba288ba13698b37e43617eed5339ad7007) Thanks [@​officialasishkumar](https://redirect.github.com/officialasishkumar)! - Added the nursery rule [`noUnnecessaryTemplateExpression`](https://biomejs.dev/linter/rules/no-unnecessary-template-expression/), which disallows template literals that only contain string literal expressions. These can be replaced with a simpler string literal. For example, the following code triggers the rule: ```js const a = `${"hello"}`; // can be 'hello' const b = `${"prefix"}_suffix`; // can be 'prefix_suffix' const c = `${"a"}${"b"}`; // can be 'ab' ``` - [#​10037](https://redirect.github.com/biomejs/biome/pull/10037) [`f785e8c`](https://redirect.github.com/biomejs/biome/commit/f785e8c604879dd3dd17b53aae0e2feef4026c82) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - Fixed [#​9810](https://redirect.github.com/biomejs/biome/issues/9810): [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/) no longer reports false positives on a getter with a matching setter in the same namespace. ```ts class Store { get status(): string { if (Math.random() > 0.5) return "loading"; return "idle"; } set status(v: string) {} } ``` - [#​10084](https://redirect.github.com/biomejs/biome/pull/10084) [`5e2f90c`](https://redirect.github.com/biomejs/biome/commit/5e2f90c045b4bd7006c96a9df123303d6c24e1d8) Thanks [@​jiwon79](https://redirect.github.com/jiwon79)! - Fixed [#​10034](https://redirect.github.com/biomejs/biome/issues/10034): [`noUselessEscapeInRegex`](https://biomejs.dev/linter/rules/no-useless-escape-in-regex/) no longer flags escapes of `ClassSetReservedPunctuator` characters (`&`, `!`, `#`, `%`, `,`, `:`, `;`, `<`, `=`, `>`, `@`, `` ` ``, `~`) inside `v`-flag character classes as useless. These characters are reserved as individual code points in `v`-mode, so the escape is required. The following pattern is now considered valid: ```js /[a-z\&]/v; ``` - [#​10063](https://redirect.github.com/biomejs/biome/pull/10063) [`c9ffa16`](https://redirect.github.com/biomejs/biome/commit/c9ffa16491c9f8c003eb945796911564fc981b71) Thanks [@​Netail](https://redirect.github.com/Netail)! - Added extra rule sources from ESLint CSS. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations. - [#​10035](https://redirect.github.com/biomejs/biome/pull/10035) [`946b50e`](https://redirect.github.com/biomejs/biome/commit/946b50e173e8c89a2d2b303cb159a05cbd068767) Thanks [@​Netail](https://redirect.github.com/Netail)! - Fixed [#​10032](https://redirect.github.com/biomejs/biome/issues/10032): [useIframeSandbox](https://biomejs.dev/linter/rules/use-iframe-sandbox/) now flags if there's no initializer value. - [#​9865](https://redirect.github.com/biomejs/biome/pull/9865) [`68fb8d4`](https://redirect.github.com/biomejs/biome/commit/68fb8d468c01732c4283a336eca42223983df09b) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the new nursery rule [`useDomNodeTextContent`](https://biomejs.dev/linter/rules/use-dom-node-text-content/), which prefers `textContent` over `innerText` for DOM node text access and destructuring. For example, the following snippet triggers the rule: ```js const foo = node.innerText; ``` - [#​10023](https://redirect.github.com/biomejs/biome/pull/10023) [`bd1e74f`](https://redirect.github.com/biomejs/biome/commit/bd1e74fd80b0cadafd091513950275e0ff75d80f) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added a new nursery rule [`noReactNativeDeepImports`](https://biomejs.dev/linter/rules/no-react-native-deep-imports/) that disallows deep imports from the `react-native` package. Internal paths like `react-native/Libraries/...` are not part of the public API and may change between versions. For example, the following code triggers the rule: ```js import View from "react-native/Libraries/Components/View/View"; ``` - [#​9885](https://redirect.github.com/biomejs/biome/pull/9885) [`3dce737`](https://redirect.github.com/biomejs/biome/commit/3dce737e5050cfda7d2b9be8f809aee417f01196) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added a new nursery rule [`useDomQuerySelector`](https://biomejs.dev/linter/rules/use-dom-query-selector/) that prefers `querySelector()` and `querySelectorAll()` over older DOM query methods such as `getElementById()` and `getElementsByClassName()`. - [#​9995](https://redirect.github.com/biomejs/biome/pull/9995) [`4da9caf`](https://redirect.github.com/biomejs/biome/commit/4da9caf8281473177fac3332610c710b31e89546) Thanks [@​siketyan](https://redirect.github.com/siketyan)! - Fixed [#​9994](https://redirect.github.com/biomejs/biome/issues/9994): Biome now parses nested CSS rules correctly when declarations follow them inside embedded snippets. - [#​10009](https://redirect.github.com/biomejs/biome/pull/10009) [`b41cc5a`](https://redirect.github.com/biomejs/biome/commit/b41cc5a58c74fd6b237352c1772e64e74fcc7546) Thanks [@​Jayllyz](https://redirect.github.com/Jayllyz)! - Fixed [#​10004](https://redirect.github.com/biomejs/biome/issues/10004): [`noComponentHookFactories`](https://biomejs.dev/linter/rules/no-component-hook-factories/) no longer reports false positives for object methods and class methods. - [#​9988](https://redirect.github.com/biomejs/biome/pull/9988) [`eabf54a`](https://redirect.github.com/biomejs/biome/commit/eabf54ad03c6c1d63753a641c8ad1ef385e42d2b) Thanks [@​Netail](https://redirect.github.com/Netail)! - Tweaked the diagnostics range for [useAltText](https://biomejs.dev/linter/rules/use-alt-text), [useButtonType](https://biomejs.dev/linter/rules/use-button-type), [useHtmlLang](https://biomejs.dev/linter/rules/use-html-lang), [useIframeTitle](https://biomejs.dev/linter/rules/use-iframe-title), [useValidAriaRole](https://biomejs.dev/linter/rules/use-valid-aria-role) & [useIfameSandbox](https://biomejs.dev/linter/rules/use-iframe-sandbox) to report on the opening tag instead of the full tag. - [#​10043](https://redirect.github.com/biomejs/biome/pull/10043) [`fc65902`](https://redirect.github.com/biomejs/biome/commit/fc65902f17cd548ae38ff916462291b51a32e356) Thanks [@​mujpao](https://redirect.github.com/mujpao)! - Fixed [#​10003](https://redirect.github.com/biomejs/biome/issues/10003): Biome no longer panics when parsing Svelte files containing `{#}`. - [#​9815](https://redirect.github.com/biomejs/biome/pull/9815) [`5cc83b1`](https://redirect.github.com/biomejs/biome/commit/5cc83b177830bc21dc4d6e18343f58eca4ee0de6) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the new nursery rule [`noLoopFunc`](https://biomejs.dev/linter/rules/no-loop-func/). When enabled, it warns when a function declared inside a loop captures outer variables that can change across iterations. - [#​9702](https://redirect.github.com/biomejs/biome/pull/9702) [`ef470ba`](https://redirect.github.com/biomejs/biome/commit/ef470ba2db119aa52c24f918bcef451cf2770ccb) Thanks [@​ryan-m-walker](https://redirect.github.com/ryan-m-walker)! - Added the nursery rule [`useRegexpTest`](https://biomejs.dev/linter/rules/use-regexp-test/) that enforces `RegExp.prototype.test()` over `String.prototype.match()` and `RegExp.prototype.exec()` in boolean contexts. `test()` returns a boolean directly, avoiding unnecessary computation of match results. **Invalid** ```js if ("hello world".match(/hello/)) { } ``` **Valid** ```js if (/hello/.test("hello world")) { } ``` - [#​9743](https://redirect.github.com/biomejs/biome/pull/9743) [`245307d`](https://redirect.github.com/biomejs/biome/commit/245307dc4ee7af87f62873162107b608084d40f3) Thanks [@​leetdavid](https://redirect.github.com/leetdavid)! - Fixed [#​2245](https://redirect.github.com/biomejs/biome/issues/2245): Svelte `<script>` tag language detection when the `generics` attribute contains `>` characters (e.g., `<script lang="ts" generics="T extends Record<string, unknown>">`). Biome now correctly recognizes TypeScript in such script blocks. - [#​10046](https://redirect.github.com/biomejs/biome/pull/10046) [`0707de7`](https://redirect.github.com/biomejs/biome/commit/0707de7d72f0c5e14f4d5c91524ad2a9d1f50b34) Thanks [@​Conaclos](https://redirect.github.com/Conaclos)! - Fixed [#​10038](https://redirect.github.com/biomejs/biome/issues/10038): [`organizeImports`](https://biomejs.dev/assist/actions/organize-imports/) now sorts imports in TypeScript modules and declaration files. ```diff declare module "mymodule" { - import type { B } from "b"; import type { A } from "a"; + import type { B } from "b"; } ``` - [#​10012](https://redirect.github.com/biomejs/biome/pull/10012) [`94ccca9`](https://redirect.github.com/biomejs/biome/commit/94ccca96800e73732b3f26d7eb21a5e3e025e51e) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added the nursery rule [`noReactNativeLiteralColors`](https://biomejs.dev/linter/rules/no-react-native-literal-colors/), which disallows color literals inside React Native styles. The rule belongs to the `reactNative` domain. It reports properties whose name contains `color` and whose value is a string literal when they appear inside a `StyleSheet.create(...)` call or inside a JSX attribute whose name contains `style`. ```jsx // Invalid const Hello = () => <Text style={{ backgroundColor: "#FFFFFF" }}>hi</Text>; const styles = StyleSheet.create({ text: { color: "red" }, }); ``` ```jsx // Valid const red = "#f00"; const styles = StyleSheet.create({ text: { color: red }, }); ``` - [#​10005](https://redirect.github.com/biomejs/biome/pull/10005) [`131019e`](https://redirect.github.com/biomejs/biome/commit/131019e161b69fd755742ba509b1c51fcb2af183) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added the nursery rule [`noReactNativeRawText`](https://biomejs.dev/linter/rules/no-react-native-raw-text/), which disallows raw text outside of `<Text>` components in React Native. The rule belongs to the new `reactNative` domain. ```jsx // Invalid <View>some text</View> <View>{'some text'}</View> ``` ```jsx // Valid <View> <Text>some text</Text> </View> ``` Additional components can be allowlisted through the `skip` option: ```json { "options": { "skip": ["Title"] } } ``` - [#​9911](https://redirect.github.com/biomejs/biome/pull/9911) [`1603f78`](https://redirect.github.com/biomejs/biome/commit/1603f7893c9e249439fc3c22c02ec1a363cc54b9) Thanks [@​Netail](https://redirect.github.com/Netail)! - Added the nursery rule [`noJsxLeakedDollar`](https://biomejs.dev/linter/rules/no-jsx-leaked-dollar), which flags text nodes with a trailing `$` if the next sibling node is a JSX expression. This could be an unintentional mistake, resulting in a '$' being rendered as text in the output. **Invalid**: ```jsx function MyComponent({ user }) { return <div>Hello ${user.name}</div>; } ``` - [#​9999](https://redirect.github.com/biomejs/biome/pull/9999) [`f42405f`](https://redirect.github.com/biomejs/biome/commit/f42405fca77302bbbca573474c59ae49f027f75d) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - Fixed `noMisleadingReturnType` incorrectly flagging functions with reassigned `let` variables. - [#​10075](https://redirect.github.com/biomejs/biome/pull/10075) [`295f97f`](https://redirect.github.com/biomejs/biome/commit/295f97fd538779eb9cc35b5bf54d37a90e0b5e9b) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [`#9983`](https://redirect.github.com/biomejs/biome/issues/9983): Biome now parses functions declared inside Svelte `#snippet` blocks without throwing errors. - [#​10006](https://redirect.github.com/biomejs/biome/pull/10006) [`cf4c1c9`](https://redirect.github.com/biomejs/biome/commit/cf4c1c943a53612648d052d843aaf977652c79d6) Thanks [@​minseong0324](https://redirect.github.com/minseong0324)! - Fixed [#​9810](https://redirect.github.com/biomejs/biome/issues/9810): `noMisleadingReturnType` incorrectly flagging nested object literals with widened properties. - [#​10033](https://redirect.github.com/biomejs/biome/pull/10033) [`11ddc05`](https://redirect.github.com/biomejs/biome/commit/11ddc05713a1cb85b6748c865ee9dda91235a5d1) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added the nursery rule [`useReactNativePlatformComponents`](https://biomejs.dev/linter/rules/use-react-native-platform-components/) that ensures platform-specific React Native components (e.g. `ProgressBarAndroid`, `ActivityIndicatorIOS`) are only imported in files with a matching platform suffix. It also reports when Android and iOS components are mixed in the same file. The following code triggers the rule when the file does not have an `.android.js` suffix: ```js // file.js import { ProgressBarAndroid } from "react-native"; ``` #### What's Changed - docs(orgnizeImports): revamp user-facing docs by [@​Conaclos](https://redirect.github.com/Conaclos) in [#​9987](https://redirect.github.com/biomejs/biome/pull/9987) - fix(md): code info string, and fmt advancement by [@​ematipico](https://redirect.github.com/ematipico) in [#​9979](https://redirect.github.com/biomejs/biome/pull/9979) - fix(service): detect script language in Svelte files with generics attribute by [@​leetdavid](https://redirect.github.com/leetdavid) in [#​9743](https://redirect.github.com/biomejs/biome/pull/9743) - chore: abstract html tag matcher by [@​Netail](https://redirect.github.com/Netail) in [#​9988](https://redirect.github.com/biomejs/biome/pull/9988) - chore(deps): update rustls-webpki to 0.103.12 by [@​siketyan](https://redirect.github.com/siketyan) in [#​9996](https://redirect.github.com/biomejs/biome/pull/9996) - fix(parser/css): handle nested rules in embedded snippets by [@​siketyan](https://redirect.github.com/siketyan) in [#​9995](https://redirect.github.com/biomejs/biome/pull/9995) - chore: fix some node vulnerabilities by [@​Netail](https://redirect.github.com/Netail) in [#​10001](https://redirect.github.com/biomejs/biome/pull/10001) - chore: fix more node vulnerabilities by [@​Netail](https://redirect.github.com/Netail) in [#​10002](https://redirect.github.com/biomejs/biome/pull/10002) - feat(lint): implement use useRegexpTest nursery rule by [@​ryan-m-walker](https://redirect.github.com/ryan-m-walker) in [#​9702](https://redirect.github.com/biomejs/biome/pull/9702) - feat(css): implement shared CSS scanner for parsing SCSS interpolations and URL bodies by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9948](https://redirect.github.com/biomejs/biome/pull/9948) - feat(fmt/md): ordered lists and space normalization by [@​ematipico](https://redirect.github.com/ematipico) in [#​9998](https://redirect.github.com/biomejs/biome/pull/9998) - chore: update rand & thin-vec by [@​Netail](https://redirect.github.com/Netail) in [#​10008](https://redirect.github.com/biomejs/biome/pull/10008) - fix(lint/js): false positives in `noComponentHookFactories` by [@​Jayllyz](https://redirect.github.com/Jayllyz) in [#​10009](https://redirect.github.com/biomejs/biome/pull/10009) - feat(lint): add `noReactNativeRawText` by [@​ematipico](https://redirect.github.com/ematipico) in [#​10005](https://redirect.github.com/biomejs/biome/pull/10005) - refactor(css): rename scss declaration and module access syntax by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10014](https://redirect.github.com/biomejs/biome/pull/10014) - fix(markdown\_parser): handle tab-separated container markers by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9965](https://redirect.github.com/biomejs/biome/pull/9965) - chore: cleanup tests by [@​Netail](https://redirect.github.com/Netail) in [#​10016](https://redirect.github.com/biomejs/biome/pull/10016) - feat(lint/js): add `useDomQuerySelector` by [@​dyc3](https://redirect.github.com/dyc3) in [#​9885](https://redirect.github.com/biomejs/biome/pull/9885) - test(formatter): retain formatter failures in prettier snapshots by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10018](https://redirect.github.com/biomejs/biome/pull/10018) - feat(css): support unquoted concatenation in SCSS interpolation expressions by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10020](https://redirect.github.com/biomejs/biome/pull/10020) - test(css\_formatter): import prettier scss mirror by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10025](https://redirect.github.com/biomejs/biome/pull/10025) - refactor(tests): reorganize SCSS test specs into standalone `scss` module by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10030](https://redirect.github.com/biomejs/biome/pull/10030) - test(prettier-compare): add scss compare support by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​10031](https://redirect.github.com/biomejs/biome/pull/10031) - fix(lint): fix false positive in noMisleadingReturnType for mutable bindings by [@​minseong0324](https://redirect.github.com/minseong0324) i > ✂ **Note** > > PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/alecthomas/chroma). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Symbolic link
1 line
18 B
Plaintext
Symbolic link
1 line
18 B
Plaintext
.tinygo-0.41.1.pkg |