Local Development (Monorepo)
Chcete zasahovat přímo do Laravixu — do jádra, výchozí šablony nebo first-party pluginů? Pak potřebujete vývojové monorepo, ne distribuci. Tento článek vysvětluje rozložení repozitáře a rozběhne ho přes Laravel Sail.
Tip: Pokud chcete s Laravixem jen postavit web, použijte distribuci — viz Instalace.
Rozložení repozitáře
Monorepo je kompletní Laravel aplikace, která balíčky instaluje z lokálních cest (Composer je symlinkuje):
| Cesta | Co to je |
|---|---|
packages/laravix/cms |
Distribuované jádro — modely, Filament resources, bloky, API, příkazy. Při každém release tagu se automaticky splituje do balíčku laravix/cms. |
packages/laravix/docs-plugin |
First-party plugin: typ obsahu a stránky dokumentace (pohání laravix.com/docs). |
packages/laravix/changelog-plugin |
First-party plugin: changelog (pohání laravix.com/changelog). |
themes/default |
Výchozí šablona, jak se publikuje do nových instalací. |
app/, config/, routes/ |
Hostitelská aplikace — tenké lepidlo kolem balíčků. |
Požadavky
- Docker (monorepo běží v kontejnerech Laravel Sail: PHP, MySQL, Meilisearch, Mailpit)
- Composer a PHP 8.4 na hostiteli pro první
composer install - Node.js pro build assetů
Setup
git clone https://github.com/MartinKoudela/laravix-cms.git
cd laravix-cms
composer install
cp .env.example .env
vendor/bin/sail up -d
vendor/bin/sail artisan key:generate
vendor/bin/sail artisan migrate --seed
vendor/bin/sail npm install
vendor/bin/sail npm run build
Otevřete http://localhost/admin a přihlaste se naseedovaným účtem:
- e-mail:
[email protected] - heslo:
example_
Tip: Všechny PHP, Artisan, Composer a Node příkazy pouštějte přes
vendor/bin/sail, aby běžely uvnitř kontejnerů. Pomůže alias:alias sail='vendor/bin/sail'.
Každodenní příkazy
vendor/bin/sail artisan test --compact # spuštění Pest testů
vendor/bin/sail bin pint --dirty # formátování změněných PHP souborů
vendor/bin/sail npm run dev # Vite dev server s hot reloadem
vendor/bin/sail artisan pail # sledování logů aplikace
Stack: Laravel 13, Filament 5, Livewire 4, Tailwind CSS 4, GrapesJS, Meilisearch, Pest 4 na PHP 8.4.
Úpravy jádra
Balíčky v packages/*/* jsou nainstalované jako symlinkované path repozitáře, takže změny souborů v packages/laravix/cms platí okamžitě — žádný composer update není potřeba. Totéž platí pro pluginy.
Frontendové změny (admin theme, JavaScript builderu) vyžadují rebuild: vendor/bin/sail npm run build, nebo nechte běžet npm run dev.
Řešení problémů
„Unable to locate file in Vite manifest". Assety ještě nejsou sestavené — spusťte vendor/bin/sail npm run build.
Přihlášení se správnými údaji selhává. Uživatel nemá žádný web a není super admin. Vytvořte správný účet přes vendor/bin/sail artisan laravix:user a na dotaz o super adminovi odpovězte ano.
Port 80 je obsazený. Nastavte APP_PORT v .env před sail up.
Související články
- Instalace — distribuce pro stavbu webů
- Vývoj pluginů