<?php namespace Illuminate\Foundation; use Exception; use Illuminate\Support\HtmlString; use Illuminate\Support\Str; class Mix { /** * Get the path to a versioned Mix file. * * @param string $path * @param string $manifestDirectory * @return \Illuminate\Support\HtmlString|string * * @throws \Exception */ public function __invoke($path, $manifestDirectory = '') { static $manifests = []; if (! str_starts_with($path, '/')) { $path = "/{$path}"; } if ($manifestDirectory && ! str_starts_with($manifestDirectory, '/')) { $manifestDirectory = "/{$manifestDirectory}"; } if (is_file(public_path($manifestDirectory.'/hot'))) { $url = rtrim(file_get_contents(public_path($manifestDirectory.'/hot'))); $customUrl = app('config')->get('app.mix_hot_proxy_url'); if (! empty($customUrl)) { return new HtmlString("{$customUrl}{$path}"); } if (Str::startsWith($url, ['http://', 'https://'])) { return new HtmlString(Str::after($url, ':').$path); } return new HtmlString("//localhost:8080{$path}"); } $manifestPath = public_path($manifestDirectory.'/mix-manifest.json'); if (! isset($manifests[$manifestPath])) { if (! is_file($manifestPath)) { throw new Exception("Mix manifest not found at: {$manifestPath}"); } $manifests[$manifestPath] = json_decode(file_get_contents($manifestPath), true); } $manifest = $manifests[$manifestPath]; if (! isset($manifest[$path])) { $exception = new Exception("Unable to locate Mix file: {$path}."); if (! app('config')->get('app.debug')) { report($exception); return $path; } else { throw $exception; } } return new HtmlString(app('config')->get('app.mix_url').$manifestDirectory.$manifest[$path]); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Auth | Folder | 0755 |
|
|
Bootstrap | Folder | 0755 |
|
|
Bus | Folder | 0755 |
|
|
Concerns | Folder | 0755 |
|
|
Console | Folder | 0755 |
|
|
Events | Folder | 0755 |
|
|
Exceptions | Folder | 0755 |
|
|
Http | Folder | 0755 |
|
|
Providers | Folder | 0755 |
|
|
Routing | Folder | 0755 |
|
|
Support | Folder | 0755 |
|
|
Testing | Folder | 0755 |
|
|
Validation | Folder | 0755 |
|
|
resources | Folder | 0755 |
|
|
stubs | Folder | 0755 |
|
|
AliasLoader.php | File | 5.04 KB | 0644 |
|
Application.php | File | 39.69 KB | 0644 |
|
CacheBasedMaintenanceMode.php | File | 2.06 KB | 0644 |
|
ComposerScripts.php | File | 1.61 KB | 0644 |
|
EnvironmentDetector.php | File | 1.89 KB | 0644 |
|
FileBasedMaintenanceMode.php | File | 1.39 KB | 0644 |
|
Inspiring.php | File | 6.55 KB | 0644 |
|
MaintenanceModeManager.php | File | 1.14 KB | 0644 |
|
Mix.php | File | 2.06 KB | 0644 |
|
PackageManifest.php | File | 4.33 KB | 0644 |
|
Precognition.php | File | 529 B | 0644 |
|
ProviderRepository.php | File | 6.24 KB | 0644 |
|
Vite.php | File | 19.64 KB | 0644 |
|
helpers.php | File | 24.98 KB | 0644 |
|