-
Notifications
You must be signed in to change notification settings - Fork 3
Refactor: Use bun for local dev and biome #183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Code ReviewFound 1 issue that needs attention: Documentation incorrectly states build uses tsdown (CLAUDE.md lines 673-674)Issue: The build command documentation claims tsdown is used and mentions a non-existent Current documentation (CLAUDE.md:673-674): bun run build # tsdown - bundles to dist/index.js + copies templates
bun run build:watch # tsdown in watch mode - rebuilds on file changesActual implementation (package.json:14): "build": "rm -rf dist && bun build src/cli/index.ts --outdir dist --target node --format esm --sourcemap=inline && cp -r templates dist/"Problems:
CLAUDE.md Rule #10 (line 660): "Keep AGENTS.md updated - Update this file when architecture changes" Suggested fix:
Reference: https://github.com/base44/cli/blob/c8a82045a79b08c372d8a92771b7b93803239539/CLAUDE.md#L671-L674 |
Code reviewFound 1 issue that needs attention: Documentation Inaccuracy in AGENTS.mdFile: Issue: The documentation incorrectly states that Current (incorrect) documentation: bun run build # tsdown - bundles to dist/index.js + copies templates
bun run build:watch # tsdown in watch mode - rebuilds on file changesActual build script in package.json: "build": "rm -rf dist && bun build src/cli/index.ts --outdir dist --target node --format esm --sourcemap=inline && cp -r templates dist/"CLAUDE.md Rule Violated:
Reference: Line 660 in c8a8204
Suggested fix:
|
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Note
Description
This PR migrates the project from npm+ESLint to Bun+Biome for local development. Bun now handles package management, runs TypeScript directly without transpilation, and provides native bundling for the build process. Biome replaces ESLint for faster linting and formatting. The production package remains unchanged (still distributed as a zero-dependency npm package). This improves developer experience with faster install times, instant TypeScript execution, simpler build tooling, and unified linting/formatting.
Related Issue
Resolves #180
Type of Change
Changes Made
eslint.config.mjsand ESLint dependenciesbiome.jsonwith comprehensive linting rules (correctness, style, complexity, performance, suspicious patterns)bun run lint,bun run lint:fixbun build src/cli/index.ts --outdir dist --target node --format esm --sourcemap=inlinetsdown.config.mjsand tsdown dependencybin/dev.tsshebang from#!/usr/bin/env tsxto#!/usr/bin/env bunoven-sh/setup-bun@v2bun install --frozen-lockfilefor deterministic installsbunfig.toml(using defaults)package-lock.json(usingbun.lockinstead)Testing
bun run test)Checklist
Additional Notes
Breaking changes for contributors:
buninstead ofnpm:bun install(instead ofnpm ciornpm install)bun run dev(instead ofnpm run dev)bun run test(instead ofnpm test)bun run build(instead ofnpm run build)No changes for end users:
npm install base44as beforePerformance improvements:
🤖 Generated by Claude | 2026-02-02 15:07 UTC