Skip to content

Bug: syntax error in prefer-arrow-callback autofix #16718

@fasttime

Description

@fasttime

Environment

Node version: v19.3.0
npm version: v9.2.0
Local ESLint version: v8.30.0 (Currently used)
Global ESLint version: Not found
Operating System: darwin 22.1.0

What parser are you using?

Default (Espree)

What did you do?

Configuration
{
    "parserOptions": {
        "ecmaVersion": "latest"
    },
    "rules": {
        "prefer-arrow-callback": [
            "error"
        ]
    }
}
test(
  function ()
  { }
);

What did you expect to happen?

Autofix should fix the code like this:

test(
  () =>
  { }
);

What actually happened?

Autofix produces unparseable code:

test(
  ()
  => { }
);

DEMO LINK

The problem occurs when the function body starts on a new line, like in the Allman style.

Participation

  • I am willing to submit a pull request for this issue.

Additional comments

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedThere is consensus among the team that this change meets the criteria for inclusionarchived due to ageThis issue has been archived; please open a new issue for any further discussionautofixThis change is related to ESLint's autofixing capabilitiesbugESLint is working incorrectlyrepro:yesIssues with a reproducible exampleruleRelates to ESLint's core rules

    Type

    No type

    Projects

    Status

    Complete

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions