UNPKG

1.68 kBTypeScriptView Raw
1/// <reference types="node" />
2
3/** Loads in any gulp plugins and attaches them to an object, freeing you up from having to manually require each gulp plugin. */
4declare module "gulp-load-plugins" {
5 interface IOptions {
6 /** the glob(s) to search for, default ['gulp-*', 'gulp.*'] */
7 pattern?: string[] | undefined;
8 /** where to find the plugins, searched up from process.cwd(), default 'package.json' */
9 config?: string | undefined;
10 /** which keys in the config to look within, default ['dependencies', 'devDependencies', 'peerDependencies'] */
11 scope?: string[] | undefined;
12 /** what to remove from the name of the module when adding it to the context, default /^gulp(-|\.)/ */
13 replaceString?: RegExp | undefined;
14 /** if true, transforms hyphenated plugin names to camel case, default true */
15 camelize?: boolean | undefined;
16 /** whether the plugins should be lazy loaded on demand, default true */
17 lazy?: boolean | undefined;
18 /** a mapping of plugins to rename, the key being the NPM name of the package, and the value being an alias you define */
19 rename?: IPluginNameMappings | undefined;
20 }
21
22 interface IPluginNameMappings {
23 [npmPackageName: string]: string;
24 }
25
26 /** Loads in any gulp plugins and attaches them to an object, freeing you up from having to manually require each gulp plugin. */
27 function gulpLoadPlugins<T extends IGulpPlugins>(options?: IOptions): T;
28
29 namespace gulpLoadPlugins {}
30
31 export = gulpLoadPlugins;
32}
33
34/**
35 * Extend this interface to use Gulp plugins in your gulpfile.js
36 */
37interface IGulpPlugins {
38}