@canmi/seam-adapter-bun 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/package.json +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# @canmi/seam-adapter-bun
|
|
2
|
+
|
|
3
|
+
Standalone Bun server adapter that serves a seam router via `Bun.serve()`.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Exports `serveBun()` which starts a Bun HTTP server with seam routing, optional static file serving, and fallback handling.
|
|
8
|
+
|
|
9
|
+
## Structure
|
|
10
|
+
|
|
11
|
+
- `src/index.ts` — `serveBun()` entry point
|
|
12
|
+
|
|
13
|
+
## Development
|
|
14
|
+
|
|
15
|
+
- Build: `bun run --filter '@canmi/seam-adapter-bun' build`
|
|
16
|
+
- Test: `bun run --filter '@canmi/seam-adapter-bun' test`
|
|
17
|
+
|
|
18
|
+
## Notes
|
|
19
|
+
|
|
20
|
+
- Peer dependency: `@canmi/seam-server`
|
|
21
|
+
- Tests use `bun:test`, not vitest
|
|
22
|
+
- Options: `staticDir` for static files, `fallback` for unmatched routes
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DefinitionMap, HttpHandler, Router } from "@canmi/seam-server";
|
|
2
|
+
|
|
3
|
+
//#region src/index.d.ts
|
|
4
|
+
interface ServeBunOptions {
|
|
5
|
+
port?: number;
|
|
6
|
+
staticDir?: string;
|
|
7
|
+
fallback?: HttpHandler;
|
|
8
|
+
}
|
|
9
|
+
declare function serveBun<T extends DefinitionMap>(router: Router<T>, opts?: ServeBunOptions): Bun.Server<undefined>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ServeBunOptions, serveBun };
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"mappings":";;;UAKiB,eAAA;EACf,IAAA;EACA,SAAA;EACA,QAAA,GAAW,WAAA;AAAA;AAAA,iBAGG,QAAA,WAAmB,aAAA,CAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,CAAA,GAAI,IAAA,GAAO,eAAA,GAAe,GAAA,CAAA,MAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createHttpHandler, toWebResponse } from "@canmi/seam-server";
|
|
2
|
+
|
|
3
|
+
//#region src/index.ts
|
|
4
|
+
function serveBun(router, opts) {
|
|
5
|
+
const handler = createHttpHandler(router, {
|
|
6
|
+
staticDir: opts?.staticDir,
|
|
7
|
+
fallback: opts?.fallback
|
|
8
|
+
});
|
|
9
|
+
return Bun.serve({
|
|
10
|
+
port: opts?.port ?? 3e3,
|
|
11
|
+
async fetch(req) {
|
|
12
|
+
return toWebResponse(await handler({
|
|
13
|
+
method: req.method,
|
|
14
|
+
url: req.url,
|
|
15
|
+
body: () => req.json()
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { serveBun };
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* packages/server/adapter/bun/src/index.ts */\n\nimport { createHttpHandler, toWebResponse } from \"@canmi/seam-server\";\nimport type { DefinitionMap, Router, HttpHandler } from \"@canmi/seam-server\";\n\nexport interface ServeBunOptions {\n port?: number;\n staticDir?: string;\n fallback?: HttpHandler;\n}\n\nexport function serveBun<T extends DefinitionMap>(router: Router<T>, opts?: ServeBunOptions) {\n const handler = createHttpHandler(router, {\n staticDir: opts?.staticDir,\n fallback: opts?.fallback,\n });\n return Bun.serve({\n port: opts?.port ?? 3000,\n async fetch(req) {\n const result = await handler({ method: req.method, url: req.url, body: () => req.json() });\n return toWebResponse(result);\n },\n });\n}\n"],"mappings":";;;AAWA,SAAgB,SAAkC,QAAmB,MAAwB;CAC3F,MAAM,UAAU,kBAAkB,QAAQ;EACxC,WAAW,MAAM;EACjB,UAAU,MAAM;EACjB,CAAC;AACF,QAAO,IAAI,MAAM;EACf,MAAM,MAAM,QAAQ;EACpB,MAAM,MAAM,KAAK;AAEf,UAAO,cADQ,MAAM,QAAQ;IAAE,QAAQ,IAAI;IAAQ,KAAK,IAAI;IAAK,YAAY,IAAI,MAAM;IAAE,CAAC,CAC9D;;EAE/B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@canmi/seam-adapter-bun",
|
|
3
|
+
"version": "0.2.3",
|
|
4
|
+
"files": [
|
|
5
|
+
"dist"
|
|
6
|
+
],
|
|
7
|
+
"type": "module",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsdown",
|
|
16
|
+
"test": "bun test"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@canmi/seam-server": "workspace:*",
|
|
20
|
+
"@types/bun": "^1.2.0",
|
|
21
|
+
"bun-types": "^1.3.9",
|
|
22
|
+
"tsdown": "^0.20.0",
|
|
23
|
+
"typescript": "^5.7.0"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@canmi/seam-server": "workspace:*"
|
|
27
|
+
}
|
|
28
|
+
}
|