forked from CCI-MIT/POGS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
90 lines (79 loc) · 2.71 KB
/
gulpfile.js
File metadata and controls
90 lines (79 loc) · 2.71 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
var gulp = require('gulp');
var noop = require('gulp-noop');
var npmDist = require('gulp-npm-dist');
var postcss = require('gulp-postcss');
var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('autoprefixer');
//var mqpacker = require('css-mqpacker');
var cssnano = require('cssnano');
var sass = require("gulp-sass");
var eyeglass = require("eyeglass");
var RESOURCE_PATH = "./src/main/resources";
var NODE_MODULES_PATH = "./node_modules";
var CONFIG = {
sass: {
sourcePath: RESOURCE_PATH + "/static/sass/**/*.scss",
destPath: RESOURCE_PATH + "/dist/css",
options: {
// node-sass options
precision: 8,
eyeglass: {
// eyeglass options
modules: [
{
name: "bootstrap",
main: function () {
return {
sassDir: NODE_MODULES_PATH + '/bootstrap/scss'
}
},
eyeglass: {
needs: ">=1.3.0"
}
}
]
}
}
},
libs: {
destPath: RESOURCE_PATH + '/dist/vendor',
excludes: ['/**/eyeglass-exports.js']
}
};
// excludes: ['/**/eyeglass-exports.js', '/build/**/*']
gulp.task('watch', function () {
var watcher = gulp.watch(CONFIG.sass.sourcePath, ['sass']);
watcher.on('change', function (event) {
console.log('File ' + event.path + ' was ' + event.type + ', running sass compilation...');
});
});
//= Internal tasks
gulp.task('copy-libs', function () {
console.log("starting to copy files");
return gulp.src(npmDist({copyUnminified: true, excludes: CONFIG.libs.excludes}),
{base: NODE_MODULES_PATH})
.pipe(gulp.dest(CONFIG.libs.destPath));
});
gulp.task("sass", function () {
return compileSass(false);
});
gulp.task("sass-minified", function () {
return compileSass(true);
});
function compileSass(shouldPostProcess) {
return gulp.src(CONFIG.sass.sourcePath)
.pipe(sourcemaps.init())
.pipe(sass(eyeglass(CONFIG.sass.options)).on("error", sass.logError))
.pipe(shouldPostProcess ? postcss([
autoprefixer(), // add vendor prefixes
//mqpacker(), // combine media queries
cssnano() // minify CSS
]) : noop())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(CONFIG.sass.destPath));
}
console.log("Before gulp tasks");
//= Entry point
//gulp.task('default', gulp.series(['copy-libs', 'sass']));
console.log("Before gulp build");
gulp.task('build', gulp.series(['copy-libs', 'sass-minified']));