Přeskočit na hlavní obsah

🍺 HELP NEEDED

🍺🍺 Pivo za pomoc! 🍺🍺

Dokážeš mi poradit?​

Nevím, jakým způsobem vyeexportovat Vue.js komponenty z mé knihovny megio-panel tak, aby PHP Storm či jakékoli jiné IDE dokázalo našeptávat props, emits, slots a další vlastnosti - jako je tomu například u knihovny Vuetify viz následující obrázek.

Vuetify našeptává správně:​

Vuetify autocomplete

Zde lze vidět, že Vuetify napovídá všechny možné vlastnosti, které mohou být použity u komponenty VBtn.

Megio našeptává jen částečně:​

Megio autocomplete

Zde lze vidět, že megio-panel napovídá pouze vlastnosti obecné Vue komponenty, nejsou tam tedy veškeré vlastnosti, které by tam měly být. Zejméná zde chybí loading prop, jenž je typu ?boolean.

Co nedává smysl?​

1. Paradox - IDE zná loading prop:​

Megio autocomplete

Zde lze vidět, že PHP Storm zná loading prop a dokonce i jeho typ boolean, ale přesto ho nenapovídá.

2. Paradox - IDE zná loading prop i v template:​

Megio autocomplete

Záměrně jsem do propu loading vložil integer namísto boolean :loading="1" a PHP Storm to označil jako chybu - což je správně a IDE tedy tento prop poznává - nechápu tedy, proč ho to nenapovídá.

Co jsem zkoušel?​

Možná si myslíš, že to způsobuje použití přes useComponents() - toto ale není problém. Zkoušel jsem komponenty vyexportovat i tak, aby se useComponents() nemuselo používat - import pak probíhal napřímo, stejně jako to dělá Vuetify.

import { Layout } from `megio-panel`

Ale ani to nepomohlo.

Kde si myslím, že je problém?​

Nejspíše je problém někde v konfiguraci tsconfig.json nebo vite.config.ts či ve způsobu buildu knihovny.

Důležité soubory (GitHub)​

🍺 Dokážeš mi poradit?​

Pokud máš nějaký nápad, jak to vyřešit, budu rád za jakoukoli pomoc a pozvu tě na pivo! 🍺🍺🍺

Kontakty: