🍺 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ě:

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ě:

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:

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:

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.
Výsledný build k prozkoumání lze projít přímo na NPM:
https://www.npmjs.com/package/megio-panel/v/0.8.12?activeTab=codeKód knihovny je na GitHubu:
https://github.com/strategio-digital/megio-panel/Lze to rozjet i lokálně:
V tomto readme je krátký návod, jak knihovnu rozjet lokálně. Je potřeba mít node a yarn.
Důležité soubory (GitHub)
- package.json
- tsconfig.json
- vite.config.ts
- src/components.ts
- src/index.ts
- tests/assets/panel/view/user/ReadAll.vue
🍺 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: