Skip to content

[default-param-last] False positive for optional arguments denoted by ? #1407

Closed
@buschtoens

Description

@buschtoens

Repro

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended"
  ]
}
function foo(a: string, b = 'b', c?: string) {}

Expected Result

The code should pass linting, as c? is equivalent to c = undefined.

Actual Result

b fails default-param-last, as it is not the last parameter.

Additional Info

Versions

package version
@typescript-eslint/eslint-plugin 2.14.0
@typescript-eslint/parser 2.14.0
TypeScript 3.7.3
ESLint 6.7.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement: new base rule extensionNew base rule extension required to handle a TS specific casehas prthere is a PR raised to close thispackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions