microsoft / microsoft/TypeScript
Typescript fails to resolve module when type definitions are placed outside the root path (with typesVersions)
@rbuckton arbeitet bereits daran.
Seit 09.3.2021.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
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';
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.