8.21.0 (2025-01-20)
🚀 Features
- ast-spec: support import attributes in
TSImportType
(#10640)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-arguments] handle type args on jsx (#10630)
- eslint-plugin: check JSX spread elements for misused spread usage (#10653)
- eslint-plugin: [no-for-in-array] report on any type which may be an array or array-like (#10535)
- eslint-plugin: [no-base-to-string] don't crash for recursive array or tuple types (#10633)
- eslint-plugin: [no-duplicate-enum-values] handle template literal (#10675)
- eslint-plugin-internal: [debug-namespace] on windows (#10661)
- rule-tester: handle window root path (#10654)
- scope-manager: add a reference for JSX closing element if it exists (#10614)
❤️ Thank You
- Arya Emami @aryaemami59
- Ronen Amiel
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.20.0 (2025-01-13)
🚀 Features
- standardize debug namespaces to file paths (#10599)
- eslint-plugin: [no-misused-spread] add new rule (#10551)
- eslint-plugin: [no-deprecated] add allow options (#10585)
- eslint-plugin: [consistent-type-assertions] add arrayLiteralTypeAssertions options (#10565)
🩹 Fixes
- eslint-plugin: [no-shadow] ignore ordering of type declarations (#10593)
- eslint-plugin: [no-unnecessary-condition] don't flag optional chaining for union types with an unconstrained type parameters (#10602)
❤️ Thank You
- Josh Goldberg ✨
- Ronen Amiel
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.19.1 (2025-01-06)
🩹 Fixes
- eslint-plugin: [no-base-to-string] check array generic type (#10437)
- eslint-plugin: [no-shadow] report correctly on parameters of functions declared with the
declare
keyword (#10543)
- eslint-plugin: [strict-boolean-expressions] remove remaining (unsafe) autofixes (#10548)
- eslint-plugin: [no-deprecated] doesn't report on shorthand property in an object expression (#10550)
- eslint-plugin: [no-unnecessary-type-assertion] handle literal types (#10523)
❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
8.19.0 (2024-12-30)
🚀 Features
- eslint-plugin: [strict-boolean-expressions] check array predicate functions' return statements (#10106)
🩹 Fixes
- eslint-plugin: add getConstraintInfo to handle generic constraints better (#10496)
- eslint-plugin: [array-type] autofix with conditional types needs parentheses (#10522)
- eslint-plugin: [consistent-indexed-object-style] don't report on indirect circular references (#10537)
- eslint-plugin: [member-ordering] ignore method overloading (#10536)
❤️ Thank You
- Karl Werner
- Kirk Waiblinger @kirkwaiblinger
- Ronen Amiel
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.18.2 (2024-12-23)
🩹 Fixes
- eslint-plugin: [no-deprecated] not reporting usages of deprecated declared constants as object value (#10498)
- eslint-plugin: [prefer-reduce-type-parameter] don't report cases in which the fix results in a type error (#10494)
- eslint-plugin: [no-unnecessary-condition] don't flag values of an unconstrained or valid type parameter (#10473)
- eslint-plugin: [consistent-indexed-object-style] use a suggestion over an auto-fix if can't reliably determine that produced index signature is valid (#10490)
- eslint-plugin: [no-unsafe-type-assertion] fix for unsafe assertion to a constrained type parameter (#10461)
- eslint-plugin: [no-unnecessary-type-arguments] handle type/value context (#10503)
- eslint-plugin: [consistent-type-assertions] allow default assertionStyle option (#10512)
- eslint-plugin: [no-unnecessary-condition] handle noUncheckedIndexedAccess true (#10514)
- typescript-eslint: export types so that declarations can be named for dts files (#10513)
❤️ Thank You
- Brad Zacher @bradzacher
- Luke Deen Taylor @controversial
- Ronen Amiel
- Scott O'Hara
- YeonJuan @yeonjuan
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
8.18.1 (2024-12-16)
🩹 Fixes
- eslint-plugin: [no-unnecessary-template-expression] don't report when an expression includes comment (#10444)
- eslint-plugin: handle string like index type (#10460)
- eslint-plugin: [no-unnecessary-boolean-literal-compare] flag values of a type parameter with boolean type constraints (#10474)
- eslint-plugin: use consistent naming for asserting types and casting values (#10472)
- eslint-plugin: [no-unnecessary-condition] better message when comparing between literal types (#10454)
- scope-manager: visit params decorator before nest scope (#10475)
❤️ Thank You
- Kirk Waiblinger @kirkwaiblinger
- Ronen Amiel
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.18.0 (2024-12-09)
🚀 Features
- eslint-plugin: [no-deprecated] report on super call of deprecated constructor (#10397)
- eslint-plugin: [switch-exhaustiveness-check] add support for "no default" comment (#10218)
🩹 Fixes
- typescript peer dependency (#10373)
- deps: update dependency eslint to v9.16.0 (#10471)
- eslint-plugin: [no-deprecated] check if a JSX attribute is deprecated (#10374)
- eslint-plugin: [no-base-to-string] handle more robustly when multiple
toString()
declarations are present for a type (#10432)
- eslint-plugin: [use-unknown-in-catch-callback-variable] only flag function literals (#10436)
❤️ Thank You
- Kim Sang Du @developer-bandi
- Kirk Waiblinger @kirkwaiblinger
- mdm317
- rtritto
You can read about our versioning strategy and releases on our website.
8.17.0 (2024-12-02)
🚀 Features
- eslint-plugin: [prefer-promise-reject-errors] options to allow any and unknown (#10392)
- typescript-estree: add package version to ts version warning (#10343)
🩹 Fixes
- eslint-plugin: [no-unnecessary-template-expressions] allow template expressions used to make trailing whitespace visible (#10363)
- eslint-plugin: remove references to "extendDefaults" in no-restricted-types (#10401)
- eslint-plugin: [promise-function-async] handle function overloading (#10304)
- website: press the Report an Issue button makes error if eslintrc does not include rules (#10367)
❤️ Thank You
- Kim OhSeong @bkks1004
- Kim Sang Du @developer-bandi
- Kirk Waiblinger @kirkwaiblinger
- Marco Pasqualetti @marcalexiei
- Maria José Solano @MariaSolOs
- Ronen Amiel
You can read about our versioning strategy and releases on our website.
8.16.0 (2024-11-25)
🚀 Features
- support TypeScript 5.7 (#10372)
- eslint-plugin: [max-params] add function overload and function type support (#10312)
- eslint-plugin: [no-base-to-string] check Array.prototype.join (#10287)
🩹 Fixes
- typescript-estree: update conditions for unsupported version warning (#10385)
❤️ Thank You
- Inga @inga-lovinde
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.15.0 (2024-11-18)
🚀 Features
- eslint-plugin: added related-getter-setter-pairs rule (#10192)
- eslint-plugin: new rule
no-unsafe-type-assertion
(#10051)
- eslint-plugin: [prefer-nullish-coalescing] fix detection of
ignoreConditionalTests
involving boolean !
operator (#10299)
- rule-tester: run method - avoid to infer type parameter from
tests
param (#10324)
- typescript-eslint: allow infinitely deep array nesting in config function and extends (#10333)
- utils: add new optional
language
field to FlatConfig.Config
type (#10326)
🩹 Fixes
- add missing peer dependencies (#9744)
- eslint-plugin: [consistent-indexed-object-style] handle circular mapped types (#10301)
- eslint-plugin: [await-thenable, return-await] don't flag awaiting unconstrained type parameter as unnecessary (#10314)
- eslint-plugin: [explicit-module-boundary-types] and [explicit-function-return-type] don't report on
as const satisfies
(#10315)
- eslint-plugin: report deprecations used in default export (#10330)
- utils: add defaultOptions to meta in rule (#10339)
❤️ Thank You
- Bartosz @burtek
- Brad Zacher @bradzacher
- Ethan Wu
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- Luis Sebastian Urrutia Fuentes @LuisUrrutia
- Marco Pasqualetti @marcalexiei
- Phillip Huang
- Ronen Amiel
- Szydlak @wszydlak
You can read about our versioning strategy and releases on our website.
8.14.0 (2024-11-11)
🚀 Features
- eslint-plugin: [no-confusing-void-expression] add an option to ignore void<->void (#10067)
- eslint-plugin: [await-thenable] report unnecessary
await using
statements (#10209)
🩹 Fixes
- deps: update dependency eslint to v9.14.0 (#10309)
- deps: update docusaurus monorepo to v3.6.0 (#10319)
- eslint-plugin: [no-unnecessary-condition] improve error message for literal comparisons (#10194)
- eslint-plugin: [no-misused-promises] improve report loc for methods (#10216)
- scope-manager: fix asserted increments not being marked as write references (#10271)
❤️ Thank You
- Gyumong @Gyumong
- Jan Ochwat @janek515
- Kirk Waiblinger @kirkwaiblinger
- Ronen Amiel
You can read about our versioning strategy and releases on our website.
8.13.0 (2024-11-04)
🚀 Features
- add
options
property to ImportExpression
node (#10255)
- eslint-plugin: disable
no-class-assign
rule in eslint-recommended
config (#10250)
- eslint-plugin: [prefer-nullish-coalescing] add option
ignoreBooleanCoercion
(#9924)
- eslint-plugin: [only-throw-error] add allow option (#10221)
🩹 Fixes
- deps: update dependency @eslint-community/regexpp to v4.12.1 (#10269)
- eslint-plugin: [no-unnecessary-condition] falsey bigint should be falsey (#10205)
- eslint-plugin: [no-deprecated] report on deprecated variables used inside dynamic imports (#10261)
- eslint-plugin: [no-deprecated] report when exported class implements/extends deprecated entity (#10259)
- eslint-plugin: [consistent-type-definitions] don't leave trailing parens when fixing type to interface (#10235)
- eslint-plugin: [switch-exhaustiveness-check] add support for covering a missing property with
undefined
(#10232)
- types: parent property type annotation in the ImportAttribute node (#10258)
- utils: allow an array for the values of SharedConfig (#10217)
❤️ Thank You
- auvred @auvred
- Kim Sang Du @developer-bandi
- Kirk Waiblinger @kirkwaiblinger
- Mark de Dios @peanutenthusiast
- Ronen Amiel
- Trygve Aaberge
- YeonJuan @yeonjuan
- Yosuke Ota @ota-meshi
You can read about our versioning strategy and releases on our website.
8.12.2 (2024-10-29)
🩹 Fixes
- eslint-plugin: [switch-exhaustiveness-check] invert
considerDefaultExhaustiveForUnions
(#10223)
❤️ Thank You
- Kirk Waiblinger @kirkwaiblinger
You can read about our versioning strategy and releases on our website.
8.12.1 (2024-10-28)
🩹 Fixes
- rule-tester: use cwd option to set base path for tests with file name (#10201)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
8.12.0 (2024-10-28)
🚀 Features
- eslint-plugin: [prefer-nullish-coalescing] add support for assignment expressions (#10152)
- eslint-plugin: [consistent-indexed-object-style] report mapped types (#10160)
- eslint-plugin: [switch-exhaustiveness-check] add allowDefaultCaseMatchUnionMember option (#9954)
- eslint-plugin: [no-base-to-string] handle String() (#10005)
- typescript-eslint: improve undefined extension handling (#10177)
🩹 Fixes
- eslint-plugin: [no-unsafe-return] don't reiterate through all type parts for each part (#10203)
- website: enable
noImplicitAny
(#10175)
❤️ Thank You
- Abraham Guo
- Kim Sang Du @developer-bandi
- Kirk Waiblinger @kirkwaiblinger
- Maxim Stykow @mstykow
- Terry Fu
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.11.0 (2024-10-21)
🚀 Features
- eslint-plugin: [no-base-to-string] add support for catching toLocaleString (#10138)
- eslint-plugin: [no-unnecessary-type-parameters] add suggestion fixer (#10149)
🩹 Fixes
- eslint-plugin: [class-literal-property-style] don't report nodes with
override
keyword (#10135)
- rule-tester: allow custom filename outside directory (#10147)
❤️ Thank You
- Kirk Waiblinger @kirkwaiblinger
- Lotfi Meklati @lotmek
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
8.10.0 (2024-10-17)
🚀 Features
- support TypeScript 5.6 (#9972)
🩹 Fixes
- typescript-eslint: propagate
name
field to extended configs in config
helper (#10094)
❤️ Thank You
- auvred @auvred
- Josh Goldberg ✨
You can read about our versioning strategy and releases on our website.
8.9.0 (2024-10-14)
🚀 Features
- rule-tester: hooks for test cases (#10109)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-parameters] cannot assume variables are either type or value (#10093)
- eslint-plugin: [return-await] sync the behavior with await-thenable (#10069)
- eslint-plugin: [prefer-literal-enum-member] report a different error message when
allowBitwiseExpressions
is enabled (#10096)
- eslint-plugin: [no-loop-func] sync from upstream base rule (#10103)
- eslint-plugin: [no-unused-vars] never report the naming of an enum member (#10117)
- eslint-plugin: correct use-at-your-own-risk type definitions (#10049)
- eslint-plugin: handle unions in await...for (#10110)
- rule-tester: merge provided
linterOptions
(#10131)
- scope-manager: [no-use-before-define] do not treat nested namespace aliases as variable references (#10095)
- typescript-estree: improve project service error message when file extension missing from extraFileExtensions (#10076)
- visitor-keys: reorder
TSSatisfiesExpression
and TSTypeAssertion
(#10139)
❤️ Thank You
- Abraham Guo
- Anna Bocharova @RobinTail
- Arya Emami @aryaemami59
- auvred @auvred
- Joshua Chen
- Kirk Waiblinger @kirkwaiblinger
- Lotfi Meklati @lotmek
- mdm317
- Ronen Amiel
- Sukka
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.8.1 (2024-10-07)
🩹 Fixes
- eslint-plugin: stop warning on @ts-nocheck comments which aren't at the beginning of the file (#10046)
- typescript-estree: fix crash when running from a
node --eval
script (#10098)
- typescript-estree: ensure mjs/mts files are always be parsed as ESM (#10011)
❤️ Thank You
- Brad Zacher @bradzacher
- Ronen Amiel
- WhitePiano @goldentrash
You can read about our versioning strategy and releases on our website.
8.8.0 (2024-09-30)
🚀 Features
- eslint-plugin: [no-unnecessary-condition] add checkTypePredicates (#10009)
- eslint-plugin: [return-await] check for-await loop iteree (#10008)
🩹 Fixes
- remove
export type *
in d.ts to support TS<5.0 (#10070)
- eslint-plugin: [no-unnecessary-template-expression] should underline template syntax with squiggly lines (#10044)
- eslint-plugin: [no-deprecated] max callstack exceeded when class implements itself (#10040)
- eslint-plugin: [no-misused-promises] check contextual type (#10042)
- eslint-plugin: [prefer-literal-enum-member] allow nested bitwise operations (#10037)
- type-utils: check for type parameters on
isBuiltinSymbolLikeRecurser()
(#10026)
- utils: update missing type information message (#10043)
❤️ Thank You
- auvred @auvred
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- Ronen Amiel
- Tarun Chauhan @tarunrajput
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.7.0 (2024-09-23)
🚀 Features
- eslint-plugin: [no-unsafe-call] check calls of Function (#10010)
- eslint-plugin: [consistent-type-exports] check
export *
exports to see if all exported members are types (#10006)
🩹 Fixes
- eslint-plugin: properly coerce all types to string in
getStaticMemberAccessValue
(#10004)
- eslint-plugin: [no-deprecated] report on imported deprecated variables (#9987)
- eslint-plugin: [no-confusing-non-null-assertion] check !in and !instanceof (#9994)
- types: add
NewExpression
as a parent of SpreadElement
(#10024)
- utils: add missing entries to the RuleListener selectors list (#9992)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Brian Donovan @eventualbuddha
- Kirk Waiblinger @kirkwaiblinger
You can read about our versioning strategy and releases on our website.
8.6.0 (2024-09-16)
🚀 Features
- add
allow
option for restrict-template-expressions
(#8556)
- eslint-plugin: [no-unnecessary-condition] check switch cases (#9912)
- eslint-plugin: [no-misused-promises] check array predicate return (#9955)
- type-utils: isNullableType add Void logic (#9937)
- typescript-estree: disable plugin loading by default in project service (#9964)
🩹 Fixes
- eslint-plugin: [no-deprecated] don't report recursive types in destructuring assignment twice (#9969)
- eslint-plugin: [no-deprecated] report on deprecated variables used in destructuring assignment (#9978)
- eslint-plugin: [no-deprecated] report on deprecated properties with function-like types (#9977)
- eslint-plugin: [no-unnecessary-condition] properly reflect multiple negations in message (#9940)
- typescript-estree: don't throw on missing tsconfig.json by default in project service (#9989)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.5.0 (2024-09-09)
🚀 Features
- eslint-plugin: [no-duplicate-type-constituents] prevent unnecessary
([ undefined
for optional parameters (#9479)](https://github.com/typescript-eslint/typescript-eslint/commit/ undefined` for optional parameters (#9479)))
- eslint-plugin: [no-unsafe-argument] differentiate error types (#9920)
- typescript-estree: default projectService.defaultProject to 'tsconfig.json' (#9893)
🩹 Fixes
- deps: update dependency prism-react-renderer to v2.4.0 (#9943)
- eslint-plugin: [no-unnecessary-type-assertion] fix TSNonNullExpression fixer (#9898)
- eslint-plugin: [no-misused-promises] handle static method (#9951)
- eslint-plugin: [no-unnecessary-type-parameters] fix AST quick path scope analysis (#9900)
- eslint-plugin: [consistent-type-assertions] access parser services lazily (#9921)
❤️ Thank You
- f44da958e
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
8.4.0 (2024-09-02)
🚀 Features
- typescript-estree: make withoutProjectParserOptions generic (#9877)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
8.3.0 (2024-08-26)
🚀 Features
- eslint-plugin: [no-deprecated] add rule (#9783)
- typescript-estree: replace
globby
w/ fast-glob
(#9518)
- typescript-estree: reload project service once when file config isn't found (#9853)
🩹 Fixes
- ast-spec: use
Expression
in argument of ThrowStatement
(#9632)
- eslint-plugin: [no-unnecessary-template-expression] add missing parentheses in autofix (#8673)
- eslint-plugin: [no-unnecessary-type-parameters] check mapped alias type arguments (#9741)
- utils: add missing
TSSatisfiesExpression
in RuleListenerBaseSelectors
(#9832)
- utils: add
TSDeclareFunction
to functionTypeTypes
(#9788)
❤️ Thank You
- Abraham Guo
- Daichi Kamiyama @dak2
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- Sukka
- Vida Xie @9romise
You can read about our versioning strategy and releases on our website.
8.2.0 (2024-08-19)
🚀 Features
- eslint-plugin: add suggestion to
require-await
to remove async
keyword (#9718)
- typescript-estree: special-case error for parserOptions.project and project references (#9686)
🩹 Fixes
- eslint-plugin: [use-unknown-in-catch-callback-variable] flag second argument of
.then
(#9059)
- eslint-plugin: [no-unnecessary-type-assertion] conflict with TS for variables used before assignment (#9209)
- eslint-plugin: delete [] in message if ReadOnly<string[]> is detected (#9513)
- eslint-plugin: [no-redundant-type-constituents] differentiate a types-error any from a true any (#9555)
- eslint-plugin: [no-unnecessary-type-parameters] check mapped constraint types if necessary (#9740)
- eslint-plugin: [no-unsafe-enum-comparison] add logic to see through intersections (#9777)
- typescript-estree: pass in tsconfigRootDir as cwd to getParsedConfigFile (#9804)
❤️ Thank You
- Abraham Guo
- Dave @reduckted
- Jake Bailey @jakebailey
- James @Zamiell
- Josh Goldberg ✨
- liuxingbaoyu @liuxingbaoyu
- Yukihiro Hasegawa @y-hsgw
- Yutong Zhu @YutongZhuu
You can read about our versioning strategy and releases on our website.
8.1.0 (2024-08-12)
🚀 Features
- eslint-plugin: [no-floating-promises] enable "add await" suggestion if ignoreVoid is true (#9703)
- eslint-plugin: [no-unsafe-return] check promise any (#8693)
- eslint-plugin: [no-misused-promises] check subtype methods against heritage type methods (#8765)
- typescript-eslint: add JSDoc comments on generated configs (#9672)
- typescript-estree: restrict variable declarator definite/init combinations (#9228)
🩹 Fixes
- eslint-plugin: [no-unsafe-enum-comparison] typo in test (#9779)
- eslint-plugin: [no-unnecessary-type-parameters] skip checking function bodies for AST references (#9738)
- eslint-plugin: [member-ordering] get accessor member name & take into account
abstract
and decorator (#9775)
- eslint-plugin: [prefer-optional-chain] wrong parenthesis fix output (#9597)
- eslint-plugin: [no-unnecessary-type-parameters] clarify message (#9737)
- utils: correct types to align with @types/eslint v9 (#9657)
- website: tsconfig is blank (#9745)
❤️ Thank You
- Aly Thobani
- Brad Zacher @bradzacher
- James @Zamiell
- Josh Goldberg ✨
- Joshua Chen
- Olivier Zalmanski @OlivierZal
- YeonJuan @yeonjuan
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
8.0.1 (2024-08-05)
🩹 Fixes
- eslint-plugin: [no-unused-vars] ignore imports used only as types (#9694)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
8.0.0 (2024-07-31)
👉 See Announcing typescript-eslint v8 for an upgrade guide and the full list of changes.
⚠️ Breaking Changes
- typescript-estree: split TSMappedType typeParameter into constraint and key (#7065)
- parser: always enable comment, loc, range, tokens (#8617)
- eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true (#8872)
- typescript-estree: enable dot globs for project by default (#8818)
- eslint-plugin: deprecate no-loss-of-precision extension rule (#8832)
- eslint-plugin: remove formatting/layout rules (#8833)
- typescript-estree: remove slow deprecated and isolated programs (#8834)
- typescript-estree: add TSEnumBody node for TSEnumDeclaration body (#8920)
- typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference (#8922)
- ast-spec: remove deprecated type params (#8933)
- type-utils: remove IsNullableTypeOptions interface (#8934)
- eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9 (#8971)
- utils: swap LegacyESLint out for FlatESLint as ESLint export (#8972)
- eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces (#8977)
- utils: allow specifying additional rule meta.docs in RuleCreator (#9025)
- eslint-plugin: apply initial config changes for v8 (#9079)
- eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types (#9102)
- typescript-estree: remove EXPERIMENTAL_useSourceOfProjectReferenceRedirect (#9104)
- eslint-plugin: remove no-useless-template-literals (#9207)
- type-utils: remove getTokenAtPosition (#9444)
- eslint-plugin: [no-floating-promises] disable checkThenables by default for v8 (#9559)
- rule-tester: switched to flat config (#9603)
🚀 Features
- stricter parent types for the AST (#9560)
- speed up non-type-aware linting with project service (#8322)
- v8 integration branch (#9165)
- eslint-plugin: remove deprecated no-throw-literal rule (#9092)
- eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option (#9234)
- eslint-plugin: [no-unused-vars] add
reportUnusedIgnorePattern
option (#9324)
- eslint-plugin: [no-unused-vars] support
ignoreClassWithStaticInitBlock
(#9325)
- eslint-plugin: [no-unused-vars] handle comma operator for assignments, treat for-of the same as for-in (#9326)
- eslint-plugin: [no-unused-vars] report if var used only in typeof (#9330)
- eslint-plugin: [return-await] add return-await to strict-type-checked preset (#9604)
- eslint-plugin: [no-unnecessary-type-parameters] promote to strict (#9662)
- rule-tester: support multipass fixes (#8883)
- type-utils: support intersection types in TypeOrValueSpecifier (#9633)
- typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService (#9084)
- typescript-estree: also remove projectService in withoutProjectParserOptions (#9287)
- typescript-estree: exposes ProjectService logs through the plugin (#9337)
- utils: add Linter configType constructor option (#8999)
- utils: remove deprecated context helpers (#9000)
🩹 Fixes
- correct eslint-plugin's peerDependency on parser@8 (#9089)
- bring back in allowdefaultprojectforfiles rename (7dfceeeea)
- disable
projectService
in disabled-type-checked
shared config (#9460)
- eslint-plugin: include alpha pre-releases in parser peer dependency (#9099)
- eslint-plugin: correct rules.d.ts types to not rely on non-existent imports (#9339)
- eslint-plugin: remove duplicate import
RuleModuleWithMetaDocs
(#9465)
- eslint-plugin: [no-unnecessary-template-expression] do not render escaped strings in autofixes (#8688)
- eslint-plugin: [no-unused-vars] incorporate upstream changes around caught errors report messages (#9532)
- eslint-plugin: [no-misused-promises] perf: avoid getting types of variables/functions if the annotated type is obviously not a function (#9656)
- rule-tester: set configType to eslintrc in Linter options (#9178)
- rule-tester: re-apply updates from main (#9180)
- rule-tester: provide Linter a cwd in its constructor (#9678)
- type-utils: also check declared modules for package names in TypeOrValueSpecifier (#9500)
- types: allow ProjectServiceOptions for projectService (#9318)
- typescript-estree: pass extraFileExtensions to projectService (#9051)
- typescript-estree: only run projectService setHostConfiguration when needed (#9336)
- typescript-estree: specific error for parserOptions.project not including a file (#9584)
- typescript-estree: adds support for project services using extended config files (#9306)
- typescript-estree: factor tsconfigRootDir into allowDefaultProject (#9675)
❤️ Thank You
- Abraham Guo
- Alfred Ringstad @alfredringstad
- auvred @auvred
- Brad Zacher @bradzacher
- Christopher Aubut @higherorderfunctor
- Collin Bachman @bachmacintosh
- James Henry @JamesHenry
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- StyleShit @StyleShit
- Victor Lin @yepitschunked
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
7.18.0 (2024-07-29)
🚀 Features
- types: update ECMA versions (#9634)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-assertion] prevent runtime error when asserting a variable declared in default TS lib (#9660)
- eslint-plugin: [unbound-method] report on destructuring in function parameters (#8952)
- eslint-plugin: [no-duplicate-type-constituents] shouldn't report on error types (#9600)
- eslint-plugin: [strict-boolean-expressions] support branded booleans (#9297)
❤️ Thank You
- auvred @auvred
- Oliver Salzburg
- Vinccool96
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
7.17.0 (2024-07-22)
🚀 Features
- eslint-plugin: backport no-unsafe-function type, no-wrapper-object-types from v8 to v7 (#9507)
- eslint-plugin: [return-await] add option to report in error-handling scenarios only, and deprecate "never" (#9364)
🩹 Fixes
- eslint-plugin: [no-floating-promises] check top-level type assertions (and more) (#9043)
- eslint-plugin: [strict-boolean-expressions] consider assertion function argument a boolean context (#9074)
- eslint-plugin: [no-unnecessary-condition] false positive on optional private field (#9602)
- typescript-estree: don't infer single-run when --fix is in proces.argv (#9577)
- typescript-estree: disable single-run inference with extraFileExtensions (#9580)
- website: expose ATA types to eslint instance (#9598)
❤️ Thank You
- Armano @armano2
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- StyleShit @StyleShit
You can read about our versioning strategy and releases on our website.
7.16.1 (2024-07-15)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-parameters] descend into all parts of mapped types in no-unnecessary-type-parameters (#9530)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
7.16.0 (2024-07-08)
🚀 Features
- ast-spec: add parent property to AccessorProperty node types (#9487)
- eslint-plugin: [no-unnecessary-parameter-property-assignment] add new rule (#8903)
- eslint-plugin: add support for nested namespaces to unsafe-member-access (#9478)
- eslint-plugin: [no-floating-promises] add checkThenables option (#9263)
- rule-tester: stricter rule test validations (#9086)
🩹 Fixes
- deps: update dependency @eslint-community/regexpp to v4.11.0 (#9497)
- eslint-plugin: [no-floating-promises] add
suggestions
to tests from #9263 checkThenables
(#9515, #9263)
- eslint-plugin: [restrict-template-expressions] don't report tuples if
allowArray
option is enabled (#9492)
- utils: context.parserPath may be undefined (#9486)
- website: react key error on internal pages of website (#9506)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Josh Goldberg ✨
- Juan Sanchez @JSanchezIO
- Vinccool96
- YeonJuan @yeonjuan
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
7.15.0 (2024-07-01)
🚀 Features
- eslint-plugin: [array-type] detect
Readonly<string[]>
case (#8752)
- eslint-plugin: back-port new rules around empty object types from v8 (#9443)
🩹 Fixes
- disable
EXPERIMENTAL_useProjectService
in disabled-type-checked
shared config (#9459)
- eslint-plugin: [no-unsafe-return] differentiate a types-error any from a true any (#9254)
- eslint-plugin: [no-unsafe-call] differentiate a types-error any from a true any (#9304)
- utils: clean outdated
RuleTester
export (#9322)
❤️ Thank You
- auvred @auvred
- Kim Sang Du @developer-bandi
- rgehbt @Gehbt
- Vinccool96
You can read about our versioning strategy and releases on our website.
7.14.1 (2024-06-24)
🩹 Fixes
- eslint-plugin: [prefer-nullish-coalescing] treat enums and literals as their underlying primitive types (#9376)
- eslint-plugin: [prefer-nullish-coalescing] ensure ternary fix does not remove parens (#9380)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
7.14.0 (2024-06-24)
🚀 Features
- support TypeScript 5.5 (#9397)
- ast-spec: tighter types and documentation for declaration/* (#9211)
🩹 Fixes
- keep warnAbountTSVersion in sync with package.json (#9400)
- eslint-plugin: [no-extraneous-class] handle abstract members (#9367)
- eslint-plugin: [prefer-nullish-coalescing] handle intersected primitive types (#9378)
- eslint-plugin: [no-invalid-this] support AccessorProperty (#9411)
❤️ Thank You
- Brad Zacher @bradzacher
- cm-ayf @cm-ayf
- Jake Bailey @jakebailey
- James Zhan
- Joshua Chen
- yoshi2no @yoshi2no
You can read about our versioning strategy and releases on our website.
7.13.1 (2024-06-17)
🩹 Fixes
- eslint-plugin: [prefer-readonly] refine report locations (#8894)
- eslint-plugin: [return-await] support explicit resource management (#9044)
- eslint-plugin: [no-unsafe-member-access] differentiate a types-error any from a true any (#9291)
❤️ Thank You
- Kirk Waiblinger
- Yukihiro Hasegawa @y-hsgw
You can read about our versioning strategy and releases on our website.
7.13.0 (2024-06-10)
🚀 Features
- eslint-plugin: [no-dynamic-delete] allow all string literals as index (#9280)
- parser, typescript-estree: export withoutProjectParserOptions utility (#9233)
- typescript-estree: require
import = require()
argument to be a string literal (#9226)
- typescript-estree: forbid
.body
, .async
, .generator
on declare function
(#9225)
🩹 Fixes
- ast-spec: function-call-like callee should be Expression not LeftHandSideExpression (#9231)
- eslint-plugin: [init-declarations] refine report locations (#8893)
- eslint-plugin: [no-base-to-string] make error message more nuanced (#9281)
- eslint-plugin: [no-unsafe-assignment] be more specific about error types (#8304)
- eslint-plugin: [no-magic-numbers] fix implementation of the
ignore
option (#9167)
- scope-manager: handle index signature in class (#9054)
❤️ Thank You
- Fotis Papadogeorgopoulos
- Joshua Chen
- Kirk Waiblinger
- Tobiloba Adedeji @tobySolutions
- Vinccool96
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.12.0 (2024-06-03)
🚀 Features
- eslint-plugin: [no-useless-template-literals] rename to
no-useless-template-expression
(deprecate no-useless-template-literals
) (#8821)
- eslint-plugin: [no-floating-promises] add option 'allowForKnownSafePromises' (#9186)
- rule-tester: check for parsing errors in suggestion fixes (#9052)
- rule-tester: port
checkDuplicateTestCases
from ESLint (#9026)
🩹 Fixes
- no-useless-template-expression -> no-unnecessary-template-expression (#9174)
- eslint-plugin: [no-unnecessary-type-assertion] combine template literal check with
const
variable check (#8820)
- eslint-plugin: [dot-notation] fix false positive when accessing private/protected property with optional chaining (#8851)
- eslint-plugin: [explicit-member-accessibility] refine report locations (#8869)
- eslint-plugin: [no-unnecessary-type-assertion] declares are always defined, so always check
declare
s (#8901)
- eslint-plugin: [prefer-literal-enum-member] allow using member it self on allowBitwiseExpressions (#9114)
- eslint-plugin: [return-await] clean up in-try-catch detection and make autofixes safe (#9031)
- eslint-plugin: [member-ordering] also TSMethodSignature can be get/set (#9193)
- types: correct typing ParserOptions (#9202)
❤️ Thank You
- Abraham Guo
- Han Yeong-woo @nix6839
- Joshua Chen
- Kim Sang Du @developer-bandi
- Kirk Waiblinger
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.11.0 (2024-05-27)
🚀 Features
- eslint-plugin: deprecate prefer-ts-expect-error in favor of ban-ts-comment (#9081)
🩹 Fixes
- ast-spec: add
EmptyStatement
to Statement
(#8892)
- eslint-plugin: [consistent-type-assertions] prevent syntax errors on arrow functions (#8826)
- typescript-estree: truncate number of files printed by the maximum file error (#9127)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Dom Armstrong @domarmstrong
- Kirk Waiblinger
You can read about our versioning strategy and releases on our website.
7.10.0 (2024-05-20)
🚀 Features
- eslint-plugin: [sort-type-constituents] support case sensitive sorting (#8760)
🩹 Fixes
- eslint-plugin: [prefer-regexp-exec] fix heuristic to check whether regex may contain global flag (#8764)
- typescript-estree: don't add in-project files to defaultProjectMatchedFiles (#9097)
- utils: remove function form type from flat config
files
and ignores
(#9111)
❤️ Thank You
- auvred @auvred
- Emanuel Hoogeveen @ehoogeveen-medweb
- jsfm01 @jsfm01
- Kirk Waiblinger
You can read about our versioning strategy and releases on our website.
7.9.0 (2024-05-13)
🚀 Features
- rule-tester: check for missing placeholder data in the message (#9039)
🩹 Fixes
- do not pass tsconfig canonical file name to typescript API to get program details for config file (#9042)
- eslint-plugin: [explicit-function-return-types] fix false positive on default parameters (#9045)
❤️ Thank You
- Kirk Waiblinger
- Sheetal Nandi
- Vinccool96
You can read about our versioning strategy and releases on our website.
7.8.0 (2024-04-29)
🚀 Features
- rule-tester: assert suggestion messages are unique (#8995)
- typescript-estree: add maximumDefaultProjectFileMatchCount and wide allowDefaultProjectForFiles glob restrictions (#8925)
🩹 Fixes
- eslint-plugin: [no-unsafe-argument] handle tagged templates (#8746)
- eslint-plugin: [prefer-optional-chain] suggests optional chaining during strict null equality check (#8717)
- eslint-plugin: [consistent-type-assertions] handle tagged templates (#8993)
- eslint-plugin: [no-unsafe-return] handle union types (#9001)
- eslint-plugin: [no-unused-vars] clear error report range (#8640)
- utils: export ESLint backwards-compat functions (#8976)
❤️ Thank You
- auvred @auvred
- Josh Goldberg ✨
- jsfm01 @jsfm01
- Kim Sang Du @developer-bandi
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.7.1 (2024-04-22)
🩹 Fixes
- eslint-plugin: [no-unsafe-assignment] handle shorthand property assignment (#8800)
- eslint-plugin: [explicit-function-return-type] fix checking wrong ancestor's return type (#8809)
- eslint-plugin: [prefer-optional-chain] only look at left operand for
requireNullish
(#8559)
- eslint-plugin: [no-for-in-array] refine report location (#8874)
- eslint-plugin: [no-unnecessary-type-assertion] allow non-null assertion for void type (#8912)
❤️ Thank You
- Abraham Guo
- Kirk Waiblinger @kirkwaiblinger
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.7.0 (2024-04-15)
🚀 Features
- eslint-plugin: replace
no-new-symbol
with no-new-native-nonconstructor
(#8895)
- typescript-estree: add defaultProject for project service (#8815)
❤️ Thank You
- Dave @reduckted
- Josh Goldberg ✨
You can read about our versioning strategy and releases on our website.
7.6.0 (2024-04-08)
🚀 Features
- add
name
field to shared configs and flat config types (#8863)
- bump npm dependency ranges (#8860)
- utils: add types for both flat and legacy eslint classes (#8861)
🩹 Fixes
- typescript-eslint: fix type errors when using
exactOptionalPropertyTypes
(#8786)
❤️ Thank You
- Abraham Guo
- auvred @auvred
- Brad Zacher @bradzacher
You can read about our versioning strategy and releases on our website.
7.5.0 (2024-04-01)
🚀 Features
- website: playground Visual Editor search makes case-insensitive (#8767)
🩹 Fixes
- eslint-plugin: [no-floating-promises] handle TaggedTemplateExpression (#8758)
- eslint-plugin: [no-unnecessary-type-assertion] handle exactOptionalPropertyTypes compiler option (#8770)
- parser: disallow
errorOnTypeScriptSyntacticAndSemanticIssues
(#8784)
- typescript-eslint: improve support for legacy configs (#8812)
❤️ Thank You
- Brad Zacher @bradzacher
- Kim Sang Du @developer-bandi
- Mark de Dios @peanutenthusiast
- Naru
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.4.0 (2024-03-25)
🚀 Features
- eslint-plugin: [consistent-type-imports] ignore files with decorators, experimentalDecorators, and emitDecoratorMetadata (#8335)
- eslint-plugin: [no-unnecessary-type-arguments] handle tagged templates (#8708)
- eslint-plugin: deprecate no-throw-literal and add a renamed only-throw-error (#8701)
🩹 Fixes
- eslint-plugin: [prefer-optional-chain] address multipart nullish checks false positive (#8678)
- eslint-plugin: [prefer-optional-chain] properly disambiguate between
boolean
and false
(#8685)
- eslint-plugin: [no-unnecessary-type-assertion] avoid remove const casting on template literals with expressions inside (#8740)
- typescript-eslint: declare peer dependency on
utils
to ensure npm correctly installs dependencies (#8738)
- website: visual Editor is not scrolled (#8709)
- website: make 404 page good again (#8750)
❤️ Thank You
- Abraham Guo
- Brad Zacher @bradzacher
- Josh Goldberg ✨
- Kim Sang Du @developer-bandi
- Kirk Waiblinger @kirkwaiblinger
- Marco Pasqualetti @marcalexiei
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.3.1 (2024-03-18)
🩹 Fixes
- eslint-plugin: [no-floating-promises] revert disable of ignoreVoid in strict config (#8718)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
7.3.0 (2024-03-18)
🚀 Features
- eslint-plugin: [restrict-template-expressions] add
allowArray
option (#8389)
- eslint-plugin: add meta.docs.recommended setting for strict config options (#8364)
- eslint-plugin: add rule
use-unknown-in-catch-callback-variables
(#8383)
- eslint-plugin: [prefer-reduce-type-parameter] supports tuple, union, intersection (#8642)
- eslint-plugin-internal: add internal lint rule no-relative-paths-to-internal-packages (#8596)
- typescript-estree: disallow switch statements with multiple default cases (#8411)
- utils: add parser name to thrown parser error message (#8484)
🩹 Fixes
- correct
engines.node
constraints in package.json
(#8671)
- eslint-plugin: [unbound-method] check method definition in object literal using longhand form (#8637)
- eslint-plugin: [consistent-type-imports] handle imports without specifiers (#8308)
- eslint-plugin: [no-redundant-type-constituents] incorrectly marks & string as redundant (#8282)
- eslint-plugin: [no-unnecessary-qualifier] handle merge namespace with enum (#8591)
- eslint-plugin: [no-unused-expressions] false negatives when using assertions (#8668)
- eslint-plugin: [ban-ts-comment] more accurate handling of multiline comments (#8416)
- eslint-plugin: [explicit-function-return-type, explicit-module-boundary-types] improved checking for allowHigherOrderFunctions option (#8508)
- eslint-plugin: [class-literal-property-style] ignore property assigned in constructor (#8412)
- eslint-plugin: [no-unnecessary-type-assertion] fix false negative for const variable declarations (#8558)
- typescript-estree: fix the issue of single run inferring in the pnpm repo (#3811, #8702)
❤️ Thank You
- Abraham Guo
- Alexu
- Arka Pratim Chaudhuri @arka1002
- auvred @auvred
- Derrick Isaacson
- fnx @DMartens
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- Marta Cardoso @up201304504
- Michaël De Boey
- Tristan Rasmussen
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.2.0 (2024-03-11)
🚀 Features
- support TS 5.4 (#8630)
- eslint-plugin: [prefer-string-starts-ends-with] add allowSingleElementEquality option (#8374)
🩹 Fixes
- eslint-plugin: expose *-type-checked-only configs for extension (#8600)
- eslint-plugin: [member-ordering] report alphabetical sorting for all groups instead of just the first failing group (#8263)
- eslint-plugin: [no-var-requires, no-require-imports] support template literal (#8408)
- eslint-plugin: [no-useless-template-literals] detect TemplateLiteral (#8575)
- eslint-plugin: [no-unnecessary-condition] handle union array and tuple type (#8592)
- eslint-plugin: [prefer-find] support ternary branches in prefer-find (#8421)
- typescript-eslint: set
sourceType: "module"
in base shared config (#8622)
- typescript-eslint: export
ConfigWithExtends
type (#8621)
❤️ Thank You
- Arka Pratim Chaudhuri @arka1002
- auvred @auvred
- Chris Plummer
- Fotis Papadogeorgopoulos @fpapado
- Josh Goldberg ✨
- Kirk Waiblinger @kirkwaiblinger
- Wayne Zhang
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.1.1 (2024-03-04)
🩹 Fixes
- typescript-eslint: apply
ignores
to all extended configs passed to config
helper function (#8567)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
7.1.0 (2024-02-26)
🚀 Features
- eslint-plugin: add *-type-checked-only configs (#8367)
- eslint-plugin: [naming-convention] support the auto-accessor syntax (#8084)
- eslint-plugin: [consistent-return] add new rule (#8289)
- typescript-estree: add debug logs for useProgramFromProjectService (#8426)
🩹 Fixes
- eslint-plugin: [prefer-optional-chan] allow typeof for avoiding reference error (#8472)
- eslint-plugin: [no-misused-promises] improve check union types (#8534)
- eslint-plugin: [no-use-before-define] fix false positive type reference in as, satisfies (#8474)
- typescript-estree: use simpler absolutify behavior for project service client file paths (#8520)
❤️ Thank You
- Arka Pratim Chaudhuri @arka1002
- Josh Goldberg ✨
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
7.0.2 (2024-02-19)
🩹 Fixes
- fix tsconfig-less check errors, fix
@types/eslint
incompatibilities, add tests (#8460)
- utils: use mergeable interface for
settings
property (#8485)
❤️ Thank You
- Brad Zacher @bradzacher
- Gareth Jones @G-Rath
You can read about our versioning strategy and releases on our website.
7.0.1 (2024-02-12)
🩹 Fixes
- eslint-plugin: update peer dep for parser (#8441)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
7.0.0 (2024-02-12)
👉 See Announcing typescript-eslint v7 for an upgrade guide and the full list of changes.
🚀 Features
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements (#8377)
- add support for flat configs (#7935)
- utils: revert removal of backwards-compat functions (#8399)
- website: add ESQuery filter to URL state (#8297)
🩹 Fixes
- eslint-plugin: [prefer-find] stop throwing type errors when converting symbols to numbers (#8390)
- website: [playground] trigger lint when eslintrc and tsconfig changed (#8391)
⚠️ Breaking Changes
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements (#8377)
❤️ Thank You
- Brad Zacher @bradzacher
- Kirk Waiblinger @kirkwaiblinger
- StyleShit @StyleShit
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
6.21.0 (2024-02-05)
🚀 Features
- export plugin metadata (#8331)
- allow
parserOptions.project: false
(#8339)
- eslint-plugin: add rule prefer-find (#8216)
- typescript-estree: forbid duplicated accessibility modifiers (#8257)
- utils: improve eslint types (#8344)
🩹 Fixes
- ast-spec: add
JSXElement
type to the JSXAttribute['value']
(#8285)
- eslint-plugin: [no-unused-vars] don't report on types referenced in export assignment expression (#8265)
- eslint-plugin: [switch-exhaustiveness-check] better support for intersections, infinite types, non-union values (#8250)
- eslint-plugin: [consistent-type-imports] dont report on types used in export assignment expressions (#8332)
- eslint-plugin: [no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option (#8249)
- eslint-plugin: [class-literal-property-style] allow getter when same key setter exists (#8277)
- eslint-plugin: [no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before
as
keyword (#8326)
- rule-tester: fix a phantom dependency on the "semver" package (#8260)
❤️ Thank You
- auvred @auvred
- Brad Zacher @bradzacher
- Kirk Waiblinger @kirkwaiblinger
- Pete Gonzalez @octogonz
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
6.20.0 (2024-01-29)
🚀 Features
- eslint-plugin: [member-ordering] allow easy reuse of the default ordering (#8248)
🩹 Fixes
- eslint-plugin: [no-useless-template-literals] incorrect bigint autofix result (#8283)
- eslint-plugin: [prefer-nullish-coalescing] treat any/unknown as non-nullable (#8262)
- eslint-plugin: [no-useless-template-literals] report Infinity & NaN (#8295)
- eslint-plugin: [prefer-readonly] disable checking accessors (#8300)
❤️ Thank You
- Alex Parloti @parloti
- auvred @auvred
- James Browning
- StyleShit @StyleShit
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
6.19.1 (2024-01-22)
🩹 Fixes
- eslint-plugin: [no-unnecessary-condition] fix false positive for type variable (#8235)
- type-utils: preventing isUnsafeAssignment infinite recursive calls (#8237)
❤️ Thank You
You can read about our versioning strategy and releases on our website.
6.19.0 (2024-01-15)
🚀 Features
- eslint-plugin: [prefer-promise-reject-errors] add rule (#8011)
- eslint-plugin: [no-array-delete] add new rule (#8067)
- eslint-plugin: [no-useless-template-literals] add fix suggestions (#8065)
🩹 Fixes
- eslint-plugin: [no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression (#8143)
- eslint-plugin: [no-unnecesary-type-assertion] treat unknown/any as nullable (#8089)
- typescript-estree: add JSDocParsingMode enum merge for typescript/lib/tsserverlibrary (#8193)
- typescript-estree: disallow
using
as the variable keyword for for..in
loops (#7649)
- typescript-estree: fix incorrect backwards-compat augmentation in TS 5.3 (#8181)
❤️ Thank You
- auvred @auvred
- Brad Zacher @bradzacher
- Josh Goldberg ✨
- Joshua Chen
- LJX @lvjiaxuan
- Steven @Solo-steven
- StyleShit @StyleShit
You can read about our versioning strategy and releases on our website.
6.18.1 (2024-01-08)
🩹 Fixes
- eslint-plugin: [no-non-null-assertion] provide valid fix when member access is on next line (#8185)
- eslint-plugin: [no-unnecessary-condition] improve checking optional callee (#8178)
- eslint-plugin: [prefer-readonly] support modifiers of unions and intersections (#8169)
- eslint-plugin: [switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option (#8176)
- typescript-estree: fix invalid parsing error when use update expression on non-null assertion (#8202)
- typescript-estree: only create project service from env setting if project is enabled (#8136)
- utils: improve error message on typed rule with invalid parser (#8146)
❤️ Thank You
- auvred @auvred
- James @Zamiell
- Josh Goldberg ✨
- YeonJuan @yeonjuan
You can read about our versioning strategy and releases on our website.
6.18.0 (2024-01-06)
🚀 Features
- eslint-plugin: [no-var-requires, no-require-imports] allow option (#7710)
- typescript-estree: throw on invalid update expressions (#7202)
- typescript-estree: throw error when CatchClause param contains initializer (#8183)
❤️ Thank You
- auvred @auvred
- Joshua Chen
You can read about our versioning strategy and releases on our website.
6.17.0 (2024-01-01)
Bug Fixes
- eslint-plugin: [no-restricted-imports] prevent crash when
patterns
or paths
in options are empty (#8108) (675e987)
Features
- eslint-plugin: [no-floating-promises] flag result of .map(async) (#7897) (5857356)
- eslint-plugin: [switch-exhaustiveness-check] add an option to warn against a
default
case on an already exhaustive switch
(#7539) (6a219bd)
You can read about our versioning strategy and releases on our website.
6.16.0 (2023-12-25)
Bug Fixes
- eslint-plugin: [unbound-method] exempt all non-Promise built-in statics (#8096) (3182959)
Features
- eslint-plugin: deprecate formatting (meta.type: layout) rules (#8073) (04dea84)
- eslint-plugin: deprecate no-extra-semi in favor of ESLint Stylistic equivalent (#8123) (9368bf3)
- typescript-estree: add allowDefaultProjectForFiles project service allowlist option (#7752) (7ddadda)
You can read about our versioning strategy and releases on our website.
6.15.0 (2023-12-18)
Features
- eslint-plugin: [no-useless-template-literals] add new rule (#7957) (ff75785), closes #2846
- require-array-sort-compare + toSorted (#8052) (c9661c8)
You can read about our versioning strategy and releases on our website.
6.14.0 (2023-12-11)
Bug Fixes
- eslint-plugin: add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked (#8038) (431cd15)
- eslint-plugin: correct message for
no-unsafe-unary-minus
(#7998) (705370a)
Features
- eslint-plugin: [explicit-function-return-type] add support for typed class property definitions (#8027) (bff47d7)
- eslint-plugin: [require-await] allow yielding Promise in async generators (#8003) (4c3e704)
You can read about our versioning strategy and releases on our website.
6.13.2 (2023-12-04)
Note: Version bump only for package @typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
6.13.1 (2023-11-28)
Bug Fixes
- default to parse all JSDoc and provide options to configure it (#7999) (779e13e)
You can read about our versioning strategy and releases on our website.
6.13.0 (2023-11-27)
Bug Fixes
- typescript-estree: ensure backwards compat with pre-5.3 import attributes (#7967) (810fc8c)
Features
You can read about our versioning strategy and releases on our website.
6.12.0 (2023-11-20)
Bug Fixes
- 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: [switch-exhaustiveness-check] add requireDefaultForNonUnion option (#7880) (4cfcd45)
- update TypeScript to 5.3-rc (#7923) (9034d17)
You can read about our versioning strategy and releases on our website.
6.11.0 (2023-11-13)
Bug Fixes
- eslint-plugin: [explicit-function-return-type] support JSX attributes in
allowTypedFunctionExpressions
(#7553) (be2777c)
- eslint-plugin: [no-unnecessary-qualifier] handle nested namespace id (#7883) (a668f5b)
Features
- add
no-unsafe-unary-minus
rule (#7390) (c4709c2)
- add types for flat config files (#7273) (66cd0c0)
- allow typescript@5.3.0-RC as devDependency (#7821) (b6c40b4)
- eslint-plugin: no-unsafe-enum-comparison handles switch cases (#7898) (72cb9e4)
- typescript-estree: skip
isTTY
version check if user passes loggerFn
on unsupported TypeScript version warning (#7739) (9656e13)
- utils: add ESLint
CodePath
selector types (#7551) (99a026f)
- utils: update types to reflect
RuleContext
and SourceCode
changes and deprecations (#7812) (b73d8b2)
You can read about our versioning strategy and releases on our website.
6.10.0 (2023-11-06)
Bug Fixes
- eslint-plugin: [no-unused-vars] handle logical assignment (#7854) (11e57c5)
- eslint-plugin: [require-await] add support for "await using" (#7866) (855abea)
Features
- eslint-plugin: [ban-ts-comments] suggest ts-expect-error over ts-ignore (#7849) (5e73a48)
You can read about our versioning strategy and releases on our website.
6.9.1 (2023-10-30)
Bug Fixes
- eslint-plugin: [naming-convention] allow PascalCase for imports (#7841) (7ad86ee)
- eslint-plugin: [no-unused-expressions] handle TSInstantiationExpression expression (#7831) (31988e0)
You can read about our versioning strategy and releases on our website.
6.9.0 (2023-10-23)
Bug Fixes
- eslint-plugin: [no-confusing-void-expression] handle unfixable cases (#7674) (7e52f27)
- eslint-plugin: [no-unsafe-return] allow returning anything if explicitly returning any (#7708) (c6124b2)
- rule-tester: fix
parser
fallback logic (#7754) (34c23e0)
- type-utils: treat custom type roots as external (#6870) (b85f744)
Features
- eslint-plugin: [max-params] don't count
this: void
parameter (#7696) (6398d3f), closes #7538
- eslint-plugin: [naming-convention] add support for default and namespace imports (#7269) (bb15aae)
- eslint-plugin: [no-restricted-imports] support import = require (#7709) (4c8edcf)
- eslint-plugin: [no-unsafe-enum-comparison] add switch suggestion (#7691) (53d5263), closes #7643
- eslint-plugin: [prefer-readonly] private fields support (#7686) (0e875bf)
You can read about our versioning strategy and releases on our website.
6.8.0 (2023-10-16)
Bug Fixes
- eslint-plugin: [consistent-type-imports] import assertion checks added (#7722) (afdae37)
- eslint-plugin: [no-shadow] fix static class generics for class expressions (#7724) (e5ea1d0)
- eslint-plugin: [no-unsafe-member-access] report on only the accessed property (#7717) (f81a2da)
- eslint-plugin: [no-useless-empty-export] exempt .d.ts (#7718) (ac397f1)
Features
- eslint-plugin: add new extended rule
prefer-destructuring
(#7117) (3c6379b)
You can read about our versioning strategy and releases on our website.
6.7.5 (2023-10-09)
Bug Fixes
- eslint-plugin: [prefer-string-starts-ends-with] only report slice/substring with correct range (#7712) (db40a0a)
You can read about our versioning strategy and releases on our website.
6.7.4 (2023-10-02)
Note: Version bump only for package @typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
6.7.3 (2023-09-25)
Bug Fixes
You can read about our versioning strategy and releases on our website.
6.7.2 (2023-09-18)
Note: Version bump only for package @typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
6.7.1 (2023-09-18)
Note: Version bump only for package @typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
6.7.0 (2023-09-11)
Bug Fixes
- eslint-plugin: [no-restricted-imports] disallow side effect imports when allowTypeImports is enabled (#7560) (4908905)
Features
- eslint-plugin: [await-thenable] added suggestion fixer (#7437) (b284370)
You can read about our versioning strategy and releases on our website.
6.6.0 (2023-09-04)
Bug Fixes
- eslint-plugin: [key-spacing] consider properties with parens and comments (#7525) (7012279)
Features
You can read about our versioning strategy and releases on our website.
6.5.0 (2023-08-28)
Bug Fixes
- eslint-plugin: [consistent-type-assertions] wrap object return value with parentheses (#6885) (23ac499)
Features
- bump supported TS version to 5.2 (#7535) (f18c88d)
- support Explicit Resource Management syntax for TS 5.2 (#7479) (c11e05c)
You can read about our versioning strategy and releases on our website.
6.4.1 (2023-08-21)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] false positives with branded types (#7466) (b52658f), closes #7293
- utils: [ts-eslint] small type fixes (#7474) (4402db1)
You can read about our versioning strategy and releases on our website.
6.4.0 (2023-08-14)
Bug Fixes
Features
You can read about our versioning strategy and releases on our website.
6.3.0 (2023-08-07)
Bug Fixes
- eslint-plugin: [no-extra-parens] keep parens around call expression arguments when type arguments contain parens (#7375) (38e5e4e)
- eslint-plugin: [no-restricted-imports] allow inline type qualifiers when
allowTypeImports
enabled (#7379) (cc9a46d)
Features
- eslint-plugin: [prefer-nullish-coalescing] allow
ignorePrimitives
option to be true
(#7331) (dfcafae)
Reverts
- Revert "chore(deps): update dependency marked to v6" (#7429) (7891a06), closes #7429 #7422
You can read about our versioning strategy and releases on our website.
6.2.1 (2023-07-31)
Bug Fixes
- eslint-plugin: [no-inferrable-types] apply also for parameter properties (#7288) (67f93b1)
- scope-manager: correct decorators(.length) check in ClassVisitor for methods (#7334) (abbb6c2)
- yarn version not specified in monorepo (#7371) (18f8d74)
You can read about our versioning strategy and releases on our website.
6.2.0 (2023-07-24)
Bug Fixes
- eslint-plugin: [member-ordering] account for repeated names (#6864) (d207b59)
- eslint-plugin: [no-unsafe-enum-comparison] exempt bit shift operators (#7074) (b3e0e75)
- eslint-plugin: [prefer-nullish-coalescing] handle case when type of left side is null or undefined (#7225) (b62affe)
- eslint-plugin: use a default export for the rules type (#7266) (af77a1d)
- typescript-estree: fix TSNode type error on old ts versions (#7267) (f2aed1b)
Features
- eslint-plugin: [class-methods-use-this] add extension rule (#6457) (18ea3b1)
- eslint-plugin: sync getFunctionHeadLoc implementation with upstream (#7260) (f813147)
You can read about our versioning strategy and releases on our website.
6.1.0 (2023-07-17)
Bug Fixes
- eslint-plugin: [comma-dangle] fixed crash from undefined predicate.ignore (#7223) (d368164)
- eslint-plugin: [no-floating-promises] false negative calling .then with second argument undefined (#6881) (606a52c), closes #6850
- eslint-plugin: [no-floating-promises] finally should be transparent to unhandled promises (#7092) (2a4421c)
- eslint-plugin: [no-unnecessary-type-constraint] correctly fix in cts/mts files (#6795) (1404796)
- eslint-plugin: [no-unused-vars] check if any variable definition is exported (#6873) (587ac30), closes #6188
- eslint-plugin: fix schemas across several rules and add schema tests (#6947) (dd31bed)
- eslint-plugin: include the rules types in the package (#7215) (a3da11d)
- typescript-estree: remove ts.sys watch program override (#7252) (41d6e9d)
- utils: accept null as default option in
applyDefault
(#6724) (841889f)
Features
- typescript-estree: add EXPERIMENTAL_useProjectService option to use TypeScript project service (#6754) (6d3d162)
You can read about our versioning strategy and releases on our website.
6.0.0 (2023-07-10)
👉 See Announcing typescript-eslint v6 for an upgrade guide and the full list of changes.
Bug Fixes
- ast-spec: remove more invalid properties (#6243) (aa20f63)
- bumped ts-api-utils to 0.0.39 (#6497) (217c710)
- correct handling of additionalProperties in object schemas (#6939) (489c7a5)
- correct jest.mock path post merge (778d254)
- correct lint error after merge (277fdb5)
- eslint-plugin: [explicit-module-boundary-types] remove shouldTrackReferences option from schema (#5399) (6d32734)
- eslint-plugin: allow parser@^6.0.0 (#6630) (92908bd)
- eslint-plugin: remove valid-typeof disable in eslint-recommended (#5381) (b82df5e)
- fix illegal decorator check (#6723) (c456f8c)
- rename typeParameters to typeArguments where needed (#5384) (08d757b)
- replace tsutils with ts-api-tools (#6428) (79327b4)
- type-utils: checking of type aliases' type names by
typeMatchesSpecifier
(#6820) (7ca2c90)
- type-utils: file variant of TypeOrValueSpecifier uses canonical filenames instead of lowercasing (#6781) (5095d05)
- type-utils: fixed TypeOrValueSpecifier not accounting for scoped DT packages (#6780) (3350940)
- type-utils: treat intrinsic types as if they are from lib and never match error types (#6869) (ecb57de)
- typescript-estree: account for namespace nesting in AST conversion (#6272) (09e3877)
- typescript-estree: allow writing to deprecated node properties (#6670) (6652ebe)
- typescript-estree: fix error handling on
ImportExpression
(#6587) (e8cdd5c)
- typescript-estree: forbid
override
on non-constructor function/methods (#6729) (2f3638f)
- typescript-estree: wrap import = declaration in an export node (#5885) (1c3f470), closes #5036 #5834 #5882 #5864 #3076 #5834 #5882 #5864 #5889 #5834 #5882 #5864 #5883 #4863 #5381 #5256
- update
exports
field in package.json files (#6550) (53776c2)
- utils: removed
TRuleListener
generic from the createRule
(#5036) (361f8bc), closes #5834 #5882 #5864
chore
Features
BREAKING CHANGES
- Removes
experimental-utils
- we will no longer update this package and it will be forever frozen at v5.x
- eslint-plugin: Adds an additional class of checks to the rule
- drop support for ESLint v6
- drops support for node v17
- utils: Removes
meta.docs.suggestion
property
- Bumps the minimum supported range and removes handling for old versions
- drops support for node v12
You can read about our versioning strategy and releases on our website.
5.62.0 (2023-07-10)
Bug Fixes
- eslint-plugin: [comma-spacing] allow no space after trailing comma in objects and arrays (#6938) (24bdacc)
- eslint-plugin: [prefer-includes] escape special characters (#7161) (5a347a5), closes #7145
- eslint-plugin: replace auto-fix of class literal property style rule with suggestion (#7054) (a8c824a)
Features
- eslint-plugin: [prefer-nullish-coalescing] add
ignorePrimitives
option (#6487) (6edaa04)
You can read about our versioning strategy and releases on our website.
5.61.0 (2023-07-03)
Features
- eslint-plugin: [ban-types] ban types in extends and implements (#7129) (997783f)
- support TypeScript 5.1 (#7088) (4bf2d73)
- use graphemer instead of grapheme-splitter (#7069) (faea3ff)
You can read about our versioning strategy and releases on our website.
5.60.1 (2023-06-26)
Note: Version bump only for package @typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
5.60.0 (2023-06-19)
Features
- eslint-plugin: [restrict-plus-operands] add allow* options (#6161) (def09f8)
Note: Version bump only for package @typescript-eslint/typescript-eslint
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.9 (2023-06-05)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.8 (2023-05-29)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.7 (2023-05-22)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.6 (2023-05-15)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.5 (2023-05-08)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.4 (2023-05-08)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.3 (2023-05-08)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.2 (2023-05-01)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.59.1 (2023-04-24)
Bug Fixes
- eslint-plugin: [prefer-regexp-exec] skip malformed regexes (#6935) (05ed60e)
- eslint-plugin: [unified-signatures] no parameters function (#6940) (2970861)
5.59.0 (2023-04-17)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] allow nullish coalescing for naked type parameter (#6910) (3e5f858)
Features
- eslint-plugin: [ban-types] add NonNullable suggestion and allow custom suggestions (#6876) (ff65235)
5.58.0 (2023-04-10)
Bug Fixes
- eslint-plugin: [unified-signatures] allow overloads with different named and different number of parameters (#6877) (939d665)
- update getLib for new TypeScript targets ES2021, ES2022 (#6782) (1c04664)
Features
- eslint-plugin: [no-unsafe-enum-comparison] add rule (#6107) (915f9c2)
5.57.1 (2023-04-03)
Bug Fixes
- eslint-plugin: [strict-boolean-expressions] support mixed enums in allowNullableEnum option (#6740) (49be8a8)
5.57.0 (2023-03-27)
Bug Fixes
- eslint-plugin: [no-unnecessary-boolean-literal-compare] simplify fixer and add support for double negation (#6620) (81c8519)
- eslint-plugin: correct crashes with getTypeArguments for ts < 3.7 (#6767) (59eab58)
Features
- eslint-plugin: [consistent-type-assertions] add suggestions for objectLiteralTypeAssertions (#6642) (720e811)
- eslint-plugin: [consistent-type-assertions] autofix angle bracket assertions to as (#6641) (ad8ea64)
- eslint-plugin: add
no-duplicate-type-constituents
rule (#5728) (bc31078)
5.56.0 (2023-03-20)
Bug Fixes
- eslint-plugin-internal: version import (#6680) (312225f)
- eslint-plugin: [member-ordering] check order when optionalityOrder is present with no optional members (#6619) (6aff431)
- eslint-plugin: [no-misused-promises] avoid unnecessary calls to getContextualType (#6193) (745cfe4)
- eslint-plugin: [no-misused-promises] fix incorrect detection of void functions in JSX attributes (#6638) (9e41cee)
- eslint-plugin: [strict-boolean-expression] support falsy and truthy literals simultaneously (#6672) (62ef487)
- eslint-plugin: [strict-boolean-expressions] handle truthy enums (#6618) (0d0639f)
- eslint-plugin: add TSPropertySignature with TSFunctionType annotation to typeMethod selector (#6645) (3fc5c63)
Features
- eslint-plugin: add allowNever support to restrict-template-expressions (#6554) (423f164)
5.55.0 (2023-03-13)
Bug Fixes
- eslint-plugin: [no-confusing-void-expression] check sequence expressions for void is in last position (#6597) (d73d7d3)
- eslint-plugin: [no-unnecessary-boolean-literal-compare] fixer should handle parentheses (#6569) (2d8c196)
Features
5.54.1 (2023-03-06)
Bug Fixes
- typescript-estree: do not call export of clearProgramCache (#6540) (181e705)
5.54.0 (2023-02-27)
Bug Fixes
- typescript-estree: check for relative/root paths in printing file path errors (#6491) (dc14242)
- website: corect playground build issue (#6506) (6aad7d3)
Features
- eslint-plugin: [promise-function-async] check for promises in implicit return types (#6330) (de1e5ce), closes #6329
5.53.0 (2023-02-20)
Features
- eslint-plugin: [consistent-generic-constructors] handle default parameters (#6484) (e8cebce)
- eslint-plugin: [no-mixed-enums] add rule (#6102) (16144d1)
- typescript-estree: expose a wrapper cache clearing function for advanced usecases (#6476) (d816496)
5.52.0 (2023-02-13)
Bug Fixes
- eslint-plugin: [no-import-type-side-effects] correctly ignore zero-specifier imports (#6444) (d5a6688)
- eslint-plugin: [no-unnecessary-condition] account for optional chaining on potentially void values (#6432) (e1d9c67), closes #5255
- eslint-plugin: [no-unnecessary-condition] fix false positive when checking indexed access types (#6452) (d569924)
- eslint-plugin: fix key-spacing when type starts on next line (#6412) (3eb2eed)
Features
- eslint-plugin: [block-spacing] extending base rule for TS related blocks (#6195) (b2db3f5)
- eslint-plugin: [explicit-function-return-type] add allowFunctionsWithoutTypeParameters option (#6105) (113640e)
- eslint-plugin: [explicit-function-return-type] add allowIIFEs option (#6237) (a1b3f7b)
- typescript-estree: add
.kind
to TSModuleDeclaration
(#6443) (2f948df)
- typescript-estree: allow specifying project: true (#6084) (dcd05f0)
5.51.0 (2023-02-06)
Bug Fixes
- eslint-plugin: [sort-type-constituents] fixed behavior change (#6384) (5bf7f7f), closes #6339
- eslint-plugin: do not use .at(), Node 14 does not support it (#6402) (077ed1b)
Features
- eslint-plugin: [naming-convention] improve performance by removing unnecessary selectors (#6376) (3647a1c)
- eslint-plugin: [no-floating-promises] error on logical expression (#6356) (f330e06)
- eslint-plugin: [no-import-type-side-effects] add rule to warn against runtime side effects with
verbatimModuleSyntax
(#6394) (b14d3be)
- eslint-plugin: [strict-boolean-expressions] add allow nullable enum to strict boolean expressions (#6096) (d4747cd)
- typescript-estree: cache project glob resolution (#6367) (afae837)
5.50.0 (2023-01-31)
Bug Fixes
- ast-spec: a JSXEmptyExpression is not a possible JSXExpression (#6321) (4b27777)
- eslint-plugin: [ban-ts-comment] counts graphemes instead of
String.prototype.length
(#5704) (09d57ce)
- eslint-plugin: [prefer-optional-chain] fix
ThisExpression
and PrivateIdentifier
errors (#6028) (85e783c)
- eslint-plugin: [prefer-optional-chain] fixer produces wrong logic (#5919) (b0f6c8e), closes #1438
Features
- eslint-plugin: add
key-spacing
rule extension for interface & type declarations (#6211) (67706e7)
5.49.0 (2023-01-23)
Bug Fixes
Features
- eslint-plugin: [naming-convention] add support for
#private
modifier on class members (#6259) (c8a6d80)
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.48.0 (2023-01-02)
Bug Fixes
Features
- eslint-plugin: specify which method is unbound and added test case (#6281) (cf3ffdd)
5.47.1 (2022-12-26)
Bug Fixes
- ast-spec: correct some incorrect ast types (#6257) (0f3f645)
- eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)
5.47.0 (2022-12-19)
Features
- eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)
5.46.1 (2022-12-12)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.46.0 (2022-12-08)
Bug Fixes
- eslint-plugin: [ban-types] update message to suggest
object
instead of Record<string, unknown>
(#6079) (d91a5fc)
Features
- eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)
5.45.1 (2022-12-05)
Bug Fixes
- eslint-plugin: [keyword-spacing] unexpected space before/after in
import type
(#6095) (98caa92)
- eslint-plugin: [no-shadow] add call and method signatures to
ignoreFunctionTypeParameterNameValueShadow
(#6129) (9d58b6b)
- eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
- eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)
- parser: remove the jsx option requirement for automatic jsx pragma resolution (#6134) (e777f5e)
5.45.0 (2022-11-28)
Bug Fixes
- eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
- eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
- eslint-plugin: [member-ordering] support private fields (#5859) (f02761a)
- eslint-plugin: [prefer-readonly] report if a member's property is reassigned (#6043) (6e079eb)
- scope-manager: add support for TS4.9 satisfies expression (#6059) (44027db)
- typescript-estree: stub out
ts.SatisfiesExpression
on old TS versions (#6076) (1302b30)
Features
- eslint-plugin: [member-ordering] add a required option for required vs. optional member ordering (#5965) (2abadc6)
- support Auto Accessor syntax (#5926) (becd1f8)
5.44.0 (2022-11-21)
Bug Fixes
- eslint-plugin: [no-empty-interface] disable autofix for declaration merging with class (#5920) (a4f85b8)
- eslint-plugin: [no-unnecessary-condition] handle index signature type (#5912) (5baad08)
- eslint-plugin: [prefer-optional-chain] handle binary expressions in negated or (#5992) (2778ff0)
- typescript-estree: don't consider a cached program unless it's specified in the current
parserOptions.project
config (#5999) (530e0e6)
Features
- eslint-plugin: [adjacent-overload-signatures] check BlockStatement nodes (#5998) (97d3e56)
- eslint-plugin: [keyword-spacing] Support spacing in import-type syntax (#5977) (6a735e1)
- support parsing
satisfies
operators (#5717) (20d7cae)
- update to TypeScript 4.9 (#5716) (4d744ea)
5.43.0 (2022-11-14)
Bug Fixes
- eslint-plugin: [no-shadow] handle false positives on generics and parameters (#5902) (769e8c8)
- eslint-plugin: [promise-function-async] handle keyword token (#5907) (f25a94f)
Features
- eslint-plugin: [consistent-type-imports] support fixing to inline types (#5050) (75dcdf1)
- eslint-plugin: [naming-convention] add support for "override" and "async" modifiers (#5310) (#5610) (c759da1)
- eslint-plugin: [prefer-optional-chain] support suggesting
!foo || !foo.bar
as a valid match for the rule (#5594) (923d486)
5.42.1 (2022-11-07)
Bug Fixes
- ast-spec: correct misnamed ExportNamedDeclaration AST type (#5913) (e88f4fa)
- eslint-plugin: isTypeReadonly stack overflow (#5875) (#5876) (2d9a33c)
5.42.0 (2022-10-31)
Bug Fixes
- ast-spec: add TSQualifiedName to TypeNode union (#5906) (5c316c1)
- eslint-plugin: [no-extra-parens] handle type assertion in extends clause (#5901) (8ed7219)
- eslint-plugin: enable react/jsx-curly-brace-presence lint rule in website package (#5894) (344322a)
- typescript-estree: don't allow single-run unless we're in type-aware linting mode (#5893) (891b087)
Features
- eslint-plugin: [member-ordering] add natural sort order (#5662) (1eaae09)
- eslint-plugin: [no-invalid-void-type] better report message for void used as a constituent inside a function return type (#5274) (d806bda)
- scope-manager: ignore ECMA version (#5881) (3b8d449)
- typescript-estree: clarify docs and error for program project without matching TSConfig (#5762) (67744db)
- utils: add
RuleTester
API for top-level dependency constraints (#5896) (0520d53)
- website: Add a happy message to playground output pane when no errors or AST (#5868) (#5873) (c4e0d86)
Reverts
- Revert "feat(scope-manager): ignore ECMA version" (#5888) (2ee81df), closes #5888 #5881
5.41.0 (2022-10-24)
Bug Fixes
- eslint-plugin: [no-base-to-string] ignore Error, URL, and URLSearchParams by default (#5839) (96e1c6c)
- type-utils: prevent stack overflow in
isTypeReadonly
(#5860) (a6d8f7e), closes #4476
Features
- eslint-plugin: [no-unsafe-declaration-merging] switch to use scope analysis instead of type information (#5865) (e70a10a)
- eslint-plugin: add no-unsafe-declaration-merging (#5840) (3728031)
5.40.1 (2022-10-17)
Bug Fixes
- eslint-plugin: Skip missing 'rest' tuple type arguments in no-misused-promises (#5809) (c5beaa2), closes #5807
- utils: add missing dependency on
@types/semver
(#5825) (17b8879)
5.40.0 (2022-10-10)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] handle interface generic (#5746) (7a8a0a3)
- eslint-plugin: [no-unnecessary-condition] handle void (#5766) (ac8f06b)
Features
- eslint-plugin: Check 'rest' parameters in no-misused-promises (#5731) (6477f38), closes #4015
- utils: add dependency constraint filtering for
RuleTester
(#5750) (121f4c0)
- website: store options TypeScript, Enable jsx and AST Viewer in browser's local storage (#5769) (77d2336)
5.39.0 (2022-10-03)
Features
- eslint-plugin: allow using void as a default type for a generic argument if allowInGenericTypeArguments is specified (#5671) (bb46ef0)
5.38.1 (2022-09-26)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.38.0 (2022-09-19)
Features
- website: add warning on top of formatting rule docs pages (#5598) (5dfa2e9)
5.37.0 (2022-09-12)
Bug Fixes
- eslint-plugin: [strict-boolean-expressions] check all conditions in a logical operator chain (#5539) (77d76e2)
- website: Use extended base rule name from file's meta (#5621) (7fd2f89)
Features
- docs: always expanding collapsible sidebar menus under docs (#5608) (8176fb1)
5.36.2 (2022-09-05)
Bug Fixes
- eslint-plugin: [no-extra-parens] handle generic ts array type. (#5550) (0d6a190)
- scope-manager: correct handling for class static blocks (#5580) (35bb8dd)
- typescript-estree: don't double add decorators to a parameter property's parameter (#5582) (863694c)
5.36.1 (2022-08-30)
Bug Fixes
- typescript-estree: fix decorator regression for pre TS4.8 (#5574) (a603015)
5.36.0 (2022-08-30)
Bug Fixes
Features
5.35.1 (2022-08-24)
Bug Fixes
- eslint-plugin: correct rule schemas to pass ajv validation (#5531) (dbf8b56)
5.35.0 (2022-08-24)
Features
- eslint-plugin: [explicit-member-accessibility] suggest adding explicit accessibility specifiers (#5492) (0edb94a)
5.34.0 (2022-08-22)
Bug Fixes
- ast-spec: NewExpression argument can be SpreadElement now (#5422) (3ced62f)
- eslint-plugin: [no-useless-constructor] handle parameter decorator (#5450) (864dbcf)
- scope-manager: visit static blocks (#5489) (78745c2)
Features
- eslint-plugin: [prefer-optional-chain] support suggesting
!foo || !foo.bar
as a valid match for the rule (#5266) (aca935c)
- types: add unbound property in parser options (#5419) (e08a9dd)
5.33.1 (2022-08-15)
Bug Fixes
- missing placeholders in violation messages for
no-unnecessary-type-constraint
and no-unsafe-argument
(and enable eslint-plugin/recommended
rules internally) (#5453) (d023910)
5.33.0 (2022-08-08)
Bug Fixes
- eslint-plugin: [no-extra-parens] handle await with type assertion (#5428) (e03826f)
- website: add explicit frontmatter description to rule docs (#5429) (63cba5f)
Features
- eslint-plugin: [member-ordering] support static blocks (#5417) (5983e5a)
- eslint-plugin: [prefer-as-const] adds support for class properties (#5413) (d2394f8)
5.32.0 (2022-08-01)
Features
- eslint-plugin: [no-use-before-define] add "allowNamedExports" option (#5397) (ad412cd)
5.31.0 (2022-07-25)
Bug Fixes
- eslint-plugin: [typedef] Support nested array destructuring with type annotation (#5311) (6d19efe)
- scope-manager: handle typeParameters of TSInstantiationExpression (#5355) (2595ccf)
Features
- eslint-plugin: [consistent-generic-ctors] check class field declaration (#5288) (48f996e)
- eslint-plugin: [prefer-nullish-coalescing] add ignoreTernaryTests option (#4965) (f82727f)
5.30.7 (2022-07-18)
Bug Fixes
- eslint-plugin: [no-inferrable] fix optional param to valid code (#5342) (98f6d5e)
- eslint-plugin: [no-unused-vars] highlight last write reference (#5267) (c3f199a)
- expose types supporting old versions of typescript (#5339) (4ba9bdb)
- scope-manager: allow visiting of constraint in infer type (#5331) (b2846a1)
5.30.6 (2022-07-11)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.30.5 (2022-07-04)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] fix record mode fixer for generics with a default value (#5280) (57f032c)
5.30.4 (2022-07-03)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.30.3 (2022-07-01)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.30.2 (2022-07-01)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.30.1 (2022-07-01)
Bug Fixes
- eslint-plugin: [no-base-to-string] add missing apostrophe to message (#5270) (d320174)
5.30.0 (2022-06-27)
Features
- eslint-plugin: [no-shadow] add shadowed variable location to the error message (#5183) (8ca08e9)
- treat
this
in typeof this
as a ThisExpression
(#4382) (b04b2ce)
5.29.0 (2022-06-20)
Features
- website: open issue with rule name if only one rule is enabled (#5190) (b229ee4)
5.28.0 (2022-06-13)
Bug Fixes
- [TS4.7] allow visiting of typeParameters in TSTypeQuery (#5166) (dc1f930)
- eslint-plugin: [space-infix-ops] support for optional property without type (#5155) (1f25daf)
Features
- ast-spec: extract
AssignmentOperatorToText
(#3570) (45f75e6)
- eslint-plugin: [consistent-generic-constructors] add rule (#4924) (921cdf1)
5.27.1 (2022-06-06)
Bug Fixes
- eslint-plugin: [space-infix-ops] correct PropertyDefinition with typeAnnotation (#5113) (d320174)
- eslint-plugin: [space-infix-ops] regression fix for conditional types (#5135) (e5238c8)
- eslint-plugin: [space-infix-ops] regression fix for type aliases (#5138) (4e13deb)
5.27.0 (2022-05-30)
Bug Fixes
- eslint-plugin: [no-type-alias] handle Template Literal Types (#5092) (8febf11)
- types: remove leftovers from removal of useJSXTextNode (#5091) (f9c3647)
Features
- [4.7] support new extensions (#5027) (efc147b)
- [TS4.7] support type parameters for
typeof
(#5067) (836de79)
- bump dependency ranges to TypeScript 4.7 (#5082) (c4310b1)
- eslint-plugin: [ban-ts-comment] add descriptionFormat option (#5026) (1fb31a4)
- eslint-plugin: [no-misused-promises] warn when spreading promises (#5053) (61ffa9e)
- eslint-plugin: [space-infix-ops] missing error report for conditional types (#5041) (0bfab6c)
5.26.0 (2022-05-23)
Bug Fixes
- ast-spec: add
SpreadElement
to ArrayExpression.elements
(#5025) (9f3121b)
- eslint-plugin: [member-delimiter-style] autofixer result is not as expected when comments after the delimiter with option
delimiter: 'none'
(#5029) (ed7b5f6)
- eslint-plugin: [member-delimiter-style] autofixer result is not as expected with option
delimiter: 'none'
(#5023) (9e97a11)
- eslint-plugin: [prefer-readonly] correct issue with anonymus functions (#4974) (952e2f0), closes #2590
Features
- [4.7] support instantiation expressions (#4938) (79fbc77)
- [4.7] support optional variance annotation (#4831) (7e7b24c)
- typescript-estree:
extends
constraints for infer
(#4830) (8cbbcc3)
5.25.0 (2022-05-17)
Bug Fixes
- eslint-plugin: [typedef] stop enforcing rule for assignment expressions (#4958) (04a216c)
- eslint-plugin: strict config should not extend recommended (#5005) (05d71c2)
- website: correct Presets link to be Configs (#5004) (e18e91c)
Features
- eslint-plugin: [no-empty-function] new allow option overrideMethods (#4923) (13c05ae)
- eslint-plugin: deprecate
no-duplicate-imports
in favour of import/no-duplicates
(#4973) (1d2e41a)
- update to TypeScript 4.7-rc (#4829) (6fe783c)
5.24.0 (2022-05-16)
Bug Fixes
- eslint-plugin: [array-type] in fixer add missing parens for constructor types #4756 (#4971) (0377070)
- website: missing colon before tip notes in configs.md (#4982) (f3a1aba)
Features
- eslint-plugin: Add BigInt object type to default ban-types list (#4970) (1867728)
- eslint-plugin: add new 'strict' config (#4706) (4a500b2)
5.23.0 (2022-05-09)
Bug Fixes
- ast-spec: correct
AwaitExpression.argument
type (#4880) (3ec5f53)
- eslint-plugin: [no-restricted-imports] allow type import as long as there's one matching pattern (#4898) (0419d28)
- eslint-plugin: [no-unnecessary-type-constraint] change to suggestion fix, fix multiple trailing comma failures (#4901) (4507ac8)
Features
5.22.0 (2022-05-02)
Bug Fixes
Features
- ast-spec: add fixture test framework and some initial fixtures (#3258) (f3cf87b)
- eslint-plugin: [no-duplicate-enum-values] add rule (#4833) (5899164)
5.21.0 (2022-04-25)
Bug Fixes
- eslint-plugin: [no-misused-promises] prioritize false returns when checking whether a function returns only void (#4841) (ccadb60)
- eslint-plugin: [no-namespace] fix false positive for exported namespaces when allowDeclarations=true (#4844) (4e7c9be)
- eslint-plugin: [space-infix-ops] fix no error when right type is function (#4848) (d74d559)
Features
- eslint-plugin: [parameter-properties] add rule to replace
no-parameter-properties
(#4622) (88ed9ec)
5.20.0 (2022-04-18)
Features
- eslint-plugin: [no-magic-numbers] ignoreTypeIndexes option (#4789) (5e79451)
5.19.0 (2022-04-11)
Bug Fixes
- eslint-plugin: update code to use estree range instead of ts pos/end #4723 (#4790) (a1e9fc4)
Features
- eslint-plugin: [unified-signatures] add
ignoreDifferentlyNamedParameters
option (#4659) (fdf95e0)
- eslint-plugin: add support for valid number and bigint intersections in restrict-plus-operands rule (#4795) (19c600a)
5.18.0 (2022-04-04)
Bug Fixes
- eslint-plugin: method-signature-style respect getter signature (#4777) (12dd670)
- visitor-keys: add missing visitor keys (#4731) (bb575a0)
Features
- eslint-plugin: [no-shadow] ignoreOnInitialization option (#4603) (068ea9b)
- eslint-plugin: [no-this-alias] report on assignment expressions (#4718) (8329498)
5.17.0 (2022-03-28)
Bug Fixes
- code container hiding navigation menu (#4707) (96bc69a)
- revert "chore: Bump cypress from 8.3.0 to 9.5.2", and ignore cypress for now (#4740) (cf5f5c4), closes #4710
Features
- eslint-plugin: [no-unused-vars] add destructuredArrayIgnorePattern options (#4748) (6f8db8b)
5.16.0 (2022-03-21)
Bug Fixes
- eslint-plugin: [consistent-type-assertions] enforce assertionStyle for
const
assertions (#4685) (8ec05be)
- scope-manager: incorrect reference for this within a jsx identifier (#4535) (dd49280)
- utils: RuleTester: Only call afterAll if defined (#4656) (0fe0683)
Features
- eslint-plugin: [prefer-optional-chain] support logical with empty object (#4430) (d21cfe0)
5.15.0 (2022-03-14)
Features
- parser: add
parserOptions.emitDecoratorMetadata
(#4646) (e3dd343)
5.14.0 (2022-03-07)
Bug Fixes
- eslint-plugin: [naming-convention] cover case that requires quotes (#4582) (3ea0947)
- eslint-plugin: [no-misused-promises] factor thenable returning function overload signatures (#4620) (56a09e9)
- eslint-plugin: [prefer-readonly-parameter-types] handle class sharp private field and member without throwing error (#4343) (a65713a)
- eslint-plugin: [return-await] correct autofixer in binary expression (#4401) (5fa2fad)
Features
- eslint-plugin: [no-misused-promises] add granular options within
checksVoidReturns
(#4623) (1085177)
- TypeScript 4.6 (#4615) (a02c63a)
5.13.0 (2022-02-28)
Bug Fixes
- eslint-plugin: [sort-type-union-intersection-members] Wrap the constructorType in parentheses (#4590) (851bb90)
Features
- eslint-plugin: [no-misused-promises] check more places for checksVoidReturn (#4541) (052cf51)
- eslint-plugin: add
no-redundant-type-constituents
rule (#4378) (63d051e)
- eslint-plugin: add
no-useless-empty-export
rule (#4380) (823b945)
- eslint-plugin: add extension rule
space-before-blocks
(#1606) (#4184) (208b6d0)
- eslint-plugin: added member group support to member-ordering rule (#4538) (6afcaea)
- utils: expose
ast-utils
' helpers (#4503) (f106e4b)
- utils: extract
isNotTokenOfTypeWithConditions
out of ast-utils
' predicates
(#4502) (66501d6)
5.12.1 (2022-02-21)
Bug Fixes
- eslint-plugin: [no-unnecessary-type-arguments] fix comparison of types (#4555) (fc3936e)
5.12.0 (2022-02-14)
Bug Fixes
- eslint-plugin: [init-declarations] fix nested namespace (#4544) (fe910e6)
- eslint-plugin: [no-unnecessary-type-arguments] Use Symbol to check if it's the same type (#4543) (5b7d8df)
- support nested object deconstructuring with type annotation (#4548) (4da9278)
Features
- add checking property definition for allowNames option (#4542) (e32bef6)
5.11.0 (2022-02-07)
Bug Fixes
- eslint-plugin: [no-magic-numbers] fix invalid schema merging (#4517) (b95f796)
- eslint-plugin: [non-nullable-type-assertion-style] fix false positive when asserting to a generic type that might be nullish (#4509) (4209362)
Features
- eslint-plugin: [explicit-function-return-type] add allowedNames (#4440) (936e252)
5.10.2 (2022-01-31)
Bug Fixes
- eslint-plugin: [no-restricted-imports] allow relative type imports with patterns configured (#4494) (4a6d217)
5.10.1 (2022-01-24)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.10.0 (2022-01-17)
Bug Fixes
- eslint-plugin: [explicit-function-return-type] support AllowTypedFunctionExpression within AllowHigherOrderFunction (#4250) (d053cde)
- eslint-plugin: [no-extra-semi] false negatives when used with eslint 8.3.0 (#4458) (f4016c2)
- eslint-plugin: [no-invalid-this] crash when used with eslint 8.7.0 (#4448) (e56f1e5)
- eslint-plugin: [no-magic-numbers] handle bigint in class props (#4411) (c8e650f)
- type-utils: check IndexSignature internals when checking isTypeReadonly (#4417) (ef3147c), closes #4410 #3714
- type-utils: intersection types involving readonly arrays are now handled in most cases (#4429) (5046882)
- type-utils: isTypeReadonly now handles conditional types (#4421) (39a6806)
- type-utils: union types always being marked as readonly (#4419) (99ab193)
Features
- rename
experimental-utils
to utils
and make experimental-utils
an alias to the new package (#4172) (1d55a75)
- type-utils: make isTypeReadonly's options param optional (#4415) (3a07a56)
5.9.1 (2022-01-10)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.9.0 (2022-01-03)
Features
- experimental-utils: move isTypeReadonly from eslint-plugin to experimental-utils (#3658) (a9eb0b9)
5.8.1 (2021-12-27)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] do not report for circular references (#4347) (6edebcd)
- eslint-plugin: [consistent-type-definitions] correct fixer with declare keyword (#4334) (0cd911a)
- eslint-plugin: [padding-line-between-statements] make function overloading is also processed (#4345) (d31ec26)
5.8.0 (2021-12-20)
Bug Fixes
- eslint-plugin: [no-implied-eval] improve performance (#4313) (e344596)
- eslint-plugin: [padding-line-between-statements]
type
StatementTypes can't differenciate from variable (#4270) (bfc4324)
- eslint-plugin: [strict-boolean-expression] false positive for truthy boolean (#4275) (72c2e41)
- eslint-plugin:
array-type
mark AST_NODE_TYPES.TSBigIntKeyword
as simple (#4274) (74e544e)
- eslint-plugin: handle method overloading in
semi
(#4318) (3b87b49)
- experimental-utils: support immutable members (#3844) (3d33a77)
Features
- eslint-plugin: [no-throw-literal] add options to to disallow
any
/unknown
(#4207) (ff0adf9)
- eslint-plugin: [restrict-plus-operand] add allowAny option (#4260) (2788545)
5.7.0 (2021-12-13)
Bug Fixes
- typescript-estree: type-only regression for consumers not yet on TS 4.5 (#4272) (550b61e)
Features
- eslint-plugin: [consistent-type-exports] support TS4.5 inline export specifiers (#4236) (be4d976)
- eslint-plugin: [consistent-type-imports] support TS4.5 inline import specifiers (#4237) (f61af7c)
- eslint-plugin: [no-shadow] support TS4.5 inline import specifiers (#4239) (96b7e8e)
5.6.0 (2021-12-06)
Features
- scope-manager: support TS4.5 import/export specifier kind (#4234) (833f822)
- scope-manager: update lib types (#4240) (8377e6e)
5.5.0 (2021-11-29)
Bug Fixes
- eslint-plugin: [member-ordering] order literal names correctly in (#4054) (d57141a)
- eslint-plugin: [no-duplicate-imports] remove unnecessary type checking for
node.source
(#4196) (637722a)
- eslint-plugin: [no-var-requires] do not report require created from createRequire (#4221) (0040186)
- eslint-plugin: [prefer-for-of] do nor error when iterating over this (#4176) (258ddb0)
- eslint-plugin: [require-await] treat yield* asynciterable as an await (#4125) (5a4ce6a)
- eslint-plugin: remove all whitespaces in comparison #4220 (#4223) (853d799)
- experimental-utils: export RuleCreator interfaces (#4199) (7821e4c)
- experimental-utils: fix types for eslint-utils (#4173) (7079de2)
- scope-manager: support static class blocks (#4211) (f8e9125)
- visitor-keys: add missing import assertion keys (#4178) (9c38b7f)
Features
- eslint-plugin: [member-ordering] add option to sort case insensitive (#3896) (e3533d5)
- eslint-plugin:
array-type
distinguish whether readonly or not (#4066) (314af44)
5.4.0 (2021-11-15)
Bug Fixes
- correct issues with circular imports (#4140) (4c87b24)
- eslint-plugin: [explicit-member-accessibility] private fields cannot have accessibility modifiers (#4117) (81b25c1)
- eslint-plugin: [no-implied-eval] ignore locally declared functions (#4049) (d97140e)
- eslint-plugin: check optional chaining for floating promises (#4096) (d724777)
- landing page title duplication (#4123) (844c25e)
Features
- add RuleCreator.withoutDocs (#4136) (87cfc6a)
- experimental-utils: add default [] for RuleModule TOptions generic (#4135) (62b8098)
- typescript-estree: support Import Assertions (#4074) (ae0fb5a)
- typescript-estree: support private fields in-in syntax (#4075) (939d8ea)
- typescript-estree: support type-only module specifiers (#4076) (77baa92)
5.3.1 (2021-11-08)
Note: Version bump only for package @typescript-eslint/typescript-eslint
5.3.0 (2021-11-01)
Bug Fixes
- eslint-plugin: ignore private identifiers in explicit-module-boundary-types (#4046) (80b853d)
- eslint-plugin: skip seenTypes for unions in isTypeReadonly (#4043) (6af7ca7)
- experimental-utils: add
name
property to test case interface (#4067) (f3021c9)
Features
- eslint-plugin: [no-shadow] exclude external type declaration merging (#3959) (a93cebf)
- experimental-utils: extract
isTokenOfTypeWithConditions
out of ast-utils
' predicates
(#3977) (5229597)
5.2.0 (2021-10-25)
Bug Fixes
- eslint-plugin: [typedef] fix regression with class properties (#4034) (fe53d22), closes #4033
Features
- eslint-plugin: adding
consistent-type-exports
rule (#3936) (1971a3f)
5.1.0 (2021-10-18)
Bug Fixes
- eslint-plugin: [no-restricted-imports]: report type-only imports properly (#3996) (283cdf2)
- eslint-plugin: [strict-bool-expr] treat unconstrained generic as any (#3981) (9b29ca7)
- typescript-estree: support private optional property definition (#3997) (8605e08)
Features
- experimental-utils: extract
ast-utils
' predicates
' helpers (#3976) (154ec9a)
5.0.0 (2021-10-11)
Bug Fixes
- eslint-plugin: [explicit-member-accessibility] report
TSAbstractPropertyDefinition
and TSAbstractMethodDefinition
properly (#3901) (82016f9)
- eslint-plugin: update new rules from master (#3840) (d88a6b4)
- update new rules from master (b34fb7e)
- eslint-plugin: crash in no-dupe-class-members (v5) (#3813) (4b09644)
- experimental-utils: fix
isSetter
's return type (#3975) (d256856)
- typescript-estree: change
source
of ExportNamedDeclaration to Literal from Expression (#3763) (dc5a0f5)
Features
- ast-spec: bring
Node
objects in line with ESTree (#3771) (dd14064)
- eslint-plugin: remove
object
from ban-types
' default types (#3818) (ae3fa90)
- eslint-plugin: removed value from abstract property nodes (#3765) (5823524), closes #3748
- eslint-plugin: update recommended configs (#3809) (deeb7bb)
- align class property representation with ESTree (#3806) (22fa5c0), closes #3430 #3077
- remove
meta.docs.category
from rules (#3800) (71c9370)
- remove
TSParenthesizedType
(#3340) (c8ee432), closes #3136
- support
PrivateIdentifier
(#3808) (0eefe5e), closes #3430 #2933
- eslint-plugin: [comma-dangle] align schema with ESLint v8 (#3768) (0acfafc)
- eslint-plugin: [member-ordering] add support for getters and setters (#3611) (e264124)
- eslint-plugin: remove
no-unused-vars-experimental
(79ae03b)
- experimental-utils: extract
isNodeOfTypes
out of ast-utils
' predicates
(#3836) (0cc509b)
- typescript-estree: remove legacy
useJSXTextNode
option (#3109) (5b84b98)
- support ESLint v8 (#3737) (4ca62ae)
- experimental-utils: remove
getComments
from ESLint
SourceCode
types (#3766) (165a507)
BREAKING CHANGES
- eslint-plugin:
ban-types
no longer reports object
by default
4.33.0 (2021-10-04)
Bug Fixes
- eslint-plugin: [lines-between-class-members] fix
exceptAfterOverload
for abstract methods (#3943) (240fc65)
- eslint-plugin: [no-confusing-void-expression] support optional chaining (#3937) (c40dd13)
- eslint-plugin: [no-restricted-imports] fix crash when no options given (#3947) (edaa3c1)
- eslint-plugin: [non-nullable-type-assertion-style] false-positive with non-nullish
as
assertions and types (#3940) (40760f9)
- eslint-plugin: [padding-line-between-statements] TSModuleBlock should change scope (#3944) (f8f534e)
- eslint-plugin: [prefer-regexp-exec] check
RegExp
without flags (#3946) (0868725)
- experimental-utils: add
getPhysicalFilename()
to RuleContext
(#3934) (ee5dfd4)
- experimental-utils: require fix in suggestions (#3949) (f022fb1)
Features
- experimental-utils: extract
isNodeOfTypeWithConditions
out of ast-utils
' predicates
(#3837) (214f898)
4.32.0 (2021-09-27)
Bug Fixes
- eslint-plugin: [consistent-type-definitions] correct fix for
export default
(#3899) (ebb33ed)
- eslint-plugin: [no-require-imports] report only global
require
(#3871) (8aa87a1)
- eslint-plugin: [no-shadow] ignore type-only imports properly (#3868) (dda9cee)
- eslint-plugin: [no-var-requires] report problems within
NewExpression
(#3884) (ed5e459)
- eslint-plugin: [padding-line-between-statements] problems within namespaces not being reported (#3869) (1861356)
- eslint-plugin: [prefer-regexp-exec] respect flags when using
RegExp
(#3855) (ffdb5ff)
- eslint-plugin: [prefer-return-this-type] handle generics properly in fixer (#3852) (9e98b8f)
- eslint-plugin: false-positive/negative with array index in no-unnecessary-condition (#3805) (bdb8f0b)
- experimental-utils: add missing signature for
isParenthesized
(#3887) (806eaac)
Features
- eslint-plugin: [no-type-alias]: add allowGenerics option (#3865) (4195919)
- eslint-plugin: add
no-non-null-asserted-nullish-coalescing
rule (#3349) (4e99961)
- eslint-plugin: add new extended rule
no-restricted-imports
(#3775) (ec5d506)
- eslint-plugin-internal: [prefer-ast-types-enum] add
DefinitionType
enum (#3916) (13b7de5)
- Support
'latest'
as ecmaVersion
(#3873) (25a42c0)
4.31.2 (2021-09-20)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.31.1 (2021-09-13)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.31.0 (2021-09-06)
Bug Fixes
- ast-spec: remove duplicate union types from
Expression
(#3770) (463e768)
- utils: support immutable arrays in
ReportFixFunction
(#3830) (8218055)
Features
- eslint-plugin: [prefer-readonly-parameter-types] add option treatMethodsAsReadonly (#3733) (a46e318)
- eslint-plugin: [restrict-template-expressions] add option to allow RegExp (#3709) (363b3dc)
- eslint-plugin: add
no-meaningless-void-operator
rule (#3641) (ea40ab6)
- eslint-plugin: add extension rule
padding-line-between-statements
(#3418) (f79ae9b)
- experimental-utils: extract
isNodeOfType
out of ast-utils
' predicates
(#3677) (4bfa437)
4.30.0 (2021-08-30)
Bug Fixes
- eslint-plugin: [dot-notation] false positive with optional chaining (#3711) (c19fc6e), closes #3510
- eslint-plugin: [prefer-reduce-type-parameter] handle already existing type params (#3706) (71dd273)
- eslint-plugin: isTypeReadonly error with <TS3.7 (#3731) (5696407)
- visitor-keys: add key to StaticBlock (v5) (#3812) (fa35e22)
Features
- experimental-utils: add literal types to
global
option (#3634) (820965c)
- typescript-estree: add support for class static blocks (#3730) (f81831b)
4.29.3 (2021-08-23)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.29.2 (2021-08-16)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.29.1 (2021-08-09)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.29.0 (2021-08-02)
Bug Fixes
- eslint-plugin: [no-implied-eval] handle bind on nested member expressions (#3598) (f5a6806)
- eslint-plugin: [no-implied-eval] permit more expression types (#3624) (ca7c549)
- eslint-plugin: [no-unnecessary-boolean-literal-compare] incorrect fix when condition is reversed (#3581) (b595575)
- eslint-plugin: [return-await] handle nested functions correctly (#3601) (4a196b5)
- eslint-plugin: [return-await] properly handle fixes for
TSAsExpression
(#3631) (00a4369)
- experimental-utils: simplify
eslint-utils
' findVariable
's signature in ast-utils
(#3574) (3ef5267)
- typescript-estree: correct tty check (#3635) (62bcc93)
- typescript-estree: ensure --fix works with singleRun mode (#3655) (99eca0d)
Features
- ast-spec: extract
ExportKind
& ImportKind
(#3564) (120d566)
- ast-spec: make
BaseNode
& BaseToken
more type-safe (#3560) (a6c5604)
- eslint-plugin: [no-redeclare] ignoreDeclarationMerge of enum+namespace (#3572) (18e30cb)
- eslint-plugin: [prefer-return-this-type] add a new rule (#3228) (5e1a615)
- eslint-plugin: Catch unused React import with new JSX transform (#3577) (02998ea)
- typescript-estree: add support for custom module resolution (#3516) (d48429d)
4.28.5 (2021-07-26)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.28.4 (2021-07-19)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.28.3 (2021-07-12)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.28.2 (2021-07-05)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.28.1 (2021-06-28)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.28.0 (2021-06-21)
Bug Fixes
- eslint-plugin: [prefer-regexp-exec] factor in union types (#3434) (ac86a79)
- experimental-utils: expand
RuleTester
config properties (#3557) (ffbb3cf)
- experimental-utils: fix
eslint-utils
' negative predicates' return types (#3462) (1e6016b)
- experimental-utils: fix
eslint-utils
' negative predicates' return types in ast-utils
(#3461) (614b0a3)
- experimental-utils: make keys for
ReferenceTracker
options optional (#3531) (a7fd7bb)
Features
- experimental-utils: add
only
property to RuleTester
types (#3555) (2a36e3e)
- experimental-utils: expose ReferenceTracker.ESM (#3532) (4ac67c4)
- experimental-utils: use mergable interface for
settings
property (#3556) (abfc19b)
4.27.0 (2021-06-14)
Bug Fixes
- eslint-plugin: allow explicit any for no-unsafe-return (#3498) (b15a2b2)
- typescript-estree: allow providing more one than one existing program in config (#3508) (4f1806e)
- typescript-estree: support override modifier for parameter property (#3485) (33b9f69)
Features
- ast-spec: specify
LogicalExpression
's operator
type (#3497) (9e343fd)
- ast-spec: specify
PunctuatorToken
's value
type (#3496) (fdb1d81)
- eslint-plugin: [prefer-literal-enum-member] add allowBitwiseExpressions option (#3515) (288092a)
- typescript-estree: add opt-in inference for single runs and create programs for projects up front (#3512) (06c2d9b)
- allow user to provide TS program instance in parser options (#3484) (e855b18)
4.26.1 (2021-06-07)
Bug Fixes
- eslint-plugin: [prefer-includes] ignore option chaining before indexOfs (#3432) (bf0cddb)
- eslint-plugin: fix doc url generation (#3475) (fc5f171), closes #3473
4.26.0 (2021-05-31)
Bug Fixes
- eslint-plugin: [no-type-alias] consider type imports as alias types (#3433) (d4f0774)
- generate library types for TypeScript v4.3 (#3460) (ed4776a), closes #3449
Features
- eslint-plugin: [member-ordering] add callback as an ordering type of node (#3354) (d134b1f)
- eslint-plugin: [space-infix-ops] Add support for Union and intersection of type declarations (#3360) (3d29323)
- scope-manager: reduce generated lib file size (#3468) (258116b)
4.25.0 (2021-05-24)
Bug Fixes
- corrected no-unsupported-browser-code in roadmap as unimplemented (#3407) (2319b0e)
- experimental-utils: fix
isAwaitKeyword
predicate in ast-utils (#3290) (c15da67)
Features
- typescript-estree: [TS4.3] support overrides on class members (#3429) (21d1b62)
- typescript-estree: add support for getter/setter signatures on types (#3427) (b830b7f), closes #3272 #3272
4.24.0 (2021-05-17)
Bug Fixes
- eslint-plugin: [no-shadow] fix static class method generics shadowing class generics (#3393) (b1e1c8a), closes #2592
- eslint-plugin: [no-unsafe-*] special case handling for the empty map constructor with no generics (#3394) (cae4f4a), closes #2109
Features
- eslint-plugin: [dot-notation] optionally allow square bracket notation where an index signature exists in conjunction with
noPropertyAccessFromIndexSignature
(#3361) (37ec2c2)
4.23.0 (2021-05-10)
Bug Fixes
- scope-manager: fix visiting TSAsExpression in assignment (#3355) (87521a0)
Features
- experimental-utils: Include
getCwd()
in RuleContext
type (#3308) (2b75c11)
- refactor to split AST specification out as its own module (#2911) (25ea953)
4.22.1 (2021-05-04)
Note: Version bump only for package @typescript-eslint/typescript-eslint
4.22.0 (2021-04-12)
Bug Fixes
- eslint-plugin: [no-unsafe-argument] handle tuple types on rest arguments (#3269) (6f8cfe6)
Features
- eslint-plugin: [prefer-regexp-exec] add autofix (#3207) (e2cbeef)
4.21.0 (2021-04-05)
Bug Fixes
- eslint-plugin: [no-type-alias] consider
keyof
as an alias (#3242) (329ef02)
- eslint-plugin: [no-unnecessary-type-assertion] correct bad fix for angle bracket assertion (#3244) (265a039)
- eslint-plugin: [restrict-plus-operands] consider template literal types as strings (#3234) (ccfd68e)
- eslint-plugin: [strict-boolean-expressions] account for truthy literals (#3236) (0913f40)
- eslint-plugin: always ignore assignments in no-unnecessary-type-assertion (#3235) (0221476)
Features
- eslint-plugin: [no-unsafe-argument] add rule (#3256) (b1aa7dc), closes #791
- eslint-plugin: [no-unsafe-call][no-unsafe-member-access] improve report messages for
this
for noImplicitThis
(#3199) (b1b26c4)
4.20.0 (2021-03-29)
Features
- eslint-plugin: [space-infix-ops] support for class properties and type aliases (#3231) (5414bf2)
- eslint-plugin: [type-annotation-spacing] handle space between ? and : (#3138) (40bdb0b)
4.19.0 (2021-03-22)
Bug Fixes
- eslint-plugin: [member-delimiter-style] correct invalid fix for multiline with params on the same line (#3177) (7ad343b)
- eslint-plugin: [promise-function-async] bad fixer with computed and literal methods (#3163) (e3a3ea0)
- typescript-estree: [ts 4.2] add support for import type equal declaration (#3189) (6a25faf)
Features
- eslint-plugin: [object-curly-spacing] support MappedType (#3176) (0557a43)
- eslint-plugin: [unbound-method] improve error message (#3203) (5cc5d2e), closes #3201
4.18.0 (2021-03-15)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] fixes #2864 related to functions in nested object properties (#3178) (55e1fba)
- eslint-plugin: [no-extran-class] allowWithDecorator should ignore other errors (#3160) (a148673)
Features
- eslint-plugin: add package type declaration (#3164) (08b058a)
4.17.0 (2021-03-08)
Bug Fixes
- eslint-plugin: [no-unnecessary-type-assertion] handle assignment (#3133) (cb22561)
Features
- eslint-plugin: [strict-bool-expr] add fixes and suggestions (#2847) (3f9e9a1)
4.16.1 (2021-03-01)
Bug Fixes
- typescript-estree: update TS version range (#3127) (0473674)
4.16.0 (2021-03-01)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] do not autofix if interface has extends (#3009) (b0475af)
- eslint-plugin: [no-implied-eval] handle conditional expression (#3125) (8c65d30)
- eslint-plugin: [no-unused-vars] don't report nested module declaration (#3119) (4ca5888)
- eslint-plugin: [prefer-function-type] apply existing comments to the fixed code (#3094) (c32f803)
- eslint-plugin: [unbound-method] allow
super
expressions in this
assignments (#3010) (c65a139)
- scope-manager: update libs for typescript 4.2 (#3118) (0336c79)
Features
- TypeScript 4.2 syntax support (#3112) (2ebfb21)
- eslint-plugin: [member-delimiter-style] Add an option 'multilineDetection' to treat types and interfaces as single line if the last member ends on the same line as the closing bracket (#2970) (cf86f42)
- eslint-plugin: [prom-func-async] report only function head (#2872) (25f459c)
- typescript-estree: throw custom error instead of plain object (#3011) (ae14bf5)
4.15.2 (2021-02-22)
Bug Fixes
- typescript-estree: correct issues in AST definition (#3083) (509a117)
- add missing intrinsic keyword node to AST (#3081) (409bf0b)
- eslint-plugin: [no-var-requires] report when used in type assertion (#3074) (763a252)
- correct test names on windows for semantic-diagnostics-enabled (#3060) (885780d)
4.15.1 (2021-02-15)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] check allowNames on function declarations and property methods (#3051) (0ade469)
4.15.0 (2021-02-08)
Bug Fixes
- eslint-plugin: [no-extra-parens] handle ESLint 7.19.0 (#2993) (4615048)
- eslint-plugin: [prefer-function-type] correct fixer when signature ends with a semi (#3002) (898dd39)
- scope-manager: fix visiting of TSImportType (#3008) (ce4fcbf), closes #3006
Features
- typescript-estree: improve logic used to escape string literals in jsx (#2995) (3cb3aad)
4.14.2 (2021-02-01)
Bug Fixes
- eslint-plugin: [consistent-type-imports] incorrect handling of computed property type signatures (#2990) (58f2655), closes #2989
- scope-manager: correctly reference generic parameters when decorator metadata is enabled (#2975) (7695ef3), closes #2972
4.14.1 (2021-01-25)
Bug Fixes
- eslint-plugin: [sort-type-union-intersection-members] consider
void
as a nullish
(#2944) (a241b25), closes #2940
- scope-manager: fix incorrect handling of class decorators and class method default params (#2943) (e1eac83), closes #2941 #2942 #2751
4.14.0 (2021-01-18)
Features
- add support for decorator metadata in scope analysis and in consistent-type-imports (#2751) (445e416), closes #2559
- eslint-plugin: add
object-curly-spacing
rule (#2892) (32bd18d)
4.13.0 (2021-01-11)
Bug Fixes
Features
- eslint-plugin: [sort-type-union-intersection-members] add nullish group (#2919) (5558f41)
4.12.0 (2021-01-04)
Bug Fixes
- eslint-plugin: [comma-spacing] handle empty type params (#2915) (4d69fbb)
Features
- eslint-plugin: add rule
sort-type-union-intersection-members
(#2913) (9092c04)
4.11.1 (2020-12-28)
Bug Fixes
- eslint-plugin: [naming-convention] fix precedence of method and property meta selectors (#2877) (2f10e1a)
4.11.0 (2020-12-21)
Bug Fixes
- eslint-plugin: [non-nullable-type-assertion-style] handle const assertion (#2881) (53dc34d)
Features
- eslint-plugin: [prom-func-async] add automatic fix (#2845) (717e718)
4.10.0 (2020-12-14)
Bug Fixes
- eslint-plugin: [naming-convention] fix wrong member of
method
and property
meta selectors (#2856) (9a6c362)
Features
- eslint-plugin: add rule
non-nullable-type-assertion-style
(#2624) (7eee44f)
4.9.1 (2020-12-07)
Bug Fixes
- eslint-plugin: [method-signature-style] fix crash with methods without a return type (#2836) (fed89f2), closes #2834
- eslint-plugin: [no-unused-vars] false-positive with class expressions (#2833) (aadb39f), closes #2831
- eslint-plugin: [no-unused-vars] fix race condition between naming-convention and no-unused-vars (#2848) (ccb6b94), closes #2844
4.9.0 (2020-11-30)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] convert readonly index signature to readonly record (#2798) (29428a4)
- eslint-plugin: [consistent-type-imports] crash when using both default and namespace in one import (#2778) (c816b84)
- eslint-plugin: [explicit-module-boundary-types] ignore functions exported within typed object/array literals (#2805) (73a63ee)
- eslint-plugin: [no-use-before-define] allow class references if they're within a class decorator (#2827) (050023a), closes #2842
- eslint-plugin: [triple-slash-reference] fix crash with external module reference (#2788) (32b1b68)
- scope-manager: fix assertion assignments not being marked as write references (#2809) (fa68492), closes #2804
- typescript-estree: add default value for
parserOptions.projectFolderIgnoreList
and deduplicate resolved projects (#2819) (bf904ec), closes #2418 #2814
Features
- eslint-plugin: [naming-convention] add
requireDouble
, allowDouble
, allowSingleOrDouble
options for underscores (#2812) (dd0576a)
- eslint-plugin: [naming-convention] add
requiresQuotes
modifier (#2813) (6fc8409), closes #2761 #1483
- eslint-plugin: [naming-convention] add modifier
unused
(#2810) (6a06944)
- eslint-plugin: [naming-convention] add modifiers
exported
, global
, and destructured
(#2808) (fb254a1), closes #2239 #2512 #2318 #2802
- eslint-plugin: [naming-convention] allow
destructured
modifier for parameter
selector (#2829) (525d2ff), closes #2828
- eslint-plugin: [naming-convention] split
property
and method
selectors into more granular classXXX
, objectLiteralXXX
, typeXXX
(#2807) (665b6d4), closes #1477 #2802
- eslint-plugin: [no-unused-vars] fork the base rule (#2768) (a8227a6), closes #2782 #2714 #2648
- eslint-plugin: [unbound-method] add support for methods with a
this: void
parameter (#2796) (878dd4a)
4.8.2 (2020-11-23)
Bug Fixes
- eslint-plugin: [prefer-literal-enum-member] allow pure template literal strings (#2786) (f3bf6a1)
- typescript-estree: fix type-only regression for consumers not yet on TS 4.1 (#2789) (50a46c6)
4.8.1 (2020-11-17)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] false positive when array predicate returns unknown (#2772) (111c244)
- typescript-estree: parseWithNodeMaps returning empty maps (#2773) (3e4a0ed)
4.8.0 (2020-11-16)
Bug Fixes
- eslint-plugin: [consistent-type-definitions] remove fixer when the interface is within a global module declaration (#2739) (2326238)
- eslint-plugin: [no-unsafe-member-access] ignore MemberExpression's whose parents are either TSClassImplements or TSInterfaceHeritage (#2753) (535db3b)
Features
4.7.0 (2020-11-09)
Bug Fixes
- eslint-plugin: [array-type] parenthesize ReadonlyArray fix (#2747) (83385ac)
- eslint-plugin: [no-extra-non-null-assertion] false positive with non-nullable computed key (#2737) (e82698c)
Features
4.6.1 (2020-11-02)
Bug Fixes
- eslint-plugin: [consistent-indexed-object-style] fix wrong autofix behaviour with generics (#2722) (73d9713)
- eslint-plugin: [no-shadow] ignore global module augmentation (#2729) (d8c67a5)
4.6.0 (2020-10-26)
Bug Fixes
- eslint-plugin: [method-signature-style] correct fixer for overloads in an object literal type (#2708) (0763913)
- eslint-plugin: [method-signature-style] don't auto-fix interfaces within namespaces (#2678) (e012049)
- eslint-plugin: [prefer-string-starts-ends-with] Check negative indices in the second position for slice (#2696) (66e9c6e)
Features
- eslint-plugin: [ban-types] support banning
[]
(#2704) (ef8b5a7), closes #2582
- eslint-plugin: add
no-unnecessary-type-constraint
rule (#2516) (880ac75)
- eslint-plugin: add extension rule
space-infix-ops
(#2593) (343d20d)
4.5.0 (2020-10-19)
Bug Fixes
- eslint-plugin: [array-type] fix issues with readonly option (#2667) (63d1d81)
- eslint-plugin: [lines-between-class-members] fix typo in schema (#2681) (a2a2514)
- eslint-plugin: [naming-convention] check bodyless function parameters (#2675) (c505863)
- eslint-plugin: [no-invalid-this] allow "this" in class property definitions (#2685) (dccb6ee)
- eslint-plugin: [no-misused-promises] False negative in LogicalExpression (#2682) (30a6951), closes #2544
- eslint-plugin: [no-unnecessary-type-assertion] correct fixer for vue files (#2680) (55111af)
- eslint-plugin: [return-await] do not auto-fix when type is
any
/unknown
(#2671) (d690c8d)
- parser: minor fix regexp, map-filter to reduce (#2684) (f1329f6)
Features
- eslint-plugin: [dot-notation] add
allowProtectedClassPropertyAccess
option (#2622) (bbc9e35)
- eslint-plugin: [prefer-readonly-parameter-types] add
ignoreInferredTypes
option (#2668) (91010e8)
- eslint-plugin: [restrict-plus-operands] add intersection type determination logic (#2628) (da71362)
- typescript-estree: add flag EXPERIMENTAL_useSourceOfProjectReferenceRedirect (#2669) (90a5878)
4.4.1 (2020-10-12)
Bug Fixes
- eslint-plugin: [ban-ts-comment] support block comments (#2644) (9c3c686)
- eslint-plugin: [ban-types] allow banning types with specific parameters (#2662) (77732a2)
- eslint-plugin: [consistent-type-assertions] check type assertion in jsx props (#2653) (393e925)
- eslint-plugin: [no-duplicate-imports] distinguish member, default (#2637) (c71f423)
- eslint-plugin: [no-throw-literal] false positive with logical expressions (#2645) (57aa6c7)
- eslint-plugin: [no-unused-vars] fix false positives for duplicated names in namespaces (#2659) (0d696c7)
- eslint-plugin: [no-use-before-define] correctly handle typeof type references (#2623) (8e44c78)
- scope-manager: don't create a variable for global augmentation (#2639) (6bc9325)
4.4.0 (2020-10-05)
Features
- eslint-plugin: add
consistent-indexed-object-style
rule (#2401) (d7dc108)
- eslint-plugin: add extension rule
no-duplicate-imports
(#2609) (498f397)
4.3.0 (2020-09-28)
Bug Fixes
- eslint-plugin: added safe getTypeOfPropertyOfType wrapper (#2567) (7cba2de)
- experimental-utils: treat RuleTester arrays as readonly (#2601) (8025777)
Features
- eslint-plugin: [no-invalid-void-type] add option to allow
this: void
(#2481) (ddf5660)
4.2.0 (2020-09-21)
Bug Fixes
- eslint-plugin: [naming-convention] ignore properties inside object patterns (#2566) (53a3cbc)
- eslint-plugin: [prefer-ts-expect-error] support block comments (#2541) (c6f72fb)
- scope-manager: correct analysis of inferred types in conditional types (#2537) (4f660fd)
Features
- eslint-plugin: add extension rule
comma-dangle
(#2416) (f7babcf)
4.1.1 (2020-09-14)
Bug Fixes
- eslint-plugin: [naming-convention] allow an array of selectors with types and modifiers (#2415) (7ca54c3)
- eslint-plugin: [no-implied-eval] handle the
Function
type (#2435) (e1401dc)
- eslint-plugin: [no-unused-vars] better handling for declared modules (#2553) (02d72d4), closes #2523
- eslint-plugin: [no-use-before-define] false positive for function type arguments (#2554) (189162d), closes #2527
- eslint-plugin: [prefer-function-type] handle
this
return (#2437) (7c6fcee)
- eslint-plugin: [return-await] don't error for
in-try-catch
if the return is in a catch
without a finally
(#2356) (efdd521)
- types: artificial fix needed to trigger release (b577daf)
- types: artificial fix needed to trigger release (fc62ba8)
4.1.0 (2020-09-07)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] cyclical reference infinite recursion crash (#2482) (8693653)
- eslint-plugin: [no-unused-vars] correct detection of unused vars in a declared module with
export =
(#2505) (3d07a99)
- eslint-plugin: [no-unused-vars] properly handle ambient declaration exports (#2496) (4d3ce5f)
- eslint-plugin: [no-use-before-define] false positive with jsx pragma reference (#2503) (5afeeab), closes #2502
- eslint-plugin: [typedef] false positive for rest parameter with array destructuring (#2441) (2ada5af)
- eslint-plugin: handle missing message IDs in eslint v5/v6 (#2461) (ffdfade)
- scope-manager: add
const
as a global type variable (#2499) (eb3f6e3)
- scope-manager: correctly handle inferred types in nested type scopes (#2497) (95f6bf4)
- scope-manager: don't create references for intrinsic JSX elements (#2504) (cdb9807)
- scope-manager: fallback to lib 'esnext' or 'es5' when ecma version is unsupported (#2474) (20a7dcc)
- scope-manager: support rest function type parameters (#2491) (9d8b4c4), closes #2449
- scope-manager: support tagged template string generic type parameters (#2492) (a2686c0)
- scope-manager: support type predicates (#2493) (a40f54c), closes #2462
- scope-manager: treat type imports as both values and types (#2494) (916e95a), closes #2453
Features
- eslint-plugin: [no-shadow] add option
ignoreFunctionTypeParameterNameValueShadow
(#2470) (bfe255f)
- eslint-plugin: add extension rule
no-loop-func
(#2490) (36305df)
- scope-manager: add support for JSX scope analysis (#2498) (f887ab5), closes #2455 #2477
4.0.1 (2020-08-31)
Bug Fixes
4.0.0 (2020-08-31)
Bug Fixes
- eslint-plugin: [no-shadow] fix false-positive on enum declaration (#2374) (9de669f)
- eslint-plugin: [no-unused-vars] handle TSCallSignature (#2336) (c70f54f)
- correct decorator traversal for AssignmentPattern (#2375) (d738fa4)
- scope-manager: correct analysis of abstract class properties (#2420) (cd84549)
- typescript-estree: correct ChainExpression interaction with parentheses and non-nulls (#2380) (762bc99)
Features
- consume new scope analysis package (#2039) (3be125d)
- support ESTree optional chaining representation (#2308) (e9d2ab6)
- eslint-plugin: [ban-ts-comment] change default for
ts-expect-error
to allow-with-description
(#2351) (a3f163a), closes #2146
- eslint-plugin: [no-unnecessary-condition][strict-boolean-expressions] add option to make the rules error on files without
strictNullChecks
turned on (#2345) (9273441)
- eslint-plugin: [typedef] remove all defaults (#2352) (a9cd6fb)
- eslint-plugin: add
consistent-type-imports
rule (#2367) (58b1c2d)
- typescript-estree: switch to globby (#2418) (3a7ec9b), closes #2398
BREAKING CHANGES
3.10.1 (2020-08-25)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] correct regression with unary negations (#2422) (d1f0887), closes #2421
3.10.0 (2020-08-24)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] ignore abstract setters (#2410) (3764248)
- eslint-plugin: [explicit-module-boundary-types] ignore all bodyless setters (#2413) (a53f8c6)
- eslint-plugin: [no-unnecessary-condition] better handling for unary negation (#2382) (32fe2bb)
- typescript-estree: ts.NamedTupleMember workaround for <TS4.0 (#2405) (b62331a)
Features
- eslint-plugin: add
no-implicit-any-catch
rule (#2202) (fde89d4)
- typescript-estree: update allowed TS version range (#2419) (e6be621)
3.9.1 (2020-08-17)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] fix false positive with nullish coalescing (#2385) (092c969)
- eslint-plugin: [prefer-includes] don't auto fix when
test
method's argument type doesn't have an 'includes' method (#2391) (71c4c72)
3.9.0 (2020-08-10)
Bug Fixes
- eslint-plugin: [no-throw-literal] support type assertions (#2354) (470174a)
Features
- eslint-plugin: [no-unsafe-assignment/return] allow assigning any => unknown (#2371) (e7528e6)
- typescript-estree: support TSv4 labelled tuple members (#2378) (00d84ff)
3.8.0 (2020-08-03)
Bug Fixes
- eslint-plugin: [no-implied-eval] don't report when
Function
is imported (#2348) (fa169e7)
- eslint-plugin: [no-unsafe-assignment] fix typo in message (#2347) (2027bb1)
Features
- eslint-plugin: [naming-convention] allow specifying an array of selectors (#2335) (3ef6bd5)
- eslint-plugin: add
prefer-enum-initializers
rule (#2326) (4f38ea3)
3.7.1 (2020-07-27)
Bug Fixes
- eslint-plugin: [adjacent-overload-signatures] fix false positive on call signatures and a method named
call
(#2313) (30fafb0)
- eslint-plugin: [no-extra-parens] stop reporting on calling generic functions with one argument and type parameters containing parentheses (#2319) (616a841)
- typescript-estree: correct AST regression introduced by TS4.0 upgrade (#2316) (d7fefba)
3.7.0 (2020-07-20)
Features
- eslint-plugin: [naming-convention] allow selecting only
const
variables (#2291) (156d058)
- eslint-plugin: [no-empty-function] add
decoratedFunctions
option (#2295) (88f08f4)
- typescript-estree: support short-circuiting assignment operators (#2307) (2c90d9f)
- typescript-estree: support type annotations on catch clauses (#2306) (b5afe9c)
3.6.1 (2020-07-13)
Bug Fixes
- eslint-plugin: [no-unnecessary-condition] handle computed member access (#2288) (3a187ca)
- eslint-plugin: [prefer-literal-enum-member] allow negative numbers (#2277) (00ac9c3)
- eslint-plugin: [space-before-function-paren] incorrect handling of abstract methods (#2275) (ced6591), closes #2274
- eslint-plugin: [switch-exhaustiveness-check] handle special characters in enum keys (#2207) (98ab010)
3.6.0 (2020-07-06)
Bug Fixes
- eslint-plugin: [no-namespace] allow namespaces in nested declarations with
allowDeclarations
(#2238) (c1df669)
- eslint-plugin: [space-before-function-paren] handle abstract functions (#2199) (88a3edf)
Features
- eslint-plugin: add rule
prefer-literal-enum-member
(#1898) (fe2b2ec)
3.5.0 (2020-06-29)
Bug Fixes
- eslint-plugin: [naming-convention] support unicode in regex (#2241) (5fdd21a)
- typescript-estree: forward compatibility for new compound assignment operators (#2253) (ba41680)
Features
3.4.0 (2020-06-22)
Bug Fixes
- eslint-plugin: [no-base-to-string] handle intersection types (#2170) (9cca3a9)
- eslint-plugin: [unbound-method] handling destructuring (#2228) (c3753c2)
- experimental-utils: correct types for TS versions older than 3.8 (#2217) (5e4dda2)
- experimental-utils: getParserServices takes a readonly context (#2235) (26da8de)
Features
- eslint-plugin: [no-unnecessary-boolean-literal-compare] add option to check nullable booleans (#1983) (c0b3057)
- eslint-plugin: add extension rule
no-loss-of-precision
(#2196) (535b0f2)
3.3.0 (2020-06-15)
Bug Fixes
- eslint-plugin: [no-unused-expressions] handle ternary and short-circuit options (#2194) (ee9f100)
- typescript-estree: handle TS4.0 breaking change in TupleType (#2197) (5d68129)
Features
- eslint-plugin: [naming-convention] better error message and docs for prefix/suffix (#2195) (a2ffe55)
3.2.0 (2020-06-08)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] dont report return type errors on constructor overloads (#2158) (53232d7)
- eslint-plugin: [explicit-module-boundary-types] handle bodyless arrow functions with explicit return types that return functions (#2169) (58db655)
- eslint-plugin: [explicit-module-boundary-types] handle nested functions and functions expressions in a typed variable declaration (#2176) (6ff450d)
- eslint-plugin: [no-extra-non-null-assertion] dont report for assertions not followed by the optional chain (#2167) (e4c1834)
- eslint-plugin: [no-unnecessary-conditionals] Handle comparison of generics and loose comparisons with undefined values (#2152) (c86e2a2)
- eslint-plugin: [prefer-optional-chain] handling first member expression (#2156) (de18660)
- eslint-plugin: [return-await] correct handling of ternaries (#2168) (fe4c0bf)
Features
- eslint-plugin: [naming-convention] put identifiers in quotes in error messages (#2182) (fc61932), closes #2178
- eslint-plugin: [require-array-sort-compare] add
ignoreStringArrays
option (#1972) (6dee784)
- eslint-plugin: add rule
ban-tslint-comment
(#2140) (43ee226)
- eslint-plugin: add rule
no-confusing-non-null-assertion
(#1941) (9b51c44)
3.1.0 (2020-06-01)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] don't check returned functions if parent function has return type (#2084) (d7d4eeb)
- eslint-plugin: [no-unnecessary-condition] handle comparison of any, unknown and loose comparisons with nullish values (#2123) (1ae1d01)
- eslint-plugin: [no-unnecessary-condition] improve optional chain handling (#2111) (9ee399b)
- eslint-plugin: [no-unnecessary-condition] improve optional chain handling 2 - electric boogaloo (#2138) (c87cfaf)
- eslint-plugin: [no-unused-expressions] ignore import expressions (#2130) (e383691)
- eslint-plugin: [no-var-requires] false negative for TSAsExpression and MemberExpression (#2139) (df95338)
- experimental-utils: downlevel type declarations for versions older than 3.8 (#2133) (7925823)
Features
- eslint-plugin: [ban-ts-comments] add "allow-with-description" option (#2099) (8a0fd18)
- eslint-plugin: [ban-types] allow selective disable of default options with
false
value (#2137) (1cb8ca4)
- eslint-plugin: [explicit-module-boundary-types] improve accuracy and coverage (#2135) (caaa859)
3.0.2 (2020-05-27)
Bug Fixes
3.0.1 (2020-05-25)
Bug Fixes
- eslint-plugin: [naming-convention] handle no options correctly (#2095) (fd7d02b)
- eslint-plugin: [no-throw-literal] handle intersection and union types (#2085) (cae037f)
- eslint-plugin: [unbound-method] fix crash due to missing
Intl
(#2090) (f2fa82c)
- experimental-utils: export
CLIEngine
& ESLint
(#2083) (014341b)
- typescript-estree: handle
BigInt
with _
numeric separator (#2067) (66f1627)
- typescript-estree: mark TS 3.8 and 3.9 as "supported" (#2057) (5eedbff), closes #1436 #1436
3.0.0 (2020-05-21)
Bug Fixes
- eslint-plugin: [dot-notation] fix typo in schema (#2040) (242328f)
- eslint-plugin: correct parser peerDep version (fe59f69)
- experimental-utils: add back SourceCode.isSpaceBetweenTokens (ae82ea4)
- typescript-estree: remove now defunct
Import
node type (f199cbd)
- typescript-estree: use
TSEmptyBodyFunctionExpression
for body-less nodes (#1289) (82e7163)
Features
- add index files to parser and typescript-estree (3dfc46d)
- eslint-plugin: [no-floating-promises] ignore void operator by default (#2003) (3626a67)
- eslint-plugin: [no-unnecessary-condition] remove
checkArrayPredicates
and always check it (#1579) (bfd9b60)
- eslint-plugin: [no-unnecessary-condition] report when non-nullish is compared to
null
/undefined
(#1659) (7fa9060)
- eslint-plugin: [prefer-nullish-coalescing][prefer-optional-chain] remove unsafe fixers (52b6085)
- eslint-plugin: [restrict-template-expressions]
allowNumber: true
by default (#2005) (643ec24)
- eslint-plugin: [restrict-template-expressions] rename
allowNullable
to allowNullish
(#2006) (264b017)
- experimental-utils: upgrade eslint types for v7 (#2023) (06869c9)
- bump minimum required TS version (#2004) (7ad4d7c)
- upgrade to ESLint v7 (#2022) (208de71)
- eslint-plugin: [ban-types] rework default options (#848) (8e31d5d)
- eslint-plugin: [no-unnecessary-condition] remove option
ignoreRHS
(#1163) (ee8dd8f)
- eslint-plugin: [strict-boolean-expression] rework options (#1631) (cd14482)
- eslint-plugin: delete deprecated rules (#2002) (da0aec2)
- eslint-plugin: eslint-recommended: disable no-func-assign (#984) (ae9b8a9)
- eslint-plugin: eslint-recommended: disable no-obj-calls (#1000) (b9ca14c)
- eslint-plugin: update
eslint-recommended
set (#1996) (9a96e18)
- eslint-plugin: update recommended sets (#2001) (0126b4f)
- typescript-estree: align nodes with estree 2020 (#1389) (aff5b62)
- typescript-estree: align optional fields (#1429) (0e0010f)
- drop support for node v8 (#1997) (b6c3b7b)
- typescript-estree: always return parserServices (#716) (5b23443)
- typescript-estree: handle 3.9's non-null assertion changes (#2036) (06bec63)
2.34.0 (2020-05-18)
Bug Fixes
- typescript-estree: fix handling of range/loc removal (#2028) (ce344d9)
Features
- eslint-plugin: [no-invalid-void-type] allow union of void and
allowInGenericTypeArguments
(#1960) (1bc105a)
- eslint-plugin: [restrict-template-expressions] improve error message (#1926) (1af59ba)
- experimental-utils: add
suggestion
property for rule modules (#2033) (f42a5b0)
2.33.0 (2020-05-12)
Bug Fixes
- experimental-utils: remove accidental dep on json-schema (#2010) (1875fba)
Features
- eslint-plugin: add extension rule
lines-between-class-members
(#1684) (08f93e6)
2.32.0 (2020-05-11)
Bug Fixes
- eslint-plugin: [no-base-to-string] support boolean in unions (#1979) (6987ecc)
- eslint-plugin: [no-type-alias] handle readonly types in aliases (#1990) (56d9870)
- eslint-plugin: [no-unused-expressions] inherit
messages
from base rule (#1992) (51ca404)
Features
2.31.0 (2020-05-04)
Bug Fixes
- eslint-plugin: [dot-notation] handle missing declarations (#1947) (383f931)
- eslint-plugin: [method-signature-style] fix overloaded methods to an intersection type (#1966) (7f3fba3)
- eslint-plugin: [return-await] await in a normal function (#1962) (f82fd7b)
- eslint-plugin: [unbound-method] false positives for unary expressions (#1964) (b35070e)
- eslint-plugin: no-base-to-string boolean expression detect (#1969) (f78f13a)
Features
- eslint-plugin: [member-ordering] add decorators support (#1870) (f7ec192)
- eslint-plugin: [prefer-optional-chain] added option to convert to suggestion fixer (#1965) (2f0824b)
- eslint-plugin: new extended rule 'no-invalid-this' (#1823) (b18bc35)
- eslint-plugin-internal: add rule no-poorly-typed-ts-props (#1949) (56ea7c9)
- experimental-utils: expose our RuleTester extension (#1948) (2dd1638)
2.30.0 (2020-04-27)
Bug Fixes
- eslint-plugin: [prefer-string-starts-ends-with] check for negative start index in slice (#1920) (ed2bd60)
- eslint-plugin: fix no-base-to-string boolean literal check (#1850) (2f45e99)
Features
- eslint-plugin: add extension rule
dot-notation
(#1867) (a85c3e1)
- eslint-plugin: create
no-invalid-void-type
rule (#1847) (f667ff1)
- experimental-utils: allow rule options to be a readonly tuple (#1924) (4ef6788)
2.29.0 (2020-04-20)
Bug Fixes
- eslint-plugin: [no-base-to-string] soft remove
ignoreTaggedTemplateExpressions
option (#1916) (369978e)
Features
- eslint-plugin: [no-floating-promise] add option to ignore IIFEs (#1799) (cea51bf)
- eslint-plugin: [restrict-template-expressions] add support for intersection types (#1803) (cc70e4f)
- eslint-plugin: add extension rule
init-declarations
(#1814) (b01f5e7)
- eslint-plugin: add extension rule
keyword-spacing
(#1739) (c5106dd)
2.28.0 (2020-04-13)
Bug Fixes
- eslint-plugin: [method-signature-style] handle multiline params (#1861) (5832a86)
- eslint-plugin: [no-empty-interface] use suggestion fixer for ambient contexts (#1880) (62b2278)
- eslint-plugin: [unbound-method] false positive on property function initializer (#1890) (f1c3b18)
- eslint-plugin: [unbound-method] ignore assignments to methods (#1736) (6b4680b)
- eslint-plugin: no-empty-interface autofix (#1865) (829a2f7), closes #1864
- eslint-plugin: use
isTypeArrayTypeOrUnionOfArrayTypes
util for checking if type is array (#1728) (05030f8)
Features
- eslint-plugin: [ban-ts-comment] support
ts-expect-error
(#1706) (469cff3)
- eslint-plugin: [consistent-type-assertions] always allow
const
assertions (#1713) (af2c00d)
- eslint-plugin: [explicit-function-return-type] add option to allow concise arrows that start with void (#1732) (2e9c202)
- eslint-plugin: [explicit-module-boundary-types] add optio… (#1778) (3eee804)
- eslint-plugin: [no-base-to-string] add option to ignore tagged templates (#1763) (f5edb99)
- eslint-plugin: [restrict-template-expressions] add option
allowAny
(#1762) (d44c0f9)
- eslint-plugin: add rule
prefer-reduce-type-parameter
(#1707) (c92d240)
- eslint-plugin: add rule
prefer-ts-expect-error
(#1705) (7021f21)
- eslint-plugin: add rule no-unsafe-assignment (#1694) (a49b860)
2.27.0 (2020-04-06)
Bug Fixes
- eslint-plugin: [no-throw-literal] fix crash caused by getBaseTypes (#1830) (9d53c76)
- eslint-plugin: [no-unsafe-call] fix incorrect selector (#1826) (8ec53a3)
- eslint-plugin: [require-await] handle async generators (#1782) (9642d9d)
- eslint-plugin: no-explicit-any constructor functions (& mo… (#1711) (ab8572e)
- typescript-estree: add support for TS3.9 extra file extensions (#1833) (1f0ff41)
Features
- eslint-plugin: new rule method-signature-style (#1685) (c49d771)
- eslint-plugin: sort members alphabetically (#263) (485e902)
- eslint-plugin-internal: add plugin-test-formatting rule (#1821) (9b0023a)
- experimental-utils: add types for suggestions from CLIEngine (#1844) (7c11bd6)
- experimental-utils: update eslint types to match v6.8 (#1846) (16ce74d)
2.26.0 (2020-03-30)
Bug Fixes
- eslint-plugin: [no-explicit-any] error with ignoreRestArgs (#1796) (638d84d)
- eslint-plugin: [no-unsafe-call] allow import expressions (#1800) (4fa7107)
- eslint-plugin: [no-unsafe-return] error with <TS3.7 (#1815) (f3160b4)
Features
- eslint-plugin-tslint: support tslint 6 (#1809) (7d963fd)
- typescript-estree: add option to ignore certain folders from glob resolution (#1802) (1e29e69)
2.25.0 (2020-03-23)
Bug Fixes
- only run publish_canary_version on master (3814d4e)
- eslint-plugin: [quotes] false positive with backtick in import equals statement (#1769) (199863d)
- eslint-plugin: fix message of no-base-to-string (#1755) (6646959)
- eslint-plugin-tslint: fix tslintConfig memoization key (#1719) (abf1a2f), closes typescript-eslint#1692
- typescript-estree: export * regression from 133f622f (#1751) (09d8afc)
Features
- eslint-plugin: [no-unnec-type-assertion] allow const assertions (#1741) (f76a1b3)
- eslint-plugin: [no-unnecessary-condition] ignore basic array indexing false positives (#1534) (2b9603d)
- eslint-plugin: add
class-literal-property-style
rule (#1582) (b2dbd89)
- experimental-utils: expose ast utility functions (#1670) (3eb5d45)
2.24.0 (2020-03-16)
Bug Fixes
- typescript-estree: unnecessary program updates by removing timeout methods (#1693) (2ccd66b)
Features
- typescript-estree: support 3.8
export * as ns
(#1698) (133f622)
2.23.0 (2020-03-09)
Bug Fixes
- eslint-plugin: [prefer-readonly-parameter-types] handle recursive types (#1672) (e5db36f), closes #1665
- eslint-plugin: [type-annotation-spacing] handle constructor types (#1664) (fbf1640), closes #1663
- eslint-plugin: fix autofixer for computed properties (#1662) (ba22ea7)
- eslint-plugin: fix placeholder in
ban-ts-comment
(#1703) (144345c)
Features
- eslint-plugin: [no-unsafe-call] support tagged templates (#1680) (55a58ff)
- eslint-plugin: [no-unsafe-member-access] report any typed… (#1683) (1543117)
- eslint-plugin: add rule no-unsafe-call (#1647) (91423e4)
- eslint-plugin: add rule no-unsafe-member-access (#1643) (608a750)
- eslint-plugin: add rule no-unsafe-return (#1644) (cfc3ef1)
- typescript-estree: support 3.8 import/export type (#1697) (625d603)
2.22.0 (2020-03-02)
Bug Fixes
- eslint-plugin: [ban-types] add option extendDefaults (#1379) (ae7f7c5)
- eslint-plugin: [default-param-last] handle param props (#1650) (3534c6e)
- eslint-plugin: [no-implied-eval] correct logic for ts3.8 (#1652) (33e3e6f)
Features
- eslint-plugin: [explicit-member-accessibility] autofix no-public (#1548) (dd233b5)
- eslint-plugin: [typedef] add variable-declaration-ignore-function (#1578) (fc0a55e)
- eslint-plugin: add new no-base-to-string rule (#1522) (8333d41)
- eslint-plugin: add prefer-readonly-parameters (#1513) (3be9854)
- eslint-plugin: additional annotation spacing rules for va… (#1496) (b097245)
2.21.0 (2020-02-24)
Bug Fixes
- eslint-plugin: [embt] ignore JSX callbacks (#1630) (4d45b33)
- eslint-plugin: [no-floating-promises] handle finally callback (#1620) (1aa7135)
- eslint-plugin: [typedef] allow array/object destructuring in for/of (#1570) (660bace)
- typescript-estree: process.stdout can be undefined (#1619) (0d8e87e)
Features
- eslint-plugin: [require-await] add --fix support (#1561) (9edd863)
2.20.0 (2020-02-17)
Features
- eslint-plugin: [ban-types] allow banning null and undefined (#821) (0b2b887)
- eslint-plugin: [strict-boolean-expressions] refactor, add clearer error messages (#1480) (db4b530)
2.19.2 (2020-02-10)
Note: Version bump only for package @typescript-eslint/typescript-eslint
2.19.1 (2020-02-10)
Bug Fixes
- eslint-plugin: [unbound-method] blacklist a few unbound natives (#1562) (4670aab)
- typescript-estree: ts returning wrong file with project references (#1575) (4c12dac)
2.19.0 (2020-02-03)
Bug Fixes
- eslint-plugin: [embt] fix allowTypedFunctionExpressions (#1553) (9e7d161)
- eslint-plugin: [require-await] improve performance (#1536) (45ae0b9)
- typescript-estree: fix regression introduced in #1525 (#1543) (bec4572)
- typescript-estree: persisted parse and module none (#1516) (7c70323)
Features
- eslint-plugin: [no-extra-non-null-assert] add fixer (#1468) (54201ab)
- eslint-plugin: [no-float-prom] fixer + msg for ignoreVoid (#1473) (159b16e)
- eslint-plugin: [unbound-method] support bound builtins (#1526) (0a110eb)
- eslint-plugin: add extension [no-dupe-class-members] (#1492) (b22424e)
- eslint-plugin: add no-unnecessary-boolean-literal-compare (#242) (6bebb1d)
- eslint-plugin: add switch-exhaustiveness-check rule (#972) (9e0f6dd)
- eslint-plugin: support negative matches for
filter
(#1517) (b24fbe8)
2.18.0 (2020-01-27)
Bug Fixes
- eslint-plugin: [explicit-module-boundary-types] false positive for returned fns (#1490) (5562ad5)
- improve token types and add missing type guards (#1497) (ce41d7d)
- eslint-plugin: [naming-convention] fix filter option (#1482) (718cd88)
- eslint-plugin: fix property access on undefined error (#1507) (d89e8e8)
- experimental-utils: widen type of
settings
property (#1527) (b515e47)
- typescript-estree: error on unexpected jsdoc nodes (#1525) (c8dfac3)
- typescript-estree: fix identifier tokens typed as
Keyword
(#1487) (77a1caa)
Features
- eslint-plugin: add comma-spacing (#1495) (1fd86be)
- eslint-plugin: add new rule prefer-as-const (#1431) (420db96)
- eslint-plugin: create
ban-ts-comment
rule (#1361) (2a83d13)
- eslint-plugin-internal: add
prefer-ast-types-enum
(#1508) (c3d0a3a)
- experimental-utils: make RuleMetaData.docs optional (#1462) (cde97ac)
- parser: clean up scope-analysis types (#1481) (4a727fa)
2.17.0 (2020-01-20)
Bug Fixes
- eslint-plugin: [naming-convention] handle empty array-pattern (#1450) (4726605)
- eslint-plugin: [unbound-method] handling of logical expr (#1440) (9c5b857)
- eslint-plugin: set default-param-last as an extension rule (#1445) (b5ef704)
- typescript-estree: correct type of
ArrayPattern.elements
(#1451) (62e4ca0)
Features
- eslint-plugin: [naming-convention] allow not check format (#1455) (61eb434)
- eslint-plugin: [naming-convention] correct example (#1455) (60683d7)
- eslint-plugin: [no-extra-!-assert] flag ?. after !-assert (#1460) (58c7c25)
- eslint-plugin: add explicit-module-boundary-types rule (#1020) (bb0a846)
- eslint-plugin: add no-non-null-asserted-optional-chain (#1469) (498aa24)
- experimental-utils: expose getParserServices from utils (#1448) (982c8bc)
2.16.0 (2020-01-13)
Bug Fixes
- eslint-plugin: [no-magic-numbers] handle UnaryExpression for enums (#1415) (852fc31)
- eslint-plugin: [no-unnec-type-assert] handle JSX attributes (#1002) (3c5659b)
- eslint-plugin: handle error classes using generics (#1428) (b139540)
- typescript-estree: fix persisted parse for relative paths (#1424) (9720d2c)
- typescript-estree: parsing of deeply nested new files in new folder (#1412) (206c94b)
- typescript-estree: resolve path relative to tsconfigRootDir (#1439) (c709056)
Features
- eslint-plugin: [no-unnec-cond] array predicate callbacks (#1206) (f7ad716)
- eslint-plugin: add default-param-last rule (#1418) (a37ff9f)
- eslint-plugin: add rule naming-conventions (#1318) (9eab26f)
- typescript-estree: add parserOption to turn on debug logs (#1413) (25092fd)
- typescript-estree: add strict type mapping to esTreeNodeToTSNodeMap (#1382) (d3d70a3)
2.15.0 (2020-01-06)
Bug Fixes
- eslint-plugin: crash in no-unnecessary-type-arguments (#1401) (01c939f)
- typescript-estree: correct persisted parse for windows (#1406) (1a42f3d)
Features
- eslint-plugin: [strict-bool-expr] add allowSafe option (#1385) (9344233)
- eslint-plugin: add no-implied-eval (#1375) (254d276)
2.14.0 (2019-12-30)
Bug Fixes
- eslint-plugin: type assertion in rule no-extra-parens (#1376) (f40639e)
- typescript-estree: visit typeParameters in OptionalCallExpr (#1377) (cba6a2a)
Features
- add internal eslint plugin for repo-specific lint rules (#1373) (3a15413)
2.13.0 (2019-12-23)
Bug Fixes
- eslint-plugin: [quotes] ignore backticks for Enum members (#1355) (e51048c)
- eslint-plugin: [type-annotation-spacing] typo in messages (#1354) (82e0dbc)
- eslint-plugin: add isTypeAssertion utility function (#1369) (bb1671e)
- eslint-plugin: use AST_NODE_TYPES enum instead of strings (#1366) (bd0276b)
- typescript-estree: correct type of key for base nodes (#1367) (099225a)
Features
- eslint-plugin: [ban-types] handle empty type literal {} (#1348) (1c0ce9b)
- eslint-plugin: [no-use-before-define] opt to ignore enum (#1242) (6edd911)
- eslint-plugin: [pref-str-starts/ends-with] optional chain… (#1357) (fd37bc3)
- eslint-plugin: add no-extra-semi [extension] (#1237) (425f65c)
- eslint-plugin: add no-throw-literal [extension] (#1331) (2aa696c)
- eslint-plugin: more optional chain support in rules (#1363) (3dd1b02)
- eslint-plugin-tslint: add fixer for config rule (#1342) (c52c5c9)
- typescript-estree: computed members discriminated unions (#1349) (013df9a)
- typescript-estree: tighten prop name and destructure types (#1346) (f335c50)
2.12.0 (2019-12-16)
Bug Fixes
- eslint-plugin: [prefer-null-coal] fixer w/ mixed logicals (#1326) (f9a9fbf)
- eslint-plugin: [quotes] ignore backticks for interface properties (#1311) (3923a09)
Features
- eslint-plugin: [no-unnec-cond] check optional chaining (#1315) (a2a8a0a)
2.11.0 (2019-12-09)
Bug Fixes
- eslint-plugin: [brace-style] handle enum declarations (#1281) (3ddf1a2)
Features
- eslint-plugin: [member-ordering] add index signature (#1190) (b5a52a3)
2.10.0 (2019-12-02)
Bug Fixes
- eslint-plugin: [no-empty-function] add missed node types (#1271) (e9d44f5)
- eslint-plugin: [no-untyped-pub-sig] ignore set return (#1264) (6daff10)
- eslint-plugin: [no-unused-expressions] ignore directives (#1285) (ce4c803)
- eslint-plugin: [prefer-optional-chain] allow $ in identifiers (c72c3c1)
- eslint-plugin: [prefer-optional-chain] handle more cases (#1261) (57ddba3)
- eslint-plugin: [return-await] allow Any and Unknown (#1270) (ebf5e0a)
- eslint-plugin: [strict-bool-expr] allow nullish coalescing (#1275) (3b39340)
- typescript-estree: make FunctionDeclaration.body non-null (#1288) (dc73510)
Features
- eslint-plugin: [no-empty-func] private/protected construct (#1267) (3b931ac)
- eslint-plugin: [no-non-null-assert] add suggestion fixer (#1260) (e350a21)
- eslint-plugin: [no-unnec-cond] support nullish coalescing (#1148) (96ef1e7)
- eslint-plugin: [prefer-null-coal] opt for suggestion fixer (#1272) (f84eb96)
- experimental-utils: add isSpaceBetween declaration to Sou… (#1268) (f83f04b)
2.9.0 (2019-11-25)
Bug Fixes
- eslint-plugin: [no-dynamic-delete] correct invalid fixer for identifiers (#1244) (5b1300d)
- eslint-plugin: [no-untyped-pub-sig] constructor return (#1231) (6cfd468)
- eslint-plugin: [prefer-optional-chain] unhandled cases (b1a065f)
- eslint-plugin: [req-await] crash on nonasync promise return (#1228) (56c00b3)
- typescript-estree: fix synthetic default import (#1245) (d97f809)
Features
- eslint-plugin: [camelcase] add genericType option (#925) (d785c61)
- eslint-plugin: [no-empty-interface] noEmptyWithSuper fixer (#1247) (b91b0ba)
- eslint-plugin: [no-extran-class] add allowWithDecorator opt (#886) (f1ab9a2)
- eslint-plugin: [no-unnece-cond] Add allowConstantLoopConditions (#1029) (ceb6f1c)
- eslint-plugin: [restrict-plus-operands] check += (#892) (fa88cb9)
- suggestion types, suggestions for no-explicit-any (#1250) (b16a4b6)
- eslint-plugin: add no-extra-non-null-assertion (#1183) (2b3b5d6)
- eslint-plugin: add no-unused-vars-experimental (#688) (05ebea5)
- eslint-plugin: add prefer-nullish-coalescing (#1069) (a9cd399)
- eslint-plugin: add return-await rule (#1050) (0ff4620)
- eslint-plugin: add rule prefer-optional-chain (#1213) (ad7e1a7)
- eslint-plugin: optional chain support in rules (part 1) (#1253) (f5c0e02)
2.8.0 (2019-11-18)
Bug Fixes
- eslint-plugin: [camelcase] handle optional member expr (#1204) (9c8203f)
- eslint-plugin: [indent] fix decorator type (#1189) (e2008e3)
- eslint-plugin: [indent] handle empty generic declarations (#1211) (9aee06c)
- eslint-plugin: [no-type-alias] handle constructor aliases (#1198) (1bb4d63)
- eslint-plugin: [no-unnec-type-arg] throwing on call/new expr (#1217) (42a48de)
- eslint-plugin: [no-unnecessary-cond] fix naked type param (#1207) (4fac6c5)
- eslint-plugin: [nuta] correctly handle null/undefined separation (#1201) (9829dd3)
- eslint-plugin: [require-await] better handle nesting (#1193) (eb83af1)
- eslint-plugin: [unified-signatures] crash: cannot read pro… (#1096) (d1de3a7)
- eslint-plugin: disable base no-unused-expressions in all config (ecb3f4e)
- typescript-estree: correctly account for trailing slash in… (#1205) (ba89168)
- typescript-estree: options range loc being always true (#704) (db1aa18)
Features
- eslint-plugin: [no-type-alias] handle conditional types (#953) (259ff20)
- eslint-plugin: add rule restrict-template-expressions (#850) (46b58b4)
- eslint-plugin: add space-before-function-paren [extension] (#924) (d8b07a7)
- eslint-plugin: added new rule no-dynamic-delete (#565) (864c811)
- eslint-plugin: added new rule no-untyped-public-signature (#801) (c5835f3)
2.7.0 (2019-11-11)
Bug Fixes
- eslint-plugin: crash fixing readonly arrays to generic (#1172) (2b2f2d7)
- typescript-estree: hash code to reduce update frequency (#1179) (96d1cc3)
- typescript-estree: reduce bundle footprint of tsutils (#1177) (c8fe515)
Features
- eslint-plugin: [no-unused-expressions] extend for optional chaining (#1175) (57d63b7)
- parser: handle optional chaining in scope analysis (#1169) (026ceb9)
2.6.1 (2019-11-04)
Bug Fixes
- typescript-estree: don't use typescript's synthetic default (#1156) (17c956e), closes #1153
- typescript-estree: fix filename handling for vue JSX + markdown (#1127) (366518f)
- typescript-estree: improve comment parsing code (#1120) (e54998d)
2.6.0 (2019-10-28)
Bug Fixes
- parser: adds TTY check before logging the version mismatch warning (#1121) (768ef63)
- typescript-estree: better handle canonical paths (#1111) (8dcbf4c)
- typescript-estree: correct parenthesized optional chain AST (#1141) (5ae286e)
- typescript-estree: ensure parent pointers are set (#1129) (d4703e1)
- typescript-estree: normalize paths to fix cache miss on windows (#1128) (6d0f2ce)
Features
- typescript-estree: add support for declare class properties (#1136) (1508670)
2.5.0 (2019-10-21)
Bug Fixes
- eslint-plugin: [no-magic-numbers] Support negative numbers (#1072) (0c85ac3)
- typescript-estree: correct semver check range (#1109) (2fc9bd2)
- typescript-estree: handle running out of fs watchers (#1088) (ec62747)
- typescript-estree: parsing error for vue sfc (#1083) (7a8cce6)
- typescript-estree: remove now unneeded dep on chokidar (088a691)
Features
- eslint-plugin: Support abstract members in member-ordering rule (#395) (#1004) (5f093ac)
- typescript-estree: support long running lint without watch (#1106) (ed5564d)
2.4.0 (2019-10-14)
Bug Fixes
- eslint-plugin: [promise-function-async] Should not report… (#1023) (514bed9)
- support long running "watch" lint sessions (#973) (854620e)
Features
- typescript-estree: support for parsing 3.7 features (#1045) (623febf)
2.3.3 (2019-10-07)
Bug Fixes
- eslint-plugin: [class-name-casing] allow unicode letters (#1043) (47895c0)
- eslint-plugin: [efrt] support constructor arguments (#1021) (60943e6)
- experimental-utils: remove Rule.meta.extraDescription (#1036) (192e23d)
2.3.2 (2019-09-30)
Bug Fixes
- eslint-plugin: [no-unnec-type-arg] undefined symbol crash (#1007) (cdf9294)
- typescript-estree: correct ClassDeclarationBase type (#1008) (8ce3a81)
- typescript-estree: handle optional computed prop w/o type (#1026) (95c13fe)
2.3.1 (2019-09-23)
Bug Fixes
- eslint-plugin: [cons-type-assns] handle namespaced types (#975) (c3c8b86)
- eslint-plugin: [pfa] Allow async getter/setter in classes (#980) (e348cb2)
- typescript-estree: parsing error for await in non-async func (#988) (19abbe0)
2.3.0 (2019-09-16)
Bug Fixes
- typescript-estree: ImportDeclaration.specifier to Literal (#974) (2bf8231)
Features
- eslint-plugin: [explicit-member-accessibility] add support of "ignoredMethodNames" (#895) (46ee4c9)
- eslint-plugin: [no-floating-promises] Add ignoreVoid option (#796) (6a55921)
- eslint-plugin: [no-magic-numbers] add ignoreReadonlyClassProperties option (#938) (aeea4cd)
- eslint-plugin: [strict-boolean-expressions] Add allowNullable option (#794) (c713ca4)
- eslint-plugin: add no-unnecessary-condition rule (#699) (5715482)
2.2.0 (2019-09-09)
Bug Fixes
- eslint-plugin: [efrt] allowExpressions - check functions in class field properties (#952) (f1059d8)
- eslint-plugin: [expl-member-a11y] fix parameter properties (#912) (ccb98d8)
- eslint-plugin: [prefer-readonly] add handling for destructuring assignments (e011e90)
Features
- eslint-plugin: add brace-style [extension] (#810) (e01dc5f)
2.1.0 (2019-09-02)
Bug Fixes
- eslint-plugin: [member-naming] should match constructor args (#771) (b006667)
- eslint-plugin: [no-inferrable-types] ignore optional props (#918) (a4e625f)
- eslint-plugin: [promise-function-async] Allow async get/set (#820) (cddfdca)
- eslint-plugin: [require-await] Allow concise arrow function bodies (#826) (29fddfd)
- eslint-plugin: [typedef] don't flag destructuring when variables is disabled (#819) (5603473)
- eslint-plugin: [typedef] handle AssignmentPattern inside TSParameterProperty (#923) (6bd7f2d)
- eslint-plugin: [unbound-method] Allow typeof expressions (Fixes #692) (#904) (344bafe)
- eslint-plugin: [unbound-method] false positive in equality comparisons (#914) (29a01b8)
- eslint-plugin: [unified-signatures] type comparison and exported nodes (#839) (580eceb)
- eslint-plugin: readme typo (#867) (5eb40dc)
- typescript-estree: improve missing project file error msg (#866) (8f3b0a8), closes #853
Features
- [no-unnecessary-type-assertion] allow
as const
arrow functions (#876) (14c6f80)
- eslint-plugin: [expl-func-ret-type] make error loc smaller (#919) (65eb993)
- eslint-plugin: [no-type-alias] support tuples (#775) (c68e033)
- eslint-plugin: add quotes [extension] (#762) (9f82099)
- typescript-estree: Accept a glob pattern for
options.project
(#806) (9e5f21e)
2.0.0 (2019-08-13)
- feat(eslint-plugin)!: recommended-requiring-type-checking config (#846) (d3470c9), closes #846
- feat(eslint-plugin)!: change recommended config (#729) (428567d), closes #729
- feat(typescript-estree)!: throw error on file not in project when
project
set (#760) (3777b77), closes #760
- feat(eslint-plugin)!: add rule
consistent-type-assertions
(#731) (92e98de), closes #731
- feat(eslint-plugin)!: [array-type] rework options (#654) (1389393), closes #654 #635
Bug Fixes
- eslint-plugin: [efrt] flag default export w/allowExpressions (#831) (ebbcc01)
- eslint-plugin: [no-explicit-any] Fix ignoreRestArgs for interfaces (#777) (22e9ae5)
- eslint-plugin: [no-useless-constructor] handle bodyless constructor (#685) (55e788c)
- eslint-plugin: [prefer-readonly] TypeError when having comp… (#761) (211b1b5)
- eslint-plugin: [typedef] support "for..in", "for..of" (#787) (39e41b5)
- eslint-plugin: [typedef] support default value for parameter (#785) (84916e6)
- eslint-plugin: add
Literal
to RuleListener
types (#824) (3c902a1)
- typescript-estree: fix
is
token typed as `Keyword (#750) (35dec52)
- typescript-estree: jsx comment parsing (#703) (0cfc48e)
- utils: add ES2019 as valid
ecmaVersion
(#746) (d11fbbe)
Features
- explicitly support eslint v6 (#645) (34a7cf6)
- eslint-plugin: [interface-name-prefix, class-name-casing] Add allowUnderscorePrefix option to support private declarations (#790) (0c4f474)
- eslint-plugin: [no-var-requires] report on foo(require('')) (#725) (b2ca20d), closes #665
- eslint-plugin: [promise-function-async] make allowAny default true (#733) (590ca50)
- eslint-plugin: [strict-boolean-expressions] add ignoreRhs option (#691) (fd6be42)
- eslint-plugin: add support for object props in CallExpressions (#728) (8141f01)
- eslint-plugin: added new rule typedef (#581) (35cc99b)
- eslint-plugin: added new rule use-default-type-parameter (#562) (2b942ba)
- eslint-plugin: move opinionated rules between configs (#595) (4893aec)
- eslint-plugin: remove deprecated rules (#739) (e32c7ad)
BREAKING CHANGES
- removed some rules from recommended config
- recommended config changes are considered breaking
- by default we will now throw when a file is not in the
project
provided
- Merges both no-angle-bracket-type-assertion and no-object-literal-type-assertion into one rule
- eslint-plugin: both 'eslint-recommended' and 'recommended' have changed.
- eslint-plugin: removing rules
- changes config structure
type ArrayOption = 'array' | 'generic' | 'array-simple';
type Options = [
{
default: ArrayOption;
readonly?: ArrayOption;
},
];
- eslint-plugin: changing default rule config
- Node 6 is no longer supported
1.13.0 (2019-07-21)
Bug Fixes
- Correct
@types/json-schema
dependency (#675) (a5398ce)
- eslint-plugin: remove imports from typescript-estree (#706) (ceb2d32), closes #705
- eslint-plugin: undo breaking changes to recommended config (93f72e3)
- utils: move
typescript
from peer dep to dev dep (#712) (f949355)
- utils: RuleTester should not require a parser (#713) (158a417)
Features
- eslint-plugin: add new rule no-misused-promises (#612) (28a131d)
- eslint-plugin: add new rule require-await (#674) (807bc2d)
1.12.0 (2019-07-12)
Bug Fixes
- eslint-plugin: handle
const;
(#633) (430d628), closes #441
- typescript-estree: fix
async
identifier token typed as Keyword
(#681) (6de19d3)
Features
- eslint-plugin: [ban-types] Support namespaced type (#616) (e325b72)
- eslint-plugin: [explicit-function-return-type] add handling for usage as arguments (#680) (e0aeb18)
- eslint-plugin: [no-explicit-any] Add an optional fixer (#609) (606fc70)
- eslint-plugin: Add rule no-reference-import (#625) (af70a59)
- eslint-plugin: add rule strict-boolean-expressions (#579) (34e7d1e)
- eslint-plugin: added new rule prefer-readonly (#555) (76b89a5)
1.11.0 (2019-06-23)
Bug Fixes
- eslint-plugin: [no-magic-numbers] add support for enums (#543) (5c40d01)
- eslint-plugin: [promise-function-async] allow any as return value (#553) (9a387b0)
- eslint-plugin: Remove duplicated code (#611) (c4df4ff)
- parser: add simpleTraverse, replaces private ESLint util (#628) (aa206c4)
- typescript-estree: fix more cases with double slash in JSX text (#607) (34cfa53)
Features
- eslint-plugin: [no-explicit-any] ignoreRestArgs (#548) (753ad75)
- eslint-plugin: add
consistent-type-definitions
rule (#463) (ec87d06)
- eslint-plugin: add new rule no-empty-function (#626) (747bfcb)
- eslint-plugin: add new rule no-floating-promises (#495) (61e6385)
1.10.2 (2019-06-10)
Bug Fixes
- eslint-plugin: peerDep should specify semver major range (#602) (5589938)
1.10.1 (2019-06-09)
Note: Version bump only for package @typescript-eslint/typescript-eslint
1.10.0 (2019-06-09)
Bug Fixes
Features
- make utils/TSESLint export typed classes instead of just types (#526) (370ac72)
- support TypeScript versions >=3.2.1 <3.6.0 (#597) (5d2b962)
- eslint-plugin: [explicit-function-return-type] allowHigherOrderFunctions (#193) (#538) (50a493e)
- eslint-plugin: add config all.json (#313) (67537b8)
1.9.0 (2019-05-12)
Bug Fixes
- eslint-plugin: Add missing dependency (89c87cc), closes #516
- eslint-plugin: Fix exported name of eslint-recommended (#513) (5c65350)
Features
- eslint-plugin: add prefer-regexp-exec rule (#305) (f61d421)
1.8.0 (2019-05-10)
Bug Fixes
- eslint-plugin: [array-type] support readonly operator (#429) (8e2d2f5)
- eslint-plugin: [explicit-function-return-type] Add handling for class properties (#502) (2c36325)
- eslint-plugin: [no-extra-parens] Fix build error (298d66c)
- eslint-plugin: [unbound-method] Work around class prototype bug (#499) (3219aa7)
- eslint-plugin: correct eslint-recommended settings (d52a683)
- eslint-plugin: explicit-func-return-type: support object types and as expressions (#459) (d19e512)
- eslint-plugin: restrict-plus-operands: generic constraint support (#440) (3f305b1)
- upgrade lockfile versions (#487) (f029dba)
- eslint-plugin: Support more nodes no-extra-parens (2d15644)
- eslint-plugin: support switch statement unbound-method (e99ca81)
- typescript-estree: ensure parents are defined during subsequent parses (#500) (665278f)
Features
1.7.0 (2019-04-20)
Bug Fixes
- eslint-plugin: indent: fix false positive on type parameters (#385) (d476f15)
- eslint-plugin: no-object-literal-type-assertion: fix
as const
is reported (#390) (2521b85)
- eslint-plugin: support BigInt in restrict-plus-operands rule (#344) (eee6d49), closes #309
Features
- eslint-plugin: [member-accessibility] add more options (#322) (4b3d820)
- eslint-plugin: add prefer-for-of rule (#338) (3e26ab6)
- eslint-plugin: add prefer-includes rule (#294) (01c4dae), closes #284
- eslint-plugin: add prefer-string-starts-ends-with rule (#289) (5592a2c), closes #285
- eslint-plugin: added new rule await-promise (#192) (5311342)
- eslint-plugin: added new rule unbound-method (#204) (6718906)
- eslint-plugin: support type assertions in no-extra-parens rule (#311) (116ca75)
1.6.0 (2019-04-03)
Bug Fixes
- eslint-plugin: explicit-function-return-type: ensure class arrow methods are validated (#377) (643a223), closes #348
- eslint-plugin: Fix
allowExpressions
false positives in explicit-function-return-type and incorrect documentation (#388) (f29d1c9), closes #387
- eslint-plugin: member-naming false flagging constructors (#376) (ad0f2be), closes #359
- eslint-plugin: no-type-alias: fix typeof alias erroring (#380) (cebcfe6)
- parser: Make eslint traverse enum id (#383) (492b737)
- typescript-estree: add ExportDefaultDeclaration to union DeclarationStatement (#378) (bf04398)
Features
- change TypeScript version range to >=3.2.1 <3.5.0 (#399) (a4f95d3)
- eslint-plugin: allow explicit variable type with arrow functions (#260) (bea6b92), closes #149
1.5.0 (2019-03-20)
Bug Fixes
- eslint-plugin: [interface-name-prefix] correct error message in always mode (#333) (097262f)
- eslint-plugin: fix false positives for adjacent-overload-signatures regarding computed property names (#340) (f6e5118)
- eslint-plugin: fix incorrect rule name (#357) (0a5146b)
- typescript-estree: only call watch callback on new files (#367) (0ef07c4)
Features
- eslint-plugin: Add unified-signature rule (#178) (6ffaa0b)
1.4.2 (2019-02-25)
Bug Fixes
1.4.1 (2019-02-23)
Bug Fixes
- eslint-plugin: out-of-bounds access in member-ordering rule (#304) (4526f27)
- eslint-plugin: support BigInt in restrict-plus-operands rule (#309) (#310) (9a88363)
1.4.0 (2019-02-19)
Bug Fixes
- parser: fix crash when visiting decorators in parameters (#237) (225fc26)
- parser: fix visiting props of TSDeclareFunction (#244) (b40def8)
- ts-estree: make sure that every node can be converted to tsNode (#287) (9f1d314)
- typescript-estree, eslint-plugin: stop adding ParenthesizedExpressions to node maps (#226) (317405a)
Features
- eslint-plugin: add 'no-unnecessary-qualifier' rule (#231) (cc8f906)
- eslint-plugin: add ban-ts-ignore rule (#276) (859ab29)
- eslint-plugin: add prefer-function-type rule (#222) (b95c4cf)
- eslint-plugin: add require-array-sort-compare rule (#261) (2a4aaaa), closes #247
- eslint-plugin: Migrate plugin to ts (#120) (61c60dc)
- eslint-plugin: update types to allow parameter type inferrence (#272) (80bd72c)
- no-empty-interface: add allowSingleExtend option (#215) (bf46f8c)
- ts-estree: fix parsing nested sequence expressions (#286) (ecc9631)
1.3.0 (2019-02-07)
Bug Fixes
- eslint-plugin: fix false positive from adjacent-overload-signatures (#206) (07e950e)
- ts-estree: align typeArguments and typeParameters across nodes (#223) (3306198)
- ts-estree: convert decorators on var and fn decs (#211) (0a1777f)
- ts-estree: fix issues with typeParams in FunctionExpression (#208) (d4dfa3b)
Features
- change TypeScript version range to >=3.2.1 <3.4.0 (#184) (f513a14)
- eslint-plugin: add new rule no-for-in-array (#155) (84162ba)
- eslint-plugin: add new rule no-require-imports (#199) (683e5bc)
- eslint-plugin: added new rule promise-function-async (#194) (5f3aec9)
- ts-estree: enable errors 1098 and 1099 (#219) (fc50167)
1.2.0 (2019-02-01)
Bug Fixes
- eslint-plugin: fix no-extraneous-class for class without name (#174) (b1dbb64)
- eslint-plugin: fix wrong URL (#180) (00d020d)
- eslint-plugin: use bracket for infer type in array-type rule (#173) (1f868ce)
- parser: fix regression with no-unused-vars for jsx attributes (#161) (6147de1)
Features
- eslint-plugin: add eslint rule no-useless-constructor (#167) (3fb57a5)
- eslint-plugin: add no-unnecessary-type-assertion rule (#157) (38abc28)
1.1.1 (2019-01-29)
Bug Fixes
- eslint-plugin: make parser services error clearer (#132) (aa9d1e1)
- parser: add visiting of type parameters in JSXOpeningElement (#150) (5e16003)
- ts-estree: expand optional property to include question token (#138) (9068b62)
- ts-estree: don't create Program in parse() (#148) (aacf5b0)
1.1.0 (2019-01-23)
Bug Fixes
- eslint-plugin: don’t mark
declare class
as unused (#110) (5841cd2), closes #106
- eslint-plugin: improve detection of used vars in heritage (#102) (193b434)
- typescript-estree: correct range of parameters with comments (#128) (91eedf2)
- typescript-estree: fix range of assignment in parameter (#115) (4e781f1)
Features
- eslint-plugin: add new rule restrict-plus-operands (#70) (c541ede)
- eslint-plugin: add option to no-object-literal-type-assertion rule (#87) (9f501a1)
1.0.0 (2019-01-20)
Bug Fixes
- eslint-plugin: fix crash in rule indent for eslint 5.12.1 (#89) (3f51d51)
- eslint-plugin: no-unused-vars: mark declared statements as used (#88) (2df5e0c)
- eslint-plugin: update remaining parser refs (#97) (055c3fc)
Features
- eslint-plugin: remove exported parser (#94) (0ddb93c)
- parser: support ecmaFeatures.jsx flag and tests (#85) (b321736)
0.2.1 (2019-01-20)
Note: Version bump only for package @typescript-eslint/typescript-eslint