@inugram/plugin-types
v50.0.0
Published
typings for the Inugram plugin api
Readme
@inugram/plugin-types
TypeScript typings for the Inugram plugin API. Guides are in the plugin docs.
Package versions follow app releases, keeping the types, TL layer, and grant catalogue in sync.
APIs tagged @experimental may change signatures or documented behavior, or be removed,
between releases. Breaking changes will be called out in release notes; plugins using them
may need updates. See the API stability policy for the scope.
pnpm add -D @inugram/plugin-typestsconfig.json:
{
"extends": "@inugram/plugin-types/tsconfig.json",
"include": ["src"]
}This adds types for all engine globals, including inu, console, atob, and performance.
No imports are needed.
For JavaScript plugins, extend @inugram/plugin-types/tsconfig.js.json. It enables checkJs
with fewer annotation requirements while still checking for unknown API members.
What's inside
| | |
| --- | --- |
| common.d.ts | the contract: inu.*, lifecycle, grants, limits |
| dom.d.ts | web API-shaped globals: console, timers, URLs, blobs, and fetch |
| canvas.d.ts | inu.canvas, the rasterizer |
| sqlite.d.ts | inu.sqlite, the plugin's own database |
| android.d.ts, android.jvm.d.ts, android.xposed.d.ts, android.notification-center.d.ts | the unsafe android-specific surfaces |
| android.tl.d.ts | every TL class and method, generated from the app's own sources |
| grants.json | the grant catalogue: what each permission accepts, and what it is called |
| tl-names.txt | the rpc method and update vocabularies inu check validates scopes against |
These declarations define the API contract. Any mismatch with the app is a bug in one of them.
License
This repo is licensed under the MIT license
