microsoft / microsoft/TypeScript
Typescript fails to resolve module when type definitions are placed outside the root path (with typesVersions)
@rbuckton y travaille déjà.
Depuis le 9/3/2021.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 132
Description
Bug Report
If you have a project with embedded type definitions that are not in root path. i.e.: src/index.d.ts and src/ts4.1/index.d.ts, TypeScript fails to resolve this module when using the following approach:
"types": "./src/index.d.ts",
"typesVersions": {
">=4.1": {
"*": [
"src/ts4.1/*"
]
}
},
src/i18n/config.ts:4:34 - error TS2307: Cannot find module 'react-i18next' or its corresponding type declarations.
import { useTranslation } from 'react-i18next';
It works, if we replace * to index.d.ts, like this:
"types": "./src/index.d.ts",
"typesVersions": {
">=4.1": {
"*": [
"src/ts4.1/index.d.ts"
]
}
},
However, when we replace it with the actual file (src/ts4.1/index.d.ts), VS Code sometimes imports the module incorrectly, i.e.:
import { useTranslation } from 'react-i18next/*';
Rather than:
import { useTranslation } from 'react-i18next';
Here you can find some context.
💻 Code
https://github.com/i18next/react-i18next/blob/master/package.json#L7
"types": "./src/index.d.ts",
"typesVersions": {
">=4.1": {
"*": [
"src/ts4.1/index.d.ts"
]
}
},
🙁 Actual behavior
It fails to compile, and fails to auto-import properly.
import { useTranslation } from 'react-i18next/*';
🙂 Expected behavior
Resolve the module and import it properly.
import { useTranslation } from 'react-i18next';
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Évaluation
Cette issue n'a pas encore été évaluée.