You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched existing issues to ensure the bug has not already been reported
Fastify version
4.24.3
Plugin version
3.5.0
Node.js version
18.15.0
Operating system
macOS
Operating system version (i.e. 20.04, 11.3, 10)
Ventura 13.5.1
Description
TypeBoxTypeProvider produces a type error in version 3.5.0. I am not facing this issue in version 3.1.0.
Steps to Reproduce
import Fastify from 'fastify'
import { TypeBoxTypeProvider } from '@fastify/type-provider-typebox'
const fastify = Fastify().withTypeProvider<TypeBoxTypeProvider>()
This produces a type error:
error TS2344: Type 'TypeBoxTypeProvider' does not satisfy the constraint 'FastifyTypeProvider'.
Property 'input' is missing in type 'TypeBoxTypeProvider' but required in type 'FastifyTypeProvider'.
Typescript version: 5.0.4
Expected Behavior
No response
The text was updated successfully, but these errors were encountered:
@mcollina this happens when using pnpm, and probably recent versions of yarn (I haven't tried them but I've heard they're more restrictive than npm). You don't explicitly declare fastify as a dependency or peerDependency, but still import it in index.d.ts, which makes it a phantom dependency. It's all fine if the consumer is using npm, because npm allows phantom dependencies. But if they use pnpm, when you try to import FastifyTypeProvider from fastify, you get an unknown type because fastify is not declared as a dependency and thus not accessible from your modules:
Workaround:
Adding this to my package.json fixed the issue for me:
The same issue occurs in recent versions of Yarn. I discovered this while updating to 5.x. The problem can be worked around by adding the following to .yarnrc.yml in a Yarn project's root:
Prerequisites
Fastify version
4.24.3
Plugin version
3.5.0
Node.js version
18.15.0
Operating system
macOS
Operating system version (i.e. 20.04, 11.3, 10)
Ventura 13.5.1
Description
TypeBoxTypeProvider
produces a type error in version 3.5.0. I am not facing this issue in version 3.1.0.Steps to Reproduce
This produces a type error:
Typescript version: 5.0.4
Expected Behavior
No response
The text was updated successfully, but these errors were encountered: