Skip to content

Add Bun as Javascript runtime and package manager #535

@FelipeEstevanatto

Description

@FelipeEstevanatto

Describe the feature
Add Bun as a JavaScript runtime and package manager option, alongside the existing npm/yarn choices and Node-based presets.

Proposed scope

  • New "Vanilla Bun" preset (parallel to the existing Vanilla Node.js preset).
  • bun added to the shared wizards pick-node-pkg-mgr and pick-laravel-node, which gives it to Laravel, Symfony, CodeIgniter, and WordPress for free.
  • Explicit bun option added to presets with inline package-manager prompts: Laravel+Octane, Next.js, Nuxt.js, Express.js, AdonisJS.

Open question – runtime vs package manager
Should "bun" only manage packages (deps installed via oven/bun:1, app still runs on kooldev/node:20), or should it also switch the app service to the Bun runtime (oven/bun:1)? The framework presets pin kooldev/node:20, so this affects whether kool exec app bun works and whether the app actually runs on Bun. (I would prefer the option to add Bun for everything if possible)

New dependency
Introduces the public oven/bun:1 image. Open to maintaining a kooldev/bun image instead if preferred for consistency.

Backward compatibility
None — purely additive; npm/yarn remain the defaults.

Use cases
Bun offers reduced memory usage and way faster installation of packages, and runtime improvements in many scenarios.

Example
Creating a Laravel project currently offers npm or yarn; this adds bun as a third option to that menu.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions