Lint: comma-spacing (error) & comma-dangle (error) (#4200)

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2021-11-02 17:38:20 -04:00
1 parent 02e77afcd1
commit c6dce043a7
406 files changed
+1590 -1580

No files matched your search

@@ -37,19 +37,19 @@ class FooBarCategory extends CatalogCategory {
public readonly kind = "CatalogCategory";
public metadata = {
name: "FooBars",
icon: "broken"
icon: "broken",
};
public spec = {
group: "entity.k8slens.dev",
versions: [
{
name: "v1alpha1",
entityClass: WebLink
}
entityClass: WebLink,
},
],
names: {
kind: "FooBar"
}
kind: "FooBar",
},
};
}
const entity = new WebLink({
@@ -57,43 +57,43 @@ const entity = new WebLink({
uid: "test",
name: "test-link",
source: "test",
labels: {}
labels: {},
},
spec: {
url: "https://k8slens.dev"
url: "https://k8slens.dev",
},
status: {
phase: "available"
}
phase: "available",
},
});
const entity2 = new WebLink({
metadata: {
uid: "test2",
name: "test-link",
source: "test",
labels: {}
labels: {},
},
spec: {
url: "https://k8slens.dev"
url: "https://k8slens.dev",
},
status: {
phase: "available"
}
phase: "available",
},
});
const entitykc = new KubernetesCluster({
metadata: {
uid: "test3",
name: "test-link",
source: "test",
labels: {}
labels: {},
},
spec: {
kubeconfigPath: "",
kubeconfigContext: "",
},
status: {
phase: "connected"
}
phase: "connected",
},
});
describe("CatalogEntityRegistry", () => {
@@ -107,12 +107,12 @@ describe("CatalogEntityRegistry", () => {
uid: "123",
name: "foobar",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
}];
catalog.replaceItems(items);
@@ -125,12 +125,12 @@ describe("CatalogEntityRegistry", () => {
uid: "456",
name: "barbaz",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
});
catalog.replaceItems(items);
@@ -146,12 +146,12 @@ describe("CatalogEntityRegistry", () => {
uid: "123",
name: "foobar",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
}];
catalog.replaceItems(items);
@@ -174,12 +174,12 @@ describe("CatalogEntityRegistry", () => {
uid: "123",
name: "foobar",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
}];
catalog.replaceItems(items);
@@ -201,12 +201,12 @@ describe("CatalogEntityRegistry", () => {
uid: "123",
name: "foobar",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
},
{
apiVersion: "entity.k8slens.dev/v1alpha1",
@@ -215,13 +215,13 @@ describe("CatalogEntityRegistry", () => {
uid: "456",
name: "barbaz",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
}
spec: {},
},
];
catalog.replaceItems(items);
@@ -243,12 +243,12 @@ describe("CatalogEntityRegistry", () => {
uid: "123",
name: "foobar",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
spec: {},
},
{
apiVersion: "entity.k8slens.dev/v1alpha1",
@@ -257,13 +257,13 @@ describe("CatalogEntityRegistry", () => {
uid: "456",
name: "barbaz",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
}
spec: {},
},
];
catalog.replaceItems(items);
@@ -281,13 +281,13 @@ describe("CatalogEntityRegistry", () => {
uid: "456",
name: "barbaz",
source: "test",
labels: {}
labels: {},
},
status: {
phase: "disconnected"
phase: "disconnected",
},
spec: {}
}
spec: {},
},
];
catalog.replaceItems(items);
+3 -3
View File
@@ -131,19 +131,19 @@ export class CatalogEntityRegistry {
this.filters,
iter.filter,
this.items.values(),
)
),
);
}
@computed get entities(): Map<string, CatalogEntity> {
return new Map(
this.items.map(entity => [entity.getId(), entity])
this.items.map(entity => [entity.getId(), entity]),
);
}
@computed get filteredEntities(): Map<string, CatalogEntity> {
return new Map(
this.filteredItems.map(entity => [entity.getId(), entity])
this.filteredItems.map(entity => [entity.getId(), entity]),
);
}
+1 -1
View File
@@ -38,5 +38,5 @@ export const catalogEntityRunContext = {
navigate: (url: string) => navigate(url),
setCommandPaletteContext: (entity?: CatalogEntity) => {
catalogEntityRegistry.activeEntity = entity;
}
},
};
+1 -1
View File
@@ -170,7 +170,7 @@ export class TerminalApi extends WebSocketApi {
protected emitError(error: string) {
this.emitStatus(error, {
color: TerminalColor.RED
color: TerminalColor.RED,
});
}
}
+1 -1
View File
@@ -140,7 +140,7 @@ export async function bootstrap(comp: () => Promise<AppComponent>) {
bootstrap(
async () => process.isMainFrame
? (await import("./lens-app")).LensApp
: (await import("./components/app")).App
: (await import("./components/app")).App,
);
@@ -53,7 +53,7 @@ function getContexts(config: KubeConfig): Map<string, Option> {
.map(({ config, error }) => [config.currentContext, {
config,
error,
}])
}]),
);
}
@@ -76,7 +76,7 @@ export class AddCluster extends React.Component {
@computed get allErrors(): string[] {
return [
...this.errors,
...iter.map(this.kubeContexts.values(), ({ error }) => error)
...iter.map(this.kubeContexts.values(), ({ error }) => error),
].filter(Boolean);
}
@@ -43,7 +43,7 @@ interface Props {
const LargeTooltip = withStyles({
tooltip: {
fontSize: "var(--font-size-small)",
}
},
})(Tooltip);
@observer
@@ -148,7 +148,7 @@ export class HelmChartDetails extends Component<Props> {
</DrawerItem>
<DrawerItem name="Maintainers" className="maintainers">
{selectedChart.getMaintainers().map(({ name, email, url }) =>
<a key={name} href={url || `mailto:${email}`} target="_blank" rel="noreferrer">{name}</a>
<a key={name} href={url || `mailto:${email}`} target="_blank" rel="noreferrer">{name}</a>,
)}
</DrawerItem>
{selectedChart.getKeywords().length > 0 && (
@@ -61,7 +61,7 @@ export class HelmChartStore extends ItemStore<HelmChart> {
protected sortVersions = (versions: IChartVersion[]) => {
return versions
.map(chartVersion => ({ ...chartVersion, __version: semver.coerce(chartVersion.version, { includePrerelease: true, loose: true }), }))
.map(chartVersion => ({ ...chartVersion, __version: semver.coerce(chartVersion.version, { includePrerelease: true, loose: true }) }))
.sort(sortCompareChartVersions)
.map(({ __version, ...chartVersion }) => chartVersion);
};
@@ -78,7 +78,7 @@ export class HelmChartStore extends ItemStore<HelmChart> {
return versions.map(chart => ({
repo,
version: chart.getVersion()
version: chart.getVersion(),
}));
};
@@ -72,7 +72,7 @@ export class HelmCharts extends Component<Props> {
params: {
chartName: chart.getName(),
repo: chart.getRepository(),
}
},
}));
}
};
@@ -104,7 +104,7 @@ export class HelmCharts extends Component<Props> {
searchProps: {
...searchProps,
placeholder: "Search Helm Charts...",
}
},
})}
renderTableHeader={[
{ className: "icon", showWithColumn: columnId.name },
@@ -126,7 +126,7 @@ export class HelmCharts extends Component<Props> {
chart.getVersion(),
chart.getAppVersion(),
{ title: chart.getRepository(), className: chart.getRepository().toLowerCase() },
{ className: "menu" }
{ className: "menu" },
]}
detailsItem={this.selectedChart}
onDetails={this.onDetails}
@@ -128,7 +128,7 @@ export class ReleaseDetails extends Component<Props> {
chart: release.getChart(),
repo: await release.getRepo(),
version: release.getVersion(),
values: this.values
values: this.values,
};
this.saving = true;
@@ -136,7 +136,7 @@ export class ReleaseDetails extends Component<Props> {
try {
await releaseStore.update(name, namespace, data);
Notifications.ok(
<p>Release <b>{name}</b> successfully updated!</p>
<p>Release <b>{name}</b> successfully updated!</p>,
);
} catch (err) {
Notifications.error(err);
@@ -77,7 +77,7 @@ export class ReleaseStore extends ItemStore<HelmRelease> {
getReleaseSecret(release: HelmRelease) {
return secretsStore.getByLabel({
owner: "helm",
name: release.getName()
name: release.getName(),
})
.find(secret => secret.getNs() == release.getNs());
}
@@ -46,7 +46,7 @@ enum columnId {
version = "version",
appVersion = "app-version",
status = "status",
updated = "update"
updated = "update",
}
interface Props extends RouteComponentProps<ReleaseRouteParams> {
@@ -87,8 +87,8 @@ export class HelmReleases extends Component<Props> {
navigation.push(releaseURL({
params: {
name: item.getName(),
namespace: item.getNs()
}
namespace: item.getNs(),
},
}));
};
@@ -174,7 +174,7 @@ export class HelmReleases extends Component<Props> {
/>
)}
customizeRemoveDialog={selectedItems => ({
message: this.renderRemoveDialogMessage(selectedItems)
message: this.renderRemoveDialogMessage(selectedItems),
})}
detailsItem={this.selectedRelease}
onDetails={this.onDetails}
@@ -35,8 +35,8 @@ class TestCatalogCategory extends CatalogCategory {
group: "entity.k8slens.dev",
versions: [],
names: {
kind: "Test"
}
kind: "Test",
},
};
}
@@ -49,8 +49,8 @@ describe("CatalogAddButton", () => {
{
icon: "text_snippet",
title: "Add from kubeconfig",
onClick: () => {}
}
onClick: () => {},
},
);
});
@@ -68,15 +68,15 @@ describe("CatalogAddButton", () => {
{
icon: "text_snippet",
title: "foobar",
onClick: () => {}
}
onClick: () => {},
},
);
ctx.menuItems.push(
{
icon: "text_snippet",
title: "Add from kubeconfig",
onClick: () => {}
}
onClick: () => {},
},
);
});
@@ -79,7 +79,7 @@ export class CatalogAddButton extends React.Component<CatalogAddButtonProps> {
const menuItems: CatalogEntityAddMenu[] = [];
const context: CatalogEntityAddMenuContext = {
navigate: (url: string) => navigate(url),
menuItems
menuItems,
};
category.emit("catalogAddMenu", context);
@@ -142,7 +142,7 @@ export class CatalogAddButton extends React.Component<CatalogAddButtonProps> {
menuItem.onClick();
}}
TooltipClasses={{
popper: "catalogSpeedDialPopper"
popper: "catalogSpeedDialPopper",
}}
/>;
})}
@@ -63,7 +63,7 @@ export class CatalogEntityDrawerMenu<T extends CatalogEntity> extends React.Comp
ok: () => {
menuItem.onClick();
},
message: menuItem.confirm.message
message: menuItem.confirm.message,
});
} else {
menuItem.onClick();
@@ -90,7 +90,7 @@ export class CatalogEntityDrawerMenu<T extends CatalogEntity> extends React.Comp
tooltip={menuItem.title}
{...{ [key]: menuItem.icon }}
/>
</MenuItem>
</MenuItem>,
);
}
@@ -100,7 +100,7 @@ export class CatalogEntityDrawerMenu<T extends CatalogEntity> extends React.Comp
entity={entity}
addContent={<Icon material="push_pin" small tooltip="Add to Hotbar"/>}
removeContent={<Icon svg="push_off" small tooltip="Remove from Hotbar"/>}
/>
/>,
);
return items;
@@ -53,7 +53,7 @@ jest.mock("electron", () => ({
AppPaths.init();
jest.mock("./hotbar-toggle-menu-item", () => ({
HotbarToggleMenuItem: () => <div>menu item</div>
HotbarToggleMenuItem: () => <div>menu item</div>,
}));
class MockCatalogEntity extends CatalogEntity {
@@ -146,7 +146,7 @@ describe("<Catalog />", () => {
expect(onRun).toHaveBeenCalled();
done();
}, 500);
}
},
);
render(
@@ -155,7 +155,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
@@ -180,7 +180,7 @@ describe("<Catalog />", () => {
done();
}, 500);
e.preventDefault();
}
},
);
render(
@@ -189,7 +189,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
@@ -215,7 +215,7 @@ describe("<Catalog />", () => {
}, 500);
throw new Error("error!");
}
},
);
render(
@@ -224,7 +224,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
@@ -245,7 +245,7 @@ describe("<Catalog />", () => {
catalogEntityRegistry.addOnBeforeRun(
async () => {
// no op
}
},
);
render(
@@ -254,7 +254,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
@@ -282,7 +282,7 @@ describe("<Catalog />", () => {
}, 500);
e.preventDefault();
}
},
);
render(
@@ -291,7 +291,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
@@ -317,7 +317,7 @@ describe("<Catalog />", () => {
}, 500);
throw new Error("rejection!");
}
},
);
render(
@@ -326,7 +326,7 @@ describe("<Catalog />", () => {
location={mockLocation}
match={mockMatch}
catalogEntityStore={catalogEntityStore}
/>
/>,
);
userEvent.click(screen.getByTestId("detail-panel-hot-bar-icon"));
+3 -3
View File
@@ -53,7 +53,7 @@ enum sortBy {
name = "name",
kind = "kind",
source = "source",
status = "status"
status = "status",
}
const css = makeCss(styles);
@@ -153,7 +153,7 @@ export class Catalog extends React.Component<Props> {
ok: () => {
menuItem.onClick();
},
message: menuItem.confirm.message
message: menuItem.confirm.message,
});
} else {
menuItem.onClick();
@@ -286,7 +286,7 @@ export class Catalog extends React.Component<Props> {
!activeCategory && item.kind,
item.source,
item.getLabelBadges(),
{ title: item.phase, className: cssNames(css[item.phase]) }
{ title: item.phase, className: cssNames(css[item.phase]) },
].filter(Boolean)}
onDetails={this.onDetails}
renderItemMenu={this.renderItemMenu}
@@ -40,23 +40,23 @@ export const ClusterMetrics = observer(() => {
const colors = { cpu: "#3D90CE", memory: "#C93DCE" };
const data = metricValues.map(value => ({
x: value[0],
y: parseFloat(value[1]).toFixed(3)
y: parseFloat(value[1]).toFixed(3),
}));
const datasets = [{
id: metricType + metricNodeRole,
label: `${metricType.toUpperCase()} usage`,
borderColor: colors[metricType],
data
data,
}];
const cpuOptions: ChartOptions = {
scales: {
yAxes: [{
ticks: {
suggestedMax: cpuCapacity,
callback: (value) => value
}
}]
callback: (value) => value,
},
}],
},
tooltips: {
callbacks: {
@@ -64,18 +64,18 @@ export const ClusterMetrics = observer(() => {
const value = data.datasets[0].data[index] as ChartPoint;
return value.y.toString();
}
}
}
},
},
},
};
const memoryOptions: ChartOptions = {
scales: {
yAxes: [{
ticks: {
suggestedMax: memoryCapacity,
callback: (value: string) => !value ? 0 : bytesToUnits(parseInt(value))
}
}]
callback: (value: string) => !value ? 0 : bytesToUnits(parseInt(value)),
},
}],
},
tooltips: {
callbacks: {
@@ -83,9 +83,9 @@ export const ClusterMetrics = observer(() => {
const value = data.datasets[0].data[index] as ChartPoint;
return bytesToUnits(parseInt(value.y as string), 3);
}
}
}
},
},
},
};
const options = metricType === MetricType.CPU ? cpuOptions : memoryOptions;
@@ -29,12 +29,12 @@ import { apiManager } from "../../../common/k8s-api/api-manager";
export enum MetricType {
MEMORY = "memory",
CPU = "cpu"
CPU = "cpu",
}
export enum MetricNodeRole {
MASTER = "master",
WORKER = "worker"
WORKER = "worker",
}
export interface ClusterOverviewStorageState {
@@ -60,7 +60,7 @@ export class ClusterOverview extends React.Component {
}),
reaction(
() => clusterOverviewStore.metricNodeRole, // Toggle Master/Worker node switcher
() => this.metricPoller.restart(true)
() => this.metricPoller.restart(true),
),
]);
}
@@ -69,7 +69,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "cpuUsage",
label: "Usage"
label: "Usage",
},
{
data: [
@@ -81,7 +81,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "cpuRequests",
label: "Requests"
label: "Requests",
},
{
data: [
@@ -93,7 +93,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "cpuLimits",
label: "Limits"
label: "Limits",
},
],
labels: createLabels([
@@ -116,7 +116,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "memoryUsage",
label: "Usage"
label: "Usage",
},
{
data: [
@@ -128,7 +128,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "memoryRequests",
label: "Requests"
label: "Requests",
},
{
data: [
@@ -140,7 +140,7 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "memoryLimits",
label: "Limits"
label: "Limits",
},
],
labels: [
@@ -148,8 +148,8 @@ export const ClusterPieCharts = observer(() => {
`Requests: ${bytesToUnits(memoryRequests)}`,
`Limits: ${bytesToUnits(memoryLimits)}`,
`Allocatable Capacity: ${bytesToUnits(memoryAllocatableCapacity)}`,
`Capacity: ${bytesToUnits(memoryCapacity)}`
]
`Capacity: ${bytesToUnits(memoryCapacity)}`,
],
};
const podsData: ChartData = {
datasets: [
@@ -163,13 +163,13 @@ export const ClusterPieCharts = observer(() => {
defaultColor,
],
id: "podUsage",
label: "Usage"
label: "Usage",
},
],
labels: [
`Usage: ${podUsage || 0}`,
`Capacity: ${podAllocatableCapacity}`,
]
],
};
return (
@@ -40,7 +40,7 @@ enum columnId {
maxPods = "max-pods",
replicas = "replicas",
age = "age",
status = "status"
status = "status",
}
interface Props extends RouteComponentProps<HpaRouteParams> {
@@ -72,7 +72,7 @@ export class HorizontalPodAutoscalers extends React.Component<Props> {
[columnId.age]: item => item.getTimeDiffFromNow(),
}}
searchFilters={[
item => item.getSearchFields()
item => item.getSearchFields(),
]}
renderHeaderTitle="Horizontal Pod Autoscalers"
renderTableHeader={[
@@ -107,7 +107,7 @@ export class HorizontalPodAutoscalers extends React.Component<Props> {
expandable={false}
/>
);
})
}),
]}
/>
);
@@ -55,7 +55,7 @@ export class ConfigMapDetails extends React.Component<Props> {
if (configMap) {
this.data.replace(configMap.data); // refresh
}
})
}),
]);
}
@@ -71,7 +71,7 @@ export class ConfigMapDetails extends React.Component<Props> {
Notifications.ok(
<p>
<>ConfigMap <b>{configMap.getName()}</b> successfully updated.</>
</p>
</p>,
);
} catch (error) {
Notifications.error(`Failed to save config map: ${error}`);
@@ -55,7 +55,7 @@ export class ConfigMaps extends React.Component<Props> {
}}
searchFilters={[
item => item.getSearchFields(),
item => item.getKeys()
item => item.getKeys(),
]}
renderHeaderTitle="Config Maps"
renderTableHeader={[
@@ -135,8 +135,8 @@ export class AddQuotaDialog extends React.Component<Props> {
await resourceQuotaApi.create({ namespace, name: quotaName }, {
spec: {
hard: quotas
}
hard: quotas,
},
});
this.close();
} catch (err) {
@@ -33,7 +33,7 @@ import type { ResourceQuotaRouteParams } from "../../../common/routes";
enum columnId {
name = "name",
namespace = "namespace",
age = "age"
age = "age",
}
interface Props extends RouteComponentProps<ResourceQuotaRouteParams> {
@@ -72,7 +72,7 @@ export class ResourceQuotas extends React.Component<Props> {
]}
addRemoveButtons={{
onAdd: () => AddQuotaDialog.open(),
addTooltip: "Create new ResourceQuota"
addTooltip: "Create new ResourceQuota",
}}
/>
<AddQuotaDialog/>
@@ -35,7 +35,7 @@ describe("SecretDetails tests", () => {
metadata: {
name: "test",
resourceVersion: "1",
uid: "uid"
uid: "uid",
},
data: {
foobar: "",
@@ -81,7 +81,7 @@ export class AddSecretDialog extends React.Component<Props> {
[SecretType.ServiceAccountToken]: {
annotations: [
{ key: "kubernetes.io/service-account.name", required: true },
{ key: "kubernetes.io/service-account.uid", required: true }
{ key: "kubernetes.io/service-account.uid", required: true },
],
},
};
@@ -127,7 +127,7 @@ export class AddSecretDialog extends React.Component<Props> {
namespace,
annotations: this.getDataFromFields(annotations),
labels: this.getDataFromFields(labels),
} as KubeObjectMetadata
} as KubeObjectMetadata,
};
try {
@@ -59,7 +59,7 @@ export class SecretDetails extends React.Component<Props> {
this.data = secret.data;
this.revealSecret.clear();
}
})
}),
]);
}
@@ -85,7 +85,7 @@ export class Secrets extends React.Component<Props> {
]}
addRemoveButtons={{
onAdd: () => AddSecretDialog.open(),
addTooltip: "Create new Secret"
addTooltip: "Create new Secret",
}}
/>
<AddSecretDialog/>
@@ -95,7 +95,7 @@ export class CrdResources extends React.Component<Props> {
...searchProps,
placeholder: `${crd.getResourceKind()} search ...`,
},
...headerPlaceholders
...headerPlaceholders,
})}
renderTableHeader={[
{ title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
@@ -107,7 +107,7 @@ export class CrdResources extends React.Component<Props> {
title: name,
className: name.toLowerCase(),
sortBy: name,
id: name
id: name,
};
}),
{ title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
@@ -36,7 +36,7 @@ export class CustomResources extends React.Component {
component: CustomResources,
url: crdURL(),
routePath: String(crdDefinitionsRoute.path),
}
},
];
}
+2 -2
View File
@@ -135,7 +135,7 @@ export class Events extends React.Component<Props> {
/>
</>,
title,
...headerPlaceholders
...headerPlaceholders,
};
};
@@ -193,7 +193,7 @@ export class Events extends React.Component<Props> {
{message}
</Tooltip>
</Fragment>
)
),
},
event.getNs(),
<Link key="link" to={getDetailsUrl(apiManager.lookupApiLink(involvedObject, event))} onClick={stopPropagation}>
@@ -66,7 +66,7 @@ export class KubeEventIcon extends React.Component<Props> {
{event.getAge(undefined, undefined, true)}
</div>
</div>
)
),
}}
/>
);
@@ -75,7 +75,7 @@ AppPaths.init();
describe("Extensions", () => {
beforeEach(async () => {
mockFs({
"tmp": {}
"tmp": {},
});
ExtensionInstallationStateStore.reset();
@@ -84,13 +84,13 @@ describe("Extensions", () => {
id: "extensionId",
manifest: {
name: "test",
version: "1.2.3"
version: "1.2.3",
},
absolutePath: "/absolute/path",
manifestPath: "/symlinked/path/package.json",
isBundled: false,
isEnabled: true,
isCompatible: true
isCompatible: true,
});
ExtensionDiscovery.createInstance().uninstallExtension = jest.fn(() => Promise.resolve());
UserStore.createInstance();
@@ -136,11 +136,11 @@ describe("Extensions", () => {
(fse.unlink as jest.MockedFunction<typeof fse.unlink>).mockReturnValue(Promise.resolve() as any);
fireEvent.change(res.getByPlaceholderText("File path or URL", {
exact: false
exact: false,
}), {
target: {
value: "https://test.extensionurl/package.tgz"
}
value: "https://test.extensionurl/package.tgz",
},
});
fireEvent.click(res.getByText("Install"));
@@ -31,10 +31,10 @@ import path from "path";
import React from "react";
import { SemVer } from "semver";
import URLParse from "url-parse";
import { Disposer, disposer, downloadFile, downloadJson, ExtendableDisposer, extractTar, listTarEntries, noop, readFileFromTar, } from "../../../common/utils";
import { Disposer, disposer, downloadFile, downloadJson, ExtendableDisposer, extractTar, listTarEntries, noop, readFileFromTar } from "../../../common/utils";
import { ExtensionDiscovery, InstalledExtension, manifestFilename } from "../../../extensions/extension-discovery";
import { ExtensionLoader } from "../../../extensions/extension-loader";
import { extensionDisplayName, LensExtensionId, LensExtensionManifest, sanitizeExtensionName, } from "../../../extensions/lens-extension";
import { extensionDisplayName, LensExtensionId, LensExtensionManifest, sanitizeExtensionName } from "../../../extensions/lens-extension";
import logger from "../../../main/logger";
import { Button } from "../button";
import { ConfirmDialog } from "../confirm-dialog";
@@ -121,7 +121,7 @@ async function uninstallExtension(extensionId: LensExtensionId): Promise<boolean
await when(() => !loader.userExtensions.has(extensionId));
Notifications.ok(
<p>Extension <b>{displayName}</b> successfully uninstalled!</p>
<p>Extension <b>{displayName}</b> successfully uninstalled!</p>,
);
return true;
@@ -238,7 +238,7 @@ async function createTempFilesAndValidate({ fileName, dataP }: InstallRequest):
<div className="flex column gaps">
<p>Installing <em>{fileName}</em> has failed, skipping.</p>
<p>Reason: <em>{message}</em></p>
</div>
</div>,
);
}
@@ -283,7 +283,7 @@ async function unpackExtension(request: InstallRequestValidated, disposeDownload
ExtensionLoader.getInstance().setIsEnabled(id, true);
Notifications.ok(
<p>Extension <b>{displayName}</b> successfully installed!</p>
<p>Extension <b>{displayName}</b> successfully installed!</p>,
);
} catch (error) {
const message = getMessageFromError(error);
@@ -375,7 +375,7 @@ async function attemptInstall(request: InstallRequest, d?: ExtendableDisposer):
<b>Extension Install Collision:</b>
<p>The <em>{name}</em> extension is currently {curState.toLowerCase()}.</p>
<p>Will not proceed with this current install request.</p>
</div>
</div>,
);
}
@@ -410,7 +410,7 @@ async function attemptInstall(request: InstallRequest, d?: ExtendableDisposer):
</div>,
{
onClose: dispose,
}
},
);
}
}
@@ -474,8 +474,8 @@ async function installFromSelectFileDialog() {
message: `Select extensions to install (formats: ${supportedFormats.join(", ")}), `,
buttonLabel: "Use configuration",
filters: [
{ name: "tarball", extensions: supportedFormats }
]
{ name: "tarball", extensions: supportedFormats },
],
});
if (!canceled) {
@@ -503,7 +503,7 @@ export class Extensions extends React.Component<Props> {
when(() => !ExtensionInstallationStateStore.anyInstalling, () => this.installPath = ""),
]);
}
})
}),
]);
}
@@ -76,16 +76,16 @@ export const InstalledExtensions = observer(({ extensions, uninstall, enable, di
},
{
Header: "Status",
accessor: "status"
accessor: "status",
},
{
Header: "",
accessor: "actions",
disableSortBy: true,
width: 20,
className: "actions"
}
], []
className: "actions",
},
], [],
);
const data = useMemo(
@@ -142,10 +142,10 @@ export const InstalledExtensions = observer(({ extensions, uninstall, enable, di
<span className="title" aria-disabled={isUninstalling}>Uninstall</span>
</MenuItem>
</MenuActions>
)
),
};
});
}, [extensions, ExtensionInstallationStateStore.anyUninstalling]
}, [extensions, ExtensionInstallationStateStore.anyUninstalling],
);
if (!ExtensionDiscovery.getInstance().isLoaded) {
@@ -55,7 +55,7 @@ export class NamespaceSelect extends React.Component<Props> {
kubeWatchApi.subscribeStores([namespaceStore], {
preload: true,
loadOnce: true, // skip reloading namespaces on every render / page visit
})
}),
]);
}
@@ -19,7 +19,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import { action, comparer, computed, IReactionDisposer, IReactionOptions, makeObservable, reaction, } from "mobx";
import { action, comparer, computed, IReactionDisposer, IReactionOptions, makeObservable, reaction } from "mobx";
import { autoBind, createStorage, noop, ToggleSet } from "../../utils";
import { KubeObjectStore, KubeObjectStoreLoadingParams } from "../../../common/k8s-api/kube-object.store";
import { Namespace, namespacesApi } from "../../../common/k8s-api/endpoints/namespaces.api";
@@ -258,7 +258,7 @@ export function getDummyNamespace(name: string) {
name,
uid: "",
resourceVersion: "",
selfLink: `/api/v1/namespaces/${name}`
}
selfLink: `/api/v1/namespaces/${name}`,
},
});
}
@@ -58,7 +58,7 @@ export class Namespaces extends React.Component<Props> {
}}
searchFilters={[
item => item.getSearchFields(),
item => item.getStatus()
item => item.getStatus(),
]}
renderHeaderTitle="Namespaces"
renderTableHeader={[
@@ -53,7 +53,7 @@ export class Endpoints extends React.Component<Props> {
[columnId.age]: endpoint => endpoint.getTimeDiffFromNow(),
}}
searchFilters={[
endpoint => endpoint.getSearchFields()
endpoint => endpoint.getSearchFields(),
]}
renderHeaderTitle="Endpoints"
renderTableHeader={[
@@ -75,7 +75,7 @@ export class Endpoints extends React.Component<Props> {
const lines = item.getEndpointSubsets().length || 1;
return lines * lineHeight + paddings;
}
},
}}
/>
);
@@ -44,7 +44,7 @@ export const IngressCharts = observer(() => {
bytesSentSuccess,
bytesSentFailure,
requestDurationSeconds,
responseDurationSeconds
responseDurationSeconds,
] = values;
const datasets = [
@@ -55,14 +55,14 @@ export const IngressCharts = observer(() => {
label: `Bytes sent, status 2xx`,
tooltip: `Bytes sent by Ingress controller with successful status`,
borderColor: "#46cd9e",
data: bytesSentSuccess.map(([x, y]) => ({ x, y }))
data: bytesSentSuccess.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-bytesSentFailure`,
label: `Bytes sent, status 5xx`,
tooltip: `Bytes sent by Ingress controller with error status`,
borderColor: "#cd465a",
data: bytesSentFailure.map(([x, y]) => ({ x, y }))
data: bytesSentFailure.map(([x, y]) => ({ x, y })),
},
],
// Duration
@@ -72,25 +72,25 @@ export const IngressCharts = observer(() => {
label: `Request`,
tooltip: `Request duration in seconds`,
borderColor: "#48b18d",
data: requestDurationSeconds.map(([x, y]) => ({ x, y }))
data: requestDurationSeconds.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-responseDurationSeconds`,
label: `Response`,
tooltip: `Response duration in seconds`,
borderColor: "#73ba3c",
data: responseDurationSeconds.map(([x, y]) => ({ x, y }))
data: responseDurationSeconds.map(([x, y]) => ({ x, y })),
},
]
],
];
const durationOptions: ChartOptions = {
scales: {
yAxes: [{
ticks: {
callback: value => value
}
}]
callback: value => value,
},
}],
},
tooltips: {
callbacks: {
@@ -100,9 +100,9 @@ export const IngressCharts = observer(() => {
const chartTooltipSec = `sec`;
return `${label}: ${parseFloat(value.y as string).toFixed(3)} ${chartTooltipSec}`;
}
}
}
},
},
},
};
const options = [memoryOptions, durationOptions];
@@ -79,7 +79,7 @@ export class Ingresses extends React.Component<Props> {
const lines = item.getRoutes().length || 1;
return lines * lineHeight + paddings;
}
},
}}
/>
);
@@ -80,7 +80,7 @@ export class NetworkPolicyDetails extends React.Component<Props> {
else {
return (<DrawerItem name={key} key={key}>(empty)</DrawerItem>);
}
})
}),
)}
</>
);
@@ -42,7 +42,7 @@ export class PortForwardDetails extends React.Component<Props> {
const name = portForward.getName();
const api = {
"service": serviceApi,
"pod": podsApi
"pod": podsApi,
}[portForward.kind];
if (!api) {
@@ -71,7 +71,7 @@ export class PortForwards extends React.Component<Props> {
navigation.push(portForwardsURL({
params: {
forwardport: String(item.getForwardPort()),
}
},
}));
};
@@ -135,7 +135,7 @@ export class PortForwards extends React.Component<Props> {
/>
)}
customizeRemoveDialog={selectedItems => ({
message: this.renderRemoveDialogMessage(selectedItems)
message: this.renderRemoveDialogMessage(selectedItems),
})}
detailsItem={this.selectedPortForward}
onDetails={this.onDetails}
+25 -25
View File
@@ -58,7 +58,7 @@ export const NodeCharts = observer(() => {
podUsage,
podCapacity,
fsSize,
fsUsage
fsUsage,
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
const datasets = [
@@ -69,29 +69,29 @@ export const NodeCharts = observer(() => {
label: `Usage`,
tooltip: `CPU cores usage`,
borderColor: "#3D90CE",
data: cpuUsage.map(([x, y]) => ({ x, y }))
data: cpuUsage.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-cpuRequests`,
label: `Requests`,
tooltip: `CPU requests`,
borderColor: "#30b24d",
data: cpuRequests.map(([x, y]) => ({ x, y }))
data: cpuRequests.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-cpuAllocatableCapacity`,
label: `Allocatable Capacity`,
tooltip: `CPU allocatable capacity`,
borderColor: "#032b4d",
data: cpuAllocatableCapacity.map(([x, y]) => ({ x, y }))
data: cpuAllocatableCapacity.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-cpuCapacity`,
label: `Capacity`,
tooltip: `CPU capacity`,
borderColor: chartCapacityColor,
data: cpuCapacity.map(([x, y]) => ({ x, y }))
}
data: cpuCapacity.map(([x, y]) => ({ x, y })),
},
],
// Memory
[
@@ -100,36 +100,36 @@ export const NodeCharts = observer(() => {
label: `Usage`,
tooltip: `Memory usage`,
borderColor: "#c93dce",
data: memoryUsage.map(([x, y]) => ({ x, y }))
data: memoryUsage.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-workloadMemoryUsage`,
label: `Workload Memory Usage`,
tooltip: `Workload memory usage`,
borderColor: "#9cd3ce",
data: workloadMemoryUsage.map(([x, y]) => ({ x, y }))
data: workloadMemoryUsage.map(([x, y]) => ({ x, y })),
},
{
id: "memoryRequests",
label: `Requests`,
tooltip: `Memory requests`,
borderColor: "#30b24d",
data: memoryRequests.map(([x, y]) => ({ x, y }))
data: memoryRequests.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-memoryAllocatableCapacity`,
label: `Allocatable Capacity`,
tooltip: `Memory allocatable capacity`,
borderColor: "#032b4d",
data: memoryAllocatableCapacity.map(([x, y]) => ({ x, y }))
data: memoryAllocatableCapacity.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-memoryCapacity`,
label: `Capacity`,
tooltip: `Memory capacity`,
borderColor: chartCapacityColor,
data: memoryCapacity.map(([x, y]) => ({ x, y }))
}
data: memoryCapacity.map(([x, y]) => ({ x, y })),
},
],
// Disk
[
@@ -138,15 +138,15 @@ export const NodeCharts = observer(() => {
label: `Usage`,
tooltip: `Node filesystem usage in bytes`,
borderColor: "#ffc63d",
data: fsUsage.map(([x, y]) => ({ x, y }))
data: fsUsage.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-fsSize`,
label: `Size`,
tooltip: `Node filesystem size in bytes`,
borderColor: chartCapacityColor,
data: fsSize.map(([x, y]) => ({ x, y }))
}
data: fsSize.map(([x, y]) => ({ x, y })),
},
],
// Pods
[
@@ -155,25 +155,25 @@ export const NodeCharts = observer(() => {
label: `Usage`,
tooltip: `Number of running Pods`,
borderColor: "#30b24d",
data: podUsage.map(([x, y]) => ({ x, y }))
data: podUsage.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-podCapacity`,
label: `Capacity`,
tooltip: `Node Pods capacity`,
borderColor: chartCapacityColor,
data: podCapacity.map(([x, y]) => ({ x, y }))
}
]
data: podCapacity.map(([x, y]) => ({ x, y })),
},
],
];
const podOptions: ChartOptions = {
scales: {
yAxes: [{
ticks: {
callback: value => value
}
}]
callback: value => value,
},
}],
},
tooltips: {
callbacks: {
@@ -182,9 +182,9 @@ export const NodeCharts = observer(() => {
const value = data[index] as ChartPoint;
return `${label}: ${value.y}`;
}
}
}
},
},
},
};
const options = [cpuOptions, memoryOptions, memoryOptions, podOptions];
@@ -164,8 +164,8 @@ export class NodeDetails extends React.Component<Props> {
<div key={key} className="flex gaps align-center">
<div className="name">{upperFirst(key)}</div>
<div className="value">{value}</div>
</div>
)
</div>,
),
}}
/>
);
+4 -4
View File
@@ -115,7 +115,7 @@ export class Nodes extends React.Component<Props> {
value={usage}
tooltip={{
preferredPositions: TooltipPosition.BOTTOM,
children: `CPU: ${cpuUsagePercentLabel}\%, cores: ${cores}`
children: `CPU: ${cpuUsagePercentLabel}\%, cores: ${cores}`,
}}
/>
);
@@ -134,7 +134,7 @@ export class Nodes extends React.Component<Props> {
value={usage}
tooltip={{
preferredPositions: TooltipPosition.BOTTOM,
children: `Memory: ${Math.ceil(usage * 100 / capacity)}%, ${bytesToUnits(usage, 3)}`
children: `Memory: ${Math.ceil(usage * 100 / capacity)}%, ${bytesToUnits(usage, 3)}`,
}}
/>
);
@@ -153,7 +153,7 @@ export class Nodes extends React.Component<Props> {
value={usage}
tooltip={{
preferredPositions: TooltipPosition.BOTTOM,
children: `Disk: ${Math.ceil(usage * 100 / capacity)}%, ${bytesToUnits(usage, 3)}`
children: `Disk: ${Math.ceil(usage * 100 / capacity)}%, ${bytesToUnits(usage, 3)}`,
}}
/>
);
@@ -177,7 +177,7 @@ export class Nodes extends React.Component<Props> {
<div key={key} className="flex gaps align-center">
<div className="name">{upperFirst(key)}</div>
<div className="value">{value}</div>
</div>
</div>,
)}
</Tooltip>
</div>);
@@ -56,7 +56,7 @@ export class AddHelmRepoDialog extends React.Component<Props> {
private emptyRepo = { name: "", url: "", username: "", password: "", insecureSkipTlsVerify: false, caFile:"", keyFile: "", certFile: "" };
private static keyExtensions = ["key", "keystore", "jks", "p12", "pfx", "pem"];
private static certExtensions = ["crt", "cer", "ca-bundle", "p7b", "p7c" , "p7s", "p12", "pfx", "pem"];
private static certExtensions = ["crt", "cer", "ca-bundle", "p7b", "p7c", "p7s", "p12", "pfx", "pem"];
constructor(props: Props) {
super(props);
@@ -96,8 +96,8 @@ export class AddHelmRepoDialog extends React.Component<Props> {
buttonLabel: `Use file`,
filters: [
fileFilter,
{ name: "Any", extensions: ["*"] }
]
{ name: "Any", extensions: ["*"] },
],
});
if (!canceled && filePaths.length) {
@@ -116,7 +116,7 @@ export class AddHelmRepoDialog extends React.Component<Props> {
}
}
renderFileInput(placeholder:string, fileType:FileType ,fileExtensions:string[]){
renderFileInput(placeholder:string, fileType:FileType, fileExtensions:string[]){
return(
<div className="flex gaps align-center">
<Input
@@ -31,7 +31,7 @@ enum EditorLineNumbersStyles {
on = "On",
off = "Off",
relative = "Relative",
interval = "Interval"
interval = "Interval",
}
export const Editor = observer(() => {
@@ -31,7 +31,7 @@ export const Extensions = observer(() => {
<section id="extensions">
<h2>Extensions</h2>
{extensions.filter(e => !e.showInPreferencesTab).map((extension) =>
<ExtensionSettings key={extension.id} {...extension}/>
<ExtensionSettings key={extension.id} {...extension}/>,
)}
</section>
);
@@ -91,7 +91,7 @@ export class HelmCharts extends React.Component {
this.addedRepos.delete(repo.name);
} catch (err) {
Notifications.error(
<>Removing helm branch <b>{repo.name}</b> has failed: {String(err)}</>
<>Removing helm branch <b>{repo.name}</b> has failed: {String(err)}</>,
);
}
}
@@ -97,7 +97,7 @@ export class KubeconfigSyncs extends React.Component {
disposeOnUnmount(this, [
reaction(() => Array.from(this.syncs.entries(), ([filePath, { data }]) => [filePath, data]), syncs => {
UserStore.getInstance().syncKubeconfigEntries.replace(syncs);
})
}),
]);
}
@@ -36,7 +36,7 @@ export const KubectlBinaries = observer(() => {
const pathValidator = downloadPath ? InputValidators.isPath : undefined;
const downloadMirrorOptions: SelectOption<string>[] = Array.from(
packageMirrors.entries(),
([value, { label, platforms }]) => ({ value, label, platforms })
([value, { label, platforms }]) => ({ value, label, platforms }),
);
const save = () => {
@@ -80,7 +80,7 @@ export class PersistentVolumeClaimDetails extends React.Component<Props> {
const { metrics } = this;
const pods = volumeClaim.getPods(podsStore.items);
const metricTabs = [
"Disk"
"Disk",
];
const isMetricHidden = getActiveClusterEntity()?.isMetricHidden(ClusterMetricsResourceType.VolumeClaim);
@@ -48,15 +48,15 @@ export const VolumeClaimDiskChart = observer(() => {
label: `Usage`,
tooltip: `Volume disk usage`,
borderColor: "#ffc63d",
data: usage.map(([x, y]) => ({ x, y }))
data: usage.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-diskCapacity`,
label: `Capacity`,
tooltip: `Volume disk capacity`,
borderColor: chartCapacityColor,
data: capacity.map(([x, y]) => ({ x, y }))
}
data: capacity.map(([x, y]) => ({ x, y })),
},
];
return (
@@ -85,7 +85,7 @@ export class PersistentVolumeClaims extends React.Component<Props> {
const pods = pvc.getPods(podsStore.items);
const { storageClassName } = pvc.spec;
const storageClassDetailsUrl = getDetailsUrl(storageClassApi.getUrl({
name: storageClassName
name: storageClassName,
}));
return [
@@ -35,7 +35,7 @@ export class PersistentVolumesStore extends KubeObjectStore<PersistentVolume> {
getByStorageClass(storageClass: StorageClass): PersistentVolume[] {
return this.items.filter(volume =>
volume.getStorageClassName() === storageClass.getName()
volume.getStorageClassName() === storageClass.getName(),
);
}
}
@@ -77,7 +77,7 @@ export class PersistentVolumes extends React.Component<Props> {
renderTableContents={volume => {
const { claimRef, storageClassName } = volume.spec;
const storageClassDetailsUrl = getDetailsUrl(storageClassApi.getUrl({
name: storageClassName
name: storageClassName,
}));
return [
@@ -93,7 +93,7 @@ export class PersistentVolumes extends React.Component<Props> {
</Link>
),
volume.getAge(),
{ title: volume.getStatus(), className: volume.getStatus().toLowerCase() }
{ title: volume.getStatus(), className: volume.getStatus().toLowerCase() },
];
}}
/>
@@ -53,7 +53,7 @@ export class ClusterRoleBindingDetails extends React.Component<Props> {
disposeOnUnmount(this, [
reaction(() => this.props.object, () => {
this.selectedSubjects.clear();
})
}),
]);
}
@@ -66,7 +66,7 @@ export class ClusterRoleBindingDetails extends React.Component<Props> {
labelOk: `Remove`,
message: (
<p>Remove selected bindings for <b>{clusterRoleBinding.getName()}</b>?</p>
)
),
});
}
@@ -125,7 +125,7 @@ export class ClusterRoleBindingDialog extends React.Component<Props> {
return {
value: `${account.getName()}%${account.getNs()}`,
account,
label: <><Icon small material="account_box" /> {name} ({namespace})</>
label: <><Icon small material="account_box" /> {name} ({namespace})</>,
};
});
}
@@ -152,7 +152,7 @@ export class ClusterRoleBindingDialog extends React.Component<Props> {
this.selectedAccounts.replace(
serviceAccountsStore.items
.filter(sa => accountNames.has(sa.getName()))
.filter(sa => accountNames.has(sa.getName())),
);
this.selectedUsers.replace(uSubjects.map(user => user.name));
this.selectedGroups.replace(gSubjects.map(group => group.name));
@@ -178,7 +178,7 @@ export class ClusterRoleBindingDialog extends React.Component<Props> {
roleRef: {
name: selectedRoleRef.getName(),
kind: selectedRoleRef.kind,
}
},
});
showDetails(selfLink);
@@ -36,7 +36,7 @@ export class ClusterRoleBindingsStore extends KubeObjectStore<ClusterRoleBinding
protected sortItems(items: ClusterRoleBinding[]) {
return super.sortItems(items, [
clusterRoleBinding => clusterRoleBinding.kind,
clusterRoleBinding => clusterRoleBinding.getName()
clusterRoleBinding => clusterRoleBinding.getName(),
]);
}
@@ -48,7 +48,7 @@ export class RoleBindingDetails extends React.Component<Props> {
disposeOnUnmount(this, [
reaction(() => this.props.object, () => {
this.selectedSubjects.clear();
})
}),
]);
}
@@ -62,7 +62,7 @@ export class RoleBindingDetails extends React.Component<Props> {
labelOk: `Remove`,
message: (
<p>Remove selected bindings for <b>{roleBinding.getName()}</b>?</p>
)
),
});
}
@@ -95,11 +95,11 @@ export class RoleBindingDialog extends React.Component<Props> {
}));
const users = Array.from(this.selectedUsers, user => ({
name: user,
kind: "User" as const
kind: "User" as const,
}));
const groups = Array.from(this.selectedGroups, group => ({
name: group,
kind: "Group" as const
kind: "Group" as const,
}));
return [
@@ -130,7 +130,7 @@ export class RoleBindingDialog extends React.Component<Props> {
return {
value: `${account.getName()}%${account.getNs()}`,
account,
label: <><Icon small material="account_box" /> {name} ({namespace})</>
label: <><Icon small material="account_box" /> {name} ({namespace})</>,
};
});
}
@@ -159,7 +159,7 @@ export class RoleBindingDialog extends React.Component<Props> {
this.selectedAccounts.replace(
serviceAccountsStore.items
.filter(sa => accountNames.has(sa.getName()))
.filter(sa => accountNames.has(sa.getName())),
);
this.selectedUsers.replace(uSubjects.map(user => user.name));
this.selectedGroups.replace(gSubjects.map(group => group.name));
@@ -186,7 +186,7 @@ export class RoleBindingDialog extends React.Component<Props> {
roleRef: {
name: selectedRoleRef.getName(),
kind: selectedRoleRef.kind,
}
},
});
showDetails(roleBinding.selfLink);
@@ -31,7 +31,7 @@ export class RoleBindingsStore extends KubeObjectStore<RoleBinding> {
protected sortItems(items: RoleBinding[]) {
return super.sortItems(items, [
roleBinding => roleBinding.kind,
roleBinding => roleBinding.getName()
roleBinding => roleBinding.getName(),
]);
}
@@ -79,7 +79,7 @@ export class ServiceAccountsDetails extends React.Component<Props> {
}
return secrets.map(secret =>
<ServiceAccountsSecret key={secret.getId()} secret={secret}/>
<ServiceAccountsSecret key={secret.getId()} secret={secret}/>,
);
}
@@ -123,9 +123,9 @@ export class ServiceAccountsDetails extends React.Component<Props> {
name,
uid: null,
selfLink: null,
resourceVersion: null
resourceVersion: null,
},
type: SecretType.Opaque
type: SecretType.Opaque,
});
}
@@ -137,7 +137,7 @@ export class ServiceAccountsDetails extends React.Component<Props> {
}
const tokens = secretsStore.items.filter(secret =>
secret.getNs() == serviceAccount.getNs() &&
secret.getAnnotations().some(annot => annot == `kubernetes.io/service-account.name: ${serviceAccount.getName()}`)
secret.getAnnotations().some(annot => annot == `kubernetes.io/service-account.name: ${serviceAccount.getName()}`),
);
const imagePullSecrets = serviceAccount.getImagePullSecrets();
@@ -38,7 +38,7 @@ export function getRoleRefSelectOption<T extends KubeObject>(item: T): SelectOpt
material={item.kind === "Role" ? "person" : "people"}
tooltip={{
preferredPositions: TooltipPosition.LEFT,
children: item.kind
children: item.kind,
}}
/>
{" "}
@@ -35,7 +35,7 @@ jest.mock(
app: {
getPath: () => "tmp",
},
})
}),
);
describe("<Welcome/>", () => {
@@ -56,8 +56,8 @@ describe("<Welcome/>", () => {
WelcomeBannerRegistry.getInstance().getItems = jest.fn().mockImplementationOnce(() => [
{
Banner: () => <div data-testid={testId} />
}
Banner: () => <div data-testid={testId} />,
},
]);
const { container } = render(<Welcome />);
@@ -70,12 +70,12 @@ describe("<Welcome/>", () => {
WelcomeBannerRegistry.getInstance().getItems = jest.fn().mockImplementationOnce(() => [
{
width: 100,
Banner: () => <div />
Banner: () => <div />,
},
{
width: 800,
Banner: () => <div />
}
Banner: () => <div />,
},
]);
render(<Welcome />);
@@ -85,10 +85,10 @@ describe("<Welcome/>", () => {
width: `800px`,
});
expect(screen.queryByTestId("welcome-text-container")).toHaveStyle({
width: `${defaultWidth}px`
width: `${defaultWidth}px`,
});
expect(screen.queryByTestId("welcome-menu-container")).toHaveStyle({
width: `${defaultWidth}px`
width: `${defaultWidth}px`,
});
});
});
+5 -5
View File
@@ -57,18 +57,18 @@ export class Welcome extends React.Component {
navButtonsAlwaysInvisible={true}
indicatorIconButtonProps={{
style: {
color: "var(--iconActiveBackground)"
}
color: "var(--iconActiveBackground)",
},
}}
activeIndicatorIconButtonProps={{
style: {
color: "var(--iconActiveColor)"
}
color: "var(--iconActiveColor)",
},
}}
interval={8000}
>
{welcomeBanner.map((item, index) =>
<item.Banner key={index} />
<item.Banner key={index} />,
)}
</Carousel>
) : <Icon svg="logo-lens" className="logo" />}
@@ -87,7 +87,7 @@ export class CronJobTriggerDialog extends Component<Props> {
try {
const cronjobDefinition = await cronJobApi.get({
name: cronjob.getName(),
namespace: cronjob.getNs()
namespace: cronjob.getNs(),
});
await jobApi.create({
@@ -104,7 +104,7 @@ export class CronJobTriggerDialog extends Component<Props> {
name: cronjob.metadata.name,
uid: cronjob.metadata.uid,
}],
} as KubeObjectMetadata
} as KubeObjectMetadata,
});
close();
@@ -44,7 +44,7 @@ const dialogState = observable.object({
@observer
export class DeploymentScaleDialog extends Component<Props> {
static defaultProps = {
deploymentApi
deploymentApi,
};
@observable ready = false;
@@ -41,7 +41,7 @@ export class JobStore extends KubeObjectStore<Job> {
getJobsByOwner(cronJob: CronJob) {
return this.items.filter(job =>
job.getNs() == cronJob.getNs() &&
job.getOwnerRefs().find(ref => ref.name === cronJob.getName() && ref.kind === cronJob.kind)
job.getOwnerRefs().find(ref => ref.name === cronJob.getName() && ref.kind === cronJob.kind),
);
}
@@ -81,7 +81,7 @@ export class Jobs extends React.Component<Props> {
condition && {
title: condition.type,
className: kebabCase(condition.type),
}
},
];
}}
/>
@@ -68,8 +68,8 @@ export class OverviewWorkloadStatus extends React.Component<Props> {
datasets: [{
data: [1],
backgroundColor: [ThemeStore.getInstance().activeTheme.colors.pieChartDefaultColor],
label: "Empty"
}]
label: "Empty",
}],
};
if (statuses.some(([, val]) => val > 0)) {
@@ -36,13 +36,13 @@ const tolerations: IToleration[] =[
key: "CriticalAddonsOnly",
operator: "Exist",
effect: "NoExecute",
tolerationSeconds: 3600
tolerationSeconds: 3600,
},
{
key: "node.kubernetes.io/not-ready",
operator: "NoExist",
effect: "NoSchedule",
tolerationSeconds: 7200
tolerationSeconds: 7200,
},
];
@@ -45,7 +45,7 @@ export const ContainerCharts = observer(() => {
memoryUsage,
memoryRequests,
memoryLimits,
fsUsage
fsUsage,
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
const datasets = [
@@ -56,22 +56,22 @@ export const ContainerCharts = observer(() => {
label: `Usage`,
tooltip: `CPU cores usage`,
borderColor: "#3D90CE",
data: cpuUsage.map(([x, y]) => ({ x, y }))
data: cpuUsage.map(([x, y]) => ({ x, y })),
},
{
id: "cpuRequests",
label: `Requests`,
tooltip: `CPU requests`,
borderColor: "#30b24d",
data: cpuRequests.map(([x, y]) => ({ x, y }))
data: cpuRequests.map(([x, y]) => ({ x, y })),
},
{
id: "cpuLimits",
label: `Limits`,
tooltip: `CPU limits`,
borderColor: chartCapacityColor,
data: cpuLimits.map(([x, y]) => ({ x, y }))
}
data: cpuLimits.map(([x, y]) => ({ x, y })),
},
],
// Memory
[
@@ -80,22 +80,22 @@ export const ContainerCharts = observer(() => {
label: `Usage`,
tooltip: `Memory usage`,
borderColor: "#c93dce",
data: memoryUsage.map(([x, y]) => ({ x, y }))
data: memoryUsage.map(([x, y]) => ({ x, y })),
},
{
id: "memoryRequests",
label: `Requests`,
tooltip: `Memory requests`,
borderColor: "#30b24d",
data: memoryRequests.map(([x, y]) => ({ x, y }))
data: memoryRequests.map(([x, y]) => ({ x, y })),
},
{
id: "memoryLimits",
label: `Limits`,
tooltip: `Memory limits`,
borderColor: chartCapacityColor,
data: memoryLimits.map(([x, y]) => ({ x, y }))
}
data: memoryLimits.map(([x, y]) => ({ x, y })),
},
],
// Filesystem
[
@@ -104,9 +104,9 @@ export const ContainerCharts = observer(() => {
label: `Usage`,
tooltip: `Bytes consumed on this filesystem`,
borderColor: "#ffc63d",
data: fsUsage.map(([x, y]) => ({ x, y }))
}
]
data: fsUsage.map(([x, y]) => ({ x, y })),
},
],
];
const options = tabId == 0 ? cpuOptions : memoryOptions;
@@ -52,7 +52,7 @@ export const PodCharts = observer(() => {
memoryUsage,
fsUsage,
networkReceive,
networkTransmit
networkTransmit,
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
const datasets = [
@@ -63,8 +63,8 @@ export const PodCharts = observer(() => {
label: `Usage`,
tooltip: `Container CPU cores usage`,
borderColor: "#3D90CE",
data: cpuUsage.map(([x, y]) => ({ x, y }))
}
data: cpuUsage.map(([x, y]) => ({ x, y })),
},
],
// Memory
[
@@ -73,7 +73,7 @@ export const PodCharts = observer(() => {
label: `Usage`,
tooltip: `Container memory usage`,
borderColor: "#c93dce",
data: memoryUsage.map(([x, y]) => ({ x, y }))
data: memoryUsage.map(([x, y]) => ({ x, y })),
},
],
// Network
@@ -83,15 +83,15 @@ export const PodCharts = observer(() => {
label: `Receive`,
tooltip: `Bytes received by all containers`,
borderColor: "#64c5d6",
data: networkReceive.map(([x, y]) => ({ x, y }))
data: networkReceive.map(([x, y]) => ({ x, y })),
},
{
id: `${id}-networkTransmit`,
label: `Transmit`,
tooltip: `Bytes transmitted from all containers`,
borderColor: "#46cd9e",
data: networkTransmit.map(([x, y]) => ({ x, y }))
}
data: networkTransmit.map(([x, y]) => ({ x, y })),
},
],
// Filesystem
[
@@ -100,9 +100,9 @@ export const PodCharts = observer(() => {
label: `Usage`,
tooltip: `Bytes consumed on this filesystem`,
borderColor: "#ffc63d",
data: fsUsage.map(([x, y]) => ({ x, y }))
}
]
data: fsUsage.map(([x, y]) => ({ x, y })),
},
],
];
return (
@@ -139,7 +139,7 @@ export const ContainerEnvironment = observer((props: Props) => {
return Object.keys(secret.data).map(key => {
const secretKeyRef = {
name: secret.getName(),
key
key,
};
const value = (
@@ -62,7 +62,7 @@ export class PodDetailsList extends React.Component<Props> {
componentDidMount() {
this.metricsWatcher.start(true);
disposeOnUnmount(this, [
reaction(() => this.props.owner, () => this.metricsWatcher.restart(true))
reaction(() => this.props.owner, () => this.metricsWatcher.restart(true)),
]);
}
@@ -44,7 +44,7 @@ export class PodDetailsSecrets extends Component<Props> {
pod.getSecrets().map(secretName => secretsApi.get({
name: secretName,
namespace: pod.getNs(),
}))
})),
);
secrets.forEach(secret => secret && this.secrets.set(secret.getName(), secret));
@@ -63,7 +63,7 @@ export class PodDetails extends React.Component<Props> {
reaction(() => this.props.object, () => {
this.metrics = null;
this.containerMetrics = null;
})
}),
]);
}
@@ -79,7 +79,7 @@ export class PodsStore extends KubeObjectStore<Pod> {
const metrics = this.kubeMetrics.find(metric => {
return [
metric.getName() === pod.getName(),
metric.getNs() === pod.getNs()
metric.getNs() === pod.getNs(),
].every(v => v);
});
@@ -97,7 +97,7 @@ export class PodsStore extends KubeObjectStore<Pod> {
return {
cpu: total.cpu + cpuUnitsToNumber(cpu),
memory: total.memory + unitsToBytes(memory)
memory: total.memory + unitsToBytes(memory),
};
}, empty);
}
@@ -67,7 +67,7 @@ export class Pods extends React.Component<Props> {
className={cssNames(state, { ready })}
tooltip={{
formatters: {
tableView: true
tableView: true,
},
children: Object.keys(state).map(status => (
<Fragment key={status}>
@@ -81,7 +81,7 @@ export class Pods extends React.Component<Props> {
</div>
))}
</Fragment>
))
)),
}}
/>
</Fragment>
@@ -153,7 +153,7 @@ export class Pods extends React.Component<Props> {
: "",
pod.getQosClass(),
pod.getAge(),
{ title: pod.getStatusMessage(), className: kebabCase(pod.getStatusMessage()) }
{ title: pod.getStatusMessage(), className: kebabCase(pod.getStatusMessage()) },
]}
/>
);
@@ -40,7 +40,7 @@ const dummyReplicaSet: ReplicaSet = {
spec: {
replicas: 1,
selector: {
matchLabels: { "label": "label" }
matchLabels: { "label": "label" },
},
template: {
metadata: {
@@ -115,7 +115,7 @@ describe("<ReplicaSetScaleDialog />", () => {
beforeEach(() => {
replicaSetApi = new ReplicaSetApi({
objectConstructor: ReplicaSet
objectConstructor: ReplicaSet,
});
});
@@ -44,7 +44,7 @@ const dialogState = observable.object({
@observer
export class ReplicaSetScaleDialog extends Component<Props> {
static defaultProps = {
replicaSetApi
replicaSetApi,
};
@observable ready = false;
@@ -63,7 +63,7 @@ export class ReplicaSetStore extends KubeObjectStore<ReplicaSet> {
getReplicaSetsByOwner(deployment: Deployment) {
return this.items.filter(replicaSet =>
!!replicaSet.getOwnerRefs().find(owner => owner.uid === deployment.getId())
!!replicaSet.getOwnerRefs().find(owner => owner.uid === deployment.getId()),
);
}
}
@@ -42,7 +42,7 @@ const dummyStatefulSet: StatefulSet = {
serviceName: "dummy",
replicas: 1,
selector: {
matchLabels: { "label": "label" }
matchLabels: { "label": "label" },
},
template: {
metadata: {
@@ -125,7 +125,7 @@ describe("<StatefulSetScaleDialog />", () => {
beforeEach(() => {
statefulSetApi = new StatefulSetApi({
objectConstructor: StatefulSet
objectConstructor: StatefulSet,
});
});
@@ -44,7 +44,7 @@ const dialogState = observable.object({
@observer
export class StatefulSetScaleDialog extends Component<Props> {
static defaultProps = {
statefulSetApi
statefulSetApi,
};
@observable ready = false;
@observable currentReplicas = 0;
@@ -43,8 +43,8 @@ export class Workloads extends React.Component {
title: "Overview",
component: WorkloadsOverview,
url: routes.overviewURL(),
routePath: routes.overviewRoute.path.toString()
}
routePath: routes.overviewRoute.path.toString(),
},
];
if (isAllowedResource("pods")) {
@@ -52,7 +52,7 @@ export class Workloads extends React.Component {
title: "Pods",
component: Pods,
url: routes.podsURL(),
routePath: routes.podsRoute.path.toString()
routePath: routes.podsRoute.path.toString(),
});
}
@@ -36,13 +36,13 @@ const spec = {
terminationGracePeriodSeconds: 1,
dnsPolicy: "no",
hostPID: true,
schedulerName: "string"
}
}
}
schedulerName: "string",
},
},
},
},
successfulJobsHistoryLimit: 1,
failedJobsHistoryLimit: 1
failedJobsHistoryLimit: 1,
};
const scheduledCronJob = new CronJob({
@@ -64,7 +64,7 @@ const suspendedCronJob = new CronJob({
resourceVersion: "suspendedCronJob",
uid: "suspendedCronJob",
namespace: "default",
}
},
});
const otherSuspendedCronJob = new CronJob({
@@ -88,7 +88,7 @@ describe("CronJob Store tests", () => {
const statuses = Object.entries(cronJobStore.getStatuses([
suspendedCronJob,
otherSuspendedCronJob,
scheduledCronJob
scheduledCronJob,
]));
expect(statuses).toEqual([
@@ -67,7 +67,7 @@ const runningPod = new Pod({
ownerReferences: [{
uid: "runningDaemonSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -85,7 +85,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -104,7 +104,7 @@ const pendingPod = new Pod({
ownerReferences: [{
uid: "pendingDaemonSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -118,7 +118,7 @@ const failedPod = new Pod({
ownerReferences: [{
uid: "failedDaemonSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -135,7 +135,7 @@ describe("DaemonSet Store tests", () => {
podsStore.items = observable.array([
runningPod,
failedPod,
pendingPod
pendingPod,
]);
});
@@ -143,7 +143,7 @@ describe("DaemonSet Store tests", () => {
const statuses = Object.entries(daemonSetStore.getStatuses([
failedDaemonSet,
runningDaemonSet,
pendingDaemonSet
pendingDaemonSet,
]));
expect(statuses).toEqual([
@@ -31,7 +31,7 @@ const spec = {
resources: {
requests: {
cpu: "2",
memory: "2Gi"
memory: "2Gi",
},
},
terminationMessagePath: "test",
@@ -44,7 +44,7 @@ const spec = {
serviceAccountName: "test",
serviceAccount: "test",
securityContext: {},
schedulerName: "test"
schedulerName: "test",
};
const runningDeployment = new Deployment({
@@ -65,17 +65,17 @@ runningDeployment.spec = {
type: "test",
rollingUpdate: {
maxSurge: 1,
maxUnavailable: 1
}
maxUnavailable: 1,
},
},
template: {
metadata: {
labels: {
"name": "kube-state-metrics"
}
"name": "kube-state-metrics",
},
},
spec
}
spec,
},
};
const failedDeployment = new Deployment({
@@ -96,17 +96,17 @@ failedDeployment.spec = {
type: "test",
rollingUpdate: {
maxSurge: 1,
maxUnavailable: 1
}
maxUnavailable: 1,
},
},
template: {
metadata: {
labels: {
"name": "failedpods"
}
"name": "failedpods",
},
},
spec
}
spec,
},
};
const pendingDeployment = new Deployment({
@@ -127,17 +127,17 @@ pendingDeployment.spec = {
type: "test",
rollingUpdate: {
maxSurge: 1,
maxUnavailable: 1
}
maxUnavailable: 1,
},
},
template: {
metadata: {
labels: {
"mydeployment": "true"
}
"mydeployment": "true",
},
},
spec
}
spec,
},
};
const runningPod = new Pod({
@@ -148,9 +148,9 @@ const runningPod = new Pod({
resourceVersion: "foobar",
uid: "foobar",
labels: {
"name": "kube-state-metrics"
"name": "kube-state-metrics",
},
namespace: "default"
namespace: "default",
},
});
@@ -168,7 +168,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -185,9 +185,9 @@ const pendingPod = new Pod({
resourceVersion: "foobar",
uid: "foobar-pending",
labels: {
"mydeployment": "true"
"mydeployment": "true",
},
namespace: "default"
namespace: "default",
},
});
@@ -199,9 +199,9 @@ const failedPod = new Pod({
resourceVersion: "foobar",
uid: "foobar-failed",
labels: {
"name": "failedpods"
"name": "failedpods",
},
namespace: "default"
namespace: "default",
},
});
@@ -219,7 +219,7 @@ describe("Deployment Store tests", () => {
podsStore.items = observable.array([
runningPod,
failedPod,
pendingPod
pendingPod,
]);
});
@@ -227,7 +227,7 @@ describe("Deployment Store tests", () => {
const statuses = Object.entries(deploymentStore.getStatuses([
failedDeployment,
runningDeployment,
pendingDeployment
pendingDeployment,
]));
expect(statuses).toEqual([
@@ -78,7 +78,7 @@ const runningPod = new Pod({
ownerReferences: [{
uid: "runningJob",
}],
namespace: "default"
namespace: "default",
},
});
@@ -96,7 +96,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -115,7 +115,7 @@ const pendingPod = new Pod({
ownerReferences: [{
uid: "pendingJob",
}],
namespace: "default"
namespace: "default",
},
});
@@ -129,7 +129,7 @@ const failedPod = new Pod({
ownerReferences: [{
uid: "failedJob",
}],
namespace: "default"
namespace: "default",
},
});
@@ -168,7 +168,7 @@ describe("Job Store tests", () => {
runningPod,
failedPod,
pendingPod,
succeededPod
succeededPod,
]);
});
@@ -177,7 +177,7 @@ describe("Job Store tests", () => {
failedJob,
succeededJob,
runningJob,
pendingJob
pendingJob,
]));
expect(statuses).toEqual([
@@ -27,7 +27,7 @@ describe("formatNodeTaint tests", () => {
effect: "Foo",
key: "hello",
timeAdded: "pre",
value: "a"
value: "a",
})).toBe("hello=a:Foo");
});
@@ -46,7 +46,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -128,7 +128,7 @@ describe("Pod Store tests", () => {
succeededPod,
failedPod,
evictedPod,
evictedPod
evictedPod,
]));
expect(statuses).toEqual([
@@ -67,7 +67,7 @@ const runningPod = new Pod({
ownerReferences: [{
uid: "runningReplicaSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -85,7 +85,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -104,7 +104,7 @@ const pendingPod = new Pod({
ownerReferences: [{
uid: "pendingReplicaSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -118,7 +118,7 @@ const failedPod = new Pod({
ownerReferences: [{
uid: "failedReplicaSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -135,7 +135,7 @@ describe("ReplicaSet Store tests", () => {
podsStore.items = observable.array([
runningPod,
failedPod,
pendingPod
pendingPod,
]);
});
@@ -143,7 +143,7 @@ describe("ReplicaSet Store tests", () => {
const statuses = Object.entries(replicaSetStore.getStatuses([
failedReplicaSet,
runningReplicaSet,
pendingReplicaSet
pendingReplicaSet,
]));
expect(statuses).toEqual([
@@ -67,7 +67,7 @@ const runningPod = new Pod({
ownerReferences: [{
uid: "runningStatefulSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -85,7 +85,7 @@ runningPod.status = {
status: "True",
lastProbeTime: 1,
lastTransitionTime: "1",
}
},
],
hostIP: "10.0.0.1",
podIP: "10.0.0.1",
@@ -104,7 +104,7 @@ const pendingPod = new Pod({
ownerReferences: [{
uid: "pendingStatefulSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -118,7 +118,7 @@ const failedPod = new Pod({
ownerReferences: [{
uid: "failedStatefulSet",
}],
namespace: "default"
namespace: "default",
},
});
@@ -136,7 +136,7 @@ describe("StatefulSet Store tests", () => {
podsStore.items = observable.array([
runningPod,
failedPod,
pendingPod
pendingPod,
]);
});
@@ -144,7 +144,7 @@ describe("StatefulSet Store tests", () => {
const statuses = Object.entries(statefulSetStore.getStatuses([
failedStatefulSet,
runningStatefulSet,
pendingStatefulSet
pendingStatefulSet,
]));
expect(statuses).toEqual([
+2 -2
View File
@@ -48,7 +48,7 @@ export class Animate extends React.Component<AnimateProps> {
@observable isVisible = !!this.props.enter;
@observable statusClassName = {
enter: false,
leave: false
leave: false,
};
constructor(props: AnimateProps) {
@@ -68,7 +68,7 @@ export class Animate extends React.Component<AnimateProps> {
}, {
delay: Animate.VISIBILITY_DELAY_MS,
fireImmediately: true,
})
}),
]);
}
+3 -3
View File
@@ -105,8 +105,8 @@ export class App extends React.Component {
name: "cluster",
action: "open",
params: {
clusterId: App.clusterId
}
clusterId: App.clusterId,
},
});
});
window.addEventListener("online", () => {
@@ -132,7 +132,7 @@ export class App extends React.Component {
preload: true,
}),
watchHistoryState()
watchHistoryState(),
]);
}
Loaded 100 of 406 files, more files were not shown because too many files have changed in this diff. Show more