Add type declarations with export conditions
This commit is contained in:
parent
c29a4092ca
commit
10c93e4204
10
CLAUDE.md
10
CLAUDE.md
|
|
@ -109,3 +109,13 @@ bun --hot ./index.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information, read the Bun API docs in `node_modules/bun-types/docs/**.md`.
|
For more information, read the Bun API docs in `node_modules/bun-types/docs/**.md`.
|
||||||
|
|
||||||
|
## Type Declarations
|
||||||
|
|
||||||
|
This package exports raw `.tsx` source as the runtime entry (Bun handles it fine), but uses hand-written `.d.ts` files in `dist/` for the `types` export condition. This prevents consumers' `tsc` from type-checking our Hono JSX internals, which would fail if they use a different JSX runtime.
|
||||||
|
|
||||||
|
- When adding or changing exported functions/types, update the corresponding `.d.ts` file in `dist/` by hand.
|
||||||
|
- Do NOT add a build step to generate declarations. The `.d.ts` files are small and manually maintained.
|
||||||
|
- `dist/index.d.ts` — main exports (`Hype` class, `HypeProps`, `SSEHandler`, re-exports from utils/layout)
|
||||||
|
- `dist/utils.d.ts` — utility function signatures
|
||||||
|
- `dist/layout.d.ts` — `Layout` and `ReloadScript` FC declarations
|
||||||
|
|
|
||||||
11
package.json
11
package.json
|
|
@ -4,10 +4,17 @@
|
||||||
"module": "src/index.tsx",
|
"module": "src/index.tsx",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.tsx",
|
".": {
|
||||||
"./utils": "./src/utils.tsx"
|
"types": "./dist/index.d.ts",
|
||||||
|
"default": "./src/index.tsx"
|
||||||
|
},
|
||||||
|
"./utils": {
|
||||||
|
"types": "./dist/utils.d.ts",
|
||||||
|
"default": "./src/utils.tsx"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"dist",
|
||||||
"src/css",
|
"src/css",
|
||||||
"src/frontend.ts",
|
"src/frontend.ts",
|
||||||
"src/index.tsx",
|
"src/index.tsx",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user