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];
}
}
This changelog documents all esbuild versions published in the year 2023 (versions 0.16.13 through 0.19.11).
0.19.11
Fix TypeScript-specific class transform edge case (#3559)
The previous release introduced an optimization that avoided transforming super() in the class constructor for TypeScript code compiled with useDefineForClassFields set to false if all class instance fields have no initializers. The rationale was that in this case, all class instance fields are omitted in the output so no changes to the constructor are needed. However, if all of this is the case and there are #private instance fields with initializers, those private instance field initializers were still being moved into the constructor. This was problematic because they were being inserted before the call to super() (since super() is now no longer transformed in that case). This release introduces an additional optimization that avoids moving the private instance field initializers into the constructor in this edge case, which generates smaller code, matches the TypeScript compiler's output more closely, and avoids this bug:
// Original code
class Foo extends Bar {
#private = 1;
public: any;
constructor() {
super();
}
}
// Old output (with esbuild v0.19.9)
class Foo extends Bar {
constructor() {
super();
this.#private = 1;
}
#private;
}
// Old output (with esbuild v0.19.10)
class Foo extends Bar {
constructor() {
this.#private = 1;
super();
}
#private;
}
// New output
class Foo extends Bar {
#private = 1;
constructor() {
super();
}
}
Minifier: allow reording a primitive past a side-effect (#3568)
The minifier previously allowed reordering a side-effect past a primitive, but didn't handle the case of reordering a primitive past a side-effect. This additional case is now handled:
Since reverting to nwsapi causes several functionality regressions, e.g. removing :has() support, we've decided to make this a major version.
Additionally:
Small fixes to edge-case behavior of the following properties: input.maxLength, input.minLength, input.size, progress.max, tableCell.colSpan, tableCell.rowSpan, tableCol.span, textArea.cols, textArea.maxLength, textArea.minLength, textArea.rows.
Version 23.2.0
This release switches our CSS selector engine from nwsapi to @asamuzakjp/dom-selector. The new engine is more actively maintained, and supports many new selectors: see the package's documentation for the full list. It also works better with shadow trees.
There is a potential of a performance regression due to this change. In our stress test benchmark, which runs most of these 273 selectors against this 128 KiB document, the new engine completes the benchmark only 0.25x as fast. However, we're hopeful that in more moderate usage this will not be a significant issue. Any help speeding up @asamuzakjp/dom-selector is appreciated, and feel free to open an issue if this has had a significant impact on your project.
Version 23.1.0
Added an initial implementation of ElementInternals, including the shadowRoot getter and the string-valued ARIA properties. (zjffun)
Added the string-valued ARIA attribute-reflecting properties to Element.
Fixed history.pushState() and history.replaceState() to follow the latest specification, notably with regards to how they handle empty string inputs and what new URLs are possible.
Fixed the input.valueAsANumber setter to handle NaN correctly. (alexandertrefz)
Updated various dependencies, including cssstyle which contains several bug fixes.
Version 23.0.1
Fixed the incorrect canvas peer dependency introduced in v23.0.0.
Version 23.0.0
Node.js v18 is now the minimum supported version.
Updated various dependencies, including whatwg-url which integrates various additions to the URL and URLSearchParams objects.
Version 22.1.0
Added crypto.randomUUID(). (jamesbvaughan)
Added DOMRect and DOMRectReadOnly.
Added AbortSignal.timeout().
Added abortSignal.throwIfAborted().
Added support for the submitter argument to the FormData constructor. (jenseng)
Improved getComputedStyle()'s results for color-based properties, to resolve named colors and attempt to provide initial inheritance support. (hoekz-wwt)
Updated Window's event handler properties (e.g. oncopy, ontouchstart, etc.) to reflect the latest list from the standard.
Fixed DOMParser-created documents to inherit their URL from the creating document.
Since reverting to nwsapi causes several functionality regressions, e.g. removing :has() support, we've decided to make this a major version.
Additionally:
Small fixes to edge-case behavior of the following properties: input.maxLength, input.minLength, input.size, progress.max, tableCell.colSpan, tableCell.rowSpan, tableCol.span, textArea.cols, textArea.maxLength, textArea.minLength, textArea.rows.
23.2.0
This release switches our CSS selector engine from nwsapi to @asamuzakjp/dom-selector. The new engine is more actively maintained, and supports many new selectors: see the package's documentation for the full list. It also works better with shadow trees.
There is a potential of a performance regression due to this change. In our stress test benchmark, which runs most of these 273 selectors against this 128 KiB document, the new engine completes the benchmark only 0.25x as fast. However, we're hopeful that in more moderate usage this will not be a significant issue. Any help speeding up @asamuzakjp/dom-selector is appreciated, and feel free to open an issue if this has had a significant impact on your project.
23.1.0
Added an initial implementation of ElementInternals, including the shadowRoot getter and the string-valued ARIA properties. (zjffun)
Added the string-valued ARIA attribute-reflecting properties to Element.
Fixed history.pushState() and history.replaceState() to follow the latest specification, notably with regards to how they handle empty string inputs and what new URLs are possible.
Fixed the input.valueAsANumber setter to handle NaN correctly. (alexandertrefz)
Updated various dependencies, including cssstyle which contains several bug fixes.
23.0.1
Fixed the incorrect canvas peer dependency introduced in v23.0.0.
23.0.0
Node.js v18 is now the minimum supported version.
Updated various dependencies, including whatwg-url which integrates various additions to the URL and URLSearchParams objects.
22.1.0
Added crypto.randomUUID(). (jamesbvaughan)
Added DOMRect and DOMRectReadOnly.
Added AbortSignal.timeout().
Added abortSignal.throwIfAborted().
Added support for the submitter argument to the FormData constructor. (jenseng)
Improved getComputedStyle()'s results for color-based properties, to resolve named colors and attempt to provide initial inheritance support. (hoekz-wwt)
Updated Window's event handler properties (e.g. oncopy, ontouchstart, etc.) to reflect the latest list from the standard.
Fixed DOMParser-created documents to inherit their URL from the creating document.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dev-dependencies group with 8 updates in the /frontend directory:
1.4.1-nightly.570d680
1.8.0
3.2.3
3.2.4
14.4.3
14.5.2
18.17.5
20.14.2
0.17.10
0.21.4
21.1.1
24.1.0
4.7.0
4.14.0
4.9.5
5.4.5
Updates
@biomejs/biome
from 1.4.1-nightly.570d680 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
@testing-library/preact
from 3.2.3 to 3.2.4Release notes
Sourced from
@testing-library/preact
's releases.Commits
3e5394e
fix: onchange event with preact/compat enabled (#72)9fdc19b
ci: Bump Node versions to test against (#73)0e5bf37
Merge pull request #69 from testing-library/MichaelDeBoey-patch-1c234c5b
chore: removestyfle/cancel-workflow-action
usageUpdates
@testing-library/user-event
from 14.4.3 to 14.5.2Release notes
Sourced from
@testing-library/user-event
's releases.Commits
d036279
chore: upgradenode
in codesandbox910fee5
chore: set tsconfigbaseUrl
fa8d867
revert: swap release scriptc4b4629
chore: upgrade testing environment6a3c896
fix: remove interop and deep DTL importsd7483f0
fix: incorrect default import from@testing-library/dom
(#1162)4be87b3
chore: swap release scriptd95121d
chore: add --experimental-import-meta-resolve8779eae
chore: format, lint, fix lint4019cee
fix(exports): add a named export for userEventUpdates
@types/node
from 18.17.5 to 20.14.2Commits
Updates
esbuild
from 0.17.10 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
jsdom
from 21.1.1 to 24.1.0Release notes
Sourced from jsdom's releases.
... (truncated)
Changelog
Sourced from jsdom's changelog.
... (truncated)
Commits
4555914
Version 24.1.0a693107
Fix elements with names from Object.prototype8738255
Add regression test for comma selectora343932
Implement the getSetCookie() method of Headersf2fa507
Update URLs and fix grammar error7dc7ab9
Fix getComputedStyle() not-implemented messagef5f2468
Update dependencies and most dev dependenciesb32d82b
Fix wpt failure in overwritten-customElements-global.html2f8a730
Version 24.0.0db0a4dc
Implement the remaining types of numeric reflectionUpdates
tsx
from 4.7.0 to 4.14.0Release notes
Sourced from tsx's releases.
... (truncated)
Commits
4503421
feat: resolve .js → .ts inpackage.json
exports & mainc35dbaa
chore: add note about esm cjs interop optimization807f467
fix(esm): cjs interop to support decorators02d3856
fix(cjs): resolve directory import relative to parent (#42)89621bf
fix(esm): resolve .ts extension in imports map87a7683
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)Updates
typescript
from 4.9.5 to 5.4.5Release notes
Sourced from typescript's releases.
... (truncated)
Commits
27bcd4c
Update LKG9f33bf1
🤖 Pick PR #58098 (Fix constraints of nested homomorph...) into release-5.4 (#...71b2f84
Bump version to 5.4.5 and LKG892936f
🤖 Pick PR #58083 (Don't propagate partial union/inter...) into release-5.4 (#...38a7c05
release-5.4: Always set node-version for setup-node (#58117)b754fc3
🤖 Pick PR #57778 (fix type import check for default-i...) into release-5.4 (#...8eb3367
Bump version to 5.4.4 and LKGde9096b
🤖 Pick PR #57871 (Divide-and-conquer strategy for int...) into release-5.4 (#...06aae98
🤖 Pick PR #57973 (Compare package.json paths with cor...) into release-5.4 (#...6d8134e
🤖 Pick PR #57637 (Fixed a regression related to deter...) into release-5.4 (#...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show