diff --git a/build.config.ts b/build.config.ts index e1fa0fd..e7ba97c 100644 --- a/build.config.ts +++ b/build.config.ts @@ -6,7 +6,7 @@ export default defineBuildConfig({ rollup: { inlineDependencies: true, }, - externals: ["@cloudflare/workers-types", "bun-types"], + externals: ["@cloudflare/workers-types", "bun"], hooks: { async "build:done"(ctx) { const entries = Object.keys(ctx.pkg.exports || {}) diff --git a/package.json b/package.json index 4815be4..e8fe8c4 100644 --- a/package.json +++ b/package.json @@ -74,10 +74,10 @@ }, "devDependencies": { "@cloudflare/workers-types": "^4.20240117.0", + "@types/bun": "^1.0.4", "@types/node": "^20.11.10", "@types/web": "^0.0.135", "@types/ws": "^8.5.10", - "bun-types": "^1.0.25", "changelogen": "^0.5.5", "consola": "^3.2.3", "eslint": "^8.56.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5add75..51642a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ devDependencies: '@cloudflare/workers-types': specifier: ^4.20240117.0 version: 4.20240117.0 + '@types/bun': + specifier: ^1.0.4 + version: 1.0.4 '@types/node': specifier: ^20.11.10 version: 20.11.10 @@ -17,9 +20,6 @@ devDependencies: '@types/ws': specifier: ^8.5.10 version: 8.5.10 - bun-types: - specifier: ^1.0.25 - version: 1.0.25 changelogen: specifier: ^0.5.5 version: 0.5.5 @@ -967,6 +967,12 @@ packages: engines: {node: '>=10.13.0'} dev: true + /@types/bun@1.0.4: + resolution: {integrity: sha512-2DO7sqwtpko3d3XP2kLpJsOkV12sSRt8cFR955JVB60m1DiXE56T+gJq+DcCczQ5khxgCDQKkyBRlgg5VH33Dw==} + dependencies: + bun-types: 1.0.25 + dev: true + /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true diff --git a/src/adapters/bun.ts b/src/adapters/bun.ts index 0c25061..80564e7 100644 --- a/src/adapters/bun.ts +++ b/src/adapters/bun.ts @@ -1,7 +1,6 @@ // https://bun.sh/docs/api/websockets -// @ts-expect-error -import type {} from "bun-types"; +import type { WebSocketHandler, ServerWebSocket } from "bun"; import { WebSocketMessage } from "../message"; import { WebSocketError } from "../error"; @@ -12,20 +11,13 @@ export interface AdapterOptions {} type ContextData = { _peer?: WebSocketPeer }; -type WebSocketHooks = Extract< - Parameters>[0], - { websocket: any } ->["websocket"]; - -type ServerWebSocket = Parameters[0]; - export interface Adapter { - websocket: WebSocketHooks; + websocket: WebSocketHandler; } export default defineWebSocketAdapter( (hooks, opts = {}) => { - const getPeer = (ws: ServerWebSocket) => { + const getPeer = (ws: ServerWebSocket) => { if (ws.data?._peer) { return ws.data._peer; } @@ -76,7 +68,7 @@ export default defineWebSocketAdapter( ); class WebSocketPeer extends WebSocketPeerBase<{ - bun: { ws: ServerWebSocket }; + bun: { ws: ServerWebSocket }; }> { get id() { let addr = this.ctx.bun.ws.remoteAddress;