
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files
TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files
.cts
& .mts
)node:
import prefixesIf 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 ...
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 ...
Pass in a file to run:
tsx ./file.ts
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
Start a TypeScript REPL by running with no arguments.
tsx
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
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 torequire()
.
@esbuild-kit/esm-loader - Node.js Loader to transform TypeScript to ESM.
@esbuild-kit/cjs-loader - Node.js requie()
hook to transform TypeScript & ESM to CommonJS.
No, esbuild does not support type checking.
It's recommended to run TypeScript separately as a command (tsc --noEmit
) or via IDE IntelliSense.
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!
FAQs
TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files
The npm package tsx-fix receives a total of 1 weekly downloads. As such, tsx-fix popularity was classified as not popular.
We found that tsx-fix demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.