π¦β‘οΈ Boost your Node.js runtime with TypeScript and ESM support!
- π 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
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 })
dynot index.ts
# or npx dynot index.ts
node -r dynot/register index.ts
Alternatively, you can register dynot
as a require hook programmatically:
const dynot = require('dynot')()
const unregister = dynot.register()
- Type: Boolean
- Default:
false
- Environment Variable:
DYNOT_DEBUG
Enable debug mode to see which files are transpiled
- 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
- Type: Boolean | String
- Default:
false
- Environment Variable:
DYNOT_ESM_RESOLVE
Activate esm resolution algorithm to support import
condition.
- Type: Function
- Default: Babel (lazy loaded)
Specify a transform function. Check src/babel for more details.
- Type: Boolean
- Default
false
- Environment Variable:
DYNOT_SOURCE_MAPS
Add inline source map to transformed source for improved debugging.
- Type: Boolean
- Default:
false
Return the .default
export of a module at the top-level.
- Type: Object
- Default: -
- Environment Variable:
DYNOT_ALIAS
Define a custom alias map to resolve ids.
- Type: Array
- Default: ['typescript`]
- Environment Variable:
DYNOT_NATIVE_MODULES
Specify a list of modules (within node_modules
) to always use native require for them.
- Type: Array
- Default: []
- Environment Variable:
DYNOT_TRANSFORM_MODULES
List modules (within node_modules
) to transform them regardless of syntax.
π 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
MIT - Made with π