gulp.jsのプラグインを作りたい #javascript #gulp.js

こんなgulp.jsのタスクを書いた。用途としてはassetファイルのcache buster用にファイルのハッシュ値を保存しておくため。

var paths = {
  assets: [
    'public/css/**/*.css',
    'public/js/**/*.js',
    'public/img/**/*.svg'
  ]
};

gulp.task('checksum', function() {
  var result = {};
  for (var i = 0; i < paths.assets.length; i++) {
    var files = glob.sync(paths.assets[i]);
    for (var j = 0; j < files.length; j++) {
      var file = files[j];
      if (fs.statSync(file).isFile()) {
        var data = fs.readFileSync(file);
        var hash = crypto.createHash('md5');
        hash.update(data.toString(), 'utf8');
        result[path.basename(file)] = hash.digest('hex');
      }
    }
  }
  fs.writeFileSync(
    'lib/asset-hash.json',
    JSON.stringify(result, null, 2)
  );
});

他のプロジェクトでも使いまわしたいので、gulp.jsのプラグインにしようと思う。ただ作ったことがないので、調べながらだ。npmの公開とかしたことがないのでな。アカウント作るところからだ。

END

Close