text: var path = require( 'path' )
  var webpack = require( 'webpack' )
  
  const getEntries = names => {
  	const response = {};
  
  	names.forEach( name => {
  		response[ name ] = `./src/${ name }/main.js`;
  	} );
  
  	return response;
  }
  
  module.exports = {
  	entry: getEntries( [ 'post-view' ] ),
  	output: {
  		path: path.resolve( __dirname, './dist' ),
  		filename: '[name].bundle.js'
  	},
  	module: {
  		rules: [
  			{
  				test: /\.css$/,
  				use: [
  					'vue-style-loader',
  					'css-loader'
  				],
  			}, {
  				test: /\.vue$/,
  				loader: 'vue-loader',
  				options: {
  					loaders: {}
  					// other vue-loader options go here
  				}
  			},
  			{
  				test: /\.js$/,
  				loader: 'babel-loader',
  				exclude: /node_modules/
  			},
  			{
  				test: /\.(png|jpg|gif|svg)$/,
  				loader: 'file-loader',
  				options: {
  					name: '[name].[ext]?[hash]'
  				}
  			}
  		]
  	},
  	resolve: {
  		alias: {
  			'vue$': 'vue/dist/vue.esm.js'
  		},
  		extensions: [ '*', '.js', '.vue', '.json' ]
  	},
  	devServer: {
  		historyApiFallback: true,
  		noInfo: true,
  		overlay: true
  	},
  	performance: {
  		hints: false
  	},
  	devtool: '#eval-source-map'
  }
  
  if ( process.env.NODE_ENV === 'production' ) {
  	module.exports.devtool = '#source-map'
  	// http://vue-loader.vuejs.org/en/workflow/production.html
  	module.exports.plugins = (module.exports.plugins || []).concat( [
  		new webpack.DefinePlugin( {
  			'process.env': {
  				NODE_ENV: '"production"'
  			}
  		} ),
  		new webpack.optimize.UglifyJsPlugin( {
  			sourceMap: true,
  			compress: {
  				warnings: false
  			}
  		} ),
  		new webpack.LoaderOptionsPlugin( {
  			minimize: true
  		} )
  	] )
  }
  