Skip to content

chore: switch from npm to bun#22

Merged
mattiacerutti merged 3 commits intomainfrom
feature/bun
Jan 26, 2026
Merged

chore: switch from npm to bun#22
mattiacerutti merged 3 commits intomainfrom
feature/bun

Conversation

@mattiacerutti
Copy link
Copy Markdown
Owner

@mattiacerutti mattiacerutti commented Jan 26, 2026

Summary by CodeRabbit

  • Chores

    • Migrated runtime and package manager from Node/npm to Bun (v1.3.6) across CI, CD, Docker, and build scripts.
    • Updated project metadata to declare Bun as the package manager and runtime.
  • Documentation

    • Updated contributor/setup guidance and developer commands to use Bun equivalents.

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 26, 2026

Walkthrough

Migrates project from Node/npm to Bun: updates CI/CD workflows and Dockerfile to use Bun, replaces npm/npx commands with Bun/bunx equivalents, updates documentation for Bun usage, and adds Bun-specific fields and dependency adjustments in package.json.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/cd.yaml, .github/workflows/ci.yml
Replaces Node setup with oven-sh/setup-bun@v2 (bun v1.3.6). Swaps npm commands (npm ci, npm run ...) for Bun (bun ci, bun run ...) and npx Prisma commands for bunx prisma ....
Docker / Runtime
Dockerfile
Changes base image from node:22-bullseye to oven/bun:1.3.6. Replaces npm install/build/start steps with bun install --frozen-lockfile, bun run build, and bun run start. Copies Bun lockfile (bun.lock) instead of npm lockfiles.
Package manifest
package.json
Adds packageManager: "bun@1.3.6", replaces engines.node with engines.bun, adds trustedDependencies array, adjusts dependencies (removal/re-addition and version bump for @davisvaughan/tree-sitter-r) and adds node-gyp in devDependencies.
Documentation
CONTRIBUTING.md
Replaces Node 22 requirement with Bun 1.3.6 and swaps npm command examples for Bun equivalents (bun install, bunx prisma ..., bun run dev, lint/prettier/build commands).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: switch from npm to bun' clearly and accurately summarizes the main change across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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
Copy Markdown

@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: 4

🤖 Fix all issues with AI agents
In @.github/workflows/cd.yaml:
- Line 28: The workflow step uses an invalid Bun command (`run: bun ci`);
replace that occurrence with the correct CI install invocation `bun install
--frozen-lockfile` so the GitHub Actions job runs Bun install deterministically;
locate the workflow step containing the `run: bun ci` line in the cd.yaml and
update it to call `bun install --frozen-lockfile` instead.
- Line 53: The workflow step containing the literal "run: bun ci" needs the same
change applied elsewhere in the repo: replace this "run: bun ci" command with
the corrected command used in the other workflow change (i.e., the exact
replacement previously applied) so the CD pipeline uses the same install command
and flags/caching policy; locate the "run: bun ci" entry in this file and swap
it for the corrected command used in the other workflow to ensure consistency.

In @.github/workflows/ci.yml:
- Line 15: Replace the invalid CI command "bun ci" in the workflow step with a
reproducible install command: change the step that currently runs "run: bun ci"
to "run: bun install --frozen-lockfile" so the CI uses Bun's install with the
lockfile; locate the workflow job step containing the "run: bun ci" line and
update it accordingly.

In `@package.json`:
- Around line 77-89: trustedDependencies array in package.json is missing
"tree-sitter-typescript", so add the string "tree-sitter-typescript" to the
trustedDependencies array alongside the other tree-sitter packages to ensure its
postinstall lifecycle script runs (update the trustedDependencies entry in
package.json to include "tree-sitter-typescript").

@mattiacerutti mattiacerutti merged commit 930850e into main Jan 26, 2026
4 checks passed
@mattiacerutti mattiacerutti deleted the feature/bun branch January 26, 2026 20:13
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