# fluent-community/2.7.7/app/Vite.php

FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS &amp; Online Courses, version 2.7.7. 126 lines.

- Page: https://pluginprobe.com/plugins/fluent-community/2.7.7/code/app/Vite.php
- Raw: https://pluginprobe.com/plugins/fluent-community/2.7.7/raw/app/Vite.php
- Modified: 2026-07-24T13:35:06+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-community/2.7.7/code/app/Vite.php#L10-L20`.

```php
<?php

namespace FluentCommunity\App;

use FluentCommunity\App\Functions\Utility;

class Vite
{
    protected static $moduleScripts = [];
    protected static $resourceURL = 'https://localhost:4444/src/';
    protected static $assetsURL = FLUENT_COMMUNITY_PLUGIN_URL . 'assets/';

    private static function isDev()
    {
        return Utility::isDev();
    }

    public static function enqueueScript($handle, $src, $dependency = [], $version = false, $inFooter = false)
    {
        static::$moduleScripts [] = $handle;
        $src = self::generateSrc($src);
        wp_enqueue_script($handle, $src, $dependency, $version, $inFooter);
        self::addModuleToScript();
    }

    public static function enqueueStyle($handle, $src, $dependency = [], $version = false, $media = 'all')
    {
        $src = self::generateSrc($src);
        wp_enqueue_style($handle, $src, $dependency, $version, $media);
    }

    public static function enqueueStaticScript($handle, $src, $dependency = [], $version = false, $inFooter = false)
    {
        $src = static::getStaticSrcUrl($src);
        wp_enqueue_script($handle, $src, $dependency, $version, $inFooter);
    }

    public static function enqueueStaticStyle($handle, $src, $dependency = [], $version = false, $media = 'all')
    {
        $src = static::getStaticSrcUrl($src);
        wp_enqueue_style($handle, $src, $dependency, $version, $media);
    }

    private static function parseManifest()
    {
        static $manifest;
        if ($manifest) {
            return $manifest;
        }

        $config = App::getInstance()->config;
        $manifest = $config->get('app.manifest');

        if (!$manifest) {
            throw new \Exception('Manifest config could not be found on the app config');
        }

        return $manifest;
    }

    private static function addModuleToScript()
    {
        add_filter('script_loader_tag', function ($tag, $handle, $src) {
            return $tag;
        }, 10, 3);
    }

    private static function generateSrc($src, $isRtl = null)
    {
        if (!self::isDev()) {
            $manifest = self::parseManifest();
            $src = 'src/' . $src;
            $mainSrc = isset($manifest[$src]) ? $manifest[$src] : false;

            if ($mainSrc) {
                if (isset($mainSrc['css'])) {
                    foreach ($mainSrc['css'] as $css) {
                        wp_enqueue_style($css . '_css', static::$assetsURL . $css, [], '1.0.0', 'all');
                    }
                }

                if ($isRtl) {
                    $file = $manifest[$src]['file'];
                    $file = str_replace('.css', '.rtl.css', $file);
                    return static::$assetsURL . $file;
                }

                return static::$assetsURL . $manifest[$src]['file'];
            }
        }

        return static::$resourceURL . $src;
    }

    public static function getStaticSrcUrl($src, $isRtl = null)
    {
        if ($isRtl) {
            $src = str_replace('.css', '.rtl.css', $src);
        }

        return static::$assetsURL . $src;
    }

    public static function getDynamicSrcUrl($src, $isRtl = null)
    {
        return self::generateSrc($src, $isRtl);
    }

    public static function getDynamicProductionSrcUrl($src, $isRtl = null)
    {
        if (!self::isDev()) {
            return self::generateSrc($src, $isRtl);
        }

        return false;
    }

    public static function getAssetsUrl()
    {
        if (!self::isDev()) {
            return static::$assetsURL;
        }
        return static::$resourceURL;
    }
}

```
