diff --git a/Plugin.php b/Plugin.php
index 634dbc0..5439542 100644
--- a/Plugin.php
+++ b/Plugin.php
@@ -4,6 +4,7 @@ use Backend;
use Cms\Classes\Theme;
use System\Classes\PluginBase;
use Wpstudio\AssetsManifest\Classes\Bundlers\Bundler;
+use Wpstudio\AssetsManifest\Classes\Bundlers\ViteBundler;
use Wpstudio\AssetsManifest\Classes\ManifestReader;
use Wpstudio\AssetsManifest\Classes\TwigFilters;
use Config;
@@ -37,15 +38,19 @@ class Plugin extends PluginBase
{
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')
- )
- ),
- ));
+ if (Config::get('wpstudio.assetsmanifest::vite_dev_enabled') != ViteBundler::class ||
+ !Config::get('wpstudio.assetsmanifest::vite_dev_enabled')
+ ) {
+ 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')
+ )
+ ),
+ ));
+ }
}
/**
diff --git a/classes/TwigFilters.php b/classes/TwigFilters.php
index 1a45803..a11315e 100644
--- a/classes/TwigFilters.php
+++ b/classes/TwigFilters.php
@@ -61,6 +61,10 @@ class TwigFilters
$bundler->validateBundlerType(Bundler::BUNDLER_VITE);
assert($bundler instanceof ViteBundler);
+ if ($bundler->isViteDevEnabled()) {
+ return '';
+ }
+
return $bundler->getEntrypointStylesheets($entrypointName);
}
@@ -76,7 +80,11 @@ class TwigFilters
$bundler->validateBundlerType(Bundler::BUNDLER_VITE);
assert($bundler instanceof ViteBundler);
- return $bundler->getEntrypointAssets($entrypointName);
+ if ($bundler->isViteDevEnabled()) {
+ return $bundler->getScriptTag($entrypointName);
+ } else {
+ return $bundler->getEntrypointAssets($entrypointName);
+ }
}
public static function viteDevClientScriptTag()
diff --git a/classes/bundlers/Bundler.php b/classes/bundlers/Bundler.php
index 734c3eb..9eea8f8 100644
--- a/classes/bundlers/Bundler.php
+++ b/classes/bundlers/Bundler.php
@@ -13,11 +13,13 @@ abstract class Bundler
self::BUNDLER_VITE => ViteBundler::class,
];
- protected ManifestReader $manifestReader;
+ protected ?ManifestReader $manifestReader;
- public function __construct(ManifestReader $manifestReader)
+ public function __construct(?ManifestReader $manifestReader = null)
{
- $this->manifestReader = $manifestReader;
+ if (isset($manifestReader)) {
+ $this->manifestReader = $manifestReader;
+ }
}
public function getBundlerType(): string
diff --git a/classes/bundlers/ViteBundler.php b/classes/bundlers/ViteBundler.php
index e1769ba..259f0e4 100644
--- a/classes/bundlers/ViteBundler.php
+++ b/classes/bundlers/ViteBundler.php
@@ -60,10 +60,6 @@ class ViteBundler extends Bundler
*/
public function getEntrypointStylesheets(string $entrypointName): string
{
- if ($this->isViteDevEnabled()) {
- return '';
- }
-
$entrypoint = $this->getViteEntrypoint($entrypointName);
$stylesheetTags = collect();
@@ -85,7 +81,7 @@ class ViteBundler extends Bundler
return $stylesheetTags->implode(PHP_EOL);
}
- private function getStylesheetTag(string $href): string
+ public function getStylesheetTag(string $href): string
{
return sprintf(
'',
@@ -93,7 +89,7 @@ class ViteBundler extends Bundler
);
}
- private function getScriptTag(string $entrypointName, ViteEntrypoint $entrypoint): string
+ public function getScriptTag(string $entrypointName, ?ViteEntrypoint $entrypoint = null): string
{
return sprintf(
'',