Node.js · Modules · Mid-Level · Comparison
How do circular dependencies behave in CJS vs ESM?
Short Interview Answer
CJS may get partial exports; ESM live bindings can still be in TDZ — both can surprise.
Detailed Explanation
Refactor to break cycles: extract shared types/utils, invert dependencies. Cycles are a design smell in large apps.