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

Support ESLint 8.x #13712

Closed
1 task done
MichaelDeBoey opened this issue Aug 29, 2021 · 8 comments · Fixed by #13782
Closed
1 task done

Support ESLint 8.x #13712

MichaelDeBoey opened this issue Aug 29, 2021 · 8 comments · Fixed by #13782
Assignees
Labels
area: eslint i: enhancement outdated A closed issue/PR that is archived due to age. Recommended to make a new issue

Comments

@MichaelDeBoey
Copy link

MichaelDeBoey commented Aug 29, 2021

💻

  • Would you like to work on this feature?

What problem are you trying to solve?

ESLint v8.0.0 is released 🎉

It would be awesome to have official ESLint 8 support. 👊
I'm happy to help where I can of course 🙂

Describe the solution you'd like

All ESLint packages support ESLint 8.x

Describe alternatives you've considered

/

Documentation, Adoption, Migration Strategy

No response

@babel-bot
Copy link
Collaborator

Hey @MichaelDeBoey! We really appreciate you taking the time to report an issue. The collaborators on this project attempt to help as many people as possible, but we're a limited number of volunteers, so it's possible this won't be addressed swiftly.

If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack community that typically always has someone willing to help. You can sign-up here for an invite."

@nicolo-ribaudo
Copy link
Member

@MichaelDeBoey I looked at the migration guide and it seems like we might be able to support it with minimal changes, but it's impossible to know without actually trying. I would love a PR for it! It would be ideal to support both ESLint 7 and ESLint 8 at the same time, to give an easy migration path.

Since you ticked the "Would you like to work on this feature?" box I'm assigning this to you. If you need any help or if you don't want to work on this, please leave a comment!

If it is the first time that you contribute to Babel, follow these steps: (you need to have make and yarn available on your machine)

  1. Write a comment here to let other possible contributors know that you are working on this bug.
  2. Fork the repo
  3. Run git clone https://github.com/<YOUR_USERNAME>/babel.git && cd babel
  4. Run yarn && make bootstrap
  5. Wait ⏳
  6. Run make watch (or make build whenever you change a file)
  7. Update the code!
  8. yarn jest eslint to run the tests
  9. If it is working, run make test to run all the tests
  10. Run git push and open a PR!

@JLHwung
Copy link
Contributor

JLHwung commented Aug 30, 2021

Note that we will need to enable the classFeatures for ESLint 8:

// todo: enable classFeatures when it is supported by ESLint

If we want to support both ESLint 7 and ESLint 8, we will need to read the eslint version and use different options for them.

@nicolo-ribaudo
Copy link
Member

@MichaelDeBoey Are you interested in opening a PR for this? If not, I can work on it this week.

RebeccaStevens added a commit to eslint-functional/eslint-plugin-functional that referenced this issue Oct 17, 2021
RebeccaStevens added a commit to eslint-functional/eslint-plugin-functional that referenced this issue Oct 17, 2021
RebeccaStevens added a commit to eslint-functional/eslint-plugin-functional that referenced this issue Oct 17, 2021
RebeccaStevens added a commit to eslint-functional/eslint-plugin-functional that referenced this issue Oct 17, 2021
@gajus
Copy link

gajus commented Oct 25, 2021

I believe the work for this is already being done here

#13782

@ljharb
Copy link
Member

ljharb commented Oct 25, 2021

Thanks, eslint-plugin-react will still have to actually start testing with the new parser, but we're definitely blocked on that PR.

@JLHwung
Copy link
Contributor

JLHwung commented Oct 25, 2021

@ljharb You can actually start testing new parser now:

module.exports = {
  parser: "@babel/eslint-parser",
  parserOptions: {
    requireConfigFile: false,
    babelOptions: {
      parserOpts: {
        plugins: [
          ["estree", { classFeatures: true }],
        ],
      },
    },
  },
};

In Babel 7.16 we materialize the classFeatures option but AFAIK the AST shape does not change.

@ljharb
Copy link
Member

ljharb commented Oct 25, 2021

@JLHwung i'm working on it :-) but a bunch of tests are failing, since eslint-plugin-react has never tested on the scoped parser before.

(edit: sorry, i got confused about which repo i was commenting on)

@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Jan 28, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: eslint i: enhancement outdated A closed issue/PR that is archived due to age. Recommended to make a new issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants