You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
rollup/commonjs plugin sometimes fails to detect circular dependency #1425
All modules with circular dependencies should be wrapped in a "require wrapper".
Actual Behavior
The CommonJS plugin in rollup has a bug where it sometimes fails to detect a
circular dependency. The issue that this call to isCyclic
happens before the dependency graph is fully built and so loadModule(resolved) might be skipped while it shouldn't be.
And then getTypeForFullyAnalyzedModule here
is called before the module is indeed fully analyzed. Then the module doesn't
get a "require wrapper" while it does need one.
There are indeed some problematic edge cases in the logic. Even worse, it can be that depending on race conditions in the module resolution, the output can become non-deterministic with regard to which modules are wrapped.
For that reason (and because the logic is really complicated) I am considering removing that logic again and instead to make strictRequires: true the default, with the option to manually opt out of this behavior for some or all modules.
Hey folks. This issue hasn't received any traction for 60 days, so we're going to close this for housekeeping. If this is still an ongoing issue, please do consider contributing a Pull Request to resolve it. Further discussion is always welcome even with the issue closed. If anything actionable is posted in the comments, we'll consider reopening it. ⓘ
Hey folks. This issue hasn't received any traction for 60 days, so we're going to close this for housekeeping. If this is still an ongoing issue, please do consider contributing a Pull Request to resolve it. Further discussion is always welcome even with the issue closed. If anything actionable is posted in the comments, we'll consider reopening it. ⓘ
Activity
bump agent-js to 0.15.4 (#2033)
lukastaegert commentedon Mar 13, 2023
There are indeed some problematic edge cases in the logic. Even worse, it can be that depending on race conditions in the module resolution, the output can become non-deterministic with regard to which modules are wrapped.
For that reason (and because the logic is really complicated) I am considering removing that logic again and instead to make
strictRequires: truethe default, with the option to manually opt out of this behavior for some or all modules.dskloetd commentedon Mar 13, 2023
Non-deterministic builds is indeed how I discovered the issue in the first place.
Potential work-around for Rollup cyclic dependency bug (#2332)
stale commentedon May 22, 2023
Hey folks. This issue hasn't received any traction for 60 days, so we're going to close this for housekeeping. If this is still an ongoing issue, please do consider contributing a Pull Request to resolve it. Further discussion is always welcome even with the issue closed. If anything actionable is posted in the comments, we'll consider reopening it. ⓘ
dskloetd commentedon May 22, 2023
disappointing
stale commentedon Aug 12, 2023
Hey folks. This issue hasn't received any traction for 60 days, so we're going to close this for housekeeping. If this is still an ongoing issue, please do consider contributing a Pull Request to resolve it. Further discussion is always welcome even with the issue closed. If anything actionable is posted in the comments, we'll consider reopening it. ⓘ
[ci] Reduce non-deterministic builds for eslint-plugin-react-hooks
[ci] Reduce non-deterministic builds for eslint-plugin-react-hooks (#…
[ci] Reduce non-deterministic builds for eslint-plugin-react-hooks (#…
[ci] Reduce non-deterministic builds for eslint-plugin-react-hooks (r…