-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathgulpfile.js
58 lines (51 loc) · 1.82 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
var gulp = require('gulp');
var gulpAutoprefixer = require('gulp-autoprefixer');
var gulpClean = require('gulp-clean');
var gulpCleanCss = require('gulp-clean-css');
var gulpRename = require('gulp-rename');
var gulpSass = require('gulp-sass');
var gulpSourcemaps = require('gulp-sourcemaps');
var gulpWatch = require('gulp-watch');
var config = {
directories: {
output: 'dist'
},
files: {
sassManifest: [ 'src/ux-ias.scss', 'src/ux-ias_dark.scss' ],
srcSass: 'src/**/*.scss'
}
};
gulp.task('build:development', ['sass:development']);
gulp.task('build:production', ['sass:production']);
gulp.task('clean', function() {
return gulp
.src(config.directories.output)
.pipe(gulpClean());
});
gulp.task('default', [ 'sass:development', 'watch:sass' ]);
gulp.task('sass:development', function() {
return gulp
.src(config.files.sassManifest)
.pipe(gulpSourcemaps.init())
.pipe(gulpSass({ outputStyle: 'expanded' }).on('error', gulpSass.logError))
.pipe(gulpAutoprefixer({ browsers: [ 'last 2 versions' ] }))
.pipe(gulpSourcemaps.write())
.pipe(gulp.dest(config.directories.output));
});
gulp.task('sass:production', function() {
return gulp
.src(config.files.sassManifest)
.pipe(gulpSourcemaps.init())
.pipe(gulpSass({ outputStyle: 'expanded' }).on('error', gulpSass.logError))
.pipe(gulpAutoprefixer({ browsers: [ 'last 2 versions' ] }))
.pipe(gulp.dest(config.directories.output))
.pipe(gulpCleanCss())
.pipe(gulpRename({ extname: '.min.css' }))
.pipe(gulpSourcemaps.write('./'))
.pipe(gulp.dest(config.directories.output));
});
gulp.task('watch:sass', function() {
return gulpWatch(config.files.srcSass, function() {
gulp.start('sass:development');
});
});