Skip to content

chore: update package manager version and enhance pnpm detection in init command - #19

Merged
AxiosLeo merged 2 commits into
mainfrom
fix/init-pnpm
Sep 16, 2026
Merged

AxiosLeo merged 2 commits into
mainfrom
fix/init-pnpm

Conversation

@AxiosLeo

@AxiosLeo AxiosLeo commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner
  • Updated package manager version in package.json template from pnpm@11.10.0 to pnpm@10.33.4.
  • Improved pnpm detection and installation prompt in the init command, including better error handling and recovery instructions for users.

Note

Medium Risk
Changes first-run scaffolding and package-manager tooling paths; CI no longer exercises Node 16/18 while a Node 16-only install branch remains in the workflow.

Overview
Aligns the scaffold and CI with Node 20+ and a pinned pnpm 10.33.4 (down from pnpm 11 in the monorepo template), with engines.pnpm bumped to >=10.

koapp init now drives pnpm through a shared src/cli/pnpm helper: it reads the template packageManager pin, runs probes/install/dev with Corepack-friendly env (no download prompt, default npmmirror registry), installs pnpm@<pin> globally when needed, detects Corepack VM load failures, and prints recovery steps instead of exiting abruptly on install failures. CI drops Node 16/18 and adds 26 in the test matrix.

Unit tests cover pin parsing, corepackEnv, Corepack error detection, and the global install command.

Reviewed by Cursor Bugbot for commit fa77727. Bugbot is set up for automated code reviews on this repo. Configure here.

…nit command

- Updated package manager version in package.json template from pnpm@11.10.0 to pnpm@10.33.4.
- Improved pnpm detection and installation prompt in the init command, including better error handling and recovery instructions for users.
- Modified the Node.js version matrix in the CI configuration to include versions 20, 22, 24, and 26, removing version 16.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit fa77727. Configure here.

Comment thread .github/workflows/ci.yml
matrix:
operating-system: [macos-latest, ubuntu-latest]
node-version: [16, 18, 20, 22, 24]
node-version: [20, 22, 24, 26]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dead Node 16 CI branch

Low Severity

The install step still special-cases Node 16, but the matrix no longer includes 16, so that branch never runs. The leftover eslint@8 install and .eslintrc copy are now dead code after the version list change.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit fa77727. Configure here.

Comment thread commands/init.js
} catch (err) {
printer.error(err && err.message ? err.message : String(err));
printPnpmRecovery(dir);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recovery shown for unrelated failures

Low Severity

printPnpmRecovery is reused when pnpm install or pnpm dev fails. Those failures are often network, dependency, or a normal Ctrl+C stop, not a Corepack load problem, so users get Corepack/Node upgrade steps after a successful scaffold or a stopped dev server.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit fa77727. Configure here.

@AxiosLeo
AxiosLeo merged commit 6a94700 into main Sep 16, 2026
9 checks passed
@AxiosLeo
AxiosLeo deleted the fix/init-pnpm branch September 16, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant