Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
JasonGore opened this issue Aug 31, 2021 · 0 comments
Assignees
Labels
Needs Investigation This issue needs a team member to investigate its status. Rescheduled This issue was previously scheduled to an earlier milestone

Comments

@JasonGore
Copy link
Member

JasonGore commented Aug 31, 2021

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.

@andrewbranch andrewbranch added Bug A bug in TypeScript Needs Investigation This issue needs a team member to investigate its status. and removed Bug A bug in TypeScript labels Sep 1, 2021
@andrewbranch andrewbranch added this to the TypeScript 4.5.0 milestone Sep 1, 2021
@sandersn sandersn added this to Not started in Rolling Work Tracking Oct 11, 2021
@RyanCavanaugh RyanCavanaugh added the Rescheduled This issue was previously scheduled to an earlier milestone label Dec 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Investigation This issue needs a team member to investigate its status. Rescheduled This issue was previously scheduled to an earlier milestone
Projects
Rolling Work Tracking
  
Not started
Development

No branches or pull requests

4 participants