Skip to content

Conversation

@mezotv
Copy link
Member

@mezotv mezotv commented Nov 30, 2025

Note

Remove pnpm-workspace.yaml contents, eliminating workspace package mappings.

Written by Cursor Bugbot for commit 53cebf6. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Chores

    • Updated Next.js in the CMS to 16.0.6
    • Migrated package management and dev tooling from pnpm to bun; updated scripts, workspace configuration, and added root dependency overrides
    • Switched commit hook invocation to use bunx for commit linting
  • Style

    • Removed TypeScript suppression comments in the editor codebase for cleaner typings and fewer suppressed errors

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Nov 30, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
marble-app Error Error Nov 30, 2025 6:44pm
marble-web Error Error Nov 30, 2025 6:44pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
marble-api Skipped Skipped Nov 30, 2025 6:44pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 30, 2025

Walkthrough

Replaced pnpm invocations with bun/bunx across hooks and scripts, added root workspaces and overrides in package.json while removing pnpm-workspace.yaml, bumped Next.js in apps/cms, and removed TypeScript @ts-expect-error suppressions in the CMS editor component.

Changes

Cohort / File(s) Summary
Commit hook change
.husky/commit-msg
Switched commitlint invocation from pnpm to bunx (uses --edit flag still).
Root package manifest & scripts
package.json
Added top-level workspaces: ["apps/*","packages/*"]; replaced pnpm-based scripts with bun run / bunx variants (db scripts, lint/format); added root overrides resolutions; changed packageManager to [email protected]; removed pnpm.overrides.
Removed pnpm workspace file
pnpm-workspace.yaml
Deleted package inclusion globs (apps/*, packages/*).
CMS app dependency bump
apps/cms/package.json
Upgraded next from 16.0.4 to 16.0.6.
TypeScript lint/comment cleanup
apps/cms/src/components/editor/editor-page.tsx
Removed multiple @ts-expect-error comments around EditorContent extensions and editor ref/instance assignments.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify bun/bunx invocation semantics match previous pnpm behavior in scripts and husky hook.
  • Check workspace resolution and the newly added overrides entries in root package.json.
  • Confirm Next.js 16.0.6 upgrade doesn't require code changes in the CMS app.
  • Review removed @ts-expect-error instances in editor-page.tsx for lingering type issues.

Poem

🐇 I nibbled at configs, swapped a tool with a hum,
I hopped from pnpm to bun — now builds go thump-thump-thum!
Workspaces snug in a neat little row,
Editor errors peeled like bark from a bough.
Celebrate with a carrot, the repo's on the run! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete and does not follow the provided template. It lacks required sections including Motivation and Context, How to Test, and Types of Changes, containing only an auto-generated note. Add missing sections: Motivation and Context (explain why migrating to bun), How to Test (steps to verify the migration works), and Types of Changes (mark applicable checkboxes).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: migrating the project from pnpm to bun as the package manager, which is reflected across multiple files (package.json, .husky/commit-msg, pnpm-workspace.yaml removal).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/bun-experiment-2

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 525897b and 53cebf6.

📒 Files selected for processing (1)
  • apps/cms/src/components/editor/editor-page.tsx (0 hunks)
💤 Files with no reviewable changes (1)
  • apps/cms/src/components/editor/editor-page.tsx

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4f9a324 and 525897b.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • .husky/commit-msg (1 hunks)
  • apps/cms/package.json (1 hunks)
  • package.json (2 hunks)
  • pnpm-workspace.yaml (0 hunks)
💤 Files with no reviewable changes (1)
  • pnpm-workspace.yaml
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-11-24T22:28:24.947Z
Learnt from: CR
Repo: usemarble/marble PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-11-24T22:28:24.947Z
Learning: Always use pnpm as the package manager

Applied to files:

  • package.json
🪛 GitHub Actions: Code quality
apps/cms/package.json

[error] 1-1: Invalid packageManager field in package.json. Self-installer failed during 'pnpm action-setup'.

package.json

[error] 1-1: Invalid packageManager field in package.json. Self-installer failed during 'pnpm action-setup'.

🪛 GitHub Actions: Tests
apps/cms/package.json

[error] 1-1: Invalid packageManager field in package.json. The self-installer step (pnpm action-setup v4) failed.

package.json

[error] 1-1: Invalid packageManager field in package.json. The self-installer step (pnpm action-setup v4) failed.

🔇 Additional comments (5)
apps/cms/package.json (1)

62-62: Next.js patch bump looks reasonable; verify CMS under 16.0.6

The change to "next": "16.0.6" is a small patch bump and should be safe, but it’s still worth confirming that the CMS builds, runs, and passes tests against this version, especially given the React 19.x stack and eslint-config-next 16.0.3 combination.

.husky/commit-msg (1)

1-1: Commit-msg hook correctly migrated to bunx; ensure bun is available

Switching the hook to bunx commitlint --edit "$1" aligns with the bun-based toolchain and should behave like the previous pnpm invocation as long as bun and @commitlint/cli are installed. Please make sure bun is on the PATH for all contributors (and any CI that runs hooks), otherwise commits will fail when the hook executes.

package.json (3)

4-7: Workspaces definition looks correct for bun/monorepo usage

The "workspaces": ["apps/*", "packages/*"] configuration matches the existing structure and is a standard setup for bun/npm-style workspaces. This should let bun resolve the app and package projects consistently across the monorepo.


15-19: DB and lint/format scripts are consistent with bun CLI; confirm @marble/db scripts exist

The updated scripts:

  • db:* now use bun run --filter @marble/db <script>, which is the expected bun workspace invocation pattern.
  • lint / format now use bunx ultracite@latest ..., mirroring the previous pnpx usage while aligning with bun.

Assuming @marble/db defines db:migrate, db:deploy, db:generate, db:studio, and db:push scripts, these commands should behave as before under the new package manager.

Also applies to: 22-23


43-50: Overrides block mirrors prior behavior; verify bun honors these resolutions

Adding a top-level "overrides" section for @types/react, @types/react-dom, and the ProseMirror packages is a good way to retain consistent versions now that pnpm-specific overrides are removed. Please double-check that bun 1.3.3 correctly applies these overrides during install and that the pinned versions are still what you want across all workspaces.

}
},
"packageManager": "[email protected]"
"packageManager": "[email protected]"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Find all GitHub Actions workflow files
find .github/workflows -type f \( -name "*.yml" -o -name "*.yaml" \) 2>/dev/null | head -20

Repository: usemarble/marble

Length of output: 122


🏁 Script executed:

# Check if there are any references to pnpm/action-setup in workflows
rg "pnpm/action-setup" .github/ 2>/dev/null || echo "No pnpm/action-setup found"

Repository: usemarble/marble

Length of output: 192


🏁 Script executed:

# Check for bun setup or bun-related actions
rg "bun" .github/ 2>/dev/null || echo "No bun references found"

Repository: usemarble/marble

Length of output: 176


🏁 Script executed:

# Show the current package.json to understand the context
cat -n package.json | head -60

Repository: usemarble/marble

Length of output: 2123


🏁 Script executed:

# Show the relevant sections of the workflow files
cat -n .github/workflows/tests.yml | head -30

Repository: usemarble/marble

Length of output: 664


🏁 Script executed:

# Show code-quality workflow
cat -n .github/workflows/code-quality.yml | head -30

Repository: usemarble/marble

Length of output: 652


Update CI workflows to use bun before merging this packageManager change

The packageManager: "[email protected]" field will cause both .github/workflows/tests.yml and .github/workflows/code-quality.yml to fail because:

  1. pnpm/action-setup@v4 will reject the bun packageManager specification as invalid
  2. The workflows hardcode pnpm commands (pnpm install, pnpm test, pnpm lint) which won't work with bun

Both workflows must be updated to:

  • Replace pnpm/action-setup@v4 with a bun setup action (e.g., oven-sh/setup-bun@v1)
  • Change run commands from pnpm to bun (e.g., bun install --ignore-scripts, bun test, bun lint)
🤖 Prompt for AI Agents
In package.json around line 54, adding "packageManager": "[email protected]" will break
CI; update both .github/workflows/tests.yml and
.github/workflows/code-quality.yml to use bun instead of pnpm: replace uses:
pnpm/action-setup@v4 with uses: oven-sh/setup-bun@v1 (or equivalent bun setup
action), change any pnpm install/test/lint commands to bun equivalents (e.g.,
bun install --ignore-scripts, bun test, bun lint), and adjust any caching or
step names that reference pnpm to reference bun so the workflows run
successfully with the new packageManager.

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