typescript-eslint

Monorepo for all the tooling which enables ESLint to support TypeScript

OTHER License

Downloads
1.4B
Stars
14.5K
Committers
682

Bot releases are hidden (Show)

typescript-eslint - v5.12.1

Published by JamesHenry over 2 years ago

5.12.1 (2022-02-21)

Bug Fixes

  • eslint-plugin: [no-unnecessary-type-arguments] fix comparison of types (#4555) (fc3936e)
typescript-eslint - v5.12.0

Published by JamesHenry over 2 years ago

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

  • eslint-plugin: [explicit-module-boundary-types ] add checking property definition for allowNames option (#4542) (e32bef6)
typescript-eslint - v5.11.0

Published by JamesHenry over 2 years ago

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)
typescript-eslint - v5.10.2

Published by JamesHenry over 2 years ago

5.10.2 (2022-01-31)

Bug Fixes

  • eslint-plugin: [no-restricted-imports] allow relative type imports with patterns configured (#4494) (4a6d217)
typescript-eslint - v5.10.1

Published by JamesHenry almost 3 years ago

5.10.1 (2022-01-24)

Note: Version bump only for package @typescript-eslint/typescript-eslint

typescript-eslint - v5.10.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.9.1

Published by JamesHenry almost 3 years ago

5.9.1 (2022-01-10)

Note: Version bump only for package @typescript-eslint/typescript-eslint

typescript-eslint - v5.9.0

Published by JamesHenry almost 3 years ago

5.9.0 (2022-01-03)

Features

We published a number of our internal eslint-plugin utilities for working with TypeScript types under the package @typescript-eslint/type-utils

typescript-eslint - v5.8.1

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.8.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.7.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.6.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.5.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.4.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.3.1

Published by JamesHenry almost 3 years ago

5.3.1 (2021-11-08)

Note: Version bump only for package @typescript-eslint/typescript-eslint

typescript-eslint - v5.3.0

Published by JamesHenry almost 3 years ago

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)
typescript-eslint - v5.2.0

Published by JamesHenry about 3 years ago

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)
typescript-eslint - v5.1.0

Published by JamesHenry about 3 years ago

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)
typescript-eslint - v5.0.0

Published by JamesHenry about 3 years ago

5.0.0 (2021-10-11)

Breaking Release Notes

All Packages

  • Support for ESLint v8 (see individual packages for relevant breaking changes).
  • Drop support for Node v10 - required node version is now ^12.22.0 || ^14.17.0 || >=16.0.0.
    • Node v10 was EOL'd in April 2021, and ESLint v8 dropped support for it too.
  • Drop Support for ESLint v5
    • ESLint v5 is now 3 years old - why are you still using it? Upgrade to at least ESLint v6.

ESLint-Plugin

  • Changes to the recommended rule set - see #3746
  • [ban-types] remove object from the default ban list
    • This has been a point of contention for a while - I originally added it because TS currently makes it impossible to narrow the type nicely. However there ultimately isn't a good alternative to this type for many usecases. As such we're removing the default ban. If you want to continue banning it, you can configure the rule to do so.
  • [comma-dangle] align schema with ESLint v8
    • Should be pretty transparent unless you were using an invalid config.
  • [explicit-member-accessibility] now checks abstract members
  • [member-ordering] add support for getters and setters
    • This will likely cause your codebase's sort orders to change if you're using the default config.
  • [no-unused-vars-experimental] rule has been deleted
    • You should instead use @typescript-eslint/no-unused-vars instead! It has had full and awesome support for TypeScript since v4.9.0 - and it doesn't require type information!

Experimental-Utils:

  • Remove SourceCode#getComments API from ESLint types.
    • This API was deprecated in ESLint v4, and its usage will error in ESLint v8.
  • Support ESLint v8:
    • CLIEngine is now conditionally undefined. It was deprecated in v7 and removed in v8. If you're still using it, you should upgrade to the ESLint API.
    • Remove meta.docs.category. ESLint has removed this from their core rules as it wasn't ever very useful and was always poorly done. We have followed suit and removed it from our types and our rules.

TypeScript-ESTree / AST-Spec

  • Change .source of ExportNamedDeclaration, ExportAllDeclaration and ImportDeclaration to StringLiteral and add parse-time errors.
    • This ensures we're aligned with ESTree and producing the correct AST.
  • Remove TSParenthesizedType node.
    • This node was added when this project was first created because the TS-AST includes this node. However it ultimately conveys no actual AST meaning (just like parentheses in non-type code). Babel removed this node earlier this year.
    • We expect rules will continue to "just work". In a lot of cases rules will work better as they no longer need manual checks to "look past" the useless node.
  • Remove legacy option useJSXTextNode.
    • This option was added for compatibility between different ASTs a very long time ago - but all ASTs have converged on using JSXText - so you should be using that too.
  • Align class features AST with ESTree. This aligns with ESLint v8.
    • ClassProperty is now called PropertyDefinition
    • TSAbstractClassProperty is now called TSAbstractPropertyDefinition
  • TSAbstractPropertyDefinition.value is now always null.
    • It never made sense that this was allowed, and TS4.4 has now made this invalid.
  • Add full support for PrivateIdentifier (#private class members)
    • Previously we did not officially support them and emitted an "unstable" AST.
    • This will allow the community to build lint rules specifically targeting #private members.
  • Rename LineAndColumnData to Position (aligns naming with the ESTree spec docs)

Scope-Manager

  • Class properties with values now create a 'class-field-initializer' type scope around their value.
    • This aligns with eslint-scope v6.

Raw Changelog

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

typescript-eslint - v4.33.0

Published by JamesHenry about 3 years ago

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)