Skip to content

Commit e1e2b72

Browse files
authored
feat: add attw type export checking to CI (#93)
1 parent 385f714 commit e1e2b72

4 files changed

Lines changed: 391 additions & 25 deletions

File tree

.attw.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"profile": "node16"
3+
}

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,10 @@ jobs:
2929

3030
- run: pnpm test
3131

32+
- run: pnpm build
33+
34+
- name: Check type exports (attw)
35+
run: pnpm check-exports
36+
3237
- name: Verify JSR packaging
3338
run: pnpm dlx jsr@0.14.3 publish --dry-run --allow-dirty

package.json

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,39 +20,74 @@
2020
"type": "module",
2121
"exports": {
2222
".": {
23-
"types": "./dist/index.d.mts",
24-
"import": "./dist/index.mjs",
25-
"require": "./dist/index.cjs"
23+
"import": {
24+
"types": "./dist/index.d.mts",
25+
"default": "./dist/index.mjs"
26+
},
27+
"require": {
28+
"types": "./dist/index.d.cts",
29+
"default": "./dist/index.cjs"
30+
}
2631
},
2732
"./core": {
28-
"types": "./dist/core/index.d.mts",
29-
"import": "./dist/core/index.mjs",
30-
"require": "./dist/core/index.cjs"
33+
"import": {
34+
"types": "./dist/core/index.d.mts",
35+
"default": "./dist/core/index.mjs"
36+
},
37+
"require": {
38+
"types": "./dist/core/index.d.cts",
39+
"default": "./dist/core/index.cjs"
40+
}
3141
},
3242
"./peer/supabase-js": {
33-
"types": "./dist/peer/supabase-js/index.d.mts",
34-
"import": "./dist/peer/supabase-js/index.mjs",
35-
"require": "./dist/peer/supabase-js/index.cjs"
43+
"import": {
44+
"types": "./dist/peer/supabase-js/index.d.mts",
45+
"default": "./dist/peer/supabase-js/index.mjs"
46+
},
47+
"require": {
48+
"types": "./dist/peer/supabase-js/index.d.cts",
49+
"default": "./dist/peer/supabase-js/index.cjs"
50+
}
3651
},
3752
"./adapters/hono": {
38-
"types": "./dist/adapters/hono/index.d.mts",
39-
"import": "./dist/adapters/hono/index.mjs",
40-
"require": "./dist/adapters/hono/index.cjs"
53+
"import": {
54+
"types": "./dist/adapters/hono/index.d.mts",
55+
"default": "./dist/adapters/hono/index.mjs"
56+
},
57+
"require": {
58+
"types": "./dist/adapters/hono/index.d.cts",
59+
"default": "./dist/adapters/hono/index.cjs"
60+
}
4161
},
4262
"./adapters/h3": {
43-
"types": "./dist/adapters/h3/index.d.mts",
44-
"import": "./dist/adapters/h3/index.mjs",
45-
"require": "./dist/adapters/h3/index.cjs"
63+
"import": {
64+
"types": "./dist/adapters/h3/index.d.mts",
65+
"default": "./dist/adapters/h3/index.mjs"
66+
},
67+
"require": {
68+
"types": "./dist/adapters/h3/index.d.cts",
69+
"default": "./dist/adapters/h3/index.cjs"
70+
}
4671
},
4772
"./adapters/elysia": {
48-
"types": "./dist/adapters/elysia/index.d.mts",
49-
"import": "./dist/adapters/elysia/index.mjs",
50-
"require": "./dist/adapters/elysia/index.cjs"
73+
"import": {
74+
"types": "./dist/adapters/elysia/index.d.mts",
75+
"default": "./dist/adapters/elysia/index.mjs"
76+
},
77+
"require": {
78+
"types": "./dist/adapters/elysia/index.d.cts",
79+
"default": "./dist/adapters/elysia/index.cjs"
80+
}
5181
},
5282
"./adapters/nestjs": {
53-
"types": "./dist/adapters/nestjs/index.d.mts",
54-
"import": "./dist/adapters/nestjs/index.mjs",
55-
"require": "./dist/adapters/nestjs/index.cjs"
83+
"import": {
84+
"types": "./dist/adapters/nestjs/index.d.mts",
85+
"default": "./dist/adapters/nestjs/index.mjs"
86+
},
87+
"require": {
88+
"types": "./dist/adapters/nestjs/index.d.cts",
89+
"default": "./dist/adapters/nestjs/index.cjs"
90+
}
5691
},
5792
"./package.json": "./package.json"
5893
},
@@ -70,6 +105,7 @@
70105
"packageManager": "pnpm@11.1.2+sha512.415a1cc25974731e75455c1468371be74c5aa5fb7621b50d4056d222451609f11412f23fd602e6169f1e060466641f798597e1be961a10688836a67b16569499",
71106
"scripts": {
72107
"build": "tsdown",
108+
"check-exports": "attw --pack .",
73109
"dev": "tsdown --watch",
74110
"docs": "typedoc",
75111
"format": "prettier --write .",
@@ -131,7 +167,8 @@
131167
"typescript": "^5.9.3",
132168
"typescript-eslint": "^8.56.1",
133169
"unplugin-swc": "^1.5.9",
134-
"vitest": "^4.1.0"
170+
"vitest": "^4.1.0",
171+
"@arethetypeswrong/cli": "^0.18.4"
135172
},
136173
"dependencies": {
137174
"jose": "^6.2.0"

0 commit comments

Comments
 (0)