microsoft / microsoft/TypeScript
"The inferred type of X cannot be named without a reference to Y" (TS2742) still happens, when working with npm link to link packages manually
@weswigham is already working on this.
Since Jun 18, 2024.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 117
Description
🔎 Search Terms
is:issue is:open 2742
🕗 Version & Regression Information
This seems to not be a regression bug
⏯ Playground Link
https://github.com/Teascade/typescript-error-demonstration
💻 Code
// In the example provided
// https://github.com/Teascade/typescript-error-demonstration
import { extended } from '@privateprefix/lib';
// src/index.ts(4,14): error TS2742: The inferred type of 'a' cannot be named without a reference to '@privateprefix/lib/node_modules/joi'. This is likely not portable. A type annotation is necessary.
export const a = extended.object().keys();
Replacing this with
// Joi is declared, but never used ts(6133)
import { type Joi, extended } from '@privateprefix/lib';
// This works now, though
export const a = extended.object().keys();
🙁 Actual behavior
Produces src/index.ts(4,14): error TS2742: The inferred type of 'a' cannot be named without a reference to '@privateprefix/lib/node_modules/joi'. This is likely not portable. A type annotation is necessary.
🙂 Expected behavior
No error is to be expected
Additional information about the issue
In https://github.com/microsoft/TypeScript/issues/42873#issuecomment-2066874644 it was mentioned, that this issue would now be resolved in TypeScript beta 5.5.0, but it seems to still be broken in this specific scenario
I've made a minimal repository to reroduce this issue in https://github.com/Teascade/typescript-error-demonstration
The GitHub repository has a github action in which the issue is reproduced: https://github.com/Teascade/typescript-error-demonstration/actions/runs/9568149578/job/26377636108
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.