Skip to content

--extendedDiagnostics and --generateTrace do not work #1375

@blake-newman

Description

@blake-newman

The following tooling is useful for diagnosing TypeScript performance issues in applications.

Reports of slow IDE experiences may not be directly due to Volar but underlying poor preforming hot code in applications. In our case we have a very large project and have always suffered performance issues. Volar doesn't seem to respond well; likely due to it now generating more typing for vue files.

I don't want to create yet another issue about bad performance with Volar; because it may not be due to Volar itself but underlying poor performance in application code.

The ability to use this tooling will help users (and ourselves) be able to triage performance issues before blaming the tooling; however the methods to triage performance issues do not work.

I've taken a look myself into why vue-tsc is not reporting on diagnostics; but i've not yet found any resolutions as to why this may be.

Extended Diagnostics

yarn vue-tsc --extendedDiagnostics

Files:                         7102
...
Types:                           80 <--
Instantiations:                   0 <--
...
yarn tsc --extendedDiagnostics

Files:                        3203
...
Types:                      293160
Instantiations:             661562
...

As you can see with vue-tsc the extended diagnostics is reporting more files checked (which makes sense as this would be the vue files), but the types and instantiations are basically no longer being reported.

Trace Generation

yarn vue-tsc --generateTrace trace

/home/blake/work/attest-maker-fe/node_modules/typescript/lib/tsc.js:2099
            throw e;
            ^

Error: Debug Failure. False expression.

This error appears because the trace information is empty; which is not expected. Which indicates tracing and diagnostic information is bailing out.


Removing the generated code for VLS, which causes diagnostic errors (we use TSX and vue 2 so it isn't required to be generated in our scenario). These errors are filtered out but I was curious if that caused bail out of counting and tracing type information. After removing all diagnostic errors from generated code it still fails; so this tells me that the issue is not directly related to the generated code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions