generated at
tsconfigのlib
使用したいPolyfillを指定する
tsconfigのtargetで指定したtargetに使いたい機能が含まれていない、でも使いたい、という時にlibを指定する
tsconfigのtargetを指定すると、そのtargetで使われているlibraryは既に追加されている状態になる



何を指定すればよいのか


TypeScript v4.5から楽にできるようになった
dependenciesに追記すれば、その名前の標準 lib を上書きできる
例えば、以下のように書けば、標準の dom ではなく、 @types/web が読み込まれる
tsconfig.json
{ lib: ["dom"] }
package.json
{ "dependencies": { "@typescript/lib-dom": "npm:@types/web" } }
lib のversion管理もこの方法でできる









以下の2通りのいずれかで指定する必要がある
と、ここに書いているが、公式には書いていないので本当なのかどうかわからん #??
一つも指定しない
tsconfig.json
{ "compilerOptions": { "target": "es2018" // "lib": [] } }
2つ以上指定する
tsconfig.json
{ "compilerOptions": { "target": "es2018", "lib": [ "es2018", "esnext.AsyncIterable", "esnext.Array", "esnext.Intl", "esnext.Symbol" ] } }
targetと同じものをlibでも指定する必要があるらしい