deptyped / vue-telegram

Telegram integration for Vue
https://vue-tg.deptyped.com
MIT License
179 stars 13 forks source link

Explicitly import types from @types/telegram-web-app #41

Open IlyaSemenov opened 1 day ago

IlyaSemenov commented 1 day ago

vue-tg implicitly refers to telegram-web-app types but doesn't explicitly import (let alone re-export) them.

This leaves user apps partially untyped, for example:

image

which is caused by referring to an unresolved type in vue-tg typings:

image

Note that the library's dependencies are not transitive in many environments, e.g. when using pnpm. Listing @types/telegram-web-app as the dependency of vue-tg doesn't automatically make it available in user's project.

Expected

vue-tg explicitly imports all types that it depends upon (this way, they will be picked by vite build / rollup and will be properly referred in dist/*.d.ts).

Better yet, vue-tg additionally explicitly re-exports main involved types such as WebAppInitData, so that they could be consumed by users without having to install @types/telegram-web-app and manage dependency versions on their own.

IlyaSemenov commented 16 hours ago

I figured it's harder than I thought... @types/telegram-web-app pollutes the global namespace and apparently can't be directly imported. But then it's probably should be at least documented, otherwise as I elaborated above users end up with partially untyped code.