brianlovin/agent-config

bun

Use Bun instead of Node.js, npm, pnpm, or vite.

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Bun Runtime

Use Bun as the default JavaScript/TypeScript runtime and package manager.

Command Mappings

Instead ofUse
node file.tsbun file.ts
ts-node file.tsbun file.ts
npm installbun install
npm run scriptbun run script
jest / vitestbun test
webpack / esbuildbun build

Bun automatically loads .env files - don't use dotenv.

Bun-Specific APIs

Prefer these over Node.js equivalents:

APIPurposeDon't use
Bun.serve()HTTP server with WebSocket, HTTPS, routesexpress
bun:sqliteSQLite databasebetter-sqlite3
Bun.redisRedis clientioredis
Bun.sqlPostgres clientpg, postgres.js
Bun.file()File operationsnode:fs readFile/writeFile
Bun.$\cmd\``Shell commandsexeca
WebSocketWebSocket client (built-in)ws

Testing

Use bun:test for tests:

ts
import { test, expect } from "bun:test";

test("description", () => {
  expect(1).toBe(1);
});

Run with bun test.

Frontend Development

Use HTML imports with Bun.serve() instead of Vite. Supports React, CSS, Tailwind.

Server:

ts
import index from "./index.html"

Bun.serve({
  routes: {
    "/": index,
    "/api/users/:id": {
      GET: (req) => Response.json({ id: req.params.id }),
    },
  },
  development: { hmr: true, console: true }
})

HTML file:

html
<html>
  <body>
    <script type="module" src="./app.tsx"></script>
  </body>
</html>

Bun's bundler transpiles .tsx, .jsx, .js automatically. CSS is bundled via <link> tags.

Run with bun --hot ./server.ts for HMR.

Documentation

For detailed API docs, see node_modules/bun-types/docs/**.md.

du même dépôt

Autres Skills

Tous les Skills