testing-library/vue-testing-library

TypeScript v8.1.0: Cannot find module 'type-fest' or its corresponding type declarations - RemoveIndexSignature

zymotik opened this issue · 4 comments

TypeScript build of version 8.1.0 fails with:

node_modules/@testing-library/vue/types/index.d.ts:10:36 - error TS2307: Cannot find module 'type-fest' or its corresponding type declarations.

import {RemoveIndexSignature} from 'type-fest

This is due to RemoveIndexSignature being renamed to OmitIndexSignature in type-fest v3 and then being removed in a later version.

I would suggest specifying type-fest version 2.19 as a potential fix in the package.json. Version 3 and above appear to cause other issues.

Testing-library commit that causes the issue: d46ed8f#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519R71

Deprecation notice of RemoveIndexSignature from type-fest: sindresorhus/type-fest#387

Workaround, install previous version:

npm install @testing-library/vue@8.0.3 -D

Or in your package.json, provide the hint:

  "overrides": {
    "type-fest": ">=2.10 <4.0.0"
  },

👋

PR ready: #320

Or in your package.json, provide the hint:

  "overrides": {
    "type-fest": ">=2.10 <4.0.0"
  },

This will break other lib which deps on type-fest v4

In pnpm, we should use

  "pnpm": {
    "packageExtensions": {
      "@testing-library/vue": {
        "dependencies": {
          "type-fest": "~2.19"
        }
      }
    }
  },