unified-engine-gulp
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatunified engine to create a Gulp plugin from a unified processor.
Contents
* [`engineGulp(options)`](#enginegulpoptions)
* [`FileStream`](#filestream)
* [`Options`](#options)
What is this?
This package wrapsunified-engine
unified-engine so that it can be used
to create a Gulp plugin.
It’s what you use underneath when you use gulp-remark
gulp-remark.When should I use this?
You can use this to let users process files from a gulp plugin, letting them configure from the file system.Install
This package is ESM onlyesm. In Node.js (version 16+), install with npm:npm install unified-engine-gulp
Use
import {remark} from 'remark'
import {engineGulp} from 'unified-engine-gulp'
export const gulpRemark = engineGulp({
ignoreName: '.remarkignore',
name: 'gulp-remark',
packageField: 'remarkConfig',
pluginPrefix: 'remark',
processor: remark,
rcName: '.remarkrc'
})
API
This package exports the identifierengineGulp
api-engine-gulp.
There is no default export.engineGulp(options)
Create a Gulp plugin.👉 Note: see writing a Gulp pluginplugin for more info.
Parameters
options
(Options
api-options, required)
— configuration
Returns
Gulp plugin, which can be called with options (same asOptions
api-options
but w/o name
or processor
) and returns a through2
through2 stream
accepting Vinyl files (FileStream
api-file-stream).FileStream
File stream (TypeScript type).Streaming vinyl files are not supported. Read more about why in Gulp’s docs (point 10)streaming.
There’s also a
fileStream.use()
function, which is like
unified.use()
use, in that it accepts a plugin and configuration or a
preset.
It returns the operated on fileStream
.Type
import type {Transform} from 'node:stream'
type FileStream = Transform & {use: Use}
type Use = (...values: unknown[]) => FileStream
Options
Configuration (TypeScript type).Type
import type {EngineOptions} from 'unified-engine'
type Options = {name: string} & Omit<
EngineOptions,
| 'alwaysStringify'
| 'cwd'
| 'extensions'
| 'files'
| 'out'
| 'output'
| 'plugins'
| 'silentlyIgnore'
| 'streamIn'
| 'streamOut'
>
Debugging
The engine can be debugged by setting theDEBUG
debug environment variable
to *
, such as DEBUG="*" gulp …
.Types
This package is fully typed with TypeScript. It exports the additional typesFileStream
api-file-stream and
Options
api-options.Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line,
unified-engine-gulp@^11
,
compatible with Node.js 16.Security
unified-engine-gulp
loads and evaluates configuration files, plugins, and
presets from the file system (often from node_modules/
).
That means code that is on your file system runs.
Make sure you trust the workspace where you run unified-engine-gulp
and be
careful with packages from npm and changes made by contributors.Contribute
Seecontributing.md
contributing in unifiedjs/.github
health for ways
to get started.
See support.md
support for ways to get help.This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.