Skip to content

Remove eslint-config-react-app#203

Open
alexdunae wants to merge 4 commits into
mainfrom
alex/eslint-cra
Open

Remove eslint-config-react-app#203
alexdunae wants to merge 4 commits into
mainfrom
alex/eslint-cra

Conversation

@alexdunae
Copy link
Copy Markdown
Contributor

@alexdunae alexdunae commented May 15, 2026

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

alexdunae added 2 commits May 15, 2026 09:22
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
@alexdunae alexdunae changed the title Replace eslint-config-react-app Remove eslint-config-react-app May 15, 2026
@alexdunae alexdunae marked this pull request as ready for review May 15, 2026 16:37
Comment thread common/changes/@itwin/create-imodel-react/alex-eslint-cra_2026-05-15-16-23.json Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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-app and eslint-plugin-flowtype from 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.

@alexdunae alexdunae enabled auto-merge (squash) May 15, 2026 18:57
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.

4 participants