TypeScript in Real Projects
Vite, Next.js and Node, linting with typescript-eslint, tests and type tests, migrating a JavaScript codebase, sharing types with a back end, and monorepos.
Until now you wrote TypeScript in a single file. A real project has hundreds of files, a build tool, a linter, tests, a server and often several packages that share code. This phase shows how TypeScript fits into each of those, and which tool does which job.
The tools in this phase (Vite, Next.js, ESLint, Vitest, npm workspaces) can't run inside a single-file browser editor. So every topic has two kinds of examples: live ones that run the TypeScript idea behind the tool in one file, and terminal blocks with real output. Every terminal block was produced by running the tool on a small scratch project, with the versions named in the text. Versions move quickly: check them with npm view <package> version before you copy a command.
The thread through the phase is one rule: TypeScript checks, other tools build, lint and test, and each of them has to be told about TypeScript. Once you see which tool is responsible for what, a broken setup stops being mysterious.
Practise this phase
Hands-on exercises: write the code, see your page live, and press Check to have it tested automatically.