@iamevan/electron-chrome-web-store
Version:
Install and update Chrome extensions from the Chrome Web Store for Electron
34 lines (33 loc) • 1.38 kB
TypeScript
export type ExtensionId = Electron.Extension['id'];
export interface ExtensionInstallDetails {
id: string;
localizedName: string;
manifest: chrome.runtime.Manifest;
icon: Electron.NativeImage;
browserWindow?: Electron.BrowserWindow;
frame: Electron.WebFrameMain;
}
export type BeforeInstall = (details: ExtensionInstallDetails) => Promise<{
action: 'allow' | 'deny';
}>;
export type AfterInstall = (details: ExtensionInstallDetails) => Promise<void>;
export type AfterUninstall = (details: {
id: ExtensionId;
extension?: Electron.Extension;
manifest?: chrome.runtime.Manifest;
}) => Promise<void>;
export type CustomSetExtensionEnabled = (state: WebStoreState, extensionId: ExtensionId, enabled: boolean) => Promise<void>;
export type OverrideExtensionInstallStatus = (state: WebStoreState, extensionId: ExtensionId, manifest?: chrome.runtime.Manifest) => string | undefined;
export interface WebStoreState {
session: Electron.Session;
extensionsPath: string;
installing: Set<ExtensionId>;
allowlist?: Set<ExtensionId>;
denylist?: Set<ExtensionId>;
minimumManifestVersion: number;
beforeInstall?: BeforeInstall;
afterInstall?: AfterInstall;
afterUninstall?: AfterUninstall;
customSetExtensionEnabled?: CustomSetExtensionEnabled;
overrideExtensionInstallStatus?: OverrideExtensionInstallStatus;
}