Skip to main content

@boost/module

build status npm version

Load and resolve custom file types at runtime with a more powerful Node.js require replacement.

import { requireModule } from '@boost/module';

const result = requireModule('./some/non-js/file.ts');

Or with next-generation Node.js hooks.

node --import @boost/module/register ./path/to/entry-point.mjs

Features

  • CommonJS based importing with requireModule()
  • CommonJS interoperability with ESM-like files
  • ECMAScript module based importing with a custom Node.js hook
  • Supported file types: TypeScript

Installation

yarn add @boost/module

Documentation

Index

Type Aliases

ModuleLike

ModuleLike<D, N>: N & { __esModule?: boolean; default: D extends void ? N : D }

Return shape of a module. The default export can be typed with the D generic slot, and the named exports can be typed with an object in the N generic slot.

If there is no default export (classic Node.js exports pattern), then void can be passed to the D generic, which will populate the default property with the named exports.


Type parameters

  • D = unknown
  • N: object = {}

PathLike

PathLike: string | { toString: () => string }