this repo has no description
1const Webpack = require("webpack"); 2const ExtractTextPlugin = require("extract-text-webpack-plugin"); 3const CleanPlugin = require("clean-webpack-plugin"); 4const HtmlWebpackPlugin = require("html-webpack-plugin"); 5const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); 6 7const path = require("path"); 8 9const join = (...paths) => path.join(__dirname, ...paths); 10 11module.exports = { 12 resolve: { 13 extensions: [".js", ".css"], 14 modules: ["source", "node_modules"], 15 }, 16 entry: { 17 "main.js": [join("source", "js", "main.js"), join("source", "js", "menu.js")], 18 "prism.js": join("source", "js", "prism.js"), 19 "style.css": join("source", "css", "style.css"), 20 "red.css": join("source", "css", "color", "red.css"), 21 "blue.css": join("source", "css", "color", "blue.css"), 22 "green.css": join("source", "css", "color", "green.css"), 23 "pink.css": join("source", "css", "color", "pink.css"), 24 }, 25 output: { 26 filename: "[name]", 27 path: join("static/assets"), 28 publicPath: "", 29 }, 30 performance: { 31 hints: false, 32 }, 33 module: { 34 rules: [ 35 { 36 test: /\.js$/, 37 exclude: /node_modules/, 38 use: { 39 loader: "babel-loader", 40 options: { 41 presets: ["@babel/preset-env"], 42 }, 43 }, 44 }, 45 { 46 test: /\.(png|jpg|woff|woff2|ttf|eot|svg)$/, 47 use: [ 48 { 49 loader: "url-loader", 50 options: { 51 limit: 8192, 52 }, 53 }, 54 ], 55 }, 56 { 57 test: /\.css$/, 58 use: ExtractTextPlugin.extract({ 59 fallback: "style-loader", 60 use: [ 61 { 62 loader: "css-loader", 63 options: { 64 minimize: true, 65 modules: true, 66 importLoaders: 1, 67 localIdentName: "[local]", 68 }, 69 }, 70 { 71 loader: "postcss-loader", 72 options: { 73 config: { 74 path: "postcss.config.js", 75 }, 76 }, 77 }, 78 ], 79 }), 80 }, 81 ], 82 }, 83 optimization: { 84 splitChunks: { 85 name: "vendor", 86 minChunks: 2, 87 }, 88 minimizer: [ 89 new UglifyJsPlugin({ 90 sourceMap: true, 91 }), 92 ], 93 }, 94 plugins: [new CleanPlugin(join("static/assets")), new ExtractTextPlugin("[name]")], 95};