What does the tsconfig option "lib" do?

Typescript

Typescript Problem Overview


I have an existing project that has this line in tsconfig.json:

lib:["2016", "DOM"]

What is the purpose of this?

The only info I could find is this:

> Specify library file to be included in the compilation. Requires > TypeScript version 2.0 or later.

What does that mean?

Typescript Solutions


Solution 1 - Typescript

This is a new typescript 2 feature and so it still lacks documentation, but you can read about it in the What's new in Typescript 2.0:

> with --lib you can specify a list of built-in API declaration groups > that you can chose to include in your project. For instance, if you > expect your runtime to have support for Map, Set and Promise (e.g. > most evergreen browsers today), just include --lib > es2015.collection,es2015.promise. Similarly you can exclude > declarations you do not want to include in your project, e.g. DOM if > you are working on a node project using --lib es5,es6.

There's also a list of the API groups that are supported and a very short example in that link.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGreg GumView Question on Stackoverflow
Solution 1 - TypescriptNitzan TomerView Answer on Stackoverflow