dillon1000/react

Commit

ESLint upgrade to use hermes-eslint (#25915)

Hermes parser is the preferred parser for Flow code going forward. We
need to upgrade to this parser to support new Flow syntax like function
`this` context type annotations or `ObjectType['prop']` syntax.

Unfortunately, there's quite a few upgrades here to make it work somehow
(dependencies between the changes)

- ~Upgrade `eslint` to `8.*`~ reverted this as the React eslint plugin
tests depend on the older version and there's a [yarn
bug](https://github.com/yarnpkg/yarn/issues/6285) that prevents
`devDependencies` and `peerDependencies` to different versions.
- Remove `eslint-config-fbjs` preset dependency and inline the rules,
imho this makes it a lot clearer what the rules are.
- Remove the turned off `jsx-a11y/*` rules and it's dependency instead
of inlining those from the `fbjs` config.
- Update parser and dependency from `babel-eslint` to `hermes-eslint`.
- `ft-flow/no-unused-expressions` rule replaces `no-unused-expressions`
which now allows standalone type asserts, e.g. `(foo: number);`
- Bunch of globals added to the eslint config
- Disabled `no-redeclare`, seems like the eslint upgrade started making
this more precise and warn against re-defined globals like
`__EXPERIMENTAL__` (in rollup scripts) or `fetch` (when importing fetch
from node-fetch).
- Minor lint fixes like duplicate keys in objects.
Browse files
Changed paths36 files
First-parent comparison
M .eslintrc.js ModifiedM package.json ModifiedM packages/eslint-plugin-react-hooks/package.json ModifiedM packages/react-art/src/ReactARTHostConfig.js ModifiedM packages/react-client/src/forks/ReactFlightClientHostConfig.custom.js ModifiedM packages/react-devtools-extensions/flow-typed/jest.js ModifiedM packages/react-devtools-extensions/flow-typed/npm/react-test-renderer_v16.x.x.js ModifiedM packages/react-devtools-shared/src/__tests__/profilerChangeDescriptions-test.js ModifiedM packages/react-devtools-shared/src/__tests__/profilingHostRoot-test.js ModifiedM packages/react-devtools-shell/src/e2e/devtools.js ModifiedM packages/react-devtools-shell/src/multi/devtools.js ModifiedM packages/react-devtools-shell/src/multi/left.js ModifiedM packages/react-devtools-shell/src/multi/right.js ModifiedM packages/react-devtools-timeline/src/import-worker/importFile.js ModifiedM packages/react-dom-bindings/src/client/ReactDOMSelection.js ModifiedM packages/react-dom/src/test-utils/ReactTestUtils.js ModifiedM packages/react-native-renderer/fabric.js ModifiedM packages/react-native-renderer/index.js ModifiedM packages/react-native-renderer/src/ReactFabricHostConfig.js ModifiedM packages/react-native-renderer/src/ReactNativeFiberHostComponent.js ModifiedM packages/react-native-renderer/src/__tests__/ResponderEventPlugin-test.internal.js ModifiedM packages/react-reconciler/src/ReactFiberCacheComponent.js ModifiedM packages/react-reconciler/src/ReactFiberWorkLoop.js ModifiedM packages/react-reconciler/src/ReactInternalTypes.js ModifiedM packages/react-server/src/ReactFlightServerBundlerConfigCustom.js ModifiedM packages/scheduler/npm/umd/scheduler.development.js ModifiedM packages/scheduler/npm/umd/scheduler.production.min.js ModifiedM packages/scheduler/npm/umd/scheduler.profiling.min.js ModifiedM scripts/flow/react-devtools.js ModifiedM scripts/rollup/validate/eslintrc.cjs.js ModifiedM scripts/rollup/validate/eslintrc.cjs2015.js ModifiedM scripts/rollup/validate/eslintrc.esm.js ModifiedM scripts/rollup/validate/eslintrc.fb.js ModifiedM scripts/rollup/validate/eslintrc.rn.js ModifiedM scripts/rollup/validate/eslintrc.umd.js ModifiedM yarn.lock Modified
Patch

Files changed

Rendering syntax-highlighted changes…