Today I learned what tsc --watch is really for. You put it into your package.json as a script.

// package.json
{
  "scripts": {
    "watch": "tsc --watch"
  }
}

This lets us to build a TypeScript project on write:

npm run watch

With every change, we get a new dist/index.js. This an essential tool for quickly developing a TypeScript Node module.

See tsc --help for more info.