Remove eslint-config-react-app#203
Open
alexdunae wants to merge 4 commits into
Open
Conversation
It is pinned to @typescript-eslint/parser 5.x and blocks us from upgrading Typescript. The whole CRA project is deprecated anyways https://github.com/react/create-react-app/blob/main/packages/eslint-config-react-app/package.json We also remove eslint-plugin-flowtype since we don't use Flow at all
williamkbentley
approved these changes
May 15, 2026
aruniverse
reviewed
May 15, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes direct eslint-config-react-app and Flow lint dependencies, replacing the shared TypeScript ESLint base config’s CRA extension with explicit equivalent rules so TypeScript upgrades are less constrained.
Changes:
- Removed
eslint-config-react-appandeslint-plugin-flowtypefrom package dev dependencies and the Rush pnpm lockfile. - Added explicit React, React Hooks, import, accessibility, JavaScript, and TypeScript lint rules to the shared ESLint base config.
- Added change files for published React module packages.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
common/scripts/.eslintrc.ts.base.json |
Replaces the CRA ESLint extension with explicit plugin entries and lint rules. |
common/scripts/package.json |
Removes direct CRA/Flow lint dependencies from shared scripts. |
common/config/rush/pnpm-lock.yaml |
Updates locked dependencies after removing direct CRA/Flow lint packages. |
packages/apps/storybook/package.json |
Removes direct CRA/Flow lint dependencies from Storybook app dev dependencies. |
packages/modules/create-imodel/package.json |
Removes direct CRA/Flow lint dependencies. |
packages/modules/delete-imodel/package.json |
Removes direct CRA/Flow lint dependencies. |
packages/modules/delete-itwin/package.json |
Removes direct CRA/Flow lint dependencies. |
packages/modules/imodel-browser/package.json |
Removes direct CRA/Flow lint dependencies. |
packages/modules/manage-versions/package.json |
Removes direct CRA/Flow lint dependencies. |
packages/modules/storybook-auth-addon/package.json |
Removes direct CRA/Flow lint dependencies. |
common/changes/@itwin/create-imodel-react/alex-eslint-cra_2026-05-15-16-23.json |
Adds a patch change entry for the package. |
common/changes/@itwin/delete-imodel-react/alex-eslint-cra_2026-05-15-16-23.json |
Adds a patch change entry for the package. |
common/changes/@itwin/delete-itwin-react/alex-eslint-cra_2026-05-15-16-23.json |
Adds a patch change entry for the package. |
common/changes/@itwin/imodel-browser-react/alex-eslint-cra_2026-05-15-16-23.json |
Adds a patch change entry for the package. |
common/changes/@itwin/manage-versions-react/alex-eslint-cra_2026-05-15-16-23.json |
Adds a patch change entry for the package. |
Files not reviewed (1)
- common/config/rush/pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
aruniverse
approved these changes
May 15, 2026
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.
It is pinned to @typescript-eslint/parser 5.x and blocks us from upgrading Typescript (which I'm hoping to do in #202).
The whole CRA project is deprecated anyways
https://github.com/react/create-react-app/blob/main/packages/eslint-config-react-app/package.json
We also remove eslint-plugin-flowtype since we don't use Flow at all
I copied in the rules from CRA with a few exceptions...
Already in
plugin:react/recommended...react/jsx-no-comment-textnodes, react/jsx-no-duplicate-props, react/jsx-no-target-blank, react/jsx-no-undef, react/no-danger-with-children, react/no-direct-mutation-state, react/no-is-mounted, react/require-render-return
Handled by Typescript...
no-const-assign, no-dupe-args, no-dupe-class-members, no-dupe-keys, no-func-assign, no-new-symbol, no-obj-calls, no-this-before-super, no-undef, no-unreachable, valid-typeof, getter-return
Handled by Prettier...
dot-location, no-mixed-operators, no-whitespace-before-property, rest-spread-spacing, unicode-bom
Specific to create-react-app
no-restricted-properties, no-restricted-globals