Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add --skipLibCheck compiler option #8735

Closed
wants to merge 2 commits into from
Closed

Add --skipLibCheck compiler option #8735

wants to merge 2 commits into from

Conversation

ahejlsberg
Copy link
Member

@ahejlsberg ahejlsberg commented May 22, 2016

This PR 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.

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.

Fixes #8521. Compile times for the example given in this issue are reduced 5x.

@DanielRosenwasser
Copy link
Member

👍

2 similar comments
@mhegazy
Copy link
Contributor

mhegazy commented May 23, 2016

👍

@vladima
Copy link
Contributor

vladima commented May 23, 2016

👍

}
// If skipLibCheck is enabled, skip type checking if file is a declaration file.
// If skipDefaultLibCheck is enabled, skip type checking if file contains a
// '/// <reference no-default-lib="true"/>' directive.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious why we would skip for noDefaultLib. Is this to support just test harnesses or actual user code? 🌹

@microsoft microsoft locked and limited conversation to collaborators Jun 19, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
6 participants