forked from humanitiesplusdesign/palladio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
85 lines (75 loc) · 2.45 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
var gulp = require('gulp');
var mainBowerFiles = require('main-bower-files');
var webserver = require('gulp-webserver');
var merge = require('merge-stream');
var concat = require('gulp-concat');
var filter = require('gulp-filter');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var order = require('gulp-order');
var angularTemplates = require('gulp-angular-templates');
var palladioSources = [
"./lib/crossfilter/crossfilter-helpers.js",
"./lib/bootstrap-tag/bootstrap-tag.js",
"./lib/d3/d3.timeline.js",
"./lib/d3/d3.graph.js",
"./lib/d3/d3.svg.multibrush.js",
"./lib/d3-bootstrap/d3-bootstrap-plugins.js",
"./lib/codemirror/placeholder.js",
// "./lib/yasqe/yasqe.min.js",
// "./lib/yasr/yasr.min.js",
"./src/js/**/*.js",
"./src/components/**/*.js",
"./src/unfinished_components/**/*.js",
"./bower_components/bootstrap/js/tooltip.js"
];
var palladioCSS = [ "./lib/**/*.css", "./src/**/*.css" ];
var palladioTemplate = [
"./src/html/*.html",
// "./src/unfinished_components/**/*.html",
"./src/components/**/*.html"
];
var filterByExtension = function(extension){
return filter(function(file){
return file.path.match(new RegExp('.' + extension + '$'));
});
};
gulp.task('scripts', function () {
var files = gulp.src(
mainBowerFiles({includeDev: true})
.concat(palladioSources)
)
.pipe(filterByExtension("js"))
.pipe(concat('jsFiles.js'));
var templates = gulp.src(palladioTemplate)
.pipe(angularTemplates({ module: 'palladio', basePath: 'partials/' }))
.pipe(rename('templates.tmpl'));
merge(files, templates)
.pipe(order(['*.js', '*.tmpl']))
.pipe(concat('palladio.js'))
.pipe(gulp.dest('./'))
.pipe(uglify())
.pipe(rename('palladio.min.js'))
.pipe(gulp.dest('./'));;
});
gulp.task('css', function () {
gulp.src(mainBowerFiles({includeDev: true})
.concat(palladioCSS))
.pipe(filterByExtension("css"))
.pipe(concat('palladio.css'))
.pipe(gulp.dest('./'));
});
gulp.task('images', function () {
gulp.src('./bower_components/mapbox.js/images/*')
.pipe(gulp.dest('./images/'));
});
// Watch Files For Changes
gulp.task('watch', function() {
gulp.watch(["bower.json"], ['scripts', 'css']);
gulp.watch(palladioSources, ['scripts']);
gulp.watch(palladioCSS, ['css']);
gulp.watch(palladioTemplate, ['scripts']);
});
gulp.task('default', ['scripts', 'css', 'images', 'watch']);
gulp.task('all', ['scripts', 'css', 'images']);
gulp.task('serve', ['webserver']);