vendor/pentatrion/vite-bundle/src/Asset/EntrypointsLookup.php line 19

Open in your IDE?
  1. <?php
  2. namespace Pentatrion\ViteBundle\Asset;
  3. class EntrypointsLookup
  4. {
  5.     private $entriesData;
  6.     private $fileExist false;
  7.     private $isProd;
  8.     private $viteServer null;
  9.     private $legacy false;
  10.     public function __construct($entrypointsFilePath)
  11.     {
  12.         if (!file_exists($entrypointsFilePath)) {
  13.             return;
  14.         }
  15.         $fileInfos json_decode(file_get_contents($entrypointsFilePath), true);
  16.         if (!isset($fileInfos['isProd'], $fileInfos['entryPoints'], $fileInfos['viteServer'])) {
  17.             return;
  18.         }
  19.         $this->fileExist true;
  20.         $this->isProd $fileInfos['isProd'];
  21.         $this->entriesData $fileInfos['entryPoints'];
  22.         if (!$this->isProd) {
  23.             $this->viteServer $fileInfos['viteServer'];
  24.         } elseif (isset($fileInfos['legacy']) && $fileInfos['legacy']) { // only checked on prod.
  25.             $this->legacy true;
  26.         }
  27.     }
  28.     public function isLegacyPluginEnabled()
  29.     {
  30.         return $this->legacy;
  31.     }
  32.     public function hasFile()
  33.     {
  34.         return $this->fileExist;
  35.     }
  36.     public function isProd()
  37.     {
  38.         return $this->isProd;
  39.     }
  40.     public function getViteServer()
  41.     {
  42.         return $this->viteServer;
  43.     }
  44.     public function getJSFiles($entryName)
  45.     {
  46.         return $this->entriesData[$entryName]['js'] ?? [];
  47.     }
  48.     public function getCSSFiles($entryName)
  49.     {
  50.         return $this->entriesData[$entryName]['css'] ?? [];
  51.     }
  52.     public function getJavascriptDependencies($entryName)
  53.     {
  54.         return $this->entriesData[$entryName]['preload'] ?? [];
  55.     }
  56.     public function hasLegacy($entryName)
  57.     {
  58.         return isset($this->entriesData[$entryName]['legacy']) && false !== $this->entriesData[$entryName]['legacy'];
  59.     }
  60.     public function getLegacyJSFile($entryName)
  61.     {
  62.         $legacyEntryName $this->entriesData[$entryName]['legacy'];
  63.         return $this->entriesData[$legacyEntryName]['js'][0];
  64.     }
  65. }