Bug
Every stack path respects the user-selected package manager (nextSetup switches on config.packageManager, mernTailwindSetup/mevnTailwindAuthSetup use getInstallCommand(config.packageManager)), but HonoReactSetup() hardcodes npm:
execSync(`npm create hono@latest server -- --template cloudflare-workers --pm npm`, {
utils/installer.js:300
Reproduction
celtrix create → stack hono, package manager pnpm (or bun/yarn)
- Observe the Hono scaffold runs
npm create hono with --pm npm
Impact
- Inconsistent with the rest of the CLI: the Vite client side respects the chosen package manager but the Hono server side does not.
--pm npm forces the generated Hono project to use npm even when the user explicitly selected another manager, producing a mixed package-lock.json/pnpm-lock.yaml project.
Suggested fix
Build the hono command using config.packageManager (e.g. pnpm create hono@latest / bunx --bun create-hono), mirroring the nextCommand() switch in nextSetup.
Environment
Bug
Every stack path respects the user-selected package manager (
nextSetupswitches onconfig.packageManager,mernTailwindSetup/mevnTailwindAuthSetupusegetInstallCommand(config.packageManager)), butHonoReactSetup()hardcodesnpm:utils/installer.js:300Reproduction
celtrix create→ stackhono, package managerpnpm(orbun/yarn)npm create honowith--pm npmImpact
--pm npmforces the generated Hono project to usenpmeven when the user explicitly selected another manager, producing a mixedpackage-lock.json/pnpm-lock.yamlproject.Suggested fix
Build the hono command using
config.packageManager(e.g.pnpm create hono@latest/bunx --bun create-hono), mirroring thenextCommand()switch innextSetup.Environment
celtrixv3.0.1