Files
assetsmanifest-plugin/classes/TwigFilters.php

37 lines
1.1 KiB
PHP

<?php namespace Wpstudio\AssetsManifest\Classes;
use Wpstudio\Assetsmanifest\Components\Manifest;
class TwigFilters
{
public static function manifest($assetName): string
{
$manifest = app()->get(Manifest::class);
assert($manifest instanceof Manifest);
return $manifest->getManifestReader()->get($assetName);
}
public static function hmrAssets()
{
if (\Config::get('app.debug')) {
$manifest = app()->get(Manifest::class);
assert($manifest instanceof Manifest);
$startsWithSubstring = 'vendors-node_modules';
foreach ($manifest->getManifestReader()->toArray() as $assetName => $assetsFullPath) {
if (starts_with($assetName, $startsWithSubstring)) {
if (ends_with($assetName, '.css')) {
echo '<link rel="stylesheet" href="' . $assetsFullPath . '">' . PHP_EOL;
} else {
echo '<script src="' . $assetsFullPath . '"></script>' . PHP_EOL;
}
}
}
}
}
}