Skip to content

feat!: migrate migrate-config to new includeIgnoreFile#457

Open
kirkwaiblinger wants to merge 3 commits into
eslint:mainfrom
kirkwaiblinger:migrate-migrate-config-to-new-include-ignore-file
Open

feat!: migrate migrate-config to new includeIgnoreFile#457
kirkwaiblinger wants to merge 3 commits into
eslint:mainfrom
kirkwaiblinger:migrate-migrate-config-to-new-include-ignore-file

Conversation

@kirkwaiblinger

Copy link
Copy Markdown
Contributor

Prerequisites checklist

AI acknowledgment

  • I did not use AI to generate this PR.
  • (If the above is not checked) I have reviewed the AI-generated content before submitting.

What is the purpose of this pull request?

What changes did you make? (Give an overview)

migrate-config will now generate a config that uses the new includeIgnoreFile from eslint/config rather than the now-deprecated version from @eslint/compat.

Related Issues

Followup to #430 (comment)

Is there anything you'd like reviewers to focus on?

@jookira

jookira commented May 16, 2026

Copy link
Copy Markdown

This change would break the migration path for anyone landing on ESLint v9, as includeIgnoreFile was only added to eslint/config in v10.4.0.

It’s probably time to consider freezing this package altogether.

Edit: I just saw the discussion about the new codemod package in eslint/eslint#20442 and proposed the transform there.

@lumirlumir lumirlumir moved this from Needs Triage to Triaging in Triage May 18, 2026
@lumirlumir

Copy link
Copy Markdown
Member

I think the CI failure related to “Are the types wrong” will be resolved once this branch is rebased.

@github-actions

Copy link
Copy Markdown
Contributor

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions Bot added the Stale label May 28, 2026
@kirkwaiblinger

Copy link
Copy Markdown
Contributor Author

I am entirely happy for this to be abandoned but would just like for an ESLint team member to make the call either way since I also don't want to unilaterally abandon a followup which a team member was part of.

@github-actions github-actions Bot removed the Stale label May 29, 2026

@lumirlumir lumirlumir left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kirkwaiblinger I’m sorry for the delay.

I’ve read through all the threads in eslint/eslint#20442, and I think the team is currently investigating the possibility of consolidating @eslint/migrate-config and eslint-transforms into Codemod.

While I agree that this change would be helpful for ESLint v10 migration support, which may happen in the next major release of @eslint/migrate-config, there’s currently no definite consensus on how we’ll treat the @eslint/migrate-config package in the future.

For this reason, I’d like to raise this question to gather consensus. Thanks for your patience in advance while we work toward a decision!


To summarize the question for the team: @eslint/eslint-team

What is the future of @eslint/migrate-config if we’re investigating the possibility of consolidating it into Codemod?

Should package updates be frozen until a decision is made, or is it okay to look into the possibility of ESLint v10 support including this PR?

@lumirlumir

lumirlumir commented Jun 9, 2026

Copy link
Copy Markdown
Member

TSC Summary: This PR is mainly about the future of the @eslint/migrate-config package, since @eslint/v8-to-v9-config, which has been verified in eslint/eslint#20442 and is ready for a blog announcement, could replace it.
This PR also changes the implementation to use includeIgnoreFile from the eslint/config subpath import. Since this feature was added in ESLint v10.4.0, it would break the existing v8-to-v9 migration tooling. This change need to be added in the next major version of @eslint/migrate-config instead, so it doesn’t break the current migration solution.

TSC Question: Given that the v8-to-v9 and v9-to-v10 codemods could cover the migrate-config package, should this package be deprecated and frozen for new feature requests, with all codemods unified in the codemods repo moving forward? Or do we plan to maintain both packages?

@lumirlumir lumirlumir left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the TSC meeting on June 11, 2026, it was determined that we should move forward in this way:

  • We don’t want to freeze or deprecate migrate-config right now
  • We’d like to maintain v9 output behind a --target-version option, with 10 as the default and 9 as an option
  • This PR is a breaking change

@kirkwaiblinger, are you still available to move forward with the approach above? It would be great if this PR could include the items listed above.

https://discord.com/channels/688543509199716507/688545247843713092/1514726203699757181

I’ve changed the PR title to feat! since it’s now a breaking change.

@lumirlumir lumirlumir moved this from Feedback Needed to Implementing in Triage Jun 13, 2026
@lumirlumir lumirlumir changed the title chore: migrate migrate-config to new includeIgnoreFile feat!: migrate migrate-config to new includeIgnoreFile Jun 13, 2026
@lumirlumir lumirlumir removed the chore label Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Implementing

Development

Successfully merging this pull request may close these issues.

3 participants