UNPKG

webappengine

Version:

A web application server that can host multiple web apps running with Node.js.

117 lines (115 loc) 3.33 kB
const path = require('path'); const webpack = require('webpack'); const nib = require('nib'); const stylusLoader = require('stylus-loader'); module.exports = { cache: true, target: 'web', devtool: 'eval', entry: { app: [ path.resolve(__dirname, 'src/web/index.js'), // necessary for hot reloading with IE: 'eventsource-polyfill', // listen to code updates emitted by hot middleware: 'webpack-hot-middleware/client' ], vendor: [ // necessary for hot reloading with IE: 'eventsource-polyfill', // listen to code updates emitted by hot middleware: 'webpack-hot-middleware/client' ] }, output: { path: path.join(__dirname, 'dist/web'), filename: '[name].js', publicPath: '/' }, module: { rules: [ { test: /\.jsx?$/, loader: 'eslint-loader', enforce: 'pre', exclude: /node_modules/ }, { test: /\.styl$/, loader: 'stylint-loader', enforce: 'pre' }, { test: /\.jsx?$/, loader: 'babel-loader', exclude: /(node_modules|bower_components)/ }, { test: /\.styl$/, use: [ 'style-loader', 'css-loader', 'stylus-loader' ] }, { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] }, { test: /\.(png|jpg)$/, loader: 'url-loader', query: { limit: 8192 } }, { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader', query: { limit: 10000, mimetype: 'application/font-woff' } }, { test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader' } ] }, plugins: [ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify('development') } }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), new webpack.LoaderOptionsPlugin({ debug: true }), new webpack.NoEmitOnErrorsPlugin(), new stylusLoader.OptionsPlugin({ default: { // nib - CSS3 extensions for stylus use: [nib()], // no need to have a '@import "nib"' in the stylesheet import: ['~nib/lib/nib/index.styl'] } }), new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', filename: 'vendor.js' }) ], resolve: { modules: [ path.resolve(__dirname, 'src/web'), 'node_modules' ], extensions: ['.js', '.json', '.jsx', '.styl'] }, node: { fs: 'empty' } };