-
Notifications
You must be signed in to change notification settings - Fork 50.4k
[eprh] Remove hermes-parser #34719
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
[eprh] Remove hermes-parser #34719
+12
−40
Conversation
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
We will be focusing eslint-plugin-react-hooks as the primary OSS-only package for our lint plugin. eslint-plugin-react-compiler will remain as a Meta only package as some limitations of our internal infra require us to use packages that aren't widely adopted by the rest of the industry. This PR removes `hermes-parser`, which was meant to support parsing Flow syntax.
|
Comparing: 85c427d...4de48af Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: (No significant changes) |
josephsavona
approved these changes
Oct 3, 2025
github-actions bot
pushed a commit
that referenced
this pull request
Oct 3, 2025
We will be focusing eslint-plugin-react-hooks as the primary OSS-only package for our lint plugin. eslint-plugin-react-compiler will remain as a Meta only package as some limitations of our internal infra require us to use packages that aren't widely adopted by the rest of the industry. This PR removes `hermes-parser`, which was meant to support parsing Flow syntax. DiffTrain build for [71753ac](71753ac)
github-actions bot
pushed a commit
that referenced
this pull request
Oct 3, 2025
We will be focusing eslint-plugin-react-hooks as the primary OSS-only package for our lint plugin. eslint-plugin-react-compiler will remain as a Meta only package as some limitations of our internal infra require us to use packages that aren't widely adopted by the rest of the industry. This PR removes `hermes-parser`, which was meant to support parsing Flow syntax. DiffTrain build for [71753ac](71753ac)
Contributor
|
Hi, just to be sure, does this change have any ramifications for projects using Flow? |
poteto
added a commit
that referenced
this pull request
Oct 6, 2025
Adds back HermesParser to eslint-plugin-react-hooks. There are still [external users of Flow](#34719 (comment)) using the plugin, so we shouldn't break the plugin for them. However, we still have the problem of double parsing: once from eslint (which we discard) and then another via babel/hermes parser. In the long run we should investigate a translation layer from estree to babel (or alternatively, update the compiler to take estree as input). For now I am reverting that PR. This does mean that [Sandpack in react.dev](https://github.com/reactjs/react.dev/blob/11cb6b591571caf5fa2a192117b6a6445c3f2027/src/components/MDX/Sandpack/runESLint.tsx#L31) cannot update to the latest eprh as HermesParser does not appear to be able to be run in a browser. I discovered this while trying to update eprh on react.dev last week, but didn't investigate deeply. I'll need to double check that again to find out more.
Member
Author
poteto
added a commit
that referenced
this pull request
Oct 6, 2025
Adds back HermesParser to eslint-plugin-react-hooks. There are still [external users of Flow](#34719 (comment)) using the plugin, so we shouldn't break the plugin for them. However, we still have the problem of double parsing: once from eslint (which we discard) and then another via babel/hermes parser. In the long run we should investigate a translation layer from estree to babel (or alternatively, update the compiler to take estree as input). But for now, I am reverting the PR. This does mean that [Sandpack in react.dev](https://github.com/reactjs/react.dev/blob/11cb6b591571caf5fa2a192117b6a6445c3f2027/src/components/MDX/Sandpack/runESLint.tsx#L31) cannot update to the latest eprh as HermesParser does not appear to be able to be run in a browser. I discovered this while trying to update eprh on react.dev last week, but didn't investigate deeply. I'll need to double check that again to find out more.
github-actions bot
pushed a commit
that referenced
this pull request
Oct 6, 2025
Adds back HermesParser to eslint-plugin-react-hooks. There are still [external users of Flow](#34719 (comment)) using the plugin, so we shouldn't break the plugin for them. However, we still have the problem of double parsing: once from eslint (which we discard) and then another via babel/hermes parser. In the long run we should investigate a translation layer from estree to babel (or alternatively, update the compiler to take estree as input). But for now, I am reverting the PR. This does mean that [Sandpack in react.dev](https://github.com/reactjs/react.dev/blob/11cb6b591571caf5fa2a192117b6a6445c3f2027/src/components/MDX/Sandpack/runESLint.tsx#L31) cannot update to the latest eprh as HermesParser does not appear to be able to be run in a browser. I discovered this while trying to update eprh on react.dev last week, but didn't investigate deeply. I'll need to double check that again to find out more. DiffTrain build for [b65e6fc](b65e6fc)
github-actions bot
pushed a commit
that referenced
this pull request
Oct 6, 2025
Adds back HermesParser to eslint-plugin-react-hooks. There are still [external users of Flow](#34719 (comment)) using the plugin, so we shouldn't break the plugin for them. However, we still have the problem of double parsing: once from eslint (which we discard) and then another via babel/hermes parser. In the long run we should investigate a translation layer from estree to babel (or alternatively, update the compiler to take estree as input). But for now, I am reverting the PR. This does mean that [Sandpack in react.dev](https://github.com/reactjs/react.dev/blob/11cb6b591571caf5fa2a192117b6a6445c3f2027/src/components/MDX/Sandpack/runESLint.tsx#L31) cannot update to the latest eprh as HermesParser does not appear to be able to be run in a browser. I discovered this while trying to update eprh on react.dev last week, but didn't investigate deeply. I'll need to double check that again to find out more. DiffTrain build for [b65e6fc](b65e6fc)
736-c41-2c1-e464fc974
added a commit
to Swiss-Armed-Forces/Loom
that referenced
this pull request
Jan 14, 2026
This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [eslint-plugin-react-hooks](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)) | devDependencies | major | [`^5.2.0` → `^6.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react-hooks/5.2.0/6.1.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) | --- ### Release Notes <details> <summary>facebook/react (eslint-plugin-react-hooks)</summary> ### [`v6.1.1`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#611) [Compare Source](facebook/react@8618113...a2329c1) **Note:** 6.1.0 accidentally allowed use of `recommended` without flat config, causing errors when used with ESLint v9's `defineConfig()` helper. This has been fixed in 6.1.1. - Fix `recommended` config for flat config compatibility. The `recommended` config has been converted to flat config format. Non-flat config users should use `recommended-legacy` instead. ([@​poteto](https://github.com/poteto) in [#​34700](facebook/react#34700)) - Add `recommended-latest` and `recommended-latest-legacy` configs that include React Compiler rules. ([@​poteto](https://github.com/poteto) in [#​34675](facebook/react#34675)) - Remove unused `NoUnusedOptOutDirectives` rule. ([@​poteto](https://github.com/poteto) in [#​34703](facebook/react#34703)) - Remove `hermes-parser` and dependency. ([@​poteto](https://github.com/poteto) in [#​34719](facebook/react#34719)) - Remove `@babel/plugin-proposal-private-methods` dependency. ([@​ArnaudBarre](https://github.com/ArnaudBarre) and [@​josephsavona](https://github.com/josephsavona) in [#​34715](facebook/react#34715)) - Update for Zod v3/v4 compatibility. ([@​kolian](https://github.com/kolvian) and [@​josephsavona](https://github.com/josephsavona) in [#​34717](facebook/react#34717)) ### [`v6.1.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#610) [Compare Source](facebook/react@fea92d8...8618113) **Note:** Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes. - **Breaking:** Require Node.js 18 or newer. ([@​michaelfaith](https://github.com/michaelfaith) in [#​32458](facebook/react#32458)) - **Breaking:** Flat config is now the default `recommended` preset. Legacy config moved to `recommended-legacy`. ([@​michaelfaith](https://github.com/michaelfaith) in [#​32457](facebook/react#32457)) - **New Violations:** Disallow calling `use` within try/catch blocks. ([@​poteto](https://github.com/poteto) in [#​34040](facebook/react#34040)) - **New Violations:** Disallow calling `useEffectEvent` functions in arbitrary closures. ([@​jbrown215](https://github.com/jbrown215) in [#​33544](facebook/react#33544)) - Handle `React.useEffect` in addition to `useEffect` in rules-of-hooks. ([@​Ayc0](https://github.com/Ayc0) in [#​34076](facebook/react#34076)) - Added `react-hooks` settings config option that to accept `additionalEffectHooks` that are used across exhaustive-deps and rules-of-hooks rules. ([@​jbrown215](https://github.com/jbrown215)) in [#​34497](facebook/react#34497) ### [`v6.0.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#600) [Compare Source](facebook/react@3607f48...fea92d8) Accidentally released. See 6.1.0 for the actual changes. </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!241 Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com> Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
736-c41-2c1-e464fc974
added a commit
to Swiss-Armed-Forces/Loom
that referenced
this pull request
Jan 14, 2026
chore(deps): update eslint-plugin-react-hooks (major) This MR contains the following updates: | Package | Type | Update | Change | OpenSSF | |---|---|---|---|---| | [eslint-plugin-react-hooks](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks)) | devDependencies | major | [`^5.2.0` → `^6.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react-hooks/5.2.0/6.1.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/facebook/react) | --- ### Release Notes <details> <summary>facebook/react (eslint-plugin-react-hooks)</summary> ### [`v6.1.1`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#611) [Compare Source](facebook/react@8618113...a2329c1) **Note:** 6.1.0 accidentally allowed use of `recommended` without flat config, causing errors when used with ESLint v9's `defineConfig()` helper. This has been fixed in 6.1.1. - Fix `recommended` config for flat config compatibility. The `recommended` config has been converted to flat config format. Non-flat config users should use `recommended-legacy` instead. ([@​poteto](https://github.com/poteto) in [#​34700](facebook/react#34700)) - Add `recommended-latest` and `recommended-latest-legacy` configs that include React Compiler rules. ([@​poteto](https://github.com/poteto) in [#​34675](facebook/react#34675)) - Remove unused `NoUnusedOptOutDirectives` rule. ([@​poteto](https://github.com/poteto) in [#​34703](facebook/react#34703)) - Remove `hermes-parser` and dependency. ([@​poteto](https://github.com/poteto) in [#​34719](facebook/react#34719)) - Remove `@babel/plugin-proposal-private-methods` dependency. ([@​ArnaudBarre](https://github.com/ArnaudBarre) and [@​josephsavona](https://github.com/josephsavona) in [#​34715](facebook/react#34715)) - Update for Zod v3/v4 compatibility. ([@​kolian](https://github.com/kolvian) and [@​josephsavona](https://github.com/josephsavona) in [#​34717](facebook/react#34717)) ### [`v6.1.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#610) [Compare Source](facebook/react@fea92d8...8618113) **Note:** Version 6.0.0 was mistakenly released and immediately deprecated and untagged on npm. This is the first official 6.x major release and includes breaking changes. - **Breaking:** Require Node.js 18 or newer. ([@​michaelfaith](https://github.com/michaelfaith) in [#​32458](facebook/react#32458)) - **Breaking:** Flat config is now the default `recommended` preset. Legacy config moved to `recommended-legacy`. ([@​michaelfaith](https://github.com/michaelfaith) in [#​32457](facebook/react#32457)) - **New Violations:** Disallow calling `use` within try/catch blocks. ([@​poteto](https://github.com/poteto) in [#​34040](facebook/react#34040)) - **New Violations:** Disallow calling `useEffectEvent` functions in arbitrary closures. ([@​jbrown215](https://github.com/jbrown215) in [#​33544](facebook/react#33544)) - Handle `React.useEffect` in addition to `useEffect` in rules-of-hooks. ([@​Ayc0](https://github.com/Ayc0) in [#​34076](facebook/react#34076)) - Added `react-hooks` settings config option that to accept `additionalEffectHooks` that are used across exhaustive-deps and rules-of-hooks rules. ([@​jbrown215](https://github.com/jbrown215)) in [#​34497](facebook/react#34497) ### [`v6.0.0`](https://github.com/facebook/react/blob/HEAD/packages/eslint-plugin-react-hooks/CHANGELOG.md#600) [Compare Source](facebook/react@3607f48...fea92d8) Accidentally released. See 6.1.0 for the actual changes. </details> --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=--> See merge request swiss-armed-forces/cyber-command/cea/loom!241 Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com> Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
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.
We will be focusing eslint-plugin-react-hooks as the primary OSS-only package for our lint plugin. eslint-plugin-react-compiler will remain as a Meta only package as some limitations of our internal infra require us to use packages that aren't widely adopted by the rest of the industry.
This PR removes
hermes-parser, which was meant to support parsing Flow syntax.