Node.js製のコマンドラインツールを作った

コマンドラインツールの作り方の勉強として、下のような感じで、htmlから使われているクラスを抽出してCSSに書き出すコマンドラインツールをNode.jsを使って作ってみた。


html (input)

<figure class="photo">
    <img class="photo__img" src="me.jpg">
    <figcaption class="photo__caption">
        <blockquote class="photo__quote">
        Look at me!
        </blockquote>
    </figcaption>
</figure>

css (output)

.photo {

}
.photo__img {

}
.photo__caption {

}
.photo__quote {

}

インストール

npm install extract-classnames

実行

npxが使える場合は下記のコマンドで実行可能。

npx excn --src ./test/index.html --dest ./test/index.css

npxの環境がない場合は、グローバルインストールすれば`excn`だけで実行可能。

npm install extract-classnames -g
excn --src ./test/index.html --dest ./test/index.css

API

また、Node.jsのモジュールとして使う場合のAPIも用意している

extract

const excn = require('extract-classnames');
const result = excn.extract(html);

extractByFile

const excn = require('extract-classnames');
excn.extractByFile('/path/to/filename').then((css) => {
  console.log(css);
});

今回、コマンドラインツールを作るにあたってyargsというnpmのモジュールを利用した。簡単にコマンドやオプションが作れてこれ凄く便利!



Home
Next entry →