1
- var gulp = require ( 'gulp' ) ,
2
- concat = require ( 'gulp-concat' ) ,
3
- uglify = require ( 'gulp-uglify' ) ,
4
- gulpDocs = require ( 'gulp-ngdocs' ) ,
5
- clean = require ( 'gulp-clean' ) ,
6
- rename = require ( 'gulp-rename' ) ;
1
+ const gulp = require ( 'gulp' ) ;
2
+ const concat = require ( 'gulp-concat' ) ;
3
+ const uglify = require ( 'gulp-uglify' ) ;
4
+ const gulpDocs = require ( 'gulp-ngdocs' ) ;
5
+ const clean = require ( 'gulp-clean' ) ;
6
+ const rename = require ( 'gulp-rename' ) ;
7
+ const through = require ( 'through2' ) ;
8
+ const File = require ( 'vinyl' ) ;
7
9
8
10
var fs = require ( 'fs' ) ;
9
11
@@ -18,22 +20,22 @@ var target = {
18
20
docs : env . docs || './docs'
19
21
} ;
20
22
21
- gulp . task ( 'process-scripts' , function ( ) {
23
+ function processScripts ( ) {
22
24
return gulp . src ( './src/**/*.js' )
23
25
. pipe ( concat ( 'angular-screenfull.js' ) )
24
26
. pipe ( gulp . dest ( './dist/' ) )
25
27
. pipe ( uglify ( ) )
26
28
. pipe ( rename ( { suffix : '.min' } ) )
27
29
. pipe ( gulp . dest ( './dist/' ) ) ;
30
+ } ;
28
31
29
- } ) ;
32
+ const watch = function ( ) {
33
+ gulp . watch ( './src/**/*.js' , gulp . series ( processScripts , ngdocs ) ) ;
34
+ } ;
30
35
31
- gulp . task ( 'watch' , function ( ) {
32
- gulp . watch ( './src/**/*.js' , [ 'process-scripts' , 'ngdocs' ] ) ;
36
+ exports . watch = watch ;
33
37
34
- } ) ;
35
-
36
- gulp . task ( 'ngdocs' , [ 'clean-ngdocs' ] , function ( ) {
38
+ const ngdocs = gulp . series ( cleanNgdocs , function ngdocs ( ) {
37
39
var options = {
38
40
html5Mode : false ,
39
41
analytics : {
@@ -47,14 +49,28 @@ gulp.task('ngdocs', ['clean-ngdocs'], function () {
47
49
} ;
48
50
return gulp . src ( [ './src/**/*.js' , './src/**/*.ngdoc' ] )
49
51
. pipe ( gulpDocs . process ( options ) )
52
+ . pipe ( upgradeVynil ( ) )
50
53
. pipe ( gulp . dest ( target . docs ) ) ;
51
54
} ) ;
52
55
53
- gulp . task ( 'clean-ngdocs' , function ( ) {
56
+ /**
57
+ * gulp-watch/vinyl-source-stream uses an outdated vinyl, which doesn't have some functions which vinyl-fs expects.
58
+ * Can be removed when gulp-watch updates it to vinyl 2.x.
59
+ * @returns {NodeJS.ReadWriteStream }
60
+ */
61
+ function upgradeVynil ( ) {
62
+ return through . obj ( function ( file , encoding , cb ) {
63
+ const upgradedFile = new File ( file ) ;
64
+ cb ( null , upgradedFile ) ;
65
+ } ) ;
66
+ }
67
+
68
+ exports . ngdocs = ngdocs ;
69
+ function cleanNgdocs ( ) {
54
70
return gulp . src ( target . docs + '/*' , { read :false } )
55
71
. pipe ( clean ( { force : true } ) ) ;
56
- } ) ;
72
+ }
57
73
58
- gulp . task ( 'release' , [ 'process-scripts' , 'ngdocs' ] ) ;
74
+ exports . release = gulp . series ( processScripts , ngdocs ) ;
75
+ exports . default = gulp . series ( processScripts , ngdocs , watch ) ;
59
76
60
- gulp . task ( 'default' , [ 'process-scripts' , 'ngdocs' , 'watch' ] ) ;
0 commit comments