jiti
Runtime typescript and ESM support for Node.js (CommonJS)
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
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.tsRegister require hook
node -r jiti/register index.tsAlternatively, 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 Vriable:
JITI_CACHE
Use transpile cache
If set to true will use node_modules/.cache/jiti (if exists) or {TMP_DIR}/node-jiti
transform
- Type: Function
- Default: Babel (lazy loaded)
Transform function. See src/babel for more details
Development
- Clone Repo
- Run
yarn - Run
yarn build - Run
yarn dev - Run
yarn jiti ./test/path/to/file.ts
License
MIT. Made with