All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.19.0 (2020-02-03)
- eslint-plugin: [embt] fix allowTypedFunctionExpressions (#1553) (9e7d161)
- eslint-plugin: [require-await] improve performance (#1536) (45ae0b9)
- 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)
- 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)
- 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) - experimental-utils: make RuleMetaData.docs optional (#1462) (cde97ac)
2.17.0 (2020-01-20)
- 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)
- 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)
- 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: resolve path relative to tsconfigRootDir (#1439) (c709056)
- 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 strict type mapping to esTreeNodeToTSNodeMap (#1382) (d3d70a3)
2.15.0 (2020-01-06)
- eslint-plugin: [strict-bool-expr] add allowSafe option (#1385) (9344233)
- eslint-plugin: add no-implied-eval (#1375) (254d276)
2.14.0 (2019-12-30)
2.13.0 (2019-12-23)
- 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)
- 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)
- typescript-estree: computed members discriminated unions (#1349) (013df9a)
- typescript-estree: tighten prop name and destructure types (#1346) (f335c50)
2.12.0 (2019-12-16)
- eslint-plugin: [prefer-null-coal] fixer w/ mixed logicals (#1326) (f9a9fbf)
- eslint-plugin: [quotes] ignore backticks for interface properties (#1311) (3923a09)
2.11.0 (2019-12-09)
2.10.0 (2019-12-02)
- 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)
- 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)
2.9.0 (2019-11-25)
- 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)
- 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)
- 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)
- 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)
- 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)
Note: Version bump only for package @typescript-eslint/eslint-plugin
2.6.0 (2019-10-28)
2.5.0 (2019-10-21)
- 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)
- eslint-plugin: [promise-function-async] Should not report… (#1023) (514bed9)
- support long running "watch" lint sessions (#973) (854620e)
2.3.3 (2019-10-07)
- eslint-plugin: [class-name-casing] allow unicode letters (#1043) (47895c0)
- eslint-plugin: [efrt] support constructor arguments (#1021) (60943e6)
2.3.2 (2019-09-30)
- eslint-plugin: [no-unnec-type-arg] undefined symbol crash (#1007) (cdf9294)
- typescript-estree: correct ClassDeclarationBase type (#1008) (8ce3a81)
2.3.1 (2019-09-23)
- eslint-plugin: [cons-type-assns] handle namespaced types (#975) (c3c8b86)
- eslint-plugin: [pfa] Allow async getter/setter in classes (#980) (e348cb2)
2.3.0 (2019-09-16)
- 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)
- 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)
2.1.0 (2019-09-02)
- 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
- [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)
2.0.0 (2019-08-13)
-
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)
-
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
- 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)
- 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)
- 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)
- 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)
- 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)
- 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: [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)
1.10.1 (2019-06-09)
Note: Version bump only for package @typescript-eslint/eslint-plugin
1.10.0 (2019-06-09)
- eslint-plugin: [explicit-function-return-type] Fix obj setter prop (8c8497c), closes #525
- eslint-plugin: [no-extra-parens] Fix crash default switch case crash (5ec2b32), closes #509
- eslint-plugin: [no-type-alias] Fix parenthesized type handling (#576) (6489293)
- eslint-plugin: [NUTA] false positive for null assign to undefined (#536) (b16409a), closes #529
- eslint-plugin: Remove
no-dupe-class-members
from eslint-recommended (#520) (1a0e60b)
- 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)
- eslint-plugin: Add missing dependency (89c87cc), closes #516
- eslint-plugin: Fix exported name of eslint-recommended (#513) (5c65350)
1.8.0 (2019-05-10)
- 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)
- eslint-plugin: Support more nodes no-extra-parens (2d15644)
- eslint-plugin: support switch statement unbound-method (e99ca81)
- 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)
- Move shared types into their own package (#425) (a7a03ce)
1.7.0 (2019-04-20)
- 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
- 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)
- 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)
- 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)
- 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)
1.4.2 (2019-02-25)
Note: Version bump only for package @typescript-eslint/eslint-plugin
1.4.1 (2019-02-23)
- 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)
- 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)
- 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)
1.3.0 (2019-02-07)
- 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)
1.2.0 (2019-02-01)
- 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)
- 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)
- eslint-plugin: make parser services error clearer (#132) (aa9d1e1)
- parser: add visiting of type parameters in JSXOpeningElement (#150) (5e16003)
1.1.0 (2019-01-23)
- eslint-plugin: don’t mark
declare class
as unused (#110) (5841cd2), closes #106 - eslint-plugin: improve detection of used vars in heritage (#102) (193b434)
- 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)
- 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)
0.2.1 (2019-01-20)
Note: Version bump only for package @typescript-eslint/eslint-plugin