chore(deps): update all non-major dependencies #101
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.2.7->^2.3.2^2.6.5->^2.7.0^4.1.3->^4.2.0^3.19.2->^3.20.1^22.18.12->^22.18.1322.21.0->22.21.1^4.1.3->^4.2.010.19.0->10.20.010.19.0->10.20.0^4.0.1->^4.0.4Release Notes
biomejs/biome (@biomejs/biome)
v2.3.2Compare Source
Patch Changes
#7859
c600618Thanks @Netail! - Added the nursery rulenoIncrementDecrement, disallows the usage of the unary operators ++ and --.#7901
0d17b05Thanks @ematipico! - Fixed #7837, where Biome couldn't properly parse text expressions that contained nested curly brackets. This was breaking parsing in Astro and Svelte files.#7874
e617d36Thanks @Bertie690! - Fixed #7230:noUselessStringConcatno longer emits false positives for multi-line strings with leading+operators.Previously, the rule did not check for leading newlines on the
+operator, emitting false positives if one occurred at the start of a line.Notably, formatting with
operatorLinebreak="before"would move the+operators to the start of lines automatically, resulting in spurious errors whenever a multi-line string was used.Now, the rule correctly detects and ignores multi-line concatenations with leading operators as well, working regardless of the setting of
operatorLinebreak.Example
#7786
33ffcd5Thanks @daivinhtran! - Fixed #7601: Properly match Grit plugin's code snippet with only one child.#7901
0d17b05Thanks @ematipico! - Fixed #7837, where Biome Language Server panicked when opening HTML-ish files when the experimental full support is enabled.v2.3.1Compare Source
Patch Changes
#7840
72afdfaThanks @ematipico! - Fixed #7838, which caused the new--css-parse-*arguments not being recognised by thecicommand.#7789
d5b416eThanks @fronterior! - Fixed the LSP methodworkspace/didChangeWorkspaceFoldersto perform incremental updates instead of replacing the entire folder list.#7852
bd254c7Thanks @dyc3! - Fixed #7843: The CSS parser, whentailwindDirectivesis enabled, correctly parses--*: initial;.#7872
0fe13feThanks @dyc3! - Fixed #7861: The HTML parser will now accept Svelte attribute shorthand syntax in.sveltefiles.#7866
7b2600bThanks @dyc3! - Fixed #7860: The css parser, withtailwindDirectivesenabled, will now accept@pluginoptions.#7853
fe90c78Thanks @dyc3! - Fixed #7848: The css parser withtailwindDirectivesenabled will now correctly parse tailwind's source exclude syntax:@source not "foo.css";#7878
c9f7fe5Thanks @ematipico! - Fixed #7857: Biome now parses<script>tags as TypeScript when analysing.astrofiles.#7867
b42b718Thanks @smorimoto! - Fixed incorrect option name in HTML parser error message.The error message for disabled text expressions incorrectly referred
to the
html.parser.textExpressionoption, which does not exist.Updated it to reference the correct
html.parser.interpolationoption.v2.3.0Compare Source
Minor Changes
a3e3369Thanks @arendjr! - Biome's resolver now supportsbaseUrlif specified intsconfig.json.Example
Given the following file structure:
tsconfig.json{ "compilerOptions": { "baseUrl": "./src" } }src/foo.tsIn this scenario,
import { foo } from "foo";should work regardless of thelocation of the file containing the
importstatement.Fixes #6432.
#7745
6fcbc07Thanks @dyc3! - Addedignoreoption tonoUnknownAtRules. If an unknown at-rule matches any of the items provided inignore, a diagnostic won't be emitted.#7753
63cb7ffThanks @ematipico! - Enhanced theinitcommand. Theinitcommand now checks if the existing project contains known ignore files and known generated folders.If Biome finds
.gitignoreor.ignorefiles, it will add the following configuration tobiome.json:{ + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + } }If Biome finds a
dist/folder, it will exclude it automatically using the double-exclude syntax:{ + "files": { + "includes": ["**", "!!**/dist"] + } }#7548
85d3a3aThanks @siketyan! - The rules in a domain are no longer enabled automatically by the installed dependencies unless the rule is recommended.#7723
d3aac63Thanks @ematipico! - Added--css-parse-css-modulesCLI flag to control whether CSS Modules syntax is enabled.You can now enable or disable CSS Modules parsing directly from the command line:
#7723
d3aac63Thanks @ematipico! - Added--css-parse-tailwind-directivesCLI flag to control whether Tailwind CSS 4.0 directives and functions are enabled.You can now enable or disable Tailwind CSS 4.0 directive parsing directly from the command line:
#7330
272632fThanks @ematipico! - Updated the formatting of.svelteand.vuefiles. Now the indentation of the JavaScript blocks matches Prettier's:#7333
de0d2d6Thanks @dyc3! - Implemented theindentScriptAndStyleoption for vue and svelte files, with the default set tofalseto match Prettier'svueIndentScriptAndStyleoption. When enabled, this option indents the content within<script>and<style>tags to align with the surrounding HTML structure.It can be enabled with this configuration:
{ "html": { "formatter": { "indentScriptAndStyle": true } } }Which will format this code to:
#7359
ebbddc4Thanks @arendjr! - Deprecated the optionfiles.experimentalScannerIgnoresin favour of force-ignore syntax infiles.includes.files.includessupports ignoring files by prefixing globs with an exclamation mark (!). With this change, it also supports force-ignoring globs by prefixing them with a double exclamation mark (!!).The effect of force-ignoring is that the scanner will not index files matching the glob, even in project mode, even if those files are imported by other files, and even if they are files that receive special treatment by Biome, such as nested
biome.jsonfiles.Example
Let's take the following configuration:
{ "files": { "includes": [ "**", "!**/generated", "!!**/dist", "fixtures/example/dist/*.js" ] }, "linter": { "domains": { "project": "all" } } }This configuration achieves the following:
generatedfolder are not processed by the linter, but they will get indexed if a file outside ageneratedfolder imports them.distfolder are never indexed nor processed, not even if they are imported for any purpose, except:distfolder is insidefixtures/example/, its.jsfiles do get both indexed and processed.In general, we now recommend using the force-ignore syntax for any folders that contain output files, such as
build/anddist/. For such folders, it is highly unlikely that indexing has any useful benefits. For folders containing generated files, you may wish to use the regular ignore syntax so that type information can still be extracted from the files.experimentalScannerIgnoreswill continue to work for now, but you'll see a deprecation warning if you still use it.Run the
biome migrate --writecommand to automatically update the configuration file.#7698
3b6f5e3Thanks @ematipico! - Added a new reporter namedrdjson. This reporter prints diagnostics following the RDJSON format:The following command:
Will emit diagnostics in the following format:
{ "source": { "name": "Biome", "url": "https://biomejs.dev" }, "diagnostics": [ { "code": { "url": "https://biomejs.dev/linter/rules/no-unused-imports", "value": "lint/correctness/noUnusedImports" }, "location": { "path": "index.ts", "range": { "end": { "column": 11, "line": 0 }, "start": { "column": 7, "line": 0 } } }, "message": "This import is unused." }, { "code": { "url": "https://biomejs.dev/linter/rules/no-unused-imports", "value": "lint/correctness/noUnusedImports" }, "location": { "path": "index.ts", "range": { "end": { "column": 10, "line": 1 }, "start": { "column": 9, "line": 1 } } }, "message": "Several of these imports are unused." } ] }#7719
188a767Thanks @cadunass! - TheformatWithErrorsoption can now be set via CLI using the--format-with-errorsflag.This flag was previously only available in the configuration file. It allows formatting to proceed on files with syntax errors, which is useful during development when you want to auto-format code while fixing syntax issues.
Example
#7723
d3aac63Thanks @ematipico! - Added--json-parse-allow-commentsCLI flag to control whether comments are allowed in JSON files.You can now enable or disable comment parsing in JSON files directly from the command line:
#7723
d3aac63Thanks @ematipico! - Added--json-parse-allow-trailing-commasCLI flag to control whether trailing commas are allowed in JSON files.You can now enable or disable trailing comma parsing in JSON files directly from the command line:
#7758
cea002fThanks @ematipico! - Promoted new lint rules:noNonNullAssertedOptionalChainto the suspicious groupuseReactFunctionComponentsto thestylegroupuseImageSizeto thecorrectnessgroupuseConsistentTypeDefinitionsto thestylegroupuseQwikClasslistto thecorrectnessgroupnoSecretsto thesecuritygroupRemoved the lint rule
useAnchorHref, because its use case is covered byuseValidAnchor.#6356
296627dThanks @wrick17! - Added the newcheckstylereporter. When--reporter=checkstyleis passed to the CLI, Biome will emit diagnostics for Checkstyle format:#7488
b13e524Thanks @kpapa05! - Added "@rbxts/react" as an alias for "react" for handling the reactClassic jsxRuntime.#7536
0bccd34Thanks @TheAlexLichter! - Added.oxlintrc.jsonto well-known files.#7548
85d3a3aThanks @siketyan! - The following rules are now a part of thereactdomain, and they won't be enabled automatically unless you enabled the domain, or Biome detectsreactas a dependency of your closestpackage.json:lint/correctness/noChildrenProp(recommended)lint/correctness/noReactPropAssignmentslint/security/noDangerouslySetInnerHtml(recommended)lint/security/noDangerouslySetInnerHtmlWithChildren(recommended)lint/style/useComponentExportOnlyModuleslint/suspicious/noArrayIndexKey(recommended)#7667
480909aThanks @ematipico! - Added the ability to show severityInformationdiagnostics in reporter outputs.If one or more rules are triggered, and they are configured to emit an
Informationdiagnostic, now they're counted in the final output:#7702
28e8860Thanks @ematipico! - Added linting and assist support for.htmlfiles, with addition of two new configurations:html.linter.enabledhtml.assist.enabledThe HTML linter, in this release, only contains the rule
noHeaderScope. More rules will be released in the upcoming releases.#7164
f66b0c5Thanks @dyc3! - Added a new CSS parser optiontailwindDirectives. Enabling this option will allow all of Tailwind v4's syntax additions to be parsed and formatted by Biome.You can enable this by setting
css.parser.tailwindDirectivestotruein your Biome configuration.{ "css": { "parser": { "tailwindDirectives": true } } }#7669
6ed4d16Thanks @barklund! - React 19.2 support is now supported in Biome:useEffectEventlikeuseRefinuseExhaustiveDependencies<Activity />to known React APIs.#7702
28e8860Thanks @ematipico! - Added experimental full support for HTML, Vue, Svelte and Astro files. In this release, the HTML parserhas been enhanced, and it's now able to parse
.vue,.svelteand.astrofiles.This means that now Biome is able to lint and format the JavaScript (TypeScript), HTML and CSS code that is contained in these files.
Now that the main architecture is stable and working, in the upcoming patches and minors we will also fix possible inaccuracies and edge cases coming from existing lint rules, such as
noUnusedVariablesinside<script>blocks or frontmatter.The support is considered experimental because there might be cases that aren't fine-parsed yet, hence causing possible inaccuracies when it comes to formatting and linting.
#7599
09445c8Thanks @anaisbetts! - #### lineEnding has a new optionautoThe option
lineEndingnow has a variant calledautoto match the operating system's expectedline-ending style: on Windows, this will be CRLF (
\r\n), and on macOS / Linux, this willbe LF (
\n).This allows for cross-platform projects that use Biome not to have to
force one option or the other, which aligns better with Git's default behavior
on these platforms.
Example usage:
{ "formatter": { "lineEnding": "auto" } }#7392
e4feb8eThanks @ematipico! - Added new capabilities to the CLI arguments--skipand--only, available to thebiome lintcommand.--skipand--onlycan now accept domain names; when provided, Biome will run or skip all the rules that belong to a certain domain.For example, the following command will only run the rules that belong to the next domain:
Another example, the following command will skip the rules that belong to the project domain:
#7702
28e8860Thanks @ematipico! - Added a new option calledhtml.interpolation. This option enables the parsing of text expressions (or interpolation) in HTML files.The following
file.htmlwill be correctly formatted:To note that
html.interpolationonly parses text expressions that are delimited by double curly braces ({{ }}). The content of expressions is parsed as normal text.Patch Changes
#7712
fcc9b42Thanks @minht11! - Added new ruleuseVueDefineMacrosOrderwhich allows enforcing specific order for Vue compiler macros.In this example, the rule will suggest moving
definePropsbeforedefineEmits:#7698
3b6f5e3Thanks @ematipico! - Fixed an issue where the JUnit reporter returned a zero-based location. Now the location returned is one-based.#7819
ef45056Thanks @ematipico! - Fixed #7788. Removes some error logging that were emitted when loading possible configuration files.#7593
e51dd55Thanks @arendjr! - Fixed an issue with thefiles.maxSizesetting. Previously the setting would always be looked up in the root settings, even in monorepos where a closerbiome.jsonis available. It now correctly uses the nearest configuration.#7825
ad55b35Thanks @Conaclos! - Fixed #7798. useNamingConvention no longer panics when it encounters a name that consists of a single dollar sign$that doesn't match a custom convention.#7764
93be2abThanks @gaauwe! - Fixed #6589: Biome now properly loads extension settings before loading the configuration file when opening a text document in the LSP server.nuxt/devtools (@nuxt/devtools)
v2.7.0Compare Source
Bug Fixes
2.6.5 (2025-09-20)
Bug Fixes
2.6.4 (2025-09-19)
Bug Fixes
textContentinstead ofinnerHtmlfor auth pagechore: update lock (7cadbbe)2.6.3 (2025-08-22)
2.6.2 (2025-07-02)
Bug Fixes
2.6.1 (2025-07-01)
Bug Fixes
@nuxt/schema(#872) (62443ec)nuxt/nuxt (@nuxt/kit)
v4.2.0Compare Source
👀 Highlights
We're excited to announce Nuxt 4.2, bringing new capabilities for better TypeScript DX, enhanced error handling, and improved control over data fetching! 🎉
🎯 Abort Control for Data Fetching
You can now use
AbortControllersignals directly withinuseAsyncData, giving you fine-grained control over request cancellation (#32531).This works by passing an internal signal to your
useAsyncDatahandlerto cancel any promise that can be canceled, such as$fetch.You also pass an
AbortControllersignal directly torefresh/execute, giving you fine-grained control over request cancellation. This is particularly useful when you need to abort requests based on user actions or component lifecycle events.🎨 Better Error Pages in Development
When an error occurs during development, Nuxt will now display both your custom error page and a detailed technical error overlay (#33359). This gives you the best of both worlds – you can see what your users will experience while also having immediate access to stack traces and debugging information.
The technical overlay appears as a toggleable panel that doesn't interfere with your custom error page, making it easier to debug issues while maintaining a realistic preview of your error handling.
🔮 Opt-in Vite Environment API
For those wanting to experiment with cutting-edge features, you can now opt into the Vite Environment API (#33492).
The Vite Environment API is a major architectural improvement in Vite 6. It closes the gap between development and production by allowing the Vite dev server to handle multiple environments concurrently (rather than requiring multiple Vite dev servers, as we have done previously in Nuxt).
This should improve performance when developing and eliminate some edge case bugs.
... and it is the foundation for implementing Nitro as a Vite environment, which should speed up the dev server still further, as well as allowing more greater alignment in development with your Nitro preset.
This is also the first breaking change for Nuxt v5. You can opt in to these breaking changes by setting
compatibilityVersionto5:Please only use this for testing, as this opts in to unlimited future breaking changes, including updating to Nitro v3 once we ship the Nuxt integration.
📦 New
@nuxt/nitro-serverPackageWe've extracted Nitro server integration into its own package:
@nuxt/nitro-server(#33462). This architectural change allows for different Nitro integration patterns and paves the way for future innovations in server-side rendering.While this change is mostly internal, it's part of our ongoing effort to make Nuxt more modular and flexible. The new package provides standalone Nitro integration and sets the foundation for alternative integration approaches (such as using Nitro as a Vite plugin in Nuxt v5+).
⚡ Performance Improvements
We've also shipped several performance enhancements:
📉 Async Data Handler Extraction
One of the most exciting performance improvements is the new experimental async data handler extraction (#33131). When enabled, handler functions passed to
useAsyncDataanduseLazyAsyncDataare automatically extracted into separate chunks and dynamically imported.This is particularly effective for prerendered static sites, as the data fetching logic is only needed at build time and can be completely excluded from the client bundle.
For static/prerendered sites, enable it in your config:
The extracted handlers are then tree-shaken from your client bundle when prerendering, as the data is already available in the payload. This results in significantly smaller JavaScript files shipped to your users.
🔧 Experimental TypeScript Plugin Support
We're introducing experimental support for enhanced TypeScript developer experience through the
@dxup/nuxtmodule.This module adds a number of TypeScript plugins that aim to improve your experience when using Nuxt-specific features:
import(\~/assets/${name}.webp`)`$fetch,useFetch,useLazyFetch)@dxup/unimportplugin for better navigation with auto-imported composables and utilitiesTo enable this feature, set
experimental.typescriptPlugintotruein your Nuxt configuration:Once enabled, the module will be automatically installed and configured by Nuxt.
🎁 Other Improvements
declarationPath– You can now specify a custom declaration path for components (#33419)resolveModulenow accepts anextensionsoption (#33328)setGlobalHeadutility in kit for easier head management (#33512)🩹 Important Fixes
routeRules(#33222)loadNuxtConfigwith proper cleanup (#33420)hrefnow works correctly in<NuxtLink>(c69e4c30d)h()function (#33509)✅ Upgrading
Our recommendation for upgrading is to run:
This will refresh your lockfile and pull in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
declarationPath(#33419)extensionsoption forresolveModule(#33328)useAsyncData(#32531)future.compatibilityVersionto5(22f4693a1)setGlobalHeadutility (#33512)🔥 Performance
🩹 Fixes
routeRules(#33222)loadNuxtConfigin concurrent calls (#33420)hrefin<NuxtLink>(c69e4c30d)mergeModelsfrom auto imports (#33344)shortPathproperty (#33384)declarationPathfrom component dirs (191bcb7e9)isPrerenderedcheck (#33476)h()(#33509)NuxtTimerelative timenumericprop (#33552)NuxtTimerelative timerelativeStyleprop (#33557)optimizeDeps.includefor server environment (#33550)💅 Refactors
shortPathproperty (#33384)extend,extendConfig, andconfigResolvedhooks (e060b9695)@nuxt/nitro-serverpackage (#33462)RouteLocationNormalizedLoadedGenericinternally (b51cb3067)📖 Documentation
addServerPluginnote (#33409)declarationPathinaddComponent(#33380)getLayerDirectories()instead ofnuxt.options._layers(#33484)4.xprefix (5c0bb9285)moduleDependencies(#33499)🏡 Chore
test:prepare(6ef632b82)test:prepare([eca36cfe5](https://redirect.github.com/Configuration
📅 Schedule: Branch creation - "every 7 day" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.