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

feat!: update typescript-eslint dependency to v8 #3

Merged
merged 8 commits into from
Aug 25, 2024

Conversation

Kenneth-Sills
Copy link
Owner

@Kenneth-Sills Kenneth-Sills commented Aug 25, 2024

Migrated from upstream PR.


This PR focuses on:

  • Updating typescript-eslint to the newest version and fixing up the rules for compatibility.
  • Updating the documentation as appropriate for the new version of typescript-eslint, as well as modern usage of both NPM (peer dependencies) and ESLint (flat config via the compatibility dependency).
    • I've included links to relevant tickets WRT the ESLint v9 upgrade and the Prettier config's integration with ESLint Stylistic, to make it easier for maintainers/users to remember what's going on there.

There are some miscellaneous updates to our dependencies to make it work slightly better with NPM, as well as some updates to internal project configuration to make dogfooding the configuration work correctly.

These are 100% breaking changes and will require a major version increment.

Closes #1
Closes #2

Rules updates to come in isolated commits.

Closes #354.
The rule that comes with ESLint now handles numeric separators,
obsoleting the need for a TS-specific one. This rule has been
deprecated in (though not yet removed from) upstream.
This rule was renamed in v6 to clarify what it does.
With v8, the deprecated legacy alias has been removed.
- The Airbnb config has been moved to a peer dependency, so ESLint can resolve
  it in legacy configs without requiring users to manually install it.
- The full Airbnb configs have been added as an optional peer dependency.
- Since non-optional peer dependencies are installed by default, they have
  stopped being duplicated in the dev dependencies.
- The ESLint dependency has been bumped to the latest minor version.
- Explicitly note the lack of ESLint 9 support, link to tracking ticket.
- Provide flat configuration instructions (and recommend their use).
- Update instructions for NPM v7 automatically installing peer dependencies.
- Update configuration for use with typescript-eslint v8.
- Some restructuring for readability.
- Added instructions for removing formatting rules, since it's less simple
  with the ESLint stylistic rules (until the Prettier config gets updated).

Closes #307
@Kenneth-Sills Kenneth-Sills changed the title Kesills typescript eslint v8 feat!: update typescript-eslint dependency to v8 Aug 25, 2024
@Kenneth-Sills
Copy link
Owner Author

I'm going to go ahead with this, but I'll need additional changes to satisfy #10, #11, and #12.

@Kenneth-Sills Kenneth-Sills merged commit 932dea1 into main Aug 25, 2024
@Kenneth-Sills Kenneth-Sills deleted the kesills-typescript-eslint-v8 branch August 25, 2024 20:34
Copy link

🎉 This issue has been resolved in version 19.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Flat Config Compatibility Add Support for typescript-eslint v8
1 participant