freeCodeCamp/webpack.config.node.js

55 lines
1.1 KiB
JavaScript

var fs = require('fs');
var path = require('path');
var webpack = require('webpack');
var nodeModules = fs.readdirSync('node_modules')
.filter(function(x) {
return ['.bin'].indexOf(x) === -1;
})
.reduce(function(nodeModules, module) {
nodeModules[module] = 'commonjs ' + module;
return nodeModules;
}, {});
module.exports = {
devtool: 'sourcemap',
target: 'node',
entry: './common/app',
// keeps webpack from bundling modules
externals: nodeModules,
output: {
filename: 'app-stream.bundle.js',
path: path.join(__dirname, '/server'),
publicPath: 'public/'
},
module: {
loaders: [
{
test: /\.jsx?$/,
include: [
path.join(__dirname, 'client/'),
path.join(__dirname, 'common/')
],
loaders: [
'babel-loader'
]
},
{
test: /\.json$/,
loaders: [
'json-loader'
]
}
]
},
plugins: [
new webpack.BannerPlugin(
'require("source-map-support").install();',
{
raw: true,
entryOnly: false
}
)
]
};