You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.9 KiB
82 lines
1.9 KiB
/* (c) 2015 Ari Porad (@ariporad) <http://ariporad.com>. License: ariporad.mit-license.org */ |
|
|
|
/** |
|
* The hook. Accepts the code of the module and the filename. |
|
*/ |
|
declare type Hook = (code: string, filename: string) => string; |
|
|
|
/** |
|
* A matcher function, will be called with path to a file. |
|
* |
|
* Should return truthy if the file should be hooked, falsy otherwise. |
|
*/ |
|
declare type Matcher = (path: string) => boolean; |
|
|
|
/** |
|
* Reverts the hook when called. |
|
*/ |
|
declare type RevertFunction = () => void; |
|
interface Options { |
|
/** |
|
* The extensions to hook. Should start with '.' (ex. ['.js']). |
|
* |
|
* Takes precedence over `exts`, `extension` and `ext`. |
|
* |
|
* @alias exts |
|
* @alias extension |
|
* @alias ext |
|
* @default ['.js'] |
|
*/ |
|
extensions?: ReadonlyArray<string> | string; |
|
|
|
/** |
|
* The extensions to hook. Should start with '.' (ex. ['.js']). |
|
* |
|
* Takes precedence over `extension` and `ext`. |
|
* |
|
* @alias extension |
|
* @alias ext |
|
* @default ['.js'] |
|
*/ |
|
exts?: ReadonlyArray<string> | string; |
|
|
|
/** |
|
* The extensions to hook. Should start with '.' (ex. ['.js']). |
|
* |
|
* Takes precedence over `ext`. |
|
* |
|
* @alias ext |
|
* @default ['.js'] |
|
*/ |
|
extension?: ReadonlyArray<string> | string; |
|
|
|
/** |
|
* The extensions to hook. Should start with '.' (ex. ['.js']). |
|
* |
|
* @default ['.js'] |
|
*/ |
|
ext?: ReadonlyArray<string> | string; |
|
|
|
/** |
|
* A matcher function, will be called with path to a file. |
|
* |
|
* Should return truthy if the file should be hooked, falsy otherwise. |
|
*/ |
|
matcher?: Matcher | null; |
|
|
|
/** |
|
* Auto-ignore node_modules. Independent of any matcher. |
|
* |
|
* @default true |
|
*/ |
|
ignoreNodeModules?: boolean; |
|
} |
|
|
|
/** |
|
* Add a require hook. |
|
* |
|
* @param hook The hook. Accepts the code of the module and the filename. Required. |
|
* @returns The `revert` function. Reverts the hook when called. |
|
*/ |
|
export declare function addHook(hook: Hook, opts?: Options): RevertFunction; |
|
export {};
|
|
|