Personal Notes Parmi

LARAVEL dari NOL di Laragon#1

C:\laragon\www\crud-lab(main -> origin)
λ :: ========================================
C:\laragon\www\crud-lab(main -> origin)
λ :: RESET TOTAL PROYEK LARAVEL
C:\laragon\www\crud-lab(main -> origin)
λ :: ========================================
C:\laragon\www\crud-lab(main -> origin)
λ
C:\laragon\www\crud-lab(main -> origin)
λ :: 1. Keluar dari folder project
C:\laragon\www\crud-lab(main -> origin)
λ cd C:\laragon\www

C:\laragon\www(main -> origin)
λ
C:\laragon\www(main -> origin)
λ :: 2. Backup .env jika perlu (opsional)
C:\laragon\www(main -> origin)
λ :: copy crud-lab\.env .env.backup
C:\laragon\www(main -> origin)
λ
C:\laragon\www(main -> origin)
λ :: 3. Hapus folder project lama
C:\laragon\www(main -> origin)
λ rmdir /s /q crud-lab

C:\laragon\www(main -> origin)
λ
C:\laragon\www(main -> origin)
λ :: 4. Buat project baru
C:\laragon\www(main -> origin)
λ composer create-project laravel/laravel crud-lab
Creating a "laravel/laravel" project at "./crud-lab"
Installing laravel/laravel (v13.8.0)
  - Downloading laravel/laravel (v13.8.0)
  - Installing laravel/laravel (v13.8.0): Extracting archive
Created project in C:\laragon\www\crud-lab
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 109 installs, 0 updates, 0 removals
  - Locking brick/math (0.14.8)
  - Locking carbonphp/carbon-doctrine-types (3.2.0)
  - Locking dflydev/dot-access-data (v3.0.3)
  - Locking doctrine/inflector (2.1.0)
  - Locking doctrine/lexer (3.0.1)
  - Locking dragonmantank/cron-expression (v3.6.0)
  - Locking egulias/email-validator (4.0.4)
  - Locking fakerphp/faker (v1.24.1)
  - Locking filp/whoops (2.18.4)
  - Locking fruitcake/php-cors (v1.4.0)
  - Locking graham-campbell/result-type (v1.1.4)
  - Locking guzzlehttp/guzzle (7.11.1)
  - Locking guzzlehttp/promises (2.5.0)
  - Locking guzzlehttp/psr7 (2.11.0)
  - Locking guzzlehttp/uri-template (v1.0.7)
  - Locking hamcrest/hamcrest-php (v2.1.1)
  - Locking laravel/agent-detector (v2.0.2)
  - Locking laravel/framework (v13.15.0)
  - Locking laravel/pail (v1.2.7)
  - Locking laravel/pao (v1.1.1)
  - Locking laravel/pint (v1.29.1)
  - Locking laravel/prompts (v0.3.18)
  - Locking laravel/serializable-closure (v2.0.13)
  - Locking laravel/tinker (v3.0.2)
  - Locking league/commonmark (2.8.2)
  - Locking league/config (v1.2.0)
  - Locking league/flysystem (3.34.0)
  - Locking league/flysystem-local (3.31.0)
  - Locking league/mime-type-detection (1.16.0)
  - Locking league/uri (7.8.1)
  - Locking league/uri-interfaces (7.8.1)
  - Locking mockery/mockery (1.6.12)
  - Locking monolog/monolog (3.10.0)
  - Locking myclabs/deep-copy (1.13.4)
  - Locking nesbot/carbon (3.12.3)
  - Locking nette/schema (v1.3.5)
  - Locking nette/utils (v4.1.4)
  - Locking nikic/php-parser (v5.7.0)
  - Locking nunomaduro/collision (v8.9.4)
  - Locking nunomaduro/termwind (v2.4.0)
  - Locking phar-io/manifest (2.0.4)
  - Locking phar-io/version (3.2.1)
  - Locking phpoption/phpoption (1.9.5)
  - Locking phpunit/php-code-coverage (12.5.7)
  - Locking phpunit/php-file-iterator (6.0.1)
  - Locking phpunit/php-invoker (6.0.0)
  - Locking phpunit/php-text-template (5.0.0)
  - Locking phpunit/php-timer (8.0.0)
  - Locking phpunit/phpunit (12.5.29)
  - Locking psr/clock (1.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/event-dispatcher (1.0.0)
  - Locking psr/http-client (1.0.3)
  - Locking psr/http-factory (1.1.0)
  - Locking psr/http-message (2.0)
  - Locking psr/log (3.0.2)
  - Locking psr/simple-cache (3.0.0)
  - Locking psy/psysh (v0.12.23)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking ramsey/collection (2.1.1)
  - Locking ramsey/uuid (4.9.2)
  - Locking sebastian/cli-parser (4.2.1)
  - Locking sebastian/comparator (7.1.8)
  - Locking sebastian/complexity (5.0.0)
  - Locking sebastian/diff (7.0.0)
  - Locking sebastian/environment (8.1.2)
  - Locking sebastian/exporter (7.0.3)
  - Locking sebastian/global-state (8.0.3)
  - Locking sebastian/lines-of-code (4.0.1)
  - Locking sebastian/object-enumerator (7.0.0)
  - Locking sebastian/object-reflector (5.0.0)
  - Locking sebastian/recursion-context (7.0.1)
  - Locking sebastian/type (6.0.4)
  - Locking sebastian/version (6.0.0)
  - Locking staabm/side-effects-detector (1.0.5)
  - Locking symfony/clock (v8.1.0)
  - Locking symfony/console (v8.1.0)
  - Locking symfony/css-selector (v8.1.0)
  - Locking symfony/deprecation-contracts (v3.7.0)
  - Locking symfony/error-handler (v8.1.0)
  - Locking symfony/event-dispatcher (v8.1.0)
  - Locking symfony/event-dispatcher-contracts (v3.7.0)
  - Locking symfony/finder (v8.1.0)
  - Locking symfony/http-foundation (v8.1.0)
  - Locking symfony/http-kernel (v8.1.0)
  - Locking symfony/mailer (v8.1.0)
  - Locking symfony/mime (v8.1.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.38.1)
  - Locking symfony/polyfill-intl-idn (v1.38.1)
  - Locking symfony/polyfill-intl-normalizer (v1.38.0)
  - Locking symfony/polyfill-mbstring (v1.38.2)
  - Locking symfony/polyfill-php80 (v1.37.0)
  - Locking symfony/polyfill-php84 (v1.38.1)
  - Locking symfony/polyfill-php85 (v1.38.1)
  - Locking symfony/polyfill-php86 (v1.38.0)
  - Locking symfony/polyfill-uuid (v1.37.0)
  - Locking symfony/process (v8.1.0)
  - Locking symfony/routing (v8.1.0)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v8.1.0)
  - Locking symfony/translation (v8.1.0)
  - Locking symfony/translation-contracts (v3.7.0)
  - Locking symfony/uid (v8.1.0)
  - Locking symfony/var-dumper (v8.1.0)
  - Locking theseer/tokenizer (2.0.1)
  - Locking tijsverkoyen/css-to-inline-styles (v2.4.0)
  - Locking vlucas/phpdotenv (v5.6.3)
  - Locking voku/portable-ascii (2.1.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 109 installs, 0 updates, 0 removals
  - Downloading dragonmantank/cron-expression (v3.6.0)
  - Downloading symfony/polyfill-mbstring (v1.38.2)
  - Downloading symfony/http-foundation (v8.1.0)
  - Downloading guzzlehttp/guzzle (7.11.1)
  - Downloading guzzlehttp/uri-template (v1.0.7)
  - Downloading symfony/string (v8.1.0)
  - Downloading symfony/polyfill-php85 (v1.38.1)
  - Downloading symfony/console (v8.1.0)
  - Downloading nunomaduro/termwind (v2.4.0)
  - Downloading symfony/css-selector (v8.1.0)
  - Downloading symfony/var-dumper (v8.1.0)
  - Downloading symfony/uid (v8.1.0)
  - Downloading symfony/routing (v8.1.0)
  - Downloading symfony/process (v8.1.0)
  - Downloading symfony/polyfill-php86 (v1.38.0)
  - Downloading symfony/polyfill-php84 (v1.38.1)
  - Downloading symfony/mime (v8.1.0)
  - Downloading symfony/event-dispatcher (v8.1.0)
  - Downloading symfony/mailer (v8.1.0)
  - Downloading symfony/error-handler (v8.1.0)
  - Downloading symfony/http-kernel (v8.1.0)
  - Downloading symfony/finder (v8.1.0)
  - Downloading brick/math (0.14.8)
  - Downloading symfony/translation (v8.1.0)
  - Downloading symfony/clock (v8.1.0)
  - Downloading nesbot/carbon (3.12.3)
  - Downloading league/uri-interfaces (7.8.1)
  - Downloading league/uri (7.8.1)
  - Downloading nette/utils (v4.1.4)
  - Downloading laravel/serializable-closure (v2.0.13)
  - Downloading laravel/prompts (v0.3.18)
  - Downloading laravel/framework (v13.15.0)
  - Downloading laravel/pail (v1.2.7)
  - Downloading laravel/agent-detector (v2.0.2)
  - Downloading laravel/pao (v1.1.1)
  - Downloading laravel/pint (v1.29.1)
  - Downloading laravel/tinker (v3.0.2)
  - Downloading nunomaduro/collision (v8.9.4)
  - Downloading staabm/side-effects-detector (1.0.5)
  - Downloading sebastian/version (6.0.0)
  - Downloading sebastian/type (6.0.4)
  - Downloading sebastian/recursion-context (7.0.1)
  - Downloading sebastian/object-reflector (5.0.0)
  - Downloading sebastian/object-enumerator (7.0.0)
  - Downloading sebastian/global-state (8.0.3)
  - Downloading sebastian/exporter (7.0.3)
  - Downloading sebastian/environment (8.1.2)
  - Downloading sebastian/diff (7.0.0)
  - Downloading sebastian/comparator (7.1.8)
  - Downloading sebastian/cli-parser (4.2.1)
  - Downloading phpunit/php-timer (8.0.0)
  - Downloading phpunit/php-text-template (5.0.0)
  - Downloading phpunit/php-invoker (6.0.0)
  - Downloading phpunit/php-file-iterator (6.0.1)
  - Downloading theseer/tokenizer (2.0.1)
  - Downloading sebastian/lines-of-code (4.0.1)
  - Downloading sebastian/complexity (5.0.0)
  - Downloading phpunit/php-code-coverage (12.5.7)
  - Downloading phpunit/phpunit (12.5.29)
  - Installing doctrine/inflector (2.1.0): Extracting archive
  - Installing doctrine/lexer (3.0.1): Extracting archive
  - Installing dragonmantank/cron-expression (v3.6.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing fakerphp/faker (v1.24.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.38.2): Extracting archive
  - Installing symfony/http-foundation (v8.1.0): Extracting archive
  - Installing fruitcake/php-cors (v1.4.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.37.0): Extracting archive
  - Installing psr/http-message (2.0): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.1.0): Extracting archive
  - Installing guzzlehttp/psr7 (2.11.0): Extracting archive
  - Installing guzzlehttp/promises (2.5.0): Extracting archive
  - Installing guzzlehttp/guzzle (7.11.1): Extracting archive
  - Installing guzzlehttp/uri-template (v1.0.7): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.38.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.38.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/string (v8.1.0): Extracting archive
  - Installing symfony/service-contracts (v3.7.0): Extracting archive
  - Installing symfony/polyfill-php85 (v1.38.1): Extracting archive
  - Installing symfony/console (v8.1.0): Extracting archive
  - Installing nunomaduro/termwind (v2.4.0): Extracting archive
  - Installing voku/portable-ascii (2.1.1): Extracting archive
  - Installing phpoption/phpoption (1.9.5): Extracting archive
  - Installing graham-campbell/result-type (v1.1.4): Extracting archive
  - Installing vlucas/phpdotenv (v5.6.3): Extracting archive
  - Installing symfony/css-selector (v8.1.0): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (v2.4.0): Extracting archive
  - Installing symfony/var-dumper (v8.1.0): Extracting archive
  - Installing symfony/polyfill-uuid (v1.37.0): Extracting archive
  - Installing symfony/uid (v8.1.0): Extracting archive
  - Installing symfony/routing (v8.1.0): Extracting archive
  - Installing symfony/process (v8.1.0): Extracting archive
  - Installing symfony/polyfill-php86 (v1.38.0): Extracting archive
  - Installing symfony/polyfill-php84 (v1.38.1): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.38.1): Extracting archive
  - Installing symfony/mime (v8.1.0): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.7.0): Extracting archive
  - Installing symfony/event-dispatcher (v8.1.0): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing egulias/email-validator (4.0.4): Extracting archive
  - Installing symfony/mailer (v8.1.0): Extracting archive
  - Installing symfony/error-handler (v8.1.0): Extracting archive
  - Installing symfony/http-kernel (v8.1.0): Extracting archive
  - Installing symfony/finder (v8.1.0): Extracting archive
  - Installing ramsey/collection (2.1.1): Extracting archive
  - Installing brick/math (0.14.8): Extracting archive
  - Installing ramsey/uuid (4.9.2): Extracting archive
  - Installing psr/simple-cache (3.0.0): Extracting archive
  - Installing symfony/translation-contracts (v3.7.0): Extracting archive
  - Installing symfony/translation (v8.1.0): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing symfony/clock (v8.1.0): Extracting archive
  - Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
  - Installing nesbot/carbon (3.12.3): Extracting archive
  - Installing monolog/monolog (3.10.0): Extracting archive
  - Installing league/uri-interfaces (7.8.1): Extracting archive
  - Installing league/uri (7.8.1): Extracting archive
  - Installing league/mime-type-detection (1.16.0): Extracting archive
  - Installing league/flysystem-local (3.31.0): Extracting archive
  - Installing league/flysystem (3.34.0): Extracting archive
  - Installing nette/utils (v4.1.4): Extracting archive
  - Installing nette/schema (v1.3.5): Extracting archive
  - Installing dflydev/dot-access-data (v3.0.3): Extracting archive
  - Installing league/config (v1.2.0): Extracting archive
  - Installing league/commonmark (2.8.2): Extracting archive
  - Installing laravel/serializable-closure (v2.0.13): Extracting archive
  - Installing laravel/prompts (v0.3.18): Extracting archive
  - Installing laravel/framework (v13.15.0): Extracting archive
  - Installing laravel/pail (v1.2.7): Extracting archive
  - Installing laravel/agent-detector (v2.0.2): Extracting archive
  - Installing laravel/pao (v1.1.1): Extracting archive
  - Installing laravel/pint (v1.29.1): Extracting archive
  - Installing nikic/php-parser (v5.7.0): Extracting archive
  - Installing psy/psysh (v0.12.23): Extracting archive
  - Installing laravel/tinker (v3.0.2): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.1.1): Extracting archive
  - Installing mockery/mockery (1.6.12): Extracting archive
  - Installing filp/whoops (2.18.4): Extracting archive
  - Installing nunomaduro/collision (v8.9.4): Extracting archive
  - Installing staabm/side-effects-detector (1.0.5): Extracting archive
  - Installing sebastian/version (6.0.0): Extracting archive
  - Installing sebastian/type (6.0.4): Extracting archive
  - Installing sebastian/recursion-context (7.0.1): Extracting archive
  - Installing sebastian/object-reflector (5.0.0): Extracting archive
  - Installing sebastian/object-enumerator (7.0.0): Extracting archive
  - Installing sebastian/global-state (8.0.3): Extracting archive
  - Installing sebastian/exporter (7.0.3): Extracting archive
  - Installing sebastian/environment (8.1.2): Extracting archive
  - Installing sebastian/diff (7.0.0): Extracting archive
  - Installing sebastian/comparator (7.1.8): Extracting archive
  - Installing sebastian/cli-parser (4.2.1): Extracting archive
  - Installing phpunit/php-timer (8.0.0): Extracting archive
  - Installing phpunit/php-text-template (5.0.0): Extracting archive
  - Installing phpunit/php-invoker (6.0.0): Extracting archive
  - Installing phpunit/php-file-iterator (6.0.1): Extracting archive
  - Installing theseer/tokenizer (2.0.1): Extracting archive
  - Installing sebastian/lines-of-code (4.0.1): Extracting archive
  - Installing sebastian/complexity (5.0.0): Extracting archive
  - Installing phpunit/php-code-coverage (12.5.7): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.13.4): Extracting archive
  - Installing phpunit/phpunit (12.5.29): Extracting archive
60 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

   INFO  Discovering packages.

  laravel/pail ................................................................................................. DONE
  laravel/pao .................................................................................................. DONE
  laravel/tinker ............................................................................................... DONE
  nesbot/carbon ................................................................................................ DONE
  nunomaduro/collision ......................................................................................... DONE
  nunomaduro/termwind .......................................................................................... DONE

78 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

No security vulnerability advisories found.
> @php artisan key:generate --ansi

   INFO  Application key set successfully.

> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
> @php artisan migrate --graceful --ansi

   WARN  could not find driver (Connection: sqlite, Database: C:\laragon\www\crud-lab\database\database.sqlite, SQL: select exists (select 1 from "main".sqlite_master where name = 'migrations' and type = 'table') as "exists").


C:\laragon\www(main -> origin)
λ
C:\laragon\www(main -> origin)
λ :: 5. Masuk ke folder project
C:\laragon\www(main -> origin)
λ cd crud-lab

C:\laragon\www\crud-lab(main -> origin)
λ
C:\laragon\www\crud-lab(main -> origin)
λ :: 6. Install Breeze untuk autentikasi
C:\laragon\www\crud-lab(main -> origin)
λ composer require laravel/breeze --dev
https://repo.packagist.org could not be fully loaded (curl error 28 while downloading https://repo.packagist.org/packages.json: Connection timed out after 10003 milliseconds), package information was loaded from the local cache and may be out of date
./composer.json has been updated
Running composer update laravel/breeze
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking laravel/breeze (v2.4.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Downloading laravel/breeze (v2.4.2)
  - Installing laravel/breeze (v2.4.2): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

   INFO  Discovering packages.

  laravel/breeze ............................................................................................... DONE
  laravel/pail ................................................................................................. DONE
  laravel/pao .................................................................................................. DONE
  laravel/tinker ............................................................................................... DONE
  nesbot/carbon ................................................................................................ DONE
  nunomaduro/collision ......................................................................................... DONE
  nunomaduro/termwind .......................................................................................... DONE

78 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

No security vulnerability advisories found.
Using version ^2.4 for laravel/breeze

C:\laragon\www\crud-lab(main -> origin)
λ php artisan breeze:install blade

   INFO  Installing and building Node dependencies.

    npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'vite@8.0.16',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'laravel-vite-plugin@3.1.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@tailwindcss/oxide@4.3.1',
npm WARN EBADENGINE   required: { node: '>= 20' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'rolldown@1.0.3',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }

added 137 packages, and audited 138 packages in 15s

34 packages are looking for funding
  run `npm fund` for details

2 critical severity vulnerabilities

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

> build
> vite build

    You are using Node.js 18.8.0. Vite requires Node.js version 20.19+ or 22.12+. Please upgrade your Node.js version. file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:533
                                this.dispatchEvent(new CustomEvent(`command:${commandName}`, { detail: command }));
                                                       ^

ReferenceError: CustomEvent is not defined
    at CAC.parse (file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:533:28)
    at file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:834:5
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:528:24)

Node.js v18.8.0


   INFO  Breeze scaffolding installed successfully.


C:\laragon\www\crud-lab(main -> origin)
λ npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@tailwindcss/oxide@4.3.1',
npm WARN EBADENGINE   required: { node: '>= 20' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'laravel-vite-plugin@3.1.0',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'rolldown@1.0.3',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'vite@8.0.16',
npm WARN EBADENGINE   required: { node: '^20.19.0 || >=22.12.0' },
npm WARN EBADENGINE   current: { node: 'v18.8.0', npm: '8.18.0' }
npm WARN EBADENGINE }

up to date, audited 138 packages in 625ms

34 packages are looking for funding
  run `npm fund` for details

2 critical severity vulnerabilities

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

C:\laragon\www\crud-lab(main -> origin)
λ npm run build

> build
> vite build

You are using Node.js 18.8.0. Vite requires Node.js version 20.19+ or 22.12+. Please upgrade your Node.js version.
file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:533
                                this.dispatchEvent(new CustomEvent(`command:${commandName}`, { detail: command }));
                                                       ^

ReferenceError: CustomEvent is not defined
    at CAC.parse (file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:533:28)
    at file:///C:/laragon/www/crud-lab/node_modules/vite/dist/node/cli.js:834:5
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:528:24)

Node.js v18.8.0

C:\laragon\www\crud-lab(main -> origin)
λ
C:\laragon\www\crud-lab(main -> origin)
λ :: 7. Jalankan migrasi default
C:\laragon\www\crud-lab(main -> origin)
λ php artisan migrate

   Illuminate\Database\QueryException

  could not find driver (Connection: sqlite, Database: C:\laragon\www\crud-lab\database\database.sqlite, SQL: select exists (select 1 from "main".sqlite_master where name = 'migrations' and type = 'table') as "exists")

  at vendor\laravel\framework\src\Illuminate\Database\Connection.php:841
    837▕             $exceptionType = ($isUniqueConstraintError = $this->isUniqueConstraintError($e))
    838▕                 ? UniqueConstraintViolationException::class
    839▕                 : QueryException::class;
    840▕
  ➜ 841▕             $exception = new $exceptionType(
    842▕                 $this->getNameWithReadWriteType(),
    843▕                 $query,
    844▕                 $this->prepareBindings($bindings),
    845▕                 $e,

  1   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:67
      PDOException::("could not find driver")

  2   vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:67
      PDO::connect("sqlite:C:\laragon\www\crud-lab\database\database.sqlite", Object(SensitiveParameterValue), [])


C:\laragon\www\crud-lab(main -> origin)
λ
C:\laragon\www\crud-lab(main -> origin)
λ :: 8. Jalankan server
C:\laragon\www\crud-lab(main -> origin)
λ php artisan serve

   INFO  Server running on [http://127.0.0.1:8000].

  Press Ctrl+C to stop the server

PERBAIKAN:


C:\laragon\www\crud-lab(main -> origin) λ :: Hapus folder node_modules lama C:\laragon\www\crud-lab(main -> origin) λ rmdir /s /q node_modules C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: Install ulang dependencies C:\laragon\www\crud-lab(main -> origin) λ npm install added 139 packages, and audited 140 packages in 43s 34 packages are looking for funding run `npm fund` for details 2 critical severity vulnerabilities To address all issues, run: npm audit fix Run `npm audit` for details. C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: Build asset C:\laragon\www\crud-lab(main -> origin) λ npm run build > build > vite build vite v8.0.16 building client environment for production... ✓ 4 modules transformed. computing gzip size... public/build/manifest.json 0.33 kB │ gzip: 0.16 kB public/build/assets/app-DciKFhTV.css 35.47 kB │ gzip: 6.97 kB public/build/assets/app-DO2nEFzp.js 45.25 kB │ gzip: 16.11 kB [PLUGIN_TIMINGS] Your build spent significant time in plugins. Here is a breakdown: - vite:css (50%) - laravel (49%) See https://rolldown.rs/options/checks#plugintimings for more details. ✓ built in 30.34s C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Preparing database. Creating migration table ............................................................................. 36.40ms DONE INFO Running migrations. 0001_01_01_000000_create_users_table ................................................................. 86.47ms DONE 0001_01_01_000001_create_cache_table ................................................................. 61.18ms DONE 0001_01_01_000002_create_jobs_table .................................................................. 89.48ms DONE C:\laragon\www\crud-lab(main -> origin) λ php artisan serve INFO Server running on [http://127.0.0.1:8000]. Press Ctrl+C to stop the server

C:\laragon\www\crud-lab(main -> origin) λ :: Hapus folder node_modules lama C:\laragon\www\crud-lab(main -> origin) λ rmdir /s /q node_modules C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: Install ulang dependencies C:\laragon\www\crud-lab(main -> origin) λ npm install added 139 packages, and audited 140 packages in 43s 34 packages are looking for funding run `npm fund` for details 2 critical severity vulnerabilities To address all issues, run: npm audit fix Run `npm audit` for details. C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: Build asset C:\laragon\www\crud-lab(main -> origin) λ npm run build > build > vite build vite v8.0.16 building client environment for production... ✓ 4 modules transformed. computing gzip size... public/build/manifest.json 0.33 kB │ gzip: 0.16 kB public/build/assets/app-DciKFhTV.css 35.47 kB │ gzip: 6.97 kB public/build/assets/app-DO2nEFzp.js 45.25 kB │ gzip: 16.11 kB [PLUGIN_TIMINGS] Your build spent significant time in plugins. Here is a breakdown: - vite:css (50%) - laravel (49%) See https://rolldown.rs/options/checks#plugintimings for more details. ✓ built in 30.34s C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Preparing database. Creating migration table ............................................................................. 36.40ms DONE INFO Running migrations. 0001_01_01_000000_create_users_table ................................................................. 86.47ms DONE 0001_01_01_000001_create_cache_table ................................................................. 61.18ms DONE 0001_01_01_000002_create_jobs_table .................................................................. 89.48ms DONE C:\laragon\www\crud-lab(main -> origin) λ php artisan serve INFO Server running on [http://127.0.0.1:8000]. Press Ctrl+C to stop the server 2026-06-16 15:22:09 / ....................................................................................... ~ 1s 2026-06-16 15:22:11 /build/assets/app-DciKFhTV.css ...................................................... ~ 0.93ms 2026-06-16 15:22:11 /build/assets/app-DO2nEFzp.js ...................................................... ~ 19.65ms 2026-06-16 15:22:11 /favicon.ico ........................................................................ ~ 1.23ms ^C C:\laragon\www\crud-lab(main -> origin) λ :: Jalankan migrasi untuk membuat tabel users, dll C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Nothing to migrate. C:\laragon\www\crud-lab(main -> origin) λ :: Buka terminal dan registrasi via browser C:\laragon\www\crud-lab(main -> origin) λ http://crud-lab.test/register 'http:' is not recognized as an internal or external command, operable program or batch file. C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: Atau via tinker (ubah role user pertama) C:\laragon\www\crud-lab(main -> origin) λ php artisan tinker Psy Shell v0.12.23 (PHP 8.4.5 — cli) by Justin Hileman New PHP manual is available (latest: 3.1.0). Update with `doc --update-manual` > $user = App\Models\User::find(1); = App\Models\User {#8134 id: 1, name: "PT PARAMA NUSA PERSADA", email: "parama.peplink@gmail.com", email_verified_at: null, #password: "\$2y\$12\$E.42xYj3icM38itL4SVeoO1e2rIaYTfv9po/pPtLB.iDNqCV3cOXG", #remember_token: null, created_at: "2026-06-16 08:24:33", updated_at: "2026-06-16 08:24:33", } > $user->role = 'admin'; = "admin" > $user->save(); Illuminate\Database\QueryException SQLSTATE[42S22]: Column not found: 1054 Unknown column 'role' in 'field list' (Connection: mysql, Host: 127.0.0.1, Port: 3306, Database: laravel, SQL: update `users` set `role` = admin, `users`.`updated_at` = 2026-06-16 08:27:06 where `id` = 1). > exit INFO Goodbye. C:\laragon\www\crud-lab(main -> origin) λ php artisan make:migration add_role_to_users_table INFO Migration [C:\laragon\www\crud-lab\database\migrations\2026_06_16_082906_add_role_to_users_table.php] created successfully. C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Running migrations. 2026_06_16_082906_add_role_to_users_table ............................................................ 28.26ms DONE 2026_06_16_082906_add_role_to_users_table-prev001 ..................................................... 0.79ms DONE C:\laragon\www\crud-lab(main -> origin) λ php artisan tinker Psy Shell v0.12.23 (PHP 8.4.5 — cli) by Justin Hileman New PHP manual is available (latest: 3.1.0). Update with `doc --update-manual` > $user = App\Models\User::find(1); = App\Models\User {#8134 id: 1, name: "PT PARAMA NUSA PERSADA", email: "parama.peplink@gmail.com", role: "user", email_verified_at: null, #password: "\$2y\$12\$E.42xYj3icM38itL4SVeoO1e2rIaYTfv9po/pPtLB.iDNqCV3cOXG", #remember_token: null, created_at: "2026-06-16 08:24:33", updated_at: "2026-06-16 08:24:33", } > $user->role = 'admin'; = "admin" > $user->save(); = true > exit INFO Goodbye. C:\laragon\www\crud-lab(main -> origin) λ php artisan tinker --execute="App\Models\User::find(1)->update(['role' => 'admin']);" C:\laragon\www\crud-lab(main -> origin) λ php -r "require 'vendor/autoload.php'; App\Models\User::find(1)->update(['role' => 'admin']);" Fatal error: Uncaught Error: Call to a member function connection() on null in C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php:2208 Stack trace: #0 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(2174): Illuminate\Database\Eloquent\Model::resolveConnection(NULL) #1 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1937): Illuminate\Database\Eloquent\Model->getConnection() #2 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1835): Illuminate\Database\Eloquent\Model->newBaseQueryBuilder() #3 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1871): Illuminate\Database\Eloquent\Model->newModelQuery() #4 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(1824): Illuminate\Database\Eloquent\Model->newQueryWithoutScopes() #5 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(2807): Illuminate\Database\Eloquent\Model->newQuery() #6 C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php(2823): Illuminate\Database\Eloquent\Model->__call('find', Array) #7 Command line code(1): Illuminate\Database\Eloquent\Model::__callStatic('find', Array) #8 {main} thrown in C:\laragon\www\crud-lab\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 2208 C:\laragon\www\crud-lab(main -> origin) λ php artisan db:sql "UPDATE users SET role = 'admin' WHERE id = 1;" ERROR Command "db:sql" is not defined. Did you mean one of these? ⇂ db ⇂ db:monitor ⇂ db:seed ⇂ db:show ⇂ db:table ⇂ db:wipe C:\laragon\www\crud-lab(main -> origin) λ php artisan make:migration create_products_table INFO Migration [C:\laragon\www\crud-lab\database\migrations\2026_06_16_083914_create_products_table.php] created successfully. C:\laragon\www\crud-lab(main -> origin) λ php artisan make:model Product INFO Model [C:\laragon\www\crud-lab\app\Models\Product.php] created successfully. C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Running migrations. 2026_06_16_083914_create_products_table .............................................................. 91.85ms DONE 2026_06_16_083914_create_products_table-prev001 ....................................................... 4.39ms FAIL Illuminate\Database\QueryException SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'products' already exists (Connection: mysql, Host: 127.0.0.1, Port: 3306, Database: laravel, SQL: create table `products` (`id` bigint unsigned not null auto_increment primary key, `name` varchar(255) not null, `description` text null, `price` decimal(10, 2) not null, `stock` int not null default '0', `created_by` bigint unsigned not null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci') at vendor\laravel\framework\src\Illuminate\Database\Connection.php:841 837▕ $exceptionType = ($isUniqueConstraintError = $this->isUniqueConstraintError($e)) 838▕ ? UniqueConstraintViolationException::class 839▕ : QueryException::class; 840▕ ➜ 841▕ $exception = new $exceptionType( 842▕ $this->getNameWithReadWriteType(), 843▕ $query, 844▕ $this->prepareBindings($bindings), 845▕ $e, 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:587 PDOException::("SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'products' already exists") 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:587 PDOStatement::execute() C:\laragon\www\crud-lab(main -> origin) λ php artisan migrate INFO Nothing to migrate. C:\laragon\www\crud-lab(main -> origin) λ php artisan make:controller ProductController --resource INFO Controller [C:\laragon\www\crud-lab\app\Http\Controllers\ProductController.php] created successfully. C:\laragon\www\crud-lab(main -> origin) λ Route::resource('products', App\Http\Controllers\ProductController::class)->middleware(['auth']); The filename, directory name, or volume label syntax is incorrect. C:\laragon\www\crud-lab(main -> origin) λ php artisan route:list | grep products GET|HEAD products ................................................. products.index › ProductController@index POST products ................................................. products.store › ProductController@store GET|HEAD products/create ........................................ products.create › ProductController@create GET|HEAD products/{product} ......................................... products.show › ProductController@show PUT|PATCH products/{product} ..................................... products.update › ProductController@update DELETE products/{product} ................................... products.destroy › ProductController@destroy GET|HEAD products/{product}/edit .................................... products.edit › ProductController@edit C:\laragon\www\crud-lab(main -> origin) λ dir C:\laragon\www\crud-lab\resources\views\ Volume in drive C is OS Volume Serial Number is F473-7C35 Directory of C:\laragon\www\crud-lab\resources\views 16/06/2026 16:30 <DIR> . 26/05/2026 06:11 <DIR> .. 15/06/2026 14:53 <DIR> auth 16/06/2026 16:27 13.391 blade.7z 15/06/2026 14:53 <DIR> components 16/06/2026 16:32 2.894 create.blade.php 15/06/2026 14:53 513 dashboard.blade.php 16/06/2026 16:33 3.014 edit.blade.php 16/06/2026 16:32 7.091 index.blade.php 15/06/2026 14:53 <DIR> layouts 15/06/2026 14:53 <DIR> profile 16/06/2026 16:33 2.437 show.blade.php 15/06/2026 14:53 72.302 welcome.blade.php 7 File(s) 101.642 bytes 6 Dir(s) 50.363.019.264 bytes free C:\laragon\www\crud-lab(main -> origin) λ dir C:\laragon\www\crud-lab\resources\views\*blade* Volume in drive C is OS Volume Serial Number is F473-7C35 Directory of C:\laragon\www\crud-lab\resources\views 16/06/2026 16:27 13.391 blade.7z 16/06/2026 16:32 2.894 create.blade.php 15/06/2026 14:53 513 dashboard.blade.php 16/06/2026 16:33 3.014 edit.blade.php 16/06/2026 16:32 7.091 index.blade.php 16/06/2026 16:33 2.437 show.blade.php 15/06/2026 14:53 72.302 welcome.blade.php 7 File(s) 101.642 bytes 0 Dir(s) 50.362.961.920 bytes free C:\laragon\www\crud-lab(main -> origin) λ dir C:\laragon\www\crud-lab\resources\views\*blade*.php Volume in drive C is OS Volume Serial Number is F473-7C35 Directory of C:\laragon\www\crud-lab\resources\views 16/06/2026 16:32 2.894 create.blade.php 15/06/2026 14:53 513 dashboard.blade.php 16/06/2026 16:33 3.014 edit.blade.php 16/06/2026 16:32 7.091 index.blade.php 16/06/2026 16:33 2.437 show.blade.php 15/06/2026 14:53 72.302 welcome.blade.php 6 File(s) 88.251 bytes 0 Dir(s) 50.362.990.592 bytes free C:\laragon\www\crud-lab(main -> origin) λ php artisan view:clear INFO Compiled views cleared successfully. C:\laragon\www\crud-lab(main -> origin) λ php artisan make:middleware AdminMiddleware INFO Middleware [C:\laragon\www\crud-lab\app\Http\Middleware\AdminMiddleware.php] created successfully. C:\laragon\www\crud-lab(main -> origin) λ php artisan optimize:clear INFO Clearing cached bootstrap files. config .............................................................................................. 155.17ms DONE cache ............................................................................................... 198.80ms DONE compiled .............................................................................................. 2.66ms DONE events ................................................................................................ 0.76ms DONE routes ................................................................................................ 0.83ms DONE views ................................................................................................ 43.65ms DONE C:\laragon\www\crud-lab(main -> origin) λ :: 1. Install package Excel C:\laragon\www\crud-lab(main -> origin) λ composer require maatwebsite/excel ./composer.json has been updated Running composer update maatwebsite/excel Loading composer repositories with package information Updating dependencies Lock file operations: 8 installs, 0 updates, 0 removals - Locking composer/pcre (3.4.0) - Locking composer/semver (3.4.4) - Locking ezyang/htmlpurifier (v4.19.0) - Locking maatwebsite/excel (3.1.69) - Locking maennchen/zipstream-php (3.2.2) - Locking markbaker/complex (3.0.2) - Locking markbaker/matrix (3.0.1) - Locking phpoffice/phpspreadsheet (1.30.5) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 8 installs, 0 updates, 0 removals - Downloading markbaker/matrix (3.0.1) - Downloading markbaker/complex (3.0.2) - Downloading maennchen/zipstream-php (3.2.2) - Downloading ezyang/htmlpurifier (v4.19.0) - Downloading composer/pcre (3.4.0) - Downloading phpoffice/phpspreadsheet (1.30.5) - Downloading composer/semver (3.4.4) - Downloading maatwebsite/excel (3.1.69) - Installing markbaker/matrix (3.0.1): Extracting archive - Installing markbaker/complex (3.0.2): Extracting archive - Installing maennchen/zipstream-php (3.2.2): Extracting archive - Installing ezyang/htmlpurifier (v4.19.0): Extracting archive - Installing composer/pcre (3.4.0): Extracting archive - Installing phpoffice/phpspreadsheet (1.30.5): Extracting archive - Installing composer/semver (3.4.4): Extracting archive - Installing maatwebsite/excel (3.1.69): Extracting archive 6 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating optimized autoload files Class App\Http\Controllers\ProductController located in ./app/Http/Controllers/ProductController-prev001.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping. Class App\Http\Controllers\ProductController located in ./app/Http/Controllers/ProductController-prev002.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping. Class App\Http\Controllers\ProductController located in ./app/Http/Controllers/ProductController-prev003.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping. Class App\Models\Product located in ./app/Models/Product-prev001.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping. Class App\Exports\ProductsExport located in ./app/ProductsExport.php does not comply with psr-4 autoloading standard (rule: App\ => ./app). Skipping. > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi INFO Discovering packages. laravel/breeze ............................................................................................... DONE laravel/pail ................................................................................................. DONE laravel/pao .................................................................................................. DONE laravel/tinker ............................................................................................... DONE maatwebsite/excel ............................................................................................ DONE nesbot/carbon ................................................................................................ DONE nunomaduro/collision ......................................................................................... DONE nunomaduro/termwind .......................................................................................... DONE 82 packages you are using are looking for funding. Use the `composer fund` command to find out more! > @php artisan vendor:publish --tag=laravel-assets --ansi --force INFO No publishable resources for tag [laravel-assets]. No security vulnerability advisories found. Using version ^3.1 for maatwebsite/excel C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: 2. Clear cache C:\laragon\www\crud-lab(main -> origin) λ php artisan optimize:clear INFO Clearing cached bootstrap files. config ................................................................................................ 3.15ms DONE cache ............................................................................................... 117.63ms DONE compiled .............................................................................................. 2.06ms DONE events ................................................................................................ 0.86ms DONE routes ................................................................................................ 0.77ms DONE views ................................................................................................ 22.02ms DONE C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: 3. Akses halaman produk C:\laragon\www\crud-lab(main -> origin) λ http://crud-lab.test/products 'http:' is not recognized as an internal or external command, operable program or batch file. C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: 4. Coba Export Excel C:\laragon\www\crud-lab(main -> origin) λ Klik tombol "� Export Excel" 'Klik' is not recognized as an internal or external command, operable program or batch file. C:\laragon\www\crud-lab(main -> origin) λ C:\laragon\www\crud-lab(main -> origin) λ :: 5. Coba Search & Filter C:\laragon\www\crud-lab(main -> origin) λ Isi form pencarian, klik "Cari"