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
87%
MIT

medusa

Ecommerce

36,897

The most flexible open-source commerce platform — build B2C, B2B, and marketplace applications with modular, composable commerce primitives.

View details
94
Repo Health
87
Technical
63
Dependency
Built with
TypeScript 87%
JavaScript 12%
Updated 1 weeks ago
TypeScript
95%
MIT

melty

AI Code Assistants · Code Editors · Developer Tools

5,462

The AI code editor where every chat message is a git commit you can revert, branch, or squash

View details
35
Repo Health
75
Technical
67
Dependency
Built with
TypeScript 95%
Updated 1 years ago
C++
66%
Other

Memgraph

AI Development · Databases

4,628

High-performance in-memory graph database for AI context and real-time analytics

View details
90
Repo Health
79
Technical
66
Dependency
Built with
C++ 66%
Python 18%
Updated 6 days ago
TypeScript
92%
Other

n8n

Automation · No Code Platforms

208,437

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
62
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
97%
Other

nango

Authentication · Automation · Developer Tools

12,963

Build product integrations with AI using 800+ APIs — auth, proxy, and TypeScript functions on production-grade infrastructure.

View details
94
Repo Health
85
Technical
67
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
94%
Apache 2.0

Nanobrowser

AI Assistants · Automation · Productivity

14,163

Open-source Chrome extension for AI-powered web automation — run multi-agent browser workflows locally using your own LLM API keys, free from cloud subscriptions.

View details
80
Repo Health
66
Technical
72
Dependency
Built with
TypeScript 94%
Updated 2 weeks ago
TypeScript
99%
Other

NocoBase

Low Code Platforms · No Code Platforms

24,686

Open-source AI + no-code platform that lets coding agents and people collaborate to build business systems fast on proven infrastructure.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
TypeScript 99%
Updated 6 days ago
TypeScript
85%
GPL 3.0

Notesnook

File Storage · Note Taking · Security

14,822

End-to-end encrypted, open-source note-taking where your data stays yours — even from the server.

View details
91
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 85%
JavaScript 12%
Updated 6 days ago
TypeScript
98%
Other

Novu

Developer Tools

40,195

Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.

View details
93
Repo Health
80
Technical
64
Dependency
Built with
TypeScript 98%
Updated 6 days 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