blob: ee3eee6f25b54ae5ff0b133aa9aaa8cb26e6ec23 [file] [log] [blame]
import { resolve } from 'path';
import webpack from 'webpack';
import CopyWebpackPlugin from 'copy-webpack-plugin';
import commonBuilder from '../infra-sk/pulito/webpack.common';
const configFactory: webpack.ConfigurationFactory = (_, args) => {
const config = commonBuilder(__dirname, args.mode);
config.output!.publicPath = '/dist/';
config.resolve = config.resolve || {};
// https://github.com/webpack/node-libs-browser/issues/26#issuecomment-267954095
config.resolve.modules = [resolve(__dirname, '..', 'node_modules')];
// Copy static assets into the //golden/dist directory.
const copyPatterns: any[] = [{
from: resolve(__dirname, 'static/favicon.ico'), to: 'favicon.ico',
}];
if (args.mode !== 'production') {
copyPatterns.push({from: resolve(__dirname, 'demo-page-assets')});
}
config.plugins!.push(new CopyWebpackPlugin(copyPatterns));
return config;
};
export = configFactory;