Use Bun for dependency installation and workspace commands#20

open1
main
chore/bun-package-manager
opened7d agobySScreen
View on GitHubTwo-way sync enabledPR last imported 4d ago

Summary

Use Bun 1.4.4 for dependency installation and workspace commands while keeping the existing Node runtime and Vitest runner. Preserve the XML parser override and explicitly allow the required native build scripts.

diff
1- pnpm install --frozen-lockfile
2- pnpm typecheck
3+ bun install --frozen-lockfile
4+ bun run typecheck

Evidence

  • Before: pnpm supplied the lockfile, workspace configuration, and root commands.
  • After: a fresh Bun install and frozen reinstall passed in an isolated checkout of main. bun run test passed 83 tests; bun run typecheck passed. The native SQLite dependency loads under Node.

Merge Danger

Door: two-way. Reverting restores the pnpm setup.

Blast Radius: tooling. Contributors and automation must use the pinned Bun version. App behavior is unchanged.

Created with gpt-6.1-sol in T3 Code through the Codex harness.


Devin Review

Summary by CodeRabbit

  • Documentation
    • Updated setup and project guidance to use Bun 1.4.4 for installation, development, builds, startup, and project checks.
  • Chores
    • Switched workspace and package scripts from pnpm to Bun. Development, build, and start commands now target the web app; lint, typecheck, and test commands cover available workspace packages.

Checks

3 successful
All checks passed
f54af79

Added 1 commit

  • Use Bun for dependency installation and project commandsf54af79
Synced from GitHub

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The repository switches its package manager configuration and workspace scripts from pnpm to Bun. The README and setup guide now use Bun commands for installation, development, builds, Convex setup, and project checks.

Changes: Bun workspace migration

Layer / File(s)Summary
Bun workspace configuration
package.json, pnpm-workspace.yaml
The root configuration selects Bun, defines workspace globs and scripts, adds trusted dependencies, and retains the dependency override. The pnpm workspace file is removed, including its minimum-release-age exclusions and build-script permissions.
Bun setup instructions
README.md, docs/syllo-setup.md
The setup instructions use Bun 1.4.4 and Bun commands for installation, development, builds, Convex tasks, and project checks.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: External image Minimal · up to f54af

This tooling-only change moves dependency installation and workspace commands from pnpm to Bun. The root lint, typecheck, and test scripts do select the web workspace. No merge-blocking risk remains; contributors and CI need to use the pinned Bun version.

Pre-merge checks: Passed 5

Check nameStatusExplanation
Description CheckPassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title checkPassedThe title clearly describes the switch to Bun for dependency installation and workspace commands.
Docstring CoveragePassedNo eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

I’m a rabbit with a Bun-shaped hat,
I hop through setup, quick and neat.
The scripts now follow Bun’s trail,
Convex commands join the beat.
I nibble docs, then rest my feet.

External image Recent review info

External image Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 739018c0-0105-4375-b4a6-ef04a6dfa9c8
External image Commits

Reviewing files that changed from the base of the PR and between 8749e6a65f3d97164fb74ec18f758fc2d4fe1745 and f54af79106d57f494771af5ea61419e1c8df30f3.

External image Files ignored due to path filters: 2

  • bun.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
External image Files selected for processing: 4

  • README.md
  • docs/syllo-setup.md
  • package.json
  • pnpm-workspace.yaml
External image Files with no reviewable changes: 1

  • pnpm-workspace.yaml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

README.mdline 42Open thread
……@@ -30,22 +30,22 @@ Convex sync is prepared for one owner, with password login restricted by `SYLLO_
40+`bun run typecheck` checks both the app and `apps/web/convex/`.
4141
42-The production server serves `dist/client` and the TanStack SSR handler on loopback port 3000. `pnpm start` does not read an env file automatically; pass environment variables or run `node --env-file=.env.local server.mjs` in `apps/web`. Deployment URLs are build-time settings.
42+The production server serves `dist/client` and the TanStack SSR handler on loopback port 3000. `bun run start` does not read an env file automatically; pass environment variables or run `node --env-file=.env.local server.mjs` in `apps/web`. Deployment URLs are build-time settings.

🔍 Check production environment loading

The instructions say bun run start ignores env files, but Bun normally loads them for scripts. Confirm which env files reach the Node server from each working directory.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.