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

Initial migration to new ESLint flat config format #3213

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

emmenko
Copy link
Member

@emmenko emmenko commented Sep 13, 2023

Note

This is an exploratory branch to attempt the migration of the ESLint configs to the new ESLint flat config format.
This is not ready for review yet.

ESLint has been working on a major refactoring of their config format which they call "flat" (or simply "new config").

I believe this will be the default format from version 9 onwards, however we can already opt into it.

I also found this article doing a good job in explaining the differences and how you can migrate the config piece-by-piece.

If someone has time and wants to explore this, let's use this branch.

  • Migrate repository ESLint config
  • Migrate eslint-config-mc-app (will it be a breaking change or can we be backwards compatible?)

@changeset-bot
Copy link

changeset-bot bot commented Sep 13, 2023

⚠️ No Changeset found

Latest commit: cf58278

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@emmenko emmenko changed the title chore: initial migration to new ESLint flat config format Initial migration to new ESLint flat config format Sep 13, 2023
@github-actions
Copy link
Contributor

Deploy preview for merchant-center-application-kit ready!

✅ Preview
https://merchant-center-application-fje2bbsr1-commercetools.vercel.app
https://appkit-sha-ae01fa7c4819edacbfce1b06a7a9d98872e481f4.commercetools.vercel.app
https://appkit-pr-3213.commercetools.vercel.app

Built with commit cf58278.
This pull request is being automatically deployed with vercel-action

@ByronDWall
Copy link
Contributor

@emmenko you are correct that eslint v9+ requires this configuration format. Updating any app that uses '@commercetools-frontend/eslint-config-mc-app' to eslint v9 results in errors such as these:

Test suite failed to run
  
      Invalid Options:
      - Unknown options: extensions, ignorePath, useEslintrc, reportUnusedDisableDirectives, resolvePluginsRelativeTo, rulePaths
      - 'extensions' has been removed.
      - 'resolvePluginsRelativeTo' has been removed.
      - 'ignorePath' has been removed.
      - 'rulePaths' has been removed. Please define your rules using plugins.
      - 'reportUnusedDisableDirectives' has been removed. Please use the 'overrideConfig.linterOptions.reportUnusedDisableDirectives' option instead.
  
        at processOptions (node_modules/eslint/lib/eslint/eslint-helpers.js:843:15)
        at new ESLint (node_modules/eslint/lib/eslint/eslint.js:449:34)

I'm assuming that updating the eslint config isn't something that is planned in the immediate future?

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.

2 participants