How it works
The generator starts from the checked config on the project shape's quick-start page, for example the Node.js ES modules setup, then applies the strictness level and the options you pick. It works from the choices on this page and does not read your files.
Every combination it can produce is parsed by TypeScript 5.9 in this site's tests, and its tsc --init line is run through
TypeScript's own init code to confirm it writes the same compiler options.
The three levels
- Relaxed. Checks what TypeScript can infer; untyped parameters stay allowed. A first step for an existing codebase.
- Recommended. strict on: a parameter TypeScript cannot infer needs a type, and null and undefined are checked. The setting for new code.
- Strict. strict plus checked index access, exact optional properties, and no missing returns or switch fall-through.
Not sure? Start with recommended on new code. On an existing codebase, start relaxed, fix what it finds, then move up; checkJs explains the order.