dynot
TypeScript icon, indicating that this package has built-in type declarations

0.1.8 • Public • Published

cover npm version npm downloads bundle License

🦖⚡️ Boost your Node.js runtime with TypeScript and ESM support!

Features

  • 🌊 Smooth TypeScript and ESM syntax integration
  • 🔗 Seamless ESM and CommonJS interoperability
  • Synchronous API as a require alternative
  • 💪 Super lightweight with zero dependencies
  • 🧠 Clever syntax detection to avoid unnecessary transformations
  • 💾 CommonJS cache integration
  • 🗄️ Filesystem transpile hard cache
  • 🏎️ V8 compile cache
  • 🔍 Custom resolve alias

🛠️ Usage

📦 Scripted

const dynotti = require('dynot')(__filename)

dynot('./path/to/file.ts')

You can also pass options as a second argument:

const dynot = require('dynot')(__filename, { debug: true })

🖥️ CLI

dynot index.ts
# or npx dynot index.ts

📝 Register require hook

node -r dynot/register index.ts

Alternatively, you can register dynot as a require hook programmatically:

const dynot = require('dynot')()

const unregister = dynot.register()

⚙️ Options

debug 🐞

  • Type: Boolean
  • Default: false
  • Environment Variable: DYNOT_DEBUG

Enable debug mode to see which files are transpiled

cache 💽

  • Type: Boolean | String
  • Default: true
  • Environment Variable: DYNOT_CACHE

Toggle transpile cache

If set to true, it will use node_modules/.cache/dynot (if exists) or {TMP_DIR}/node-dynot

esmResolve 🌀

  • Type: Boolean | String
  • Default: false
  • Environment Variable: DYNOT_ESM_RESOLVE

Activate esm resolution algorithm to support import condition.

transform 🔄

  • Type: Function
  • Default: Babel (lazy loaded)

Specify a transform function. Check src/babel for more details.

sourceMaps 🗺️

  • Type: Boolean
  • Default false
  • Environment Variable: DYNOT_SOURCE_MAPS

Add inline source map to transformed source for improved debugging.

interopDefault 🧩

  • Type: Boolean
  • Default: false

Return the .default export of a module at the top-level.

alias 🏷️

  • Type: Object
  • Default: -
  • Environment Variable: DYNOT_ALIAS

Define a custom alias map to resolve ids.

nativeModules 🌐

  • Type: Array
  • Default: ['typescript`]
  • Environment Variable: DYNOT_NATIVE_MODULES

Specify a list of modules (within node_modules) to always use native require for them.

transformModules 🛠️

  • Type: Array
  • Default: []
  • Environment Variable: DYNOT_TRANSFORM_MODULES

List modules (within node_modules) to transform them regardless of syntax.

🌱 Development

  • Clone this repository
  • Enable Corepack using corepack enable
  • Install dependencies using nyxi Always right package manager
  • Run nyxr dev
  • Run nyxr dynot ./test/path/to/file.ts

📜 License

MIT - Made with 💞

Readme

Keywords

none

Package Sidebar

Install

npm i dynot

Homepage

💻nyxb.ws

Weekly Downloads

5

Version

0.1.8

License

MIT

Unpacked Size

2.27 MB

Total Files

15

Last publish

Collaborators

  • dennisollhoff