-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
102 lines (82 loc) · 2.77 KB
/
gulpfile.js
File metadata and controls
102 lines (82 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
var gulp = require('gulp')
, browserify = require('browserify')
, source = require('vinyl-source-stream')
, streamify = require('gulp-streamify')
, rename = require('gulp-rename')
, htmlreplace = require('gulp-html-replace')
, exec = require('child_process').exec
, PATHS = require('./srcPaths.json')
, gpconcat = require('gulp-concat')
, uglify = require('gulp-uglify')
, uglifycss = require('gulp-uglifycss')
, plumber = require('gulp-plumber');
gulp.task('default', ['browserify', 'css', 'images', 'fonts', 'writehtml', 'copy']);
gulp.task('browserify', function(){
return browserify('app/vendors.base.js')
.bundle()
.pipe(source('vendors.js'))
.pipe(streamify(uglify()))
.pipe(gulp.dest('web/public/'))
.pipe(gulp.dest('app/public/'));
});
gulp.task('css', function(){
gulp.src(["node_modules/font-awesome/css/font-awesome.min.css",
"app/public/assets/style/reset.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/bootstrap-social/bootstrap-social.css",
"node_modules/ng-dialog/css/ngDialog.min.css",
"node_modules/ng-dialog/css/ngDialog-theme-default.min.css",
"node_modules/ladda/dist/ladda-themeless.min.css",
"app/public/assets/style/style.css"])
.pipe(streamify(uglifycss()))
.pipe(gpconcat('style.all.css'))
.pipe(gulp.dest('web/public/assets/style/'))
.pipe(gulp.dest('app/public/assets/style/'));
});
gulp.task('fonts', function(){
gulp.src(['node_modules/font-awesome/fonts/**'])
.pipe(gulp.dest('web/public/assets/fonts/'))
.pipe(gulp.dest('app/public/assets/fonts/'));
});
gulp.task('images', function(){
gulp.src(['app/public/assets/images/**'])
.pipe(gulp.dest('web/public/assets/images/'));
});
gulp.task('writehtml', function(next){
gulp.src('app/index.base.html')
.pipe(htmlreplace(replacePack()))
.pipe(rename('index.html'))
.pipe(gulp.dest('app/public/'));
gulp.src('app/index.base.html')
.pipe(htmlreplace(replacePack(true)))
.pipe(rename('index.html'))
.pipe(gulp.dest('web/public/'));
next();
});
function replacePack(min){
return {
css: {
src: PATHS.css
},
scripts: {
src: (min)? PATHS.minscripts : PATHS.rawscripts,
tpl: '<script src="/app%s"></script>'
}
};
}
gulp.task('copy', function(next){
gulp.src('app/routes/**')
.pipe(gulp.dest('web/routes/'));
gulp.src('app/public/components/**/*.pug')
.pipe(gulp.dest('web/public/components/'));
gulp.src(['app/public/story/**'])
.pipe(gulp.dest('web/public/story/'));
gulp.src(['app/public/app.js','app/public/config.js', 'app/public/shared/**/*.js', , 'app/public/components/**/*.js'])
.pipe(plumber())
.pipe(streamify(uglify()))
.pipe(gpconcat('app.min.js'))
.pipe(gulp.dest('web/public/'));
gulp.src('app/app.js')
.pipe(gulp.dest('web/'));
next();
});