diff --git a/common/framework/Formatter.php b/common/framework/Formatter.php index 6fd52be41..af59642e9 100644 --- a/common/framework/Formatter.php +++ b/common/framework/Formatter.php @@ -228,10 +228,10 @@ class Formatter { // Get the cleaned and concatenated content. $imported_list = []; - $content = self::concatCSS($source_filename, $target_filename, true, $imported_list); + $content = self::concatCSS($source_filename, $target_filename, false, $imported_list); if (strpos($content, '@charset') === false) { - $content = '@charset "UTF-8";' . "\n" . $content; + $content = '@charset "UTF-8"; ' . $content; } $primary_filename = is_array($source_filename) ? array_first($source_filename) : $source_filename; $sourcemap_filename = preg_replace('/\.css$/', '.map', $target_filename); @@ -361,6 +361,7 @@ class Formatter { $charsets = []; $imported_urls = []; + $import_type = 'normal'; $result = ''; if (!is_array($source_filename)) @@ -450,6 +451,11 @@ class Formatter trigger_error('Imported file not found: ' . $error_filename, \E_USER_WARNING); } } + if ($import_type === 'scss') + { + $import_content = preg_replace('!//.*?\n!s', '', $import_content); + $import_content = preg_replace('![\r\n]+!', ' ', $import_content); + } return trim($import_content); }, $content); @@ -506,7 +512,8 @@ class Formatter if (count($charsets)) { $charset = '@charset "' . escape_dqstr(array_first($charsets)) . '";'; - $result = $charset . "\n" . $result; + $delimiter = $import_type === 'scss' ? ' ' : "\n"; + $result = $charset . $delimiter . $result; } return $result; diff --git a/tests/_data/formatter/scss.target1.css b/tests/_data/formatter/scss.target1.css index aadf68f41..3ac889792 100644 --- a/tests/_data/formatter/scss.target1.css +++ b/tests/_data/formatter/scss.target1.css @@ -1,8 +1,6 @@ @charset "UTF-8"; @import url("//fonts.googleapis.com/css?family=Raleway:700,400"); @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap"); -/* Original file: tests/_data/formatter/scss.source1.scss */ -/* Original file: tests/_data/formatter/scss.source2.scss */ .inc1 { margin: 5px; }