+ vitejs support

This commit is contained in:
2022-07-17 14:34:49 +03:00
parent a35faa558c
commit 0c7f82ab7e
11 changed files with 402 additions and 78 deletions

View File

@ -1,9 +1,12 @@
<?php namespace Wpstudio\AssetsManifest;
use Backend;
use Cms\Classes\Theme;
use System\Classes\PluginBase;
use Wpstudio\AssetsManifest\Classes\Bundlers\Bundler;
use Wpstudio\AssetsManifest\Classes\ManifestReader;
use Wpstudio\AssetsManifest\Classes\TwigFilters;
use Wpstudio\Assetsmanifest\Components\Manifest;
use Config;
/**
* assetsmanifest Plugin Information File
@ -32,7 +35,17 @@ class Plugin extends PluginBase
*/
public function register()
{
app()->singleton(Bundler::class, Config::get('wpstudio.assetsmanifest::bundler'));
app()->singleton(ManifestReader::class, fn() => new ManifestReader(
Theme::getActiveTheme()->getPath(
sprintf(
'%s/%s/manifest.json',
Theme::getActiveTheme()->getDirName(),
Config::get('wpstudio.assetsmanifest::vite_path_build')
)
),
));
}
/**
@ -53,7 +66,7 @@ class Plugin extends PluginBase
public function registerComponents()
{
return [
Manifest::class => 'manifest',
];
}
@ -98,11 +111,14 @@ class Plugin extends PluginBase
{
return [
'filters' => [
'manifest' => [TwigFilters::class, 'manifest'],
'encoreAsset' => [TwigFilters::class, 'encoreAsset'],
],
'functions' => [
'manifest' => [TwigFilters::class, 'manifest'],
'encoreAsset' => [TwigFilters::class, 'encoreAsset'],
'hmrAssets' => [TwigFilters::class, 'hmrAssets'],
'viteEntrypointStyles' => [TwigFilters::class, 'viteEntrypointStyles'],
'viteEntrypointAssets' => [TwigFilters::class, 'viteEntrypointAssets'],
'viteDevClientScriptTag' => [TwigFilters::class, 'viteDevClientScriptTag'],
],
];
}