From 919d2879c32921cce027900d9bc47452755ca5f2 Mon Sep 17 00:00:00 2001 From: Michael Miday Date: Mon, 16 Oct 2017 12:31:18 -0400 Subject: [PATCH] [ticket/15403] Add useful gulp methods PHPBB3-15403 --- gulpfile.js | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 gulpfile.js diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000000..c2a1822545 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,71 @@ +'use strict'; + +const del = require('del'); +const gulp = require('gulp'); +const autoprefixer = require('gulp-autoprefixer'); +const sass = require('gulp-sass'); +const rename = require('gulp-rename'); +const sourcemaps = require('gulp-sourcemaps'); +const cssnano = require('gulp-cssnano'); +const postcss = require('gulp-postcss'); +const stylefmt = require('gulp-stylefmt'); +const sorting = require('postcss-sorting'); +const atimport = require('postcss-import'); +const torem = require('postcss-pxtorem'); +const sortOrder = require('./.postcss-sorting.json'); +const pkg = require('./package.json'); + +// Config +const build = { + css: './phpBB/styles/prosilver/theme/', +}; + +const AUTOPREFIXER_BROWSERS = [ + '> 1%', + 'last 2 versions' +]; + +gulp.task('css', () => { + const css = gulp + .src(build.css + '*.css') + .pipe(autoprefixer(AUTOPREFIXER_BROWSERS)) + .pipe( + postcss([ + sorting(sortOrder) + ]) + ) + .pipe(stylefmt()) + .pipe(gulp.dest(build.css)); + + return css; +}); + +gulp.task('clean', () => { + del(['dist']); +}); + +gulp.task('minify', () => { + const css = gulp + .src(build.css + '/bidi.css') + .pipe(sourcemaps.init()) + .pipe( + postcss([ + atimport() + ]) + ) + .pipe(cssnano()) + .pipe(rename({ + suffix: '.min', + extname: '.css' + })) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest(build.css)); + + return css; +}); + +gulp.task('watch', () => { + gulp.watch('phpBB/styles/prosilver/theme/*.css', ['css']); +}); + +gulp.task('default', ['css', 'watch']);