npm-scriptsでgrunt-bower-taskの代用をする

grunt-bower-taskみたく、柔軟にこのライブラリはここ、みたいな書き方はできないのだけど。というか各種コマンドでちょっと工夫したくらいなので大した内容ではないのだけど。

Grepfileとかいうファイルを用意して、取得したいファイルのファイル名を書いておく。ファイル名はGrepfileでなくても別になんでも良い。

jquery.min.js
vue.min.js

package.jsonに以下のようなnpm-scriptsを書いておく。

{
  "private": true,
  "scripts": {
    "copy-lib": "find ./bower_components -type f | grep -f Grepfile | xargs -I{} -n 1 cp {} ./source"
  }
}

bower installを実行した後に、npm run copy-libをすると./sourceにGrepfileに書いたファイルがコピーされる。

工夫、というのはただ単にファイルのリストを別ファイルに書いてgrepの-fで読むようにしてコマンドを短くしただけ。

脱Grunt/gulp/Makefileをしてnpm-scriptsで頑張ろうとするとこうなるという感じがする。