summaryrefslogtreecommitdiffstats
path: root/webpack.config.js
blob: be86e5985d05a4e3014a3917e9bfa35cdaf79dd0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const path = require("path")
module.exports = ['login', 'admin'].map(appName => ({
  entry: "./client/src/" + appName + "/jsx/App.jsx",
  output: { filename: "out.js", path: path.resolve(__dirname, "client", appName) },
  mode: "development", watch: true,
  resolve: {
    extensions: ['.js', '.jsx']
  },
  // plugins: [
  //   new CopyPlugin({
  //     patterns: [
  //       {
  //         from: '*.html',
  //         context: 'client/'
  //       },
  //       {
  //         from: './images/*',
  //         context: 'client/'
  //       },
  //     ],
  //   }),
  // ],
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ['style-loader', 'css-loader', 'sass-loader']
      },
      {
        test: /\.css/,
        use: ['style-loader', 'css-loader']
      },
      // {
      //   test: /\.(png|jpg|svg|gif)$/, 
      //   exclude: /node_modules/,
      //   loader: 'file-loader?name=./images/[name].[ext]' 
      // },
      {
        test: /\.(eot|ttf|woff|otf|svg)$/,
        exclude: /node_modules/,
        loader: 'file-loader?name=./fonts/[name].[ext]' 
      },
      {
        test: /\.jsx$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ["es2015", "stage-2", "react"]
          }
        }
      }
    ]
  }
}));