dillon1000/react
Commit
Browse files 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.
Changed paths36 files
First-parent comparison.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 ModifiedPatch
Files changed
Rendering syntax-highlighted changes…