tsx
Node.js runtime that can instantaneously load TypeScript & ESM, powered by esbuild.
Features
- Transforms TypeScript & ESM → to CJS or ESM (depending on package type)
- Supports TS extensions
.cjs & .mjs (.cts & .mts)
- Supports Node.js v12.20+
- Handles
node: import prefixes
- Hides experimental feature warnings
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
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
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