ldx-widgets
Version:
widgets
60 lines (51 loc) • 1.4 kB
JavaScript
var gulp = require('gulp');
var stylus = require('gulp-stylus');
var autoprefixer = require('autoprefixer-stylus');
var sequence = require('run-sequence');
var coffee = require('gulp-coffee');
var Server = require('karma').Server;
var karmaConfig = {
configFile: __dirname + "/karma.conf.js",
action: "run",
autoWatch: true,
singleRun: false
};
gulp.task('client-build', function() {
return sequence('js');
});
gulp.task('css', function() {
return gulp.src('./src/styles/widgets.styl').pipe(stylus({
use: [
autoprefixer({
browsers: ['ie 9']
})
]
})).pipe(gulp.dest('./dist/styles'));
});
gulp.task('js', function() {
return gulp.src('./src/**/*.coffee').pipe(coffee()).pipe(gulp.dest('./dist'));
});
// Run tests
gulp.task('test', function() {
// Watch & compile Coffee edits
gulp.watch('./src/**/*.coffee', ['js']);
// Start the test server
server = new Server(karmaConfig);
server.start();
});
// Run tests
gulp.task('testonce', function(done) {
// Compile the Coffee once
gulp.start('js');
server = new Server({
configFile: `${__dirname}/karma.conf.js`,
port: 9876,
autoWatch: false,
singleRun: true
}, (exitCode) => {
console.log('End Tests -----------------------------------------------------------------------');
if (exitCode > 0) { process.exit(exitCode); }
done();
});
server.start()
});