feat!: migrate ESLint 3 to ESLint 9 flat config with typescript-eslint#950
Draft
kdaviduik wants to merge 1 commit intotypescript-migration-part-4from
Draft
feat!: migrate ESLint 3 to ESLint 9 flat config with typescript-eslint#950kdaviduik wants to merge 1 commit intotypescript-migration-part-4from
kdaviduik wants to merge 1 commit intotypescript-migration-part-4from
Conversation
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
730d840 to
a9c5b43
Compare
c47c4dd to
b8b74d9
Compare
ffe9ea0 to
1de124b
Compare
This was referenced Mar 13, 2026
1de124b to
4296a8c
Compare
3bc6f43 to
17942a1
Compare
4296a8c to
850f5d1
Compare
This was referenced Mar 14, 2026
17942a1 to
6ff31cb
Compare
f3f0e73 to
f6df438
Compare
6ff31cb to
6b5888f
Compare
f6df438 to
daa1b0f
Compare
6b5888f to
e0d9dc1
Compare
daa1b0f to
4434486
Compare
4434486 to
3fd13d8
Compare
79201be to
2b06723
Compare
3fd13d8 to
f661cd2
Compare
2b06723 to
d143dbb
Compare
f661cd2 to
74fdc96
Compare
d143dbb to
feb047f
Compare
BREAKING CHANGE: ESLint configuration now requires ESLint 9+ and uses flat config format. Custom ESLint configs extending this project will need to migrate to flat config. - Replace .eslintrc with eslint.config.mjs using flat config format - Upgrade eslint 3.19.0 → 9.22.0 (6 major versions) - Add typescript-eslint for type-aware linting (strict + stylistic presets) - Add eslint-plugin-prettier for formatting integration - Replace babel-eslint with @babel/eslint-parser - Enable languageOptions.parserOptions.projectService for typed rules - Configure test directory overrides for relaxed test rules - Update package.json lint script for flat config compatibility - Add @shopify/eslint-plugin as foundation for Shopify conventions - Configure globals for browser + node + mocha environments Co-Authored-By: Claude <noreply@anthropic.com>
74fdc96 to
2259b4f
Compare
feb047f to
24d3912
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Part of https://github.com/Shopify/developer-tools-team/issues/1195
Replaces ESLint 3.3.1 + unmaintained eslint-plugin-shopify v13 with
ESLint 9 flat config + typescript-eslint v8. This enables type-aware
linting for .ts files during the ongoing TypeScript migration.
Key decisions:
safety rules including switch-exhaustiveness-check,
prefer-nullish-coalescing, consistent-type-imports)
by .eslintignore workaround)
Also fixes lint violations found by expanded coverage:
BREAKING CHANGE: ESLint config format changed from .eslintrc to
eslint.config.mjs. Any custom ESLint integrations must update.