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];
}
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 all-dependencies group with 5 updates in the / directory:
7.8.0
7.12.0
7.8.0
7.12.0
2.3.9
2.4.0
0.21.1
0.21.4
3.2.5
3.3.0
Updates
@typescript-eslint/eslint-plugin
from 7.8.0 to 7.12.0Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
7e93b28
chore(release): publish 7.12.0d0adcf1
docs: clarify what require-await does (#9200)04990d5
feat(eslint-plugin): [no-floating-promises] add option 'allowForKnownSafeProm...ad85249
docs: mention related ESLint rules in no-unused-vars page (#9198)e80a8d6
docs: improve description for no-dynamic-delete (#9195)9f92b30
docs: explicitly mention unbound-method limitation with thisArg (#9197)08a9448
docs: add example with PascalCase function components (#9196)5ca7f6e
feat(rule-tester): portcheckDuplicateTestCases
from ESLint (#9026)a9dd526
fix(eslint-plugin): [member-ordering] also TSMethodSignature can be get/set (...2619c3b
fix(eslint-plugin): [return-await] clean up in-try-catch detection and make a...Updates
@typescript-eslint/parser
from 7.8.0 to 7.12.0Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.Commits
7e93b28
chore(release): publish 7.12.02bbf656
fix(types): correct typing ParserOptions (#9202)e360541
chore(release): publish 7.11.0c18226e
chore(release): publish 7.10.077fc366
chore(release): publish 7.9.0f53fece
chore: add knip (#8192)Updates
@vscode/test-electron
from 2.3.9 to 2.4.0Changelog
Sourced from
@vscode/test-electron
's changelog.Commits
75003e1
2.4.067845f3
Merge pull request #272 from microsoft/connor4312/update-and-spinners813ab3a
chore: update dependencies, improve progress reporting appearence2d17e1e
Merge pull request #270 from microsoft/connor4312/unreleased-builds50afe68
fix: improve flexibility of runVSCodeCommand021f593
feat: allow downloading unreleased versions via -unreleased suffix884a3c8
Merge pull request #269 from microsoft/connor4312/node-CVE-2024-2798068fb5fb
2.3.103f7a3cc
feat: runVSCodeCommand as workaround for CVE-2024-2798040ecedf
Merge pull request #263 from microsoft/dependabot/npm_and_yarn/vite-2.9.18Updates
esbuild
from 0.21.1 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
prettier
from 3.2.5 to 3.3.0Release notes
Sourced from prettier's releases.
Changelog
Sourced from prettier's changelog.
Commits
c4ab460
Release 3.3.08a88cdc
RespecttrailingComma
in angular templates (#15926)c2e20fb
chore(deps): update babel to v7.24.6 (#16326)41f1dff
Add newline between markdown footnote definitions (#16063)da5ad84
chore(deps): update babel to v7.24.6 (#16325)f790be8
chore(deps): update dependency file-entry-cache to v9 (#16324)7250556
chore(deps): update dependency meriyah to v4.4.3 (#16323)96e057a
chore(deps): update dependency@angular/compiler
to v18 (#16322)a4ea5a2
chore(deps): update dependency eslint-plugin-regexp to v2.6.0 (#16320)229006c
chore(deps): update dependency micromatch to v4.0.7 (#16319)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