diff --git a/composer.lock b/composer.lock index ca84500c7d..2eb1ac4ac5 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1cca58a0e26794fb9c546a001f7f7de8", + "content-hash": "24e7507794b971955358df5f2b143ac4", "packages": [ { "name": "apereo/phpcas", @@ -1605,12 +1605,12 @@ "source": { "type": "git", "url": "https://github.com/combodo-itop-libs/scssphp.git", - "reference": "dde81c0a39d02e8e6fc81b70269747734e16d526" + "reference": "5966ac4c6041ec4eb741fdf56dd4cb6eef756399" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/combodo-itop-libs/scssphp/zipball/dde81c0a39d02e8e6fc81b70269747734e16d526", - "reference": "dde81c0a39d02e8e6fc81b70269747734e16d526", + "url": "https://api.github.com/repos/combodo-itop-libs/scssphp/zipball/5966ac4c6041ec4eb741fdf56dd4cb6eef756399", + "reference": "5966ac4c6041ec4eb741fdf56dd4cb6eef756399", "shasum": "" }, "require": { @@ -1680,7 +1680,7 @@ "support": { "source": "https://github.com/combodo-itop-libs/scssphp/tree/combodo/1.x" }, - "time": "2026-03-23T15:26:59+00:00" + "time": "2026-04-23T13:10:31+00:00" }, { "name": "soundasleep/html2text", diff --git a/lib/composer/installed.json b/lib/composer/installed.json index 7d46b66031..49f224a71f 100644 --- a/lib/composer/installed.json +++ b/lib/composer/installed.json @@ -1672,12 +1672,12 @@ "source": { "type": "git", "url": "https://github.com/combodo-itop-libs/scssphp.git", - "reference": "dde81c0a39d02e8e6fc81b70269747734e16d526" + "reference": "5966ac4c6041ec4eb741fdf56dd4cb6eef756399" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/combodo-itop-libs/scssphp/zipball/dde81c0a39d02e8e6fc81b70269747734e16d526", - "reference": "dde81c0a39d02e8e6fc81b70269747734e16d526", + "url": "https://api.github.com/repos/combodo-itop-libs/scssphp/zipball/5966ac4c6041ec4eb741fdf56dd4cb6eef756399", + "reference": "5966ac4c6041ec4eb741fdf56dd4cb6eef756399", "shasum": "" }, "require": { @@ -1700,7 +1700,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": "2026-03-23T15:26:59+00:00", + "time": "2026-04-23T13:10:31+00:00", "bin": [ "bin/pscss" ], diff --git a/lib/composer/installed.php b/lib/composer/installed.php index 11d4ff1caa..16d55f0fd6 100644 --- a/lib/composer/installed.php +++ b/lib/composer/installed.php @@ -1,9 +1,9 @@ array( 'name' => 'combodo/itop', - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'reference' => '3ccbfb2b130419fec9d1158836395a13baa0ec4b', + 'pretty_version' => '1.0.0+no-version-set', + 'version' => '1.0.0.0', + 'reference' => null, 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -22,9 +22,9 @@ 'dev_requirement' => false, ), 'combodo/itop' => array( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'reference' => '3ccbfb2b130419fec9d1158836395a13baa0ec4b', + 'pretty_version' => '1.0.0+no-version-set', + 'version' => '1.0.0.0', + 'reference' => null, 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -296,7 +296,7 @@ 'scssphp/scssphp' => array( 'pretty_version' => 'dev-combodo/1.x', 'version' => 'dev-combodo/1.x', - 'reference' => 'dde81c0a39d02e8e6fc81b70269747734e16d526', + 'reference' => '5966ac4c6041ec4eb741fdf56dd4cb6eef756399', 'type' => 'library', 'install_path' => __DIR__ . '/../scssphp/scssphp', 'aliases' => array(), diff --git a/lib/scssphp/scssphp/src/Compiler.php b/lib/scssphp/scssphp/src/Compiler.php index c7c14435c8..4d8be52d2b 100644 --- a/lib/scssphp/scssphp/src/Compiler.php +++ b/lib/scssphp/scssphp/src/Compiler.php @@ -939,7 +939,7 @@ class Compiler // if the new part is just including a previous part don't try to extend anymore if (\count($part) > 1) { foreach ($partsPile as $previousPart) { - if (! \count(array_diff($previousPart, $part))) { + if (! \count($this->diff_recursive($previousPart, $part))) { continue 2; } } @@ -10511,4 +10511,20 @@ TXT; return [Type::T_LIST, ',', $listParts]; } + + protected function diff_recursive($array1, $array2) { + $difference=array(); + foreach($array1 as $key => $value) { + if(is_array($value) && isset($array2[$key])){ // it's an array and both have the key + $new_diff = diff_recursive($value, $array2[$key]); + if( !empty($new_diff) ) + $difference[$key] = $new_diff; + } else if(is_string($value) && !in_array($value, $array2)) { // the value is a string and it's not in array B + $difference[$key] = $value . " is missing from the second array"; + } else if(!is_numeric($key) && !array_key_exists($key, $array2)) { // the key is not numberic and is missing from array B + $difference[$key] = "Missing from the second array"; + } + } + return $difference; + } }