Advertisement
Guest User

Untitled

a guest
Oct 15th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Box Modules */
  2. import path from 'path';
  3. import HtmlWebpackPlugin from 'html-webpack-plugin';
  4. import merge from 'webpack-merge';
  5. import webpack from 'webpack';
  6. /* My Modules */
  7. import devServer from './webpack/devserver';
  8. import extractCSS from './webpack/css.extract';
  9. import pug from './webpack/pug';
  10. import uglify from './webpack/js.uglify';
  11. import minify from './webpack/css.minify';
  12. import react from './webpack/react';
  13. import css from './webpack/css';
  14.  
  15. const PATHS = {
  16.   src: path.join(__dirname, 'src'),
  17.   app: path.join(__dirname, 'app'),
  18. };
  19.  
  20. const common = merge([
  21.   {
  22.     entry: `${PATHS.src}/index.js`,
  23.     output: {
  24.       path: PATHS.app,
  25.       filename: 'js/app.js',
  26.     },
  27.     plugins: [
  28.       new HtmlWebpackPlugin({
  29.         template: `${PATHS.src}/index.pug`,
  30.       }),
  31.       new webpack.ProvidePlugin({
  32.         Popper: ['popper.js', 'default'],
  33.       }),
  34.     ],
  35.   },
  36.   react(),
  37.   pug(),
  38.   // fonts(),
  39. ]);
  40.  
  41. export default (env) => {
  42.   const cfgArr = env === 'production' ?
  43.     [
  44.       common,
  45.       extractCSS(),
  46.       uglify(),
  47.       minify(),
  48.     ] :
  49.     [
  50.       common,
  51.       css(),
  52.       devServer(),
  53.     ];
  54.  
  55.   return merge(cfgArr);
  56. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement