kopia lustrzana https://github.com/nolanlawson/pinafore
				
				
				
			
		
			
				
	
	
		
			81 wiersze
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			81 wiersze
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
| const webpack = require('webpack')
 | |
| const config = require('sapper/webpack/config.js')
 | |
| const ExtractTextPlugin = require('extract-text-webpack-plugin')
 | |
| const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
 | |
| const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
 | |
| 
 | |
| const isDev = config.dev;
 | |
| 
 | |
| module.exports = {
 | |
| 	entry: config.client.entry(),
 | |
| 	output: config.client.output(),
 | |
| 	resolve: {
 | |
| 		extensions: ['.js', '.html']
 | |
| 	},
 | |
| 	module: {
 | |
| 		rules: [
 | |
| 			{
 | |
| 				test: /\.html$/,
 | |
| 				exclude: /node_modules/,
 | |
| 				use: {
 | |
| 					loader: 'svelte-loader',
 | |
| 					options: {
 | |
| 						hydratable: true,
 | |
| 						emitCss: !isDev,
 | |
| 						cascade: false,
 | |
| 						store: true
 | |
| 					}
 | |
| 				}
 | |
| 			},
 | |
| 			isDev && {
 | |
| 				test: /\.css$/,
 | |
| 				use: [
 | |
| 					{ loader: 'style-loader' },
 | |
| 					{ loader: 'css-loader' }
 | |
| 				]
 | |
| 			},
 | |
| 			!isDev && {
 | |
| 				test: /\.css$/,
 | |
| 				/* disable while https://github.com/sveltejs/sapper/issues/79 is open */
 | |
| 				/*use: ExtractTextPlugin.extract({
 | |
| 					fallback: 'style-loader',
 | |
| 					use: [{ loader: 'css-loader', options: { sourceMap:isDev } }]
 | |
| 				}) */
 | |
|         use: [
 | |
|           { loader: 'style-loader' },
 | |
|           { loader: 'css-loader' }
 | |
|         ]
 | |
| 			}
 | |
| 		].filter(Boolean)
 | |
| 	},
 | |
| 	plugins: [
 | |
| 		new webpack.optimize.CommonsChunkPlugin({
 | |
| 			minChunks: 2,
 | |
| 			async: false,
 | |
| 			children: true
 | |
| 		})
 | |
| 	].concat(isDev ? [
 | |
| 		new webpack.HotModuleReplacementPlugin()
 | |
| 	] : [
 | |
|     new webpack.DefinePlugin({
 | |
| 			'process.browser': true,
 | |
| 			'process.env.NODE_ENV': '"production"'
 | |
|     }),
 | |
| 		/* disable while https://github.com/sveltejs/sapper/issues/79 is open */
 | |
|     //new ExtractTextPlugin('main.css'),
 | |
| 		new webpack.optimize.ModuleConcatenationPlugin(),
 | |
| 		new UglifyJSPlugin(),
 | |
|     new BundleAnalyzerPlugin({ // generates report.html and stats.json
 | |
|       analyzerMode: 'static',
 | |
|       generateStatsFile: true,
 | |
|       statsOptions: {
 | |
|         // allows usage with http://chrisbateman.github.io/webpack-visualizer/
 | |
|         chunkModules: true,
 | |
|       },
 | |
|       openAnalyzer: false,
 | |
|       logLevel: 'silent', // do not bother Webpacker, who runs with --json and parses stdout
 | |
|     }),
 | |
| 	]).filter(Boolean),
 | |
| 	devtool: isDev && 'inline-source-map'
 | |
| };
 |