-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
ESLint changes preparing for Prettier #2153
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
The Jest plugin has been updated with flat config support, so all the pieces are in place. I could make a separate branch for the format/lint related PRs to land on so we run Prettier etc before affecting develop? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
The VSCode ESLint extension has flat config support by default available as a prerelease (can just switch to/from prerelease in extensions UX): microsoft/vscode-eslint#1644 (comment) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome!
Pull Request
Problem
ESLint have deprecating the formatting rules, and suggest using a separate formatter.
Using StandardJS and TypeScript equivalent has been painful to maintain. (To be fair, partly because of how we ended up using it.)
See: #2104
Solution
Use ESLint for linting. Start with ESLint recommended rules.
Use Prettier for formatting. In a way this is quite like using Standard, opinionated so less setup and debate over settings! Installed and configured in this PR, but not used to format files yet to keep the PR focused on the setup changes.
I did a rework of the naming of the npm scripts so now
check
lint/format/type, andfix
lint/format.Note: I saw there was a new flat config for ESLint and liked the look of it. Flat config is going to be default in ESLint 9. I used the new config file name
eslint.config.js
so detected as flat from command-line with ESLint 8.Note:
eslint-plugin-jsdoc
installed but not activated yet, as will complain about multiple issues. Have also installedprettier-plugin-jsdoc
which will hopefully fix some of the lint issues! Will evaluate those in separate PR.For interest, I found a good blog after doing most of the work: https://www.joshuakgoldberg.com/blog/configuring-eslint-prettier-and-typescript-together/
ChangeLog