refactor: added type generation from schema for sdk with comments

This commit is contained in:
Simeon Radivoev 2026-05-05 02:32:07 +03:00
parent 2683d46b16
commit 04e332d91e
Signed by: simeonradivoev
GPG key ID: 7611A451D2A5D37A
7 changed files with 65 additions and 20 deletions

14
scripts/sdk/README.md Normal file
View file

@ -0,0 +1,14 @@
# Gameflow Deck SDK
This is the type definitions for Gameflow Deck plugins.
## Developing a plugin
The plugin must have a default export class of type `PluginType`. It exposes the context and all the hooks to be tapped.
Gameflow uses the [Tapable Hooks](https://github.com/webpack/tapable).
The package must expose a main script gameflow will import and validate. It must implement the type fields on `PluginDescriptionType`.
## Publishing
For the plugin to show up in the UI for download. It must be published to NPM with the `gameflow-plugin` keyword. Gameflow uses bun to install plugins as packages from npmjs.

View file

@ -1,4 +1,9 @@
{
"name": "gameflow-sdk",
"types": "index.d.ts"
"types": "index.d.ts",
"description": "plugin SDK for the Gameflow Deck Launcher",
"keywords": [
"gameflow",
"sdk"
]
}

View file

@ -14,7 +14,7 @@
"emitDeclarationOnly": true,
"declaration": true,
"strict": true,
"outDir": "../../dist-sdk/sdk",
"outDir": "../../dist-sdk",
"types": [
"node"
],
@ -38,10 +38,5 @@
"../../src/mainview/scripts/queries/*"
]
}
},
"include": [
"../../src/bun/api/hooks",
"../../src/bun/types",
"../../src/shared"
]
}
}