task('e2e', (done: (err?: string) => void) => { gulpRunSequence( ':test:protractor:setup', 'serve:e2eapp', ':test:protractor', ':serve:e2eapp:stop', (err: any) => done(err) ); });
gulp.task('test:unit', done => runSequence( 'clean', [ 'task:unit_tests:compile', 'task:worker:compile_common' ], 'task:unit_tests:run', done ));
gulp.task('test:e2e', done => runSequence( 'clean', [ 'task:e2e_tests:build', 'task:e2e_harness:build', ], 'task:e2e_tests:run', done ));
task('e2e:single-run', (done: (err?: string) => void) => { gulpRunSequence( ':test:protractor:setup', 'serve:e2eapp', ':test:protractor', ':serve:e2eapp:stop', (err: any) => stopE2eServer() && done(err) ); });
task('e2e', (done: (err?: string) => void) => { gulpRunSequence( ':test:protractor:setup', 'serve:e2eapp:watch', ':test:protractor', ':serve:e2eapp:stop', (err: any) => gulpConnect.serverClose() && done(err) ); });
gulp.task('build', done => runSequence( 'clean', [ 'task:companion:build', 'task:generator:build', 'task:worker:build' ], done ));
gulp.task('build', 'build static files from source code', ['build:clean'], (callback: any) => { runSequence( 'build:tslint', 'build:js', 'build:html', 'build:lib', 'build:css', callback ); });
gulp.task('test:single-run', [':test:deps'], (done: () => void) => { runSequence( ':inline-resources', () => { new karma.Server({ configFile: path.join(PROJECT_ROOT, 'test/karma.conf.js'), singleRun: true }, done).start(); }); });
gulp.task('task:build', done => runSequence( [ 'task:commonjs:compile', 'task:esm:compile', ], [ 'task:companion:bundle', 'task:worker:basic:bundle', ], 'task:bundles:minify', done));
gulp.task('test', 'run tests', (callback: any) => { if (argv.files) { runSequence( 'test:copy', 'test:tslint', 'test:buildjs', 'test:unit', callback ); } else { runSequence( 'test:clean', 'test:copy', 'test:tslint', 'test:buildcss', 'test:buildjs', 'test:unit', callback ); } });