Built-in TypeScript
Run TypeScript directly while keeping execution and type checking explicit
Deno executes .ts and .tsx files directly, and its binary includes a type checker. You do not need typescript, ts-node, or tsx just to start a project.
deno run main.ts # execute
deno check main.ts # static type check
deno test --check # test and check the test module graph
Configuration rule
Deno-first projects usually keep a small set of TypeScript options in deno.json:
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true
}
}
An existing Node project's tsconfig.json can still be read. When deno.json also contains compilerOptions, it takes precedence. Emit settings do not apply because Deno does not use the checker to write JavaScript output.
Web, worker, and DOM types
The default type environment targets the Deno runtime and does not include browser document. Configure lib explicitly for shared browser code instead of hiding environment differences with global declarations.
Official references: TypeScript support and Configuring TypeScript.