-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGulpfile.js
79 lines (60 loc) · 1.36 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
var gulp = require('gulp-help')(
require('gulp')
);
var less = require('gulp-less');
var sourcemaps = require('gulp-sourcemaps');
var notify = require("gulp-notify");
var plumber = require('gulp-plumber');
var _ = require('lodash');
// Constants
const PATHS = {
'dev': {
'less': './less/',
'fonts': './fonts/'
},
'browser': {
'css': './css/'
}
};
/// Helpers
function prefixEach(strings, prefix) {
return _.map(strings, function (s) {
return prefix+s;
});
}
// Tasks
gulp.task('build-less', "Compiles LESS › CSS", function () {
gulp.src(
prefixEach([
'styles.less',
'styles-test.less'
], PATHS.dev.less)
).pipe(
plumber({
errorHandler: notify.onError({ message: 'Error: <%= error.message %>' })
})
).pipe(
sourcemaps.init()
).pipe(
notify({ message: "Rebuilt LESS: <%= file.relative %>", emitError: false })
).pipe(
less({
strictMath: true,
strictUnits: true
})
).pipe(
sourcemaps.write('./')
).pipe(
gulp.dest(PATHS.browser.css)
);
});
gulp.task('watch', "Automatically re-builds changes LESS files", function () {
gulp.watch(PATHS.dev.less+'**/*.less', ['build-less']);
gulp.watch(PATHS.dev.fonts+'**/*.less', ['build-less']);
});
// Tasks Aliases
function addGulpTaskAlias(alias, originalTask)
{
gulp.task(alias, "(alias for `"+originalTask+"`)", [originalTask]);
}
addGulpTaskAlias('less', 'build-less');