@droppedcode/require-override
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

nodejs require-override

Helper functions to override the require logic of nodejs.

How to use

Override

With this function you can override the load logic with a custom logic. The method needs to return the loaded module. To revert back to the previous logic use the current function.

/**
 * Override the current load logic.
 *
 * @param isOverride A condition used to check whether to override Module._load.
 * @param resolveOverride A function used to override Module._load result.
 * @returns A restore to previous state method.
 */
function override(
  isOverride: (request: string, parent: ParentType) => boolean,
  resolveOverride: (request: string, parent: ParentType, current: () => unknown) => unknown
): () => void;

Log

With this function you can log out the loaded packages. The filter regexp is used to filter out the names of the logged packages.

/**
 * Logs resolve requests for given packages.
 *
 * @param filter Filter for package requests.
 * @returns A restore to previous state method.
 */
function log(filter: RegExp): () => void;

Cache

With this function you can cache and return the packages. The filter regexp is used to filter out the names of the cached packages. If a package is not cached, the previous logic is used, if it was cached it will return the cached package.

Already cached packages will ignore the node_modules structure.

This is useful to make sure that packages loaded by any package will be the same version, this way static variables, decorators will be working across loaded instances.

/**
 * Cache resolve results for given packages.
 *
 * @param filter Filter for package requests.
 * @returns A restore to previous state method.
 */
function cache(filter: RegExp): () => void;

Package Sidebar

Install

npm i @droppedcode/require-override

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

9.84 kB

Total Files

9

Last publish

Collaborators

  • droppedcode