├── README.md └── create-laravel-inertia-app.sh /README.md: -------------------------------------------------------------------------------- 1 | # laravel-inertia-toolbox 2 | 3 | This is a simple script to help you quickly create a latest version of Laravel project, install Inertia packages, dependencies including Vue plugin required by Vite. 4 | 5 | It suits if you are working on Laravel + Inertia + Vite. 6 | 7 | Try it out as follows: 8 | ``` 9 | $ create-laravel-inertia-app.sh 10 | ``` 11 | -------------------------------------------------------------------------------- /create-laravel-inertia-app.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | APP_NAME=$1 4 | DB=$2 5 | DB_USERNAME=$3 6 | DB_PASSWORD=$4 7 | 8 | function usage() { 9 | echo "Usage: ./create-laravel-inertia-app.sh " 10 | } 11 | 12 | if [[ "${APP_NAME}" == "" ]]; then 13 | usage 14 | exit 1 15 | fi 16 | 17 | echo "Creating Laravel Inertia Application: ${APP_NAME}" 18 | 19 | echo "Creating Laravel project with composer" 20 | composer create-project laravel/laravel ${APP_NAME} 21 | 22 | cd ${APP_NAME} 23 | echo "Installing PHP package inertiajs/inertia-laravel" 24 | composer require inertiajs/inertia-laravel 25 | php artisan inertia:middleware 26 | 27 | echo "Installing Node.js packages @inertiajs/inertia @inertiajs/inertia-vue3" 28 | npm install @inertiajs/inertia @inertiajs/inertia-vue3 @inertiajs/progress 29 | 30 | echo "Installing Laravel Breeze" 31 | composer require laravel/breeze --dev 32 | php artisan breeze:install 33 | 34 | echo "Updating .env" 35 | # special treatment on Mac OS 36 | sed -i "" "s/DB_DATABASE=laravel/DB_DATABASE=${DB}/" .env 37 | sed -i "" "s/DB_USERNAME=root/DB_USERNAME=${DB_USERNAME}/" .env 38 | sed -i "" "s/DB_PASSWORD=/DB_PASSWORD=${DB_PASSWORD}/" .env 39 | 40 | php artisan migrate 41 | npm install 42 | 43 | echo "Installing more Node.js packages" 44 | npm install vue@next vue-loader@next @vitejs/plugin-vue --------------------------------------------------------------------------------