Skip to content

Align @typescript-eslint/no-inferrable-types rule across angular and typescript #139

@rajsite

Description

@rajsite

Describe the issue

When adopting the Angular rules we had resolved to not adopt Angular's Recommended Extras configuration of @typescript-eslint/no-inferrable-types. See resolution comment.

However because we extended the angular recommended rules directly and did not override the configuration, we have effectively been using Angulars recommendation for the typescript configuration in Angular projects (because the typescript configuration was overwritten by angular) and the typescript configuration for only typescript only projects. See discussion about extending from recommended rules.

As part of #138 the Angular extras confiig was removed so rules are being inlined to result in an effective no change.

To avoid inconsistency, we should either:

  • Keep the accidental adoption of the rule and move it to the typescript configuration to make it intentional.
    Proposal: '@typescript-eslint/no-inferrable-types': ['error',{ ignoreParameters: true }] to the typescript config and remove it from angular rules
  • Adopt our initial resolution and rely on the exisiting configuration (i.e. the result of the TypeScript recommended ruleset)
    Proposal: Remove explicit configuration from Angular so it resolves to the current TypeScript configuration

Another option not being proposed but documenting is to keep the Vanilla TypeScript and Angular TypeScript rules inconsistent. I do not think we want to do that though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions