-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathgulpfile.js
73 lines (60 loc) · 2.84 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
var BOWER_PATH, COFFEE_FILES, DEST_PATH, FILES, FRAMEWORK_FILES, JS_FILES, LESS_FILES, SRC_PATH, coffee, concat, gulp, less, path, plumber, rename, streamqueue, uglify;
concat = require("gulp-concat");
less = require("gulp-less");
plumber = require("gulp-plumber");
clean = require("gulp-clean");
gulp = require("gulp");
path = require("path");
streamqueue = require("streamqueue");
uglify = require("gulp-uglify");
rename = require("gulp-rename");
BOWER_PATH = "bower_components/";
SRC_PATH = "_src/";
DEST_PATH = "assets/";
LESS_FILES = [SRC_PATH + "/less/style.less"];
COFFEE_FILES = [SRC_PATH + "/js/app.js",
SRC_PATH + "/js/app.controllers.js",
SRC_PATH + "/js/app.directives.js",
SRC_PATH + "/js/app.services.js",
SRC_PATH + "/js/app.templates.js"];
FRAMEWORK_FILES = [BOWER_PATH + "/js-yaml/js-yaml.js", BOWER_PATH + "/ace-builds/src-noconflict/ace.js", BOWER_PATH + "/ace-builds/src-noconflict/mode-yaml.js", BOWER_PATH + "/angular/angular.js", BOWER_PATH + "/angular-route/angular-route.js", BOWER_PATH + "/angular-cookies/angular-cookies.js", BOWER_PATH + "/angular-animate/angular-animate.js", BOWER_PATH + "/angularLocalStorage/src/angularLocalStorage.js", BOWER_PATH + "/angular-unsavedChanges/dist/unsavedChanges.js", BOWER_PATH + "/octokit/octokit.js", SRC_PATH + "/lib/mode-markdown.js", SRC_PATH + "/lib/ext-settings_menu.js", SRC_PATH + "/lib/theme-tomorrow-markdown.js", SRC_PATH + "/lib/filereader.js"];
JS_FILES = [DEST_PATH + "/js/*.js"];
gulp.task("css", function() {
return gulp.src(LESS_FILES).pipe(plumber()).pipe(less({
paths: [path.resolve(__dirname, SRC_PATH + "/less"), path.resolve(__dirname, BOWER_PATH + "/bootstrap/less")],
compress: true
})).pipe(gulp.dest(DEST_PATH + "/css"));
});
gulp.task("clean", function(){
gulp.src(DEST_PATH + '/js/*.min.js').pipe(clean({}));
});
gulp.task("js", function() {
gulp.src(COFFEE_FILES).pipe(concat("application.js")).pipe(gulp.dest(DEST_PATH + "/js"));
});
gulp.task("minify", function() {
return gulp.src(JS_FILES)
.pipe(plumber())
.pipe(clean({}))
.pipe(rename(function(path) {
if(path.basename.search(".min") == -1){
path.basename += ".min";
}
}))
.pipe(uglify({
mangle: false
}))
.pipe(gulp.dest(DEST_PATH + "/js"));
});
gulp.task("watch", ["css", "js"], function() {
gulp.watch(COFFEE_FILES, ["js"]);
gulp.watch(FRAMEWORK_FILES, ["copy"]);
return gulp.watch(SRC_PATH + "/less/*.less", ["css"]);
});
FILES = [SRC_PATH + "/img/*"];
gulp.task("copy", function() {
gulp.src(FILES).pipe(gulp.dest(DEST_PATH + "/img"));
gulp.src(FRAMEWORK_FILES).pipe(gulp.dest(DEST_PATH + "/js"))
// return gulp.src(BOWER_PATH + "/ace-builds/src-min-noconflict/**/*.js").pipe(gulp.dest(DEST_PATH + "/js/ace/"));
});
gulp.task("default", ["clean","css", "js", "copy", "watch"]);
gulp.task("production", ["minify"]);