Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Select Git revision
  • 01a7998e6ab073b5777dd6380609c1397d632c9d
  • master default protected
  • feature/surveys2
  • deploy-runtime
  • deploy
5 results

Button.css

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    webpack.prod.config.js 1.87 KiB
    var path = require("path")
    var webpack = require('webpack')
    var BundleTracker = require('webpack-bundle-tracker')
    var CompressionPlugin = require('compression-webpack-plugin')
    
    module.exports = {
      context: __dirname,
    
      entry: './assets/js/index', // entry point of our app. assets/js/index.js should require other js modules and dependencies it needs
    
      output: {
          path: path.resolve('./assets/bundles/'),
          filename: "[name]-[hash].js"
      },
    
      plugins: [
        new BundleTracker({filename: './webpack-stats.json'}),
    
        // removes a lot of debugging code in React
        new webpack.DefinePlugin({
          'process.env': {
            'NODE_ENV': JSON.stringify('production')
        }}),
    
        // keeps hashes consistent between compilations
        new webpack.optimize.AggressiveMergingPlugin(),
        new webpack.optimize.OccurrenceOrderPlugin(),
        new webpack.optimize.DedupePlugin(),
        new webpack.optimize.UglifyJsPlugin({
          minimize : true,
          mangle: true,
          compress: {
            warnings: false, // Suppress uglification warnings
            pure_getters: true,
            unsafe: true,
            unsafe_comps: true,
            screw_ie8: true
          },
          output: {
            comments: false,
          },
          exclude: [/\.min\.js$/gi] // skip pre-minified libs
        }),
    
        new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/]),
    
        new CompressionPlugin({
          asset: "[path].gz[query]",
          algorithm: "gzip",
          test: /\.js$|\.css$|\.html$/,
          threshold: 10240,
          minRatio: 0.8,
          deleteOriginalAssets: true,
        })
      ],
    
      module: {
        loaders: [
          { test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel-loader', // to transform JSX into JS
            query:
            {
              presets:['react', 'es2015', 'stage-1']
            }
          }
        ],
      },
    
      resolve: {
        modulesDirectories: ['node_modules', 'bower_components'],
        extensions: ['', '.js', '.jsx']
      },
    }