var path = require('path') var config = require('./config') var utils = require('./utils') var webpack = require('webpack') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var ExtractTextPlugin = require('extract-text-webpack-plugin') var env = config.build.env

var webpackConfig = merge(baseWebpackConfig, {

module: {
  loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true })
},
devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
  path: config.build.assetsRoot,
  filename: utils.assetsPath('[name].[chunkhash].js'),
  chunkFilename: utils.assetsPath('[id].[chunkhash].js')
},
vue: {
  loaders: utils.cssLoaders({
    sourceMap: config.build.productionSourceMap,
    extract: true
  })
},
plugins: [
  // http://vuejs.github.io/vue-loader/en/workflow/production.html
  new webpack.DefinePlugin({
    'process.env': env
  }),
  new webpack.optimize.UglifyJsPlugin({
    compress: {
      warnings: false
    }
  }),
  new webpack.optimize.DedupePlugin(),
  new webpack.optimize.OccurrenceOrderPlugin(),
  // extract css into its own file
  new ExtractTextPlugin(utils.assetsPath('[name].[contenthash].css'))
]

})

module.exports = webpackConfig