8000 GitHub - tangdaoyuan/tsx: Node.js runtime enhanced with esbuild for loading TypeScript & ESM
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

tangdaoyuan/tsx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tsx

Node.js enhanced with esbuild to run TypeScript & ESM

Features

  • Blazing fast on-demand TypeScript & ESM compilation
  • Works in both CommonJS and ESM packages
  • Supports next-gen TypeScript extensions (.cts & .mts)
  • Supports node: import prefixes
  • Hides experimental feature warnings
  • TypeScript REPL
  • Tested on Linux & Windows with Node.js v12~18

Install

npm install --save-dev tsx

Install globally

Install it globally to use it anywhere, outside of your npm project, without npx.

npm install --global tsx

Usage

Note: Commands are prefixed with npx to execute the tsx binary, but it's not necessary if globally installed or when using it in the script object in package.json

Run TypeScript / ESM / CJS module

Pass in a file to run:

npx tsx ./file.ts

Watch mode

Run file and automatically re-run on changes.

All imported files are watched except from the following directories: node_modules, bower_components, vendor, dist, and .* (hidden directories).

Press Return to manually re-run.

npx tsx watch ./file.ts

REPL

Start a TypeScript REPL by running tsx with no arguments.

npx tsx

Cache

Modules transformations are cached in the system cache directory (TMPDIR). Transforms are cached by content hash so duplicate dependencies are not re-transformed.

Set the --no-cache flag to disable the cache:

npx tsx --no-cache ./file.ts

Dependencies

FAQ

Does it do type-checking?

No, esbuild does not support type checking.

It's recommended to run TypeScript separately as a command (tsc --noEmit) or via IDE IntelliSense.

How is tsx different from ts-node?

They are both tools to run TypeScript files.

The main difference is that tsx is powered by esbuild for blazing fast TypeScript compilation. Whereas ts-node uses the TypeScript compiler, which is not as fast.

Because esbuild doesn't do type checking, tsx is more equivalent to ts-node --transpileOnly.

If you migrated from ts-node, please share your performance gains here!

About

Node.js runtime enhanced with esbuild for loading TypeScript & ESM

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%
0