Note for eslint plugin authors and other API consumers
TypeScript v5.3 shipped with a type change that was incompatible with our types. This change has been fixed and will be released in v5.3.3. Until that time you can work around this error using skipLibCheck.
Bug Fixes
typescript-estree: ensure backwards compat with pre-5.3 import attributes (#7967) (810fc8c)
eslint-plugin: [class-methods-use-this] detect a problematic case for private/protected members if ignoreClassesThatImplementAnInterface is set (#7705) (155aa1f)
eslint-plugin: [no-unnecessary-condition] fix false positive with computed member access and branded key type (#7706) (f151b26)
eslint-plugin: [switch-exhaustiveness-check] enum members with new line or single quotes are not being fixed correctly (#7806) (a034d0a), closes #7768
utils: add missing fields to flat config types (#7933) (533861a)
utils: allow string processor in flat config (024ed9e)
Features
[member-ordering] add accessor support for member-ordering (#7927) (3c8312d)
eslint-plugin: [class-methods-use-this] detect a problematic case for private/protected members if ignoreClassesThatImplementAnInterface is set (#7705) (155aa1f)
eslint-plugin: [no-unnecessary-condition] fix false positive with computed member access and branded key type (#7706) (f151b26)
eslint-plugin: [switch-exhaustiveness-check] enum members with new line or single quotes are not being fixed correctly (#7806) (a034d0a), closes #7768
Features
[member-ordering] add accessor support for member-ordering (#7927) (3c8312d)
Note for eslint plugin authors and other API consumers
TypeScript v5.3 shipped with a type change that was incompatible with our types. This change has been fixed and will be released in v5.3.3. Until that time you can work around this error using skipLibCheck.
Bug Fixes
typescript-estree: ensure backwards compat with pre-5.3 import attributes (#7967) (810fc8c)
eslint-plugin: [class-methods-use-this] detect a problematic case for private/protected members if ignoreClassesThatImplementAnInterface is set (#7705) (155aa1f)
eslint-plugin: [no-unnecessary-condition] fix false positive with computed member access and branded key type (#7706) (f151b26)
eslint-plugin: [switch-exhaustiveness-check] enum members with new line or single quotes are not being fixed correctly (#7806) (a034d0a), closes #7768
utils: add missing fields to flat config types (#7933) (533861a)
utils: allow string processor in flat config (024ed9e)
Features
[member-ordering] add accessor support for member-ordering (#7927) (3c8312d)
Add a treemap chart to esbuild's bundle analyzer (#2848)
The bundler analyzer on esbuild's website (https://esbuild.github.io/analyze/) now has a treemap chart type in addition to the two existing chart types (sunburst and flame). This should be more familiar for people coming from other similar tools, as well as make better use of large screens.
Previously esbuild's decorator parser followed the original behavior of TypeScript's experimental decorators feature, which only allowed decorators to come before the export keyword. However, the upcoming JavaScript decorators feature also allows decorators to come after the export keyword. And with TypeScript 5.0, TypeScript now also allows experimental decorators to come after the export keyword too. So esbuild now allows this as well:
// This old syntax has always been permitted:
@decorator export class Foo {}
@decorator export default class Foo {}
// This new syntax is now permitted too:
export @decorator class Foo {}
export default @decorator class Foo {}
In addition, esbuild's decorator parser has been rewritten to fix several subtle and likely unimportant edge cases with esbuild's parsing of exports and decorators in TypeScript (e.g. TypeScript apparently does automatic semicolon insertion after interface and export interface but not after export default interface).
Pretty-print decorators using the same whitespace as the original
When printing code containing decorators, esbuild will now try to respect whether the original code contained newlines after the decorator or not. This can make generated code containing many decorators much more compact to read:
// Original code
class Foo {
@a @b @c abc
@x @y @z xyz
}
Add a treemap chart to esbuild's bundle analyzer (#2848)
The bundler analyzer on esbuild's website (https://esbuild.github.io/analyze/) now has a treemap chart type in addition to the two existing chart types (sunburst and flame). This should be more familiar for people coming from other similar tools, as well as make better use of large screens.
Previously esbuild's decorator parser followed the original behavior of TypeScript's experimental decorators feature, which only allowed decorators to come before the export keyword. However, the upcoming JavaScript decorators feature also allows decorators to come after the export keyword. And with TypeScript 5.0, TypeScript now also allows experimental decorators to come after the export keyword too. So esbuild now allows this as well:
// This old syntax has always been permitted:
@decorator export class Foo {}
@decorator export default class Foo {}
// This new syntax is now permitted too:
export @decorator class Foo {}
export default @decorator class Foo {}
In addition, esbuild's decorator parser has been rewritten to fix several subtle and likely unimportant edge cases with esbuild's parsing of exports and decorators in TypeScript (e.g. TypeScript apparently does automatic semicolon insertion after interface and export interface but not after export default interface).
Pretty-print decorators using the same whitespace as the original
When printing code containing decorators, esbuild will now try to respect whether the original code contained newlines after the decorator or not. This can make generated code containing many decorators much more compact to read:
// Original code
class Foo {
@a @b @c abc
@x @y @z xyz
}
Bumps the dependencies group with 24 updates:
1.3.92
1.3.100
25.0.5
25.0.7
0.2.1
0.3.0
4.3.6
4.3.11
3.1.7
3.1.9
2.0.1
2.0.3
10.0.2
10.0.6
18.15.0
20.10.3
1.0.2
1.0.4
5.62.0
6.13.1
5.62.0
6.13.1
2.3.5
2.3.8
2.21.1
2.22.0
0.18.20
0.19.8
8.50.0
8.55.0
8.10.0
9.1.0
35.0.0
40.0.0
2.28.1
2.29.0
15.7.0
16.3.1
2.8.8
3.1.0
15.0.1
16.1.2
3.29.4
4.6.1
15.2.0
17.0.1
5.1.6
5.3.2
Updates
@swc/core
from 1.3.92 to 1.3.100Commits
02add74
chore: Publishv1.3.100
withswc_core
v0.86.84
(#8359)60ebd11
chore: Publish 1.3.100-nightly-20231130.10845693
chore: Publish crates2cdea3f
fix(es/codegen): Wrap quote for length greater than one (#8351)655e95a
chore: Publish cratesff719f0
fix(es/fixer): Wrap yield expression in await expression (#8357)1853280
chore: Publish crates55da0bb
chore(css/linter): Document rules require porting (#8352)a87d50b
chore: Publish 1.3.100-nightly-20231129.114dbece
chore: Publish 1.3.100-nightly-20231128.1Updates
@rollup/plugin-commonjs
from 25.0.5 to 25.0.7Changelog
Sourced from
@rollup/plugin-commonjs
's changelog.Commits
ad406ba
chore(release): commonjs v25.0.78e2ed59
fix(commonjs,dynamic-import-vars,esm-shim,inject,replace,strip): bump magic-s...88687f0
chore(release): commonjs v25.0.6cb579c8
fix(commonjs): Keep the shebang at the top of the file content (#1610)Updates
@rollup/plugin-swc
from 0.2.1 to 0.3.0Changelog
Sourced from
@rollup/plugin-swc
's changelog.Commits
2c58b01
chore(release): swc v0.3.0a4c7679
feat(swc): allow passingenv
property as option (#1624)dcd8da5
chore(repo): use@dot/versioner
for releases (#1612)Updates
@types/chai
from 4.3.6 to 4.3.11Commits
Updates
@types/debounce-promise
from 3.1.7 to 3.1.9Commits
Updates
@types/json-parse-safe
from 2.0.1 to 2.0.3Commits
Updates
@types/mocha
from 10.0.2 to 10.0.6Commits
Updates
@types/node
from 18.15.0 to 20.10.3Commits
Updates
@types/readline-transform
from 1.0.2 to 1.0.4Commits
Updates
@typescript-eslint/eslint-plugin
from 5.62.0 to 6.13.1Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
14f3ff0
chore: publish v6.13.139c437a
chore: publish v6.13.09093e95
chore: publish v6.12.02e535b8
chore(deps): update dependency prettier to v3.1.0 (#7938)4cfcd45
feat(eslint-plugin): [switch-exhaustiveness-check] add requireDefaultForNonUn...155aa1f
fix(eslint-plugin): [class-methods-use-this] detect a problematic case for pr...f151b26
fix(eslint-plugin): [no-unnecessary-condition] fix false positive with comput...a034d0a
fix(eslint-plugin): [switch-exhaustiveness-check] enum members with new line ...3c8312d
feat: [member-ordering] add accessor support for member-ordering (#7927)06496e2
chore: publish v6.11.0Updates
@typescript-eslint/parser
from 5.62.0 to 6.13.1Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
14f3ff0
chore: publish v6.13.139c437a
chore: publish v6.13.09093e95
chore: publish v6.12.02e535b8
chore(deps): update dependency prettier to v3.1.0 (#7938)06496e2
chore: publish v6.11.075c1288
chore: publish v6.10.01e47294
chore: publish v6.9.1101563b
chore: publish v6.9.0066ccf7
chore: update to nx 17 (#7815)0f11c18
chore(deps): update dependency prettier to v3 (#7425)Updates
@vscode/test-electron
from 2.3.5 to 2.3.8Changelog
Sourced from
@vscode/test-electron
's changelog.Commits
Updates
@vscode/vsce
from 2.21.1 to 2.22.0Commits
10309ba
remove win32-ia32 (#908)a001296
docs: fix grammatical error in engine mismatch message (#907)955a554
missing comma added for README.md (#903)Updates
esbuild
from 0.18.20 to 0.19.8Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
e97bd67
publish 0.19.8 to npm65b3058
mention the treemap in the release notes (#2848)16883d4
add whitespace change to release notes7383d0d
decorators: printing preserves newline-tail status7edc83d
reword an experimental decorators error messagef3d5352
remove a now-unused fielde755189
ts: forbid regular decorators ondeclare
fields69c9e7f
allow decorators to come afterexport
(#104)7baefdb
fix a panic with "export default interface\n"a8313d2
use "check" for decorator validation, not "guess"Updates
eslint
from 8.50.0 to 8.55.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
e0cb960
8.55.0969b272
Build: changelog update for 8.55.0eb8950c
chore: upgrade@eslint/js
@8
.55.0 (#17811)93df384
chore: package.json update for@eslint/js
releasefe4b954
chore: upgrade@eslint/eslintrc
@2
.1.4 (#17799)8c9e6c1
feat: importNamePattern option in no-restricted-imports (#17721)83ece2a
docs: fix typo--rules
->--rule
(Superseded by #226.