Add dev-watch recipe with chokidar-cli for live rebuild on CSS/JS changes

- just dev now spawns a background chokidar watcher alongside the PHP server
- CSS/JS changes auto-rebuild into dist/ (~200ms per rebuild)
- just stop kills both the PHP server and the watcher
- just dev-watch still available standalone for split-terminal workflows
- chokidar-cli added as devDependency
This commit is contained in:
Pontoporeia
2026-06-24 13:11:30 +02:00
parent 20fe4b6c8c
commit 9f8a4be84e
3 changed files with 546 additions and 2 deletions

View File

@@ -11,10 +11,30 @@ default:
setup:
@bash scripts/setup-dev.sh
# One-shot build of all frontend assets (run before `dev` if sources changed)
[group('dev')]
dev: migrate
dev-build:
@node scripts/build.mjs
# Watch CSS/JS sources and rebuild on change.
# Run in a separate terminal alongside `just dev`.
[group('dev')]
dev-watch:
@npx chokidar \
"app/public/assets/css/**/*.css" \
"app/public/assets/js/app/**/*.js" \
--initial \
-c "node scripts/build.mjs"
[group('dev')]
dev: dev-build migrate
@xdg-open http://127.0.0.1:8000 &
@xdg-open http://127.0.0.1:8000/admin/ &
@npx chokidar \
"app/public/assets/css/**/*.css" \
"app/public/assets/js/app/**/*.js" \
-c "node scripts/build.mjs" &
@sleep 0.5
@php \
-d upload_max_filesize=8192M \
-d post_max_size=8704M \
@@ -26,7 +46,9 @@ dev: migrate
[group('dev')]
stop:
@pkill -f "php -S 127.0.0.1:8000" 2>/dev/null && echo "stopped" || echo "no server running"
@pkill -f "php -S 127.0.0.1:8000" 2>/dev/null; \
pkill -f "chokidar.*assets/(css|js)" 2>/dev/null; \
echo "stopped"
[group('dev')]
logs: