title: Define Typescript architecture rules
body: <p>I have an Angular project which uses the Nx framework.</p>
  <p>I have class APIService which is provided by a lib. I created WrapperService which is a wrapper class to APIService.</p>
  <pre><code>class APIService { 
    public void getOrders(): Order[]{
      //return all orders from API
    }
  }
  </code></pre>
  <pre><code>class WrapperService{ 
    constructor(private apiService : APIService ){}
  
    public void getOrders(): Order[]{
      const orders = this.apiService .getOrders()
     //modify and return result
    }
  }
  </code></pre>
  <p>I want to make sure everyone uses WrapperService instead of APIService in components.</p>
  <pre><code>class MyComponent{ 
    constructor(private wrapperService: WrapperService) //good
  }
  </code></pre>
  <pre><code>class MyComponent{ 
    constructor(private apiService : APIService ) //not recommanded
  }
  </code></pre>
  <p>Is there a way to fail compilation or do something to force this custom rule?</p>