Open IlyaSemenov opened 1 day 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.
vue-tg
implicitly refers totelegram-web-app
types but doesn't explicitly import (let alone re-export) them.This leaves user apps partially untyped, for example:
which is caused by referring to an unresolved type in vue-tg typings:
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 ofvue-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 indist/*.d.ts
).Better yet,
vue-tg
additionally explicitly re-exports main involved types such asWebAppInitData
, so that they could be consumed by users without having to install@types/telegram-web-app
and manage dependency versions on their own.