eslint-config-love icon indicating copy to clipboard operation
eslint-config-love copied to clipboard

`@typescript-eslint/eslint-plugin` features to consider (rolling issue)

Open mightyiam opened this issue 4 years ago • 6 comments

A checked checkbox means that the change has been considered.

5.46.1 (2022-12-12)

5.46.0 (2022-12-08)

  • [ ] eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

5.45.1 (2022-12-05)

5.45.0 (2022-11-28)

  • [ ] 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)

  • [ ] 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)

  • [ ] 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)

5.42.0 (2022-10-31)

  • [ ] 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)

  • [ ] 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)

5.40.0 (2022-10-10)

  • [ ] 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)

  • [ ] 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)

  • [ ] website: add warning on top of formatting rule docs pages (#5598) (5dfa2e9)

5.37.0 (2022-09-12)

  • [ ] docs: always expanding collapsible sidebar menus under docs (#5608) (8176fb1)

5.36.2 (2022-09-05)

5.36.1 (2022-08-30)

5.36.0 (2022-08-30)

5.35.1 (2022-08-24)

5.35.0 (2022-08-24)

  • [ ] eslint-plugin: [explicit-member-accessibility] suggest adding explicit accessibility specifiers (#5492) (0edb94a)

5.34.0 (2022-08-22)

  • [ ] 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)

5.33.0 (2022-08-08)

  • [ ] 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)

  • [ ] eslint-plugin: [no-use-before-define] add "allowNamedExports" option (#5397) (ad412cd)

5.31.0 (2022-07-25)

  • [ ] 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)

5.30.6 (2022-07-11)

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

5.30.5 (2022-07-04)

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)

5.30.0 (2022-06-27)

  • [ ] 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)

  • [ ] website: open issue with rule name if only one rule is enabled (#5190) (b229ee4)

5.28.0 (2022-06-13)

  • [ ] ast-spec: extract AssignmentOperatorToText (#3570) (45f75e6)
  • [ ] eslint-plugin: [consistent-generic-constructors] add rule (#4924) (921cdf1)

5.27.1 (2022-06-06)

5.27.0 (2022-05-30)

  • [ ] [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)

  • [ ] [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)

  • [ ] 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)

  • [ ] 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)

5.22.0 (2022-05-02)

  • [ ] 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)

  • [ ] eslint-plugin: [parameter-properties] add rule to replace no-parameter-properties (#4622) (88ed9ec)

5.20.0 (2022-04-18)

  • [ ] eslint-plugin: [no-magic-numbers] ignoreTypeIndexes option (#4789) (5e79451)

5.19.0 (2022-04-11)

  • [ ] 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)

  • [ ] 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)

  • [ ] eslint-plugin: [no-unused-vars] add destructuredArrayIgnorePattern options (#4748) (6f8db8b)

5.16.0 (2022-03-21)

  • [ ] eslint-plugin: [prefer-optional-chain] support logical with empty object (#4430) (d21cfe0)

5.15.0 (2022-03-14)

5.14.0

  • [ ] eslint-plugin: [no-misused-promises] add granular options within checksVoidReturns (#4623) (1085177)

5.13.0

  • [ ] 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)

5.12.1

5.12.0

5.11.0

  • [ ] eslint-plugin: [explicit-function-return-type] add allowedNames (#4440) (936e252)

5.10.2

5.10.1

5.10.0

5.9.1

5.9.0

5.8.1

5.8.0

  • [ ] 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

5.6.0

5.5.0

  • [ ] eslint-plugin: array-type distinguish whether readonly or not (#4066) (314af44)

5.4.0

5.3.1

5.3.0

  • [ ] eslint-plugin: [no-shadow] exclude external type declaration merging (#3959) (a93cebf)

5.2.0

  • [ ] eslint-plugin: adding consistent-type-exports rule (#3936) (1971a3f)

5.1.0

5.0.0

4.33.0

4.32.0

  • [ ] 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.0

  • [ ] 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)
  • [x] eslint-plugin: add extension rule padding-line-between-statements (#3418) (f79ae9b)

4.30.0

4.29.0

  • [x] eslint-plugin: [no-redeclare] ignoreDeclarationMerge of enum+namespace (#3572) (18e30cb)
  • [x] eslint-plugin: [prefer-return-this-type] add a new rule (#3228) (5e1a615)

4.27.0

  • [x] eslint-plugin: [prefer-literal-enum-member] add allowBitwiseExpressions option (#3515) (288092a)

4.26.0

  • [x] eslint-plugin: [member-ordering] add callback as an ordering type of node (#3354) (d134b1f)
  • [x] eslint-plugin: [space-infix-ops] Add support for Union and intersection of type declarations (#3360) (3d29323)

4.24.0

  • [x] eslint-plugin: [dot-notation] optionally allow square bracket notation where an index signature exists in conjunction with noPropertyAccessFromIndexSignature (#3361) (37ec2c2)

4.21.0

  • [x] eslint-plugin: [no-unsafe-argument] add rule (#3256) (b1aa7dc), closes #791

4.20.0

  • [x] eslint-plugin: [space-infix-ops] support for class properties and type aliases (#3231) (5414bf2)
  • [x] eslint-plugin: [type-annotation-spacing] handle space between ? and : (#3138) (40bdb0b)

4.19.0

  • [x] eslint-plugin: [object-curly-spacing] support MappedType (#3176) (0557a43)

4.16.0

  • [x] 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)
  • [x] eslint-plugin: [prom-func-async] report only function head (#2872) (25f459c)

4.14.0

  • [x] add support for decorator metadata in scope analysis and in consistent-type-imports (#2751) (445e416), closes #2559
  • [x] eslint-plugin: add object-curly-spacing rule (#2892) (32bd18d)

4.13.0

  • [x] eslint-plugin: [sort-type-union-intersection-members] add nullish group (#2919) (5558f41)

4.12.0

  • [x] eslint-plugin: add rule sort-type-union-intersection-members (#2913) (9092c04)

4.10.0

  • [x] eslint-plugin: add rule non-nullable-type-assertion-style (#2624) (7eee44f)

4.9.0

  • [x] eslint-plugin: [no-unused-vars] fork the base rule (#2768) (a8227a6), closes #2782 #2714 #2648
  • [x] eslint-plugin: [unbound-method] add support for methods with a this: void parameter (#2796) (878dd4a)

4.7.0

  • [x] eslint-plugin: add rule no-confusing-void-expression (#2605) (c8a4dad)

4.6.0

  • [x] eslint-plugin: [ban-types] support banning [] (#2704) (ef8b5a7), closes #2582
  • [x] eslint-plugin: add no-unnecessary-type-constraint rule (#2516) (880ac75)
  • [x] eslint-plugin: add extension rule space-infix-ops (#2593) (343d20d)

4.5.0

  • [x] eslint-plugin: [dot-notation] add allowProtectedClassPropertyAccess option (#2622) (bbc9e35)
  • [x] eslint-plugin: [prefer-readonly-parameter-types] add ignoreInferredTypes option (#2668) (91010e8)
  • [x] eslint-plugin: [restrict-plus-operands] add intersection type determination logic (#2628) (da71362)

4.4.0

  • [x] eslint-plugin: add consistent-indexed-object-style rule (#2401) (d7dc108)
  • [x] eslint-plugin: add extension rule no-duplicate-imports (#2609) (498f397)

4.3.0

  • [x] eslint-plugin: [no-invalid-void-type] add option to allow this: void (#2481) (ddf5660)

4.2.0

  • [x] eslint-plugin: add extension rule comma-dangle (#2416) (f7babcf)

4.1.0

  • [x] eslint-plugin: [no-shadow] add option ignoreFunctionTypeParameterNameValueShadow (#2470) (bfe255f)
  • [x] eslint-plugin: add extension rule no-loop-func (#2490) (36305df)

mightyiam avatar Aug 31 '21 12:08 mightyiam

Will the unsafe TS checks ever be added? They are recommended by typescript-eslint via plugin:@typescript-eslint/recommended-requiring-type-checking

  '@typescript-eslint/no-unsafe-argument': 'error',
  '@typescript-eslint/no-unsafe-assignment': 'error',
  '@typescript-eslint/no-unsafe-call': 'error',
  '@typescript-eslint/no-unsafe-member-access': 'error',
  '@typescript-eslint/no-unsafe-return': 'error',

flippidippi avatar Nov 30 '22 16:11 flippidippi

Thank you, @flippidippi.

@rostislav-simonik and I reviewed the rules you asked about and we are in favor of them being added.

Would you like to submit a pull request adding them?

While we are at it, may as well add no-unsafe-declaration-merging because we reviewed that, as well.

mightyiam avatar Dec 01 '22 07:12 mightyiam

It looks like no-unsafe-declaration-merging would require an upgrade. Should that be done in a different PR?

flippidippi avatar Dec 01 '22 16:12 flippidippi

@flippidippi an upgrade of what, please? This project has automatic dependency upgrade PRs by renovate. So I don't expect our dependencies to be out of date.

mightyiam avatar Dec 02 '22 00:12 mightyiam

@typescript-eslint/parser would need to be upgraded to include the newer no-unsafe-declaration-merging rule.

flippidippi avatar Dec 05 '22 16:12 flippidippi

Oh... you're right. There seems to be a discrepancy. I expect to receive a PR for updating the parser automatically. I don't see one, though.

So, feel free to proceed without that rule, then.

mightyiam avatar Dec 05 '22 16:12 mightyiam