Files
trunk-server/frontend-old/webpack/webpack.config.prod.js
2020-12-31 09:45:28 -05:00

61 lines
1.4 KiB
JavaScript

var path = require("path")
var webpack = require("webpack")
var assetsPath = path.join(__dirname, "..", "public", "assets")
var publicPath = "/assets/"
const configMerge = require('webpack-merge')
const commonConfig = require('./webpack.config.common')
const paths = require('./paths')
// This is the production configuration.
// It compiles slowly and is focused on producing a fast and minimal bundle.
// The development configuration is different and lives in a separate file.
module.exports = configMerge(commonConfig, {
// The configuration for the client
name: "browser",
mode: 'production',
devtool: "source-map",
// The base directory (absolute path!) for resolving the entry option.
context: path.join(__dirname, "..", "src", "client"),
entry: {
app: "./client"
},
output: {
path: assetsPath,
filename: "[name].min.js",
publicPath: publicPath
},
resolve: {
extensions: [".js", ".jsx"],
modules: [
path.resolve('src'),
'node_modules',
],
},
module: {
rules: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'babel-loader',
}
],
},
resolve: {
alias: {
'../../theme.config$': path.resolve(paths.appSrc, 'styling/theme.config'),
heading: path.resolve(paths.appSrc, 'styling/heading.less'),
},
},
plugins: [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify("production")
}
})
]
})