| .. | ||
| bin | ||
| dist | ||
| lib | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| register.js | ||
jiti
Runtime Typescript and ESM support for Node.js.
Important
This is the support branch for jiti v1. Check out jiti/main for the latest version and unjs/jiti#174 for the roadmap.
Features
- Seamless typescript and ESM syntax support
 - Seamless interoperability between ESM and CommonJS
 - Synchronous API to replace 
require - Super slim and zero dependency
 - Smart syntax detection to avoid extra transforms
 - CommonJS cache integration
 - Filesystem transpile hard cache
 - V8 compile cache
 - Custom resolve alias
 
Usage
Programmatic
const jiti = require("jiti")(__filename);
jiti("./path/to/file.ts");
You can also pass options as second argument:
const jiti = require("jiti")(__filename, { debug: true });
CLI
jiti index.ts
# or npx jiti index.ts
Register require hook
node -r jiti/register index.ts
Alternatively, you can register jiti as a require hook programmatically:
const jiti = require("jiti")();
const unregister = jiti.register();
Options
debug
- Type: Boolean
 - Default: 
false - Environment Variable: 
JITI_DEBUG 
Enable debug to see which files are transpiled
cache
- Type: Boolean | String
 - Default: 
true - Environment Variable: 
JITI_CACHE 
Use transpile cache
If set to true will use node_modules/.cache/jiti (if exists) or {TMP_DIR}/node-jiti
esmResolve
- Type: Boolean | String
 - Default: 
false - Environment Variable: 
JITI_ESM_RESOLVE 
Using esm resolution algorithm to support import condition.
transform
- Type: Function
 - Default: Babel (lazy loaded)
 
Transform function. See src/babel for more details
sourceMaps
- Type: Boolean
 - Default 
false - Environment Variable: 
JITI_SOURCE_MAPS 
Add inline source map to transformed source for better debugging.
interopDefault
- Type: Boolean
 - Default: 
false 
Return the .default export of a module at the top-level.
alias
- Type: Object
 - Default: -
 - Environment Variable: 
JITI_ALIAS 
Custom alias map used to resolve ids.
nativeModules
- Type: Array
 - Default: ['typescript`]
 - Environment Variable: 
JITI_NATIVE_MODULES 
List of modules (within node_modules) to always use native require for them.
transformModules
- Type: Array
 - Default: []
 - Environment Variable: 
JITI_TRANSFORM_MODULES 
List of modules (within node_modules) to transform them regardless of syntax.
experimentalBun
- Type: Boolean
 - Default: Enabled if 
process.versions.bunexists (Bun runtime) - Environment Variable: 
JITI_EXPERIMENTAL_BUN 
Enable experimental native Bun support for transformations.
Development
- Clone this repository
 - Enable Corepack using 
corepack enable - Install dependencies using 
pnpm install - Run 
pnpm dev - Run 
pnpm jiti ./test/path/to/file.ts 
License
MIT. Made with 💖