title: Circular dependencies when importing sequelize
body: <p>I have an electron project where I have a set of class extending from an abstract class. The abstract class has an import of a sequelize instance and a model (not illustrated in the reproduction code below).</p>
  
  <p>When compiled, my electron app works fine. But in test, jest keeps returning the error </p>
  
  <pre><code> Class extends value undefined is not a constructor or null
  </code></pre>
  
  <p>From what I read, this is caused by circular dependencies. I've been commenting over and over code around, but I am unable to understand how to prevent/resolve this issue through test.</p>
  
  <p>reproduction code can be found here: <a href="https://github.com/jjoey87/jest-circular-dependencies" rel="nofollow noreferrer">https://github.com/jjoey87/jest-circular-dependencies</a></p>
  
  <p>Is there a better way to restructure my imports or an actual workaround to have this work under jest? I don't understand why it causes no issue when compiled via electron-webpack but throws under jest. I also observe if I were to comment the imported components under module B, this allows my test to run/pass.</p>
  
  <pre><code>import ModuleC from '@common/ModuleC'
  // import ComponentC from '@common/providers/ComponentC'
  // import ComponentD from '@common/providers/ComponentD'
  // import ComponentE from '@common/providers/ComponentE'
  // import ComponentF from '@common/providers/ComponentF'
  // import ComponentA from '@common/providers/ComponentA'
  // import ComponentB from '@common/providers/ComponentB'
  
  const providers = [
    // ComponentC,
    // ComponentD,
    // ComponentE,
    // ComponentF,
    // ComponentA,
    // ComponentB
  ]
  </code></pre>
  
  <p>Similarly, if I comment the import of sequelize from the Abstract class, it allows my test to pass</p>