Allow suppression comments to suppress individual instances of rules. This is
used for the lint rule useExhaustiveDependencies, which is now able to
suppress specific dependencies. Fixes #2509. Contributed by @arendjr
Enhancements
Assume Astro object is always a global when processing .astro files. Contributed by @minht11
Assume Vue compiler macros are globals when processing .vue files. (#2771) Contributed by @dyc3
CLI
New features
New clean command. Use this new command to clean after the biome-logs directory, and remove all the log files.
biome clean
Add two new options --only and --skip to the command biome lint (#58).
The --only option allows you to run a given rule or rule group,
For example, the following command runs only the style/useNamingConvention and style/noInferrableTypes rules.
If the rule is disabled in the configuration, then its severity level is set to error for a recommended rule or warn otherwise.
Passing a group does not change the severity level of the rules in the group.
All the disabled rules in the group will remain disabled.
To ensure that the group is run, the recommended field of the group is enabled.
The nursery group cannot be passed, as no rules are enabled by default in the nursery group.
The --skip option allows you to skip the execution of a given group or a given rule.
For example, the following command skips the style group and the suspicious/noExplicitAny rule.
You can also use --only and --skip together. --skip oevrrides --only.
The following command executes only the rules from the style group, but the style/useNamingConvention rule.
Allow suppression comments to suppress individual instances of rules. This is
used for the lint rule useExhaustiveDependencies, which is now able to
suppress specific dependencies. Fixes #2509. Contributed by @arendjr
Enhancements
Assume Astro object is always a global when processing .astro files. Contributed by @minht11
Assume Vue compiler macros are globals when processing .vue files. (#2771) Contributed by @dyc3
CLI
New features
New clean command. Use this new command to clean after the biome-logs directory, and remove all the log files.
biome clean
Add two new options --only and --skip to the command biome lint (#58).
The --only option allows you to run a given rule or rule group,
For example, the following command runs only the style/useNamingConvention and style/noInferrableTypes rules.
If the rule is disabled in the configuration, then its severity level is set to error for a recommended rule or warn otherwise.
Passing a group does not change the severity level of the rules in the group.
All the disabled rules in the group will remain disabled.
To ensure that the group is run, the recommended field of the group is enabled.
The nursery group cannot be passed, as no rules are enabled by default in the nursery group.
The --skip option allows you to skip the execution of a given group or a given rule.
For example, the following command skips the style group and the suspicious/noExplicitAny rule.
You can also use --only and --skip together. --skip oevrrides --only.
The following command executes only the rules from the style group, but the style/useNamingConvention rule.
Update support for import assertions and import attributes in node (#3778)
Import assertions (the assert keyword) have been removed from node starting in v22.0.0. So esbuild will now strip them and generate a warning with --target=node22 or above:
▲ [WARNING] The "assert" keyword is not supported in the configured target environment ("node22") [assert-to-with]
example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
│ ~~~~~~
╵ with
Did you mean to use "with" instead of "assert"?
Import attributes (the with keyword) have been backported to node 18 starting in v18.20.0. So esbuild will no longer strip them with --target=node18.N if N is 20 or greater.
Fix for await transform when a label is present
This release fixes a bug where the for await transform, which wraps the loop in a try statement, previously failed to also move the loop's label into the try statement. This bug only affects code that uses both of these features in combination. Here's an example of some affected code:
// Original code
async function test() {
outer: for await (const x of [Promise.resolve([0, 1])]) {
for (const y of x) if (y) break outer
throw 'fail'
}
}
// Old output (with --target=es6)
function test() {
return __async(this, null, function* () {
outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
const x = temp.value;
for (const y of x) if (y) break outer;
throw "fail";
}
} catch (temp) {
error = [temp];
} finally {
try {
more && (temp = iter.return) && (yield temp.call(iter));
} finally {
if (error)
throw error[0];
}
}
Update support for import assertions and import attributes in node (#3778)
Import assertions (the assert keyword) have been removed from node starting in v22.0.0. So esbuild will now strip them and generate a warning with --target=node22 or above:
▲ [WARNING] The "assert" keyword is not supported in the configured target environment ("node22") [assert-to-with]
example.mjs:1:40:
1 │ import json from "esbuild/package.json" assert { type: "json" }
│ ~~~~~~
╵ with
Did you mean to use "with" instead of "assert"?
Import attributes (the with keyword) have been backported to node 18 starting in v18.20.0. So esbuild will no longer strip them with --target=node18.N if N is 20 or greater.
Fix for await transform when a label is present
This release fixes a bug where the for await transform, which wraps the loop in a try statement, previously failed to also move the loop's label into the try statement. This bug only affects code that uses both of these features in combination. Here's an example of some affected code:
// Original code
async function test() {
outer: for await (const x of [Promise.resolve([0, 1])]) {
for (const y of x) if (y) break outer
throw 'fail'
}
}
// Old output (with --target=es6)
function test() {
return __async(this, null, function* () {
outer: try {
for (var iter = __forAwait([Promise.resolve([0, 1])]), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
const x = temp.value;
for (const y of x) if (y) break outer;
throw "fail";
}
} catch (temp) {
error = [temp];
} finally {
try {
more && (temp = iter.return) && (yield temp.call(iter));
} finally {
if (error)
throw error[0];
}
Don't set retainLines: true when the React compiler is used. This creates whitespace issues and the compiler is modifying the JSX too much to get correct line numbers after that. If you want to use the React compiler and get back correct line numbers for tools like vite-plugin-react-click-to-component to work, you should update your config to something like:
Don't set retainLines: true when the React compiler is used. This creates whitespace issues and the compiler is modifying the JSX too much to get correct line numbers after that. If you want to use the React compiler and get back correct line numbers for tools like vite-plugin-react-click-to-component to work, you should update your config to something like:
Bumps the dev-dependencies group with 14 updates in the / directory:
1.7.0
1.8.0
13.7.3
13.11.0
0.20.2
0.21.4
7.6.0
7.6.2
16.3.1
16.6.1
4.7.2
4.13.2
4.2.1
4.3.0
18.2.0
18.3.1
18.2.79
18.3.3
18.2.0
18.3.1
18.2.25
18.3.0
5.2.8
5.2.13
18.2.0
18.3.1
24.0.0
24.1.0
Updates
@biomejs/biome
from 1.7.0 to 1.8.0Release notes
Sourced from
@biomejs/biome
's releases.... (truncated)
Changelog
Sourced from
@biomejs/biome
's changelog.... (truncated)
Commits
378c05e
release: v1.8.0 (#3033)44b5c29
refactor(noEvolvingAny): rename into noEvolvingTypes (#2959)bc30892
feat(noUnusedFunctionParameters): add lint for unused function parameters, in...9a7d790
feat: addnoLabelWithoutControl
rule (#2987)21e2512
feat: allow"info"
severity for analyzer rules (#3014)f793b72
feat(linter): implementuseDateNow
(#2925)e52084a
feat(css_parser): add parsing css modules@value
at rule (#2985)fec262f
feat(linter): implement useErrorMessage (#2978)b3da3ae
refactor(migrate/eslint): improve naming-convention migration (#2968)125f34b
ci: fix nightly version and restore update of manifest (#2953)Updates
cypress
from 13.7.3 to 13.11.0Release notes
Sourced from cypress's releases.
Commits
09c6876
chore: release 13.11.0 (#29615)e790891
feat: add option to ignore chrome preferences (#29447)4ccdd86
misc: Add generic types to net-stubbing for use in intercept and wait (#29508)687eb60
fix: Launchpad perpetual loading state, in certain circumstances (#29597)f2894c4
perf: optimize reduce in wrapConsoleProps (#29501)41faa7e
chore: Update Chrome (stable) to 125.0.6422.141 and Chrome (beta) to 126.0.64...ea83415
chore: move questions-remain into cypress repo (#29542)e6b422c
chore: release@cypress/webpack-dev-server-v3
.9.0cf6b29d
feat: support Next.JS version 14 (#29558)2cf5cf8
chore(deps): Security upgrade micromatch from 4.0.4 to 4.0.6 (#29559)Updates
esbuild
from 0.20.2 to 0.21.4Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
67cbf87
publish 0.21.4 to npm4ad11c3
fix #3639, fix #3646: passwith
toonResolve
516ca31
fix #3343: allow bundle-internal string aliases9e2f304
fix #3416, fix #3425: better enum constant folding8f1faf7
implement late constant-folding for&& || ??
7d50a50
implement late constant-folding of string enums1b29ac7
fold equality checks after cross-module inliningd7a8bf3
formatting support for@position-try
(for #3773)5069410
fix #3778: import assertions/attributes for node11d568c
runmake update-compat-table
Updates
semver
from 7.6.0 to 7.6.2Release notes
Sourced from semver's releases.
Changelog
Sourced from semver's changelog.
Commits
eb1380b
chore: release 7.6.2 (#714)6466ba9
fix(lru): use map.delete() directly (#713)d777418
chore: release 7.6.1 (#706)988a8de
deps: uninstalllru-cache
(#709)5feeb7f
chore: postinstall for dependabot template-oss PRdd09b60
chore: bump@npmcli/template-oss
to 4.22.0c570a34
fix(linting): no-unused-varsad8ff11
fix: use internal cache implementation3fabe4d
deps: remove lru-cacheec49cdc
chore: chore: chore: postinstall for dependabot template-oss PRUpdates
stylelint
from 16.3.1 to 16.6.1Release notes
Sourced from stylelint's releases.
Changelog
Sourced from stylelint's changelog.
Commits
d902c0b
16.6.142d08bd
Prepare 16.6.1 (#7721)b4f74e5
Ignoretmp/
from Prettier (#7726)62b58bc
Fixno-descending-specificity
false positives for nested selectors (#7724)72ec18a
Refactor to use shared constant fordisabledRanges
object (#7722)b85be3c
Fix typo in rules.md (#7717)9478c71
Bump file-entry-cache from 8.0.0 to 9.0.0 (#7720)211908b
Fixselector-type-no-unknown
false positive formodel
(#7718)fa85a70
Bump lint-staged from 15.2.4 to 15.2.5 (#7719)44de825
Bump lint-staged from 15.2.2 to 15.2.4 (#7713)Updates
tsx
from 4.7.2 to 4.13.2Release notes
Sourced from tsx's releases.
... (truncated)
Commits
87a7683
fix(esm): ignore transforming .js files with CJS syntax (#40)0a78bfd
fix(esm/api):tsImport()
to parse CJS exports0eb4e91
feat(esm/api):tsImport()
to support loading CommonJS filesc703300
feat(cjs/api):register()
to support namespace (#35)4be7c7e
refactor(cjs): implement custom resolver (#36)de900a1
fix(esm): resolve implicit ts paths in packagesbd56e84
docs: remove duplicateTracking loaded files
section (#573)9f04dae
docs: clarify programmatic api usage7c85303
fix(esm): named import from CommonJS file (#33)e1464cf
feat(cjs): support query for cache busting (#37)Updates
@vitejs/plugin-react
from 4.2.1 to 4.3.0Release notes
Sourced from
@vitejs/plugin-react
's releases.Changelog
Sourced from
@vitejs/plugin-react
's changelog.Commits
7e7322a
release: plugin-react@4.3.04b4a95c
fix: don't use retainLines with react compiler (#319)2b7f2ae
fix: support HMR for class components (#320)302a323
docs: add minimum react version (#321)9ebfe68
chore: bump deps (#318)Updates
react
from 18.2.0 to 18.3.1Release notes
Sourced from react's releases.
Changelog
Sourced from react's changelog.
Commits
f1338f8
ExportReact.act
from 18.3d6c42f7
Bump to 18.3.173bfaa1
Turn on key spread warning in jsx-runtime for everyone (#25697)c2a246e
Turn on string ref deprecation warning for everybody (not codemoddable) (#25383)2cfb474
Bump version from 18.2 to 18.3Maintainer changes
This version was pushed to npm by react-bot, a new releaser for react since your current version.
Updates
@types/react
from 18.2.79 to 18.3.3Commits
Superseded by #971.