feat!: migrate ESLint 3 to ESLint 9 flat config with typescript-eslint - #950
Draft
kdaviduik wants to merge 1 commit into
Draft
feat!: migrate ESLint 3 to ESLint 9 flat config with typescript-eslint#950kdaviduik wants to merge 1 commit into
kdaviduik wants to merge 1 commit into
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. |
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
2 times, most recently
from
March 12, 2026 20:53
730d840 to
a9c5b43
Compare
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
March 13, 2026 19:18
kdaviduik
force-pushed
the
graphite-base/950
branch
from
March 13, 2026 19:18
c47c4dd to
b8b74d9
Compare
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
March 13, 2026 19:18
ffe9ea0 to
1de124b
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
enable-auto-changelog
March 13, 2026 19:18
This was referenced Mar 13, 2026
kdaviduik
changed the base branch from
enable-auto-changelog
to
graphite-base/950
March 13, 2026 19:44
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
March 13, 2026 19:44
1de124b to
4296a8c
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
March 13, 2026 19:44
kdaviduik
force-pushed
the
typescript-migration-part-4
branch
from
March 14, 2026 22:53
3bc6f43 to
17942a1
Compare
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
March 14, 2026 22:53
4296a8c to
850f5d1
Compare
This was referenced Mar 14, 2026
kdaviduik
force-pushed
the
typescript-migration-part-4
branch
from
March 15, 2026 02:23
17942a1 to
6ff31cb
Compare
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
2 times, most recently
from
March 15, 2026 02:39
f3f0e73 to
f6df438
Compare
kdaviduik
force-pushed
the
typescript-migration-part-4
branch
from
March 15, 2026 02:39
6ff31cb to
6b5888f
Compare
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 22, 2026 16:12
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 22, 2026 16:13
f6df438 to
daa1b0f
Compare
kdaviduik
force-pushed
the
graphite-base/950
branch
from
April 22, 2026 16:13
6b5888f to
e0d9dc1
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 22, 2026 16:13
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 22, 2026 16:39
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 22, 2026 17:53
daa1b0f to
4434486
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 22, 2026 17:53
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 22, 2026 18:11
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 22, 2026 18:12
4434486 to
3fd13d8
Compare
kdaviduik
force-pushed
the
graphite-base/950
branch
from
April 22, 2026 18:12
79201be to
2b06723
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 22, 2026 18:12
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 22, 2026 20:22
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 22, 2026 20:23
3fd13d8 to
f661cd2
Compare
kdaviduik
force-pushed
the
graphite-base/950
branch
from
April 22, 2026 20:23
2b06723 to
d143dbb
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 22, 2026 20:23
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 22, 2026 20:41
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 22, 2026 20:41
f661cd2 to
74fdc96
Compare
kdaviduik
force-pushed
the
graphite-base/950
branch
from
April 22, 2026 20:41
d143dbb to
feb047f
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 22, 2026 20:41
kdaviduik
changed the base branch from
typescript-migration-part-4
to
graphite-base/950
April 23, 2026 15:30
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>
kdaviduik
force-pushed
the
typescript-migration-part-5
branch
from
April 23, 2026 15:31
74fdc96 to
2259b4f
Compare
kdaviduik
force-pushed
the
graphite-base/950
branch
from
April 23, 2026 15:31
feb047f to
24d3912
Compare
kdaviduik
changed the base branch from
graphite-base/950
to
typescript-migration-part-4
April 23, 2026 15:31
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.