From a97ae96eda82966906da325ea2d4622f666c938b Mon Sep 17 00:00:00 2001
From: Michael Miday <midaym@gmail.com>
Date: Mon, 16 Oct 2017 12:30:48 -0400
Subject: [PATCH 1/2] [ticket/15403] Add node modules

PHPBB3-15403
---
 package.json | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/package.json b/package.json
index 151535c826..1053083ed8 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,10 @@
     "type": "git",
     "url": "git+https://github.com/phpbb/phpbb.git"
   },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions"
+  ],
   "keywords": [
     "phpBB",
     "phpbb",
@@ -30,5 +34,19 @@
   "devDependencies": {
     "stylelint": "8.0.0",
     "stylelint-order": "0.3.0"
+  },
+  "dependencies": {
+    "del": "^3.0.0",
+    "gulp": "^3.9.1",
+    "gulp-autoprefixer": "^4.0.0",
+    "gulp-cssnano": "^2.1.2",
+    "gulp-postcss": "^7.0.0",
+    "gulp-rename": "^1.2.2",
+    "gulp-sass": "^3.1.0",
+    "gulp-sourcemaps": "^2.6.1",
+    "gulp-stylefmt": "^1.1.0",
+    "postcss-import": "^11.0.0",
+    "postcss-pxtorem": "^4.0.1",
+    "postcss-sorting": "^3.0.2"
   }
 }

From 919d2879c32921cce027900d9bc47452755ca5f2 Mon Sep 17 00:00:00 2001
From: Michael Miday <midaym@gmail.com>
Date: Mon, 16 Oct 2017 12:31:18 -0400
Subject: [PATCH 2/2] [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']);