{
  "id": 9141267,
  "title": "Node 24 Runs TypeScript With No Build Step. Here's What It Won't Do.",
  "url": "https://urgent.news/2026/09/22/node-24-runs-typescript-with-no-build-step-heres-what-it-wont-do",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-22T12:40:28.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/jgomezdev/node-24-runs-typescript-with-no-build-step-heres-what-it-wont-do-987"
  },
  "original_language": "en",
  "account": "Node 24 allows running TypeScript code without a build step, eliminating the need for flags, loaders, or a \"dist/\" folder. The TypeScript annotations are replaced with equivalent blank spaces in the output, preserving the original character length. Node 24 reads the TypeScript code, strips away the type information, and executes the remaining JavaScript. This mechanism is achieved through the Amaro wrapper, which compiles TypeScript to WebAssembly and hands the result to V8. However, this zero-build approach has limitations:\n\n1. Node does not read the tsconfig.json file, ignoring settings like paths, experimentalDecorators, and target.\n2. There is no type checking performed, and no validation or resolution of TypeScript files occurs.\n3. Node cannot generate code, so features requiring JavaScript emission are not possible.",
  "summary": "Node 24 Runs TypeScript With No Build Step. Here's What It Won't Do. node server.ts works. No flag, no loader, no tsx , no dist/ folder. Node 24 reads the TypeScript, throws the types away, and runs what is left. The flag everybody still types — --experimental-strip-types — has been unnecessary since Node 23.6, and on 24 you can pass it or leave it off and get byte-identical output. I typed it…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}