title: How to use project references in TypeScript 3.0?
body: <p>There is this new feature in TypeScript 3.0 called <a href="http://www.typescriptlang.org/docs/handbook/project-references.html" rel="noreferrer">Project References</a>. It suggests better interaction of <code>*.ts</code> modules between themselves. Unfortunately, this is all I could get from the official documentation  although it seems to be written pretty clearly and straightforward.</p>
  
  <p>Can anyone help me understand exactly, what problems does it solve, how does it do that, and how would I benefit from it? I have a project with a similar structure, so it might (or might not) be very helpful for it. Thank you in advance!</p>
  
  <hr>
  
  <p>UPD: The project structure is roughly:</p>
  
  <pre class="lang-yaml prettyprint-override"><code>project/
      lib/
          index.ts # defines the original code
      test/
          index.spec.ts # requires lib/index.ts
      package.json
      tsconfig.json
  </code></pre>