From f744eb816149926939470e679a7e4d86c863a8b3 Mon Sep 17 00:00:00 2001 From: Peter Dias Date: Wed, 13 Jan 2021 10:20:15 +0800 Subject: [PATCH] MDL-71702 core: Add custom Moodle patch to minify There is a Pull-request from Tim Hunt to the project in GitHub (https://github.com/matthiasmullie/minify/issues/317) but, for now, as it hasn't been applied yet, we need to manually cherry-pick this change. --- lib/minify/matthiasmullie-minify/src/CSS.php | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/minify/matthiasmullie-minify/src/CSS.php b/lib/minify/matthiasmullie-minify/src/CSS.php index eb98e52ed38..f50d96bbf47 100644 --- a/lib/minify/matthiasmullie-minify/src/CSS.php +++ b/lib/minify/matthiasmullie-minify/src/CSS.php @@ -637,7 +637,35 @@ class CSS extends Minify return $placeholder; }; + // Moodle-specific change MDL-68191 starts. + /* This was the old code: $this->registerPattern('/\n?\/\*(!|.*?@license|.*?@preserve).*?\*\/\n?/s', $callback); + */ + // This is the new, more accurate and faster regex. + $this->registerPattern('/ + # optional newline + \n? + + # start comment + \/\* + + # comment content + (?: + # either starts with an ! + ! + | + # or, after some number of characters which do not end the comment + (?:(?!\*\/).)*? + + # there is either a @license or @preserve tag + @(?:license|preserve) + ) + + # then match to the end of the comment + .*?\*\/\n? + + /ixs', $callback); + // Moodle-specific change MDL-68191. $this->registerPattern('/\/\*.*?\*\//s', ''); }