@@ -11,20 +11,53 @@ var rename = require('gulp-rename'),
11
11
karma = require ( 'karma' ) ,
12
12
paths = require ( './paths' ) ,
13
13
webpack = require ( 'webpack-stream' ) ,
14
- webpackConfig = require ( './webpack.config' )
14
+ webpackConfig = require ( './webpack.config' ) ,
15
+ runSequence = require ( 'run-sequence' )
15
16
;
16
17
17
18
gulp . task ( 'watch' , 'Watches for changes' , [ 'lint' ] , function ( ) {
18
19
gulp . watch ( paths . jsSource , [ 'lint:ts' ] ) ;
19
20
gulp . watch ( paths . specSource , [ 'lint:spec' , 'test' ] ) ;
20
21
} ) ;
21
22
22
- gulp . task ( 'lint' , 'Lints all files' , [ 'lint:ts' , 'lint:spec' ] ) ;
23
- gulp . task ( 'test' , 'Runs all tests' , [ 'test:js' , 'copy' ] ) ;
24
- gulp . task ( 'build' , 'Runs a full build' , [ 'build:release' ] ) ;
23
+ gulp . task ( 'lint' , 'Lints all files' , function ( done ) {
24
+ runSequence (
25
+ [ 'lint:ts' , 'lint:spec' ] ,
26
+ done
27
+ ) ;
28
+ } ) ;
29
+ gulp . task ( 'test' , 'Runs all tests' , function ( done ) {
30
+ runSequence (
31
+ 'clean' ,
32
+ 'compile:ts' ,
33
+ [ 'test:js' , 'copy' , 'min:js' ] ,
34
+ done
35
+ ) ;
36
+ } ) ;
37
+ gulp . task ( 'build' , 'Runs a full build' , function ( done ) {
38
+ runSequence (
39
+ 'build:release' ,
40
+ done
41
+ ) ;
42
+ } ) ;
25
43
26
- gulp . task ( 'build:debug' , 'Runs a debug build' , [ 'lint' , 'compile:ts' , 'copy' ] ) ;
27
- gulp . task ( 'build:release' , 'Runs a release build' , [ 'lint' , 'compile:ts' , 'copy' , 'min:js' ] ) ;
44
+ gulp . task ( 'build:debug' , 'Runs a debug build' , function ( done ) {
45
+ runSequence (
46
+ 'lint' ,
47
+ 'clean' ,
48
+ [ 'compile:ts' , 'copy' ] ,
49
+ done
50
+ ) ;
51
+ } ) ;
52
+ gulp . task ( 'build:release' , 'Runs a release build' , function ( done ) {
53
+ runSequence (
54
+ 'lint' ,
55
+ 'clean' ,
56
+ [ 'compile:ts' , 'copy' ] ,
57
+ 'min:js' ,
58
+ done
59
+ )
60
+ } ) ;
28
61
29
62
gulp . task ( 'clean' , 'Cleans destination folder' , function ( done ) {
30
63
rimraf ( paths . jsDest , done ) ;
@@ -58,14 +91,14 @@ gulp.task('min:js', 'Creates minified JavaScript file', function() {
58
91
. pipe ( gulp . dest ( paths . jsDest ) ) ;
59
92
} ) ;
60
93
61
- gulp . task ( 'test:js' , 'Runs unit tests' , [ 'compile:ts' ] , function ( done ) {
94
+ gulp . task ( 'test:js' , 'Runs unit tests' , function ( done ) {
62
95
new karma . Server ( {
63
96
configFile : __dirname + '/karma.conf.js' ,
64
97
singleRun : process . env . DEBUG ? false : true
65
98
} , done ) . start ( ) ;
66
99
} ) ;
67
100
68
- gulp . task ( 'compile:ts' , 'Compile typescript for powerbi library' , [ 'clean' ] , function ( ) {
101
+ gulp . task ( 'compile:ts' , 'Compile typescript for powerbi library' , function ( ) {
69
102
var webpackBundle = gulp . src ( [ './src/powerbi.ts' ] )
70
103
. pipe ( webpack ( webpackConfig ) )
71
104
. pipe ( gulp . dest ( 'dist/' ) ) ;
0 commit comments