unifiedドライバー

プラグインをドライブするものはドライバーと呼ぼう。unifiedはドライバーだが、remarkやretextもドライバーになっている。ドライバーの使い方は、

driver()
  .use(pluginA)
  .use(pluginB, pluginPramForB)
  .freeze()
  .process(input)
  .then(writerCallback);

ドライバーは、いくつかのプロセッサ〈プラグイン〉をラップして、決まったコマンド=process で実行可能とする。

ドライバーはドライバー生成関数で作られ、ドライバーのメソッドはドライバー自身を返すのでメソッドチェーンを作れる。内部でプロセッサ・パイプラインが実行される。

ドライバーはthenableだが、プロミスになるかは怪しい。

使う順番は:

  1. ドライバー生成
  2. 構成〈configure〉 - use使用
  3. 凍結(オプショナル) -- freeze使用
  4. 実行 -- process, run, parse, stringify(compileだったか?)使用
  5. 書き出し(オプショナル) -- then使用、processで済んでいるかも。