Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mightyiam opened this issue Aug 31, 2021 · 6 comments
Open

Comments

@mightyiam
Copy link
Owner

mightyiam commented Aug 31, 2021

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

4.30.0

4.29.0

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

4.27.0

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

4.26.0

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

4.24.0

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

4.21.0

4.20.0

  • 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

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

4.16.0

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

4.14.0

  • 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

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

4.12.0

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

4.10.0

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

4.9.0

  • 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.7.0

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

4.6.0

  • 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

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

4.4.0

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

4.3.0

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

4.2.0

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

4.1.0

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

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',

@mightyiam
Copy link
Owner Author

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.

@flippidippi
Copy link

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

@mightyiam
Copy link
Owner Author

@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.

@flippidippi
Copy link

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

@mightyiam
Copy link
Owner Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants