Skip to content

Add Bun as Javascript runtime and package manager and add PHP 8.4 and 8.5 as options - #540

Open
FelipeEstevanatto wants to merge 5 commits into
kool-dev:mainfrom
FelipeEstevanatto:main
Open

Add Bun as Javascript runtime and package manager and add PHP 8.4 and 8.5 as options#540
FelipeEstevanatto wants to merge 5 commits into
kool-dev:mainfrom
FelipeEstevanatto:main

Conversation

@FelipeEstevanatto

Copy link
Copy Markdown
Contributor
Issue #535
🪲 Bug Fix No
🧰 Improvement Yes
🏆 Feature Yes
📝 Refactor No
❌ Removed No
📖 Documentation Yes
⚠️ Break Change No

Description
Adds Bun as a JavaScript runtime and package manager option, as requested in my issue #535.

  • New Vanilla Bun preset (kool create bunjs), parallel to Vanilla Node.js.
  • bun option on the shared wizards pick-node-pkg-mgr and pick-laravel-node (Laravel, Symfony, CodeIgniter, WordPress).
  • Explicit bun option on Next.js, Nuxt.js, Express.js, AdonisJS, and Laravel Octane.
  • JS frameworks that pick Bun run on oven/bun:1; Laravel uses Bun only for Vite assets. npm/yarn remain the defaults.
  • CLI support for the official Bun image: kool docker --user (oven/bun ignores kool's ASUSER entrypoint), kool create uses a folder name relative to the mounted cwd so absolute paths write to the host, and kool status ignores Compose V2 warning noise.
  • Drops obsolete Compose 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-nginx and 8.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/bun image is still an option later if preferred over oven/bun:1.

FelipeEstevanatto and others added 5 commits August 25, 2026 18:28
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>
@github-actions github-actions Bot added release-drafter:added Release drafter: Added release-drafter:changed Release drafter: Changed release-drafter:documentation Release drafter: Documentation release-drafter:minor Release drafter: Minor release-drafter:patch Release drafter: Patch labels Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-drafter:added Release drafter: Added release-drafter:changed Release drafter: Changed release-drafter:documentation Release drafter: Documentation release-drafter:minor Release drafter: Minor release-drafter:patch Release drafter: Patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant