-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathgulpfile.js
More file actions
52 lines (48 loc) · 1.87 KB
/
gulpfile.js
File metadata and controls
52 lines (48 loc) · 1.87 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
const gulp = require('gulp');
const concat = require('gulp-concat');
const streamqueue = require('streamqueue');
const uglify = require('gulp-uglify');
const cssPurge = require('gulp-css-purge');
const sass = require('gulp-sass');
// Concatenate and minify scripts
gulp.task('scripts', function() {
// inspired by https://stackoverflow.com/a/23507836
return streamqueue({ objectMode: true },
gulp.src('./node_modules/jquery/dist/jquery.min.js'),
gulp.src('./node_modules/materialize-css/dist/js/materialize.js'),
gulp.src('./node_modules/codemirror/lib/codemirror.js'),
gulp.src('./node_modules/codemirror/mode/clike/clike.js'),
gulp.src('./node_modules/codemirror/addon/edit/matchbrackets.js'),
gulp.src('./node_modules/codemirror/mode/xml/xml.js'),
gulp.src('./node_modules/codemirror/mode/javascript/javascript.js'),
gulp.src('./node_modules/codemirror/mode/htmlmixed/htmlmixed.js'),
gulp.src('./node_modules/codemirror/mode/css/css.js'),
gulp.src('./node_modules/codemirror/mode/php/php.js'),
gulp.src('./static/app.js')
)
.pipe(concat('scripts.js'))
.pipe(uglify())
.pipe(gulp.dest('./static'));
});
// Concatenate and minify stylesheets
gulp.task('styles', function() {
return streamqueue({ objectMode: true },
gulp.src('./scss/materialize-customized.scss')
.pipe(sass().on('error', sass.logError)),
gulp.src('./static/app.css')
)
.pipe(concat('styles.css'))
.pipe(cssPurge({
trim : true,
shorten : true,
verbose : false
}))
.pipe(gulp.dest('./static'));
});
// Copy file that is needed as-is
gulp.task('copy', function () {
return gulp.src('./node_modules/codemirror/lib/codemirror.css')
.pipe(gulp.dest('static'));
});
// Run entire process
gulp.task('default', gulp.series('scripts', 'styles', 'copy'));