プラグインをドライブするものはドライバーと呼ぼう。unifiedはドライバーだが、remarkやretextもドライバーになっている。ドライバーの使い方は、
driver() .use(pluginA) .use(pluginB, pluginPramForB) .freeze() .process(input) .then(writerCallback);
ドライバーは、いくつかのプロセッサ〈プラグイン〉をラップして、決まったコマンド=process で実行可能とする。
ドライバーはドライバー生成関数で作られ、ドライバーのメソッドはドライバー自身を返すのでメソッドチェーンを作れる。内部でプロセッサ・パイプラインが実行される。
ドライバーはthenableだが、プロミスになるかは怪しい。
使う順番は:
- ドライバー生成
- 構成〈configure〉 - use使用
- 凍結(オプショナル) -- freeze使用
- 実行 -- process, run, parse, stringify(compileだったか?)使用
- 書き出し(オプショナル) -- then使用、processで済んでいるかも。