mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Introduce typing for extension API to prevent breakage
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
dbd8e3bebc
commit
80dc137110
@ -11,11 +11,25 @@ import isWindowsInjectable from "../../common/vars/is-windows.injectable";
|
|||||||
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
|
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
|
||||||
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||||
import getEnabledExtensionsInjectable from "./get-enabled-extensions/get-enabled-extensions.injectable";
|
import getEnabledExtensionsInjectable from "./get-enabled-extensions/get-enabled-extensions.injectable";
|
||||||
import * as Preferences from "./user-preferences";
|
import type { UserPreferenceExtensionItems } from "./user-preferences";
|
||||||
|
import { Preferences } from "./user-preferences";
|
||||||
import { slackUrl, issuesTrackerUrl } from "../../common/vars";
|
import { slackUrl, issuesTrackerUrl } from "../../common/vars";
|
||||||
import { buildVersionInjectionToken } from "../../common/vars/build-semantic-version.injectable";
|
import { buildVersionInjectionToken } from "../../common/vars/build-semantic-version.injectable";
|
||||||
|
|
||||||
const App = {
|
export interface AppExtensionItems {
|
||||||
|
readonly Preferences: UserPreferenceExtensionItems;
|
||||||
|
readonly version: string;
|
||||||
|
readonly appName: string;
|
||||||
|
readonly slackUrl: string;
|
||||||
|
readonly issuesTrackerUrl: string;
|
||||||
|
readonly isSnap: boolean;
|
||||||
|
readonly isWindows: boolean;
|
||||||
|
readonly isMac: boolean;
|
||||||
|
readonly isLinux: boolean;
|
||||||
|
getEnabledExtensions: () => string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export const App: AppExtensionItems = {
|
||||||
Preferences,
|
Preferences,
|
||||||
getEnabledExtensions: asLegacyGlobalFunctionForExtensionApi(getEnabledExtensionsInjectable),
|
getEnabledExtensions: asLegacyGlobalFunctionForExtensionApi(getEnabledExtensionsInjectable),
|
||||||
get version() {
|
get version() {
|
||||||
@ -51,5 +65,3 @@ const App = {
|
|||||||
slackUrl,
|
slackUrl,
|
||||||
issuesTrackerUrl,
|
issuesTrackerUrl,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// APIs
|
// APIs
|
||||||
import App from "./app";
|
import { App } from "./app";
|
||||||
import * as EventBus from "./event-bus";
|
import * as EventBus from "./event-bus";
|
||||||
import * as Store from "./stores";
|
import * as Store from "./stores";
|
||||||
import * as Util from "./utils";
|
import * as Util from "./utils";
|
||||||
|
|||||||
@ -4,10 +4,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { UserStore } from "../../common/user-store";
|
import { UserStore } from "../../common/user-store";
|
||||||
|
export interface UserPreferenceExtensionItems {
|
||||||
/**
|
/**
|
||||||
* Get the configured kubectl binaries path.
|
* Get the configured kubectl binaries path.
|
||||||
*/
|
*/
|
||||||
export function getKubectlPath(): string | undefined {
|
getKubectlPath: () => string | undefined;
|
||||||
return UserStore.getInstance().kubectlBinariesPath;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const Preferences: UserPreferenceExtensionItems = {
|
||||||
|
getKubectlPath: () => UserStore.getInstance().kubectlBinariesPath,
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user