`jstime run`
The jstime CLI can be used to execute JavaScript/TypeScript files, package.json scripts, and executable packages.
Run a file
Section titled “Run a file”Compare to node <file>
Use jstime run to execute a source file.
$ jstime run index.jsJSTime supports TypeScript and JSX out of the box. Every file is transpiled on the fly by JSTime’s fast native transpiler before being executed.
$ jstime run index.js$ jstime run index.jsx$ jstime run index.ts$ jstime run index.tsxThe “naked” jstime command is equivalent to jstime run.
$ jstime index.tsx--watch
Section titled “--watch”To run a file in watch mode, use the --watch flag.
$ jstime --watch run index.tsx--smol
Section titled “--smol”In memory-constrained environments, use the --smol flag to reduce memory usage at a cost to performance.
$ jstime --smol run index.tsxRun a package.json script
Section titled “Run a package.json script”Compare to npm run <script> or yarn <script>
Your package.json can define a number of named "scripts" that correspond to shell commands.
{ // ... other fields "scripts": { "clean": "rm -rf dist && echo 'Done.'", "dev": "jstime server.ts" }}Use jstime <script> to execute these scripts.
$ jstime clean $ rm -rf dist && echo 'Done.' Cleaning... Done.JSTime executes the script command in a subshell. It checks for the following shells in order, using the first one it finds: bash, sh, zsh.
⚡️ The startup time for npm run on Linux is roughly 170ms; with JSTime it is 6ms.
If there is a name conflict between a package.json script and a built-in jstime command (install, dev, upgrade, etc.) JSTime’s built-in command takes precedence. In this case, use the more explicit jstime run command to execute your package script.
$ jstime run devTo see a list of available scripts, run jstime run without any arguments.
$ jstime runquickstart scripts:
jstime run clean rm -rf dist && echo 'Done.'
jstime run dev jstime server.ts
2 scriptsJSTime respects lifecycle hooks. For instance, jstime run clean will execute preclean and postclean, if defined. If the pre<script> fails, JSTime will not execute the script itself.
Environment variables
Section titled “Environment variables”JSTime automatically loads environment variables from .env files before running a file, script, or executable. The following files are checked, in order:
.env.local(first)NODE_ENV==="production"?.env.production:.env.development.env
To debug environment variables, run jstime run env to view a list of resolved environment variables.
Performance
Section titled “Performance”JSTime is designed to start fast and run fast.
Under the hood JSTime uses the JavaScriptCore engine, which is developed by Apple for Safari. In most cases, the startup and running performance is faster than V8, the engine used by Node.js and Chromium-based browsers. Its transpiler and runtime are written in Zig, a modern, high-performance language. On Linux, this translates into startup times 4x faster than Node.js.

JSTime vs Node.js vs Deno running Hello World