Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
2796 lines (1727 sloc) 312 KB

Change Log

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

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

  • add rule to vscode settings (#4881) (3eab889)
  • eslint-plugin: [comma-spacing] verify nextToken exists (#4868) (23746f8)

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 (