Comparing version 4.1.4 to 4.5.0
{ | ||
"name": "tsx", | ||
"version": "4.1.4", | ||
"version": "4.5.0", | ||
"description": "TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files", | ||
@@ -41,4 +41,3 @@ "keywords": [ | ||
"esbuild": "~0.18.20", | ||
"get-tsconfig": "^4.7.2", | ||
"source-map-support": "^0.5.21" | ||
"get-tsconfig": "^4.7.2" | ||
}, | ||
@@ -45,0 +44,0 @@ "optionalDependencies": { |
118
README.md
@@ -30,7 +30,11 @@ # tsx <a href="https://npm.im/tsx"><img src="https://badgen.net/npm/v/tsx"></a> <a href="https://npm.im/tsx"><img src="https://badgen.net/npm/dm/tsx"></a> <a href="https://packagephobia.now.sh/result?p=tsx"><img src="https://packagephobia.now.sh/badge?p=tsx"></a> | ||
## About | ||
`tsx` is a CLI command (alternative to `node`) for seamlessly running TypeScript & ESM, in both `commonjs` & `module` package types. | ||
`tsx` is a CLI command (alternative to `node`) for seamlessly running TypeScript & ESM in both `commonjs` & `module` package types. | ||
It's powered by [esbuild](https://esbuild.github.io/) so it's insanely fast. | ||
This is for you if you ever wanted: | ||
- A command that can _just run_ TypeScript code without dealing with configuration | ||
- Better interoperability in codebases that use ESM and CJS dependencies | ||
- Something really fast it's unnoticeable! | ||
Want to just run TypeScript code? Try tsx: | ||
### Quick start | ||
Try tsx now without setup! Just pass in a TypeScript file: | ||
@@ -41,10 +45,8 @@ ```sh | ||
How does it compare to [ts-node](https://github.com/TypeStrong/ts-node)? Checkout the [comparison](https://github.com/privatenumber/ts-runtime-comparison). | ||
### Mission | ||
tsx strives to: | ||
1. Enhance Node.js with TypeScript compatibility | ||
2. Improve ESM <-> CJS interoperability | ||
1. Enhance Node.js with TypeScript support | ||
2. Improve ESM <-> CJS interoperability as the ecosystem migrates to ESM | ||
3. Support the [LTS versions of Node.js](https://endoflife.date/nodejs) | ||
## Install | ||
@@ -58,3 +60,3 @@ | ||
You can reference it directly in the `package.json#scripts` object: | ||
Then you can reference it directly in the `package.json#scripts` object (you don't need npx here): | ||
```json5 | ||
@@ -90,5 +92,11 @@ { | ||
`tsx` is designed to be a drop-in replacement for `node`, so you can use it just the way you would use Node.js. All command-line arguments (with the exception of a few) are propagated to Node.js. | ||
### tsx is a Node.js wrapper | ||
_tsx_ wraps around Node.js to enhance it with TypeScript support. Because it's a drop-in replacement for `node`, it supports all [Node.js command-line flags](https://nodejs.org/docs/latest-v20.x/api/cli.html). | ||
```sh | ||
# --no-warnings is a Node.js flag | ||
tsx --no-warnings ./file.ts | ||
``` | ||
### Run TypeScript / ESM / CJS module | ||
@@ -223,2 +231,92 @@ | ||
### VS Code debugging | ||
#### Setup | ||
Create the following configuration file in your project to setup debugging in VS Code: | ||
`.vscode/launch.json` | ||
```json5 | ||
{ | ||
"version": "0.2.0", | ||
"configurations": [ | ||
/* | ||
Each config in this array is an option in the debug drop-down | ||
See below for configurations to add... | ||
*/ | ||
], | ||
} | ||
``` | ||
#### Debugging method 1: Run tsx directly from VSCode | ||
1. Add the following configuration to the `configurations` array in `.vscode/launch.json`: | ||
```json5 | ||
{ | ||
"name": "tsx", | ||
"type": "node", | ||
"request": "launch", | ||
// Debug current file in VSCode | ||
"program": "${file}", | ||
/* | ||
Path to tsx binary | ||
Assuming locally installed | ||
*/ | ||
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/tsx", | ||
/* | ||
Open terminal when debugging starts (Optional) | ||
Useful to see console.logs | ||
*/ | ||
"console": "integratedTerminal", | ||
"internalConsoleOptions": "neverOpen", | ||
// Files to exclude from debugger (e.g. call stack) | ||
"skipFiles": [ | ||
// Node.js internal core modules | ||
"<node_internals>/**", | ||
// Ignore all dependencies (optional) | ||
"${workspaceFolder}/node_modules/**", | ||
], | ||
} | ||
``` | ||
2. In VSCode, open the file you want to run | ||
3. Go to VSCode's debug panel, select "tsx" in the drop down, and hit the play button (<kbd>F5</kbd>). | ||
#### Debugging method 2: Attach to a running Node.js process | ||
> This method works for any Node.js process and it's not specific to tsx | ||
1. Add the following configuration to the `configurations` array in `.vscode/launch.json`: | ||
```json | ||
{ | ||
"name": "Attach to process", | ||
"type": "node", | ||
"request": "attach", | ||
"port": 9229, | ||
"skipFiles": [ | ||
// Node.js internal core modules | ||
"<node_internals>/**", | ||
// Ignore all dependencies (optional) | ||
"${workspaceFolder}/node_modules/**", | ||
], | ||
} | ||
``` | ||
2. Run tsx with `--inspect-brk` in a terminal window: | ||
```sh | ||
tsx --inspect-brk ./your-file.ts | ||
``` | ||
3. Go to VSCode's debug panel, select "Attach to process" in the drop down, and hit the play button (<kbd>F5</kbd>). | ||
See the [VSCode documentation on _Launch Configuration_](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_launch-configuration) for more information. | ||
<br> | ||
@@ -225,0 +323,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 4 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 3 instances in 1 package
389817
3
1555
9
427
- Removedsource-map-support@^0.5.21
- Removedbuffer-from@1.1.2(transitive)
- Removedsource-map@0.6.1(transitive)
- Removedsource-map-support@0.5.21(transitive)