-
Notifications
You must be signed in to change notification settings - Fork 4
/
gulpfile.js
executable file
·78 lines (64 loc) · 1.98 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
// Requiring gulp variable.
var gulp = require('gulp');
// Sass/CSS stuff.
var sass = require('gulp-sass');
var cssbeautify = require ('gulp-cssbeautify');
var concat = require('gulp-concat');
var prefix = require('gulp-autoprefixer');
var minifycss = require('gulp-minify-css');
const exec = require('gulp-exec');
const notify = require("gulp-notify");
const PRODUCTION = process.argv.includes('-production');
// JS stuff.
var minify = require('gulp-minify');
var sassOptions = {
includePaths: ['./sass'],
outputStyle: PRODUCTION == true ? 'compressed' : false
};
// Compile all your Sass.
gulp.task('sass', function (){
return gulp.src(['./scss/*.scss'])
.pipe(sass(sassOptions))
.pipe(prefix(
"last 1 version", "> 1%", "ie 8", "ie 7"
))
.pipe(concat('styles.css'))
.pipe(gulp.dest('./'))
});
var minifyOptions = {
ext: {
min: '.js'
}
};
minifyOptions.mangle = PRODUCTION;
minifyOptions.compress = PRODUCTION;
minifyOptions.noSource = PRODUCTION;
if (PRODUCTION == false) {
minifyOptions.preserveComments = 'all';
}
gulp.task('compress', function() {
return gulp.src('./amd/src/*.js')
.pipe(minify(minifyOptions))
.pipe(gulp.dest('./amd/build'));
done();
});
gulp.task('purge', function(done) {
return gulp.src('.')
.pipe(shell.task('php ../../admin/cli/purge_caches.php'))
.pipe(notify('Purged js cache.'))
.pip(gulp.dest('.'));
});
const moodlepath = '/var/www/html/m37dev/';
gulp.task('purge', function() {
return gulp.src('../../admin/cli/')
.pipe(exec('php ../../admin/cli/purge_caches.php'))
.pipe(notify('Purged caches.'));
});
gulp.task('watch', function(done) {
gulp.watch('./amd/src/*.js', gulp.series('compress', 'purge'));
gulp.watch('./scss/*.scss', gulp.series('sass', 'purge'));
gulp.watch('./lang/**/*', gulp.series('purge'));
gulp.watch('./templates/*.mustache', gulp.series('purge'));
done();
});
gulp.task('default', gulp.series('watch', 'compress', 'sass', 'purge'));