1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 10:19:30 +02:00

Fix all JSHint complaints in Node.js code.

This commit is contained in:
Simo Kinnunen 2014-03-19 20:36:46 +09:00
parent f62ce4acc1
commit b4416b5f0f
31 changed files with 126 additions and 119 deletions

View file

@ -9,7 +9,6 @@
"noempty": true, "noempty": true,
"nonbsp": true, "nonbsp": true,
"nonew": true, "nonew": true,
"quotmark": "single",
"undef": true, "undef": true,
"unused": true, "unused": true,
"trailing": true, "trailing": true,

View file

@ -17,7 +17,7 @@ module.exports = function (grunt) {
} }
}, },
nggettext_extract: { 'nggettext_extract': {
pot: { pot: {
files: { files: {
'res/lang/po/template.pot': ['tmp/html/all.html', 'res/app/**/*.js'] 'res/lang/po/template.pot': ['tmp/html/all.html', 'res/app/**/*.js']
@ -25,7 +25,7 @@ module.exports = function (grunt) {
} }
}, },
nggettext_compile: { 'nggettext_compile': {
all: { all: {
files: { files: {
'res/lang/translations.js': ['res/lang/po/*.po'] 'res/lang/translations.js': ['res/lang/po/*.po']
@ -34,6 +34,10 @@ module.exports = function (grunt) {
} }
}) })
grunt.registerTask('translate', ['jade:translate', 'nggettext_extract', 'nggettext_compile']) grunt.registerTask('translate', [
'jade:translate'
, 'nggettext_extract'
, 'nggettext_compile'
])
grunt.registerTask('default', ['translate']) grunt.registerTask('default', ['translate'])
} }

10
gulpfile.js Normal file
View file

@ -0,0 +1,10 @@
var gulp = require('gulp')
var jshint = require('gulp-jshint')
gulp.task('lint', function() {
gulp.src(['lib/**/*.js', '*.js'])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
})
gulp.task('test', ['lint'])

View file

@ -520,13 +520,13 @@ program
, '--auth-url', util.format('http://localhost:%d/', options.authPort) , '--auth-url', util.format('http://localhost:%d/', options.authPort)
, '--connect-sub', options.bindAppPub , '--connect-sub', options.bindAppPub
, '--connect-push', options.bindAppPull , '--connect-push', options.bindAppPull
].concat(function() { ].concat((function() {
var extra = [] var extra = []
if (options.disableWatch) { if (options.disableWatch) {
extra.push('--disable-watch') extra.push('--disable-watch')
} }
return extra return extra
}())) })()))
] ]
function shutdown() { function shutdown() {

View file

@ -1,8 +1,6 @@
var r = require('rethinkdb') var r = require('rethinkdb')
var Promise = require('bluebird')
var db = require('./') var db = require('./')
var wire = require('../wire')
var wireutil = require('../wire/util') var wireutil = require('../wire/util')
var dbapi = Object.create(null) var dbapi = Object.create(null)
@ -85,7 +83,7 @@ dbapi.setDeviceOwner = function(serial, owner) {
})) }))
} }
dbapi.unsetDeviceOwner = function(serial, owner) { dbapi.unsetDeviceOwner = function(serial) {
return db.run(r.table('devices').get(serial).update({ return db.run(r.table('devices').get(serial).update({
owner: null owner: null
})) }))

View file

@ -43,6 +43,6 @@ db.close = function() {
// Small utility for running queries without having to acquire a connection // Small utility for running queries without having to acquire a connection
db.run = function(q, options) { db.run = function(q, options) {
return db.connect().then(function(conn) { return db.connect().then(function(conn) {
return rutil.run(conn, q) return rutil.run(conn, q, options)
}) })
} }

View file

@ -1,6 +1,3 @@
var assert = require('assert')
var util = require('util')
var r = require('rethinkdb') var r = require('rethinkdb')
var Promise = require('bluebird') var Promise = require('bluebird')
@ -24,7 +21,7 @@ module.exports = function(conn) {
.then(function() { .then(function() {
log.info('Database "%s" created', conn.db) log.info('Database "%s" created', conn.db)
}) })
.catch(alreadyExistsError, function(err) { .catch(alreadyExistsError, function() {
log.info('Database "%s" already exists', conn.db) log.info('Database "%s" already exists', conn.db)
return Promise.resolve() return Promise.resolve()
}) })
@ -38,11 +35,11 @@ module.exports = function(conn) {
.then(function() { .then(function() {
log.info('Table "%s" created', table) log.info('Table "%s" created', table)
}) })
.catch(alreadyExistsError, function(err) { .catch(alreadyExistsError, function() {
log.info('Table "%s" already exists', table) log.info('Table "%s" already exists', table)
return Promise.resolve() return Promise.resolve()
}) })
.catch(noMasterAvailableError, function(err) { .catch(noMasterAvailableError, function() {
return Promise.delay(1000).then(function() { return Promise.delay(1000).then(function() {
return createTable(table, options) return createTable(table, options)
}) })
@ -61,11 +58,11 @@ module.exports = function(conn) {
.then(function() { .then(function() {
log.info('Index "%s"."%s" created', table, index) log.info('Index "%s"."%s" created', table, index)
}) })
.catch(alreadyExistsError, function(err) { .catch(alreadyExistsError, function() {
log.info('Index "%s"."%s" already exists', table, index) log.info('Index "%s"."%s" already exists', table, index)
return Promise.resolve() return Promise.resolve()
}) })
.catch(noMasterAvailableError, function(err) { .catch(noMasterAvailableError, function() {
return Promise.delay(1000).then(function() { return Promise.delay(1000).then(function() {
return createIndex(table, index, fn) return createIndex(table, index, fn)
}) })

View file

@ -1,5 +1,3 @@
var r = require('rethinkdb')
module.exports = { module.exports = {
users: { users: {
primaryKey: 'email' primaryKey: 'email'

View file

@ -1,4 +1,3 @@
var url = require('url')
var http = require('http') var http = require('http')
var events = require('events') var events = require('events')
var path = require('path') var path = require('path')
@ -41,7 +40,8 @@ module.exports = function(options) {
app.use(cors()) app.use(cors())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components'))) app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data'))) app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static/devices', datautil.middleware()) app.use('/static/devices', datautil.middleware())
app.use('/static', express.static(pathutil.resource('app'))) app.use('/static', express.static(pathutil.resource('app')))
@ -203,7 +203,7 @@ module.exports = function(options) {
accept(null, false) accept(null, false)
} }
}) })
.catch(function(err) { .catch(function() {
accept(null, false) accept(null, false)
}) })
} }
@ -225,11 +225,11 @@ module.exports = function(options) {
sub.unsubscribe(channel) sub.unsubscribe(channel)
} }
function createTouchHandler(klass) { function createTouchHandler(Klass) {
return function(channel, data) { return function(channel, data) {
push.send([ push.send([
channel channel
, wireutil.envelope(new klass( , wireutil.envelope(new Klass(
data.x data.x
, data.y , data.y
)) ))
@ -237,11 +237,11 @@ module.exports = function(options) {
} }
} }
function createKeyHandler(klass) { function createKeyHandler(Klass) {
return function(channel, data) { return function(channel, data) {
push.send([ push.send([
channel channel
, wireutil.envelope(new klass( , wireutil.envelope(new Klass(
data.key data.key
)) ))
]) ])
@ -309,7 +309,7 @@ module.exports = function(options) {
// User's private group // User's private group
joinChannel(user.group) joinChannel(user.group)
new Promise(function(resolve, reject) { new Promise(function(resolve) {
socket.on('disconnect', resolve) socket.on('disconnect', resolve)
// Touch events // Touch events
.on('input.touchDown', createTouchHandler(wire.TouchDownMessage)) .on('input.touchDown', createTouchHandler(wire.TouchDownMessage))

View file

@ -1,5 +1,3 @@
var url = require('url')
var express = require('express') var express = require('express')
var validator = require('express-validator') var validator = require('express-validator')
@ -28,7 +26,8 @@ module.exports = function(options) {
app.use(express.urlencoded()) app.use(express.urlencoded())
app.use(express.csrf()) app.use(express.csrf())
app.use(validator()) app.use(validator())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components'))) app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data'))) app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static', express.static(pathutil.resource('auth-ldap'))) app.use('/static', express.static(pathutil.resource('auth-ldap')))

View file

@ -1,5 +1,3 @@
var url = require('url')
var express = require('express') var express = require('express')
var validator = require('express-validator') var validator = require('express-validator')
@ -27,7 +25,8 @@ module.exports = function(options) {
app.use(express.urlencoded()) app.use(express.urlencoded())
app.use(express.csrf()) app.use(express.csrf())
app.use(validator()) app.use(validator())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components'))) app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data'))) app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static', express.static(pathutil.resource('auth-mock'))) app.use('/static', express.static(pathutil.resource('auth-mock')))

View file

@ -40,8 +40,8 @@ module.exports = syrup.serial()
}) })
.then(function() { .then(function() {
return adb.shell(options.serial, util.format( return adb.shell(options.serial, util.format(
"export CLASSPATH='%s';" "export CLASSPATH='%s';" +
+ " exec app_process /system/bin '%s'" " exec app_process /system/bin '%s'"
, apk.path , apk.path
, apk.main , apk.main
)) ))
@ -199,7 +199,7 @@ module.exports = syrup.serial()
.then(openService) .then(openService)
.then(function() { .then(function() {
router router
.on(wire.PhysicalIdentifyMessage, function(channel, message) { .on(wire.PhysicalIdentifyMessage, function(channel) {
identity() identity()
push.send([ push.send([
channel channel

View file

@ -9,7 +9,8 @@ module.exports = syrup.serial()
.dependency(require('../support/router')) .dependency(require('../support/router'))
.dependency(require('../support/push')) .dependency(require('../support/push'))
.dependency(require('../support/quit')) .dependency(require('../support/quit'))
.define(function(options, adb, router, push, quit) { .dependency(require('./owner'))
.define(function(options, adb, router, push, quit, owner) {
var log = logger.createLogger('device:plugins:logcat') var log = logger.createLogger('device:plugins:logcat')
function openService() { function openService() {

View file

@ -14,7 +14,8 @@ module.exports = syrup.serial()
.dependency(require('../support/sub')) .dependency(require('../support/sub'))
.dependency(require('../support/channels')) .dependency(require('../support/channels'))
.dependency(require('../support/quit')) .dependency(require('../support/quit'))
.define(function(options, identity, input, router, push, sub, channels, quit) { .define(function(options, identity, input, router, push, sub, channels,
quit) {
var log = logger.createLogger('device:plugins:owner') var log = logger.createLogger('device:plugins:owner')
var owner = null var owner = null

View file

@ -30,7 +30,7 @@ module.exports = syrup.serial()
function readableListener() { function readableListener() {
var chunk var chunk
while (chunk = stream.read()) { while ((chunk = stream.read())) {
push.send([ push.send([
channel channel
, wireutil.envelope(new wire.TransactionProgressMessage( , wireutil.envelope(new wire.TransactionProgressMessage(

View file

@ -18,7 +18,7 @@ module.exports = syrup.serial()
sub.subscribe(channel) sub.subscribe(channel)
channels.register(channel, Infinity) channels.register(channel, Infinity)
router.on(wire.ProbeMessage, function(channel, message) { router.on(wire.ProbeMessage, function() {
push.send([ push.send([
wireutil.global wireutil.global
, wireutil.envelope(new wire.DeviceIdentityMessage( , wireutil.envelope(new wire.DeviceIdentityMessage(

View file

@ -17,7 +17,7 @@ module.exports = syrup.serial()
function openService() { function openService() {
return devutil.ensureUnusedPort(adb, options.serial, service.port) return devutil.ensureUnusedPort(adb, options.serial, service.port)
.then(function(port) { .then(function() {
return adb.shell(options.serial, [ return adb.shell(options.serial, [
remote.bin remote.bin
, '--lib', remote.lib , '--lib', remote.lib

View file

@ -39,8 +39,8 @@ module.exports = syrup.serial()
.then(function(installedPath) { .then(function(installedPath) {
log.info('Running version check') log.info('Running version check')
return adb.shell(options.serial, util.format( return adb.shell(options.serial, util.format(
"export CLASSPATH='%s';" "export CLASSPATH='%s';" +
+ " exec app_process /system/bin '%s' --version" " exec app_process /system/bin '%s' --version"
, installedPath , installedPath
, resource.main , resource.main
)) ))
@ -61,7 +61,7 @@ module.exports = syrup.serial()
}) })
}) })
}) })
.catch(function(err) { .catch(function() {
log.info('Installing InputAgent.apk') log.info('Installing InputAgent.apk')
return adb.install(options.serial, resource.apk) return adb.install(options.serial, resource.apk)
.then(function() { .then(function() {

View file

@ -58,7 +58,7 @@ module.exports = syrup.serial()
.then(function(out) { .then(function(out) {
// Can be "Text is busy", "text busy" // Can be "Text is busy", "text busy"
return streamutil.findLine(out, (/busy/i)) return streamutil.findLine(out, (/busy/i))
.then(function(line) { .then(function() {
log.info('Binary is busy, will retry') log.info('Binary is busy, will retry')
return Promise.delay(1000) return Promise.delay(1000)
}) })

View file

@ -4,7 +4,7 @@ var logger = require('../../../util/logger')
var ChannelManager = require('../../../wire/channelmanager') var ChannelManager = require('../../../wire/channelmanager')
module.exports = syrup.serial() module.exports = syrup.serial()
.define(function(options, router) { .define(function() {
var log = logger.createLogger('device:support:channels') var log = logger.createLogger('device:support:channels')
var channels = new ChannelManager() var channels = new ChannelManager()
channels.on('timeout', function(channel) { channels.on('timeout', function(channel) {

View file

@ -1,6 +1,5 @@
var syrup = require('syrup') var syrup = require('syrup')
var devutil = require('../../../util/devutil')
var logger = require('../../../util/logger') var logger = require('../../../util/logger')
module.exports = syrup.serial() module.exports = syrup.serial()

View file

@ -4,7 +4,7 @@ var syrup = require('syrup')
var logger = require('../../../util/logger') var logger = require('../../../util/logger')
module.exports = syrup.serial() module.exports = syrup.serial()
.define(function(options) { .define(function() {
var log = logger.createLogger('device:support:quit') var log = logger.createLogger('device:support:quit')
var cleanup = [] var cleanup = []

View file

@ -1,13 +1,11 @@
var syrup = require('syrup') var syrup = require('syrup')
var logger = require('../../../util/logger')
var wirerouter = require('../../../wire/router') var wirerouter = require('../../../wire/router')
module.exports = syrup.serial() module.exports = syrup.serial()
.dependency(require('./sub')) .dependency(require('./sub'))
.dependency(require('./channels')) .dependency(require('./channels'))
.define(function(options, sub, channels) { .define(function(options, sub, channels) {
var log = logger.createLogger('device:support:router')
var router = wirerouter() var router = wirerouter()
sub.on('message', router.handler()) sub.on('message', router.handler())

View file

@ -56,7 +56,7 @@ module.exports = function(options) {
message: messages.join('<br>') message: messages.join('<br>')
, color: 'purple' , color: 'purple'
, notify: true , notify: true
, message_format: 'html' , 'message_format': 'html'
, token: options.token , token: options.token
}) })
} }

View file

@ -1,4 +1,3 @@
var path = require('path')
var events = require('events') var events = require('events')
var adb = require('adbkit') var adb = require('adbkit')
@ -109,7 +108,7 @@ module.exports = function(options) {
, worker , worker
// Wait for others to acknowledge the device // Wait for others to acknowledge the device
var register = new Promise(function(resolve, reject) { var register = new Promise(function(resolve) {
// Tell others we found a device // Tell others we found a device
push.send([ push.send([
wireutil.global wireutil.global
@ -175,7 +174,7 @@ module.exports = function(options) {
} }
// When the added device gets removed // When the added device gets removed
function removeListener(updatedDevice) { function removeListener() {
register.then(function() { register.then(function() {
log.info('Lost device "%s" (%s)', device.id, device.type) log.info('Lost device "%s" (%s)', device.id, device.type)
@ -224,7 +223,7 @@ module.exports = function(options) {
// Starts a device worker and keeps it alive // Starts a device worker and keeps it alive
function work() { function work() {
return worker = workers[device.id] = spawn() return (worker = workers[device.id] = spawn())
.then(function() { .then(function() {
log.info('Device worker "%s" has retired', device.id) log.info('Device worker "%s" has retired', device.id)
delete workers[device.id] delete workers[device.id]
@ -323,7 +322,7 @@ module.exports = function(options) {
_.pull(lists.waiting, device.id) _.pull(lists.waiting, device.id)
}) })
.cancellable() .cancellable()
.catch(Promise.CancellationError, function(err) { .catch(Promise.CancellationError, function() {
log.info('Gracefully killing device worker "%s"', device.id) log.info('Gracefully killing device worker "%s"', device.id)
return procutil.gracefullyKill(proc, options.killTimeout) return procutil.gracefullyKill(proc, options.killTimeout)
}) })
@ -377,12 +376,12 @@ module.exports = function(options) {
}) })
} }
process.on('SIGINT', function(e) { process.on('SIGINT', function() {
log.info('Received SIGINT') log.info('Received SIGINT')
gracefullyExit() gracefullyExit()
}) })
process.on('SIGTERM', function(e) { process.on('SIGTERM', function() {
log.info('Received SIGTERM') log.info('Received SIGTERM')
gracefullyExit() gracefullyExit()
}) })

View file

@ -1,5 +1,3 @@
var util = require('util')
var Promise = require('bluebird') var Promise = require('bluebird')
var zmq = require('zmq') var zmq = require('zmq')

View file

@ -51,7 +51,7 @@ devutil.ensureUnusedPort = function(adb, serial, port) {
conn.end() conn.end()
throw new Error(util.format('Port "%d" should be unused', port)) throw new Error(util.format('Port "%d" should be unused', port))
}) })
.catch(closedError, function(err) { .catch(closedError, function() {
return Promise.resolve(port) return Promise.resolve(port)
}) })
} }
@ -62,7 +62,7 @@ devutil.waitForPort = function(adb, serial, port) {
conn.port = port conn.port = port
return conn return conn
}) })
.catch(closedError, function(err) { .catch(closedError, function() {
return Promise.delay(100) return Promise.delay(100)
.then(function() { .then(function() {
return devutil.waitForPort(adb, serial, port) return devutil.waitForPort(adb, serial, port)
@ -93,7 +93,7 @@ devutil.waitForPortToFree = function(adb, serial, port) {
conn.end() conn.end()
}) })
}) })
.catch(closedError, function(err) { .catch(closedError, function() {
return port return port
}) })
} }
@ -105,7 +105,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) {
return adb.shell(serial, ['ps', comm]) return adb.shell(serial, ['ps', comm])
.then(function(out) { .then(function(out) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve) {
var header = false var header = false
, pids = [] , pids = []
out.pipe(split()) out.pipe(split())
@ -147,7 +147,7 @@ devutil.killProcsByComm = function(adb, serial, comm, bin, mode) {
} }
return adb.shell(serial, ['kill', mode || -15].concat(pids)) return adb.shell(serial, ['kill', mode || -15].concat(pids))
.then(function(out) { .then(function(out) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve) {
out.on('end', resolve) out.on('end', resolve)
}) })
}) })
@ -165,8 +165,8 @@ devutil.makeIdentity = function(serial, properties) {
var model = properties['ro.product.model'] var model = properties['ro.product.model']
, brand = properties['ro.product.brand'] , brand = properties['ro.product.brand']
, manufacturer = properties['ro.product.manufacturer'] , manufacturer = properties['ro.product.manufacturer']
, operator = properties['gsm.sim.operator.alpha'] , operator = properties['gsm.sim.operator.alpha'] ||
|| properties['gsm.operator.alpha'] properties['gsm.operator.alpha']
, version = properties['ro.build.version.release'] , version = properties['ro.build.version.release']
, sdk = properties['ro.build.version.sdk'] , sdk = properties['ro.build.version.sdk']
, abi = properties['ro.product.cpu.abi'] , abi = properties['ro.product.cpu.abi']

View file

@ -1,9 +1,41 @@
var util = require('util') var util = require('util')
var events = require('events') var events = require('events')
var colors = require('colors') // Enable "string".color
require('colors')
function Log(tag, stream) { var Logger = new events.EventEmitter()
Logger.Level = {
DEBUG: 1
, VERBOSE: 2
, INFO: 3
, WARNING: 4
, ERROR: 5
, FATAL: 6
}
Logger.LevelLabel = {
1: 'DBG'
, 2: 'VRB'
, 3: 'INF'
, 4: 'WRN'
, 5: 'ERR'
, 6: 'FTL'
}
Logger.globalIdentifier = '*'
Logger.createLogger = function(tag) {
return new Log(tag)
}
Logger.setGlobalIdentifier = function(identifier) {
Logger.globalIdentifier = identifier
return Logger
}
function Log(tag) {
this.tag = tag this.tag = tag
this.names = { this.names = {
1: 'DBG' 1: 'DBG'
@ -95,35 +127,4 @@ Log.prototype._write = function(entry) {
Logger.emit('entry', entry) Logger.emit('entry', entry)
} }
var Logger = new events.EventEmitter()
Logger.Level = {
DEBUG: 1
, VERBOSE: 2
, INFO: 3
, WARNING: 4
, ERROR: 5
, FATAL: 6
}
Logger.LevelLabel = {
1: 'DBG'
, 2: 'VRB'
, 3: 'INF'
, 4: 'WRN'
, 5: 'ERR'
, 6: 'FTL'
}
Logger.globalIdentifier = '*'
Logger.createLogger = function(tag) {
return new Log(tag)
}
Logger.setGlobalIdentifier = function(identifier) {
Logger.globalIdentifier = identifier
return Logger
}
exports = module.exports = Logger exports = module.exports = Logger

View file

@ -54,10 +54,10 @@ module.exports.fork = function() {
process.removeListener('SIGINT', sigintListener) process.removeListener('SIGINT', sigintListener)
process.removeListener('SIGTERM', sigtermListener) process.removeListener('SIGTERM', sigtermListener)
}) })
.catch(Promise.CancellationError, function(err) { .catch(Promise.CancellationError, function() {
return new Promise(function(resolve, reject) { return new Promise(function(resolve) {
proc.on('exit', function() { proc.on('exit', function() {
resolver.resolve() resolve()
}) })
proc.kill() proc.kill()
}) })

View file

@ -27,7 +27,7 @@ module.exports.readAll = function(stream) {
function readableListener() { function readableListener() {
var chunk; var chunk;
while (chunk = stream.read()) { while ((chunk = stream.read())) {
collected = Buffer.concat([collected, chunk]) collected = Buffer.concat([collected, chunk])
} }
} }

View file

@ -1,6 +1,5 @@
var pathutil = require('./lib/util/pathutil') var pathutil = require('./lib/util/pathutil')
var webpack = require('webpack') var webpack = require('webpack')
var path = require('path')
module.exports = { module.exports = {
cache: true, cache: true,
@ -30,12 +29,18 @@ module.exports = {
{ test: /\.jpg$/, loader: "url-loader?limit=5000&mimetype=image/jpeg" }, { test: /\.jpg$/, loader: "url-loader?limit=5000&mimetype=image/jpeg" },
{ test: /\.png$/, loader: "url-loader?limit=5000&mimetype=image/png" }, { test: /\.png$/, loader: "url-loader?limit=5000&mimetype=image/png" },
{ test: /\.gif$/, loader: "url-loader?limit=5000&mimetype=image/gif" }, { test: /\.gif$/, loader: "url-loader?limit=5000&mimetype=image/gif" },
{ test: /\.svg$/, loader: "url-loader?limit=5000&mimetype=image/svg+xml" }, { test: /\.svg$/
{ test: /\.woff$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, , loader: "url-loader?limit=5000&mimetype=image/svg+xml" },
{ test: /\.otf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, { test: /\.woff$/
{ test: /\.ttf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" }, , loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.eot$/, loader: "url-loader?limit=5000&mimetype=vnd.ms-fontobject" }, { test: /\.otf$/
{ test: /\.jade/, loader: 'template-html-loader' }, , 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: /\.html/, loader: 'html-loader' },
{ test: /angular\.js/, loader: 'exports?angular'}, { test: /angular\.js/, loader: 'exports?angular'},
{ test: /angular-route\.js/, loader: 'imports?angular=angular'}, { test: /angular-route\.js/, loader: 'imports?angular=angular'},
@ -50,15 +55,16 @@ module.exports = {
}, },
plugins: [ plugins: [
new webpack.ResolverPlugin( new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main']) new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json'
, ['main']
)
), ),
new webpack.ResolverPlugin( new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main']) new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'.bower.json'
, ['main']
)
) )
// new webpack.ResolverPlugin(
// new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('package.json', ['main'])
// )
// ,new webpack.optimize.UglifyJsPlugin({mangle: false})
] ]
} }