microsoft / microsoft/TypeScript
(JSDoc, JavaScript) Imported class types by require() are unresolved
Offen
@sandersn arbeitet bereits daran.
Seit 20.9.2024.
Needs Investigation
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Type: Bug
Does this issue occur when all extensions are disabled?: Yes
- VS Code version: Code 1.93.1 (38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40, 2024-09-11T17:20:05.685Z)
- OS version: Linux x64 6.5.0-44-generic
Steps to Reproduce:
With source code below (a.js & b.js), there are two issues present in b.js, A and B.
- Issue.B is triggered without modification.
TS server reportsa.Fooas alias of class Foo, butFooas unresolved. - Issue.A is triggered if any of
value/objfield orpropgetter line is enabled ina.jsexports.
TS server reportsa.Fooas unresolved.
The only pattern to make TS server happy islocalObjline.
IMO diagnostics information should be presented other than the casual /* unresolved */ any message.
// a.js
class Foo {
constructor() {
this.fprop = 123;
}
}
const localObj = { prop: 456 };
exports = module.exports = {
Foo,
// value: 123,
// obj: { prop: 456 },
// get prop() { return 789 },
// localObj,
};
// b.js
const a = require('./a');
const { Foo, } = a;
class Bar {
/** @param {a.Foo} foo */
constructor(foo) {
this.bprop = foo.fprop;
}
}
// Issue.A: a.Foo unresolved, .fprop is any
/** @param {a.Foo} foo */
function bar1(foo) {
foo.fprop;
}
// Issue.B: Foo unresolved, .fprop is any
/** @param {Foo} foo */
function bar2(foo) {
foo.fprop;
}
VS Code version: Code 1.93.1 (38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40, 2024-09-11T17:20:05.685Z)
OS version: Linux x64 6.5.0-44-generic
Modes:
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscoreces:30445986
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
2e7ec940:31000449
pythontbext0:30879054
accentitlementst:30995554
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
9c06g630:31013171
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupyter:31046869
impr_priority:31102340
refactort:31101459
ccplti:31098112
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.