mirror of
https://github.com/alecthomas/chroma.git
synced 2026-06-11 21:52:26 +02:00
e11ef85a2c
> ℹ️ **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) | | minor | `2.3.12` → `2.4.7` |  |  | | [caddy](https://redirect.github.com/caddyserver/caddy) | | minor | `2.10.2` → `2.11.2` |  |  | | [esbuild](https://redirect.github.com/evanw/esbuild) | | patch | `0.27.2` → `0.27.4` |  |  | | [github.com/alecthomas/kong](https://redirect.github.com/alecthomas/kong) | require | minor | `v1.13.0` → `v1.14.0` |  |  | | [go](https://redirect.github.com/golang/go) | | minor | `1.25.6` → `1.26.1` |  |  | | [go](https://go.dev/) ([source](https://redirect.github.com/golang/go)) | toolchain | minor | `1.25.6` → `1.26.1` |  |  | | [just](https://redirect.github.com/casey/just) | | minor | `1.46.0` → `1.47.0` |  |  | | [python3](https://redirect.github.com/indygreg/python-build-standalone) | | minor | `3.13.2` → `3.14.3` |  |  | | [reflex](https://redirect.github.com/cespare/reflex) | | patch | `0.3.1` → `0.3.2` |  |  | | [svu](https://redirect.github.com/caarlos0/svu) | | minor | `3.3.0` → `3.4.0` |  |  | | [uv](https://redirect.github.com/astral-sh/uv) | | minor | `0.9.26` → `0.10.10` |  |  | | [watchexec](https://redirect.github.com/watchexec/watchexec) | | minor | `2.3.3` → `2.5.0` |  |  | --- ### Release Notes <details> <summary>biomejs/biome (biome)</summary> ### [`v2.4.7`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.4.7): Biome CLI v2.4.7 #### 2.4.7 ##### Patch Changes - [#​9318](https://redirect.github.com/biomejs/biome/pull/9318) [`3ac98eb`](https://redirect.github.com/biomejs/biome/commit/3ac98eb0fa492fce37e87e14c2c4b7016475195c) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Added new nursery lint rule `useBaseline` for CSS. The rule reports when CSS properties, property values, at-rules, media conditions, functions, or pseudo-selectors are not part of the configured [Baseline](https://developer.mozilla.org/en-US/docs/Glossary/Baseline/Compatibility) tier. For example, *at the time of writing*, the rule will trigger for the use of `accent-color` because it has limited availability: ```css a { accent-color: bar; } ``` - [#​9272](https://redirect.github.com/biomejs/biome/pull/9272) [`2de8362`](https://redirect.github.com/biomejs/biome/commit/2de83626fb411e7468fdba6fae90609f9db42630) Thanks [@​terror](https://redirect.github.com/terror)! - Added the nursery rule [`useImportsFirst`](https://biomejs.dev/linter/rules/use-imports-first/) that enforces all import statements appear before any non-import statements in a module. Inspired by the eslint-plugin-import [`import/first`](https://redirect.github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/first.md) rule. ```js // Invalid import { foo } from "foo"; const bar = 1; import { baz } from "baz"; // ← flagged // Valid import { foo } from "foo"; import { baz } from "baz"; const bar = 1; ``` - [#​9285](https://redirect.github.com/biomejs/biome/pull/9285) [`93ea495`](https://redirect.github.com/biomejs/biome/commit/93ea495fa215d032d7b96ecc52a8e4c86a421805) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) from erroneously flagging props only used in the template section in Vue SFCs - [#​9435](https://redirect.github.com/biomejs/biome/pull/9435) [`6c5a8f2`](https://redirect.github.com/biomejs/biome/commit/6c5a8f2728dd21d58c164bcdf616e3c803eda475) Thanks [@​siketyan](https://redirect.github.com/siketyan)! - Fixed [#​9432](https://redirect.github.com/biomejs/biome/issues/9432): Values referenced as a JSX element in Astro/Vue/Svelte templates are now correctly detected; `noUnusedImports` and `useImportType` rules no longer reports these values as false positives. - [#​9362](https://redirect.github.com/biomejs/biome/pull/9362) [`fc9ca4c`](https://redirect.github.com/biomejs/biome/commit/fc9ca4c03f484bfd90302269c4d577a3fd6c89d0) Thanks [@​Netail](https://redirect.github.com/Netail)! - Extra rule source references. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations. - [#​9392](https://redirect.github.com/biomejs/biome/pull/9392) [`b881fea`](https://redirect.github.com/biomejs/biome/commit/b881fea44d93781ca1cac9db4e5fcfd81d35d777) Thanks [@​g-ortuno](https://redirect.github.com/g-ortuno)! - Fixed [biomejs/biome-vscode#959](https://redirect.github.com/biomejs/biome-vscode/issues/959): LSP now correctly resolves project directory when `configurationPath` points to a configuration file outside the workspace. - [#​9420](https://redirect.github.com/biomejs/biome/pull/9420) [`a1c46af`](https://redirect.github.com/biomejs/biome/commit/a1c46afd2567dded10e5e08e6e09fcba01bb757c) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9385](https://redirect.github.com/biomejs/biome/issues/9385): [`noUselessEscapeInString`](https://biomejs.dev/linter/rules/no-useless-escape-in-string/) no longer incorrectly flags valid CSS hex escapes (e.g. `\e7bb`) as useless. The rule now recognizes all hex digits (`0-9`, `a-f`, `A-F`) as valid escape characters in CSS strings. - [#​9416](https://redirect.github.com/biomejs/biome/pull/9416) [`f2581b8`](https://redirect.github.com/biomejs/biome/commit/f2581b8eb1d2c1f3ba08c1237a7a6698128648f7) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9131](https://redirect.github.com/biomejs/biome/issues/9131), [#​9112](https://redirect.github.com/biomejs/biome/issues/9112), [#​9166](https://redirect.github.com/biomejs/biome/issues/9166): the formatter no longer crashes or produces corrupt output when a JS file with `experimentalEmbeddedSnippetsEnabled` contains non-embedded template literals alongside embedded ones (e.g. `console.log(\`test\`)`next to`graphql(\`...\`)\`). - [#​9344](https://redirect.github.com/biomejs/biome/pull/9344) [`cb4d7d7`](https://redirect.github.com/biomejs/biome/commit/cb4d7d7a2cc518e3e815405189c1bc596a249e6c) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​6921](https://redirect.github.com/biomejs/biome/issues/6921): `noShadow` no longer incorrectly flags destructured variable bindings in sibling scopes as shadowing. Object destructuring, array destructuring, nested patterns, and rest elements are now properly recognized as declarations. - [#​9360](https://redirect.github.com/biomejs/biome/pull/9360) [`bc5dd99`](https://redirect.github.com/biomejs/biome/commit/bc5dd99a6a8973bd05b8ce2d129a8eea766a6926) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​7125](https://redirect.github.com/biomejs/biome/issues/7125): The rule `noShadow` no longer incorrectly flags parameters in TypeScript constructor and method overload signatures. - [#​9371](https://redirect.github.com/biomejs/biome/pull/9371) [`29cac17`](https://redirect.github.com/biomejs/biome/commit/29cac1775986e79d306fa7ed10323b196b013072) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​5279](https://redirect.github.com/biomejs/biome/issues/5279): Tabs in diagnostic diff output are now rendered at a consistent width across context and changed lines, fixing visual misalignment when source files use tab indentation. - [#​9043](https://redirect.github.com/biomejs/biome/pull/9043) [`61e2a02`](https://redirect.github.com/biomejs/biome/commit/61e2a02aea782e41291465a016eca059c66ec6fe) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [#​8897](https://redirect.github.com/biomejs/biome/issues/8897): Biome now parses `@utility` names containing `/` when Tailwind directives are enabled. - [#​9354](https://redirect.github.com/biomejs/biome/pull/9354) [`930c858`](https://redirect.github.com/biomejs/biome/commit/930c858df43ef32c24cebebb4ce42f302f529f2c) Thanks [@​denbezrukov](https://redirect.github.com/denbezrukov)! - Improved CSS parser recovery for invalid `unicode-range` values that mix wildcard ranges with range intervals. For example, Biome now reports clearer diagnostics for invalid syntax like: ```css unicode-range: U+11???-2??; unicode-range: U+11???-; ``` with diagnostics such as: ```text × Wildcard ranges cannot be combined with a range interval. > unicode-range: U+11???-2??; ^ × Expected a codepoint but instead found ';'. > unicode-range: U+11???-; ^ ``` - [#​9355](https://redirect.github.com/biomejs/biome/pull/9355) [`78e74a2`](https://redirect.github.com/biomejs/biome/commit/78e74a28e5966ccedacb22f840915b35f03a5474) Thanks [@​SchahinRohani](https://redirect.github.com/SchahinRohani)! - Fixed [#​9349](https://redirect.github.com/biomejs/biome/issues/9349): Biome now correctly handles Vue dynamic `:alt` and `v-bind:alt` bindings in `useAltText`, preventing false positives in `.vue` files. - [#​9369](https://redirect.github.com/biomejs/biome/pull/9369) [`b309dde`](https://redirect.github.com/biomejs/biome/commit/b309ddedc74506b162443589acde5b3ae59f6ed3) Thanks [@​costajohnt](https://redirect.github.com/costajohnt)! - Fixed [#​9210](https://redirect.github.com/biomejs/biome/issues/9210): [`useAnchorContent`](https://biomejs.dev/linter/rules/use-anchor-content/) no longer reports an accessibility error for Astro `Image` components inside links when they provide non-empty `alt` text. - [#​9345](https://redirect.github.com/biomejs/biome/pull/9345) [`70c2d4e`](https://redirect.github.com/biomejs/biome/commit/70c2d4e8758f9f3e494d04dc060e116eb2947540) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​7214](https://redirect.github.com/biomejs/biome/issues/7214): [`useOptionalChain`](https://biomejs.dev/linter/rules/use-optional-chain/) now detects optional chain patterns that don't start at the beginning of a logical AND expression. For example, `bar && foo && foo.length` is now correctly flagged and fixed to `bar && foo?.length`. - [#​9311](https://redirect.github.com/biomejs/biome/pull/9311) [`78c4e9b`](https://redirect.github.com/biomejs/biome/commit/78c4e9b2fcb44b7fcc0afff294b5c2a7739bf5e2) Thanks [@​ruidosujeira](https://redirect.github.com/ruidosujeira)! - Fixed [#​9245](https://redirect.github.com/biomejs/biome/issues/9245): the [`useSemanticElements`](https://biomejs.dev/linter/rules/use-semantic-elements/) rule no longer suggests `<output>` for `role="status"` and `role="alert"`. The `<output>` element is only a `relatedConcept` of these roles, not a direct semantic equivalent. These roles are now excluded from suggestions, aligning with the intended behavior of the upstream `prefer-tag-over-role` rule. - [#​9363](https://redirect.github.com/biomejs/biome/pull/9363) [`b2ffb4a`](https://redirect.github.com/biomejs/biome/commit/b2ffb4aa376f73d5eef6d011e1d4d9e191197b79) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​5212](https://redirect.github.com/biomejs/biome/issues/5212): [`useSemanticElements`](https://biomejs.dev/linter/rules/use-semantic-elements/) no longer reports a diagnostic when a semantic element already has its corresponding role attribute (e.g. `<nav role="navigation">`, `<footer role="contentinfo">`). These cases are now correctly left to [`noRedundantRoles`](https://biomejs.dev/linter/rules/no-redundant-roles/). - [#​9364](https://redirect.github.com/biomejs/biome/pull/9364) [`1bb9edc`](https://redirect.github.com/biomejs/biome/commit/1bb9edc47fc3f9dca1b22e688401211ac87d3aa3) Thanks [@​xvchris](https://redirect.github.com/xvchris)! - Fixed [#​9357](https://redirect.github.com/biomejs/biome/issues/9357). Improved the information emitted by some diagnostics. - [#​9434](https://redirect.github.com/biomejs/biome/pull/9434) [`bf12092`](https://redirect.github.com/biomejs/biome/commit/bf12092e6fd141eaaf85f30556da94643422cff5) Thanks [@​siketyan](https://redirect.github.com/siketyan)! - Fixed [#​9433](https://redirect.github.com/biomejs/biome/issues/9433): [`noBlankTarget`](https://biomejs.dev/linter/rules/no-blank-target/) now correctly handles dynamic href attributes, such as `<a href={company?.website} target="_blank">`. - [#​9351](https://redirect.github.com/biomejs/biome/pull/9351) [`5046d2b`](https://redirect.github.com/biomejs/biome/commit/5046d2b4f04849a35ea3c5483f22178c1817f6da) Thanks [@​Netail](https://redirect.github.com/Netail)! - Expanded the [`noNegationElse`](https://biomejs.dev/linter/rules/no-negation-else/) rule to cover the inequality & strict inequality operator. - [#​9353](https://redirect.github.com/biomejs/biome/pull/9353) [`2a29e0d`](https://redirect.github.com/biomejs/biome/commit/2a29e0d6aecf49e70b478dcef10460bd2da17429) Thanks [@​Conaclos](https://redirect.github.com/Conaclos)! - Fixed [#​7583](https://redirect.github.com/biomejs/biome/issues/7583): [`organizeImports`](https://biomejs.dev/assist/actions/organize-imports/) now sorts named specifiers inside bare exports and merges bare exports. ```diff - export { b, a }; - export { c }; + export { a, b, c }; ``` Also, `organizeImports` now correctly adds a blank line between an import chunk and an export chunk. ```diff import { A } from "package"; + export { A }; ``` - [#​8658](https://redirect.github.com/biomejs/biome/pull/8658) [`bdcc934`](https://redirect.github.com/biomejs/biome/commit/bdcc93431091e4e34f9d0ca9e9d3ca4c466eec6c) Thanks [@​rksvc](https://redirect.github.com/rksvc)! - When the `domains` field is set in the configuration file, domains is now automatically enabled when Biome detects certain dependencies in `package.json`. - [#​9383](https://redirect.github.com/biomejs/biome/pull/9383) [`f5c8bf0`](https://redirect.github.com/biomejs/biome/commit/f5c8bf018cbe49b5fb48a1adb443bd7c5f315769) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​6606](https://redirect.github.com/biomejs/biome/issues/6606): The type inference engine now resolves `Record<K, V>` types, synthesizing them as object types with index signatures. This improves accuracy for type-aware lint rules such as `noFloatingPromises`, `noMisusedPromises`, `useAwaitThenable`, and `useArraySortCompare` when operating on Record-typed values. - [#​9359](https://redirect.github.com/biomejs/biome/pull/9359) [`701ddd3`](https://redirect.github.com/biomejs/biome/commit/701ddd381a5a4502d2087795a8a5e03c666fb109) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​7516](https://redirect.github.com/biomejs/biome/issues/7516): `noUnusedImports` no longer reports a false positive when a local variable shadows an imported type namespace that is still used in a type annotation. - [#​9473](https://redirect.github.com/biomejs/biome/pull/9473) [`50e93bd`](https://redirect.github.com/biomejs/biome/commit/50e93bd0d32c319626e77b41a167e7c80f8a6079) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Improved the detection of variables inside Astro files. Now the rule `noUnusedVariables` and others will trigger fewer false positives. - [#​9459](https://redirect.github.com/biomejs/biome/pull/9459) [`171b2ee`](https://redirect.github.com/biomejs/biome/commit/171b2ee3d108793e4cb03807863739d47fc2092d) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9314](https://redirect.github.com/biomejs/biome/issues/9314). Now Biome doesn't panic when `useAriaPropsForRole` is configured using an object. - [#​9465](https://redirect.github.com/biomejs/biome/pull/9465) [`c8918d6`](https://redirect.github.com/biomejs/biome/commit/c8918d640a8897c2d5743988fce4dbb858ea64a5) Thanks [@​Netail](https://redirect.github.com/Netail)! - Fixed [#​9464](https://redirect.github.com/biomejs/biome/issues/9464): Temporal is now correctly detected as a global. - [#​9367](https://redirect.github.com/biomejs/biome/pull/9367) [`722f0da`](https://redirect.github.com/biomejs/biome/commit/722f0da12d4fadde6eaa09abe6053f9938408028) Thanks [@​Netail](https://redirect.github.com/Netail)! - Added the nursery rule [`noTopLevelLiterals`](https://biomejs.dev/linter/rules/no-top-level-literals/). It requires the root-level value to be an array or object. **Invalid:** ```json "just a string" ``` - [#​9333](https://redirect.github.com/biomejs/biome/pull/9333) [`a294b89`](https://redirect.github.com/biomejs/biome/commit/a294b89d283f997336419e81654c91330274e698) Thanks [@​terror](https://redirect.github.com/terror)! - Fixed [#​9310](https://redirect.github.com/biomejs/biome/issues/9310). Now the HTML formatter doesn't mangle elements that are followed by self-closing elements such as `<br>` or `<img>`. - [#​9391](https://redirect.github.com/biomejs/biome/pull/9391) [`4bffb66`](https://redirect.github.com/biomejs/biome/commit/4bffb66d2ccc3c0e6ccb5ab6bf5b3cf2a8300d19) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Slightly increased the performance of the CLI in projects that have more than \~2K files. - [#​9365](https://redirect.github.com/biomejs/biome/pull/9365) [`776cb64`](https://redirect.github.com/biomejs/biome/commit/776cb646ccb8d3d6739051f68da1629b4e0124d7) Thanks [@​Netail](https://redirect.github.com/Netail)! - Added the nursery rule [`noEmptyObjectKeys`](https://biomejs.dev/linter/rules/no-empty-object-keys/), which disallows the use of empty keys in JSON objects. **Invalid:** ```json { "": "value" } ``` #### What's Changed - fix(useOptionalChain): correctly track prefix expression by [@​ematipico](https://redirect.github.com/ematipico) in [#​9345](https://redirect.github.com/biomejs/biome/pull/9345) - feat(css): add support for SCSS binary expressions in lexer and parser by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9343](https://redirect.github.com/biomejs/biome/pull/9343) - fix(noShadow): detect destructured patterns in sibling scopes by [@​ematipico](https://redirect.github.com/ematipico) in [#​9344](https://redirect.github.com/biomejs/biome/pull/9344) - feat(js\_analyze): noNegationElse support inequality & strict inequality operator by [@​Netail](https://redirect.github.com/Netail) in [#​9351](https://redirect.github.com/biomejs/biome/pull/9351) - feat(css): improve scss declaration modifier recovery by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9352](https://redirect.github.com/biomejs/biome/pull/9352) - fix(css): improve unicode wildcard range recovery by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9354](https://redirect.github.com/biomejs/biome/pull/9354) - chore: rust 1.94.0 by [@​Netail](https://redirect.github.com/Netail) in [#​9356](https://redirect.github.com/biomejs/biome/pull/9356) - chore: improve internal skills by [@​ematipico](https://redirect.github.com/ematipico) in [#​9361](https://redirect.github.com/biomejs/biome/pull/9361) - fix(organizeImports): sort specifiers in bare exports by [@​Conaclos](https://redirect.github.com/Conaclos) in [#​9353](https://redirect.github.com/biomejs/biome/pull/9353) - chore: add extra eslint plugin sources by [@​Netail](https://redirect.github.com/Netail) in [#​9362](https://redirect.github.com/biomejs/biome/pull/9362) - feat(md): formatter plumbing by [@​ematipico](https://redirect.github.com/ematipico) in [#​9331](https://redirect.github.com/biomejs/biome/pull/9331) - fix(noUndeclaredVariables): track vue props as bindings by [@​dyc3](https://redirect.github.com/dyc3) in [#​9285](https://redirect.github.com/biomejs/biome/pull/9285) - fix(cli): tab printing by [@​ematipico](https://redirect.github.com/ematipico) in [#​9371](https://redirect.github.com/biomejs/biome/pull/9371) - fix(noShadow): ts overloads by [@​ematipico](https://redirect.github.com/ematipico) in [#​9360](https://redirect.github.com/biomejs/biome/pull/9360) - fix(html/useAltText): handle Vue dynamic :alt and v-bind:alt bindings by [@​SchahinRohani](https://redirect.github.com/SchahinRohani) in [#​9355](https://redirect.github.com/biomejs/biome/pull/9355) - feat(json\_analyze): implement noTopLevelLiterals by [@​Netail](https://redirect.github.com/Netail) in [#​9367](https://redirect.github.com/biomejs/biome/pull/9367) - fix(organizeImports): merge bare exports by [@​Conaclos](https://redirect.github.com/Conaclos) in [#​9373](https://redirect.github.com/biomejs/biome/pull/9373) - chore: update rule count in readme by [@​dyc3](https://redirect.github.com/dyc3) in [#​9374](https://redirect.github.com/biomejs/biome/pull/9374) - fix(noUnusedImports): edge case ambient type by [@​ematipico](https://redirect.github.com/ematipico) in [#​9359](https://redirect.github.com/biomejs/biome/pull/9359) - fix(useSemanticElements): don't flag elements and roles by [@​ematipico](https://redirect.github.com/ematipico) in [#​9363](https://redirect.github.com/biomejs/biome/pull/9363) - test: iife inference by [@​ematipico](https://redirect.github.com/ematipico) in [#​9382](https://redirect.github.com/biomejs/biome/pull/9382) - feat(json\_analyze): implement noEmptyObjectKeys by [@​Netail](https://redirect.github.com/Netail) in [#​9365](https://redirect.github.com/biomejs/biome/pull/9365) - feat(biome\_service): include file path in NotFound diagnostic by [@​xvchris](https://redirect.github.com/xvchris) in [#​9364](https://redirect.github.com/biomejs/biome/pull/9364) - feat(css): improve SCSS expression parsing by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9396](https://redirect.github.com/biomejs/biome/pull/9396) - chore(deps): update dependency eslint to v9.39.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9403](https://redirect.github.com/biomejs/biome/pull/9403) - chore(deps): update pnpm to v10.30.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9404](https://redirect.github.com/biomejs/biome/pull/9404) - chore(deps): update rust crate jiff to 0.2.23 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9405](https://redirect.github.com/biomejs/biome/pull/9405) - fix(deps): update [@​biomejs](https://redirect.github.com/biomejs) packages by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9408](https://redirect.github.com/biomejs/biome/pull/9408) - chore(deps): update rust crate libc to 0.2.183 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9406](https://redirect.github.com/biomejs/biome/pull/9406) - chore(deps): update rust crate quote to 1.0.45 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9407](https://redirect.github.com/biomejs/biome/pull/9407) - chore(deps): update dependency [@​changesets/changelog-github](https://redirect.github.com/changesets/changelog-github) to v0.6.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9409](https://redirect.github.com/biomejs/biome/pull/9409) - chore(deps): update dependency [@​changesets/cli](https://redirect.github.com/changesets/cli) to v2.30.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9410](https://redirect.github.com/biomejs/biome/pull/9410) - chore(deps): update dependency dprint to v0.52.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9413](https://redirect.github.com/biomejs/biome/pull/9413) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v24.11.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9412](https://redirect.github.com/biomejs/biome/pull/9412) - feat(css): add support for `sass()` in SCSS conditional expressions by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9414](https://redirect.github.com/biomejs/biome/pull/9414) - feat(css): add support for `@debug`, `@warn`, and `@error` SCSS at-rules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9415](https://redirect.github.com/biomejs/biome/pull/9415) - refactor(markdown-parser): promote thematic break skipped trivia to explicit CST nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9337](https://redirect.github.com/biomejs/biome/pull/9337) - feat(css): add support for SCSS `@if`, `@else`, and `@while` at-rules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9417](https://redirect.github.com/biomejs/biome/pull/9417) - feat(css): add support for SCSS `@each` at-rule ([#​9418](https://redirect.github.com/biomejs/biome/issues/9418)) by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9419](https://redirect.github.com/biomejs/biome/pull/9419) - fix(lint): enable rules via dependencies when setting domains in config by [@​rksvc](https://redirect.github.com/rksvc) in [#​8658](https://redirect.github.com/biomejs/biome/pull/8658) - refactor(core): embed detectors by [@​ematipico](https://redirect.github.com/ematipico) in [#​9416](https://redirect.github.com/biomejs/biome/pull/9416) - fix(noUselessEscapeInString): correctly flag chars by [@​ematipico](https://redirect.github.com/ematipico) in [#​9420](https://redirect.github.com/biomejs/biome/pull/9420) - chore: accept snapshot on main by [@​dyc3](https://redirect.github.com/dyc3) in [#​9422](https://redirect.github.com/biomejs/biome/pull/9422) - feat(css): add support for SCSS `@for` at-rule by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9421](https://redirect.github.com/biomejs/biome/pull/9421) - fix(parse/css): parse tailwind `@utility` with slash in the name by [@​dyc3](https://redirect.github.com/dyc3) in [#​9043](https://redirect.github.com/biomejs/biome/pull/9043) - feat(css): add support for SCSS `@mixin` at-rule by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9423](https://redirect.github.com/biomejs/biome/pull/9423) - feat(css): add support for SCSS `@include` at-rule by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9424](https://redirect.github.com/biomejs/biome/pull/9424) - feat(lint): add nursery rule `useImportsFirst` by [@​terror](https://redirect.github.com/terror) in [#​9272](https://redirect.github.com/biomejs/biome/pull/9272) - feat(css): add support for SCSS `@content` at-rule by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9425](https://redirect.github.com/biomejs/biome/pull/9425) - fix(useOptionalChain): regression by [@​ematipico](https://redirect.github.com/ematipico) in [#​9430](https://redirect.github.com/biomejs/biome/pull/9430) - feat(css): add support for SCSS `@function` and `@return` at-rules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9431](https://redirect.github.com/biomejs/biome/pull/9431) - feat(inference): infer `Recored<K, V>` by [@​ematipico](https://redirect.github.com/ematipico) in [#​9383](https://redirect.github.com/biomejs/biome/pull/9383) - feat(ast): increase `SyntaxKindSet` bitfield size to 6 elements for extended node support by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9438](https://redirect.github.com/biomejs/biome/pull/9438) - fix(a11y): only use baseConcepts in useSemanticElements rule ([#​9245](https://redirect.github.com/biomejs/biome/issues/9245)) by [@​ruidosujeira](https://redirect.github.com/ruidosujeira) in [#​9311](https://redirect.github.com/biomejs/biome/pull/9311) - fix(core): detect JSX reference identifiers in Astro/Vue/Svelte templates by [@​siketyan](https://redirect.github.com/siketyan) in [#​9435](https://redirect.github.com/biomejs/biome/pull/9435) - fix(lint/noBlankTarget): still report when the href attribute is dynamic by [@​siketyan](https://redirect.github.com/siketyan) in [#​9434](https://redirect.github.com/biomejs/biome/pull/9434) - ci: publish to pkg pr new before disatpch event by [@​ematipico](https://redirect.github.com/ematipico) in [#​9439](https://redirect.github.com/biomejs/biome/pull/9439) - feat(css/lint): useBaseline by [@​ematipico](https://redirect.github.com/ematipico) in [#​9318](https://redirect.github.com/biomejs/biome/pull/9318) - fix: compilation issue due to merge by [@​ematipico](https://redirect.github.com/ematipico) in [#​9442](https://redirect.github.com/biomejs/biome/pull/9442) - refactor(markdown-parser): promote remaining skipped trivia to explicit CST nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9427](https://redirect.github.com/biomejs/biome/pull/9427) - docs(markdown-parser): add code-version comments to ungram nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9444](https://redirect.github.com/biomejs/biome/pull/9444) - feat(css): add support for SCSS `@use` and `@forward` at-rules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9440](https://redirect.github.com/biomejs/biome/pull/9440) - refactor(markdown-parser): simplify inline newline handling by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9446](https://redirect.github.com/biomejs/biome/pull/9446) - ci: trigger parser conformance tests on markdown crate changes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9447](https://redirect.github.com/biomejs/biome/pull/9447) - chore: new labels by [@​Netail](https://redirect.github.com/Netail) in [#​9448](https://redirect.github.com/biomejs/biome/pull/9448) - perf(cli): lock-free storage, and reduce system calls by [@​ematipico](https://redirect.github.com/ematipico) in [#​9391](https://redirect.github.com/biomejs/biome/pull/9391) - fix(html/formatter): preserve closing `>` before self-closing elements by [@​terror](https://redirect.github.com/terror) in [#​9333](https://redirect.github.com/biomejs/biome/pull/9333) - perf(inference): reduce type widening by [@​ematipico](https://redirect.github.com/ematipico) in [#​8374](https://redirect.github.com/biomejs/biome/pull/8374) - refactor(markdown-parser): decompose parse\_link\_or\_image into phase helpers by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9452](https://redirect.github.com/biomejs/biome/pull/9452) - refactor(markdown-parser): decompose handle\_blank\_lines into phase helpers by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9453](https://redirect.github.com/biomejs/biome/pull/9453) - refactor(semantic): dual binding by [@​ematipico](https://redirect.github.com/ematipico) in [#​9451](https://redirect.github.com/biomejs/biome/pull/9451) - fix(lsp): fix incorrect project dir when configurationPath points to config outside of workspace by [@​g-ortuno](https://redirect.github.com/g-ortuno) in [#​9392](https://redirect.github.com/biomejs/biome/pull/9392) - fix(biome\_html\_analyze): recognize Astro Image component in useAnchorContent by [@​costajohnt](https://redirect.github.com/costajohnt) in [#​9369](https://redirect.github.com/biomejs/biome/pull/9369) - feat(css): add support for SCSS `@import` and `@extend` at-rules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9458](https://redirect.github.com/biomejs/biome/pull/9458) - feat(css): add support for SCSS `@at-root` at-rule by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9461](https://redirect.github.com/biomejs/biome/pull/9461) - fix(js\_analyze): temporal global by [@​Netail](https://redirect.github.com/Netail) in [#​9465](https://redirect.github.com/biomejs/biome/pull/9465) - fix: bad options by [@​ematipico](https://redirect.github.com/ematipico) in [#​9459](https://redirect.github.com/biomejs/biome/pull/9459) - docs: fix markdown rule wording by [@​ematipico](https://redirect.github.com/ematipico) in [#​9470](https://redirect.github.com/biomejs/biome/pull/9470) - feat(css): parse scss interpolation expressions by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9472](https://redirect.github.com/biomejs/biome/pull/9472) - fix(embeds): improve detection of bindings in Astro files by [@​ematipico](https://redirect.github.com/ematipico) in [#​9473](https://redirect.github.com/biomejs/biome/pull/9473) - ci: release by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​9346](https://redirect.github.com/biomejs/biome/pull/9346) #### New Contributors - [@​SchahinRohani](https://redirect.github.com/SchahinRohani) made their first contribution in [#​9355](https://redirect.github.com/biomejs/biome/pull/9355) - [@​xvchris](https://redirect.github.com/xvchris) made their first contribution in [#​9364](https://redirect.github.com/biomejs/biome/pull/9364) - [@​rksvc](https://redirect.github.com/rksvc) made their first contribution in [#​8658](https://redirect.github.com/biomejs/biome/pull/8658) - [@​terror](https://redirect.github.com/terror) made their first contribution in [#​9272](https://redirect.github.com/biomejs/biome/pull/9272) - [@​g-ortuno](https://redirect.github.com/g-ortuno) made their first contribution in [#​9392](https://redirect.github.com/biomejs/biome/pull/9392) - [@​costajohnt](https://redirect.github.com/costajohnt) made their first contribution in [#​9369](https://redirect.github.com/biomejs/biome/pull/9369) **Full Changelog**: <https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.6...@​biomejs/biome@2.4.7> ### [`v2.4.6`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.4.6): Biome CLI v2.4.6 #### 2.4.6 ##### Patch Changes - [#​9305](https://redirect.github.com/biomejs/biome/pull/9305) [`40869b5`](https://redirect.github.com/biomejs/biome/commit/40869b5a698de5e0d2c06bc7587a9cad8c0389c5) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​4946](https://redirect.github.com/biomejs/biome/issues/4946): `noUnreachable` no longer reports code inside `finally` blocks as unreachable when there is a `break`, `continue`, or `return` in the corresponding `try` body. - [#​9303](https://redirect.github.com/biomejs/biome/pull/9303) [`464910c`](https://redirect.github.com/biomejs/biome/commit/464910c06058454a0a0ed08998e1b32cb4a6ca67) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​2786](https://redirect.github.com/biomejs/biome/issues/2786): The formatter no longer produces different output on subsequent runs when a `case` clause has a trailing line comment followed by a single block statement. - [#​9324](https://redirect.github.com/biomejs/biome/pull/9324) [`6294aa2`](https://redirect.github.com/biomejs/biome/commit/6294aa2e2710e90a05ed53edfc4dd80e3c4cbd9a) Thanks [@​arendjr](https://redirect.github.com/arendjr)! - Fixed [`#7730`](https://redirect.github.com/biomejs/biome/issues/7730): [`useAnchorContent`](https://biomejs.dev/linter/rules/use-anchor-content/) now recognises SolidJS's `innerHTML` the same way as React's `dangerouslySetInnerHTML`. - [#​9298](https://redirect.github.com/biomejs/biome/pull/9298) [`1003229`](https://redirect.github.com/biomejs/biome/commit/1003229853c80569751137b6f52dcc1b08aed659) Thanks [@​Netail](https://redirect.github.com/Netail)! - Fixed [`#9296`](https://redirect.github.com/biomejs/biome/issues/9296), so comments are moved along with the attributes in the useSortedAttributes assist rule code fix. - [#​9329](https://redirect.github.com/biomejs/biome/pull/9329) [`855b451`](https://redirect.github.com/biomejs/biome/commit/855b45125ad33933066eb363f706e1f00dc149d2) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Improved performance of [`noEmptyBlockStatements`](https://biomejs.dev/linter/rules/no-empty-block-statements/). The rule is now smarter about short-circuiting its logic. - [#​9326](https://redirect.github.com/biomejs/biome/pull/9326) [`85dfe9b`](https://redirect.github.com/biomejs/biome/commit/85dfe9b00b820fee0ad936a54328491446e085f5) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Improved performance for [`noImportCycles`](https://biomejs.dev/linter/rules/no-import-cycles/) by explicitly excluding node\_modules from the cycle detection. The performance improvement is directly proportional to how big your dependency tree is. - [#​9323](https://redirect.github.com/biomejs/biome/pull/9323) [`d5ee469`](https://redirect.github.com/biomejs/biome/commit/d5ee4690bba0a3bb8a97da029732afde56cd4cd7) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9217](https://redirect.github.com/biomejs/biome/issues/9217) and [biomejs/biome-vscode#959](https://redirect.github.com/biomejs/biome-vscode/issues/959), where the Biome language server didn't correctly resolve the editor setting `configurationPath` when the provided value is a relative path. - [#​9302](https://redirect.github.com/biomejs/biome/pull/9302) [`86fbc70`](https://redirect.github.com/biomejs/biome/commit/86fbc70e8f5a63fd9ece11a99b2684c25c301dba) Thanks [@​sepagian](https://redirect.github.com/sepagian)! - Fixed [#​9300](https://redirect.github.com/biomejs/biome/issues/9300): Lowercase component member expressions like `<form.Field>` in Svelte and Astro files are now correctly formatted. ```diff -<form .Field></form.Field> +<form.Field></form.Field> ``` #### What's Changed - fix(js\_analyze): move comments with useSortedAttributes action by [@​Netail](https://redirect.github.com/Netail) in [#​9298](https://redirect.github.com/biomejs/biome/pull/9298) - fix(formatter): switch case comments by [@​ematipico](https://redirect.github.com/ematipico) in [#​9303](https://redirect.github.com/biomejs/biome/pull/9303) - refactor(markdown-parser): promote list structural tokens from skipped trivia to explicit CST nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9274](https://redirect.github.com/biomejs/biome/pull/9274) - fix(noUnreachable): handle dead implicit jumps in finally by [@​ematipico](https://redirect.github.com/ematipico) in [#​9305](https://redirect.github.com/biomejs/biome/pull/9305) - refactor(markdown-parser): align newline/prescan paragraph-break checks by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9197](https://redirect.github.com/biomejs/biome/pull/9197) - refactor(markdown-parser): promote blank lines between list items to MdNewline nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9313](https://redirect.github.com/biomejs/biome/pull/9313) - fix(linter): support SolidJS's `innerHTML` in `useAnchorContent` by [@​arendjr](https://redirect.github.com/arendjr) in [#​9324](https://redirect.github.com/biomejs/biome/pull/9324) - fix(lsp): correctly resolve `configurationPath` by [@​ematipico](https://redirect.github.com/ematipico) in [#​9323](https://redirect.github.com/biomejs/biome/pull/9323) - perf(noImportCycles): exclude `node_modules` from cycle detection by [@​dyc3](https://redirect.github.com/dyc3) in [#​9326](https://redirect.github.com/biomejs/biome/pull/9326) - refactor(css\_parser): split function parser into modules by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9325](https://redirect.github.com/biomejs/biome/pull/9325) - refactor(markdown-parser): promote fenced code block skipped trivia to explicit CST nodes by [@​jfmcdowell](https://redirect.github.com/jfmcdowell) in [#​9321](https://redirect.github.com/biomejs/biome/pull/9321) - refactor(css): rename operator\_token field to operator by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9327](https://redirect.github.com/biomejs/biome/pull/9327) - perf: add `.skip(1)` to `.ancestors()` calls in a bunch of places by [@​dyc3](https://redirect.github.com/dyc3) in [#​9330](https://redirect.github.com/biomejs/biome/pull/9330) - perf(noEmptyBlockStatements): short circuit to avoid traversing descendants for comments by [@​dyc3](https://redirect.github.com/dyc3) in [#​9329](https://redirect.github.com/biomejs/biome/pull/9329) - fix: lowercase component member expressions in Astro/Svelte by [@​sepagian](https://redirect.github.com/sepagian) in [#​9302](https://redirect.github.com/biomejs/biome/pull/9302) - chore: align parser options struct name by [@​Netail](https://redirect.github.com/Netail) in [#​9332](https://redirect.github.com/biomejs/biome/pull/9332) - feat(css): use ScssExpression in ScssNestingDeclaration and CssGenericProperty by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9328](https://redirect.github.com/biomejs/biome/pull/9328) - refactor(css): align scss expression node variants by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9340](https://redirect.github.com/biomejs/biome/pull/9340) - feat(css): use expression in page by [@​denbezrukov](https://redirect.github.com/denbezrukov) in [#​9342](https://redirect.github.com/biomejs/biome/pull/9342) - ci: release by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​9301](https://redirect.github.com/biomejs/biome/pull/9301) #### New Contributors - [@​sepagian](https://redirect.github.com/sepagian) made their first contribution in [#​9302](https://redirect.github.com/biomejs/biome/pull/9302) **Full Changelog**: <https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.5...@​biomejs/biome@2.4.6> ### [`v2.4.5`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.4.5): Biome CLI v2.4.5 #### 2.4.5 ##### Patch Changes - [#​9185](https://redirect.github.com/biomejs/biome/pull/9185) [`e43e730`](https://redirect.github.com/biomejs/biome/commit/e43e730f603bb360d2993842d1b883a787224c29) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule `useVueScopedStyles` for Vue SFCs. This rule enforces that `<style>` blocks have the `scoped` attribute (or `module` for CSS Modules), preventing style leakage and conflicts between components. - [#​9184](https://redirect.github.com/biomejs/biome/pull/9184) [`49c8fde`](https://redirect.github.com/biomejs/biome/commit/49c8fdecf69089e1be9e58fa52f6b72fd54ce08e) Thanks [@​chocky335](https://redirect.github.com/chocky335)! - Improved plugin performance by batching all plugins into a single syntax visitor with a kind-to-plugin lookup map, reducing per-node dispatch overhead from O(N) to O(1) where N is the number of plugins. - [#​9283](https://redirect.github.com/biomejs/biome/pull/9283) [`071c700`](https://redirect.github.com/biomejs/biome/commit/071c70053b63c60bccc170a9d84b8b3f08060a94) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) erroneously flagging functions and variables defined in the `<script setup>` section of Vue SFCs. - [#​9221](https://redirect.github.com/biomejs/biome/pull/9221) [`4612133`](https://redirect.github.com/biomejs/biome/commit/4612133cd9677cda3c2eedb52fd8b46be579410d) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where the JSON reporter didn't contain the duration of the command. - [#​9294](https://redirect.github.com/biomejs/biome/pull/9294) [`1805c8f`](https://redirect.github.com/biomejs/biome/commit/1805c8fb18081e88d81da2a6a542f7d69cd317a2) Thanks [@​Netail](https://redirect.github.com/Netail)! - Extra rule source reference. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations. - [#​9178](https://redirect.github.com/biomejs/biome/pull/9178) [`101b3bb`](https://redirect.github.com/biomejs/biome/commit/101b3bb2658dd2fb7ce562f82b784fd5d068df62) Thanks [@​Bertie690](https://redirect.github.com/Bertie690)! - Fixed [#​9172](https://redirect.github.com/biomejs/biome/issues/9172) and [#​9168](https://redirect.github.com/biomejs/biome/issues/9168): Biome now considers more constructs as valid test assertions. Previously, [`assert`](https://vitest.dev/api/assert.html), [`expectTypeOf`](https://vitest.dev/api/expect-typeof.html) and [`assertType`](https://vitest.dev/api/assert-type.html) were not recognized as valid assertions by Biome's linting rules, producing false positives in [`lint/nursery/useExpect`](https://biomejs.dev/linter/rules/use-expect) and other similar rules. Now, these rules will no longer produce errors in test cases that used these constructs instead of `expect`: ```ts import { expectTypeOf, assert, assertType } from "vitest"; const myStr = "Hello from vitest!"; it("should be a string", () => { expectTypeOf(myStr).toBeString(); }); test("should still be a string", () => { assertType<string>(myStr); }); it.todo("should still still be a string", () => { assert(typeof myStr === "string"); }); ``` - [#​9173](https://redirect.github.com/biomejs/biome/pull/9173) [`32dad2d`](https://redirect.github.com/biomejs/biome/commit/32dad2deb5373950ee52f0e1c544b3313bbe6b52) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Added parsing support for Svelte's new [comments-in-tags](https://redirect.github.com/sveltejs/svelte/pull/17671) feature. The HTML parser will now accept JS style comments in tags in Svelte files. ```svelte <button // single-line comment onclick={doTheThing} >click me</button> <div /* block comment */ class="foo" >text</div> ``` - [#​8952](https://redirect.github.com/biomejs/biome/pull/8952) [`1d2ca15`](https://redirect.github.com/biomejs/biome/commit/1d2ca15f85f6968b4e4ad262a65aadc76fc54f50) Thanks [@​pkallos](https://redirect.github.com/pkallos)! - Added the nursery rule [`useNullishCoalescing`](https://biomejs.dev/linter/rules/use-nullish-coalescing/). This rule suggests using the nullish coalescing operator (`??`) instead of logical OR (`||`) when the left operand may be nullish. This prevents bugs where falsy values like `0`, `''`, or `false` are incorrectly treated as missing. Addresses [#​8043](https://redirect.github.com/biomejs/biome/issues/8043) ```ts // Invalid declare const x: string | null; const value = x || "default"; // Valid const value = x ?? "default"; ``` - [#​9243](https://redirect.github.com/biomejs/biome/pull/9243) [`1992a85`](https://redirect.github.com/biomejs/biome/commit/1992a852d83eb86bae4f6adb999cde284ffa9427) Thanks [@​Netail](https://redirect.github.com/Netail)! - Fixed [#​7813](https://redirect.github.com/biomejs/biome/issues/7813): improved the diagnostic of the rule [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/). The diagnostic now shows the name of the variable to add to the dependency array. - [#​9063](https://redirect.github.com/biomejs/biome/pull/9063) [`3d0648f`](https://redirect.github.com/biomejs/biome/commit/3d0648f95a0f7a3fd8ddff58d57a239e68183fe1) Thanks [@​taga3s](https://redirect.github.com/taga3s)! - Added the nursery rule [`noVueRefAsOperand`](https://biomejs.dev/linter/rules/no-vue-ref-as-operand/). This rule disallows cases where a ref is used as an operand. The following code is now flagged: ```js import { ref } from "vue"; const count = ref(0); count++; // Should be: count.value++ ``` ```js import { ref } from "vue"; const ok = ref(false); if (ok) { // Should be: if (ok.value) // } ``` - [#​9273](https://redirect.github.com/biomejs/biome/pull/9273) [`f239e20`](https://redirect.github.com/biomejs/biome/commit/f239e2053673fcd8ba9a0ab400420b514876f39c) Thanks [@​denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed [#​9253](https://redirect.github.com/biomejs/biome/issues/9253): parsing of `@container scroll-state(...)` queries. ```css @​container scroll-state(scrolled: bottom) { } @​container scroll-state(stuck) { } @​container scroll-state(not (stuck)) { } @​container scroll-state((stuck) and (scrolled: bottom)) { } @​container scroll-state((stuck) or (snapped: x)) { } @​container main-layout scroll-state(not ((stuck) and (scrolled: bottom))) { } ``` - [#​9259](https://redirect.github.com/biomejs/biome/pull/9259) [`96939c0`](https://redirect.github.com/biomejs/biome/commit/96939c050e34d685c2ec7d603b9bc2478e476a8e) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed CSS formatter incorrectly collapsing selectors when a BOM (Byte Order Mark) character is present at the start of the file. The formatter now correctly preserves line breaks between comments and selectors in BOM-prefixed CSS files, matching Prettier's behavior. - [#​9251](https://redirect.github.com/biomejs/biome/pull/9251) [`59e33fb`](https://redirect.github.com/biomejs/biome/commit/59e33fb90432fed33e349245a40d352c85f5b131) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9249](https://redirect.github.com/biomejs/biome/issues/9249): The CSS formatter no longer incorrectly breaks ratio values (like `1 / -1`) across lines when followed by comments. - [#​9284](https://redirect.github.com/biomejs/biome/pull/9284) [`ec3a17f`](https://redirect.github.com/biomejs/biome/commit/ec3a17f321482ddb8ac2d67b701169a4b25df0b0) Thanks [@​denbezrukov](https://redirect.github.com/denbezrukov)! - Fixed [#​9253](https://redirect.github.com/biomejs/biome/issues/9253): removed false-positive diagnostics for valid `@container`/`@supports` general-enclosed queries. ```css @​container scroll-state(scrolled: bottom) { } @​supports foo(bar: baz) { } ``` - [#​9215](https://redirect.github.com/biomejs/biome/pull/9215) [`b2619a1`](https://redirect.github.com/biomejs/biome/commit/b2619a1810f8c2dfc83f03ac2d810b1d34d658c5) Thanks [@​FrederickStempfle](https://redirect.github.com/FrederickStempfle)! - Fixed [#​9189](https://redirect.github.com/biomejs/biome/issues/9189): `biome ci` in GitHub Actions now correctly disables colors so that `::error`/`::warning` workflow commands are not wrapped in ANSI escape codes. - [#​9256](https://redirect.github.com/biomejs/biome/pull/9256) [`65ae4c1`](https://redirect.github.com/biomejs/biome/commit/65ae4c12fe1d2ac1b1cb57547a42a083c15eeb35) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed JSON reporter escaping of special characters in diagnostic messages. The JSON reporter now properly escapes double quotes, backslashes, and control characters in error messages and advice text, preventing invalid JSON output when diagnostics contain these characters. - [#​9223](https://redirect.github.com/biomejs/biome/pull/9223) [`5b9da81`](https://redirect.github.com/biomejs/biome/commit/5b9da81189b09152d6a19b11c2911818ef812975) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed an issue where the JSON reporter didn't write output to a file when `--reporter-file` was specified. The output is now correctly written to the specified file instead of always going to stdout. - [#​9154](https://redirect.github.com/biomejs/biome/pull/9154) [`c487e54`](https://redirect.github.com/biomejs/biome/commit/c487e54ebea4b4aa110d5b87ecf0513d0b0c7c9b) Thanks [@​abossenbroek](https://redirect.github.com/abossenbroek)! - Fixed [#​9115](https://redirect.github.com/biomejs/biome/issues/9115): The [`noPlaywrightMissingAwait`](https://biomejs.dev/linter/rules/no-playwright-missing-await/) rule no longer produces false positives on jest-dom matchers like `toBeVisible`, `toBeChecked`, `toHaveAttribute`, etc. For matchers shared between Playwright and jest-dom, the rule now checks whether `expect()`'s argument is a Playwright locator or page object before flagging. Added semantic variable resolution so that extracted Playwright locators (e.g. `const loc = page.locator('.item'); expect(loc).toBeVisible()`) are still correctly flagged. - [#​9269](https://redirect.github.com/biomejs/biome/pull/9269) [`33e5cdf`](https://redirect.github.com/biomejs/biome/commit/33e5cdfb65fb4c63c5b186d4bf4aced73900140f) Thanks [@​dyc3](https://redirect.github.com/dyc3)! - Fixed a false positive where `noUndeclaredVariables` reported bindings from Vue `<script setup>` as undeclared when used in `<template>`. This change ensures embedded bindings collected from script snippets (like imports and `defineModel` results) are respected by the rule. - [#​9267](https://redirect.github.com/biomejs/biome/pull/9267) [`2c2e060`](https://redirect.github.com/biomejs/biome/commit/2c2e060207ccbe1b96fc9dd982cadff30fda259a) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​9143](https://redirect.github.com/biomejs/biome/issues/9143) and [#​8849](https://redirect.github.com/biomejs/biome/issues/8849): The [`noUnresolvedImports`](https://biomejs.dev/linter/rules/no-unresolved-imports/) rule no longer reports false positives for several common patterns: - `node:fs`, `node:path`, `node:url`, and other Node.js built-in modules with the `node:` prefix are now accepted. - Packages that declare their TypeScript entry point via `"typings"` (instead of `"types"`) in `package.json` now resolve correctly. - Named imports from aliased re-export chains (e.g. `export { x as y } from "..."`) are now resolved correctly through the alias. - Namespace re-exports (e.g. `export * as Ns from "..."`) are now recognized as own exports of the barrel module. - [#​9254](https://redirect.github.com/biomejs/biome/pull/9254) [`f7bf12b`](https://redirect.github.com/biomejs/biome/commit/f7bf12bd53d783ce88650450603642f8034aeeeb) Thanks [@​ematipico](https://redirect.github.com/ematipico)! - Fixed [#​8842](https://redirect.github.com/biomejs/biome/issues/8842): The CSS formatter now correctly formats `@container scroll-state()` without adding an unwanted space between the function name and opening parenthesis. - [#​9211](https://redirect.github.com/biomejs/biome/pull/9211) [`2d0b8e6`](https://redirect.github.com/biomejs/biome/commit/2d0b8e62 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Symbolic link
1 line
19 B
Plaintext
Symbolic link
1 line
19 B
Plaintext
.python3-3.14.3.pkg |