Skip to content

Commit e5b602a

Browse files
authored
Merge pull request #44 from elysiajs/srvx
Fuck it we ball
2 parents 5a3d4e8 + f92859e commit e5b602a

9 files changed

Lines changed: 1372 additions & 433 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# 1.4.1 - 16 Sep 2025
2+
Change:
3+
- use srvx for full Web Standard Compatibility
4+
- remove `@hono/node-server`
5+
6+
Improvement:
7+
- support full WebSocket via crossws
8+
- support `ElysiaFile` `content-type`, and `content-range`
9+
110
# 1.4.0 - 13 Sep 2025
211
Improvement:
312
- support Elysia 1.4

bun.lock

Lines changed: 97 additions & 132 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/demo.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { serve } from 'crossws/server'
2+
3+
serve({
4+
fetch: () => new Response("A", {
5+
status: 404
6+
}),
7+
websocket: {
8+
upgrade(request) {
9+
console.log(`[ws] upgrading ${request.url}...`)
10+
return {
11+
// namespace: new URL(req.url).pathname
12+
headers: {}
13+
}
14+
},
15+
16+
open(peer) {
17+
console.log(`[ws] open: ${peer}`)
18+
},
19+
20+
message(peer, message) {
21+
console.log('[ws] message', peer, message)
22+
if (message.text().includes('ping')) {
23+
peer.send('pong')
24+
}
25+
},
26+
27+
close(peer, event) {
28+
console.log('[ws] close', peer, event)
29+
},
30+
31+
error(peer, error) {
32+
console.log('[ws] error', peer, error)
33+
}
34+
}
35+
})

example/index.ts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
1-
import { Elysia, file } from 'elysia'
1+
import { Elysia, file, sse } from 'elysia'
22
import { cors } from '@elysiajs/cors'
3-
import { swagger } from '@elysiajs/swagger'
3+
import { openapi } from '@elysiajs/openapi'
44

55
import { node } from '../src'
66

77
const app = new Elysia({
88
adapter: node()
99
})
1010
.use(cors())
11-
.use(swagger())
11+
.use(openapi())
12+
.ws('/ws/:id', {
13+
open({ data, subscribe, isSubscribed }) {
14+
subscribe('welcome')
15+
},
16+
message(ws, message) {
17+
ws.send(message)
18+
},
19+
close(ws, code, reason) {}
20+
})
1221
.get('/image', async () => file('test/kyuukurarin.mp4'))
1322
.get('/generator', async function* () {
1423
for (let i = 0; i < 100; i++) {
15-
await new Promise(resolve => setTimeout(resolve, 10))
16-
yield "A"
24+
await new Promise((resolve) => setTimeout(resolve, 10))
25+
yield sse('A')
1726
}
1827
})
1928
.post('/', ({ body }) => body, {
2029
type: 'json'
2130
})
22-
.get('/', () => 'ok')
31+
.get('/', ({ request }) => {
32+
console.log(request)
33+
34+
return 'ok'
35+
})
2336
.listen(3000)
37+
38+
// console.log(app.fetch.toString())

package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@elysiajs/node",
3-
"version": "1.4.0",
3+
"version": "1.4.1-beta.0",
44
"description": "Plugin for Elysia for retreiving Bearer token",
55
"license": "MIT",
66
"scripts": {
@@ -11,16 +11,17 @@
1111
"release": "npm run build && npm run test && npm publish --access public"
1212
},
1313
"dependencies": {
14-
"@hono/node-server": "^1.19.2"
14+
"crossws": "^0.4.1",
15+
"srvx": "^0.8.9"
1516
},
1617
"peerDependencies": {
1718
"elysia": ">= 1.4.0"
1819
},
1920
"devDependencies": {
20-
"@elysiajs/cors": "^1.3.0",
21-
"@elysiajs/swagger": "^1.3.0",
21+
"@elysiajs/cors": "^1.4.0",
22+
"@elysiajs/openapi": "^1.4.0",
2223
"@types/node": "^22.10.2",
23-
"elysia": "^1.4.0",
24+
"elysia": "^1.4.9",
2425
"eslint": "9.17.0",
2526
"tsup": "^8.3.5",
2627
"tsx": "^4.19.2",

0 commit comments

Comments
 (0)