Repository navigation
Add Bun as Javascript runtime and package manager and add PHP 8.4 and 8.5 as options - #540
Conversation
Adds a Vanilla Bun preset and Bun options across JS/PHP stacks so users can pick Bun the same way they pick npm or yarn. JS frameworks (Next, Nuxt, Express, Adonis) swap the app service to oven/bun:1; Laravel uses Bun only for Vite via a one-off kool docker helper. Co-authored-by: Cursor <cursoragent@cursor.com>
Compose V2 ignores the top-level `version` attribute and warns on it, which also broke `kool status` by mixing that warning into service/container-id parsing. Remove version from the remaining compose templates, presets, and docs examples. Co-authored-by: Cursor <cursoragent@cursor.com>
oven/bun ignores kool's ASUSER entrypoint, so `kool docker` now accepts --user to keep scaffolded files owned by the host user. `kool create` passes a folder name relative to the mounted cwd so absolute paths like /tmp/app are not written into the container's own /tmp. `kool status` ignores Compose warning lines mixed into combined output, and the compose parser no longer emits version 3.7. Co-authored-by: Cursor <cursoragent@cursor.com>
kooldev/php already publishes 8.4/8.5 and *-nginx tags. Surface them in pick-php (Laravel, Symfony, CodeIgniter, vanilla PHP) and in the create-project scaffolding recipes, listed above the existing 8.3 choice. Default remains PHP 8.2. Co-authored-by: Cursor <cursoragent@cursor.com>
Sync with kool-dev/kool through 9b50b3d. Resolve conflicts in the docker and status commands so the fork's Bun/Compose output parsing and --user support coexist with upstream's agent env vars and workspace-aware status.
|
Merged current main and pushed 0fb78a6 to add the missing Vanilla Bun setup script, update its documentation, and add a real preset-install regression test. The shared templates/kool.yml fallback is working; no separate Bun kool.yml is needed. Validation: go test ./... passes; built the CLI, created a fresh Bun project, ran kool run setup with KOOL_APP_PORT=39840 (3000 was already occupied), and confirmed HTTP Hello World. Removed the smoke-test container/network afterward. Security maintenance is intentionally deferred at the maintainer’s request; no scan suppressions or bypasses were added. Framework-variant smoke tests and required approval/checks remain before merge. |
|
Published in 3.8.0, with all six standalone binaries and their SHA-256 files attached. Related feature issue #535 is closed as completed. Thanks @FelipeEstevanatto! |
Description
Adds Bun as a JavaScript runtime and package manager option, as requested in my issue #535.
kool create bunjs), parallel to Vanilla Node.js.bunoption on the shared wizardspick-node-pkg-mgrandpick-laravel-node(Laravel, Symfony, CodeIgniter, WordPress).bunoption on Next.js, Nuxt.js, Express.js, AdonisJS, and Laravel Octane.oven/bun:1; Laravel uses Bun only for Vite assets. npm/yarn remain the defaults.kool docker --user(oven/bun ignores kool'sASUSERentrypoint),kool createuses a folder name relative to the mounted cwd so absolute paths write to the host, andkool statusignores Compose V2 warning noise.version:keys from remaining templates/presets/docs.Also adds PHP 8.4 and 8.5 to the PHP version wizards (
kooldev/php:8.4/8.4-nginxand8.5/8.5-nginx), listed above the existing 8.3 choice. Default remains PHP 8.2. Laravel Octane stays on the 8.2 Swoole/RoadRunner images.Notes
AdonisJS on the Bun runtime is experimental (Adonis targets Node). A dedicated
kooldev/bunimage is still an option later if preferred overoven/bun:1.