-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
71 lines (62 loc) · 2.09 KB
/
Copy pathgulpfile.js
File metadata and controls
71 lines (62 loc) · 2.09 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
const gulp = require('gulp'); // Task runner
const browserSync = require('browser-sync').create(); // Sync on browser after functions
const sass = require('gulp-sass'); // Convert sass file to css files
const plumber = require('gulp-plumber'); // Handling errors
const concat = require('gulp-concat'); // To combine all js or css files into one
const postcss = require('gulp-postcss');
const { series, parallel } = require('gulp');
// compile tailwind css file from src/vendors to dist/css
function tailwind(done) {
gulp.src('./src/vendors/tailwind.css')
.pipe(postcss())
.pipe(gulp.dest('dist/css'))
.pipe(browserSync.stream());
done();
}
// Copy js files from src/js to dist/js
function js(done) {
gulp.src(['src/js/*.js'])
.pipe(plumber())
.pipe(gulp.dest('dist/js'))
.pipe(browserSync.stream());
done();
}
// Copy html files to from src/ to dist/
function html(done) {
gulp.src('src/*.html').pipe(gulp.dest('dist')).pipe(browserSync.stream());
done();
}
// copy images from src/img to dist/img
function img(done) {
gulp.src('src/images/*')
.pipe(gulp.dest('dist/images'))
.pipe(browserSync.stream());
done();
}
// copy, compile and optimize scss files from src/scss to css/app.css
function scss(done) {
gulp.src('src/scss/app.scss')
.pipe(plumber())
.pipe(sass())
.pipe(concat('main.css'))
.pipe(gulp.dest('dist/css'))
.pipe(browserSync.stream());
done();
}
function watch() {
browserSync.init({
server: './dist',
});
gulp.watch('./tailwind.config.js', tailwind);
gulp.watch('src/vendors/tailwind.css', tailwind);
gulp.watch('src/*.html', parallel(html, tailwind));
gulp.watch('src/scss/**/*.scss', scss);
gulp.watch('src/js/*.js', js);
gulp.watch('src/images/*', img);
}
exports.html = html;
exports.scss = scss;
exports.js = js;
exports.img = img;
exports.watch = watch;
exports.default = series(parallel(html, scss, tailwind, js, img), watch);