Socket
Book a DemoInstallSign in
Socket

tsx-fix

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tsx-fix

TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files

latest
Source
npmnpm
Version
0.0.5
Version published
Weekly downloads
6
20%
Maintainers
1
Weekly downloads
 
Created
Source

tsx

TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files

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

Local installation

If you're using it in an npm project, install it as a development dependency:

npm install --save-dev tsx

You can reference it directly in the package.json#scripts object:

{
    "scripts": {
        "dev": "tsx ..."
    }
}

To use the binary, you can call it with npx while in the project directory:

npx tsx ...

Global installation

If you want to use it in any arbitrary project without npx, install it globally:

npm install --global tsx

You can call tsx directly:

tsx ...

Usage

Run TypeScript / ESM / CJS module

Pass in a file to run:

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.

tsx watch ./file.ts

REPL

Start a TypeScript REPL by running with no arguments.

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:

tsx --no-cache ./file.ts

Node.js Loader

tsx is a standalone binary designed to be used in-place of node, but sometimes you'll want to use node directly. For example, when adding TypeScript & ESM support to npm-installed binaries.

To use tsx with Node.js, pass it into the --loader flag.

Note: Node.js's experimental feature warnings will not be suppressed when used as a loader

# As a CLI flag
node --loader tsx ./file.ts

# As an environment variable
NODE_OPTIONS='--loader tsx' node ./file.ts

Tip: In rare circumstances, you might be limited to use the -r, --require flag.

You can use @esbuild-kit/cjs-loader but transformations will only be applied to require().

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!

Keywords

esbuild

FAQs

Package last updated on 22 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.