jiti (1.21.7)
Installation
registry=npm install jiti@1.21.7"jiti": "1.21.7"About this package
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 💖
Dependencies
Development Dependencies
| ID | Version |
|---|---|
| @babel/core | ^7.26.0 |
| @babel/plugin-proposal-decorators | ^7.25.9 |
| @babel/plugin-syntax-class-properties | ^7.12.13 |
| @babel/plugin-syntax-import-assertions | ^7.26.0 |
| @babel/plugin-transform-export-namespace-from | ^7.25.9 |
| @babel/plugin-transform-modules-commonjs | ^7.26.3 |
| @babel/plugin-transform-nullish-coalescing-operator | ^7.25.9 |
| @babel/plugin-transform-optional-chaining | ^7.25.9 |
| @babel/plugin-transform-typescript | ^7.26.3 |
| @babel/preset-typescript | ^7.26.0 |
| @babel/template | ^7.25.9 |
| @babel/types | ^7.26.3 |
| @types/babel__core | ^7.20.5 |
| @types/babel__template | ^7.4.4 |
| @types/node | ^22.10.2 |
| @types/object-hash | ^3.0.6 |
| @types/resolve | ^1.20.6 |
| @types/semver | ^7.5.8 |
| @vitest/coverage-v8 | ^2.1.8 |
| acorn | ^8.14.0 |
| babel-plugin-dynamic-import-node | ^2.3.3 |
| babel-plugin-parameter-decorator | ^1.0.16 |
| babel-plugin-transform-typescript-metadata | ^0.3.2 |
| changelogen | ^0.5.7 |
| config | ^3.3.12 |
| create-require | ^1.1.1 |
| destr | ^2.0.3 |
| escape-string-regexp | ^5.0.0 |
| eslint | ^9.17.0 |
| eslint-config-unjs | ^0.4.2 |
| esm | ^3.2.25 |
| estree-walker | ^3.0.3 |
| execa | ^9.5.2 |
| fast-glob | ^3.3.2 |
| mlly | ^1.7.3 |
| object-hash | ^3.0.0 |
| pathe | ^1.1.2 |
| pirates | ^4.0.6 |
| pkg-types | ^1.2.1 |
| prettier | ^3.4.2 |
| reflect-metadata | ^0.2.2 |
| semver | ^7.6.3 |
| std-env | ^3.8.0 |
| terser-webpack-plugin | ^5.3.11 |
| ts-loader | ^9.5.1 |
| tslib | ^2.8.1 |
| typescript | ^5.7.2 |
| vite | ^6.0.3 |
| vitest | ^2.1.8 |
| webpack | ^5.97.1 |
| webpack-cli | ^5.1.4 |