使われていないモジュールIDを調べるためにgulpのpluginを作った

a-blog cmsの話ですが、サイトにモジュールIDが100個ほど存在すると、どれが現在サイトで使っている物でどれが使っていない物なのかが把握しづらくなります。昔使っていて今は使っていないモジュールIDなどもきっとあるのではないでしょうか?
これまで、モジュールIDを使っているかいないかをSublimeTextを使ってthemesディレクトリの中を検索していましたが、それでもこれだけ大量にあると大変になってきました。
そこで今回作成したのが、str-finderというgulpのプラグインです。
これを使うと以下のように、どこのファイルでその文字列が使われているかという事を抜き出してくれます。
また文字列が見つからない場合は[not Found]と出力されます。
以下は出力結果例です。

name,path
categoryList,moduleid.csv
categoryList,blog2015/index.html
categoryList,cart@blog2015/order.html
categoryList,site2015/include/module/category/list.html
categoryList,system/admin/tooltip/config/category/list.html
categoryEntrySummary,moduleid.csv
categoryEntrySummary,site2015/include/module/category/summary.html
categoryEntrySummary,system/admin/tooltip/config/category/entry-summary.html
testtestEntrySummary,not Found

また、[notFoundOnly]というオプションを使えば、見つからなかった文字列だけをリスト化して表示してくれます。

testtestEntrySummary,not Found
steelydylanModuleField,not Found
SearchField,not Found

インストール方法

コマンドラインで以下のように入力するだけでダウンロードできます。

npm install str-finder

使い方

以下がソース例になります。今回の例では、moduleid.csvというファイルから、dist.csvというファイルを出力しています。

gulpfile.js

var gulp = require("gulp");
var finder = require("str-finder");
var rename = require("gulp-rename");
gulp.task('module_search',function(){
     gulp.src("./moduleid.csv")
          .pipe(finder({dir:"themes",notFoundOnly:false}))
          .pipe(rename({basename:"dist",extname:".csv"}))
          .pipe(gulp.dest("./"));
});
 
gulp.task('default',['module_search']);

moduleid.csv(入力用ファイル)

カンマ区切りで文字列を記述していきます。
[delimiter]というオプションに["\n"]をしていすれば改行区切りも可能です。

categoryList,categoryEntrySummary,testtestEntrySummary,steelydylanModuleField,SearchField

オプション

finder({
    dir:"./",//検索するディレクトリ
    notFoundOnly:false,//見つからなかった文字列だけを表示する
    delimiter:","//ソースファイルの文字列の区切り文字
});

堀 悟大

アップルップル フロントエンドエンジニア。2014年高知大学理学部卒業。学生時代にHTML5のCanvas要素を使ってゲームを作っていたことでWeb全般に興味をもつ。アップルップル入社後はa-blog cmsを便利に使うための機能の実装や、HTML5の技術を使ったデジタルサイネージの実装を行う。趣味は英語。読むことも話すことも好き。

Home
Next entry →