Skip to content

chore(frontend): switch to bun (remove pnpm/node refs)#7

Merged
z23cc merged 2 commits intomainfrom
fn-17-switch-frontend-to-bun-remove-pnpmnode
Apr 5, 2026
Merged

chore(frontend): switch to bun (remove pnpm/node refs)#7
z23cc merged 2 commits intomainfrom
fn-17-switch-frontend-to-bun-remove-pnpmnode

Conversation

@z23cc
Copy link
Copy Markdown
Owner

@z23cc z23cc commented Apr 5, 2026

Summary

Completes the frontend migration to bun. Bun was already partially set up (bun.lock, bunfig.toml, bun test), but a stale packageManager: pnpm@10.30.3 field in package.json was causing corepack to enforce pnpm, breaking bun-first workflows. Also removed vestigial vitest.config.ts.

Changes

  • Remove packageManager: pnpm@10.30.3 from frontend/package.json
  • Delete vestigial frontend/vitest.config.ts (vitest not installed, no source imports)
  • Clean bun install verifies lockfile integrity (136 packages, 305ms, no warnings)

Verification

All four frontend scripts pass:

Script Result
bun run typecheck ✓ exit 0
bun run build ✓ dist/ produced in 247ms
bun test ✓ 10 pass, 0 fail (24 expects, 3 files)
bun run dev ✓ Vite starts in 151ms

Test plan

  • bun install completes with no corepack/pnpm warnings
  • bun.lock diff empty after clean install
  • All scripts (typecheck, build, test, dev) exit 0
  • vitest removal confirmed safe (no deps, no imports)

Epic: fn-17-switch-frontend-to-bun-remove-pnpmnode

z23cc added 2 commits April 5, 2026 15:02
Bun is the canonical frontend package manager (bun.lock, bunfig.toml,
bun test). The leftover packageManager: pnpm@10.30.3 field caused
corepack to enforce pnpm, conflicting with bun-first workflow.

fn-17-switch-frontend-to-bun-remove-pnpmnode.1
No vitest package is installed and no source file imports from
vitest. bun test is the canonical test runner (configured via
bunfig.toml preload + @happy-dom/global-registrator).

Verified: bun run typecheck ✓ | bun run build ✓ | bun test ✓ (10 pass) | bun run dev ✓

fn-17-switch-frontend-to-bun-remove-pnpmnode.2
@z23cc z23cc marked this pull request as ready for review April 5, 2026 07:06
Copilot AI review requested due to automatic review settings April 5, 2026 07:06
@z23cc z23cc merged commit c1172ed into main Apr 5, 2026
@z23cc z23cc deleted the fn-17-switch-frontend-to-bun-remove-pnpmnode branch April 5, 2026 07:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Completes the frontend’s migration to Bun by removing remaining pnpm/corepack enforcement and deleting unused Vitest configuration, aligning the repo with a bun-first workflow.

Changes:

  • Removed the packageManager: pnpm@10.30.3 field from frontend/package.json to avoid corepack enforcing pnpm.
  • Deleted frontend/vitest.config.ts, which is no longer needed given the current Bun-based test setup.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
frontend/package.json Removes pnpm packageManager pin; keeps scripts aligned with Bun (bun test).
frontend/vitest.config.ts Deletes vestigial Vitest config file now that tests run via Bun.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

z23cc added a commit that referenced this pull request Apr 9, 2026
P0 fixes (state loss — root cause of 5 issues):
- get_flow_dir() now walks up directory tree (FLOW_STATE_DIR env → walk-up → CWD)
  Fixes: #1 state loss, #3 state not persistent, #5 worker parallel fail,
  #9 .flow symlink issues. Same pattern as git finding .git.
- flowctl recover --epic <id> [--dry-run]: rebuilds task completion status
  from git log. Fixes #11 no recovery after state loss.

P1 fixes (guard + review):
- Guard graceful fallback: missing tools → "skipped" (not "failed").
  Only actual failures block pipeline. Fixes #8.
- Review-backend availability check: if rp-cli/codex not in PATH,
  auto-fallback to "none" with warning. Fixes #7.

P2 fixes (UX):
- Slug max length 40→20 chars. "Django+React platform with account
  management" → "fn-3-django-react-plat" not 40-char monster. Fixes #2 #12.
- Brainstorm auto-skip: trivial tasks (≤10 words, contains "fix"/"typo"/etc)
  skip brainstorm entirely. Fixes #6.
- --interactive flag: pause at key decisions. Fixes #10.

370 tests pass. Zero new dependencies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants