Bun avec Claude Code
Apprenez Bun avec Claude Code. Conseils pratiques et exemples de code inclus.
Accelerer l’adoption du runtime Bun avec Claude Code
Bun est un runtime tout-en-un pour JavaScript/TypeScript. Il integre un gestionnaire de paquets, un bundler et un test runner, et fonctionne plusieurs fois plus vite que Node.js. Tirez parti de Claude Code pour adopter efficacement les puissantes fonctionnalites de Bun.
Configuration du projet
> Cree un nouveau projet d'application web avec Bun.
> Inclus TypeScript, le framework Hono et la configuration des tests.
bun init my-app
cd my-app
bun add hono
// src/index.ts
import { Hono } from 'hono';
import { cors } from 'hono/cors';
import { logger } from 'hono/logger';
const app = new Hono();
app.use('*', logger());
app.use('/api/*', cors());
app.get('/api/health', (c) => {
return c.json({ status: 'ok', runtime: 'bun' });
});
app.get('/api/users/:id', async (c) => {
const id = c.req.param('id');
const user = await getUser(id);
return c.json(user);
});
export default {
port: 3000,
fetch: app.fetch,
};
Exploitation des API integrees de Bun
> Implemente un magasin de donnees simple en utilisant les API de fichiers et SQLite de Bun.
// src/db.ts
import { Database } from 'bun:sqlite';
const db = new Database('app.db', { create: true });
db.run(`
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
`);
export const createUser = db.prepare(
'INSERT INTO users (name, email) VALUES ($name, $email)'
);
export const getUser = db.prepare(
'SELECT * FROM users WHERE id = $id'
);
// Operations de fichiers Bun
export async function saveUpload(file: File) {
const path = `./uploads/${file.name}`;
await Bun.write(path, file);
return path;
}
export async function readConfig() {
const file = Bun.file('./config.json');
return await file.json();
}
Execution des tests
Bun integre un test runner haute vitesse.
> Ecris des tests pour les endpoints de l'API.
> Utilise le test runner de Bun.
// src/index.test.ts
import { describe, expect, it, beforeAll, afterAll } from 'bun:test';
describe('API endpoints', () => {
it('GET /api/health renvoie ok', async () => {
const res = await fetch('http://localhost:3000/api/health');
const data = await res.json();
expect(res.status).toBe(200);
expect(data.status).toBe('ok');
});
it('GET /api/users/:id renvoie un utilisateur', async () => {
const res = await fetch('http://localhost:3000/api/users/1');
expect(res.status).toBe(200);
const user = await res.json();
expect(user).toHaveProperty('name');
});
});
# Executer les tests
bun test
# Mode watch
bun test --watch
# Couverture
bun test --coverage
Bundle et build
> Empaquete le code frontend avec Bun.
> Active le tree-shaking et le minify.
// build.ts
await Bun.build({
entrypoints: ['./src/client/index.tsx'],
outdir: './dist',
target: 'browser',
minify: true,
splitting: true,
sourcemap: 'external',
define: {
'process.env.NODE_ENV': '"production"',
},
});
console.log('Build termine !');
Summary
Bun ameliore drastiquement l’experience de developpement avec sa vitesse ecrasante et sa toolchain integree. Combine avec Claude Code, vous pouvez apprendre rapidement les API et patterns propres a Bun. Consultez egalement le guide de developpement d’API et les strategies de test.
Pour plus de details sur Bun, consultez la documentation officielle de Bun.
Related Posts
Comment booster vos projets personnels avec Claude Code [Avec exemples]
Apprenez à accélérer considérablement vos projets de développement personnels avec Claude Code. Inclut des exemples concrets et un workflow pratique de l'idée au déploiement.
Comment automatiser le refactoring avec Claude Code
Apprenez à automatiser efficacement le refactoring de code avec Claude Code. Inclut des prompts pratiques et des patterns de refactoring concrets pour des projets réels.
Guide complet de configuration CORS avec Claude Code
Découvrez le guide complet de configuration CORS avec Claude Code. Conseils pratiques et exemples de code inclus.