mirror of
https://github.com/linuxserver/Heimdall.git
synced 2025-12-05 06:23:53 +09:00
73 lines
1.7 KiB
PHP
73 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Laravel\Ui\Presets;
|
|
|
|
use Illuminate\Filesystem\Filesystem;
|
|
|
|
class Bootstrap extends Preset
|
|
{
|
|
/**
|
|
* Install the preset.
|
|
*
|
|
* @return void
|
|
*/
|
|
public static function install()
|
|
{
|
|
static::updatePackages();
|
|
static::updateWebpackConfiguration();
|
|
static::updateSass();
|
|
static::updateBootstrapping();
|
|
static::removeNodeModules();
|
|
}
|
|
|
|
/**
|
|
* Update the given package array.
|
|
*
|
|
* @param array $packages
|
|
* @return array
|
|
*/
|
|
protected static function updatePackageArray(array $packages)
|
|
{
|
|
return [
|
|
'bootstrap' => '^4.0.0',
|
|
'jquery' => '^3.2',
|
|
'popper.js' => '^1.12',
|
|
'sass' => '^1.15.2',
|
|
'sass-loader' => '^8.0.0',
|
|
] + $packages;
|
|
}
|
|
|
|
/**
|
|
* Update the Webpack configuration.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected static function updateWebpackConfiguration()
|
|
{
|
|
copy(__DIR__.'/bootstrap-stubs/webpack.mix.js', base_path('webpack.mix.js'));
|
|
}
|
|
|
|
/**
|
|
* Update the Sass files for the application.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected static function updateSass()
|
|
{
|
|
(new Filesystem)->ensureDirectoryExists(resource_path('sass'));
|
|
|
|
copy(__DIR__.'/bootstrap-stubs/_variables.scss', resource_path('sass/_variables.scss'));
|
|
copy(__DIR__.'/bootstrap-stubs/app.scss', resource_path('sass/app.scss'));
|
|
}
|
|
|
|
/**
|
|
* Update the bootstrapping files.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected static function updateBootstrapping()
|
|
{
|
|
copy(__DIR__.'/bootstrap-stubs/bootstrap.js', resource_path('js/bootstrap.js'));
|
|
}
|
|
}
|