Permalink
| 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 | |
| } | |
| ) | |
| ] | |
| }; |