Package Exports
- unified-engine
- unified-engine/index.js
- unified-engine/lib/configuration
- unified-engine/lib/configuration.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unified-engine) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
unified-engine
Engine to process multiple files with unified, allowing users to configure from the file system.
Projects
The following projects wrap the engine:
unified-args— Create CLIs for processorsunified-engine-gulp— Create Gulp pluginsunified-engine-atom— Create Atom Linters for processorsunified-language-server— Create language servers for processors
Install
This package is ESM only:
Node 12+ is needed to use it and it must be imported instead of required.
npm:
npm install unified-engineUse
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
}Contents
API
This package exports the following identifiers: engine.
There is no default export.
engine(options, callback)
Process files according to options and call callback when
done.
options
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) — Iffilesmatches directories, include files withextensionsstreamIn(ReadableStream, default:process.stdin) — Stream to read from if no files are found or givenfilePath(string, optional) — File path to process the given file onstreamInasstreamOut(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 tostreamOutoutput(booleanorstring, 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.jsonfilesdetectConfig(boolean, default: whetherrcNameorpackageFieldis 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: whetherignoreNameis given) — Whether to search for ignore filesignorePath(string, optional) — Filepath to an ignore file to loadignorePathResolveFrom('dir'or'cwd', default:'dir') — Resolve patterns inignorePathfrom the current working directory or the file’s directoryignorePatterns(Array<string>, optional) — Patterns to ignore in addition to ignore files, if anyignoreUnconfigured(boolean, default:false) — Ignore files that do not have an associated detected configuration filesilentlyIgnore(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(stringorfunction, 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
function callback(error[, code, context])
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.
Parameters
error(Error) — Fatal errorcode(number) — Either0if successful, or1if unsuccessful. The latter occurs if fatal errors happen when processing individual files, or iffrailis set and warnings occurcontext(Object) — Processing context, containing internally used information and afilesarray with the processed files
Plugins
doc/plugins.md describes in detail how plugins can add more files
to be processed and handle all transformed files.
Configuration
doc/configure.md describes in detail how configuration files
work.
Ignoring
doc/ignore.md describes in detail how ignore files work.
Security
unified-engine 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 and be careful
with packages from npm and changes made by contributors.
Contribute
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.