github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/build-blockchain-insurance-app-master/web/webpack.config.prod.js (about)

     1  import webpack from 'webpack';
     2  import { resolve } from 'path';
     3  import autoprefixer from 'autoprefixer';
     4  
     5  const GLOBALS = {
     6    'process.env.NODE_ENV': JSON.stringify('production')
     7  };
     8  
     9  export default {
    10    devtool: 'source-map',
    11    entry: {
    12      'common': [
    13        'babel-polyfill',
    14        'isomorphic-fetch',
    15        resolve(__dirname, 'src/common')
    16      ],
    17      'shop': resolve(__dirname, 'src/shop/index'),
    18      'police': resolve(__dirname, 'src/police/index'),
    19      'repair-shop': resolve(__dirname, 'src/repair-shop/index'),
    20      'insurance': resolve(__dirname, 'src/insurance/index'),
    21      'block-explorer': resolve(__dirname, 'src/block-explorer/index')
    22    },
    23    target: 'web',
    24    output: {
    25      path: resolve(__dirname, '../app/static/js'), // Note: Physical files are only output by the production build task `npm run build`.
    26      publicPath: '/',
    27      filename: '[name].bundle.js'
    28    },
    29    plugins: [
    30      new webpack.DefinePlugin(GLOBALS),
    31      new webpack.optimize.UglifyJsPlugin()
    32    ],
    33    module: {
    34      rules: [
    35        { test: /\.js$/, use: ['babel-loader'] },
    36        {
    37          test: /(\.css)$/, use: ['style-loader', 'css-loader',
    38            {
    39              loader: 'postcss-loader',
    40              options: {
    41                plugins: () => [autoprefixer('last 5 versions', 'ie 10')]
    42              }
    43            }
    44          ]
    45        },
    46        {
    47          test: /(\.scss)$/, use: [
    48            'style-loader', 'css-loader',
    49            {
    50              loader: 'postcss-loader',
    51              options: {
    52                plugins: () => [autoprefixer('last 5 versions', 'ie 10')]
    53              }
    54            },
    55            {
    56              loader: 'sass-loader',
    57              options: {
    58                includePaths: [
    59                  resolve(__dirname, 'node_modules/normalize-scss/sass')
    60                ]
    61              }
    62            }
    63          ]
    64        },
    65        { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, use: 'file-loader' },
    66        { test: /\.(woff|woff2)$/, use: 'url?prefix=font/&limit=5000' },
    67        { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=application/octet-stream' },
    68        { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, use: 'url-loader?limit=10000&mimetype=image/svg+xml' }
    69      ]
    70    }
    71  };