Useful utilities for creating Gulp plugins
Install
npm install gulp-plugin-extras
Usage
import {gulpPlugin} from 'gulp-plugin-extras';
export default function gulpFoo() {
return gulpPlugin('gulp-foo', async file => {
file.contents = await someKindOfTransformation(file.contents);
return file;
});
}
API
gulpPlugin(name, onFile, options?)
Create a Gulp plugin.
This does not support streaming.
name
Type: string
The plugin name.
onFile
Type: async (file) => file
The async function called for each Vinyl file in the stream. Must return a modified or new Vinyl file.
options
Type: object
supportsDirectories
Type: boolean
Default: false
Whether the plugin can handle directories.
onFinish
Type: async function * (stream: NodeJS.ReadableStream): void
An async generator function executed for finalization after all files have been processed.
You can yield more files from it if needed.
import {gulpPlugin} from 'gulp-plugin-extras';
export default function gulpFoo() {
return gulpPlugin(
'gulp-foo',
async file => { … },
{
onFinish: async function * () {
yield someVinylFile;
yield someVinylFile2;
}
}
);
}