chore: update package versions to exact matches and add bunfig configuration#44
chore: update package versions to exact matches and add bunfig configuration#44
Conversation
PR SummaryPins dependencies to exact versions, enforces exact installs via bunfig, switches build script to use
Written by Cursor Bugbot for commit 415be88. This will update automatically on new commits. Configure here. |
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds a new bunfig.toml with an install.exact flag, pins dependency versions in package.json to exact values, replaces Bun.build() usage with shell-invoked Changes
Sequence Diagram(s)sequenceDiagram
participant BuildScript as script/build.ts
participant Shell as /bin/sh
participant BunCLI as bun
participant FS as Filesystem
participant Logger as Console
BuildScript->>Shell: execute `bun build --compile --target=... ./src/cli.ts --outfile dist/${binary}`
Shell->>BunCLI: spawn bun process with args
BunCLI->>FS: read source `./src/cli.ts`
BunCLI->>FS: write output `dist/${binary}`
BunCLI-->>Shell: exit with code (0 or non-zero), stdout/stderr
Shell-->>BuildScript: return result (exitCode, stdout, stderr)
alt exitCode == 0
BuildScript->>Logger: proceed (success)
else exitCode != 0
BuildScript->>Logger: print stdout (if any) and stderr
BuildScript->>Logger: exit with failure
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
🧰 Additional context used📓 Path-based instructions (4)**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
**/*.{html,ts,tsx,css}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
**/*.{tsx,jsx,ts,js}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
**/*.ts📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (10)📓 Common learnings📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
📚 Learning: 2025-11-24T17:14:51.342ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (2)
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. Comment |
4128cef to
182e081
Compare
95369a8 to
ace2361
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
bun.lockis excluded by!**/*.lock
📒 Files selected for processing (4)
bunfig.toml(1 hunks)package.json(1 hunks)script/build.ts(1 hunks)tsconfig.json(1 hunks)
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,js,jsx}: Usebun <file>instead ofnode <file>orts-node <file>for running scripts
Bun automatically loads .env files, so don't use the dotenv package
UseBun.serve()with built-in WebSocket, HTTPS, and routes support instead ofexpress
Usebun:sqlitefor SQLite database access instead ofbetter-sqlite3
UseBun.redisfor Redis client instead ofioredis
UseBun.sqlfor Postgres database access instead ofpgorpostgres.js
Use the built-inWebSocketAPI instead of thewspackage
PreferBun.fileovernode:fs's readFile/writeFile methods
UseBun.$for shell command execution instead of execa
Files:
script/build.ts
**/*.{html,ts,tsx,css}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
bun build <file.html|file.ts|file.css>instead ofwebpackoresbuildfor building
Files:
script/build.ts
**/*.{tsx,jsx,ts,js}
📄 CodeRabbit inference engine (CLAUDE.md)
Import .css files directly in TypeScript/JavaScript frontend files and Bun's CSS bundler will handle bundling
Files:
script/build.ts
**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
Use
bun --hot <file.ts>for hot module reloading during development
Files:
script/build.ts
{package.json,package-lock.json,yarn.lock,pnpm-lock.yaml}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
bun installinstead ofnpm install,yarn install, orpnpm install
Files:
package.json
package.json
📄 CodeRabbit inference engine (CLAUDE.md)
Use
bun run <script>instead ofnpm run <script>,yarn run <script>, orpnpm run <script>
Files:
package.json
🧠 Learnings (12)
📓 Common learnings
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to {package.json,package-lock.json,yarn.lock,pnpm-lock.yaml} : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install`
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>`
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `Bun.$` for shell command execution instead of execa
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `bun <file>` instead of `node <file>` or `ts-node <file>` for running scripts
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{html,ts,tsx,css} : Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` for building
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Use `bun test` instead of `jest` or `vitest` for running tests
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.ts : Use `bun --hot <file.ts>` for hot module reloading during development
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>`
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to {package.json,package-lock.json,yarn.lock,pnpm-lock.yaml} : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install`
Applied to files:
script/build.tspackage.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Prefer `Bun.file` over `node:fs`'s readFile/writeFile methods
Applied to files:
script/build.ts
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `Bun.serve()` with built-in WebSocket, HTTPS, and routes support instead of `express`
Applied to files:
script/build.ts
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Bun automatically loads .env files, so don't use the dotenv package
Applied to files:
package.json
📚 Learning: 2025-11-24T17:14:51.342Z
Learnt from: CR
Repo: TrogonStack/aipm PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T17:14:51.342Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `bun:sqlite` for SQLite database access instead of `better-sqlite3`
Applied to files:
package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Cursor Bugbot
🔇 Additional comments (3)
bunfig.toml (1)
1-2: LGTM! Configuration aligns with exact versioning strategy.The
exact = truesetting ensures Bun installs exact versions specified in package.json, which is consistent with the exact version pinning introduced in this PR.script/build.ts (1)
41-48: LGTM! Refactor aligns with Bun best practices.The change from
Bun.build()API to shell-basedbun buildcommand usingBun.$follows the project's coding guidelines and simplifies the build logic. The error handling correctly checksexitCodeand logsstderron failure.Based on coding guidelines, using
Bun.$for shell command execution is the preferred approach.package.json (1)
33-36: All pinned versions should be verified for existence on npm before merge.The shift to exact versions ensures installation determinism. Confirm the following are available: zod@4.1.12 exists as a released version, and prettier@3.6.2 was published and has no direct vulnerabilities. Additionally verify @straw-hat/prettier-config@3.1.5, @types/bun@1.2.2, @types/lodash.merge@4.6.9, typescript@5.9.3, lodash.merge@4.6.2, and yaml@2.8.1 are valid npm versions before deploying.
…uration Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
No description provided.