Skip to content

Commit 20c0fd9

Browse files
authored
Fix building docs and verify:docs workflow (lensapp#7013)
* Fix building docs and verify:docs workflow Signed-off-by: Sebastian Malton <[email protected]> * Fix commands Signed-off-by: Sebastian Malton <[email protected]> Signed-off-by: Sebastian Malton <[email protected]>
1 parent 2afc62c commit 20c0fd9

File tree

20 files changed

+87
-79
lines changed

20 files changed

+87
-79
lines changed

.github/workflows/check-docs.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: Check Documentation
22
on:
33
pull_request:
4-
types: [opened, labeled, unlabeled, synchronize]
4+
branches:
5+
- "**"
56
jobs:
67
build:
78
name: Check Docs

nx.json

+5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
"^build"
1818
]
1919
},
20+
"build:docs": {
21+
"dependsOn": [
22+
"^build"
23+
]
24+
},
2025
"dev": {
2126
"dependsOn": [
2227
"prepare:dev"

packages/core/src/common/base-store/base-store.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,16 @@ export abstract class BaseStore<T extends object> {
5151

5252
readonly displayName = kebabCase(this.params.configName).toUpperCase();
5353

54+
/**
55+
* @ignore
56+
*/
57+
protected readonly dependencies: BaseStoreDependencies;
58+
5459
protected constructor(
55-
protected readonly dependencies: BaseStoreDependencies,
60+
dependencies: BaseStoreDependencies,
5661
protected readonly params: BaseStoreParams<T>,
5762
) {
63+
this.dependencies = dependencies;
5864
makeObservable(this);
5965
}
6066

packages/core/src/common/catalog-entities/general.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import type { CatalogEntityMetadata, CatalogEntitySpec, CatalogEntityStatus } fr
77
import type { CatalogEntityActionContext } from "../catalog/catalog-entity";
88
import { CatalogCategory, CatalogEntity, categoryVersion } from "../catalog/catalog-entity";
99

10-
interface GeneralEntitySpec extends CatalogEntitySpec {
10+
export interface GeneralEntitySpec extends CatalogEntitySpec {
1111
path: string;
1212
icon?: {
1313
material?: string;

packages/core/src/common/catalog/catalog-entity.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import { observable, makeObservable } from "mobx";
99
import { once } from "lodash";
1010
import type { Disposer } from "../utils";
1111
import { iter } from "../utils";
12-
import type { CategoryColumnRegistration } from "../../renderer/components/+catalog/custom-category-columns";
12+
import type { CategoryColumnRegistration, TitleCellProps } from "../../renderer/components/+catalog/custom-category-columns";
13+
14+
export type { CategoryColumnRegistration, TitleCellProps };
1315

1416
export type CatalogEntityDataFor<Entity> = Entity extends CatalogEntity<infer Metadata, infer Status, infer Spec>
1517
? CatalogEntityData<Metadata, Status, Spec>

packages/core/src/common/event-emitter.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@
55

66
// Custom event emitter
77

8-
interface Options {
8+
export interface EventEmitterOptions {
99
once?: boolean; // call once and remove
1010
prepend?: boolean; // put listener to the beginning
1111
}
1212

13-
type Callback<D extends [...any[]]> = (...data: D) => void | boolean;
13+
export type EventEmitterCallback<D extends any[]> = (...data: D) => void | boolean;
1414

15-
export class EventEmitter<D extends [...any[]]> {
16-
protected listeners: [Callback<D>, Options][] = [];
15+
export class EventEmitter<D extends any[]> {
16+
protected listeners: [EventEmitterCallback<D>, EventEmitterOptions][] = [];
1717

18-
addListener(callback: Callback<D>, options: Options = {}) {
18+
addListener(callback: EventEmitterCallback<D>, options: EventEmitterOptions = {}) {
1919
const fn = options.prepend ? "unshift" : "push";
2020

2121
this.listeners[fn]([callback, options]);
2222
}
2323

24-
removeListener(callback: Callback<D>) {
24+
removeListener(callback: EventEmitterCallback<D>) {
2525
this.listeners = this.listeners.filter(([cb]) => cb !== callback);
2626
}
2727

packages/core/src/extensions/common-api/app.ts

+8-17
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,17 @@ import isWindowsInjectable from "../../common/vars/is-windows.injectable";
1111
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
1212
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
1313
import getEnabledExtensionsInjectable from "./get-enabled-extensions/get-enabled-extensions.injectable";
14-
import type { UserPreferenceExtensionItems } from "./user-preferences";
15-
import { Preferences } from "./user-preferences";
1614
import { slackUrl, issuesTrackerUrl } from "../../common/vars";
1715
import { buildVersionInjectionToken } from "../../common/vars/build-semantic-version.injectable";
16+
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
17+
import userStoreInjectable from "../../common/user-store/user-store.injectable";
1818

19-
export interface AppExtensionItems {
20-
readonly Preferences: UserPreferenceExtensionItems;
21-
readonly version: string;
22-
readonly appName: string;
23-
readonly slackUrl: string;
24-
readonly issuesTrackerUrl: string;
25-
readonly isSnap: boolean;
26-
readonly isWindows: boolean;
27-
readonly isMac: boolean;
28-
readonly isLinux: boolean;
29-
getEnabledExtensions: () => string[];
30-
}
19+
const userStore = asLegacyGlobalForExtensionApi(userStoreInjectable);
3120

32-
export const App: AppExtensionItems = {
33-
Preferences,
21+
export const App = {
22+
Preferences: {
23+
getKubectlPath: () => userStore.kubectlBinariesPath,
24+
},
3425
getEnabledExtensions: asLegacyGlobalFunctionForExtensionApi(getEnabledExtensionsInjectable),
3526
get version() {
3627
const di = getLegacyGlobalDiForExtensionApi();
@@ -64,4 +55,4 @@ export const App: AppExtensionItems = {
6455
},
6556
slackUrl,
6657
issuesTrackerUrl,
67-
};
58+
} as const;

packages/core/src/extensions/common-api/catalog.ts

+6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Licensed under MIT License. See LICENSE in root directory for more information.
44
*/
55

6+
import type { KubernetesClusterCategory } from "../../common/catalog-entities/kubernetes-cluster";
67
import kubernetesClusterCategoryInjectable from "../../common/catalog/categories/kubernetes-cluster.injectable";
78
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
89

@@ -12,6 +13,10 @@ export {
1213
WebLink,
1314
} from "../../common/catalog-entities";
1415

16+
export type {
17+
KubernetesClusterCategory,
18+
};
19+
1520
export const kubernetesClusterCategory = asLegacyGlobalForExtensionApi(kubernetesClusterCategoryInjectable);
1621

1722
export type {
@@ -23,6 +28,7 @@ export type {
2328
WebLinkStatusPhase,
2429
KubernetesClusterStatusPhase,
2530
KubernetesClusterStatus,
31+
GeneralEntitySpec,
2632
} from "../../common/catalog-entities";
2733

2834
export * from "../../common/catalog/catalog-entity";

packages/core/src/extensions/common-api/event-bus.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@
55

66
import appEventBusInjectable from "../../common/app-event-bus/app-event-bus.injectable";
77
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
8+
import type { AppEvent } from "../../common/app-event-bus/event-bus";
9+
import type { EventEmitter, EventEmitterCallback, EventEmitterOptions } from "../../common/event-emitter";
810

9-
export type { AppEvent } from "../../common/app-event-bus/event-bus";
11+
export type {
12+
AppEvent,
13+
EventEmitter,
14+
EventEmitterCallback,
15+
EventEmitterOptions,
16+
};
1017

1118
export const appEventBus = asLegacyGlobalForExtensionApi(appEventBusInjectable);

packages/core/src/extensions/common-api/index.ts

+5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import * as Types from "./types";
1313
import * as Proxy from "./proxy";
1414
import loggerInjectable from "../../common/logger.injectable";
1515
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
16+
import type { Logger } from "../../common/logger";
17+
import type { LensExtension, LensExtensionManifest } from "../lens-extension";
1618

1719
const logger = asLegacyGlobalForExtensionApi(loggerInjectable);
1820

@@ -25,4 +27,7 @@ export {
2527
Util,
2628
logger,
2729
Proxy,
30+
Logger,
31+
LensExtension,
32+
LensExtensionManifest,
2833
};

packages/core/src/extensions/common-api/stores.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,10 @@
33
* Licensed under MIT License. See LICENSE in root directory for more information.
44
*/
55

6-
export { ExtensionStore } from "../extension-store";
6+
import type { BaseStoreParams } from "../../common/base-store/base-store";
7+
import { ExtensionStore } from "../extension-store";
8+
9+
export {
10+
BaseStoreParams,
11+
ExtensionStore,
12+
};

packages/core/src/extensions/common-api/user-preferences.ts

-19
This file was deleted.

packages/core/src/extensions/common-api/utils.ts

+2-13
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,9 @@ import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-
99
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
1010
import { Singleton } from "../../common/utils";
1111
import { prevDefault, stopPropagation } from "../../renderer/utils/prevDefault";
12-
import type { IClassName } from "../../renderer/utils/cssNames";
1312
import { cssNames } from "../../renderer/utils/cssNames";
1413

15-
export interface UtilsExtensionItems {
16-
Singleton: typeof Singleton;
17-
prevDefault: <E extends React.SyntheticEvent | Event, R>(callback: (evt: E) => R) => (evt: E) => R;
18-
stopPropagation: (evt: Event | React.SyntheticEvent) => void;
19-
cssNames: (...classNames: IClassName[]) => string;
20-
openExternal: (url: string) => Promise<void>;
21-
openBrowser: (url: string) => Promise<void>;
22-
getAppVersion: () => string;
23-
}
24-
25-
export const Util: UtilsExtensionItems = {
14+
export const Util = {
2615
Singleton,
2716
prevDefault,
2817
stopPropagation,
@@ -34,4 +23,4 @@ export const Util: UtilsExtensionItems = {
3423

3524
return di.inject(buildVersionInjectable).get();
3625
},
37-
};
26+
} as const;

packages/core/src/extensions/lens-extension.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ export interface LensExtensionManifest extends PackageJson {
3232
export const lensExtensionDependencies = Symbol("lens-extension-dependencies");
3333
export const Disposers = Symbol("disposers");
3434

35-
export class LensExtension<Dependencies extends LensExtensionDependencies = LensExtensionDependencies> {
35+
export class LensExtension<
36+
/**
37+
* @ignore
38+
*/
39+
Dependencies extends LensExtensionDependencies = LensExtensionDependencies,
40+
> {
3641
readonly id: LensExtensionId;
3742
readonly manifest: LensExtensionManifest;
3843
readonly manifestPath: string;
@@ -50,6 +55,9 @@ export class LensExtension<Dependencies extends LensExtensionDependencies = Lens
5055
return this._isEnabled;
5156
}
5257

58+
/**
59+
* @ignore
60+
*/
5361
[Disposers] = disposer();
5462

5563
constructor({ id, manifest, manifestPath, isBundled }: InstalledExtension) {
@@ -72,6 +80,9 @@ export class LensExtension<Dependencies extends LensExtensionDependencies = Lens
7280
return this.manifest.description;
7381
}
7482

83+
/**
84+
* @ignore
85+
*/
7586
readonly [lensExtensionDependencies]!: Dependencies;
7687

7788
/**

packages/core/src/main/extension-api.ts

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ const LensExtensions = {
1919
Main: LensExtensionsMainApi,
2020
};
2121

22+
export type {
23+
LensExtensionsMainApi,
24+
};
25+
2226
const Pty = {
2327
spawn,
2428
};

packages/core/src/main/library.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import * as extensionApi from "./extension-api";
1111
import { createApp } from "./create-app";
1212

1313
// @experimental
14-
export {
14+
export {
1515
createApp,
1616
extensionApi,
1717
afterApplicationIsLoadedInjectionToken,

packages/core/src/renderer/extension-api.ts

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ const LensExtensions = {
2222
Renderer: LensExtensionsRendererApi,
2323
};
2424

25+
export type {
26+
LensExtensionsRendererApi,
27+
};
28+
2529
export {
2630
React,
2731
ReactDOM,

packages/extension-api/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"scripts": {
1919
"build": "yarn run webpack --config webpack/extensions.ts",
20-
"build-docs": "yarn run typedoc",
20+
"build:docs": "yarn run typedoc",
2121
"clean": "rm -rf dist/",
2222
"prepare:dev": "yarn run build"
2323
},

packages/extension-api/src/extension-api.ts

+4-12
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,8 @@
33
* Licensed under MIT License. See LICENSE in root directory for more information.
44
*/
55

6-
import { extensionApi as main } from "@k8slens/core/main";
7-
import { extensionApi as renderer } from "@k8slens/core/renderer";
8-
import { extensionApi as common } from "@k8slens/core/common";
6+
import { extensionApi as Main } from "@k8slens/core/main";
7+
import { extensionApi as Renderer } from "@k8slens/core/renderer";
8+
import { extensionApi as Common } from "@k8slens/core/common";
99

10-
const Main = { ... main } as typeof main;
11-
const Renderer = { ...renderer } as typeof renderer;
12-
const Common = { ... common } as typeof common;
13-
14-
export {
15-
Main,
16-
Renderer,
17-
Common,
18-
};
10+
export { Main, Renderer, Common };

packages/extension-api/typedoc.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
"out": "../../docs/extensions/api",
55
"excludePrivate": true,
66
"entryPointStrategy": "expand",
7+
"excludeExternals": true,
78
"entryPoints": [
89
"src/extension-api.ts",
9-
"../core/src/common/library.ts",
10-
"../core/src/main/library.ts",
11-
"../core/src/renderer/library.ts"
1210
],
1311
"hideBreadcrumbs": true,
1412
"disableSources": true,

0 commit comments

Comments
 (0)