ts-node

TypeScript execution engine and REPL for Node.js that runs .ts files directly, without a separate compile step.

Tool
npm
v10.9.2
13,117 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
52 /100 Fair
Development Activity 0
Maintenance 44
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
86 /100 Excellent
Architecture 80
Code Quality 88
Innovation 82
Learning Curve 95

ts-node is a TypeScript execution engine and REPL for Node.js. It hooks into Node’s module loading system (CommonJS require and the native ESM loader) so .ts, .mts, and .cts files are compiled on the fly during import instead of requiring a separate tsc build step, while @cspotcode/source-map-support rewrites stack traces back to the original TypeScript source lines.

It supports both fully typechecked and transpile-only execution modes, can delegate compilation to third-party transpilers like SWC for faster builds on large codebases, and ships CLI binaries (ts-node, ts-node-esm, ts-node-cwd, ts-node-transpile-only) alongside a programmatic register() API that other tools embed to add TypeScript support to their own runtimes.

What You Get

  • Zero-config ts-node script.ts execution that reads the nearest tsconfig.json automatically
  • An interactive TypeScript REPL with support for awaiting top-level expressions
  • CommonJS and native ESM loader hooks (--esm, ts-node-esm) for both module systems
  • Pluggable transpiler support (SWC) for faster, typecheck-free builds
  • A programmatic register() API for embedding TypeScript support into other tools (Mocha, AVA, Gulp)

Common Use Cases

  • Running TypeScript scripts and CLIs without a separate compile step
  • Powering test runners (Mocha, AVA, Tape) that need on-the-fly TypeScript support
  • Local development workflows paired with a watch/restart tool like nodemon
  • REPL-driven prototyping of TypeScript snippets

Under The Hood

Architecture

The CLI entry points (bin.ts, bin-esm.ts, bin-cwd.ts, bin-transpile.ts) delegate to a register() function in index.ts that builds a Service object encapsulating compiler state; module-loading hooks in cjs-resolve-hooks.ts and esm.ts monkey-patch Node’s Module._extensions and the experimental ESM loader to intercept TypeScript files, while resolver-functions.ts, node-resolver-functions.ts, and file-extensions.ts centralize path and extension resolution. configuration.ts reads tsconfig.json and instantiates either the real TypeScript compiler or a pluggable transpiler through a shared Transpiler interface (transpilers/types), and dist-raw/ vendors small chunks of Node’s own internal module-loading source so ts-node stays compatible across Node versions without reimplementing them from scratch. Dependency injection happens via factory functions that close over shared service state rather than a container. If the core Transpiler abstraction changed shape, both the default TypeScript path and the SWC path would need to move together.

Tech Stack

Written entirely in TypeScript, built with tsc into dist/. Runtime dependencies are deliberately minimal: @cspotcode/source-map-support for stack-trace remapping, arg for CLI parsing, make-error for a typed TSError base class, acorn/acorn-walk for detecting top-level await in the REPL, and v8-compile-cache-lib for caching compiled output. typescript, @swc/core/@swc/wasm, and @types/node are peer dependencies rather than bundled, letting consumers control their own compiler version. Tooling includes Yarn workspaces, api-extractor for public API surface reports, dprint for formatting/linting, and a justfile for common tasks; CI runs via GitHub Actions across multiple Node and TypeScript version combinations plus a dedicated workflow that installs the package straight from git.

Code Quality

Tests live in src/test/*.spec.ts (22 spec files) run through AVA, with nyc producing coverage reports uploaded to Codecov, and a dedicated test-style-guide.md documenting conventions for writing new tests. Errors are typed through a TSError/BaseError hierarchy rather than thrown as bare strings, and the codebase carries a notably high ratio of explanatory comments and TSDoc annotations relative to its size. Formatting and style are enforced by dprint check in CI, and api-extractor guards against unintentional public API changes.

API Design Getting started requires only installing the package and running ts-node file.ts — no configuration file is mandatory, and existing tsconfig.json settings are picked up automatically. Bin aliases (ts-node-esm, ts-node-cwd, ts-node-transpile-only) mirror their corresponding CLI flags one-to-one, keeping the surface predictable, and opt-in complexity (custom compilers, transpile-only mode, module-type overrides) is exposed through clearly named, independently documented options rather than one large configuration blob. Documentation is unusually thorough for a dev-tool package: a generated README plus a separate Docusaurus site under website/docs covering configuration, performance, troubleshooting, and recipes for third-party tool integration.

Used by 122 apps in this directory

TypeScript
62%
Other

Flowise

AI Development · Automation · Developer Tools

55,521

Drag-and-drop visual builder for AI agents, RAG pipelines, and multi-agent systems—deploy anywhere in minutes.

View details
75
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 62%
JavaScript 27%
Updated 2 months ago
TypeScript
54%
Other

Focalboard

Collaboration · Productivity · Project Management

26,522

Self-hosted, open source project management with Kanban, table, gallery, and calendar views — a privacy-first alternative to Trello, Notion, and Asana.

View details
56
Repo Health
82
Technical
64
Dependency
Built with
TypeScript 54%
Go 40%
Updated 5 months ago
TypeScript
54%
MIT

FormBee

Forms Surveys

769

A self-hostable form backend that accepts HTML form submissions and routes them to email, Telegram, Discord, webhooks, and automation platforms — without writing any server-side code.

View details
41
Repo Health
48
Technical
70
Dependency
Built with
TypeScript 54%
SCSS 25%
HTML 19%
Updated 1 months ago
TypeScript
58%
AGPL 3.0

Frappe Books

Invoicing Finance

5,003

Offline desktop accounting with double-entry, POS, and custom invoice templates

View details
88
Repo Health
77
Technical
72
Dependency
Built with
TypeScript 58%
Vue 39%
Updated 4 weeks ago
TypeScript
92%
MIT

GB Studio

Design Tools · Developer Tools · Game Development

9,434

Drag-and-drop retro Game Boy game creator that compiles real ROMs — no coding required.

View details
88
Repo Health
83
Technical
72
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
79%
AGPL 3.0

Ghostfolio

Invoicing Finance

9,565

Track your stocks, ETFs, and crypto with a privacy-first, self-hostable wealth management platform built for data-driven investors.

View details
93
Repo Health
79
Technical
67
Dependency
Built with
TypeScript 79%
HTML 19%
Updated 1 weeks ago
Rust
68%
Other

GitButler

AI Development · Developer Tools · Devops

21,841

Git, but better — a modern version control client with stacked branches, parallel workflows, unlimited undo, and first-class support for AI-powered development.

View details
89
Repo Health
84
Technical
66
Dependency
Built with
Rust 68%
TypeScript 20%
Updated 6 days ago
TypeScript
47%
AGPL 3.0

Grafana

Analytics · Monitoring

77,469

The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.

View details
95
Repo Health
91
Technical
63
Dependency
Built with
TypeScript 47%
Go 47%
Updated 6 days ago
TypeScript
83%
Apache 2.0

Grist

Databases · No Code Platforms

11,991

A modern relational spreadsheet that combines Python-powered formulas, drag-and-drop dashboards, and granular access controls in a self-hostable, SQLite-backed data platform.

View details
91
Repo Health
93
Technical
63
Dependency
Built with
TypeScript 83%
Python 11%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers