1- var fs = require ( "fs" ) ;
2- var pkg = require ( './package.json' ) ;
3- var gulp = require ( 'gulp' ) ;
4- var $ = require ( 'gulp-load-plugins' ) ( { lazy :true } ) ;
5- var tsProject = require ( 'tsproject' ) ;
6- var eventStream = require ( 'event-stream' ) ;
7-
8- gulp . task ( 'clean' , function ( ) {
9- var del = require ( 'del' ) ;
1+ const fs = require ( "fs" ) ;
2+ const pkg = require ( './package.json' ) ;
3+ const gulp = require ( 'gulp' ) ;
4+ const $ = require ( 'gulp-load-plugins' ) ( { lazy :true } ) ;
5+ const tsProject = require ( 'tsproject' ) ;
6+ const eventStream = require ( 'event-stream' ) ;
7+
8+ gulp . task ( 'clean' , function clean ( done ) {
9+ const del = require ( 'del' ) ;
1010 del . sync ( [ 'dist' ] , { force : true } ) ;
11+ done ( ) ;
1112} ) ;
1213
13- gulp . task ( 'typescript' , function ( ) {
14- return tsProject . src ( 'src/tsconfig.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
14+ gulp . task ( 'typescript' , function typescript ( done ) {
15+ const stream = tsProject . src ( 'src/tsconfig.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
16+ stream . on ( 'finish' , done ) ;
1517} ) ;
1618
17- gulp . task ( 'typescript.integrations' , [ 'typescript' ] , function ( ) {
18- return tsProject . src ( 'src/integrations/tsconfig.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
19- } ) ;
19+ gulp . task ( 'typescript.integrations' , gulp . series ( 'typescript' , function typescriptIntegrations ( done ) {
20+ const stream = tsProject . src ( 'src/integrations/tsconfig.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
21+ stream . on ( 'finish' , done ) ;
22+ } ) ) ;
2023
21- gulp . task ( 'typescript.node' , function ( ) {
22- return tsProject . src ( 'src/tsconfig.node.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
24+ gulp . task ( 'typescript.node' , function typescriptNode ( done ) {
25+ const stream = tsProject . src ( 'src/tsconfig.node.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
26+ stream . on ( 'finish' , done ) ;
2327} ) ;
2428
25- gulp . task ( 'typescript.universal' , function ( ) {
26- return tsProject . src ( 'src/tsconfig.universal.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
29+ gulp . task ( 'typescript.universal' , function typescriptUniversal ( done ) {
30+ const stream = tsProject . src ( 'src/tsconfig.universal.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
31+ stream . on ( 'finish' , done ) ;
2732} ) ;
2833
29- gulp . task ( 'exceptionless.umd' , [ 'typescript' , 'typescript .integrations'] , function ( ) {
34+ gulp . task ( 'exceptionless.umd' , gulp . series ( 'typescript.integrations' , function exceptionlessUmd ( ) {
3035 return gulp . src ( 'dist/temp/src/exceptionless.js' )
3136 . pipe ( $ . sourcemaps . init ( { loadMaps : true } ) )
3237 . pipe ( $ . wrapUmd ( {
@@ -38,9 +43,9 @@ gulp.task('exceptionless.umd', ['typescript', 'typescript.integrations'], functi
3843 } ) )
3944 . pipe ( $ . sourcemaps . write ( '.' ) )
4045 . pipe ( gulp . dest ( 'dist/temp' ) ) ;
41- } ) ;
46+ } ) ) ;
4247
43- gulp . task ( 'exceptionless.universal.umd' , [ 'typescript.universal' ] , function ( ) {
48+ gulp . task ( 'exceptionless.universal.umd' , gulp . series ( 'typescript.universal' , function universalUmd ( ) {
4449 return gulp . src ( 'dist/temp/src/exceptionless.universal.js' )
4550 . pipe ( $ . sourcemaps . init ( { loadMaps : true } ) )
4651 . pipe ( $ . wrapUmd ( {
@@ -52,19 +57,19 @@ gulp.task('exceptionless.universal.umd', ['typescript.universal'], function () {
5257 } ) )
5358 . pipe ( $ . sourcemaps . write ( '.' ) )
5459 . pipe ( gulp . dest ( 'dist/temp' ) ) ;
55- } ) ;
60+ } ) ) ;
5661
57- gulp . task ( 'exceptionless' , [ 'exceptionless.umd' ] , function ( ) {
62+ gulp . task ( 'exceptionless' , gulp . series ( 'exceptionless.umd' , function exceptionless ( ) {
5863 gulp . src ( 'dist/temp/src/exceptionless.d.ts' )
5964 . pipe ( gulp . dest ( 'dist' ) ) ;
60- var integrations = [
65+ const integrations = [
6166 'dist/temp/src/integrations/angular.js'
6267 ] ;
6368
6469 gulp . src ( integrations )
6570 . pipe ( gulp . dest ( 'dist/integrations' ) ) ;
6671
67- var files = [
72+ const files = [
6873 'node_modules/tracekit/tracekit.js' ,
6974 'dist/temp/exceptionless.js'
7075 ] ;
@@ -85,23 +90,23 @@ gulp.task('exceptionless', ['exceptionless.umd'], function () {
8590 . pipe ( $ . uglify ( { output : { beautify : false } } ) )
8691 . pipe ( $ . sourcemaps . write ( '.' ) )
8792 . pipe ( gulp . dest ( 'dist' ) ) ;
88- } ) ;
93+ } ) ) ;
8994
90- gulp . task ( 'exceptionless.node' , [ 'typescript.node' ] , function ( ) {
91- var files = [
95+ gulp . task ( 'exceptionless.node' , gulp . series ( 'typescript.node' , function node ( ) {
96+ const files = [
9297 'dist/temp/src/exceptionless.node.js' ,
9398 'dist/temp/src/submitSync.js'
9499 ] ;
95100
96- gulp . src ( files )
101+ return gulp . src ( files )
97102 . pipe ( $ . sourcemaps . init ( { loadMaps : true } ) )
98103 . pipe ( $ . replace ( 'exceptionless-js/1.0.0.0' , 'exceptionless-node/' + pkg . version ) )
99104 . pipe ( $ . sourcemaps . write ( '.' ) )
100105 . pipe ( gulp . dest ( 'dist' ) ) ;
101- } ) ;
106+ } ) ) ;
102107
103- gulp . task ( 'exceptionless.universal' , [ 'exceptionless.universal.umd' ] , function ( ) {
104- var files = [
108+ gulp . task ( 'exceptionless.universal' , gulp . series ( 'exceptionless.universal.umd' , function universal ( ) {
109+ const files = [
105110 'node_modules/tracekit/tracekit.js' ,
106111 'dist/temp/exceptionless.universal.js'
107112 ] ;
@@ -125,25 +130,26 @@ gulp.task('exceptionless.universal', ['exceptionless.universal.umd'], function (
125130 . pipe ( $ . uglify ( { output : { beautify : false } } ) )
126131 . pipe ( $ . sourcemaps . write ( '.' ) )
127132 . pipe ( gulp . dest ( 'dist' ) ) ;
128- } ) ;
133+ } ) ) ;
129134
130- gulp . task ( 'watch' , [ 'build' ] , function ( ) {
131- gulp . watch ( 'src/**/*.ts' , [ 'build' ] ) ;
132- } ) ;
133-
134- gulp . task ( 'lint' , function ( ) {
135+ gulp . task ( 'lint' , function lint ( ) {
135136 return gulp . src ( [ 'src/**/*.ts' ] )
136137 . pipe ( $ . tslint ( { formatter : 'verbose' } ) )
137138 . pipe ( $ . tslint . report ( ) ) ;
138139} ) ;
139140
140- gulp . task ( 'build' , [ 'clean' , 'lint' , 'exceptionless' , 'exceptionless.node' , 'exceptionless.universal' ] ) ;
141+ gulp . task ( 'build' , gulp . series ( 'clean' , 'lint' , 'exceptionless' , 'exceptionless.node' , 'exceptionless.universal' ) ) ;
141142
142- gulp . task ( 'typescript.test' , function ( ) {
143- return tsProject . src ( 'src/tsconfig.test.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
143+ gulp . task ( 'watch' , gulp . series ( 'build' , function watch ( ) {
144+ return gulp . watch ( 'src/**/*.ts' , gulp . series ( 'build' ) ) ;
145+ } ) ) ;
146+
147+ gulp . task ( 'typescript.test' , function test ( done ) {
148+ const stream = tsProject . src ( 'src/tsconfig.test.json' ) . pipe ( gulp . dest ( 'dist/temp' ) ) ;
149+ stream . on ( 'finish' , done ) ;
144150} ) ;
145151
146- gulp . task ( 'exceptionless.test.umd' , [ 'typescript.test' ] , function ( ) {
152+ gulp . task ( 'exceptionless.test.umd' , gulp . series ( 'typescript.test' , function testUmd ( done ) {
147153 var wrap = function ( filename ) {
148154 return gulp . src ( filename )
149155 . pipe ( $ . sourcemaps . init ( { loadMaps : true } ) )
@@ -156,12 +162,14 @@ gulp.task('exceptionless.test.umd', ['typescript.test'], function () {
156162 . pipe ( gulp . dest ( 'dist/temp' ) ) ;
157163 } ;
158164
159- return eventStream . merge (
165+ eventStream . merge (
160166 wrap ( 'dist/temp/src/exceptionless-nodespec.js' ) ,
161167 wrap ( 'dist/temp/src/exceptionless-browserspec.js' ) ) ;
162- } ) ;
163168
164- gulp . task ( 'test-node' , [ 'exceptionless.test.umd' ] , function ( done ) {
169+ done ( ) ;
170+ } ) ) ;
171+
172+ gulp . task ( 'test-node' , gulp . series ( 'exceptionless.test.umd' , function testNode ( ) {
165173 return gulp . src ( 'dist/temp/exceptionless-nodespec.js' , { read : false } )
166174 . pipe ( $ . mocha ( {
167175 require : [ 'source-map-support/register' ] ,
@@ -170,24 +178,21 @@ gulp.task('test-node', ['exceptionless.test.umd'], function(done) {
170178 . once ( 'end' , function ( ) {
171179 process . exit ( ) ;
172180 } ) ;
173- } ) ;
181+ } ) ) ;
174182
175- gulp . task ( 'test-browser' , [ 'exceptionless.test.umd' ] , function ( ) {
183+ gulp . task ( 'test-browser' , gulp . series ( 'exceptionless.test.umd' , function testBrowser ( ) {
176184 return gulp
177185 . src ( 'testrunner.html' )
178186 . pipe ( $ . mochaPhantomjs ( ) ) ;
179- } ) ;
187+ } ) ) ;
180188
181- gulp . task ( 'test' , function ( ) {
182- // test-node calls process.exit(), so run browser tests before node tests
183- var runSequence = require ( 'run-sequence' ) ;
184- runSequence ( 'test-browser' , 'test-node' ) ;
185- } ) ;
189+ // test-node calls process.exit(), so run browser tests before node tests
190+ gulp . task ( 'test' , gulp . series ( 'test-browser' , 'test-node' ) ) ;
186191
187- gulp . task ( 'format' , function ( ) {
192+ gulp . task ( 'format' , function format ( ) {
188193 return gulp . src ( [ 'src/**/*.ts' ] )
189194 . pipe ( $ . exec ( 'node_modules/typescript-formatter/bin/tsfmt -r <%= file.path %>' ) )
190195 . pipe ( $ . exec . reporter ( ) ) ;
191196} ) ;
192197
193- gulp . task ( 'default' , [ 'watch' , 'build' , ' test'] ) ;
198+ gulp . task ( 'default' , gulp . series ( 'watch' , 'test' ) ) ;
0 commit comments