Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 5512 | Rev 5580 | 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",
5318 stevensc 17
  },
18
  competencyTypes: {
19
    entry: "./react-webpack/settings/competency-types/index.js",
20
    output: path.join(__dirname, "public/react-bundles/settings/competency-types"),
21
    filename: "competencyTypesBundle.js",
4586 stevensc 22
  }
23
};
24
 
25
// change active path here
5573 stevensc 26
const currentPath = paths.competencyTypes;
4586 stevensc 27
 
28
module.exports = {
29
  entry: currentPath.entry,
30
  output: {
31
    path: currentPath.output,
32
    filename: currentPath.filename,
33
  },
34
  watch: isDevelopment ? true : false,
35
  mode: isDevelopment ? "development" : "production",
36
  resolve: {
37
    extensions: [".js", ".jsx", ".scss"],
38
  },
39
  module: {
40
    rules: [
41
      {
42
        test: /(js|jsx)$/,
43
        use: ["babel-loader"],
44
        exclude: /node_modules/,
45
      },
46
      {
47
        test: /\.css$/i,
48
        use: [MiniCssExtractPlugin.loader, "css-loader"],
49
      },
50
      {
51
        test: /\.module\.s(a|c)ss$/,
52
        use: [
53
          MiniCssExtractPlugin.loader,
54
          {
55
            loader: "css-loader",
56
            options: {
57
              modules: {
58
                localIdentName: "[local]--[hash:base64:5]",
59
              },
60
              sourceMap: isDevelopment,
61
            },
62
          },
63
          {
64
            loader: "sass-loader",
65
            options: {
66
              sourceMap: isDevelopment,
67
            },
68
          },
69
        ],
70
      },
71
      {
72
        test: /\.s(a|c)ss$/,
73
        exclude: /\.module.(s(a|c)ss)$/,
74
        use: [
75
          MiniCssExtractPlugin.loader,
76
          "css-loader",
77
          {
78
            loader: "sass-loader",
79
            options: {
80
              sourceMap: isDevelopment,
81
            },
82
          },
83
        ],
84
      },
85
    ],
86
  },
87
  plugins: [
88
    new MiniCssExtractPlugin({
89
      filename: "[name].css",
90
      chunkFilename: "[id].css",
91
    }),
92
  ],
93
  optimization: {
94
    minimizer: [
95
      new TerserPlugin({
96
        extractComments: false,
97
      }),
98
    ],
99
  },
100
};