microsoft / microsoft/TypeScript

VSCode unable to retrieve typing information with composite, emitDeclarationOnly and strict

Aperta
#45,665 0 commenti 2 reazioni 1 assegnatario Vedi su GitHub

@sandersn ci sta già lavorando.

Dal 1/9/2021.

Needs Investigation Rescheduled
Lingua principale
Go
Stelle
111k
Fork
14.4k
Merge medio
1g 19h
PR unite (30g)
117

Descrizione

TL;DR

Exactly the same as #43909 with addition of "strict": true re-exposing the same issue, and also tested and reproing against TS 4.3.5 and 4.4.2. I've updated the same repro to cover this case.

Bug Report

🔎 Search Terms

composite project references emit declaration emitdeclarationonly vscode strict

🕗 Version & Regression Information
  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about: declarationEmitOnly and composite/project references

I've tried:

  • 4.3.5
  • 4.4.2
⏯ Playground Link

I don't think it's possible to set up multiple projects using project references in Playground. If I'm mistaken, please let me know. For now I've created the smallest repro I can below.

💻 Code

As this uses project references I set up a basic monorepo with no external deps other than typescript.

To repro (also in README.md):

  1. clone https://github.com/JasonGore/ts-composite-declaration.git
  2. run yarn
  3. cd packages/emit-standard
  4. yarn tsc
  5. cd ../packages/emit-composite
  6. yarn tsc (although I don't think this should technically be needed for projrefs)

Open VSCode from repo root and open packages/consumer/src/index.ts and note comments.

🙁 Actual behavior

This is an emitDeclarationOnly example emitting type information for packages that have .js files. The only difference between emit-standard and emit-composite is that one has composite set to true and is a reference of consumer package.

In VSCode, emit-composite seems unable to retrieve typing information, whether or not emit-composite/lib output exists:

image

However, if you run yarn tsc in packages/consumer, typing information DOES seem to be available. I'm not sure if this is a TS or VSCode bug. For each TS version I tried above I ensured that VSCode was using "workspace version" and all exhibit this behavior.

🙂 Expected behavior

Typing information should be available in VSCode for both cases.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.