feat: plugins v1
This commit is contained in:
@@ -109,6 +109,28 @@ export interface SavedThemeFileDescriptor {
|
||||
path: string;
|
||||
}
|
||||
|
||||
export interface LocalPluginManifestDescriptor {
|
||||
discoveredAt: number;
|
||||
entrypointPath?: string;
|
||||
pluginRootUrl: string;
|
||||
manifest: unknown;
|
||||
manifestPath: string;
|
||||
pluginRoot: string;
|
||||
readmePath?: string;
|
||||
}
|
||||
|
||||
export interface LocalPluginDiscoveryError {
|
||||
manifestPath?: string;
|
||||
message: string;
|
||||
pluginRoot?: string;
|
||||
}
|
||||
|
||||
export interface LocalPluginDiscoveryResult {
|
||||
errors: LocalPluginDiscoveryError[];
|
||||
plugins: LocalPluginManifestDescriptor[];
|
||||
pluginsPath: string;
|
||||
}
|
||||
|
||||
export interface ExportUserDataResult {
|
||||
cancelled: boolean;
|
||||
exported: boolean;
|
||||
@@ -181,6 +203,8 @@ export interface ElectronAPI {
|
||||
importUserData: () => Promise<ImportUserDataResult>;
|
||||
eraseUserData: () => Promise<EraseUserDataResult>;
|
||||
getSavedThemesPath: () => Promise<string>;
|
||||
getLocalPluginsPath: () => Promise<string>;
|
||||
listLocalPluginManifests: () => Promise<LocalPluginDiscoveryResult>;
|
||||
listSavedThemes: () => Promise<SavedThemeFileDescriptor[]>;
|
||||
readSavedTheme: (fileName: string) => Promise<string>;
|
||||
writeSavedTheme: (fileName: string, text: string) => Promise<boolean>;
|
||||
@@ -294,6 +318,8 @@ const electronAPI: ElectronAPI = {
|
||||
importUserData: () => ipcRenderer.invoke('import-user-data'),
|
||||
eraseUserData: () => ipcRenderer.invoke('erase-user-data'),
|
||||
getSavedThemesPath: () => ipcRenderer.invoke('get-saved-themes-path'),
|
||||
getLocalPluginsPath: () => ipcRenderer.invoke('get-local-plugins-path'),
|
||||
listLocalPluginManifests: () => ipcRenderer.invoke('list-local-plugin-manifests'),
|
||||
listSavedThemes: () => ipcRenderer.invoke('list-saved-themes'),
|
||||
readSavedTheme: (fileName) => ipcRenderer.invoke('read-saved-theme', fileName),
|
||||
writeSavedTheme: (fileName, text) => ipcRenderer.invoke('write-saved-theme', fileName, text),
|
||||
|
||||
Reference in New Issue
Block a user