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: