jiti
Temporary fork for supporting TypeScript metadata in Nuxt 3, see:
- https://github.com/unjs/jiti/issues/27#issuecomment-849132971
- https://github.com/jozsefsallai/jiti/commit/912645967d095b7d1a97829e2013019b948a9761
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.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.
Development
- Clone Repo
- Run
yarn
- Run
yarn build
- Run
yarn dev
- Run
yarn jiti ./test/path/to/file.ts
License
MIT. Made with