title: Usage of the TypeScript compiler argument 'skipLibCheck'
body: <p>I've been researching around for a further explanation into the <em>skipLibCheck</em> TypeScript compiler argument to determine the safety of having this set to <strong>true</strong>. The most in-depth explanation I found is the following:</p>
  
  <blockquote>
    <p>New --skipLibCheck
    TypeScript 2.0 adds a new --skipLibCheck compiler option that causes type checking of declaration files (files with extension .d.ts) to be skipped. When a program includes large declaration files, the compiler spends a lot of time type checking declarations that are already known to not contain errors, and compile times may be significantly shortened by skipping declaration file type checks.</p>
    
    <p>Since declarations in one file can affect type checking in other files, some errors may not be detected when --skipLibCheck is specified. For example, if a non-declaration file augments a type declared in a declaration file, errors may result that are only reported when the declaration file is checked. However, in practice such situations are rare.</p>
  </blockquote>
  
  <p>I understand that you obviously get a performance benefit from the compiler not having to type check files which are considered not to contain errors but I've seen this flag being used to get around errors being emitted from the compiler in relation to the declaration files having problems.</p>
  
  <p>Surely using this flag to get around this decreases the integrity of the typing of your application?</p>