Skip to content

feat(1-F): upgrade to Laravel 11 monorepo — composer-merge-plugin, replace block, service providers#233

Open
herpaderpaldent wants to merge 1 commit into
4.xfrom
core/feat/monorepo-setup
Open

feat(1-F): upgrade to Laravel 11 monorepo — composer-merge-plugin, replace block, service providers#233
herpaderpaldent wants to merge 1 commit into
4.xfrom
core/feat/monorepo-setup

Conversation

@herpaderpaldent
Copy link
Copy Markdown
Contributor

Summary

Root monorepo wiring changes to support the new Laravel 11 package architecture. Pairs with the web package PRs (1-A through 1-E).

Changes

composer.json

  • PHP ^8.1^8.2, Laravel framework ^10.0^11.0
  • Replace seatplus/web ^4.0 + symfony/process with wikimedia/composer-merge-plugin ^2.1 + laravel/wayfinder ^0.1.4
  • Add replace block so Composer satisfies cross-package deps locally without Packagist
  • Add extra.merge-plugin to include packages/*/composer.json
  • Register service providers via extra.laravel.providers (Laravel 11 pattern)
  • Add package namespaces to autoload.psr-4 (packages/*/src/)
  • Add barryvdh/laravel-ide-helper to require-dev

config/app.php

  • Register EveapiServiceProvider, WebServiceProvider, AuthenticationServiceProvider in providers array (IDE support)

app/Providers/AppServiceProvider.php

jsconfig.json — new file with @/ path mapping for Vue IDE support

.gitignore — add /packages/ (packages are separate git repos, not subdirectories of this one)

.editorconfig, .env.example — minor formatting

Notes

  • The packages/ directory is gitignored here; each package is its own git repo
  • This PR should be merged after all 5 web PRs are merged and tagged

- Upgrade PHP requirement to ^8.2 and Laravel framework to ^11.0
- Replace seatplus/web package requirement with wikimedia/composer-merge-plugin
  and laravel/wayfinder ^0.1.4 (now resolved via local packages)
- Add replace block so Composer satisfies cross-package deps locally without Packagist
- Add merge-plugin config to include packages/*/composer.json
- Register package service providers via extra.laravel.providers (L11 pattern)
- Register providers also in config/app.php for IDE support
- Add package namespaces to autoload.psr-4 (packages/*/src/)
- Add Model::preventLazyLoading() to AppServiceProvider (non-production guard)
- Add jsconfig.json with @/ path mapping for Vue IDE support
- Update .gitignore: ignore /packages/ (tracked as separate git repos)
- Update .env.example and .editorconfig minor formatting
- Add barryvdh/laravel-ide-helper to require-dev

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant