-
Notifications
You must be signed in to change notification settings - Fork 4
/
gulpfile.js
111 lines (99 loc) · 1.91 KB
/
gulpfile.js
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var rimraf = require("rimraf");
var merge = require('merge-stream');
gulp.task('dist', function (cb) {
rimraf("wwwroot/js/dist/", cb);
return gulp.src('wwwroot/js/dotnetreport.js')
// Minify the file
.pipe(uglify())
.pipe(concat("dotnetreport.min.js"))
// Output
.pipe(gulp.dest('wwwroot/js/dist'));
});
gulp.task("minify", function () {
var streams = [
gulp.src(["wwwroot/js/*.js"])
.pipe(uglify())
.pipe(concat("site.min.js"))
.pipe(gulp.dest("wwwroot/lib/site"))
];
return merge(streams);
});
// Dependency Dirs
var deps = {
"bootstrap": {
"dist/**/*": ""
},
"jquery": {
"dist/*": ""
},
"jquery-ui-dist": {
"jquery-ui.min.js": ""
},
"jquery-validation": {
"dist/**/*": ""
},
"jquery-validation-unobtrusive": {
"dist/*": ""
},
"knockout": {
"build/output/*": ""
},
"lodash": {
"lodash.min.js": ""
},
"toastr": {
"build/*": ""
},
"bootstrap-datepicker": {
"dist/**/*": ""
},
"font-awesome": {
"**/*": ""
},
"select2": {
"dist/**/*": ""
},
"jquery-blockui": {
"jquery.blockUI.js": ""
},
"bootbox": {
"dist/*": ""
},
"knockout-sortable": {
"build/*": ""
},
"knockout-mapping": {
"dist/*": ""
},
"x-editable-bs4": {
"dist/bootstrap4-editable/**/*": ""
},
"knockout-x-editable": {
"knockout.x-editable.min.js": ""
},
"fabric": {
"dist/fabric.min.js": ""
}
};
gulp.task("clean", function (cb) {
return rimraf("wwwroot/lib/", cb);
});
gulp.task("scripts", function () {
var streams = [];
for (var prop in deps) {
console.log("Prepping Scripts for: " + prop);
for (var itemProp in deps[prop]) {
streams.push(gulp.src("node_modules/" + prop + "/" + itemProp)
.pipe(gulp.dest("wwwroot/lib/" + prop + "/" + deps[prop][itemProp])));
}
}
return merge(streams);
});
gulp.task('build', gulp.series(
'clean',
'minify',
'scripts'
));