dynot
v0.1.8
Published
💻⚡️ Boost your Node.js runtime with TypeScript and ESM support!
Readme
🦖⚡️ 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
requirealternative - 💪 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.tsAlternatively, 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 💞

