[BUG] types found but incorrect when using moduleResolution: "Bundler"
fredericrous opened this issue · comments
Frederic R. commented
Describe the bug
typings for zustand-middleware-yjs cannot be imported, see the error message
⚠ Error (TS7016) |
"zustand-middleware-yjs"
/project/node_modules/.pnpm/zustand-middleware-yjs@1.3.1_@types+react@18.2.64_react@18.2.0/node_modules/zustand-middleware-yjs/dist/yjs.mjs
implicitly has an any
To Reproduce
Steps to reproduce the behavior:
- configure your tsconfig with compilerOptions.moduleResolution: "Bundler"
- import zustand-middleware-yjs
Expected behavior
typings are expected to be imported correctly like when I set moduleResolution to node
Versions (please complete the following information):
yjs v1.3.1
solution seems to be to change how the exports are referenced in package.json, see microsoft/TypeScript#52363 (comment)
Ruben Oostinga commented
running into the same issue
Ruben Oostinga commented
Ruben Oostinga commented
Workaround is to create "zustand-middleware-yjs.d.ts" and have it in the "include" section of you ts config.
declare module 'zustand-middleware-yjs' {
import { StateCreator, StoreMutatorIdentifier } from 'zustand';
import * as Y from 'yjs';
type Yjs = <
T extends unknown,
Mps extends [StoreMutatorIdentifier, unknown][] = [],
Mcs extends [StoreMutatorIdentifier, unknown][] = [],
>(
doc: Y.Doc,
name: string,
f: StateCreator<T, Mps, Mcs>,
) => StateCreator<T, Mps, Mcs>;
const _default: Yjs;
export default _default;
}