|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- # jiti
-
- > Runtime typescript and ESM support for Node.js
-
- [![version][npm-v-src]][npm-v-href]
- [![downloads][npm-d-src]][npm-d-href]
- [![size][size-src]][size-href]
-
- ## 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
-
- ```js
- const jiti = require("jiti")(__filename);
-
- jiti("./path/to/file.ts");
- ```
-
- You can also pass options as second argument:
-
- ```js
- const jiti = require("jiti")(__filename, { debug: true });
- ```
-
- ### CLI
-
- ```bash
- jiti index.ts
- # or npx jiti index.ts
- ```
-
- ### Register require hook
-
- ```bash
- node -r jiti/register index.ts
- ```
-
- Alternatively, you can register `jiti` as a require hook programmatically:
-
- ```js
- 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](./src/babel.ts) 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.
-
- ## Development
-
- - Clone this repository
- - Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`
- - Install dependencies using `pnpm install`
- - Run `pnpm dev`
- - Run `pnpm jiti ./test/path/to/file.ts`
-
- ## License
-
- MIT. Made with 💖
-
- <!-- Refs -->
-
- [npm-v-src]: https://img.shields.io/npm/v/jiti?style=flat-square
- [npm-v-href]: https://npmjs.com/package/jiti
- [npm-d-src]: https://img.shields.io/npm/dm/jiti?style=flat-square
- [npm-d-href]: https://npmjs.com/package/jiti
- [github-actions-src]: https://img.shields.io/github/workflow/status/unjs/jiti/ci/master?style=flat-square
- [github-actions-href]: https://github.com/unjs/jiti/actions?query=workflow%3Aci
- [size-src]: https://packagephobia.now.sh/badge?p=jiti
- [size-href]: https://packagephobia.now.sh/result?p=jiti
|