Skip to content

Commit 64d47b9

Browse files
jeffsee55QuiiBz
andauthored
Add express bun example (#1277)
Co-authored-by: Tom Lienard <[email protected]>
1 parent f8d03f9 commit 64d47b9

File tree

7 files changed

+281
-0
lines changed

7 files changed

+281
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# dev
2+
.yarn/
3+
!.yarn/releases
4+
.vscode/*
5+
!.vscode/launch.json
6+
!.vscode/*.code-snippets
7+
.idea/workspace.xml
8+
.idea/usage.statistics.xml
9+
.idea/shelf
10+
11+
# deps
12+
node_modules/
13+
14+
# env
15+
.env
16+
.env.production
17+
18+
# logs
19+
logs/
20+
*.log
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
pnpm-debug.log*
25+
lerna-debug.log*
26+
27+
# misc
28+
.DS_Store
29+
.vercel
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
To develop locally:
2+
3+
```
4+
bun install
5+
vc dev
6+
```
7+
8+
```
9+
open http://localhost:3000
10+
```
11+
12+
To build locally:
13+
14+
```
15+
npm install
16+
vc build
17+
```
18+
19+
To deploy:
20+
21+
```
22+
npm install
23+
vc deploy
24+
```

framework-boilerplates/express-bun/bun.lock

Lines changed: 185 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "express",
3+
"type": "module",
4+
"dependencies": {
5+
"express": "5.1.0"
6+
},
7+
"devDependencies": {
8+
"@types/express": "5.0.0",
9+
"@types/bun": "1.3.1",
10+
"typescript": "5.8.3"
11+
}
12+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import express from 'express'
2+
3+
const app = express()
4+
5+
const runtime = typeof globalThis.Bun !== 'undefined' ? 'bun' : 'node'
6+
7+
app.get('/', (_req, res) => {
8+
res.send(`Hello from ${runtime}!`)
9+
})
10+
11+
app.get('/api/users/:id', (_req, res) => {
12+
res.json({ id: _req.params.id })
13+
})
14+
15+
app.get('/api/posts/:postId/comments/:commentId', (_req, res) => {
16+
res.json({ postId: _req.params.postId, commentId: _req.params.commentId })
17+
})
18+
19+
export default app
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"compilerOptions": {
3+
"target": "ESNext",
4+
"module": "NodeNext",
5+
"skipLibCheck": true,
6+
"types": ["bun"]
7+
},
8+
"exclude": ["node_modules"]
9+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"bunVersion": "1.x"
3+
}

0 commit comments

Comments
 (0)