blob: eee4c26ff44290a94d682b46f379e53d60013e3b [file] [log] [blame]
const commonBuilder = require('pulito');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const HtmlWebpackInjectAttributesPlugin = require('html-webpack-inject-attributes-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { resolve } = require('path');
module.exports = (env, argv) => {
const config = commonBuilder(env, argv, __dirname);
config.output.publicPath = '/static/';
// Don't minify the HTML since it contains Go template tags.
config.plugins.forEach((c) => {
if (c instanceof HtmlWebpackPlugin) {
c.options.minify = false;
}
});
config.plugins.push(
new CopyWebpackPlugin([
{
from: resolve(__dirname, 'images/favicon.ico'),
to: 'favicon.ico',
},
{
from: resolve(__dirname, 'images/robocop.jpg'),
to: 'robocop.jpg',
},
{
from: resolve(__dirname, 'images/sheriff.jpg'),
to: 'sheriff.jpg',
},
{
from: resolve(__dirname, 'images/trooper.jpg'),
to: 'trooper.jpg',
},
{
from: resolve(__dirname, 'images/wrangler.jpg'),
to: 'wrangler.jpg',
},
]),
);
config.plugins.push(
new HtmlWebpackInjectAttributesPlugin({
nonce: '{% .Nonce %}',
}),
);
config.resolve = config.resolve || {};
// https://github.com/webpack/node-libs-browser/issues/26#issuecomment-267954095
config.resolve.modules = [resolve(__dirname, 'node_modules')];
return config;
};