var path = require('path'); var stylish = require('jshint-stylish'); var webpack = require('webpack'); var phantom = require('./gulp/phantom'); var uglifyJsPlugin = new webpack.optimize.UglifyJsPlugin(); var uiFolder = 'UI'; var root = path.join(__dirname, 'src', uiFolder); if (phantom) { uiFolder = 'UI.Phantom'; root = path.join(__dirname, uiFolder); } module.exports = { entry: { vendor: 'vendor.js', main: 'main.js' }, resolve: { root: root, alias: { 'vent': 'vent', 'backbone': 'Shims/backbone', 'moment': 'JsLibraries/moment', 'filesize': 'JsLibraries/filesize', 'handlebars': 'Shims/handlebars', 'handlebars.helpers': 'JsLibraries/handlebars.helpers', 'bootstrap': 'JsLibraries/bootstrap', 'backbone.deepmodel': 'Shims/backbone.deep.model', 'backbone.pageable': 'JsLibraries/backbone.pageable', 'backbone-pageable': 'JsLibraries/backbone.pageable', 'backbone.paginator': 'JsLibraries/backbone.paginator', 'backbone.validation': 'Shims/backbone.validation', 'backbone.modelbinder': 'JsLibraries/backbone.modelbinder', 'backbone.collectionview': 'Shims/backbone.collectionview', 'backgrid': 'Shims/backgrid', 'backgrid.paginator': 'Shims/backgrid.paginator', 'backgrid.selectall': 'Shims/backbone.backgrid.selectall', 'fullcalendar': 'JsLibraries/fullcalendar', 'backstrech': 'JsLibraries/jquery.backstretch', 'underscore': 'Shims/underscore', 'marionette': 'Shims/backbone.marionette', 'signalR': 'Shims/jquery.signalR', 'jquery-ui': 'JsLibraries/jquery-ui', 'jquery.knob': 'JsLibraries/jquery.knob', 'jquery.easypiechart': 'JsLibraries/jquery.easypiechart', 'jquery.dotdotdot': 'JsLibraries/jquery.dotdotdot', 'jquery.lazyload': 'JsLibraries/jquery.lazyload', 'messenger': 'Shims/messenger', 'jquery': 'Shims/jquery', 'typeahead': 'JsLibraries/typeahead', 'zero.clipboard': 'JsLibraries/zero.clipboard', 'bootstrap.tagsinput': 'JsLibraries/bootstrap.tagsinput', 'libs': 'JsLibraries/' } }, output: { filename: '_output/' + uiFolder + '/[name].js', sourceMapFilename: '_output/' + uiFolder + '/[name].map' }, plugins: [ new webpack.optimize.CommonsChunkPlugin({ name: 'vendor' }) ], module: { //this doesn't work yet. wainting for https://github.com/spenceralger/rcloader/issues/5 /*preLoaders: [ { test: /\.js$/, // include .js files loader: "jshint-loader", exclude: [/JsLibraries/,/node_modules/] } ] */ } };