1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-03 17:59:28 +02:00

Moved webpack server configuration to webpack.config.

This commit is contained in:
Gunther Brunner 2014-08-21 15:09:15 +09:00
parent dac22bd85a
commit 5559352585
5 changed files with 91 additions and 91 deletions

View file

@ -4,13 +4,13 @@ var jshint = require('gulp-jshint')
var jsonlint = require('gulp-jsonlint') var jsonlint = require('gulp-jsonlint')
var webpack = require('webpack') var webpack = require('webpack')
var ngminPlugin = require('ngmin-webpack-plugin') var ngminPlugin = require('ngmin-webpack-plugin')
var webpackConfig = require('./webpack.config.js') var webpackConfig = require('./webpack.config').webpack
var webpackStatusConfig = require('./res/common/status/webpack.config.js') var webpackStatusConfig = require('./res/common/status/webpack.config')
var gettext = require('gulp-angular-gettext') var gettext = require('gulp-angular-gettext')
var jade = require('gulp-jade') var jade = require('gulp-jade')
var clean = require('gulp-clean') var clean = require('gulp-clean')
var protractor = require("gulp-protractor") var protractor = require("gulp-protractor")
var protractorConfig = require('./res/test/protractor.conf.js') var protractorConfig = require('./res/test/protractor.conf')
var karma = require('karma').server var karma = require('karma').server
var karmaConfig = '/res/test/karma.conf.js' var karmaConfig = '/res/test/karma.conf.js'
var stream = require('stream') var stream = require('stream')

View file

@ -21,6 +21,8 @@ var deviceIconMiddleware = require('./app/middleware/device-icons')
var browserIconMiddleware = require('./app/middleware/browser-icons') var browserIconMiddleware = require('./app/middleware/browser-icons')
var appstoreIconMiddleware = require('./app/middleware/appstore-icons') var appstoreIconMiddleware = require('./app/middleware/appstore-icons')
var webpackServerConfig = require('./../../webpack.config').webpackServer
module.exports = function(options) { module.exports = function(options) {
var log = logger.createLogger('app') var log = logger.createLogger('app')
, app = express() , app = express()
@ -45,13 +47,8 @@ module.exports = function(options) {
})) }))
} }
else { else {
app.use('/static/app/build', require('./app/middleware/webpack')({ app.use('/static/app/build',
debug: true require('./app/middleware/webpack')(webpackServerConfig))
, devtool: 'eval'
, stats: {
colors: true
}
}))
} }
app.use('/static/bower_components', app.use('/static/bower_components',

View file

@ -9,7 +9,7 @@ var MemoryFileSystem = require('webpack/node_modules/memory-fs')
var logger = require('../../../util/logger') var logger = require('../../../util/logger')
var lifecycle = require('../../../util/lifecycle') var lifecycle = require('../../../util/lifecycle')
var globalOptions = require('../../../../webpack.config') var globalOptions = require('../../../../webpack.config').webpack
// Similar to webpack-dev-middleware, but integrates with our custom // Similar to webpack-dev-middleware, but integrates with our custom
// lifecycle, behaves more like normal express middleware, and removes // lifecycle, behaves more like normal express middleware, and removes

View file

@ -1,5 +1,5 @@
var pathutil = require('./../../../lib/util/pathutil') var pathutil = require('./../../../lib/util/pathutil')
var options = require('./../../../webpack.config.js') var options = require('./../../../webpack.config').webpack
var _ = require('lodash') var _ = require('lodash')
module.exports = _.defaults(options, { module.exports = _.defaults(options, {

View file

@ -3,74 +3,69 @@ var webpack = require('webpack')
var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin") var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin")
module.exports = { module.exports = {
cache: true webpack: {
, entry: { cache: true,
app: pathutil.resource('app/app.js') entry: {
, authldap: pathutil.resource('auth/ldap/scripts/entry.js') app: pathutil.resource('app/app.js'),
, authmock: pathutil.resource('auth/mock/scripts/entry.js') authldap: pathutil.resource('auth/ldap/scripts/entry.js'),
} authmock: pathutil.resource('auth/mock/scripts/entry.js')
, output: { },
path: pathutil.resource('build') output: {
, publicPath: '/static/app/build/' path: pathutil.resource('build'),
, filename: 'entry/[name].entry.js' publicPath: '/static/app/build/',
, chunkFilename: '[id].[hash].chunk.js' filename: 'entry/[name].entry.js',
} chunkFilename: '[id].[hash].chunk.js'
, stats: { },
stats: {
colors: true colors: true
} },
, resolve: { resolve: {
modulesDirectories: [ modulesDirectories: [
pathutil.resource('app/components') pathutil.resource('app/components')
, pathutil.resource('web_modules') , pathutil.resource('web_modules')
, pathutil.resource('bower_components') , pathutil.resource('bower_components')
, './node_modules' , './node_modules'
] ],
, alias: { alias: {
'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls' 'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls',
, 'localforage': 'localforage/dist/localforage.js' 'localforage': 'localforage/dist/localforage.js',
, 'socket.io': 'socket.io-client' 'socket.io': 'socket.io-client',
, 'oboe': 'oboe/dist/oboe-browser' 'oboe': 'oboe/dist/oboe-browser',
, 'bluebird': 'bluebird/js/browser/bluebird' 'bluebird': 'bluebird/js/browser/bluebird'
} }
} },
, module: { module: {
loaders: [ loaders: [
{ test: /\.css$/, loader: 'style!css' } { test: /\.css$/, loader: 'style!css' },
, { test: /\.less$/, loader: 'style-loader!css-loader!less-loader'} { test: /\.less$/, loader: 'style-loader!css-loader!less-loader'},
, { test: /\.json$/, loader: 'json' } { test: /\.json$/, loader: 'json' },
, { test: /\.jpg$/, loader: "url-loader?limit=1000&mimetype=image/jpeg" } { test: /\.jpg$/, loader: "url-loader?limit=1000&mimetype=image/jpeg" },
, { test: /\.png$/, loader: "url-loader?limit=1000&mimetype=image/png" } { test: /\.png$/, loader: "url-loader?limit=1000&mimetype=image/png" },
, { test: /\.gif$/, loader: "url-loader?limit=1000&mimetype=image/gif" } { test: /\.gif$/, loader: "url-loader?limit=1000&mimetype=image/gif" },
, { test: /\.svg$/ { test: /\.svg$/, loader: "url-loader?limit=1&mimetype=image/svg+xml" },
, loader: "url-loader?limit=1&mimetype=image/svg+xml" } { test: /\.woff$/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
, { test: /\.woff$/ { test: /\.otf$/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
, loader: "url-loader?limit=1&mimetype=application/font-woff" } { test: /\.ttf$/, loader: "url-loader?limit=1&mimetype=application/font-woff" },
, { test: /\.otf$/ { test: /\.eot$/, loader: "url-loader?limit=1&mimetype=vnd.ms-fontobject" },
, loader: "url-loader?limit=1&mimetype=application/font-woff" } { test: /\.jade/, loader: 'template-html-loader' },
, { test: /\.ttf$/ { test: /\.html/, loader: 'html-loader' },
, loader: "url-loader?limit=1&mimetype=application/font-woff" } { test: /angular\.js/, loader: 'exports?angular'},
, { test: /\.eot$/ { test: /angular-route\.js/, loader: 'imports?angular=angular'},
, loader: "url-loader?limit=1&mimetype=vnd.ms-fontobject" } { test: /angular-touch\.js/, loader: 'imports?angular=angular'},
, { test: /\.jade/ { test: /angular-animate\.js/, loader: 'imports?angular=angular'},
, loader: 'template-html-loader' } { test: /angular-growl\.js/, loader: 'imports?angular=angular'},
, { test: /\.html/, loader: 'html-loader' } { test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'},
, { test: /angular\.js/, loader: 'exports?angular'} { test: /uuid\.js/, loader: 'imports?require=>undefined'},
, { test: /angular-route\.js/, loader: 'imports?angular=angular'} { test: /localforage\.js/, loader: 'script'},
, { test: /angular-touch\.js/, loader: 'imports?angular=angular'} { test: /ui-bootstrap-tpls\.js/, loader: 'script'},
, { test: /angular-animate\.js/, loader: 'imports?angular=angular'} { test: /dialogs\.js/, loader: 'script'},
, { test: /angular-growl\.js/, loader: 'imports?angular=angular'} { test: /bluebird\.js/, loader: 'imports?require=>undefined'}
, { test: /oboe-browser\.js/, loader: 'imports?define=>false!exports?oboe'} ],
, { test: /uuid\.js/, loader: 'imports?require=>undefined'} noParse: [
, { test: /localforage\.js/, loader: 'script'}
, { test: /ui-bootstrap-tpls\.js/, loader: 'script'}
, { test: /dialogs\.js/, loader: 'script'}
, { test: /bluebird\.js/, loader: 'imports?require=>undefined'}
]
, noParse: [
// pathutil.resource('bower_components') // pathutil.resource('bower_components')
] ]
} },
, plugins: [ plugins: [
new webpack.ResolverPlugin( new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin( new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json' 'bower.json'
@ -85,4 +80,12 @@ module.exports = {
) )
, new CommonsChunkPlugin("entry/commons.entry.js") , new CommonsChunkPlugin("entry/commons.entry.js")
] ]
},
webpackServer: {
debug: true,
devtool: 'eval',
stats: {
colors: true
}
}
} }