Fix Symbol.metadata on classes without a class decorator (#3781)
This release fixes a bug with esbuild's support for the decorator metadata proposal. Previously esbuild only added the Symbol.metadata property to decorated classes if there was a decorator on the class element itself. However, the proposal says that the Symbol.metadata property should be present on all classes that have any decorators at all, not just those with a decorator on the class element itself.
Allow unknown import attributes to be used with the copy loader (#3792)
Import attributes (the with keyword on import statements) are allowed to alter how that path is loaded. For example, esbuild cannot assume that it knows how to load ./bagel.js as type bagel:
// This is an error with "--bundle" without also using "--external:./bagel.js"
import tasty from "./bagel.js" with { type: "bagel" }
Because of that, bundling this code with esbuild is an error unless the file ./bagel.js is external to the bundle (such as with --bundle --external:./bagel.js).
However, there is an additional case where it's ok for esbuild to allow this: if the file is loaded using the copy loader. That's because the copy loader behaves similarly to --external in that the file is left external to the bundle. The difference is that the copy loader copies the file into the output folder and rewrites the import path while --external doesn't. That means the following will now work with the copy loader (such as with --bundle --loader:.bagel=copy):
// This is no longer an error with "--bundle" and "--loader:.bagel=copy"
import tasty from "./tasty.bagel" with { type: "bagel" }
Support import attributes with glob-style imports (#3797)
This release adds support for import attributes (the with option) to glob-style imports (dynamic imports with certain string literal patterns as paths). These imports previously didn't support import attributes due to an oversight. So code like this will now work correctly:
Previously this didn't work even though esbuild normally supports forcing the JSON loader using an import attribute. Attempting to do this used to result in the following error:
✘ [ERROR] No loader is configured for ".data" files: locales/en-US.data
In addition, this change means plugins can now access the contents of with for glob-style imports.
Support ${configDir} in tsconfig.json files (#3782)
This adds support for a new feature from the upcoming TypeScript 5.5 release. The character sequence ${configDir} is now respected at the start of baseUrl and paths values, which are used by esbuild during bundling to correctly map import paths to file system paths. This feature lets base tsconfig.json files specified via extends refer to the directory of the top-level tsconfig.json file. Here is an example:
Fix Symbol.metadata on classes without a class decorator (#3781)
This release fixes a bug with esbuild's support for the decorator metadata proposal. Previously esbuild only added the Symbol.metadata property to decorated classes if there was a decorator on the class element itself. However, the proposal says that the Symbol.metadata property should be present on all classes that have any decorators at all, not just those with a decorator on the class element itself.
Allow unknown import attributes to be used with the copy loader (#3792)
Import attributes (the with keyword on import statements) are allowed to alter how that path is loaded. For example, esbuild cannot assume that it knows how to load ./bagel.js as type bagel:
// This is an error with "--bundle" without also using "--external:./bagel.js"
import tasty from "./bagel.js" with { type: "bagel" }
Because of that, bundling this code with esbuild is an error unless the file ./bagel.js is external to the bundle (such as with --bundle --external:./bagel.js).
However, there is an additional case where it's ok for esbuild to allow this: if the file is loaded using the copy loader. That's because the copy loader behaves similarly to --external in that the file is left external to the bundle. The difference is that the copy loader copies the file into the output folder and rewrites the import path while --external doesn't. That means the following will now work with the copy loader (such as with --bundle --loader:.bagel=copy):
// This is no longer an error with "--bundle" and "--loader:.bagel=copy"
import tasty from "./tasty.bagel" with { type: "bagel" }
Support import attributes with glob-style imports (#3797)
This release adds support for import attributes (the with option) to glob-style imports (dynamic imports with certain string literal patterns as paths). These imports previously didn't support import attributes due to an oversight. So code like this will now work correctly:
Previously this didn't work even though esbuild normally supports forcing the JSON loader using an import attribute. Attempting to do this used to result in the following error:
✘ [ERROR] No loader is configured for ".data" files: locales/en-US.data
In addition, this change means plugins can now access the contents of with for glob-style imports.
Support ${configDir} in tsconfig.json files (#3782)
This adds support for a new feature from the upcoming TypeScript 5.5 release. The character sequence ${configDir} is now respected at the start of baseUrl and paths values, which are used by esbuild during bundling to correctly map import paths to file system paths. This feature lets base tsconfig.json files specified via extends refer to the directory of the top-level tsconfig.json file. Here is an example:
Bumps the vscode-deps group with 10 updates in the /editors/vscode directory:
20.11.28
20.14.2
7.2.0
7.12.0
7.2.0
7.12.0
2.24.0
2.27.0
0.20.2
0.21.5
8.57.0
9.4.0
16.6.2
17.8.1
6.1.1
6.2.0
0.8.3
0.9.1
3.2.5
3.3.1
Updates
@types/node
from 20.11.28 to 20.14.2Commits
Updates
@typescript-eslint/eslint-plugin
from 7.2.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.2.0 to 7.12.0Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
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)ee677f6
chore(release): publish 7.8.03e19436
chore(release): publish 7.7.1e44a1a2
chore(release): publish 7.7.0e1db872
chore(release): publish 7.6.0Updates
@vscode/vsce
from 2.24.0 to 2.27.0Release notes
Sourced from
@vscode/vsce
's releases.... (truncated)
Commits
f3c15a2
set pipeline name (#991)86ef072
fix: paths with spaces (#990)cfc734c
fix executing sign tool (#988)d6bcc3d
fix sign tool arg (#987)f8acdd9
Merge pull request #986 from microsoft/sandy081/signac401b7
feedback87fcf52
fix sign tool arg0690689
feedbacka1ededd
fix version007e4f4
doc - add where .signature.zip is generatedUpdates
esbuild
from 0.20.2 to 0.21.5Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
fc37c2f
publish 0.21.5 to npmcb11924
fixSymbol.metadata
errors in decorator testsb93a2a9
fix #3781: add metadata to all decorated classes953dae9
fix #3797: import attributes and glob-style import98cb2ed
fix #3782: support${configDir}
in tsconfig.json8e6603b
runmake update-compat-table
db1b8ca
fix #3792: import attributes and thecopy
loaderde572d0
fix non-deterministic import attribute plugin testae8d1b4
fix #3794:--supported:object-accessors=false
67cbf87
publish 0.21.4 to npmUpdates
eslint
from 8.57.0 to 9.4.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
a5f7e58
9.4.08c6d0c3
Build: changelog update for 9.4.0010dd2e
chore: upgrade to@eslint/js@9.4.0
(#18534)5e1b5dc
chore: package.json update for@eslint/js
released7ab6f5
docs: update theme when whenprefers-color-scheme
changes (#18510)594145f
refactor: switch to@eslint/config-array
(#18527)525fdff
docs: fix components files (#18519)89a4a0a
feat: ignore IIFE's in theno-loop-func
rule (#17528)80747d2
docs: refactorprefer-destructuring
rule (#18472)f6534d1
fix: skip processor code blocks that match only universal patterns (#18507)Updates
eslint-plugin-n
from 16.6.2 to 17.8.1Release notes
Sourced from eslint-plugin-n's releases.
... (truncated)
Changelog
Sourced from eslint-plugin-n's changelog.