1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Jim Ehrismann
18e4e9e5dc Release 6.5.2
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2023-05-30 11:37:55 -04:00
Jim Ehrismann
6c79d486b1 Temporary fix for extensions always disabled on startup (#7801)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2023-05-30 11:37:55 -04:00
Sebastian Malton
eaa235bbbf Release 6.5.1
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-05-29 08:57:47 -04:00
Alex Andreev
cde5cfef4b Linter fix
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
(cherry picked from commit a22229ba60)
2023-05-29 12:14:55 +03:00
Alex Andreev
31df1a3801 Reverting table injection tokens (7754)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
(cherry picked from commit 26b8ed66da)
2023-05-29 12:14:55 +03:00
24 changed files with 34 additions and 173 deletions

View File

@ -4,7 +4,7 @@
"productName": "OpenLens", "productName": "OpenLens",
"description": "OpenLens - Open Source IDE for Kubernetes", "description": "OpenLens - Open Source IDE for Kubernetes",
"homepage": "https://github.com/lensapp/lens", "homepage": "https://github.com/lensapp/lens",
"version": "6.5.0", "version": "6.5.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/lensapp/lens.git" "url": "git+https://github.com/lensapp/lens.git"
@ -184,7 +184,7 @@
"@k8slens/application-for-electron-main": "^6.5.0", "@k8slens/application-for-electron-main": "^6.5.0",
"@k8slens/button": "^1.0.0", "@k8slens/button": "^1.0.0",
"@k8slens/cluster-settings": "^6.5.0", "@k8slens/cluster-settings": "^6.5.0",
"@k8slens/core": "^6.5.0", "@k8slens/core": "^6.5.2",
"@k8slens/ensure-binaries": "^6.5.0", "@k8slens/ensure-binaries": "^6.5.0",
"@k8slens/error-boundary": "^1.0.0", "@k8slens/error-boundary": "^1.0.0",
"@k8slens/event-emitter": "^1.0.0", "@k8slens/event-emitter": "^1.0.0",
@ -192,7 +192,7 @@
"@k8slens/keyboard-shortcuts": "^1.0.0", "@k8slens/keyboard-shortcuts": "^1.0.0",
"@k8slens/kube-object": "^1.0.0", "@k8slens/kube-object": "^1.0.0",
"@k8slens/kubectl-versions": "^1.0.0", "@k8slens/kubectl-versions": "^1.0.0",
"@k8slens/legacy-extension-example": "^1.0.0", "@k8slens/legacy-extension-example": "^1.0.2",
"@k8slens/legacy-extensions": "^1.0.0", "@k8slens/legacy-extensions": "^1.0.0",
"@k8slens/legacy-global-di": "^1.0.0", "@k8slens/legacy-global-di": "^1.0.0",
"@k8slens/list-layout": "^1.0.0", "@k8slens/list-layout": "^1.0.0",

View File

@ -10,7 +10,6 @@ import {
commonExtensionApi as Common, commonExtensionApi as Common,
registerLensCore, registerLensCore,
metricsFeature, metricsFeature,
tableFeature,
} from "@k8slens/core/renderer"; } from "@k8slens/core/renderer";
import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration"; import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
import { registerFeature } from "@k8slens/feature-core"; import { registerFeature } from "@k8slens/feature-core";
@ -51,7 +50,6 @@ runInAction(() => {
reactApplicationFeature, reactApplicationFeature,
routingFeature, routingFeature,
metricsFeature, metricsFeature,
tableFeature,
); );
autoRegister({ autoRegister({

24
package-lock.json generated
View File

@ -3833,10 +3833,6 @@
"resolved": "packages/utility-features/startable-stoppable", "resolved": "packages/utility-features/startable-stoppable",
"link": true "link": true
}, },
"node_modules/@k8slens/table-tokens": {
"resolved": "packages/table",
"link": true
},
"node_modules/@k8slens/test-utils": { "node_modules/@k8slens/test-utils": {
"resolved": "packages/utility-features/test-utils", "resolved": "packages/utility-features/test-utils",
"link": true "link": true
@ -33978,7 +33974,7 @@
} }
}, },
"open-lens": { "open-lens": {
"version": "6.5.0", "version": "6.5.2",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -33989,7 +33985,7 @@
"@k8slens/application-for-electron-main": "^6.5.0", "@k8slens/application-for-electron-main": "^6.5.0",
"@k8slens/button": "^1.0.0", "@k8slens/button": "^1.0.0",
"@k8slens/cluster-settings": "^6.5.0", "@k8slens/cluster-settings": "^6.5.0",
"@k8slens/core": "^6.5.0", "@k8slens/core": "^6.5.2",
"@k8slens/ensure-binaries": "^6.5.0", "@k8slens/ensure-binaries": "^6.5.0",
"@k8slens/error-boundary": "^1.0.0", "@k8slens/error-boundary": "^1.0.0",
"@k8slens/event-emitter": "^1.0.0", "@k8slens/event-emitter": "^1.0.0",
@ -33997,7 +33993,7 @@
"@k8slens/keyboard-shortcuts": "^1.0.0", "@k8slens/keyboard-shortcuts": "^1.0.0",
"@k8slens/kube-object": "^1.0.0", "@k8slens/kube-object": "^1.0.0",
"@k8slens/kubectl-versions": "^1.0.0", "@k8slens/kubectl-versions": "^1.0.0",
"@k8slens/legacy-extension-example": "^1.0.0", "@k8slens/legacy-extension-example": "^1.0.2",
"@k8slens/legacy-extensions": "^1.0.0", "@k8slens/legacy-extensions": "^1.0.0",
"@k8slens/legacy-global-di": "^1.0.0", "@k8slens/legacy-global-di": "^1.0.0",
"@k8slens/list-layout": "^1.0.0", "@k8slens/list-layout": "^1.0.0",
@ -34195,7 +34191,7 @@
}, },
"packages/core": { "packages/core": {
"name": "@k8slens/core", "name": "@k8slens/core",
"version": "6.5.0", "version": "6.5.2",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@async-fn/jest": "1.6.4", "@async-fn/jest": "1.6.4",
@ -34328,7 +34324,6 @@
"@k8slens/routing": "^1.0.0-alpha.5", "@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1", "@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1", "@k8slens/startable-stoppable": "^1.0.0-alpha.1",
"@k8slens/table-tokens": "^6.5.0-alpha.7",
"@k8slens/tooltip": "^1.0.0-alpha.5", "@k8slens/tooltip": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1", "@k8slens/utilities": "^1.0.0-alpha.1",
"@kubernetes/client-node": "^0.18.1", "@kubernetes/client-node": "^0.18.1",
@ -34455,10 +34450,10 @@
}, },
"packages/extension-api": { "packages/extension-api": {
"name": "@k8slens/extensions", "name": "@k8slens/extensions",
"version": "6.5.0", "version": "6.5.2",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@k8slens/core": "6.5.0" "@k8slens/core": "6.5.2"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^16.18.25", "@types/node": "^16.18.25",
@ -34972,10 +34967,10 @@
}, },
"packages/legacy-extension-example": { "packages/legacy-extension-example": {
"name": "@k8slens/legacy-extension-example", "name": "@k8slens/legacy-extension-example",
"version": "1.0.0", "version": "1.0.2",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "^6.5.0", "@k8slens/extensions": "^6.5.2",
"@types/node": "^16.18.25", "@types/node": "^16.18.25",
"typescript": "^4.9.5", "typescript": "^4.9.5",
"webpack": "^5.81.0", "webpack": "^5.81.0",
@ -35228,7 +35223,7 @@
}, },
"packages/release-tool": { "packages/release-tool": {
"name": "@k8slens/release-tool", "name": "@k8slens/release-tool",
"version": "6.5.0", "version": "6.5.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"chalk": "^5.2.0", "chalk": "^5.2.0",
@ -35312,6 +35307,7 @@
"packages/table": { "packages/table": {
"name": "@k8slens/table-tokens", "name": "@k8slens/table-tokens",
"version": "6.5.0", "version": "6.5.0",
"extraneous": true,
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@k8slens/webpack": "^6.5.0", "@k8slens/webpack": "^6.5.0",

View File

@ -3,7 +3,7 @@
"productName": "", "productName": "",
"description": "Lens Desktop Core", "description": "Lens Desktop Core",
"homepage": "https://github.com/lensapp/lens", "homepage": "https://github.com/lensapp/lens",
"version": "6.5.0", "version": "6.5.2",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/lensapp/lens.git" "url": "git+https://github.com/lensapp/lens.git"
@ -230,7 +230,6 @@
"@k8slens/routing": "^1.0.0-alpha.5", "@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1", "@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1", "@k8slens/startable-stoppable": "^1.0.0-alpha.1",
"@k8slens/table-tokens": "^6.5.0-alpha.7",
"@k8slens/tooltip": "^1.0.0-alpha.5", "@k8slens/tooltip": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1", "@k8slens/utilities": "^1.0.0-alpha.1",
"@kubernetes/client-node": "^0.18.1", "@kubernetes/client-node": "^0.18.1",

View File

@ -7,7 +7,6 @@ import { getInjectable } from "@ogre-tools/injectable";
import { action, toJS } from "mobx"; import { action, toJS } from "mobx";
import createPersistentStorageInjectable from "../../../../common/persistent-storage/create.injectable"; import createPersistentStorageInjectable from "../../../../common/persistent-storage/create.injectable";
import persistentStorageMigrationsInjectable from "../../../../common/persistent-storage/migrations.injectable"; import persistentStorageMigrationsInjectable from "../../../../common/persistent-storage/migrations.injectable";
import storageMigrationVersionInjectable from "../../../../common/persistent-storage/storage-migration-version.injectable";
import { enabledExtensionsMigrationDeclarationInjectionToken } from "./migrations"; import { enabledExtensionsMigrationDeclarationInjectionToken } from "./migrations";
import type { LensExtensionState } from "./state.injectable"; import type { LensExtensionState } from "./state.injectable";
import enabledExtensionsStateInjectable from "./state.injectable"; import enabledExtensionsStateInjectable from "./state.injectable";
@ -30,7 +29,7 @@ const enabledExtensionsPersistentStorageInjectable = getInjectable({
toJSON: () => ({ toJSON: () => ({
extensions: [...toJS(state)], extensions: [...toJS(state)],
}), }),
projectVersion: di.inject(storageMigrationVersionInjectable, enabledExtensionsMigrationDeclarationInjectionToken), projectVersion: "6.5.0", // temporary fix for #7784, otherwise calculated wrong on the renderer process
migrations: di.inject(persistentStorageMigrationsInjectable, enabledExtensionsMigrationDeclarationInjectionToken), migrations: di.inject(persistentStorageMigrationsInjectable, enabledExtensionsMigrationDeclarationInjectionToken),
}); });
}, },

View File

@ -1,15 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { tableComponentInjectionToken } from "@k8slens/table-tokens";
import { getInjectable } from "@ogre-tools/injectable";
import { Table } from "../../renderer/components/table/table";
const tableComponentInjectable = getInjectable({
id: "table-component",
instantiate: () => ({ Component: Table }),
injectionToken: tableComponentInjectionToken,
});
export default tableComponentInjectable;

View File

@ -1,14 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getFeature } from "@k8slens/feature-core";
import tableComponentInjectable from "./table-component.injectable";
export const tableFeature = getFeature({
id: "core-table-feature",
register: (di) => {
di.register(tableComponentInjectable);
},
});

View File

@ -18,9 +18,6 @@ import { Cluster } from "../../../../common/cluster/cluster";
import hostedClusterInjectable from "../../../cluster-frame-context/hosted-cluster.injectable"; import hostedClusterInjectable from "../../../cluster-frame-context/hosted-cluster.injectable";
import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable"; import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable";
import type { DiContainer } from "@ogre-tools/injectable"; import type { DiContainer } from "@ogre-tools/injectable";
import { registerFeature } from "@k8slens/feature-core";
import { runInAction } from "mobx";
import { tableFeature } from "../../../library";
describe("<PodDisruptionBudgets />", () => { describe("<PodDisruptionBudgets />", () => {
let di: DiContainer; let di: DiContainer;
@ -72,10 +69,6 @@ describe("<PodDisruptionBudgets />", () => {
}), }),
} as any, } as any,
})); }));
runInAction(() => {
registerFeature(di, tableFeature);
});
}); });
describe("PDB with minAvailable 0", () => { describe("PDB with minAvailable 0", () => {

View File

@ -11,14 +11,14 @@ import { computed, makeObservable } from "mobx";
import { Observer, observer } from "mobx-react"; import { Observer, observer } from "mobx-react";
import type { ConfirmDialogParams } from "../confirm-dialog"; import type { ConfirmDialogParams } from "../confirm-dialog";
import type { TableProps, TableRowProps, TableSortCallbacks } from "../table"; import type { TableProps, TableRowProps, TableSortCallbacks } from "../table";
import { TableCell, TableHead, TableRow } from "../table"; import { Table, TableCell, TableHead, TableRow } from "../table";
import type { IClassName, StrictReactNode } from "@k8slens/utilities"; import type { IClassName, StrictReactNode } from "@k8slens/utilities";
import { cssNames, isDefined, isReactNode, noop, prevDefault, stopPropagation } from "@k8slens/utilities"; import { cssNames, isDefined, isReactNode, noop, prevDefault, stopPropagation } from "@k8slens/utilities";
import type { AddRemoveButtonsProps } from "../add-remove-buttons"; import type { AddRemoveButtonsProps } from "../add-remove-buttons";
import { AddRemoveButtons } from "../add-remove-buttons"; import { AddRemoveButtons } from "../add-remove-buttons";
import { NoItems } from "../no-items"; import { NoItems } from "../no-items";
import { Spinner } from "../spinner"; import { Spinner } from "../spinner";
import type { GeneralKubeObjectListLayoutColumn, ItemObject, TableCellProps } from "@k8slens/list-layout"; import type { ItemObject, TableCellProps } from "@k8slens/list-layout";
import type { Filter, PageFiltersStore } from "./page-filters/store"; import type { Filter, PageFiltersStore } from "./page-filters/store";
import type { LensTheme } from "../../themes/lens-theme"; import type { LensTheme } from "../../themes/lens-theme";
import { MenuActions } from "../menu/menu-actions"; import { MenuActions } from "../menu/menu-actions";
@ -35,8 +35,6 @@ import type { ToggleTableColumnVisibility } from "../../../features/user-prefere
import toggleTableColumnVisibilityInjectable from "../../../features/user-preferences/common/toggle-table-column-visibility.injectable"; import toggleTableColumnVisibilityInjectable from "../../../features/user-preferences/common/toggle-table-column-visibility.injectable";
import type { IsTableColumnHidden } from "../../../features/user-preferences/common/is-table-column-hidden.injectable"; import type { IsTableColumnHidden } from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable"; import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
import type { TableComponent } from "@k8slens/table-tokens";
import { tableComponentInjectionToken } from "@k8slens/table-tokens";
export interface ItemListLayoutContentProps<Item extends ItemObject, PreLoadStores extends boolean> { export interface ItemListLayoutContentProps<Item extends ItemObject, PreLoadStores extends boolean> {
getFilters: () => Filter[]; getFilters: () => Filter[];
@ -56,7 +54,6 @@ export interface ItemListLayoutContentProps<Item extends ItemObject, PreLoadStor
customizeTableRowProps?: (item: Item) => Partial<TableRowProps<Item>>; customizeTableRowProps?: (item: Item) => Partial<TableRowProps<Item>>;
addRemoveButtons?: Partial<AddRemoveButtonsProps>; addRemoveButtons?: Partial<AddRemoveButtonsProps>;
virtual?: boolean; virtual?: boolean;
columns?: GeneralKubeObjectListLayoutColumn[];
// item details view // item details view
hasDetailsView?: boolean; hasDetailsView?: boolean;
@ -82,7 +79,6 @@ interface Dependencies {
openConfirmDialog: OpenConfirmDialog; openConfirmDialog: OpenConfirmDialog;
toggleTableColumnVisibility: ToggleTableColumnVisibility; toggleTableColumnVisibility: ToggleTableColumnVisibility;
isTableColumnHidden: IsTableColumnHidden; isTableColumnHidden: IsTableColumnHidden;
table: TableComponent;
} }
@observer @observer
@ -303,7 +299,6 @@ class NonInjectedItemListLayoutContent<
const { const {
store, hasDetailsView, addRemoveButtons = {}, virtual, sortingCallbacks, store, hasDetailsView, addRemoveButtons = {}, virtual, sortingCallbacks,
detailsItem, className, tableProps = {}, tableId, getItems, activeTheme, detailsItem, className, tableProps = {}, tableId, getItems, activeTheme,
table,
} = this.props; } = this.props;
const selectedItemId = detailsItem && detailsItem.getId(); const selectedItemId = detailsItem && detailsItem.getId();
const classNames = cssNames(className, "box", "grow", activeTheme.get().type); const classNames = cssNames(className, "box", "grow", activeTheme.get().type);
@ -312,9 +307,8 @@ class NonInjectedItemListLayoutContent<
return ( return (
<div className="items box grow flex column"> <div className="items box grow flex column">
<table.Component <Table
tableId={tableId} tableId={tableId}
columns={this.props.columns}
virtual={virtual} virtual={virtual}
selectable={hasDetailsView} selectable={hasDetailsView}
sortable={sortingCallbacks} sortable={sortingCallbacks}
@ -328,7 +322,7 @@ class NonInjectedItemListLayoutContent<
> >
{this.renderTableHeader()} {this.renderTableHeader()}
{this.renderItems()} {this.renderItems()}
</table.Component> </Table>
<Observer> <Observer>
{() => ( {() => (
@ -391,6 +385,5 @@ export const ItemListLayoutContent = withInjectables<Dependencies, ItemListLayou
openConfirmDialog: di.inject(openConfirmDialogInjectable), openConfirmDialog: di.inject(openConfirmDialogInjectable),
toggleTableColumnVisibility: di.inject(toggleTableColumnVisibilityInjectable), toggleTableColumnVisibility: di.inject(toggleTableColumnVisibilityInjectable),
isTableColumnHidden: di.inject(isTableColumnHiddenInjectable), isTableColumnHidden: di.inject(isTableColumnHiddenInjectable),
table: di.inject(tableComponentInjectionToken),
}), }),
}) as <Item extends ItemObject, PreLoadStores extends boolean>(props: ItemListLayoutContentProps<Item, PreLoadStores>) => React.ReactElement; }) as <Item extends ItemObject, PreLoadStores extends boolean>(props: ItemListLayoutContentProps<Item, PreLoadStores>) => React.ReactElement;

View File

@ -13,9 +13,7 @@ import type { TableProps, TableRowProps, TableSortCallbacks } from "../table";
import type { IClassName, StrictReactNode, SingleOrMany } from "@k8slens/utilities"; import type { IClassName, StrictReactNode, SingleOrMany } from "@k8slens/utilities";
import { cssNames, noop } from "@k8slens/utilities"; import { cssNames, noop } from "@k8slens/utilities";
import type { AddRemoveButtonsProps } from "../add-remove-buttons"; import type { AddRemoveButtonsProps } from "../add-remove-buttons";
import type { ItemObject, TableCellProps, import type { ItemObject, TableCellProps } from "@k8slens/list-layout";
GeneralKubeObjectListLayoutColumn,
} from "@k8slens/list-layout";
import type { SearchInputUrlProps } from "../input"; import type { SearchInputUrlProps } from "../input";
import type { PageFiltersStore } from "./page-filters/store"; import type { PageFiltersStore } from "./page-filters/store";
import { FilterType } from "./page-filters/store"; import { FilterType } from "./page-filters/store";
@ -100,7 +98,6 @@ export type ItemListLayoutProps<Item extends ItemObject, PreLoadStores extends b
headerClassName?: IClassName; headerClassName?: IClassName;
renderHeaderTitle?: RenderHeaderTitle<Item, PreLoadStores>; renderHeaderTitle?: RenderHeaderTitle<Item, PreLoadStores>;
customizeHeader?: HeaderCustomizer | HeaderCustomizer[]; customizeHeader?: HeaderCustomizer | HeaderCustomizer[];
columns?: GeneralKubeObjectListLayoutColumn[];
// items list configuration // items list configuration
isReady?: boolean; // show loading indicator while not ready isReady?: boolean; // show loading indicator while not ready
@ -307,7 +304,6 @@ class NonInjectedItemListLayout<I extends ItemObject, PreLoadStores extends bool
/> />
<ItemListLayoutContent<I, PreLoadStores> <ItemListLayoutContent<I, PreLoadStores>
columns={this.props.columns}
getItems={() => this.items} getItems={() => this.items}
getFilters={() => this.filters} getFilters={() => this.filters}
tableId={this.props.tableId} tableId={this.props.tableId}

View File

@ -23,9 +23,6 @@ import type { PodStore } from "../workloads-pods/store";
import { Cluster } from "../../../common/cluster/cluster"; import { Cluster } from "../../../common/cluster/cluster";
import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable"; import isTableColumnHiddenInjectable from "../../../features/user-preferences/common/is-table-column-hidden.injectable";
import { podListLayoutColumnInjectionToken } from "@k8slens/list-layout"; import { podListLayoutColumnInjectionToken } from "@k8slens/list-layout";
import { registerFeature } from "@k8slens/feature-core";
import { runInAction } from "mobx";
import { tableFeature } from "../../library";
describe("kube-object-list-layout", () => { describe("kube-object-list-layout", () => {
let di: DiContainer; let di: DiContainer;
@ -57,10 +54,6 @@ describe("kube-object-list-layout", () => {
get: () => ({}), get: () => ({}),
})); }));
runInAction(() => {
registerFeature(di, tableFeature);
});
podStore = di.inject(podStoreInjectable); podStore = di.inject(podStoreInjectable);
}); });

View File

@ -42,7 +42,7 @@ export interface KubeObjectListLayoutProps<
// eslint-disable-next-line unused-imports/no-unused-vars-ts, @typescript-eslint/no-unused-vars // eslint-disable-next-line unused-imports/no-unused-vars-ts, @typescript-eslint/no-unused-vars
A extends KubeApi<K, D>, A extends KubeApi<K, D>,
D extends KubeJsonApiDataFor<K>, D extends KubeJsonApiDataFor<K>,
> extends Omit<ItemListLayoutProps<K, false>, "getItems" | "dependentStores" | "preloadStores" | "columns"> { > extends Omit<ItemListLayoutProps<K, false>, "getItems" | "dependentStores" | "preloadStores"> {
items?: K[]; items?: K[];
getItems?: () => K[]; getItems?: () => K[];
store: KubeItemListStore<K>; store: KubeItemListStore<K>;
@ -193,7 +193,6 @@ class NonInjectedKubeObjectListLayout<
getItems={() => this.props.items || store.contextItems} getItems={() => this.props.items || store.contextItems}
preloadStores={false} // loading handled in kubeWatchApi.subscribeStores() preloadStores={false} // loading handled in kubeWatchApi.subscribeStores()
detailsItem={this.selectedItem} detailsItem={this.selectedItem}
columns={targetColumns as GeneralKubeObjectListLayoutColumn[]}
customizeHeader={[ customizeHeader={[
({ filters, searchProps, info, ...headerPlaceHolders }) => ({ ({ filters, searchProps, info, ...headerPlaceHolders }) => ({
filters: ( filters: (

View File

@ -72,7 +72,6 @@ import { sendMessageToChannelInjectionToken } from "@k8slens/messaging";
import { getMessageBridgeFake } from "@k8slens/messaging-fake-bridge"; import { getMessageBridgeFake } from "@k8slens/messaging-fake-bridge";
import { historyInjectionToken } from "@k8slens/routing"; import { historyInjectionToken } from "@k8slens/routing";
import writeJsonSyncInjectable from "../../../common/fs/write-json-sync.injectable"; import writeJsonSyncInjectable from "../../../common/fs/write-json-sync.injectable";
import { tableFeature } from "../../library";
type MainDiCallback = (container: { mainDi: DiContainer }) => void | Promise<void>; type MainDiCallback = (container: { mainDi: DiContainer }) => void | Promise<void>;
type WindowDiCallback = (container: { windowDi: DiContainer }) => void | Promise<void>; type WindowDiCallback = (container: { windowDi: DiContainer }) => void | Promise<void>;
@ -257,7 +256,6 @@ export const getApplicationBuilder = () => {
registerFeature( registerFeature(
windowDi, windowDi,
applicationFeature, applicationFeature,
tableFeature,
); );
windowDi.register(rendererExtensionsStateInjectable); windowDi.register(rendererExtensionsStateInjectable);

View File

@ -22,4 +22,3 @@ export * as ReactRouterDom from "react-router-dom";
export * as rendererExtensionApi from "../extensions/renderer-api"; export * as rendererExtensionApi from "../extensions/renderer-api";
export * as commonExtensionApi from "../extensions/common-api"; export * as commonExtensionApi from "../extensions/common-api";
export { metricsFeature } from "../features/metrics/metrics-feature"; export { metricsFeature } from "../features/metrics/metrics-feature";
export { tableFeature } from "../features/table/table-feature";

View File

@ -2,7 +2,7 @@
"name": "@k8slens/extensions", "name": "@k8slens/extensions",
"productName": "OpenLens extensions", "productName": "OpenLens extensions",
"description": "OpenLens - Open Source Kubernetes IDE: extensions", "description": "OpenLens - Open Source Kubernetes IDE: extensions",
"version": "6.5.0", "version": "6.5.2",
"copyright": "© 2022 OpenLens Authors", "copyright": "© 2022 OpenLens Authors",
"license": "MIT", "license": "MIT",
"main": "dist/extension-api.js", "main": "dist/extension-api.js",
@ -25,7 +25,7 @@
"clean": "rimraf dist/" "clean": "rimraf dist/"
}, },
"dependencies": { "dependencies": {
"@k8slens/core": "6.5.0" "@k8slens/core": "6.5.2"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^16.18.25", "@types/node": "^16.18.25",

View File

@ -2,7 +2,7 @@
"name": "@k8slens/legacy-extension-example", "name": "@k8slens/legacy-extension-example",
"private": false, "private": false,
"description": "An example bundled Lens extensions using the v1 API", "description": "An example bundled Lens extensions using the v1 API",
"version": "1.0.0", "version": "1.0.2",
"type": "commonjs", "type": "commonjs",
"files": [ "files": [
"dist" "dist"
@ -36,7 +36,7 @@
"lint:fix": "lens-lint --fix" "lint:fix": "lens-lint --fix"
}, },
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "^6.5.0", "@k8slens/extensions": "^6.5.2",
"@types/node": "^16.18.25", "@types/node": "^16.18.25",
"typescript": "^4.9.5", "typescript": "^4.9.5",
"webpack": "^5.81.0", "webpack": "^5.81.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@k8slens/release-tool", "name": "@k8slens/release-tool",
"version": "6.5.0", "version": "6.5.1",
"description": "Release tool for lens monorepo", "description": "Release tool for lens monorepo",
"license": "MIT", "license": "MIT",
"private": true, "private": true,

View File

@ -156,8 +156,8 @@ function formatSemverForMilestone(version: SemVer): string {
return `${version.major}.${version.minor}.${version.patch}`; return `${version.major}.${version.minor}.${version.patch}`;
} }
function formatVersionForPickingPrs(version: SemVer): string { function formatVersionForPickingPrs(version: SemVer, isMasterBranch: boolean): string {
return `${version.major}.${version.minor}.${version.patch}`; return `${version.major}.${version.minor}.${version.patch + (isMasterBranch ? 0 : 1)}`;
} }
async function deleteAndClosePreviousReleaseBranch(prBase: string, prBranch: string) { async function deleteAndClosePreviousReleaseBranch(prBase: string, prBranch: string) {
@ -276,10 +276,10 @@ function sortExtendedGithubPrData(left: ExtendedGithubPrData, right: ExtendedGit
return -1; return -1;
} }
async function getRelevantPRs(previousReleasedVersion: string, baseBranch: string): Promise<ExtendedGithubPrData[]> { async function getRelevantPRs(previousReleasedVersion: string, baseBranch: string, isMasterBranch: boolean): Promise<ExtendedGithubPrData[]> {
console.log(`retrieving previous 200 PRs from ${baseBranch}...`); console.log(`retrieving previous 200 PRs from ${baseBranch}...`);
const milestone = formatVersionForPickingPrs(await getCurrentVersionOfSubPackage("core")); const milestone = formatVersionForPickingPrs(await getCurrentVersionOfSubPackage("core"), isMasterBranch);
const mergedPrsDataPromises = [1, 2, 3, 4, 5].map(page => octokit.request("GET /repos/{owner}/{repo}/pulls", { const mergedPrsDataPromises = [1, 2, 3, 4, 5].map(page => octokit.request("GET /repos/{owner}/{repo}/pulls", {
owner: "lensapp", owner: "lensapp",
repo: "lens", repo: "lens",
@ -486,11 +486,10 @@ async function createRelease(): Promise<void> {
await bumpPackageVersions(); await bumpPackageVersions();
} }
const relevantPrs = await getRelevantPRs(previousReleasedVersion, "master"); const relevantPrs = [
...await getRelevantPRs(previousReleasedVersion, "master", isMasterBranch),
if (prBase !== "master") { ...(prBase !== "master" ? await getRelevantPRs(previousReleasedVersion, prBase, isMasterBranch) : []),
relevantPrs.push(...await getRelevantPRs(previousReleasedVersion, prBase)); ];
}
const selectedPrs = await pickRelevantPrs(relevantPrs, isMasterBranch); const selectedPrs = await pickRelevantPrs(relevantPrs, isMasterBranch);

View File

@ -1,8 +0,0 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# 6.5.0 (2023-05-26)
**Note:** Version bump only for package @k8slens/table-tokens

View File

@ -1,3 +0,0 @@
# Description
The package exports tokens needed for external table configuration.

View File

@ -1,28 +0,0 @@
import { getInjectionToken } from "@ogre-tools/injectable";
import type { KubeObject } from "@k8slens/kube-object/src/kube-object";
import type {
BaseKubeObjectListLayoutColumn,
GeneralKubeObjectListLayoutColumn,
SpecificKubeListLayoutColumn,
} from "@k8slens/list-layout";
type Column = (
| BaseKubeObjectListLayoutColumn<KubeObject>
| SpecificKubeListLayoutColumn<KubeObject>
| GeneralKubeObjectListLayoutColumn
);
export interface TableComponentProps {
tableId?: string;
columns?: Column[];
save?: (state: object) => void;
load?: (tableId: string) => object;
}
export interface TableComponent {
Component: React.ComponentType<TableComponentProps>;
}
export const tableComponentInjectionToken = getInjectionToken<TableComponent>({
id: "table-component-injection-token",
});

View File

@ -1,28 +0,0 @@
{
"name": "@k8slens/table-tokens",
"version": "6.5.0",
"description": "Injection token exporter for table components",
"license": "MIT",
"type": "commonjs",
"private": false,
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"clean": "rimraf dist/",
"build": "lens-webpack-build"
},
"devDependencies": {
"@k8slens/webpack": "^6.5.0",
"rimraf": "^4.4.1"
},
"peerDependencies": {
"@ogre-tools/injectable": "^16.1.0"
}
}

View File

@ -1,4 +0,0 @@
{
"extends": "@k8slens/typescript/config/base.json",
"include": ["**/*.ts"]
}

View File

@ -1 +0,0 @@
module.exports = require("@k8slens/webpack").configForNode;