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

ESLint changes preparing for Prettier #2153

Merged
merged 27 commits into from
Apr 4, 2024

Conversation

shadowspawn
Copy link
Collaborator

@shadowspawn shadowspawn commented Feb 16, 2024

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, and fix 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 installed prettier-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

@shadowspawn

This comment was marked as outdated.

@shadowspawn shadowspawn marked this pull request as ready for review February 16, 2024 22:36
@shadowspawn
Copy link
Collaborator Author

shadowspawn commented Feb 16, 2024

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?

@shadowspawn shadowspawn marked this pull request as draft February 16, 2024 23:24
@shadowspawn

This comment was marked as outdated.

@shadowspawn

This comment was marked as outdated.

@shadowspawn shadowspawn marked this pull request as ready for review February 16, 2024 23:49
@shadowspawn shadowspawn marked this pull request as draft February 23, 2024 22:48
@shadowspawn

This comment was marked as outdated.

@shadowspawn shadowspawn marked this pull request as ready for review February 23, 2024 23:21
@shadowspawn shadowspawn merged commit 6fc933e into tj:develop Apr 4, 2024
8 checks passed
@shadowspawn shadowspawn deleted the feature/prettier branch April 4, 2024 23:52
@shadowspawn shadowspawn removed the pending release Merged into a branch for a future release, but not released yet label May 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants