When migrating an existing Next.js project to Vinext using vinext init, the CLI does not auto-detect the package manager being used in the project.
For example, I use Bun for better performance, and I run vinext init inside a Bun-based project. However, after the compatibility check, Vinext installs dependencies using npm under the hood instead of the project’s existing package manager.
This causes significantly slower dependency installation and breaks the expected workflow. Vinext should automatically detect the package manager based on:
- The lockfile present (
bun.lockb, pnpm-lock.yaml, yarn.lock, package-lock.json)
- Or the runtime used to execute the command (e.g.,
bunx vinext init)
- Or the
packageManager field in package.json
Expected behavior:
Vinext should respect and use the project's existing package manager (e.g., Bun) instead of defaulting to npm.
When migrating an existing Next.js project to Vinext using
vinext init, the CLI does not auto-detect the package manager being used in the project.For example, I use Bun for better performance, and I run
vinext initinside a Bun-based project. However, after the compatibility check, Vinext installs dependencies using npm under the hood instead of the project’s existing package manager.This causes significantly slower dependency installation and breaks the expected workflow. Vinext should automatically detect the package manager based on:
bun.lockb,pnpm-lock.yaml,yarn.lock,package-lock.json)bunx vinext init)packageManagerfield inpackage.jsonExpected behavior:
Vinext should respect and use the project's existing package manager (e.g., Bun) instead of defaulting to npm.