This repository was archived by the owner on Oct 10, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGulpfile.js
More file actions
56 lines (46 loc) · 1.46 KB
/
Gulpfile.js
File metadata and controls
56 lines (46 loc) · 1.46 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
const gulp = require('gulp');
const livereload = require('gulp-livereload');
const sass = require('gulp-sass');
const rename = require('gulp-rename');
const babelify = require('babelify');
const browserify = require('browserify');
const source = require('vinyl-source-stream');
const watchify = require('watchify');
// Css
gulp.task('styles', () => sass_compile());
gulp.task('styles:live', () => sass_compile().pipe(livereload({ start: true })))
gulp.task('styles:watch', ['styles'], () => {
return gulp.watch(['./src/sass/*.scss', './src/sass/**/*.scss'], ['styles:live'])
})
function sass_compile() {
return gulp
.src('src/sass/main.scss')
.pipe(sass())
.pipe(rename('app.css'))
.pipe(gulp.dest('./public'));
}
// Javascript
function compile(watch) {
// var bundle_watch = watchify(browserify('./static/js/index.js'));
var bundle = browserify('./src/js/main.js');
function rebundle() {
bundle
.transform(babelify)
.bundle()
.on('error', (err) => { console.log(err); this.emit('end'); })
.pipe(source('main.js'))
.pipe(rename('app.js'))
.pipe(gulp.dest('./public'));
}
if (watch) {
watchify(bundle).on('update', () => {
console.log('--> Bundling...');
rebundle();
})
}
rebundle()
}
gulp.task('default', ['styles', 'build']);
gulp.task('watch', ['styles:watch', 'build:watch']);
gulp.task('build', () => { return compile() });
gulp.task('build:watch', () => { return compile(true) });