title: Can I safely ignore circular dependency warning when used in a decorator?
body: <p>I have two classes defined like this:</p>
  
  <pre><code>// src/app/my-mapper.ts
  export class MyMapper implements Mapper&lt;MyModel&gt; {
    public mapTo(source: any): MyModel {
      // map stuff...
    }
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>// src/app/my-model.ts
  @mappedBy(MyMapper)
  export class MyModel {
    // fields etc...
    public someFunction(): void {
      // stuff...
    }
  }
  </code></pre>
  
  <p>My code works (I use a <code>MapperWorker</code> to map plain JS objects to concrete objects, <code>MyModel</code> in this case), I can call <code>myModel.someFunction();</code></p>
  
  <p>However, I get the following warning when compiling:</p>
  
  <blockquote>
    <p>WARNING in Circular dependency detected: src/app/my-mapper.ts ->
    src/app/my-model.ts -> src/app/my-mapper.ts</p>
    
    <p>WARNING in Circular dependency detected: src/app/my-model.ts ->
    src/app/my-mapper.ts -> src/app/my-model.ts</p>
  </blockquote>
  
  <p>I don't know if my code is problematic or if this warning can safely be ignored, if it is safe to ignore then what's the best way of suppressing it?</p>
  
  <p>I'm not sure if the error is generated by the Typescript compiler or Angular CLI. Moving the classes to the same file (with the mapper first) gets rid of the warning, but I don't want to have to do that.</p>