vuejs / language-tools

⚡ High-performance Vue language tooling based-on Volar.js
https://marketplace.visualstudio.com/items?itemName=Vue.volar
MIT License
5.79k stars 392 forks source link

Maximum call stack size exceeded when ``fallthroughAttributes: true`` #4761

Closed ferferga closed 1 month ago

ferferga commented 1 month ago

Vue - Official extension or vue-tsc version

2.1.2

VSCode version

1.92.2

Vue version

3.4.37

TypeScript version

5.5.4

System Info

No response

Steps to reproduce

What is expected?

Type checking passes successfully and fallthrough attributes are properly inferred.

What is actually happening?

The following stacktrace is printed:

/workspaces/jellyfin-vue/node_modules/vue-tsc/index.js:45
            throw err;
            ^

RangeError: Maximum call stack size exceeded
    at getObjectTypeInstantiation (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61411:38)
    at instantiateTypeWorker (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61670:16)
    at instantiateTypeWithAlias (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61650:20)
    at instantiateType (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61628:29)
    at getMappedType (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61307:67)
    at /workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61433:56
    at map (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:199:19)
    at getObjectTypeInstantiation (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61433:29)
    at instantiateTypeWorker (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61670:16)
    at instantiateTypeWithAlias (/workspaces/jellyfin-vue/node_modules/typescript/lib/tsc.js:61650:20)

Link to minimal reproduction

https://github.com/jellyfin/jellyfin-vue

Any additional comments?

ferferga commented 1 month ago

@johnsoncodehk Thank you very much for the quick fix! Glad that the reproduction was useful (I was worried that it was not minimal at all, but couldn't reproduce it in isolation).

This was something I was really looking forward to, thank you very much!