Skip to content

Commit efdd087

Browse files
committed
build: migrate to obuild (rolldown)
1 parent 453b973 commit efdd087

3 files changed

Lines changed: 338 additions & 17 deletions

File tree

build.config.ts

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,42 @@
11
import { mkdir, writeFile, glob, rm } from "node:fs/promises";
22
import { dirname, join } from "node:path";
3-
import { defineBuildConfig } from "unbuild";
3+
import { defineBuildConfig } from "obuild/config";
4+
5+
const adapters = ["bun", "cloudflare", "deno", "node", "sse", "uws"];
6+
7+
const servers = ["bun", "cloudflare", "default", "deno", "node"];
48

59
export default defineBuildConfig({
6-
rollup: {
7-
inlineDependencies: true,
8-
},
9-
externals: [
10-
"@cloudflare/workers-types",
11-
"bun",
12-
"@deno/types",
13-
"uWebSockets.js",
14-
"cloudflare:workers",
10+
entries: [
11+
{
12+
type: "bundle",
13+
input: [
14+
"src/index.ts",
15+
"src/websocket/native.ts",
16+
"src/websocket/node.ts",
17+
"src/websocket/sse.ts",
18+
...adapters.map((id) => `src/adapters/${id}.ts`),
19+
...servers.map((id) => `src/server/${id}.ts`),
20+
],
21+
rolldown: {
22+
external: [
23+
"@cloudflare/workers-types",
24+
"bun",
25+
"@deno/types",
26+
"uWebSockets.js",
27+
"cloudflare:workers",
28+
],
29+
},
30+
},
1531
],
1632
hooks: {
17-
async "build:done"(ctx) {
18-
for await (const file of glob("dist/**/*.d.ts")) {
19-
await rm(file);
20-
}
21-
33+
async end(ctx) {
34+
// Generate declaration files for each entry point (old TS compatibility)
2235
const entries = Object.keys(ctx.pkg.exports || {})
2336
.filter((key) => key.startsWith("./"))
2437
.map((key) => key.slice(2));
2538
for (const entry of entries) {
26-
const dst = join(ctx.options.rootDir, entry + ".d.ts");
39+
const dst = join(ctx.pkgDir, entry + ".d.ts");
2740
await mkdir(dirname(dst), { recursive: true });
2841
let relativePath =
2942
("..".repeat(entry.split("/").length - 1) || ".") + `/dist/${entry}`;

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"*.d.ts"
4949
],
5050
"scripts": {
51-
"build": "unbuild",
51+
"build": "obuild",
5252
"dev": "vitest",
5353
"lint": "eslint --cache . && prettier -c src test",
5454
"lint:fix": "eslint --cache . --fix && prettier -w src test",
@@ -87,6 +87,7 @@
8787
"h3": "^2.0.1-rc.8",
8888
"jiti": "^2.6.1",
8989
"listhen": "^1.9.0",
90+
"obuild": "^0.4.16",
9091
"prettier": "^3.8.0",
9192
"srvx": "^0.10.1",
9293
"typescript": "^5.9.3",

0 commit comments

Comments
 (0)