@@ -13,66 +13,90 @@ var usemin = require('gulp-usemin');
13
13
var rjs = require ( 'gulp-requirejs' ) ;
14
14
var uglify = require ( 'gulp-uglify' ) ;
15
15
var rev = require ( 'gulp-rev' ) ;
16
+ var clean = require ( 'gulp-clean' ) ;
16
17
17
18
var rjsConfig = require ( './public/scripts/requirejsConfig' ) ;
18
-
19
+ var es = require ( 'event-stream' ) ;
19
20
20
21
var server = lr ( ) ;
21
22
// gulp.task('default', function(){
22
23
// // place code for your default task here
23
24
// });
24
25
25
26
27
+ // https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md#running-tasks-in-series
26
28
27
29
var concatJs = function ( ) {
30
+ console . log ( rjsConfig ) ;
28
31
rjsConfig . baseUrl = "public/scripts" ;
29
32
rjsConfig . out = 'concat.js' ;
30
33
rjsConfig . name = "main" ;
31
34
32
- rjs ( rjsConfig ) . pipe ( uglify ( {
35
+ return rjs ( rjsConfig ) . pipe ( uglify ( {
33
36
outSourceMap : true ,
34
- output :{
35
- ascii_only :false
37
+ output : {
38
+ ascii_only : false
36
39
}
37
40
} ) )
38
41
. pipe ( gulp . dest ( 'dist/scripts/' ) ) ; // pipe it to the output DIR
42
+
39
43
} ;
40
- console . log ( rjsConfig ) ;
41
44
42
- gulp . task ( 'build' , function ( ) {
43
- gulp . src ( 'less/*.less' )
45
+ gulp . task ( 'build2' , [ 'build' ] , function ( cb ) {
46
+ //smell of bad design but works
47
+ //trick let this two overwite the concated js file
48
+ //simple overwrite wont do as it just stream to same files ignoring existing content length
49
+
50
+ es . concat (
51
+ gulp . src ( 'pre-dist/index.html' )
52
+ . pipe ( gulp . dest ( 'dist/' ) ) ,
53
+ gulp . src ( [ 'public/scripts/require.min.js' ] )
54
+ . pipe ( gulp . dest ( 'dist/scripts/' ) ) ,
55
+ concatJs ( )
56
+ ) . on ( 'end' , cb ) ;
57
+
58
+ } ) ;
59
+
60
+ gulp . task ( 'pre-dist-clean' , [ 'build' , 'build2' ] , function ( ) {
61
+ // //ok remove folder not scripts
62
+ // console.log('clean');
63
+ gulp . src ( 'pre-dist/' , {
64
+ read : true
65
+ } ) . pipe ( clean ( {
66
+ force : true
67
+ } ) ) ;
68
+ } ) ;
69
+
70
+
71
+
72
+ gulp . task ( 'dist' , [ 'build' , 'build2' , 'pre-dist-clean' ] ) ;
73
+
74
+
75
+
76
+ gulp . task ( 'build' , function ( cb ) {
77
+
78
+ var lessStream = gulp . src ( 'less/*.less' )
44
79
. pipe ( less ( ) )
45
80
. pipe ( gulp . dest ( 'dist/css/' ) ) ;
46
81
47
- gulp . src ( [ 'public/scripts/require.min.js' ] )
48
- . pipe ( gulp . dest ( 'dist/scripts/' ) ) ;
49
-
50
- gulp . src ( [ 'public/templates/**.html' ] )
82
+ var templatesStream = gulp . src ( [ 'public/templates/**.html' ] )
51
83
. pipe ( gulp . dest ( 'dist/templates/' ) ) ;
52
84
53
85
54
-
55
- gulp . src ( 'public/index.html' )
86
+ var htmlMinStream = gulp . src ( 'public/index.html' )
56
87
. pipe ( usemin ( {
57
88
// css: [minifyCss(), 'concat'],
58
89
// html: [minifyHtml({empty: true})],
59
90
js : [ ]
60
91
} ) )
61
- //discard it as concat may run before above
62
- // .pipe(gulp.dest('dist/'));
63
-
64
- //force overdie
65
-
66
- //trick let this overwite the file
67
- console . log ( 'concat js' ) ;
68
- concatJs ( ) ;
92
+ . pipe ( gulp . dest ( 'pre-dist/' ) ) ;
93
+ //discard it as concat may run before above
94
+ es . concat (
95
+ lessStream , templatesStream , htmlMinStream
96
+ ) . on ( 'end' , cb ) ;
69
97
70
98
} ) ;
71
99
72
- // fa-coffee
73
- //fa-cutlery
74
- // fa-bar M
75
-
76
100
gulp . task ( 'default' , [ 'listen' ] , function ( ) {
77
101
78
102
bower ( )
@@ -97,4 +121,4 @@ gulp.task('listen', function(next) {
97
121
if ( err ) return console . error ( err ) ;
98
122
next ( ) ;
99
123
} ) ;
100
- } ) ;
124
+ } ) ;
0 commit comments