Engine to process multiple files with unified, allowing users to configure from the file system.
The following projects wrap the engine:
unified-args
— Create CLIs for processorsunified-engine-gulp
— Create Gulp pluginsunified-engine-atom
— Create Atom Linters for processors
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install unified-engine
The following example processes all files in the current directory with a
Markdown extension with remark, allows configuration
from .remarkrc
and package.json
files, ignoring files from .remarkignore
files, and more.
import {engine} from 'unified-engine'
import {remark} from 'remark'
engine(
{
processor: remark,
files: ['.'],
extensions: ['md', 'markdown', 'mkd', 'mkdn', 'mkdown'],
pluginPrefix: 'remark',
rcName: '.remarkrc',
packageField: 'remarkConfig',
ignoreName: '.remarkignore',
color: true
},
done
)
function done(error) {
if (error) throw error
}
This package exports the following identifiers: engine
.
There is no default export.
Process files according to options
and call callback
when
done.
processor
(Processor
) — unified processor to transform filescwd
(string
, default:process.cwd()
) — Directory to search files in, load plugins from, and morefiles
(Array.<string|VFile>
, optional) — Paths or globs to files and directories, or virtual files, to processextensions
(Array.<string>
, optional) — Iffiles
matches directories, include files withextensions
streamIn
(ReadableStream
, default:process.stdin
) — Stream to read from if no files are found or givenfilePath
(string
, optional) — File path to process the given file onstreamIn
asstreamOut
(WritableStream
, default:process.stdout
) — Stream to write processed files tostreamError
(WritableStream
, default:process.stderr
) — Stream to write the report (if any) toout
(boolean
, default: depends) — Whether to write the processed file tostreamOut
output
(boolean
orstring
, default:false
) — Whether to write successfully processed files, and where toalwaysStringify
(boolean
, default:false
) — Whether to always serialize successfully processed filestree
(boolean
, default:false
) — Whether to treat both input and output as a syntax treetreeIn
(boolean
, default:tree
) — Whether to treat input as a syntax treetreeOut
(boolean
, default:tree
) — Whether to treat output as a syntax treeinspect
(boolean
, default:false
) — Whether to output a formatted syntax treercName
(string
, optional) — Name of configuration files to loadpackageField
(string
, optional) — Property at which configuration can be found inpackage.json
filesdetectConfig
(boolean
, default: whetherrcName
orpackageField
is given) — Whether to search for configuration filesrcPath
(string
, optional) — Filepath to a configuration file to loadsettings
(Object
, optional) — Configuration for the parser and compiler of the processorignoreName
(string
, optional) — Name of ignore files to loaddetectIgnore
(boolean
, default: whetherignoreName
is given) — Whether to search for ignore filesignorePath
(string
, optional) — Filepath to an ignore file to loadignorePathResolveFrom
('dir'
or'cwd'
, default:'dir'
) — Resolve patterns inignorePath
from the current working directory or the file’s directoryignorePatterns
(Array.<string>
, optional) — Patterns to ignore in addition to ignore files, if anysilentlyIgnore
(boolean
, default:false
) — Skip given files if they are ignoredplugins
(Array|Object
, optional) — Plugins to usepluginPrefix
(string
, optional) — Optional prefix to use when searching for pluginsconfigTransform
(Function
, optional) — Transform config files from a different schemareporter
(string
orfunction
, default:import {reporter} from 'vfile-reporter'
) — Reporter to usereporterOptions
(Object?
, optional) — Config to pass to the used reportercolor
(boolean
, default:false
) — Whether to report with ANSI color sequencessilent
(boolean
, default:false
) — Report only fatal errorsquiet
(boolean
, default:silent
) — Do not report successful filesfrail
(boolean
, default:false
) — Call back with an unsuccessful (1
) code on warnings as well as errors
Called when processing is complete, either with a fatal error if processing went horribly wrong (probably due to incorrect configuration), or a status code and the processing context.
error
(Error
) — Fatal errorcode
(number
) — Either0
if successful, or1
if unsuccessful. The latter occurs if fatal errors happen when processing individual files, or iffrail
is set and warnings occurcontext
(Object
) — Processing context, containing internally used information and afiles
array with the processed files
doc/plugins.md
describes in detail how plugins can add more files
to be processed and handle all transformed files.
doc/configure.md
describes in detail how configuration files
work.
doc/ignore.md
describes in detail how ignore files work.
See contributing.md
in unifiedjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.