Skip to content

Dependencies

Resolved dependency snapshot for both the backend (Laravel API) and the frontend (Nuxt storefront). Versions in this document are the resolved/locked versions, not the declared constraints, unless noted.

  • Backend: /Users/glennmichaeltorregosa/Documents/Clients/easy-otc-api
  • Frontend: /Users/glennmichaeltorregosa/Documents/Clients/easty-otc

Backend system requirements

Source: deps.yaml, pantry.config.ts, .env.example, config/database.php.

ToolRequiredNotes
PHP^8.4.11composer.json declares ^8.2 minimum; deps.yaml pins ^8.4.11
Composer^2.8.10
Node^22.17.0used for Vite build of admin assets
Bun^1.3.9
PostgreSQL^17.2.0DB_CONNECTION=pgsql
Redis^8.0.4queue + Horizon driver
Meilisearch^1.35.0Scout driver

Launchpad auto-starts: postgres, redis, meilisearch.


Backend PHP packages

Sourced from composer.json (declared) and composer.lock (resolved).

Framework / runtime

PackageDeclaredResolved
laravel/framework^12.0v12.39.0
laravel/tinker^2.10.1v2.10.1
laravel/prompts(transitive)v0.3.7
laravel/serializable-closure(transitive)v2.0.6
nesbot/carbon(transitive)3.10.3
symfony/console(transitive)v7.3.6
monolog/monolog(transitive)3.9.0
nikic/php-parser(transitive)v5.6.2

Filament admin

All Filament packages are pinned at the same minor and resolve to v4.2.3.

PackageDeclaredResolved
filament/filament^4.0.18v4.2.3
filament/spatie-laravel-tags-plugin^4.0v4.2.3
filament/actions(transitive)v4.2.3
filament/forms(transitive)v4.2.3
filament/infolists(transitive)v4.2.3
filament/notifications(transitive)v4.2.3
filament/query-builder(transitive)v4.2.3
filament/schemas(transitive)v4.2.3
filament/support(transitive)v4.2.3
filament/tables(transitive)v4.2.3
filament/widgets(transitive)v4.2.3
livewire/livewire(transitive)v3.7.0
blade-ui-kit/blade-heroicons(transitive)2.6.0
blade-ui-kit/blade-icons(transitive)1.8.0
PackageDeclaredResolved
laravel/passport^13.0v13.4.0
laravel/horizon^5.34v5.40.0
laravel/scout^10.15v10.22.0
meilisearch/meilisearch-php^1.15v1.16.1
league/oauth2-server(transitive)9.2.0
lcobucci/jwt(transitive)5.6.0
firebase/php-jwt(transitive)v6.11.1
predis/predis^3.2v3.2.0

Spatie / domain packages

PackageDeclaredResolved
spatie/laravel-activitylog^4.104.10.2
spatie/laravel-permission^6.206.23.0
spatie/laravel-sluggable^3.73.7.5
spatie/laravel-tags^4.104.10.1
spatie/laravel-translatable(transitive)6.11.4
spatie/eloquent-sortable(transitive)4.5.2
spatie/laravel-package-tools(transitive)1.92.7

Integrations (storage, payments, images)

PackageDeclaredResolved
stripe/stripe-php^18.0v18.2.0
intervention/image-laravel^4.04.0.0
intervention/image(transitive)4.0.4
intervention/gif(transitive)5.0.1
league/flysystem-aws-s3-v3^3.03.30.1
league/flysystem(transitive)3.30.2
aws/aws-sdk-php(transitive)3.362.1
league/csv(transitive)9.27.1
openspout/openspout(transitive)v4.32.0
guzzlehttp/guzzle(transitive)7.10.0
kirschbaum-development/eloquent-power-joins(transitive)4.2.10
ramsey/uuid(transitive)4.9.1
pragmarx/google2fa(transitive)v9.0.0
chillerlan/php-qrcode(transitive)5.0.4

Dev

PackageDeclaredResolved
pestphp/pest^4.1v4.1.4
pestphp/pest-plugin-arch(transitive)v4.0.0
pestphp/pest-plugin-mutate(transitive)v4.0.1
phpunit/phpunit(transitive)12.4.1
larastan/larastan^3.0v3.8.0
phpstan/phpstan(transitive)2.1.32
laravel/boost^1.2v1.8.2
laravel/mcp(transitive)v0.3.4
laravel/pail^1.2.2v1.2.3
laravel/pint^1.13v1.25.1
laravel/sail^1.41v1.48.1
mockery/mockery^1.61.6.12
nunomaduro/collision^8.6v8.8.3
fakerphp/faker^1.23v1.24.1
brianium/paratest(transitive)v7.14.2
filp/whoops(transitive)2.18.4

Backend Node tooling (Vite for admin assets)

From /Users/glennmichaeltorregosa/Documents/Clients/easy-otc-api/package.json devDependencies:

PackageDeclared
vite^7.0.0
laravel-vite-plugin^2.0.0
tailwindcss^4.1.12
@tailwindcss/vite^4.1.12
axios^1.8.2
concurrently^9.0.1
chartjs-plugin-datalabels^2.2.0
vitepress^1.6.3
ts-pantry^0.8.4

Frontend system requirements

Source: /Users/glennmichaeltorregosa/Documents/Clients/easty-otc/deps.yaml and pantry.json.

ToolRequired
Node^24 (LTS)
Bun^1.3

No pantry.config.ts is present in the frontend repo (only pantry.json + a pantry/ cache directory).


Frontend Node/Bun packages

Source: /Users/glennmichaeltorregosa/Documents/Clients/easty-otc/package.json. Versions shown are the declared ranges (no lockfile is checked in — bun.lock was removed in commit 3068089).

Framework / runtime

PackageDeclared
nuxt^3.17.6
vue^3.5.17
vue-router^4.5.1
@nuxtjs/i18n10.1.0
@pinia/nuxt^0.11.1
@nuxt/image^2.0.0

UI / components

PackageDeclared
@nuxt/ui^3.2.0
@iconify-json/lucide^1.2.58
@internationalized/date^3.8.2
nuxt-charts0.2.3
nuxt-swiper2.0.1
ts-maps-nuxt^0.2.0
@vueuse/core^13.5.0
@vueuse/nuxt^13.5.0
@vee-validate/nuxt^4.15.1
@vee-validate/zod^4.15.1
meilisearch^0.51.0
add^2.0.6

Build tooling / dev

PackageDeclared
unocss^66.3.2
@unocss/nuxt^66.3.2
@unocss/preset-icons^66.3.2
@unocss/preset-wind4^66.3.2
eslint^9.30.1
@antfu/eslint-config^4.16.2
eslint-plugin-format^1.0.1
@stacksjs/ts-cloud^0.2.10

Runtime services

ServicePurposeDriver / config
PostgreSQL 17primary databaseDB_CONNECTION=pgsql
Redis 8queue + cache for HorizonQUEUE_CONNECTION=redis, REDIS_CLIENT=predis
Laravel Horizonqueue dashboard / supervisorv5.40.0
Meilisearch 1.35full-text searchSCOUT_DRIVER=meilisearch, SCOUT_QUEUE=true, host http://127.0.0.1:7700
S3 (AWS)file storageleague/flysystem-aws-s3-v3 3.30.1; configured via AWS_* env vars
Stripepaymentsstripe/stripe-php v18.2.0 (raw SDK — no Cashier)
ShipHeroinventory (GraphQL)env: SHIPHERO_USERNAME, SHIPHERO_PASSWORD, SHIPHERO_WAREHOUSE_ID
Healthcare Insurance OAuthexternal OAuth (Google OAuth 2.0 provider)env: HEALTHCAREINSURANCE_*
Slackmonitoring webhookSLACK_WEBHOOK_URL
ts-analyticsanalytics endpointTS_ANALYTICS_API_KEY, TS_ANALYTICS_ENDPOINT

Session: database. Cache store: database. Mail mailer (default): log.


Notes

  • Filament 4.x: declared as ^4.0.18, resolved to v4.2.3. Filament 4 is a major upgrade from v3; the post-autoload-dump script runs artisan filament:upgrade on every install.
  • Laravel 12: framework resolved at v12.39.0 — current LTS-track release.
  • No Laravel Cashier: payments use the raw stripe/stripe-php SDK directly. No laravel/cashier is present in composer.json or composer.lock.
  • Passport, not Sanctum: authentication uses laravel/passport v13.4.0 (full OAuth2 server via league/oauth2-server 9.2.0). No Sanctum.
  • Predis, not phpredis: REDIS_CLIENT=predis and predis/predis v3.2.0 — no PECL extension required.
  • PHP version skew: composer.json says ^8.2, but the pinned system PHP in deps.yaml is ^8.4.11. Anything below 8.4 will install but is not the targeted runtime.
  • Postgres pinned via env default: config/database.php still defaults DB_CONNECTION to sqlite; the actual driver comes from .env (pgsql). Worth a glance if running without a .env.
  • DB_PORT in .env.example is 3306: this is the MySQL default leaked into the example. Postgres should use 5432 — likely a stale copy.
  • Translatable: spatie/laravel-translatable 6.11.4 is present transitively (pulled by Filament), even though it isn't declared in composer.json. Useful to know if multilingual content is on the roadmap.
  • Spatie permission v6: full RBAC stack (spatie/laravel-permission 6.23.0) is in use, documented under docs/role-based-access-control.md.
  • Frontend has no lockfile: bun.lock was deleted (commit 3068089). All frontend versions in this doc are declared ranges; bun install will resolve them fresh.
  • Frontend Node version: deps.yaml requests Node ^24 (LTS), which is higher than the backend's ^22.17.0. The two repos use different Node major versions.
  • UnoCSS 66.x: frontend uses UnoCSS with the wind4 preset (Tailwind v4-compatible utilities); backend admin uses native Tailwind 4 via @tailwindcss/vite.
  • Nuxt UI v3 + Nuxt 3.17: on the Nuxt 3 line, not Nuxt 4.
  • i18n pinned exact: @nuxtjs/i18n is pinned at exactly 10.1.0 (no caret), and nuxt-charts/nuxt-swiper are also exact pins.
  • Pest 4 + PHPUnit 12: test stack is on the latest majors; mutation testing plugin (pest-plugin-mutate) is included.
  • Laravel Boost / MCP: laravel/boost v1.8.2 brings in laravel/mcp v0.3.4 — used for the AI/MCP tooling integration in dev.