Skip to content

Dependencies

composer.json and package.json are the source of truth for what is installed and at which version. This document does not mirror them — it explains the packages whose role is not obvious from the name, and records the constraints worth knowing before upgrading.

Current versions:

bash
./vendor/bin/sail composer show --direct
npm ls --depth=0

Backend — what each non-obvious package is for

Application patterns

PackageRole
lorisleiva/laravel-actionsThe AsAction trait behind everything in app/Actions. One class = one use case, usable as controller, job or command.
spatie/laravel-dataDTOs in app/Data; also the input to TypeScript generation.
foxbytehq/laravel-backed-enumsEnum metadata (label, color, icon) for app/Entities, exported to TS. Note the vendor: foxbytehq, not the older webfox.
spatie/laravel-typescript-transformerGenerates resources/js/types/generated.ts; customized by app/Transformers.
nunomaduro/essentialsOpinionated framework defaults (strict models, immutable dates, etc.) applied globally — check config/essentials.php before assuming stock Laravel behavior.

Platform services

PackageRole
laravel/fortifyAuthentication backend. laravel/breeze is a dev dependency only — it scaffolded the original views and is not the runtime auth layer.
laravel/sanctumSPA session guard / API tokens.
laravel/scout + meilisearch/meilisearch-phpSearch indexing; always used through App\Traits\ShopSearchable.
laravel/horizon + spatie/laravel-horizon-watcherQueue processing; the watcher restarts workers in dev when watched files change (config/horizon-watcher.php).
laravel/reverbSelf-hosted WebSocket server speaking the Pusher protocol.
laravel/aiLLM client used by app/Ai tools; configured in config/ai.php.
spatie/laravel-pdf + spatie/browsershotPDF rendering, driven against the chromium container rather than a local Chrome.
spatie/laravel-webhook-clientSignature verification & storage for inbound webhooks.
rlanvin/php-rruleRFC 5545 recurrence rules for repeating schedules.
staudenmeir/eloquent-has-many-deepMulti-hop relationships that Eloquent can't express natively.
pelmered/fake-carRealistic vehicle data for factories and seeders (a production dependency because seeders use it).
symfony/mailgun-mailerTransactional mail transport.
twilio/sdkSMS delivery and inbound message webhooks.
paquettg/php-html-parserParsing scraped/third-party HTML in normalizers.

Observability

PackageRole
sentry/sentry-laravelErrors & performance traces.
laravel/nightwatchProduction monitoring agent.
laravel/pulseLocal/prod metrics dashboard, extended by four community cards: aaronfrancis/pulse-outdated (outdated composer deps), hungthai1401/vulnerable (vulnerable deps), morrislaptop/laravel-pulse-4xx (4xx responses), hosmelq/laravel-pulse-schedule (scheduled tasks). Disabled in tests via PULSE_ENABLED=false.
spatie/laravel-activitylogAudit trail, wired in through App\Traits\LogsActivity.
spatie/laravel-rayDev debugging output (ray.php).

Dev tooling

PackageRole
brianium/paratestBacks artisan test --parallel.
laravel/pintPHP formatting; rules in pint.json.
rector/rector + driftingly/rector-laravelAutomated refactors; config in rector.php.
laravel/boostMCP server exposing app info, schema, logs and docs search to AI tooling (boost.json).
laravel/pailLog tailing.
laravel/sailThe Docker dev environment every command is wrapped in.

Frontend — what each non-obvious package is for

PackageRole
@inertiajs/vue3 + @inertiajs/viteSPA bridge and its Vite integration (SSR disabled in vite.config.js).
prelineTailwind-based component library; auto-initialized in app.ts.
@headlessui-float/vue, vue-tippyFloating elements and tooltips (v-tooltip).
vue-skeletorLoading skeletons, registered globally in app.ts.
@vuepic/vue-datepicker, vanilla-calendar-proDate picking and the scheduling calendar.
vue-draggable-plusDrag-and-drop lists (replaced the unmaintained vuedraggable).
@tiptap/*Rich-text editing; lazy-loaded because of its size.
unplugin-vue-define-optionsEnables defineOptions() — how pages declare their layout / noLayout.
@intlify/unplugin-vue-i18nCompiles the Locales/ catalogs at build time.
vite-plugin-watchRuns composer run transform-types and npm run generate:icons on source changes.
puppeteerLocal headless Chrome for PDF/HTML tasks.
@grazulex/shipmarkRelease/changelog tooling (.shipmarkrc.yml).
eslint-plugin-import-xImport rules under ESLint flat config (replaced eslint-plugin-import).
prettier-plugin-classnames, prettier-plugin-tailwindcss, prettier-plugin-organize-importsClass-name wrapping, Tailwind class sorting, import sorting.

Upgrade Considerations

  • Consult Laravel release notes when bumping laravel/framework; Horizon, Pulse, Reverb, Scout and Sanctum track major versions with it.
  • Keep Tailwind aligned with @tailwindcss/vite, @tailwindcss/postcss and the forms/typography plugins.
  • Upgrade Sentry packages (sentry/sentry-laravel, @sentry/vue, @sentry/vite-plugin) together.
  • Rector upgrades can introduce broad refactors; run on a dedicated branch and re-run Pint afterward.
  • Vitest and @vitest/coverage-v8 must stay on matching majors.

See standards.md for enforced style & static analysis rules.