Socket
Socket
Sign inDemoInstall

jiti

Package Overview
Dependencies
Maintainers
0
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jiti - npm Package Compare versions

Comparing version 2.0.0-beta.1 to 2.0.0-beta.2

dist/babel.cjs

46

package.json
{
"name": "jiti",
"version": "2.0.0-beta.1",
"version": "2.0.0-beta.2",
"description": "Runtime typescript and ESM support for Node.js",
"repository": "unjs/jiti",
"license": "MIT",
"type": "module",
"exports": {
".": {
"types": "./dist/jiti.d.ts",
"default": "./lib/index.js"
}
"import": {
"types": "./lib/jiti.d.mts",
"default": "./lib/jiti.mjs"
},
"require": {
"types": "./lib/jiti.d.cts",
"default": "./lib/jiti.cjs"
}
},
"./register": {
"import": "./lib/jiti-register.mjs"
},
"./package.json": "./package.json"
},
"main": "./lib/index.js",
"types": "./dist/jiti.d.ts",
"main": "./lib/jiti.cjs",
"module": "./lib/jiti.mjs",
"types": "./lib/jiti.d.mts",
"bin": {
"jiti": "bin/jiti.js"
"jiti": "./lib/jiti-cli.mjs"
},

@@ -21,3 +33,3 @@ "files": [

"dist",
"register.js"
"register.cjs"
],

@@ -28,8 +40,8 @@ "scripts": {

"dev": "pnpm clean && pnpm webpack --watch",
"jiti": "JITI_DEBUG=1 JITI_CACHE=false JITI_REQUIRE_CACHE=false ./bin/jiti.js",
"jiti:legacy": "JITI_DEBUG=1 npx node@12 ./bin/jiti.js",
"jiti": "JITI_DEBUG=1 ./lib/jiti-cli.mjs",
"lint": "eslint . && prettier -c src lib test stubs",
"lint:fix": "eslint --fix . && prettier -w src lib test stubs",
"release": "pnpm build && pnpm test && changelogen --release --prerelease --push --publish --publishTag 2x",
"test": "pnpm lint && vitest run --coverage && pnpm test:bun",
"test": "pnpm lint && vitest run --coverage && pnpm test:register && pnpm test:bun",
"test:register": "node ./test/register-test.mjs",
"test:bun": "bun --bun test test/bun"

@@ -53,5 +65,2 @@ },

"@types/node": "^20.14.9",
"@types/object-hash": "^3.0.6",
"@types/resolve": "^1.20.6",
"@types/semver": "^7.5.8",
"@vitest/coverage-v8": "^1.6.0",

@@ -68,3 +77,2 @@ "acorn": "^8.12.0",

"eslint-config-unjs": "^0.3.2",
"esm": "^3.2.25",
"estree-walker": "^3.0.3",

@@ -74,21 +82,17 @@ "execa": "^9.3.0",

"mlly": "^1.7.1",
"object-hash": "^3.0.0",
"pathe": "^1.1.2",
"pirates": "^4.0.6",
"pkg-types": "^1.1.1",
"prettier": "^3.3.2",
"reflect-metadata": "^0.2.1",
"semver": "^7.6.2",
"std-env": "^3.7.0",
"terser-webpack-plugin": "^5.3.10",
"ts-loader": "^9.5.1",
"tslib": "^2.6.3",
"typescript": "^5.5.2",
"vite": "^5.3.1",
"vitest": "^1.6.0",
"webpack": "^5.92.1",
"webpack-bundle-analyzer": "^4.10.2",
"webpack-cli": "^5.1.4"
"webpack-cli": "^5.1.4",
"webpack-license-plugin": "^4.4.2"
},
"packageManager": "pnpm@9.4.0"
}
# jiti
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![License][license-src]][license-href]
<!-- automd:badges color=F0DB4F bundlephobia -->
[![npm version](https://img.shields.io/npm/v/jiti?color=F0DB4F)](https://npmjs.com/package/jiti)
[![npm downloads](https://img.shields.io/npm/dm/jiti?color=F0DB4F)](https://npmjs.com/package/jiti)
[![bundle size](https://img.shields.io/bundlephobia/minzip/jiti?color=F0DB4F)](https://bundlephobia.com/package/jiti)
<!-- /automd -->
Just-in-Time Typescript and ESM support for Node.js.

@@ -13,8 +16,9 @@

## Features
## ✅ Features
- Seamless typescript and ESM syntax support
- Seamless Typescript and ESM syntax support
- Seamless interoperability between ESM and CommonJS
- Synchronous API to replace `require()`
- Asynchronous API to replace `import()`
- ESM Loader support
- Super slim and zero dependency

@@ -26,30 +30,57 @@ - Smart syntax detection to avoid extra transforms

## Used by
## 🌟 Used by
- [Nitro](https://nitro.unjs.io/) and [UnJS](https://unjs.io/) ecosystem
- [Docusaurus](https://docusaurus.io/)
- [FormKit](https://formkit.com/)
- [Histoire](https://histoire.dev/)
- [Knip](https://knip.dev/)
- [Nitro](https://nitro.unjs.io/)
- [Nuxt](https://nuxt.com/)
- [Docusaurus](https://docusaurus.io/)
- [UnoCSS](https://unocss.dev/)
- [Tailwindcss 3.x](https://tailwindcss.com/)
- [PostCSS loader](https://github.com/webpack-contrib/postcss-loader)
- [Rsbuild](https://rsbuild.dev/)
- [Size Limit](https://github.com/ai/size-limit)
- [Slidev](https://sli.dev/)
- [FormKit](https://formkit.com/)
- [Knip](https://knip.dev/)
- [Histoire](https://histoire.dev/)
- [...55M+ npm monthly downloads](https://www.npmjs.com/package/jiti)
- [...5M+ public repositories](https://github.com/unjs/jiti/network/dependents)
- [ add yours ]
- [Tailwindcss](https://tailwindcss.com/)
- [Tokenami](https://github.com/tokenami/tokenami)
- [UnoCSS](https://unocss.dev/)
- [WXT](https://wxt.dev/)
- [Winglang](https://www.winglang.io/)
- [Graphql code generator](https://the-guild.dev/graphql/codegen)
- [Lingui](https://lingui.dev/)
- [Scaffdog](https://scaff.dog/)
- [...UnJS ecosystem](https://unjs.io/)
- [...58M+ npm monthly downloads](https://www.npmjs.com/package/jiti)
- [...5.5M+ public repositories](https://github.com/unjs/jiti/network/dependents)
- [ pr welcome add yours ]
## Usage
## 💡 Usage
### CLI
You can use `jiti` CLI to quickly run any script with Typescript and native ESM support!
```bash
npx jiti ./index.ts
# or
jiti ./index.ts
```
### Programmatic
```js
const jiti = require("jiti")(__filename);
// ESM
import { createJiti } from "jiti";
const jiti = createJiti(import.meta.url);
// CommonJS mode
jiti("./path/to/file.ts");
// CommonJS
const { createJiti } = require("jiti");
const jiti = createJiti(__filename);
// ESM mode
// jiti.import() acts like import() with Typescript support
await jiti.import("./path/to/file.ts");
// jiti() acts like require() with Typescript and (non async) ESM support
jiti("./path/to/file.ts");
```

@@ -60,26 +91,22 @@

```js
const jiti = require("jiti")(__filename, { debug: true });
const jiti = createJiti(import.meta.url, { debug: true });
```
### CLI
### Register global ESM loader
```bash
jiti index.ts
# or npx jiti index.ts
```
You can globally register jiti using [global hooks](https://nodejs.org/api/module.html#initialize).
### Register require hook
**Note:** This is an experimental approach and only tested to work on Node.js > 20. I don't recommend it and unless you have to, please prefer explicit method.
```bash
node -r jiti/register index.ts
```js
import "jiti/register";
```
Alternatively, you can register `jiti` as a require hook programmatically:
Or:
```js
const jiti = require("jiti")();
const unregister = jiti.register();
```bash
node --import jiti/register index.ts
```
## Options
## ⚙️ Options

@@ -94,12 +121,26 @@ ### `debug`

### `cache`
### `fsCache`
- Type: Boolean | String
- Default: `true`
- Environment Variable: `JITI_CACHE`
- Environment Variable: `JITI_FS_CACHE`
Use transpile cache
Filesystem source cache (enabled by default)
If set to `true` will use `node_modules/.cache/jiti` (if exists) or `{TMP_DIR}/node-jiti`
By default (when is `true`), jiti uses `node_modules/.cache/jiti` (if exists) or `{TMP_DIR}/node-jiti`.
**Note:** It is recommended to keep this option enabled for better performance.
### `moduleCache`
- Type: String
- Default: `true`
- Environment Variable: `JITI_MODULE_CACHE`
Runtime module cache (enabled by default).
Disabling allows editing code and importing same module multiple times.
When enabled, jiti integrates with Node.js native CommonJS cache store.
### `transform`

@@ -169,13 +210,13 @@

MIT. Made with 💖
<!-- automd:contributors license=MIT author="pi0" -->
<!-- Badged -->
Published under the [MIT](https://github.com/unjs/jiti/blob/main/LICENSE) license.
Made by [@pi0](https://github.com/pi0) and [community](https://github.com/unjs/jiti/graphs/contributors) 💛
<br><br>
<a href="https://github.com/unjs/jiti/graphs/contributors">
<img src="https://contrib.rocks/image?repo=unjs/jiti" />
</a>
[npm-version-src]: https://img.shields.io/npm/v/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[npm-version-href]: https://npmjs.com/package/jiti
[npm-downloads-src]: https://img.shields.io/npm/dm/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[npm-downloads-href]: https://npmjs.com/package/jiti
[bundle-src]: https://img.shields.io/bundlephobia/minzip/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[bundle-href]: https://bundlephobia.com/result?p=jiti
[license-src]: https://img.shields.io/github/license/unjs/jiti.svg?style=flat&colorA=18181B&colorB=F0DB4F
[license-href]: https://github.com/unjs/jiti/blob/main/LICENSE
<!-- /automd -->
<!-- automd:with-automd -->
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc