はじめに
webpackのentryでワイルドカードを使いたいけど、標準機能でワイルドカードは使えません。こういう場合、どうすればいいのでしょうか。
globを使いましょう
公式サイトでも言われているように、globを使いましょう。コードのイメージはこんな感じです。
var glob = require("glob");
// ...
entry: glob.sync("./test/**/*Spec.js")
公式サイト
https://github.com/webpack/webpack/issues/370#issuecomment-49835937
少しだけ応用的な話
勘のいい人は気付いたかもしれませんが、実はwebpack.config.jsではnpmモジュールを読み込むことができます。もちろん自作のjavascriptを読み込むこともできます。これがさりげに便利なところでサーバサイドがnode.jsの場合に、サーバ側で使っているファイル抽出ロジックをwebpackでそのまま使うことができます。
手前味噌で申し訳ありませんが、自作ゲームのGブレイバーではテストコード抽出ロジックをサーバサイドとテストコードで同じモジュールを参照するようにしています。
テストコード抽出ロジック
https://github.com/kaidouji85/gbraver/blob/f3fae41f6c8a5530325f598e9aaf5d68f75f11da/testGlob/index.js
サーバサイドの参照
https://github.com/kaidouji85/gbraver/blob/f3fae41f6c8a5530325f598e9aaf5d68f75f11da/app.js#L23
webpack.configでの参照
https://github.com/kaidouji85/gbraver/blob/f3fae41f6c8a5530325f598e9aaf5d68f75f11da/grunt/webpack/webpack.test.config.js#L1
大元のgithubはこちら
https://github.com/kaidouji85/gbraver