diff --git a/.eslintrc.js b/.eslintrc.js index c246ccce01..76ba63ad07 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -254,6 +254,12 @@ module.exports = { ], rules: { "no-restricted-imports": ["error", { + "paths": [ + { + "name": ".", + "message": "No importing from local index.ts(x?) file. A common way to make circular dependencies.", + }, + ], "patterns": [ { "group": [ diff --git a/src/common/k8s-api/endpoints/config-map.api.injectable.ts b/src/common/k8s-api/endpoints/config-map.api.injectable.ts index 63b9152580..27a60da940 100644 --- a/src/common/k8s-api/endpoints/config-map.api.injectable.ts +++ b/src/common/k8s-api/endpoints/config-map.api.injectable.ts @@ -4,8 +4,8 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import assert from "assert"; -import { ConfigMapApi } from "."; import { createStoresAndApisInjectionToken } from "../create-stores-apis.token"; +import { ConfigMapApi } from "./config-map.api"; const configMapApiInjectable = getInjectable({ id: "config-map-api", diff --git a/src/extensions/renderer-api/kube-object-status.ts b/src/common/k8s-api/kube-object-status.ts similarity index 100% rename from src/extensions/renderer-api/kube-object-status.ts rename to src/common/k8s-api/kube-object-status.ts diff --git a/src/extensions/renderer-api/k8s-api.ts b/src/extensions/renderer-api/k8s-api.ts index 291869936c..9c0efed85a 100644 --- a/src/extensions/renderer-api/k8s-api.ts +++ b/src/extensions/renderer-api/k8s-api.ts @@ -84,7 +84,7 @@ export * from "../common-api/k8s-api"; export { KubeObjectStatusLevel, type KubeObjectStatus, -} from "./kube-object-status"; +} from "../../common/k8s-api/kube-object-status"; // stores export type { EventStore } from "../../renderer/components/+events/store"; diff --git a/src/renderer/components/kube-object-status-icon/kube-object-status-icon.test.tsx b/src/renderer/components/kube-object-status-icon/kube-object-status-icon.test.tsx index 6d15449538..43743a448e 100644 --- a/src/renderer/components/kube-object-status-icon/kube-object-status-icon.test.tsx +++ b/src/renderer/components/kube-object-status-icon/kube-object-status-icon.test.tsx @@ -8,7 +8,7 @@ import type { DiRender } from "../test-utils/renderFor"; import { renderFor } from "../test-utils/renderFor"; import { computed } from "mobx"; import { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; -import { KubeObjectStatusLevel } from "../../../extensions/renderer-api/kube-object-status"; +import { KubeObjectStatusLevel } from "../../../common/k8s-api/kube-object-status"; import { KubeObject } from "../../../common/k8s-api/kube-object"; import { KubeObjectStatusIcon } from "./kube-object-status-icon"; import React from "react"; diff --git a/src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx b/src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx index 9cfc6fd4b6..ee85ad6753 100644 --- a/src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx +++ b/src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx @@ -8,10 +8,11 @@ import "./kube-object-status-icon.scss"; import React from "react"; import { Icon } from "../icon"; import { cssNames, formatDuration, getOrInsert } from "../../utils"; -import type { KubeObject, KubeObjectStatus } from "../../..//extensions/renderer-api/k8s-api"; -import { KubeObjectStatusLevel } from "../../..//extensions/renderer-api/k8s-api"; import { withInjectables } from "@ogre-tools/injectable-react"; import statusesForKubeObjectInjectable from "./statuses-for-kube-object.injectable"; +import type { KubeObject } from "../../../common/k8s-api/kube-object"; +import type { KubeObjectStatus } from "../../../common/k8s-api/kube-object-status"; +import { KubeObjectStatusLevel } from "../../../common/k8s-api/kube-object-status"; function statusClassName(level: KubeObjectStatusLevel): string { switch (level) { diff --git a/src/renderer/components/kube-object-status-icon/kube-object-status-registration.ts b/src/renderer/components/kube-object-status-icon/kube-object-status-registration.ts index 17b8f86196..01fd22b203 100644 --- a/src/renderer/components/kube-object-status-icon/kube-object-status-registration.ts +++ b/src/renderer/components/kube-object-status-icon/kube-object-status-registration.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import type { KubeObject } from "../../../common/k8s-api/kube-object"; -import type { KubeObjectStatus } from "../../../extensions/renderer-api/kube-object-status"; +import type { KubeObjectStatus } from "../../../common/k8s-api/kube-object-status"; export interface KubeObjectStatusRegistration { kind: string;