Bug 19474: Convert staff client CSS to SCSS
[koha-equinox.git] / gulpfile.js
1 /* eslint-env node */
2 /* eslint no-console:"off" */
3
4 let gulp;
5
6 try {
7     gulp = require( "gulp" );
8 } catch(e) {
9     console.error("You are missing required Node modules; run `npm install`.");
10     process.exit(1);
11 }
12
13 const gutil = require( "gulp-util" );
14 const sass = require("gulp-sass");
15 const cssnano = require("gulp-cssnano");
16 const sourcemaps = require('gulp-sourcemaps');
17 const autoprefixer = require('gulp-autoprefixer');
18
19 const STAFF_JS_BASE = "koha-tmpl/intranet-tmpl/prog/js";
20 const STAFF_CSS_BASE = "koha-tmpl/intranet-tmpl/prog/css";
21 const OPAC_JS_BASE = "koha-tmpl/opac-tmpl/bootstrap/js";
22 const OPAC_CSS_BASE = "koha-tmpl/opac-tmpl/bootstrap/css";
23
24 var sassOptions = {
25     errLogToConsole: true,
26     precision: 3
27 }
28
29 gulp.task( "default", ['watch'] );
30
31 // CSS processing for development
32 gulp.task('css', function() {
33     return gulp.src( STAFF_CSS_BASE + "/src/**/*.scss" )
34       .pipe(sourcemaps.init())
35       .pipe(sass( sassOptions ).on('error', sass.logError))
36       .pipe(autoprefixer())
37       .pipe(sourcemaps.write('./maps'))
38       .pipe(gulp.dest( STAFF_CSS_BASE ));
39 });
40
41 // CSS processing for production
42
43 gulp.task('build', function() {
44     return gulp.src( STAFF_CSS_BASE + "/src/**/*.scss" )
45       .pipe(sass( sassOptions ).on('error', sass.logError))
46       .pipe(autoprefixer())
47       .pipe(cssnano())
48       .pipe(gulp.dest( STAFF_CSS_BASE ));
49 });
50
51 gulp.task('watch', function(){
52     gulp.watch( STAFF_CSS_BASE + "/src/**/*.scss", ['css'] );
53 });