Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 5206 | Rev 5318 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
4586 stevensc 1
const path = require("path");
2
const isDevelopment = process.env.NODE_ENV === "development";
3
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
4
const TerserPlugin = require("terser-webpack-plugin");
5
 
6
// Add paths while bundling
7
const paths = {
8
  menu: {
9
    entry: "./react-webpack/menu/index.js",
10
    output: path.join(__dirname, "public/react-bundles/menu"),
11
    filename: "menuBundle.js",
4799 stevensc 12
  },
13
  companySizes: {
14
    entry: "./react-webpack/settings/company-sizes/index.js",
15
    output: path.join(__dirname, "public/react-bundles/settings/company-sizes"),
16
    filename: "companySizesBundle.js",
4586 stevensc 17
  }
18
};
19
 
20
// change active path here
5219 stevensc 21
const currentPath = paths.companySizes;
4586 stevensc 22
 
23
module.exports = {
24
  entry: currentPath.entry,
25
  output: {
26
    path: currentPath.output,
27
    filename: currentPath.filename,
28
  },
29
  watch: isDevelopment ? true : false,
30
  mode: isDevelopment ? "development" : "production",
31
  resolve: {
32
    extensions: [".js", ".jsx", ".scss"],
33
  },
34
  module: {
35
    rules: [
36
      {
37
        test: /(js|jsx)$/,
38
        use: ["babel-loader"],
39
        exclude: /node_modules/,
40
      },
41
      {
42
        test: /\.css$/i,
43
        use: [MiniCssExtractPlugin.loader, "css-loader"],
44
      },
45
      {
46
        test: /\.module\.s(a|c)ss$/,
47
        use: [
48
          MiniCssExtractPlugin.loader,
49
          {
50
            loader: "css-loader",
51
            options: {
52
              modules: {
53
                localIdentName: "[local]--[hash:base64:5]",
54
              },
55
              sourceMap: isDevelopment,
56
            },
57
          },
58
          {
59
            loader: "sass-loader",
60
            options: {
61
              sourceMap: isDevelopment,
62
            },
63
          },
64
        ],
65
      },
66
      {
67
        test: /\.s(a|c)ss$/,
68
        exclude: /\.module.(s(a|c)ss)$/,
69
        use: [
70
          MiniCssExtractPlugin.loader,
71
          "css-loader",
72
          {
73
            loader: "sass-loader",
74
            options: {
75
              sourceMap: isDevelopment,
76
            },
77
          },
78
        ],
79
      },
80
    ],
81
  },
82
  plugins: [
83
    new MiniCssExtractPlugin({
84
      filename: "[name].css",
85
      chunkFilename: "[id].css",
86
    }),
87
  ],
88
  optimization: {
89
    minimizer: [
90
      new TerserPlugin({
91
        extractComments: false,
92
      }),
93
    ],
94
  },
95
};