All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
3.6.0 (2020-07-06)
- eslint-plugin: [no-namespace] allow namespaces in nested declarations with
allowDeclarations
(#2238) (c1df669) - eslint-plugin: [space-before-function-paren] handle abstract functions (#2199) (88a3edf)
3.5.0 (2020-06-29)
- eslint-plugin: [naming-convention] support unicode in regex (#2241) (5fdd21a)
- typescript-estree: forward compatibility for new compound assignment operators (#2253) (ba41680)
- add package scope-manager (#1939) (682eb7e)
- split types into their own package (#2229) (5f45918)
- split visitor keys into their own package (#2230) (689dae3)
3.4.0 (2020-06-22)
- 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)
- 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)
- eslint-plugin: [no-unused-expressions] handle ternary and short-circuit options (#2194) (ee9f100)
- typescript-estree: handle TS4.0 breaking change in TupleType (#2197) (5d68129)
- eslint-plugin: [naming-convention] better error message and docs for prefix/suffix (#2195) (a2ffe55)
3.2.0 (2020-06-08)
- 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)
- 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)
- 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)
- 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)
3.0.1 (2020-05-25)
- 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)
- 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)
- 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
toallowNullish
(#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)
- 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)
2.32.0 (2020-05-11)
- 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)
2.31.0 (2020-05-04)
- 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)
- 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)
- 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)
- 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)
- eslint-plugin: [no-base-to-string] soft remove
ignoreTaggedTemplateExpressions
option (#1916) (369978e)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
2.23.0 (2020-03-09)
- 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)
- 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)
- 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)
- 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)
- 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)
2.20.0 (2020-02-17)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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: 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)
- 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)
- eslint-plugin: crash in no-unnecessary-type-arguments (#1401) (01c939f)
- typescript-estree: correct persisted parse for windows (#1406) (1a42f3d)
- eslint-plugin: [strict-bool-expr] add allowSafe option (#1385) (9344233)
- eslint-plugin: add no-implied-eval (#1375) (254d276)
2.14.0 (2019-12-30)
- eslint-plugin: type assertion in rule no-extra-parens (#1376) (f40639e)
- typescript-estree: visit typeParameters in OptionalCallExpr (#1377) (cba6a2a)
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)
- typescript-estree: correct type of key for base nodes (#1367) (099225a)
- 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)
- 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)
- typescript-estree: make FunctionDeclaration.body non-null (#1288) (dc73510)
- 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)
- 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)
- 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)
- typescript-estree: correctly account for trailing slash in… (#1205) (ba89168)
- typescript-estree: options range loc being always true (#704) (db1aa18)
- 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: 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)
- 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)
- 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)
- 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)
2.5.0 (2019-10-21)
- 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)
- 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)
- experimental-utils: remove Rule.meta.extraDescription (#1036) (192e23d)
2.3.2 (2019-09-30)
- 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)
- 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)
- 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)
- 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
- 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
toRuleListener
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)
- 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)
- utils: move
typescript
from peer dep to dev dep (#712) (f949355) - utils: RuleTester should not require a parser (#713) (158a417)
- 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: handle
const;
(#633) (430d628), closes #441 - typescript-estree: fix
async
identifier token typed asKeyword
(#681) (6de19d3)
- 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: 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)
- 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/typescript-eslint
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) - experimental-utils: add
endLine
andendColumn
(#517) (d9e5f15) - experimental-utils: Avoid typescript import at runtime (#584) (fac5c7d), closes /github.com/typescript-eslint/typescript-eslint/pull/425#issuecomment-498162293
- typescript-estree: allow expressions in ExportDefaultDeclaration (#593) (861844d)
- typescript-estree: stop ignoring comments in JSX with generic (#596) (31d5bd4)
- 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)
- 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)
- 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)
- 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)
- parser: Make eslint traverse enum id (#383) (492b737)
- typescript-estree: add ExportDefaultDeclaration to union DeclarationStatement (#378) (bf04398)
- 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)
- typescript-estree: only call watch callback on new files (#367) (0ef07c4)
1.4.2 (2019-02-25)
- trigger new release (eaaa471)
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)
- ts-estree: fix parsing nested sequence expressions (#286) (ecc9631)
1.3.0 (2019-02-07)
- 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)
- 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)
- 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)
- ts-estree: expand optional property to include question token (#138) (9068b62)
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)
- typescript-estree: correct range of parameters with comments (#128) (91eedf2)
- typescript-estree: fix range of assignment in parameter (#115) (4e781f1)
- 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)
- 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