developit / preact-redux

:loop: Preact integration for Redux (no shim needed!)
https://npm.im/preact-redux
MIT License
288 stars 27 forks source link

Error with Typescript >= 2.9: Type 'keyof T' does not satisfy the constraint 'string' #31

Open greengiraffe opened 6 years ago

greengiraffe commented 6 years ago

Using Typescript >= 2.9 an error occurs while bundling a typescript/preact/preact-redux project due to some breaking changes regarding keyof.

Versions I'm using:

preact-redux@2.0.3
typescript@2.9.2

The error:

ERROR in [at-loader] ./node_modules/preact-redux/src/preact-redux.d.ts:16:48
    TS2344: Type 'keyof T' does not satisfy the constraint 'string'.
  Type 'string | number | symbol' is not assignable to type 'string'.
    Type 'number' is not assignable to type 'string'.

A quick fix suggested over at https://github.com/Microsoft/TypeScript/issues/25260#issuecomment-400600877 is to set "keyofStringsOnly": true in the tsconfig.json

greengiraffe commented 6 years ago

I just noticed that this will probably be fixed with this PR: https://github.com/developit/preact-redux/pull/30