Skip to content

Latest commit

 

History

History
2815 lines (1339 loc) · 247 KB

CHANGELOG.md

File metadata and controls

2815 lines (1339 loc) · 247 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

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

  • typescript-estree: - removes the ability to supply a RegExp to projectFolderIgnoreList, and changes the meaning of the string value from a regex to a glob.
    • Removed decorators property from several Nodes that could never semantically have them (FunctionDeclaration, TSEnumDeclaration, and TSInterfaceDeclaration)
  • Removed AST_NODE_TYPES.Import. This is a minor breaking change as the node type that used this was removed ages ago.
  • eslint-plugin: Default rule options is a breaking change.

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 case for all arrays
    default: ArrayOption,
    // optional override for readonly arrays
    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

  • eslint-plugin: (EXPERIMENTAL) begin indent rewrite (#439) (6eb97d4)
  • eslint-plugin: Add better non-null handling no-unnecessary-type-assertion (4cd5590)
  • eslint-plugin: Add func-call-spacing (#448) (92e65ec)
  • eslint-plugin: Add new config "eslint-recommended" (#488) (2600a9f)
  • eslint-plugin: add no-magic-numbers rule (#373) (43fa09c)
  • eslint-plugin: Add semi extension (0962017)
  • eslint-plugin: no-inferrable-types: Support more primitives (#442) (4e193ca)
  • ts-estree: add preserveNodeMaps option (#494) (c3061f9)
  • Move shared types into their own package (#425) (a7a03ce)

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)

Performance Improvements

  • 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