Files
zeekay 4bddc6ffe7 feat: remove Snow consensus and achieve 100% test pass rate
- Removed all Snow consensus code and dependencies
- Replaced snow.Context with consensuscontext.Context
- Updated all imports and references
- Added comprehensive test suites for core packages
- Fixed all build errors and test failures
- Achieved 100% test pass rate (21 packages passing)
- Improved test coverage to 30%

Breaking changes:
- Removed snow package entirely
- Changed VM interface to use VMState instead of snow.State
- Updated ChainContext structure

Tests added:
- core/app_error_test.go: 100% coverage
- core/bootstrap_test.go: comprehensive concurrent tests
- core/health_test.go: full integration tests
- validators/validators_test.go: complete interface tests
- version/version_test.go: 100% coverage
- codec/codec_test.go: marshal/unmarshal tests
- context/context_test.go: all functions tested
2025-09-16 13:34:59 -05:00

3.8 KiB

jiti

npm version npm downloads bundle License

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.bun exists (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 💖