From 25f2028a9dba0db062e2f677d9a1f89c10f28ee4 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Mon, 20 Sep 2021 10:17:49 +0300 Subject: [PATCH] Updated SCSS compiler to v1.8 --- CHANGELOG.md | 6 ++++ composer.lock | 28 ++++++++------- vendor/composer/InstalledVersions.php | 10 +++--- vendor/composer/installed.json | 15 ++++---- vendor/composer/installed.php | 10 +++--- vendor/scssphp/scssphp/bin/pscss | 6 ++-- vendor/scssphp/scssphp/composer.json | 19 ++++++++++ vendor/scssphp/scssphp/src/Compiler.php | 40 ++++++++++++++++++++-- vendor/scssphp/scssphp/src/Node/Number.php | 4 +++ vendor/scssphp/scssphp/src/Version.php | 2 +- 10 files changed, 103 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 705abdb8..bcb3b72e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.10.23 +## mm/dd/2021 + +1. [](#new) + * Updated SCSS compiler to v1.8 + # v1.10.22 ## 09/16/2021 diff --git a/composer.lock b/composer.lock index 8240cb87..fc342701 100644 --- a/composer.lock +++ b/composer.lock @@ -188,16 +188,16 @@ }, { "name": "scssphp/scssphp", - "version": "v1.7.0", + "version": "v1.8.1", "source": { "type": "git", "url": "https://github.com/scssphp/scssphp.git", - "reference": "797f76527c72bc4fe4ee32a94c4732e8d94517ae" + "reference": "5e37759a63caf54392a4b709358a39ac7425a69f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scssphp/scssphp/zipball/797f76527c72bc4fe4ee32a94c4732e8d94517ae", - "reference": "797f76527c72bc4fe4ee32a94c4732e8d94517ae", + "url": "https://api.github.com/repos/scssphp/scssphp/zipball/5e37759a63caf54392a4b709358a39ac7425a69f", + "reference": "5e37759a63caf54392a4b709358a39ac7425a69f", "shasum": "" }, "require": { @@ -211,6 +211,7 @@ "sass/sass-spec": "*", "squizlabs/php_codesniffer": "~3.5", "symfony/phpunit-bridge": "^5.1", + "thoughtbot/bourbon": "^7.0", "twbs/bootstrap": "~5.0", "twbs/bootstrap4": "4.6.0", "zurb/foundation": "~6.5" @@ -255,9 +256,9 @@ ], "support": { "issues": "https://github.com/scssphp/scssphp/issues", - "source": "https://github.com/scssphp/scssphp/tree/v1.7.0" + "source": "https://github.com/scssphp/scssphp/tree/v1.8.1" }, - "time": "2021-09-15T21:57:30+00:00" + "time": "2021-09-18T21:20:53+00:00" } ], "packages-dev": [ @@ -1172,16 +1173,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/30f38bffc6f24293dadd1823936372dfa9e86e2f", + "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f", "shasum": "" }, "require": { @@ -1189,7 +1190,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -1215,9 +1217,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.0" }, - "time": "2020-09-17T18:55:26+00:00" + "time": "2021-09-17T15:28:14+00:00" }, { "name": "phpspec/prophecy", diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index c14fe2dd..0241fe9f 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -29,7 +29,7 @@ private static $installed = array ( 'aliases' => array ( ), - 'reference' => '879819123303cf642c0552339cc2e1b46e94aab1', + 'reference' => '092e26c2c6643e0e5a655fd77f7da8baaec48186', 'name' => 'getgrav/grav-plugin-admin', ), 'versions' => @@ -41,7 +41,7 @@ private static $installed = array ( 'aliases' => array ( ), - 'reference' => '879819123303cf642c0552339cc2e1b46e94aab1', + 'reference' => '092e26c2c6643e0e5a655fd77f7da8baaec48186', ), 'laminas/laminas-xml' => array ( @@ -79,12 +79,12 @@ private static $installed = array ( ), 'scssphp/scssphp' => array ( - 'pretty_version' => 'v1.7.0', - 'version' => '1.7.0.0', + 'pretty_version' => 'v1.8.1', + 'version' => '1.8.1.0', 'aliases' => array ( ), - 'reference' => '797f76527c72bc4fe4ee32a94c4732e8d94517ae', + 'reference' => '5e37759a63caf54392a4b709358a39ac7425a69f', ), 'symfony/polyfill-php72' => array ( diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 104dc549..5e8afdea 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -191,17 +191,17 @@ }, { "name": "scssphp/scssphp", - "version": "v1.7.0", - "version_normalized": "1.7.0.0", + "version": "v1.8.1", + "version_normalized": "1.8.1.0", "source": { "type": "git", "url": "https://github.com/scssphp/scssphp.git", - "reference": "797f76527c72bc4fe4ee32a94c4732e8d94517ae" + "reference": "5e37759a63caf54392a4b709358a39ac7425a69f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scssphp/scssphp/zipball/797f76527c72bc4fe4ee32a94c4732e8d94517ae", - "reference": "797f76527c72bc4fe4ee32a94c4732e8d94517ae", + "url": "https://api.github.com/repos/scssphp/scssphp/zipball/5e37759a63caf54392a4b709358a39ac7425a69f", + "reference": "5e37759a63caf54392a4b709358a39ac7425a69f", "shasum": "" }, "require": { @@ -215,6 +215,7 @@ "sass/sass-spec": "*", "squizlabs/php_codesniffer": "~3.5", "symfony/phpunit-bridge": "^5.1", + "thoughtbot/bourbon": "^7.0", "twbs/bootstrap": "~5.0", "twbs/bootstrap4": "4.6.0", "zurb/foundation": "~6.5" @@ -223,7 +224,7 @@ "ext-iconv": "Can be used as fallback when ext-mbstring is not available", "ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv" }, - "time": "2021-09-15T21:57:30+00:00", + "time": "2021-09-18T21:20:53+00:00", "bin": [ "bin/pscss" ], @@ -261,7 +262,7 @@ ], "support": { "issues": "https://github.com/scssphp/scssphp/issues", - "source": "https://github.com/scssphp/scssphp/tree/v1.7.0" + "source": "https://github.com/scssphp/scssphp/tree/v1.8.1" }, "install-path": "../scssphp/scssphp" } diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 4dd9fee4..84af48c3 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -6,7 +6,7 @@ 'aliases' => array ( ), - 'reference' => '879819123303cf642c0552339cc2e1b46e94aab1', + 'reference' => '092e26c2c6643e0e5a655fd77f7da8baaec48186', 'name' => 'getgrav/grav-plugin-admin', ), 'versions' => @@ -18,7 +18,7 @@ 'aliases' => array ( ), - 'reference' => '879819123303cf642c0552339cc2e1b46e94aab1', + 'reference' => '092e26c2c6643e0e5a655fd77f7da8baaec48186', ), 'laminas/laminas-xml' => array ( @@ -56,12 +56,12 @@ ), 'scssphp/scssphp' => array ( - 'pretty_version' => 'v1.7.0', - 'version' => '1.7.0.0', + 'pretty_version' => 'v1.8.1', + 'version' => '1.8.1.0', 'aliases' => array ( ), - 'reference' => '797f76527c72bc4fe4ee32a94c4732e8d94517ae', + 'reference' => '5e37759a63caf54392a4b709358a39ac7425a69f', ), 'symfony/polyfill-php72' => array ( diff --git a/vendor/scssphp/scssphp/bin/pscss b/vendor/scssphp/scssphp/bin/pscss index 18c136ac..e6223983 100755 --- a/vendor/scssphp/scssphp/bin/pscss +++ b/vendor/scssphp/scssphp/bin/pscss @@ -26,7 +26,7 @@ use ScssPhp\ScssPhp\Parser; use ScssPhp\ScssPhp\Version; $style = null; -$loadPaths = null; +$loadPaths = []; $dumpTree = false; $inputFile = null; $changeDir = false; @@ -148,7 +148,7 @@ EOT; $value = parseArgument($i, array('-I', '--load-path')); if (isset($value)) { - $loadPaths = $value; + $loadPaths[] = $value; continue; } @@ -188,7 +188,7 @@ if ($dumpTree) { $scss = new Compiler(); if ($loadPaths) { - $scss->setImportPaths(explode(PATH_SEPARATOR, $loadPaths)); + $scss->setImportPaths($loadPaths); } if ($style) { diff --git a/vendor/scssphp/scssphp/composer.json b/vendor/scssphp/scssphp/composer.json index e4895871..86cd396b 100644 --- a/vendor/scssphp/scssphp/composer.json +++ b/vendor/scssphp/scssphp/composer.json @@ -40,6 +40,7 @@ "sass/sass-spec": "*", "squizlabs/php_codesniffer": "~3.5", "symfony/phpunit-bridge": "^5.1", + "thoughtbot/bourbon": "^7.0", "twbs/bootstrap": "~5.0", "twbs/bootstrap4": "4.6.0", "zurb/foundation": "~6.5" @@ -63,6 +64,24 @@ } } }, + { + "type": "package", + "package": { + "name": "thoughtbot/bourbon", + "version": "v7.0.0", + "source": { + "type": "git", + "url": "https://github.com/thoughtbot/bourbon.git", + "reference": "fbe338ee6807e7f7aa996d82c8a16f248bb149b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thoughtbot/bourbon/zipball/fbe338ee6807e7f7aa996d82c8a16f248bb149b3", + "reference": "fbe338ee6807e7f7aa996d82c8a16f248bb149b3", + "shasum": "" + } + } + }, { "type": "package", "package": { diff --git a/vendor/scssphp/scssphp/src/Compiler.php b/vendor/scssphp/scssphp/src/Compiler.php index 56713094..58ba795a 100644 --- a/vendor/scssphp/scssphp/src/Compiler.php +++ b/vendor/scssphp/scssphp/src/Compiler.php @@ -3827,7 +3827,6 @@ EOL; // try to find a native lib function $normalizedName = $this->normalizeName($name); - $libName = null; if (isset($this->userFunctions[$normalizedName])) { // see if we can find a user function @@ -3836,10 +3835,45 @@ EOL; return [Type::T_FUNCTION_REFERENCE, 'user', $name, $f, $prototype]; } + $lowercasedName = strtolower($normalizedName); + + // Special functions overriding a CSS function are case-insensitive. We normalize them as lowercase + // to avoid the deprecation warning about the wrong case being used. + if ($lowercasedName === 'min' || $lowercasedName === 'max') { + $normalizedName = $lowercasedName; + } + if (($f = $this->getBuiltinFunction($normalizedName)) && \is_callable($f)) { $libName = $f[1]; $prototype = isset(static::$$libName) ? static::$$libName : null; + // All core functions have a prototype defined. Not finding the + // prototype can mean 2 things: + // - the function comes from a child class (deprecated just after) + // - the function was found with a different case, which relates to calling the + // wrong Sass function due to our camelCase usage (`fade-in()` vs `fadein()`), + // because PHP method names are case-insensitive while property names are + // case-sensitive. + if ($prototype === null || strtolower($normalizedName) !== $normalizedName) { + $r = new \ReflectionMethod($this, $libName); + $actualLibName = $r->name; + + if ($actualLibName !== $libName || strtolower($normalizedName) !== $normalizedName) { + $kebabCaseName = preg_replace('~(?<=\\w)([A-Z])~', '-$1', substr($actualLibName, 3)); + assert($kebabCaseName !== null); + $originalName = strtolower($kebabCaseName); + $warning = "Calling built-in functions with a non-standard name is deprecated since Scssphp 1.8.0 and will not work anymore in 2.0 (they will be treated as CSS function calls instead).\nUse \"$originalName\" instead of \"$name\"."; + @trigger_error($warning, E_USER_DEPRECATED); + $fname = $this->getPrettyPath($this->sourceNames[$this->sourceIndex]); + $line = $this->sourceLine; + Warn::deprecation("$warning\n on line $line of $fname"); + + // Use the actual function definition + $prototype = isset(static::$$actualLibName) ? static::$$actualLibName : null; + $f[1] = $libName = $actualLibName; + } + } + if (\get_class($this) !== __CLASS__ && !isset($this->warnedChildFunctions[$libName])) { $r = new \ReflectionMethod($this, $libName); $declaringClass = $r->getDeclaringClass()->name; @@ -7461,7 +7495,7 @@ EOL; } } - return [Type::T_HSL, fmod($h, 360), $s * 100, $l / 5.1]; + return [Type::T_HSL, fmod($h + 360, 360), $s * 100, $l / 5.1]; } /** @@ -8148,7 +8182,7 @@ EOL; } } - $hueValue = $hue->getDimension() % 360; + $hueValue = fmod($hue->getDimension(), 360); while ($hueValue < 0) { $hueValue += 360; diff --git a/vendor/scssphp/scssphp/src/Node/Number.php b/vendor/scssphp/scssphp/src/Node/Number.php index 78f86bac..b326906b 100644 --- a/vendor/scssphp/scssphp/src/Node/Number.php +++ b/vendor/scssphp/scssphp/src/Node/Number.php @@ -149,6 +149,7 @@ class Number extends Node implements \ArrayAccess /** * {@inheritdoc} */ + #[\ReturnTypeWillChange] public function offsetExists($offset) { if ($offset === -3) { @@ -174,6 +175,7 @@ class Number extends Node implements \ArrayAccess /** * {@inheritdoc} */ + #[\ReturnTypeWillChange] public function offsetGet($offset) { switch ($offset) { @@ -200,6 +202,7 @@ class Number extends Node implements \ArrayAccess /** * {@inheritdoc} */ + #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { throw new \BadMethodCallException('Number is immutable'); @@ -208,6 +211,7 @@ class Number extends Node implements \ArrayAccess /** * {@inheritdoc} */ + #[\ReturnTypeWillChange] public function offsetUnset($offset) { throw new \BadMethodCallException('Number is immutable'); diff --git a/vendor/scssphp/scssphp/src/Version.php b/vendor/scssphp/scssphp/src/Version.php index 4cc0bb68..62c8006a 100644 --- a/vendor/scssphp/scssphp/src/Version.php +++ b/vendor/scssphp/scssphp/src/Version.php @@ -19,5 +19,5 @@ namespace ScssPhp\ScssPhp; */ class Version { - const VERSION = '1.7.0'; + const VERSION = '1.8.1'; }