slush-lucas-vue2
Version:
A lucas generator.
72 lines (64 loc) • 1.65 kB
JavaScript
var webpackConfig = require('./lucas.conf.js');
var webpack = require('webpack');
var merge = require('webpack-merge');
var path = require('path');
var Mocha = require('mocha');
var projectRoot = path.resolve(__dirname, '../');
delete webpackConfig.entry;
delete webpackConfig.plugins;
webpackConfig = merge(webpackConfig, {
devtool: '#inline-source-map',
vue: {
loaders: {
js: 'isparta'
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': JSON.stringify('testing')
})
]
});
webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || [];
webpackConfig.module.preLoaders.unshift({
test: /\.js$/,
loader: 'isparta',
include: path.resolve(projectRoot, 'src')
});
webpackConfig.module.loaders.some(function (loader, i) {
if (loader.loader === 'babel') {
loader.include = path.resolve(projectRoot, 'test');
return true;
}
});
module.exports = function (config) {
config.set({
port: 8080,
hostname: 'localhost',
browsers: ['Chrome'/*, 'PhantomJS'*/],
frameworks: ['mocha', 'sinon-chai'],
reporters: ['spec', 'coverage'],
files: ['./test/index.js'],
preprocessors: {
'./test/index.js': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
coverageReporter: {
dir: './coverage',
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
},
client : {
mocha: {
reporter: 'html',
require: [require.resolve('bdd-lazy-var/bdd_lazy_var_global')],
ui: 'bdd-lazy-var/global',
}
}
});
};