Lab 14: tsconfig Advanced
Step 1: Setup
docker run -it --rm node:20-alpine sh
npm install -g typescript ts-node
mkdir /lab14 && cd /lab14Step 2: target, lib, module
{
"compilerOptions": {
// target: which JS version to emit
// ES5 = IE11 compat, ES2020 = modern Node/browser
"target": "ES2020",
// lib: which built-in APIs TypeScript knows about
// Defaults to match target, but you can override
"lib": ["ES2020", "DOM", "DOM.Iterable"],
// For Node.js only (no DOM):
// "lib": ["ES2020"],
// module: module format for output
// "commonjs" = require/module.exports (Node.js, ts-node)
// "ESNext" = import/export (bundlers, browser)
// "NodeNext" = Node.js ESM with .js extensions
"module": "commonjs",
// moduleResolution: how to resolve imports
// "node" = classic Node.js algorithm (recommended for ts-node)
// "bundler" = bundler-friendly (TS 5.0+)
// "NodeNext"= matches Node.js ESM
"moduleResolution": "node"
}
}Step 3: Strict Flags Explained
Step 4: noUncheckedIndexedAccess
Step 5: exactOptionalPropertyTypes
Step 6: Project References
Step 7: Incremental Builds
Step 8: Capstone — Show Config
Summary
Option
Description
Recommended
Last updated
