diff --git a/lib/middleware/webpack.js b/lib/middleware/webpack.js index 05b93b3e..30dda3bc 100644 --- a/lib/middleware/webpack.js +++ b/lib/middleware/webpack.js @@ -1,62 +1,17 @@ var webpackMiddleware = require('webpack-dev-middleware') var webpack = require('webpack') +var _ = require('lodash') -var pathutil = require('../util/pathutil') +var webpackOptions = require('../../webpack.config.js') -var webpackOptions = { - cache: true, +var overrideOptions = { debug: true, - devtool: 'eval', - entry: pathutil.resource('app') + '/app.js', - output: { - path: '/static/build/', - filename: 'bundle.js' - }, - resolve: { - modulesDirectories: [ - pathutil.resource('bower_components'), - pathutil.resource('app') + '/components', - 'web_modules', - './../../node_modules' - ], - alias: { - 'socket.io': 'socket.io-client/dist/socket.io', - 'oboe': 'oboe/dist/oboe-browser' - } - }, - module: { - loaders: [ - { test: /\.css$/, loader: 'style!css' }, - { test: /\.jpg$/, loader: "url-loader?prefix=static/&limit=10000&minetype=image/jpeg" }, - { test: /\.png$/, loader: "url-loader?prefix=static/&limit=10000&minetype=image/png" }, - { test: /\.gif$/, loader: "url-loader?prefix=static/&limit=10000&minetype=image/gif" }, - { test: /\.svg/, loader: "url-loader?prefix=static/&limit=10000&minetype=image/svg+xml" }, - { test: /\.woff$/, loader: "url-loader?prefix=static/&limit=10000&minetype=font-woff" }, - { test: /\.otf$/, loader: "url-loader?prefix=static/&limit=10000&minetype=octet-stream" }, - { test: /\.ttf$/, loader: "url-loader?prefix=static/&limit=10000&minetype=octet-stream" }, - { test: /\.eot$/, loader: "url-loader?prefix=static/&limit=10000&minetype=vnd.ms-fontobject" }, - { test: /\.jade/, loader: 'template-html-loader' }, - { test: /\.html/, loader: 'html-loader' }, - { test: /angular\.js/, loader: 'exports?angular'}, - { test: /angular-route\.js/, loader: 'imports?angular=angular'}, - { test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'} - ], - noParse: [ - // pathutil.resource('bower_components') - ] - }, - plugins: [ - new webpack.ResolverPlugin( - new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main']) - ), - new webpack.ResolverPlugin( - new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main']) - ) -// ,new webpack.optimize.UglifyJsPlugin({mangle: false}) - ] + devtool: 'eval' } -module.exports = webpackMiddleware(webpack(webpackOptions), { +var finalOptions = _.assign(webpackOptions, overrideOptions) + +module.exports = webpackMiddleware(webpack(finalOptions), { noInfo: false, quiet: false, lazy: false, diff --git a/webpack.config.js b/webpack.config.js index 618c79f3..2cc4b4bf 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,17 +1,52 @@ +var pathutil = require('./lib/util/pathutil') +var webpack = require('webpack') +var path = require('path') + module.exports = { - cache: true -, debug: true -, devtool: 'inline-source-map' -, entry: './res/app/scripts/entry.js' -, output: { - path: './res/app/build/' - , filename: 'bundle.js' - } -, resolve: { - modulesDirectories: ['./res/bower_components', 'node_modules'] - } -, loaders: [ - { test: /\.css$/, loader: 'style!css' } - , { test: /\.coffee$/, loader: 'coffee' } + cache: true, + entry: pathutil.resource('app') + '/app.js', + output: { + path: pathutil.resource('build'), + publicPath: '/static/build/', + filename: 'bundle.js' + }, + resolve: { + modulesDirectories: [ + pathutil.resource('bower_components'), + pathutil.resource('app') + '/components', + 'web_modules', + './node_modules' + ], + alias: { + 'socket.io': 'socket.io-client/dist/socket.io', + 'oboe': 'oboe/dist/oboe-browser' + } + }, + module: { + loaders: [ + { test: /\.css$/, loader: 'style!css' }, + { test: /\.jpg$/, loader: "url-loader?limit=5000&mimetype=image/jpeg" }, + { test: /\.png$/, loader: "url-loader?limit=5000&mimetype=image/png" }, + { test: /\.gif$/, loader: "url-loader?limit=5000&mimetype=image/gif" }, + { test: /\.svg$/, loader: "url-loader?limit=5000&mimetype=image/svg+xml" }, + { test: /\.woff$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, + { test: /\.otf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, + { test: /\.ttf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, + { test: /\.eot$/, loader: "url-loader?limit=5000&mimetype=vnd.ms-fontobject" }, + { test: /\.jade/, loader: 'template-html-loader' }, + { test: /\.html/, loader: 'html-loader' }, + { test: /angular\.js/, loader: 'exports?angular'}, + { test: /angular-route\.js/, loader: 'imports?angular=angular'}, + { test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'} + ], + noParse: [ + // pathutil.resource('bower_components') + ] + }, + plugins: [ + new webpack.ResolverPlugin( + new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main']) + ) +// ,new webpack.optimize.UglifyJsPlugin({mangle: false}) ] }