Mercurial > packages > auth
view src/Console/InstallsBladeStack.php @ 0:90e38de8f2ba
Initial Commit
| author | luka |
|---|---|
| date | Wed, 13 Aug 2025 22:17:20 -0400 |
| parents | |
| children | a2a3059de103 |
line wrap: on
line source
<?php namespace Wizard\Auth\Console; use Illuminate\Filesystem\Filesystem; use Symfony\Component\Finder\Finder; trait InstallsBladeStack { /** * Install the Blade Breeze stack. * * @return int|null */ protected function installBladeStack() { // NPM Packages... $this->updateNodePackages(function ($packages) { return [ "@popperjs/core" => "^2.11.8", "bootstrap" => "^5.3.0", ] + $packages; }); // Controllers... (new Filesystem)->ensureDirectoryExists(app_path('Http/Controllers')); (new Filesystem)->copyDirectory(__DIR__.'/../../stubs/default/app/Http/Controllers', app_path('Http/Controllers')); // Requests... (new Filesystem)->ensureDirectoryExists(app_path('Http/Requests')); (new Filesystem)->copyDirectory(__DIR__.'/../../stubs/default/app/Http/Requests', app_path('Http/Requests')); // Views... (new Filesystem)->ensureDirectoryExists(resource_path('views')); (new Filesystem)->copyDirectory(__DIR__.'/../../stubs/default/resources/views', resource_path('views')); if (! $this->option('dark')) { $this->removeDarkClasses((new Finder) ->in(resource_path('views')) ->name('*.blade.php') ->notPath('livewire/welcome/navigation.blade.php') ->notName('welcome.blade.php') ); } // Components... (new Filesystem)->ensureDirectoryExists(app_path('View/Components')); (new Filesystem)->copyDirectory(__DIR__.'/../../stubs/default/app/View/Components', app_path('View/Components')); // Tests... if (! $this->installTests()) { return 1; } // Routes... copy(__DIR__.'/../../stubs/default/routes/web.php', base_path('routes/web.php')); copy(__DIR__.'/../../stubs/default/routes/auth.php', base_path('routes/auth.php')); // "Dashboard" Route... $this->replaceInFile('/home', '/dashboard', resource_path('views/welcome.blade.php')); $this->replaceInFile('Home', 'Dashboard', resource_path('views/welcome.blade.php')); // Tailwind / Vite... copy(__DIR__.'/../../stubs/default/tailwind.config.js', base_path('tailwind.config.js')); copy(__DIR__.'/../../stubs/default/postcss.config.js', base_path('postcss.config.js')); copy(__DIR__.'/../../stubs/default/vite.config.js', base_path('vite.config.js')); copy(__DIR__.'/../../stubs/default/resources/css/app.css', resource_path('css/app.css')); copy(__DIR__.'/../../stubs/default/resources/js/app.js', resource_path('js/app.js')); $this->components->info('Installing and building Node dependencies.'); if (file_exists(base_path('pnpm-lock.yaml'))) { $this->runCommands(['pnpm install', 'pnpm run build']); } elseif (file_exists(base_path('yarn.lock'))) { $this->runCommands(['yarn install', 'yarn run build']); } elseif (file_exists(base_path('bun.lock')) || file_exists(base_path('bun.lockb'))) { $this->runCommands(['bun install', 'bun run build']); } elseif (file_exists(base_path('deno.lock'))) { $this->runCommands(['deno install', 'deno task build']); } else { $this->runCommands(['npm install', 'npm run build']); } $this->line(''); $this->components->info('Breeze scaffolding installed successfully.'); } }
