mirror of
https://github.com/darkwire/darkwire.io.git
synced 2025-07-18 18:54:52 +00:00
76 lines
1.7 KiB
JavaScript
76 lines
1.7 KiB
JavaScript
import gulp from 'gulp';
|
|
import uglify from 'gulp-uglify';
|
|
import nodemon from 'gulp-nodemon';
|
|
import browserify from 'browserify';
|
|
import babel from 'babelify';
|
|
import source from 'vinyl-source-stream';
|
|
import buffer from 'vinyl-buffer';
|
|
import childProcess from 'child_process';
|
|
|
|
let spawn = childProcess.spawn;
|
|
|
|
gulp.task('bundle', function() {
|
|
return browserify('src/js/main.js', {
|
|
debug: true
|
|
}).transform(babel.configure({
|
|
presets: ['es2015']
|
|
})).bundle()
|
|
.pipe(source('main.js'))
|
|
.pipe(buffer())
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest('src/public'));
|
|
});
|
|
|
|
gulp.task('dev', function() {
|
|
return browserify('src/js/main.js', {
|
|
debug: true
|
|
}).transform(babel.configure({
|
|
presets: ['es2015']
|
|
})).bundle()
|
|
.pipe(source('main.js'))
|
|
.pipe(buffer())
|
|
.pipe(gulp.dest('src/public'));
|
|
});
|
|
|
|
gulp.task('start', function() {
|
|
nodemon({
|
|
script: 'index.js',
|
|
ext: 'css js mustache',
|
|
ignore: ['src/public/main.js', 'test'],
|
|
env: {
|
|
'NODE_ENV': 'development'
|
|
},
|
|
tasks: ['dev']
|
|
});
|
|
});
|
|
|
|
gulp.task('test', function() {
|
|
let unitTest = spawn(
|
|
'node_modules/mocha/bin/mocha',
|
|
['test/unit', '--compilers', 'js:babel-core/register'],
|
|
{stdio: 'inherit'}
|
|
);
|
|
|
|
unitTest.on('exit', function() {
|
|
|
|
// Start app
|
|
let app = spawn('node', ['index.js']);
|
|
|
|
app.stdout.on('data', function(data) {
|
|
console.log(String(data));
|
|
});
|
|
|
|
let acceptanceTest = spawn(
|
|
'node_modules/nightwatch/bin/nightwatch',
|
|
['--test', 'test/acceptance/index.js', '--config', 'test/acceptance/nightwatch-local.json'],
|
|
{stdio: 'inherit'}
|
|
);
|
|
|
|
acceptanceTest.on('exit', function() {
|
|
// Kill app Node process when tests are done
|
|
app.kill();
|
|
});
|
|
});
|
|
|
|
});
|