/ts-node

TypeScript execution environment for node

Primary LanguageTypeScriptMIT LicenseMIT

TypeScript Node

NPM version NPM downloads Build status Test coverage

TypeScript execution environment and REPL for node. Works with typescript@>=1.5.

Installation

npm install -g ts-node

# Install a TypeScript compiler (requires `typescript` by default).
npm install -g typescript

Features

  • Execute TypeScript files with node
  • Interactive REPL
  • Execute (and print) TypeScript through the CLI
  • Uses source maps
  • Loads from tsconfig.json

Usage

# Execute a script as you world normally with `node`.
ts-node script.ts

# Starts the TypeScript REPL.
ts-node

# Execute code with TypeScript.
ts-node -e 'console.log("Hello, world!")'

# Execute, and print, code with TypeScript.
ts-node -p '"Hello, world!"'

# Pipe scripts to execute with TypeScript.
echo "console.log('Hello, world!')" | ts-node

TypeScript REPL

Mocha

mocha --compilers ts:ts-node/register --compilers tsx:ts-node/register [...args]

Tape

ts-node node_modules/tape/bin/tape [...args]

Gulp

# Just create a `gulpfile.ts` and run `gulp`.
gulp

Loading tsconfig.json

Typescript Node uses tsconfig.json automatically, use -n to skip loading tsconfig.json.

Configuration Options

You can set options by passing them in before the script.

ts-node --compiler ntypescript --project src --ignoreWarnings 2304 hello-world.ts
  • --project, -P Path to resolve tsconfig.json from (or false) (also process.env.TS_NODE_PROJECT)
  • --compiler, -C Use a custom, require-able TypeScript compiler compatible with typescript@>=1.5.0-alpha (also process.env.TS_NODE_COMPILER)
  • --ignoreWarnings, -I Set an array of TypeScript diagnostic codes to ignore (also process.env.TS_NODE_IGNORE_WARNINGS)
  • --disableWarnings, -D Ignore all TypeScript errors (also process.env.TS_NODE_DISABLE_WARNINGS)
  • --compilerOptions, -O Set compiler options using JSON (E.g. --compilerOptions '{"target":"es6"}') (also process.env.TS_NODE_COMPILER_OPTIONS)
  • --fast, -F Use TypeScript's transpileModule mode (no type checking, but faster compilation) (also process.env.TS_NODE_FAST)
  • --lazy, -L Lazily defer TypeScript initialization until first .ts file
  • --no-cache Skip hitting the compiled JavaScript cache
  • --cache-directory Configure the TypeScript cache directory

Programmatic Usage

require('ts-node').register({ /* options */ })

// Or using the shortcut file.
require('ts-node/register')

License

MIT