-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
55 lines (48 loc) · 1.41 KB
/
gulpfile.js
File metadata and controls
55 lines (48 loc) · 1.41 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
// PostCSS by @nabaroa
const gulp = require('gulp'),
postcss = require('gulp-postcss'),
autoprefixer = require('autoprefixer'),
cssimport = require('postcss-import'),
customproperties = require('postcss-custom-properties'),
apply = require('postcss-apply'),
mixins = require('postcss-mixins'),
nested = require('postcss-nested'),
customMedia = require("postcss-custom-media")
nano = require('gulp-cssnano'),
browserSync = require('browser-sync'),
versionAppend = require('gulp-version-append');
notify = require('gulp-notify');
gulp.task('css', () => {
const processors = [
cssimport,
autoprefixer,
customproperties,
apply,
mixins,
nested,
customMedia
];
const configNano = {
autoprefixer: { browsers: 'last 2 versions' },
discardComments: { removeAll: true },
safe: true
};
return gulp.src('./src/*.css')
.pipe(postcss(processors))
.pipe(nano(configNano))
.pipe(gulp.dest('./css'))
.pipe(notify({ message: 'Your CSS is ready ♡' }))
// .pipe(versionAppend(extensionsArray[, options]))
.pipe(versionAppend(['css', 'js']));
});
gulp.task('browser-sync', () => {
browserSync({
server: {
baseDir: './'
}
});
});
gulp.task('watch', () => {
gulp.watch('src/**/*.css', ['css']);
});
gulp.task('default', ['css', 'browser-sync','watch',]);