- WIP on Picea's assets

This commit is contained in:
mcndave committed 2023-10-17 23:14:59 -04:00
1 parent 4c0cddd617
commit bc6880c166
6 files changed
+53 -48

No files matched your search

+26 -31
View File
@@ -109,7 +109,7 @@ class Lean
public function getAssetPaths() : array
{
$list = array_merge(...array_map(fn($app) => $app->piceaAssets['source'] ?? [], $this->applications));
$list = array_merge(...array_map(fn($app) => $app->piceaAssets ?? [], $this->applications));
uasort($list, fn($i1, $i2) => $i1['order'] <=> $i2['order'] );
@@ -162,21 +162,7 @@ class Lean
foreach(Composer::readComposerLock()['packages'] as $package) {
foreach($package['extra']['lean']['autoload']['definitions'] ?? [] as $autoload) {
if (is_string($autoload)) {
$vendor = getenv('VENDOR_PATH') ? getenv('VENDOR_PATH') : dirname(__DIR__, 3);
$file = $vendor . DIRECTORY_SEPARATOR . $package['name'] . DIRECTORY_SEPARATOR . $autoload;
if ( ! file_exists($file) ) {
throw new \InvalidArgumentException(sprintf("Given autoload file `%s` from package `%s` was not found or is unreachable", $autoload, $package['name']));
}
$list = array_replace($list, require($file));
}
else {
$func = implode('::', array_merge([ key($autoload) ], $autoload));
$list = array_replace($list, call_user_func($func));
}
$list = array_replace($list, static::loadFromPackage($package, $autoload));
}
}
@@ -189,24 +175,33 @@ class Lean
foreach(Composer::readComposerLock()['packages'] as $package) {
foreach($package['extra']['lean']['autoload']['config'] ?? [] as $autoload) {
if (is_string($autoload)) {
$vendor = getenv('VENDOR_PATH') ? getenv('VENDOR_PATH') : dirname(__DIR__, 3);
$file = $vendor . DIRECTORY_SEPARATOR . $package['name'] . DIRECTORY_SEPARATOR . $autoload;
if ( ! file_exists($file) ) {
throw new \InvalidArgumentException(sprintf("Given autoload file `%s` from package `%s` was not found or is unreachable", $autoload, $package['name']));
}
$list = array_merge_recursive($list, require($file));
}
else {
$func = implode('::', array_merge([ key($autoload) ], $autoload));
$list = array_merge_recursive($list, call_user_func($func));
}
$list = array_merge_recursive($list, static::loadFromPackage($package, $autoload));
}
}
return $list;
}
protected static function loadFromPackage(array $package, array|string $autoload) : false|array
{
$list = [];
if (is_string($autoload)) {
$vendor = getenv('VENDOR_DIR') ? getenv('VENDOR_PATH') : dirname(__DIR__, 3);
$file = $vendor . DIRECTORY_SEPARATOR . $package['name'] . DIRECTORY_SEPARATOR . $autoload;
if ( ! file_exists($file) ) {
throw new \InvalidArgumentException(sprintf("Given autoload file `%s` from package `%s` was not found or is unreachable", $autoload, $package['name']));
}
return require($file);
}
else {
$func = implode('::', array_merge([ key($autoload) ], $autoload));
return call_user_func($func);
}
return false;
}
}