| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- const webpack = require('webpack');
- const helpers = require('./helpers');
- const webpackMerge = require('webpack-merge');
- const webpackMergeDll = webpackMerge.strategy({plugins: 'replace'});
- const commonConfig = require('./webpack.common.js');
- /*
- * Webpack Plugins
- */
- // problem with copy-webpack-plugin
- const AssetsPlugin = require('assets-webpack-plugin');
- const CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin');
- const CopyWebpackPlugin = require('copy-webpack-plugin');
- const DllBundlesPlugin = require('webpack-dll-bundles-plugin').DllBundlesPlugin;
- /*
- * Webpack Constants
- */
- const ENV = process.env.ENV = process.env.NODE_ENV = 'development';
- const HOST = process.env.HOST || '0.0.0.0';
- const PORT = process.env.PORT || 3000;
- const AUTOREFRESH = helpers.hasProcessFlag('autorefresh');
- /*
- * Webpack configuration
- *
- * See: http://webpack.github.io/docs/configuration.html#cli
- */
- module.exports = function (options) {
- return webpackMerge(commonConfig({ env: ENV }), {
- devtool: 'cheap-module-source-map',
- entry: {
- dev: AUTOREFRESH ?
- ['./resource/js/dev', 'reload/lib/reload-client']:
- ['./resource/js/dev'],
- },
- output: {
- path: helpers.root('public/js'),
- publicPath: '/js/',
- filename: '[name].bundle.js',
- sourceMapFilename: '[file].map',
- },
- resolve: {
- extensions: ['.js', '.json'],
- modules: [helpers.root('src'), helpers.root('node_modules')],
- },
- module: {
- rules: [
- {
- test: /\.css$/,
- use: ['style-loader', 'css-loader'],
- include: [helpers.root('resource')]
- },
- {
- test: /\.scss$/,
- use: ['style-loader', 'css-loader', 'sass-loader'],
- include: [helpers.root('resource')]
- },
- ],
- },
- plugins: [
- new DllBundlesPlugin({
- bundles: {
- vendor: [
- 'react',
- 'react-dom',
- 'jquery',
- 'jquery.cookie',
- ],
- },
- dllDir: helpers.root('public/js/dll'),
- webpackConfig: webpackMergeDll(commonConfig({env: ENV}), {
- devtool: 'cheap-module-source-map',
- plugins: [],
- })
- }),
- new webpack.NoEmitOnErrorsPlugin(),
- ]
- });
- }
|