copy-webpack-plugin でファイルを別階層にコピーする

f:id:jotaki:20181228214933p:plain

copy-webpack-plugin の設定でちょっとはまったのでメモ
webpack-contrib/copy-webpack-plugin: Copy files and directories with webpack

やりたいこと

src/ 以下の特定階層ファイル( src/library/*.js )を app/ 以下の階層にコピーしたい

webpack.config.js

const CopyPlugin = require('copy-webpack-plugin');

module.exports = {
  plugins: [
    new CopyPlugin([
      {
        from: `${__dirname}/src/js/library/*.js`,
        to: `${__dirname}/app/_assets`,
        context: `${__dirname}/src`
      }
    ]),
  ]
};

こうすると出力は app/_assets/js/*.js になる。

context の書き方が変なのかもしれませんが、from / to / context__dirname がないままだとうまくコピーしてくれませんでした。