From fe7716431108188d430c6790c4f78cfec1fabbd7 Mon Sep 17 00:00:00 2001
From: Janne Savolainen
Date: Thu, 1 Jun 2023 09:01:26 +0300
Subject: [PATCH 01/20] Bump ogre-tools for linkable improvements
Signed-off-by: Janne Savolainen
---
open-lens/package.json | 10 +-
package-lock.json | 208 +++++++++---------
package.json | 2 +-
.../keyboard-shortcuts/package.json | 8 +-
packages/cluster-settings/package.json | 2 +-
packages/cluster-sidebar/package.json | 6 +-
packages/core/package.json | 12 +-
packages/infrastructure/webpack/package.json | 10 +-
packages/kube-object/package.json | 2 +-
packages/kubectl-versions/package.json | 2 +-
packages/legacy-global-di/package.json | 2 +-
packages/list-layout/package.json | 2 +-
packages/logger/package.json | 6 +-
packages/metrics/package.json | 2 +-
packages/routing/package.json | 8 +-
.../application/agnostic/package.json | 6 +-
.../application/electron-main/package.json | 6 +-
.../legacy-extensions/package.json | 2 +-
.../feature-core/package.json | 2 +-
.../messaging/agnostic/package.json | 6 +-
.../messaging/computed-channel/package.json | 8 +-
.../messaging/electron/main/package.json | 6 +-
.../messaging/electron/renderer/package.json | 4 +-
.../message-bridge-fake/package.json | 6 +-
.../react-application/package.json | 10 +-
packages/ui-components/animate/package.json | 6 +-
.../ui-components/error-boundary/package.json | 4 +-
packages/ui-components/icon/package.json | 6 +-
.../resizing-anchor/package.json | 6 +-
.../kube-api-specifics/package.json | 2 +-
.../utility-features/kube-api/package.json | 4 +-
.../utility-features/run-many/package.json | 4 +-
.../utility-features/test-utils/package.json | 4 +-
33 files changed, 187 insertions(+), 187 deletions(-)
diff --git a/open-lens/package.json b/open-lens/package.json
index 54eb19bce8..0e6e0529e6 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -217,11 +217,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
diff --git a/package-lock.json b/package-lock.json
index 237ae036d6..b34545faac 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"open-lens"
],
"devDependencies": {
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"adr": "^1.4.3",
"cross-env": "^7.0.3",
"lerna": "^6.6.1",
@@ -6066,26 +6066,26 @@
}
},
"node_modules/@ogre-tools/fp": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.1.0.tgz",
- "integrity": "sha512-xgS9JONX2fhqcyAPABMyW9q7QutAfjSvdCxufirmbNSO+Syesr2zTkGjp4Aja9UZPuHBo46RoA9iVl33Lkb1Ww==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.1.1.tgz",
+ "integrity": "sha512-g5nXQ0+3wk+OBVuXEzrTq6ILUWq6qNRkKCzvE7ky/22H2L/5syrXb4ROv0vyaiUictRZhV5oZfqQ3/MeCmVuAg==",
"peerDependencies": {
"lodash": "^4.17.21"
}
},
"node_modules/@ogre-tools/injectable": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.1.0.tgz",
- "integrity": "sha512-jqUNCg4nYNGnpb2Ymi+FSBJjWx+PnJniclZrfKyCV/Nafbfyt0+f22V0ag3qc9SHc9WXNg4wqVdkK4GCE56oZg==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.1.1.tgz",
+ "integrity": "sha512-9HLgdjlDWwN45HYc+ElMc4yoZtxtvhKTQf3Ic7KHQSMR8H0tR8jaq4M+cY38gc+dzb75zCJxi0cgUVhgCN/FZA==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"lodash": "^4.17.21"
}
},
"node_modules/@ogre-tools/injectable-extension-for-auto-registration": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.1.0.tgz",
- "integrity": "sha512-n4XGAfUyCR6pXQxzJ4v9VT7ae8hkhzSOxyCFn33uX6CZvrJy1PtBwHX2CFZ12wfi4+XLK6YEmTMuGnYYEVpF9Q==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.1.1.tgz",
+ "integrity": "sha512-nVIhjhQ82D/uL/R/iAJTnThjg4T44hyUihdirlGeSAn2klw05Ub+pZlhzEk2/zw84/oERymBxe+qP97NMPp7BQ==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6093,9 +6093,9 @@
}
},
"node_modules/@ogre-tools/injectable-extension-for-mobx": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.1.0.tgz",
- "integrity": "sha512-nrnzYpORh+TQsEsitjVnb1tmg7PaZWZjDLT8zH0M9xJo/x5/6YtQJIpzc3ANpWcJpYkv9hguv37+t7qwH41N3w==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.1.1.tgz",
+ "integrity": "sha512-5LYmH5r9qGbz9uaaoYxCsVTkwlc4f9kt9QnCjh5yOW6YH5xi1VYaghDLpie7zRJ6Og5+WYNBS0Yn+m2tVbFHLw==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6104,9 +6104,9 @@
}
},
"node_modules/@ogre-tools/injectable-react": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.1.0.tgz",
- "integrity": "sha512-yNNy0b7NHe1UNB1ylqGgLFB3gbN++QT+Lr352PH2B7n3sC0qBXGg5EIpEimDZ0VMuRNOQHRfItMI+qMBTEqfgg==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.1.1.tgz",
+ "integrity": "sha512-Tl5xAXHlKxefd2CeGYyhnpHU4rZhIDq1A14JKg0HwDYZKS2usiZuIcEn5PkefsZOTLhluBKAp/J0zAlv95ykqA==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6118,13 +6118,13 @@
}
},
"node_modules/@ogre-tools/linkable": {
- "version": "17.1.0",
- "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.1.0.tgz",
- "integrity": "sha512-ReRGy3xgKYOPm/HQpbxOhPOUkR6CuRvg6CZlda4mPs3US4JRotnE9Wg1G4Yo+UEd01lhUwSLe15dOyWHiV1tzQ==",
+ "version": "17.1.1",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.1.1.tgz",
+ "integrity": "sha512-x4mkqiehxxt8KNkFcsA3WB+CKSPB6osIy0DWvK9VefsBdOXj1M/uXMoKRq4yJYNm7hGOzYDTGgpvHwJ2kfCBdg==",
"dependencies": {
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"fast-glob": "^3.2.12",
"fs-extra": "^9.0.1",
"lodash": "^4.17.21",
@@ -34030,11 +34030,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
@@ -34185,10 +34185,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"lodash": "^4.17.21",
"react": "^17 || ^18"
}
@@ -34202,7 +34202,7 @@
"rimraf": "^4.4.1"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/cluster-sidebar": {
@@ -34218,9 +34218,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.4",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"mobx": "^6.9.0",
"react": "^17.0.2"
}
@@ -34234,7 +34234,7 @@
"@k8slens/messaging-fake-bridge": "^1.0.0",
"@k8slens/react-testing-library-discovery": "^1.0.0",
"@k8slens/test-utils": "^1.0.0",
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"@sentry/types": "^6.19.7",
"@side/jest-runtime": "^1.1.0",
"@swc/cli": "^0.1.62",
@@ -34371,11 +34371,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
@@ -34902,7 +34902,7 @@
"version": "6.5.0",
"license": "MIT",
"dependencies": {
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"@types/webpack-env": "^1.18.0",
"css-loader": "^6.7.2",
"fork-ts-checker-webpack-plugin": "^7.3.0",
@@ -34922,14 +34922,14 @@
"devDependencies": {
"@async-fn/jest": "^1.6.4",
"@k8slens/typescript": "^6.5.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/test-utils": "^17.1.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/test-utils": "^17.1.1",
"ts-node": "^10.9.1",
"webpack-node-externals": "^3.0.0"
},
"peerDependencies": {
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"lodash": "^4.17.21"
}
},
@@ -34991,7 +34991,7 @@
},
"peerDependencies": {
"@k8slens/utilities": "^1.0.0-alpha.2",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"auto-bind": "^4.0.0",
"moment": "^2.29.4",
"rfc6902": "^5.0.1",
@@ -35013,7 +35013,7 @@
"typed-regex": "^0.0.8"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/legacy-extension-example": {
@@ -35161,7 +35161,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/list-layout": {
@@ -35177,7 +35177,7 @@
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"react": "^17.0.2"
}
},
@@ -35193,9 +35193,9 @@
},
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"lodash": "^4.17.21",
"winston": "^3.8.2"
}
@@ -35240,7 +35240,7 @@
},
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"react": "^17.0.2"
}
},
@@ -35324,10 +35324,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
@@ -35368,9 +35368,9 @@
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"lodash": "^4.17.15"
}
},
@@ -35382,14 +35382,14 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/eslint-config": "^6.5.0",
"@k8slens/webpack": "^6.5.0",
- "@ogre-tools/test-utils": "^17.1.0"
+ "@ogre-tools/test-utils": "^17.1.1"
},
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35412,7 +35412,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/technical-features/feature-core": {
@@ -35424,7 +35424,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/technical-features/messaging/agnostic": {
@@ -35439,9 +35439,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.7.0"
}
@@ -35460,10 +35460,10 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.8.0"
}
@@ -35480,9 +35480,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35501,8 +35501,8 @@
"@k8slens/messaging": "^1.0.0-alpha.1",
"@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35519,9 +35519,9 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/feature-core": "^6.5.0-alpha.2",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.9.0"
}
@@ -35540,11 +35540,11 @@
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.2",
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
"mobx-react": "^7.6.0",
@@ -35563,9 +35563,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"react": "^17.0.2"
}
},
@@ -35624,8 +35624,8 @@
"@k8slens/button": "^1.0.0-alpha.5",
"@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
@@ -35655,9 +35655,9 @@
"@k8slens/routing": "^1.0.0-alpha.8",
"@k8slens/tooltip": "^1.0.0-alpha.10",
"@k8slens/utilities": "^1.0.0-alpha.7",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"auto-bind": "^4.0.0",
"dompurify": "^2.4.4",
"history": "^4.10.1",
@@ -35684,9 +35684,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"auto-bind": "^4.0.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
@@ -35783,8 +35783,8 @@
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"byline": "^5.0.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
@@ -35803,7 +35803,7 @@
},
"peerDependencies": {
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
},
"packages/utility-features/react-testing-library-discovery": {
@@ -35828,8 +35828,8 @@
"peerDependencies": {
"@k8slens/test-utils": "^1.0.0-alpha.3",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"type-fest": "^2.19.0",
"typed-emitter": "^1.4.0",
"uuid": "^8.3.2"
@@ -35859,8 +35859,8 @@
"@types/lodash": "^4.14.191"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@testing-library/react": "^12.1.5",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
diff --git a/package.json b/package.json
index e8f4d4cc71..abcf9be812 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"@types/react": "^17"
},
"devDependencies": {
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"adr": "^1.4.3",
"cross-env": "^7.0.3",
"lerna": "^6.6.1",
diff --git a/packages/business-features/keyboard-shortcuts/package.json b/packages/business-features/keyboard-shortcuts/package.json
index c347c5d130..b3f9d4506c 100644
--- a/packages/business-features/keyboard-shortcuts/package.json
+++ b/packages/business-features/keyboard-shortcuts/package.json
@@ -33,10 +33,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"lodash": "^4.17.21",
"react": "^17 || ^18"
},
diff --git a/packages/cluster-settings/package.json b/packages/cluster-settings/package.json
index 3d1f3ab5e6..87d9f130ce 100644
--- a/packages/cluster-settings/package.json
+++ b/packages/cluster-settings/package.json
@@ -23,6 +23,6 @@
"rimraf": "^4.4.1"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
}
}
diff --git a/packages/cluster-sidebar/package.json b/packages/cluster-sidebar/package.json
index cb3e4cded8..9cfb2e6df8 100644
--- a/packages/cluster-sidebar/package.json
+++ b/packages/cluster-sidebar/package.json
@@ -33,9 +33,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.4",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"mobx": "^6.9.0",
"react": "^17.0.2"
},
diff --git a/packages/core/package.json b/packages/core/package.json
index 988f573300..6b9fb29a86 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -105,7 +105,7 @@
"@k8slens/messaging-fake-bridge": "^1.0.0",
"@k8slens/react-testing-library-discovery": "^1.0.0",
"@k8slens/test-utils": "^1.0.0",
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"@sentry/types": "^6.19.7",
"@side/jest-runtime": "^1.1.0",
"@swc/cli": "^0.1.62",
@@ -239,11 +239,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
diff --git a/packages/infrastructure/webpack/package.json b/packages/infrastructure/webpack/package.json
index 36886b1ecf..c36e882de6 100644
--- a/packages/infrastructure/webpack/package.json
+++ b/packages/infrastructure/webpack/package.json
@@ -25,7 +25,7 @@
"test:unit": "jest --coverage --runInBand"
},
"dependencies": {
- "@ogre-tools/linkable": "^17.1.0",
+ "@ogre-tools/linkable": "^17.1.1",
"@types/webpack-env": "^1.18.0",
"css-loader": "^6.7.2",
"fork-ts-checker-webpack-plugin": "^7.3.0",
@@ -40,15 +40,15 @@
"webpack-cli": "^4.10.0"
},
"peerDependencies": {
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"lodash": "^4.17.21"
},
"devDependencies": {
"@async-fn/jest": "^1.6.4",
"@k8slens/typescript": "^6.5.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/test-utils": "^17.1.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/test-utils": "^17.1.1",
"ts-node": "^10.9.1",
"webpack-node-externals": "^3.0.0"
},
diff --git a/packages/kube-object/package.json b/packages/kube-object/package.json
index ac91de2e3b..475379ca21 100644
--- a/packages/kube-object/package.json
+++ b/packages/kube-object/package.json
@@ -32,7 +32,7 @@
},
"peerDependencies": {
"@k8slens/utilities": "^1.0.0-alpha.2",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"auto-bind": "^4.0.0",
"moment": "^2.29.4",
"rfc6902": "^5.0.1",
diff --git a/packages/kubectl-versions/package.json b/packages/kubectl-versions/package.json
index f1d2dc8145..096831a5b3 100644
--- a/packages/kubectl-versions/package.json
+++ b/packages/kubectl-versions/package.json
@@ -27,7 +27,7 @@
"test": "jest --coverage --runInBand"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
},
"devDependencies": {
"@k8slens/webpack": "^6.5.0",
diff --git a/packages/legacy-global-di/package.json b/packages/legacy-global-di/package.json
index 32a72a6bf7..e1e30d804b 100644
--- a/packages/legacy-global-di/package.json
+++ b/packages/legacy-global-di/package.json
@@ -31,7 +31,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/list-layout/package.json b/packages/list-layout/package.json
index a79647b7ee..07a2d8d730 100644
--- a/packages/list-layout/package.json
+++ b/packages/list-layout/package.json
@@ -34,7 +34,7 @@
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/logger/package.json b/packages/logger/package.json
index f4ff2ca22c..fe4b0efb8b 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -31,9 +31,9 @@
},
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"lodash": "^4.17.21",
"winston": "^3.8.2"
},
diff --git a/packages/metrics/package.json b/packages/metrics/package.json
index d00c0bbb25..c115f1860e 100644
--- a/packages/metrics/package.json
+++ b/packages/metrics/package.json
@@ -33,7 +33,7 @@
},
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/routing/package.json b/packages/routing/package.json
index 73fdf0f93e..5acb8c5413 100644
--- a/packages/routing/package.json
+++ b/packages/routing/package.json
@@ -31,10 +31,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
diff --git a/packages/technical-features/application/agnostic/package.json b/packages/technical-features/application/agnostic/package.json
index 3c47cb5d81..b61ca679b0 100644
--- a/packages/technical-features/application/agnostic/package.json
+++ b/packages/technical-features/application/agnostic/package.json
@@ -34,9 +34,9 @@
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"lodash": "^4.17.15"
},
"devDependencies": {
diff --git a/packages/technical-features/application/electron-main/package.json b/packages/technical-features/application/electron-main/package.json
index ca580c2302..772135ce61 100644
--- a/packages/technical-features/application/electron-main/package.json
+++ b/packages/technical-features/application/electron-main/package.json
@@ -34,8 +34,8 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
@@ -43,6 +43,6 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/eslint-config": "^6.5.0",
"@k8slens/webpack": "^6.5.0",
- "@ogre-tools/test-utils": "^17.1.0"
+ "@ogre-tools/test-utils": "^17.1.1"
}
}
diff --git a/packages/technical-features/application/legacy-extensions/package.json b/packages/technical-features/application/legacy-extensions/package.json
index ac53f14ab0..ba901d70a1 100644
--- a/packages/technical-features/application/legacy-extensions/package.json
+++ b/packages/technical-features/application/legacy-extensions/package.json
@@ -30,7 +30,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/technical-features/feature-core/package.json b/packages/technical-features/feature-core/package.json
index 2916b623f0..5ad6555e03 100644
--- a/packages/technical-features/feature-core/package.json
+++ b/packages/technical-features/feature-core/package.json
@@ -31,7 +31,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/technical-features/messaging/agnostic/package.json b/packages/technical-features/messaging/agnostic/package.json
index 9efbc31b8d..c9173578dd 100644
--- a/packages/technical-features/messaging/agnostic/package.json
+++ b/packages/technical-features/messaging/agnostic/package.json
@@ -34,9 +34,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.7.0"
},
diff --git a/packages/technical-features/messaging/computed-channel/package.json b/packages/technical-features/messaging/computed-channel/package.json
index 7f9a559e91..4a487b27a9 100644
--- a/packages/technical-features/messaging/computed-channel/package.json
+++ b/packages/technical-features/messaging/computed-channel/package.json
@@ -34,10 +34,10 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.8.0"
},
diff --git a/packages/technical-features/messaging/electron/main/package.json b/packages/technical-features/messaging/electron/main/package.json
index d05925fb2c..cc10f18e60 100644
--- a/packages/technical-features/messaging/electron/main/package.json
+++ b/packages/technical-features/messaging/electron/main/package.json
@@ -34,9 +34,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
diff --git a/packages/technical-features/messaging/electron/renderer/package.json b/packages/technical-features/messaging/electron/renderer/package.json
index 32d131c0f5..7a928aeee1 100644
--- a/packages/technical-features/messaging/electron/renderer/package.json
+++ b/packages/technical-features/messaging/electron/renderer/package.json
@@ -36,8 +36,8 @@
"@k8slens/messaging": "^1.0.0-alpha.1",
"@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
diff --git a/packages/technical-features/messaging/message-bridge-fake/package.json b/packages/technical-features/messaging/message-bridge-fake/package.json
index ca60bc5823..757b39d1a4 100644
--- a/packages/technical-features/messaging/message-bridge-fake/package.json
+++ b/packages/technical-features/messaging/message-bridge-fake/package.json
@@ -34,9 +34,9 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/feature-core": "^6.5.0-alpha.2",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
"lodash": "^4.17.21",
"mobx": "^6.9.0"
},
diff --git a/packages/technical-features/react-application/package.json b/packages/technical-features/react-application/package.json
index 4ed3902820..2c3879f28b 100644
--- a/packages/technical-features/react-application/package.json
+++ b/packages/technical-features/react-application/package.json
@@ -33,11 +33,11 @@
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.2",
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
"mobx-react": "^7.6.0",
diff --git a/packages/ui-components/animate/package.json b/packages/ui-components/animate/package.json
index 10b038cbef..dcb140c935 100644
--- a/packages/ui-components/animate/package.json
+++ b/packages/ui-components/animate/package.json
@@ -35,9 +35,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable-react": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/ui-components/error-boundary/package.json b/packages/ui-components/error-boundary/package.json
index 1f134af283..21292d8d73 100644
--- a/packages/ui-components/error-boundary/package.json
+++ b/packages/ui-components/error-boundary/package.json
@@ -36,8 +36,8 @@
"@k8slens/button": "^1.0.0-alpha.5",
"@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
diff --git a/packages/ui-components/icon/package.json b/packages/ui-components/icon/package.json
index dde43e74f5..35f0ebbb2a 100644
--- a/packages/ui-components/icon/package.json
+++ b/packages/ui-components/icon/package.json
@@ -40,9 +40,9 @@
"@k8slens/tooltip": "^1.0.0-alpha.10",
"@k8slens/routing": "^1.0.0-alpha.8",
"@k8slens/utilities": "^1.0.0-alpha.7",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"auto-bind": "^4.0.0",
"dompurify": "^2.4.4",
"history": "^4.10.1",
diff --git a/packages/ui-components/resizing-anchor/package.json b/packages/ui-components/resizing-anchor/package.json
index 1620b73797..943f7085d3 100644
--- a/packages/ui-components/resizing-anchor/package.json
+++ b/packages/ui-components/resizing-anchor/package.json
@@ -35,9 +35,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
"auto-bind": "^4.0.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
diff --git a/packages/utility-features/kube-api-specifics/package.json b/packages/utility-features/kube-api-specifics/package.json
index 7cf884e229..a13703e051 100644
--- a/packages/utility-features/kube-api-specifics/package.json
+++ b/packages/utility-features/kube-api-specifics/package.json
@@ -33,7 +33,7 @@
},
"peerDependencies": {
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.0"
+ "@ogre-tools/injectable": "^17.1.1"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0-alpha.2",
diff --git a/packages/utility-features/kube-api/package.json b/packages/utility-features/kube-api/package.json
index ab5f69675d..ddca647b1f 100644
--- a/packages/utility-features/kube-api/package.json
+++ b/packages/utility-features/kube-api/package.json
@@ -39,8 +39,8 @@
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"byline": "^5.0.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
diff --git a/packages/utility-features/run-many/package.json b/packages/utility-features/run-many/package.json
index 5894c5846a..8435d21293 100644
--- a/packages/utility-features/run-many/package.json
+++ b/packages/utility-features/run-many/package.json
@@ -27,8 +27,8 @@
"peerDependencies": {
"@k8slens/test-utils": "^1.0.0-alpha.3",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.0",
- "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/fp": "^17.1.1",
+ "@ogre-tools/injectable": "^17.1.1",
"type-fest": "^2.19.0",
"typed-emitter": "^1.4.0",
"uuid": "^8.3.2"
diff --git a/packages/utility-features/test-utils/package.json b/packages/utility-features/test-utils/package.json
index 7c563a8e45..534fa268ca 100644
--- a/packages/utility-features/test-utils/package.json
+++ b/packages/utility-features/test-utils/package.json
@@ -24,8 +24,8 @@
"build": "lens-webpack-build"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.0",
- "@ogre-tools/injectable-react": "^17.1.0",
+ "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.1.1",
"@testing-library/react": "^12.1.5",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
From 847f2b1b7bf273ed4e1e02752d254d10ef11f294 Mon Sep 17 00:00:00 2001
From: Janne Savolainen
Date: Thu, 1 Jun 2023 10:01:50 +0300
Subject: [PATCH 02/20] Co-authored-by: Mikko Aspiala
Bump ogre-tools to latest
Signed-off-by: Janne Savolainen
---
open-lens/package.json | 10 +-
package-lock.json | 208 +++++++++---------
package.json | 2 +-
.../keyboard-shortcuts/package.json | 8 +-
packages/cluster-settings/package.json | 2 +-
packages/cluster-sidebar/package.json | 6 +-
packages/core/package.json | 12 +-
packages/infrastructure/webpack/package.json | 10 +-
packages/kube-object/package.json | 2 +-
packages/kubectl-versions/package.json | 2 +-
packages/legacy-global-di/package.json | 2 +-
packages/list-layout/package.json | 2 +-
packages/logger/package.json | 6 +-
packages/metrics/package.json | 2 +-
packages/routing/package.json | 8 +-
.../application/agnostic/package.json | 6 +-
.../application/electron-main/package.json | 6 +-
.../legacy-extensions/package.json | 2 +-
.../feature-core/package.json | 2 +-
.../messaging/agnostic/package.json | 6 +-
.../messaging/computed-channel/package.json | 8 +-
.../messaging/electron/main/package.json | 6 +-
.../messaging/electron/renderer/package.json | 4 +-
.../message-bridge-fake/package.json | 6 +-
.../react-application/package.json | 10 +-
packages/ui-components/animate/package.json | 6 +-
.../ui-components/error-boundary/package.json | 4 +-
packages/ui-components/icon/package.json | 6 +-
.../resizing-anchor/package.json | 6 +-
.../kube-api-specifics/package.json | 2 +-
.../utility-features/kube-api/package.json | 4 +-
.../utility-features/run-many/package.json | 4 +-
.../utility-features/test-utils/package.json | 4 +-
33 files changed, 187 insertions(+), 187 deletions(-)
diff --git a/open-lens/package.json b/open-lens/package.json
index 0e6e0529e6..47fe7f730a 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -217,11 +217,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
diff --git a/package-lock.json b/package-lock.json
index b34545faac..ffa968c92c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"open-lens"
],
"devDependencies": {
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"adr": "^1.4.3",
"cross-env": "^7.0.3",
"lerna": "^6.6.1",
@@ -6066,26 +6066,26 @@
}
},
"node_modules/@ogre-tools/fp": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.1.1.tgz",
- "integrity": "sha512-g5nXQ0+3wk+OBVuXEzrTq6ILUWq6qNRkKCzvE7ky/22H2L/5syrXb4ROv0vyaiUictRZhV5oZfqQ3/MeCmVuAg==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/fp/-/fp-17.2.0.tgz",
+ "integrity": "sha512-FF2v/jlQkyVYtborPGq3AS8dK+Fah1f01lajtqd7tW85IwJk0ut7B69o3OA78SvHzNkkFy6y7BmfmVZQ+DkdtA==",
"peerDependencies": {
"lodash": "^4.17.21"
}
},
"node_modules/@ogre-tools/injectable": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.1.1.tgz",
- "integrity": "sha512-9HLgdjlDWwN45HYc+ElMc4yoZtxtvhKTQf3Ic7KHQSMR8H0tR8jaq4M+cY38gc+dzb75zCJxi0cgUVhgCN/FZA==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable/-/injectable-17.2.0.tgz",
+ "integrity": "sha512-foBG+lZvlSfoL3hwkyLFHcpfiXuBzsRLcqI7YuKvY//9Wz3DhXXlafF8s6vUDmVl8AQ2pODfDEe36X2WTrqMdg==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"lodash": "^4.17.21"
}
},
"node_modules/@ogre-tools/injectable-extension-for-auto-registration": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.1.1.tgz",
- "integrity": "sha512-nVIhjhQ82D/uL/R/iAJTnThjg4T44hyUihdirlGeSAn2klw05Ub+pZlhzEk2/zw84/oERymBxe+qP97NMPp7BQ==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-auto-registration/-/injectable-extension-for-auto-registration-17.2.0.tgz",
+ "integrity": "sha512-G3YfbbaqYnJcAejPjRw1KLEdYQnE1OVqVMthLUCamG3iOaRE/QvQ4IPKO4zJH+v5JpTZjxmfYcn/z4dPdx65wA==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6093,9 +6093,9 @@
}
},
"node_modules/@ogre-tools/injectable-extension-for-mobx": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.1.1.tgz",
- "integrity": "sha512-5LYmH5r9qGbz9uaaoYxCsVTkwlc4f9kt9QnCjh5yOW6YH5xi1VYaghDLpie7zRJ6Og5+WYNBS0Yn+m2tVbFHLw==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-extension-for-mobx/-/injectable-extension-for-mobx-17.2.0.tgz",
+ "integrity": "sha512-o+VJn8c10P5mYJBwq/3LQQqpcZ5cP3tY+Gmru0xv2VYUGN4+2kye9mlXfZ6eisQ2IMVImRFx/qJxYLCLNNPZMw==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6104,9 +6104,9 @@
}
},
"node_modules/@ogre-tools/injectable-react": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.1.1.tgz",
- "integrity": "sha512-Tl5xAXHlKxefd2CeGYyhnpHU4rZhIDq1A14JKg0HwDYZKS2usiZuIcEn5PkefsZOTLhluBKAp/J0zAlv95ykqA==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/injectable-react/-/injectable-react-17.2.0.tgz",
+ "integrity": "sha512-pAZZKnXCFxPlNhGxWeFmX8xbbR1YJUmNZGNHt0mvjfujLnRsITSlA7AwFFB+UghpDPXi0aY48NRnq8KB3/nkrg==",
"peerDependencies": {
"@ogre-tools/fp": "^16 || ^17",
"@ogre-tools/injectable": "^16 || ^17",
@@ -6118,13 +6118,13 @@
}
},
"node_modules/@ogre-tools/linkable": {
- "version": "17.1.1",
- "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.1.1.tgz",
- "integrity": "sha512-x4mkqiehxxt8KNkFcsA3WB+CKSPB6osIy0DWvK9VefsBdOXj1M/uXMoKRq4yJYNm7hGOzYDTGgpvHwJ2kfCBdg==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/@ogre-tools/linkable/-/linkable-17.2.0.tgz",
+ "integrity": "sha512-s0YoTV2JjhwF6+vlkHAXmhTEL1c+r+hBwbdTO2GnE+sqjtN1prASASlkyF/ZUwBNBjv02SbBKtM1Jy++N91Wyg==",
"dependencies": {
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"fast-glob": "^3.2.12",
"fs-extra": "^9.0.1",
"lodash": "^4.17.21",
@@ -34030,11 +34030,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
@@ -34185,10 +34185,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"lodash": "^4.17.21",
"react": "^17 || ^18"
}
@@ -34202,7 +34202,7 @@
"rimraf": "^4.4.1"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/cluster-sidebar": {
@@ -34218,9 +34218,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.4",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"mobx": "^6.9.0",
"react": "^17.0.2"
}
@@ -34234,7 +34234,7 @@
"@k8slens/messaging-fake-bridge": "^1.0.0",
"@k8slens/react-testing-library-discovery": "^1.0.0",
"@k8slens/test-utils": "^1.0.0",
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"@sentry/types": "^6.19.7",
"@side/jest-runtime": "^1.1.0",
"@swc/cli": "^0.1.62",
@@ -34371,11 +34371,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
@@ -34902,7 +34902,7 @@
"version": "6.5.0",
"license": "MIT",
"dependencies": {
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"@types/webpack-env": "^1.18.0",
"css-loader": "^6.7.2",
"fork-ts-checker-webpack-plugin": "^7.3.0",
@@ -34922,14 +34922,14 @@
"devDependencies": {
"@async-fn/jest": "^1.6.4",
"@k8slens/typescript": "^6.5.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/test-utils": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/test-utils": "^17.2.0",
"ts-node": "^10.9.1",
"webpack-node-externals": "^3.0.0"
},
"peerDependencies": {
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"lodash": "^4.17.21"
}
},
@@ -34991,7 +34991,7 @@
},
"peerDependencies": {
"@k8slens/utilities": "^1.0.0-alpha.2",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"auto-bind": "^4.0.0",
"moment": "^2.29.4",
"rfc6902": "^5.0.1",
@@ -35013,7 +35013,7 @@
"typed-regex": "^0.0.8"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/legacy-extension-example": {
@@ -35161,7 +35161,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/list-layout": {
@@ -35177,7 +35177,7 @@
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"react": "^17.0.2"
}
},
@@ -35193,9 +35193,9 @@
},
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"lodash": "^4.17.21",
"winston": "^3.8.2"
}
@@ -35240,7 +35240,7 @@
},
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"react": "^17.0.2"
}
},
@@ -35324,10 +35324,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
@@ -35368,9 +35368,9 @@
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"lodash": "^4.17.15"
}
},
@@ -35382,14 +35382,14 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/eslint-config": "^6.5.0",
"@k8slens/webpack": "^6.5.0",
- "@ogre-tools/test-utils": "^17.1.1"
+ "@ogre-tools/test-utils": "^17.2.0"
},
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35412,7 +35412,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/technical-features/feature-core": {
@@ -35424,7 +35424,7 @@
"@k8slens/webpack": "^6.5.0"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/technical-features/messaging/agnostic": {
@@ -35439,9 +35439,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.7.0"
}
@@ -35460,10 +35460,10 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0"
}
@@ -35480,9 +35480,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35501,8 +35501,8 @@
"@k8slens/messaging": "^1.0.0-alpha.1",
"@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
}
@@ -35519,9 +35519,9 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/feature-core": "^6.5.0-alpha.2",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.9.0"
}
@@ -35540,11 +35540,11 @@
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.2",
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
"mobx-react": "^7.6.0",
@@ -35563,9 +35563,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"react": "^17.0.2"
}
},
@@ -35624,8 +35624,8 @@
"@k8slens/button": "^1.0.0-alpha.5",
"@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
@@ -35655,9 +35655,9 @@
"@k8slens/routing": "^1.0.0-alpha.8",
"@k8slens/tooltip": "^1.0.0-alpha.10",
"@k8slens/utilities": "^1.0.0-alpha.7",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"auto-bind": "^4.0.0",
"dompurify": "^2.4.4",
"history": "^4.10.1",
@@ -35684,9 +35684,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"auto-bind": "^4.0.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
@@ -35783,8 +35783,8 @@
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"byline": "^5.0.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
@@ -35803,7 +35803,7 @@
},
"peerDependencies": {
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
},
"packages/utility-features/react-testing-library-discovery": {
@@ -35828,8 +35828,8 @@
"peerDependencies": {
"@k8slens/test-utils": "^1.0.0-alpha.3",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"type-fest": "^2.19.0",
"typed-emitter": "^1.4.0",
"uuid": "^8.3.2"
@@ -35859,8 +35859,8 @@
"@types/lodash": "^4.14.191"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@testing-library/react": "^12.1.5",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
diff --git a/package.json b/package.json
index abcf9be812..d2e809bb04 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"@types/react": "^17"
},
"devDependencies": {
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"adr": "^1.4.3",
"cross-env": "^7.0.3",
"lerna": "^6.6.1",
diff --git a/packages/business-features/keyboard-shortcuts/package.json b/packages/business-features/keyboard-shortcuts/package.json
index b3f9d4506c..36b4c398b5 100644
--- a/packages/business-features/keyboard-shortcuts/package.json
+++ b/packages/business-features/keyboard-shortcuts/package.json
@@ -33,10 +33,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"lodash": "^4.17.21",
"react": "^17 || ^18"
},
diff --git a/packages/cluster-settings/package.json b/packages/cluster-settings/package.json
index 87d9f130ce..9687c89832 100644
--- a/packages/cluster-settings/package.json
+++ b/packages/cluster-settings/package.json
@@ -23,6 +23,6 @@
"rimraf": "^4.4.1"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
}
}
diff --git a/packages/cluster-sidebar/package.json b/packages/cluster-sidebar/package.json
index 9cfb2e6df8..41ba67a83c 100644
--- a/packages/cluster-sidebar/package.json
+++ b/packages/cluster-sidebar/package.json
@@ -33,9 +33,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.4",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"mobx": "^6.9.0",
"react": "^17.0.2"
},
diff --git a/packages/core/package.json b/packages/core/package.json
index 6b9fb29a86..360551e17f 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -105,7 +105,7 @@
"@k8slens/messaging-fake-bridge": "^1.0.0",
"@k8slens/react-testing-library-discovery": "^1.0.0",
"@k8slens/test-utils": "^1.0.0",
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"@sentry/types": "^6.19.7",
"@side/jest-runtime": "^1.1.0",
"@swc/cli": "^0.1.62",
@@ -239,11 +239,11 @@
"@kubernetes/client-node": "^0.18.1",
"@material-ui/core": "^4.12.3",
"@material-ui/lab": "^4.0.0-alpha.60",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@sentry/electron": "^3.0.8",
"@sentry/integrations": "^6.19.3",
"ansi_up": "^5.2.1",
diff --git a/packages/infrastructure/webpack/package.json b/packages/infrastructure/webpack/package.json
index c36e882de6..faaee585ab 100644
--- a/packages/infrastructure/webpack/package.json
+++ b/packages/infrastructure/webpack/package.json
@@ -25,7 +25,7 @@
"test:unit": "jest --coverage --runInBand"
},
"dependencies": {
- "@ogre-tools/linkable": "^17.1.1",
+ "@ogre-tools/linkable": "^17.2.0",
"@types/webpack-env": "^1.18.0",
"css-loader": "^6.7.2",
"fork-ts-checker-webpack-plugin": "^7.3.0",
@@ -40,15 +40,15 @@
"webpack-cli": "^4.10.0"
},
"peerDependencies": {
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"lodash": "^4.17.21"
},
"devDependencies": {
"@async-fn/jest": "^1.6.4",
"@k8slens/typescript": "^6.5.0",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/test-utils": "^17.1.1",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/test-utils": "^17.2.0",
"ts-node": "^10.9.1",
"webpack-node-externals": "^3.0.0"
},
diff --git a/packages/kube-object/package.json b/packages/kube-object/package.json
index 475379ca21..ea02469960 100644
--- a/packages/kube-object/package.json
+++ b/packages/kube-object/package.json
@@ -32,7 +32,7 @@
},
"peerDependencies": {
"@k8slens/utilities": "^1.0.0-alpha.2",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"auto-bind": "^4.0.0",
"moment": "^2.29.4",
"rfc6902": "^5.0.1",
diff --git a/packages/kubectl-versions/package.json b/packages/kubectl-versions/package.json
index 096831a5b3..b073d34606 100644
--- a/packages/kubectl-versions/package.json
+++ b/packages/kubectl-versions/package.json
@@ -27,7 +27,7 @@
"test": "jest --coverage --runInBand"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
},
"devDependencies": {
"@k8slens/webpack": "^6.5.0",
diff --git a/packages/legacy-global-di/package.json b/packages/legacy-global-di/package.json
index e1e30d804b..ca7adce223 100644
--- a/packages/legacy-global-di/package.json
+++ b/packages/legacy-global-di/package.json
@@ -31,7 +31,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/list-layout/package.json b/packages/list-layout/package.json
index 07a2d8d730..adeaed9194 100644
--- a/packages/list-layout/package.json
+++ b/packages/list-layout/package.json
@@ -34,7 +34,7 @@
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.3",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/logger/package.json b/packages/logger/package.json
index fe4b0efb8b..531594e042 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -31,9 +31,9 @@
},
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"lodash": "^4.17.21",
"winston": "^3.8.2"
},
diff --git a/packages/metrics/package.json b/packages/metrics/package.json
index c115f1860e..0b32c0b8c5 100644
--- a/packages/metrics/package.json
+++ b/packages/metrics/package.json
@@ -33,7 +33,7 @@
},
"peerDependencies": {
"@k8slens/kube-object": "^1.0.0-alpha.5",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/routing/package.json b/packages/routing/package.json
index 5acb8c5413..87c048f366 100644
--- a/packages/routing/package.json
+++ b/packages/routing/package.json
@@ -31,10 +31,10 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/react-application": "^1.0.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
diff --git a/packages/technical-features/application/agnostic/package.json b/packages/technical-features/application/agnostic/package.json
index b61ca679b0..db90e4eefe 100644
--- a/packages/technical-features/application/agnostic/package.json
+++ b/packages/technical-features/application/agnostic/package.json
@@ -34,9 +34,9 @@
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"lodash": "^4.17.15"
},
"devDependencies": {
diff --git a/packages/technical-features/application/electron-main/package.json b/packages/technical-features/application/electron-main/package.json
index 772135ce61..d64f89717c 100644
--- a/packages/technical-features/application/electron-main/package.json
+++ b/packages/technical-features/application/electron-main/package.json
@@ -34,8 +34,8 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/run-many": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
@@ -43,6 +43,6 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/eslint-config": "^6.5.0",
"@k8slens/webpack": "^6.5.0",
- "@ogre-tools/test-utils": "^17.1.1"
+ "@ogre-tools/test-utils": "^17.2.0"
}
}
diff --git a/packages/technical-features/application/legacy-extensions/package.json b/packages/technical-features/application/legacy-extensions/package.json
index ba901d70a1..ed5f5d2c40 100644
--- a/packages/technical-features/application/legacy-extensions/package.json
+++ b/packages/technical-features/application/legacy-extensions/package.json
@@ -30,7 +30,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/technical-features/feature-core/package.json b/packages/technical-features/feature-core/package.json
index 5ad6555e03..cab6ba52b4 100644
--- a/packages/technical-features/feature-core/package.json
+++ b/packages/technical-features/feature-core/package.json
@@ -31,7 +31,7 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/technical-features/messaging/agnostic/package.json b/packages/technical-features/messaging/agnostic/package.json
index c9173578dd..c3386fcb6d 100644
--- a/packages/technical-features/messaging/agnostic/package.json
+++ b/packages/technical-features/messaging/agnostic/package.json
@@ -34,9 +34,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.7.0"
},
diff --git a/packages/technical-features/messaging/computed-channel/package.json b/packages/technical-features/messaging/computed-channel/package.json
index 4a487b27a9..61add79e15 100644
--- a/packages/technical-features/messaging/computed-channel/package.json
+++ b/packages/technical-features/messaging/computed-channel/package.json
@@ -34,10 +34,10 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0"
},
diff --git a/packages/technical-features/messaging/electron/main/package.json b/packages/technical-features/messaging/electron/main/package.json
index cc10f18e60..26475f4fbc 100644
--- a/packages/technical-features/messaging/electron/main/package.json
+++ b/packages/technical-features/messaging/electron/main/package.json
@@ -34,9 +34,9 @@
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
diff --git a/packages/technical-features/messaging/electron/renderer/package.json b/packages/technical-features/messaging/electron/renderer/package.json
index 7a928aeee1..b5a6f0c8b3 100644
--- a/packages/technical-features/messaging/electron/renderer/package.json
+++ b/packages/technical-features/messaging/electron/renderer/package.json
@@ -36,8 +36,8 @@
"@k8slens/messaging": "^1.0.0-alpha.1",
"@k8slens/run-many": "^1.0.0-alpha.1",
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"electron": "^22.3.3",
"lodash": "^4.17.21"
},
diff --git a/packages/technical-features/messaging/message-bridge-fake/package.json b/packages/technical-features/messaging/message-bridge-fake/package.json
index 757b39d1a4..da6e4a2e3a 100644
--- a/packages/technical-features/messaging/message-bridge-fake/package.json
+++ b/packages/technical-features/messaging/message-bridge-fake/package.json
@@ -34,9 +34,9 @@
"@async-fn/jest": "^1.6.4",
"@k8slens/feature-core": "^6.5.0-alpha.2",
"@k8slens/messaging": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
"lodash": "^4.17.21",
"mobx": "^6.9.0"
},
diff --git a/packages/technical-features/react-application/package.json b/packages/technical-features/react-application/package.json
index 2c3879f28b..e539778895 100644
--- a/packages/technical-features/react-application/package.json
+++ b/packages/technical-features/react-application/package.json
@@ -33,11 +33,11 @@
"peerDependencies": {
"@k8slens/application": "^6.5.0-alpha.2",
"@k8slens/feature-core": "^6.5.0-alpha.0",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
- "@ogre-tools/injectable-extension-for-mobx": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
"mobx-react": "^7.6.0",
diff --git a/packages/ui-components/animate/package.json b/packages/ui-components/animate/package.json
index dcb140c935..a0e24396c4 100644
--- a/packages/ui-components/animate/package.json
+++ b/packages/ui-components/animate/package.json
@@ -35,9 +35,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable-react": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable-react": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"react": "^17.0.2"
},
"devDependencies": {
diff --git a/packages/ui-components/error-boundary/package.json b/packages/ui-components/error-boundary/package.json
index 21292d8d73..01f6f95b97 100644
--- a/packages/ui-components/error-boundary/package.json
+++ b/packages/ui-components/error-boundary/package.json
@@ -36,8 +36,8 @@
"@k8slens/button": "^1.0.0-alpha.5",
"@k8slens/routing": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"auto-bind": "^4.0.0",
"history": "^4.10.1",
"lodash": "^4.17.21",
diff --git a/packages/ui-components/icon/package.json b/packages/ui-components/icon/package.json
index 35f0ebbb2a..284cf5af45 100644
--- a/packages/ui-components/icon/package.json
+++ b/packages/ui-components/icon/package.json
@@ -40,9 +40,9 @@
"@k8slens/tooltip": "^1.0.0-alpha.10",
"@k8slens/routing": "^1.0.0-alpha.8",
"@k8slens/utilities": "^1.0.0-alpha.7",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"auto-bind": "^4.0.0",
"dompurify": "^2.4.4",
"history": "^4.10.1",
diff --git a/packages/ui-components/resizing-anchor/package.json b/packages/ui-components/resizing-anchor/package.json
index 943f7085d3..cc164e36ca 100644
--- a/packages/ui-components/resizing-anchor/package.json
+++ b/packages/ui-components/resizing-anchor/package.json
@@ -35,9 +35,9 @@
"peerDependencies": {
"@k8slens/feature-core": "^6.5.0-alpha.0",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
"auto-bind": "^4.0.0",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
diff --git a/packages/utility-features/kube-api-specifics/package.json b/packages/utility-features/kube-api-specifics/package.json
index a13703e051..48e4842f10 100644
--- a/packages/utility-features/kube-api-specifics/package.json
+++ b/packages/utility-features/kube-api-specifics/package.json
@@ -33,7 +33,7 @@
},
"peerDependencies": {
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.1.1"
+ "@ogre-tools/injectable": "^17.2.0"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0-alpha.2",
diff --git a/packages/utility-features/kube-api/package.json b/packages/utility-features/kube-api/package.json
index ddca647b1f..9327b0b440 100644
--- a/packages/utility-features/kube-api/package.json
+++ b/packages/utility-features/kube-api/package.json
@@ -39,8 +39,8 @@
"@k8slens/kube-object": "^1.0.0-alpha.5",
"@k8slens/logger": "^1.0.0-alpha.5",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"byline": "^5.0.0",
"lodash": "^4.17.15",
"mobx": "^6.8.0",
diff --git a/packages/utility-features/run-many/package.json b/packages/utility-features/run-many/package.json
index 8435d21293..2d321b1a36 100644
--- a/packages/utility-features/run-many/package.json
+++ b/packages/utility-features/run-many/package.json
@@ -27,8 +27,8 @@
"peerDependencies": {
"@k8slens/test-utils": "^1.0.0-alpha.3",
"@k8slens/utilities": "^1.0.0-alpha.1",
- "@ogre-tools/fp": "^17.1.1",
- "@ogre-tools/injectable": "^17.1.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
"type-fest": "^2.19.0",
"typed-emitter": "^1.4.0",
"uuid": "^8.3.2"
diff --git a/packages/utility-features/test-utils/package.json b/packages/utility-features/test-utils/package.json
index 534fa268ca..f16bf4e31c 100644
--- a/packages/utility-features/test-utils/package.json
+++ b/packages/utility-features/test-utils/package.json
@@ -24,8 +24,8 @@
"build": "lens-webpack-build"
},
"peerDependencies": {
- "@ogre-tools/injectable": "^17.1.1",
- "@ogre-tools/injectable-react": "^17.1.1",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
"@testing-library/react": "^12.1.5",
"lodash": "^4.17.21",
"mobx": "^6.8.0",
From 86fa93ac8be5d1661d9e00cede2ff02f0db8594e Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Wed, 31 May 2023 13:47:06 +0200
Subject: [PATCH 03/20] chore: extract @k8slens/random
Signed-off-by: Gabriel
---
package-lock.json | 19 ++++++++
...andom-id.global-override-for-injectable.ts | 2 +-
...rder-of-workload-overview-details.test.tsx | 2 +-
...items-originating-from-extensions.test.tsx | 2 +-
...nu-item-originating-from-extension.test.ts | 2 +-
...arators-originating-from-extension.test.ts | 2 +-
packages/core/src/main/getDiForUnitTesting.ts | 2 +
.../tray-menu-item-registrator.injectable.ts | 2 +-
...dom-id-for-edit-resource-tab.injectable.ts | 2 +-
...-random-install-chart-tab-id.injectable.ts | 2 +-
...t-random-id-for-pod-logs-tab.injectable.ts | 2 +-
...-random-upgrade-chart-tab-id.injectable.ts | 2 +-
...ject-detail-item-registrator.injectable.ts | 2 +-
...object-menu-item-registrator.injectable.ts | 2 +-
...ject-status-text-registrator.injectable.ts | 2 +-
.../renderer/components/menu/menu-actions.tsx | 2 +-
...status-bar-item-registrator.injectable.tsx | 2 +-
.../components/status-bar/status-bar.test.tsx | 2 +-
...-overview-detail-registrator.injectable.ts | 2 +-
.../core/src/renderer/getDiForUnitTesting.tsx | 2 +
packages/random-id/.eslintrc.json | 6 +++
packages/random-id/.prettierrc | 1 +
packages/random-id/CHANGELOG.md | 4 ++
packages/random-id/README.md | 15 +++++++
packages/random-id/index.ts | 7 +++
packages/random-id/package.json | 44 +++++++++++++++++++
packages/random-id/src/feature.ts | 14 ++++++
.../src}/get-random-id.injectable.ts | 4 +-
packages/random-id/tsconfig.json | 4 ++
packages/random-id/webpack.config.js | 1 +
30 files changed, 137 insertions(+), 20 deletions(-)
create mode 100644 packages/random-id/.eslintrc.json
create mode 100644 packages/random-id/.prettierrc
create mode 100644 packages/random-id/CHANGELOG.md
create mode 100644 packages/random-id/README.md
create mode 100644 packages/random-id/index.ts
create mode 100644 packages/random-id/package.json
create mode 100644 packages/random-id/src/feature.ts
rename packages/{core/src/common/utils => random-id/src}/get-random-id.injectable.ts (80%)
create mode 100644 packages/random-id/tsconfig.json
create mode 100644 packages/random-id/webpack.config.js
diff --git a/package-lock.json b/package-lock.json
index ffa968c92c..68458e9cab 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3818,6 +3818,10 @@
"resolved": "packages/node-fetch",
"link": true
},
+ "node_modules/@k8slens/random": {
+ "resolved": "packages/random-id",
+ "link": true
+ },
"node_modules/@k8slens/react-application": {
"resolved": "packages/technical-features/react-application",
"link": true
@@ -35272,6 +35276,21 @@
"url": "https://opencollective.com/node-fetch"
}
},
+ "packages/random-id": {
+ "name": "@k8slens/random",
+ "version": "1.0.0-alpha.0",
+ "license": "MIT",
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0",
+ "@k8slens/webpack": "^6.5.0"
+ },
+ "peerDependencies": {
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "uuid": "^8.3.2"
+ }
+ },
"packages/release-tool": {
"name": "@k8slens/release-tool",
"version": "6.5.0",
diff --git a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
index 36f598cde1..64c4c9a21a 100644
--- a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
+++ b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
@@ -4,6 +4,6 @@
*/
import { getGlobalOverride } from "@k8slens/test-utils";
-import getRandomIdInjectable from "./get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
export default getGlobalOverride(getRandomIdInjectable, () => () => "some-irrelevant-random-id");
diff --git a/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx b/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
index fc33409ca2..2d13de0858 100644
--- a/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
+++ b/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
@@ -5,7 +5,7 @@
import type { RenderResult } from "@testing-library/react";
import { getApplicationBuilder } from "../../../../../renderer/components/test-utils/get-application-builder";
import React from "react";
-import getRandomIdInjectable from "../../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import { workloadOverviewDetailInjectionToken } from "../../../../../renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-injection-token";
import { getInjectable } from "@ogre-tools/injectable";
import { computed, runInAction } from "mobx";
diff --git a/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx b/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
index 561f213593..8f8cfa82a1 100644
--- a/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
+++ b/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
@@ -6,7 +6,7 @@ import type { RenderResult } from "@testing-library/react";
import React from "react";
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
-import getRandomIdInjectable from "../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake";
import { computed } from "mobx";
diff --git a/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts b/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
index e8c7b71f08..a4652eff45 100644
--- a/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
+++ b/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
@@ -5,7 +5,7 @@
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake";
-import getRandomIdInjectable from "../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import logErrorInjectable from "../../common/log-error.injectable";
describe("clicking tray menu item originating from extension", () => {
diff --git a/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts b/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
index f819824749..8670ef7860 100644
--- a/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
+++ b/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
@@ -4,7 +4,7 @@
*/
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
-import getRandomIdInjectable from "../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
describe("multiple separators originating from extension", () => {
let builder: ApplicationBuilder;
diff --git a/packages/core/src/main/getDiForUnitTesting.ts b/packages/core/src/main/getDiForUnitTesting.ts
index 28a4cf51fd..5ceb1b8425 100644
--- a/packages/core/src/main/getDiForUnitTesting.ts
+++ b/packages/core/src/main/getDiForUnitTesting.ts
@@ -29,6 +29,7 @@ import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
import { registerFeature } from "@k8slens/feature-core";
import { messagingFeature, testUtils as messagingTestUtils } from "@k8slens/messaging";
import { loggerFeature } from "@k8slens/logger";
+import { randomFeature } from "@k8slens/random";
export function getDiForUnitTesting() {
const environment = "main";
@@ -44,6 +45,7 @@ export function getDiForUnitTesting() {
messagingFeature,
messagingTestUtils.messagingFeatureForUnitTesting,
loggerFeature,
+ randomFeature,
);
});
diff --git a/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts b/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
index f1eb3e7e50..55c498ee7a 100644
--- a/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
+++ b/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
@@ -14,7 +14,7 @@ import type { TrayMenuRegistration } from "../tray-menu-registration";
import { withErrorSuppression } from "../../../common/utils/with-error-suppression/with-error-suppression";
import type { WithErrorLoggingFor } from "../../../common/utils/with-error-logging/with-error-logging.injectable";
import withErrorLoggingInjectable from "../../../common/utils/with-error-logging/with-error-logging.injectable";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import { isBoolean, isString } from "@k8slens/utilities";
const trayMenuItemRegistratorInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts b/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
index e71330d261..ec5e8bcd38 100644
--- a/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
+++ b/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
const getRandomIdForEditResourceTabInjectable = getInjectable({
id: "get-random-id-for-edit-resource-tab",
diff --git a/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts b/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
index c9169fff92..e13c585914 100644
--- a/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
+++ b/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
const getRandomInstallChartTabIdInjectable = getInjectable({
id: "get-random-install-chart-tab-id",
diff --git a/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts b/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
index 1dcadcf293..486b43314e 100644
--- a/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
+++ b/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
const getRandomIdForPodLogsTabInjectable = getInjectable({
id: "get-random-id-for-pod-logs-tab",
diff --git a/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts b/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
index 167973060f..81dd918283 100644
--- a/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
+++ b/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
const getRandomUpgradeChartTabIdInjectable = getInjectable({
id: "get-random-upgrade-chart-tab-id",
diff --git a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
index 45b37d2ca1..cc0945097e 100644
--- a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-item-injection-token";
diff --git a/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
index e5df278afc..b9aa14ad72 100644
--- a/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { kubeObjectMenuItemInjectionToken } from "./kube-object-menu-item-injection-token";
import { computed } from "mobx";
diff --git a/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
index b5ba2bb922..67dfd9e112 100644
--- a/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import { kubeObjectStatusTextInjectionToken } from "./kube-object-status-text-injection-token";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { computed } from "mobx";
diff --git a/packages/core/src/renderer/components/menu/menu-actions.tsx b/packages/core/src/renderer/components/menu/menu-actions.tsx
index 60492482f2..b3ac3b9eb7 100644
--- a/packages/core/src/renderer/components/menu/menu-actions.tsx
+++ b/packages/core/src/renderer/components/menu/menu-actions.tsx
@@ -19,7 +19,7 @@ import type { TooltipDecoratorProps } from "@k8slens/tooltip";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import { withInjectables } from "@ogre-tools/injectable-react";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import autoBindReact from "auto-bind/react";
export interface MenuActionsProps extends Partial {
diff --git a/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx b/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
index 48ab713b00..4f262e79ce 100644
--- a/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
+++ b/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
@@ -11,7 +11,7 @@ import type { StatusBarItem } from "./status-bar-item-injection-token";
import { statusBarItemInjectionToken } from "./status-bar-item-injection-token";
import type { StatusBarRegistration } from "./status-bar-registration";
import React from "react";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import { loggerInjectionToken } from "@k8slens/logger";
import type { Logger } from "@k8slens/logger";
diff --git a/packages/core/src/renderer/components/status-bar/status-bar.test.tsx b/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
index 79ca2b4ecc..d0decea569 100644
--- a/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
+++ b/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
@@ -8,7 +8,7 @@ import type { ApplicationBuilder } from "../test-utils/get-application-builder";
import { getApplicationBuilder } from "../test-utils/get-application-builder";
import setStatusBarStatusInjectable from "./set-status-bar-status.injectable";
import type { RenderResult } from "@testing-library/react";
-import getRandomIdInjectable from "../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
describe("", () => {
let builder: ApplicationBuilder;
diff --git a/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts b/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
index a49808770d..143e01bbaf 100644
--- a/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable";
+import { getRandomIdInjectable } from "@k8slens/random";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { workloadOverviewDetailInjectionToken } from "./workload-overview-detail-injection-token";
diff --git a/packages/core/src/renderer/getDiForUnitTesting.tsx b/packages/core/src/renderer/getDiForUnitTesting.tsx
index 1113cb28b8..7f8e431e5e 100644
--- a/packages/core/src/renderer/getDiForUnitTesting.tsx
+++ b/packages/core/src/renderer/getDiForUnitTesting.tsx
@@ -22,6 +22,7 @@ import { messagingFeature, testUtils as messagingTestUtils } from "@k8slens/mess
import { routingFeature } from "@k8slens/routing";
import { loggerFeature } from "@k8slens/logger";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
+import { randomFeature } from "@k8slens/random";
export const getDiForUnitTesting = () => {
const environment = "renderer";
@@ -41,6 +42,7 @@ export const getDiForUnitTesting = () => {
loggerFeature,
animateFeature,
clusterSidebarFeature,
+ randomFeature,
);
});
diff --git a/packages/random-id/.eslintrc.json b/packages/random-id/.eslintrc.json
new file mode 100644
index 0000000000..b15115cb69
--- /dev/null
+++ b/packages/random-id/.eslintrc.json
@@ -0,0 +1,6 @@
+{
+ "extends": "@k8slens/eslint-config/eslint",
+ "parserOptions": {
+ "project": "./tsconfig.json"
+ }
+}
diff --git a/packages/random-id/.prettierrc b/packages/random-id/.prettierrc
new file mode 100644
index 0000000000..edd47b479e
--- /dev/null
+++ b/packages/random-id/.prettierrc
@@ -0,0 +1 @@
+"@k8slens/eslint-config/prettier"
diff --git a/packages/random-id/CHANGELOG.md b/packages/random-id/CHANGELOG.md
new file mode 100644
index 0000000000..e4d87c4d45
--- /dev/null
+++ b/packages/random-id/CHANGELOG.md
@@ -0,0 +1,4 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
diff --git a/packages/random-id/README.md b/packages/random-id/README.md
new file mode 100644
index 0000000000..154b920a42
--- /dev/null
+++ b/packages/random-id/README.md
@@ -0,0 +1,15 @@
+# @k8slens/random
+
+This package contains stuff related to creating Lens-applications.
+
+# Usage
+
+```bash
+$ npm install @k8slens/random
+```
+
+```typescript
+export type { ... } from "@k8slens/random";
+```
+
+## Extendability
diff --git a/packages/random-id/index.ts b/packages/random-id/index.ts
new file mode 100644
index 0000000000..9d7d69f32d
--- /dev/null
+++ b/packages/random-id/index.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+
+export { randomFeature } from "./src/feature";
+export { getRandomIdInjectable } from "./src/get-random-id.injectable";
diff --git a/packages/random-id/package.json b/packages/random-id/package.json
new file mode 100644
index 0000000000..ec0130c3e4
--- /dev/null
+++ b/packages/random-id/package.json
@@ -0,0 +1,44 @@
+{
+ "name": "@k8slens/random",
+ "private": false,
+ "version": "1.0.0-alpha.0",
+ "description": "Highly extendable random in the Lens.",
+ "type": "commonjs",
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lensapp/lens.git"
+ },
+ "main": "dist/index.js",
+ "exports": {
+ ".": "./dist/index.js"
+ },
+ "types": "dist/index.d.ts",
+ "author": {
+ "name": "OpenLens Authors",
+ "email": "info@k8slens.dev"
+ },
+ "license": "MIT",
+ "homepage": "https://github.com/lensapp/lens",
+ "scripts": {
+ "build": "lens-webpack-build",
+ "lint": "lens-lint",
+ "lint:fix": "lens-lint --fix"
+ },
+ "peerDependencies": {
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@ogre-tools/injectable": "^17.1.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.1.0",
+ "uuid": "^8.3.2"
+ },
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0",
+ "@k8slens/webpack": "^6.5.0"
+ }
+}
diff --git a/packages/random-id/src/feature.ts b/packages/random-id/src/feature.ts
new file mode 100644
index 0000000000..8287645003
--- /dev/null
+++ b/packages/random-id/src/feature.ts
@@ -0,0 +1,14 @@
+import { getFeature } from "@k8slens/feature-core";
+import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
+
+export const randomFeature = getFeature({
+ id: "random-feature",
+
+ register: (di) => {
+ autoRegister({
+ di,
+ targetModule: module,
+ getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
+ });
+ },
+});
diff --git a/packages/core/src/common/utils/get-random-id.injectable.ts b/packages/random-id/src/get-random-id.injectable.ts
similarity index 80%
rename from packages/core/src/common/utils/get-random-id.injectable.ts
rename to packages/random-id/src/get-random-id.injectable.ts
index b6d8b99f41..ce2b124960 100644
--- a/packages/core/src/common/utils/get-random-id.injectable.ts
+++ b/packages/random-id/src/get-random-id.injectable.ts
@@ -5,10 +5,8 @@
import { getInjectable } from "@ogre-tools/injectable";
import { v4 as getRandomId } from "uuid";
-const getRandomIdInjectable = getInjectable({
+export const getRandomIdInjectable = getInjectable({
id: "get-random-id",
instantiate: () => () => getRandomId(),
causesSideEffects: true,
});
-
-export default getRandomIdInjectable;
diff --git a/packages/random-id/tsconfig.json b/packages/random-id/tsconfig.json
new file mode 100644
index 0000000000..9e140d79da
--- /dev/null
+++ b/packages/random-id/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "@k8slens/typescript/config/base.json",
+ "include": ["**/*.ts", "**/*.tsx"],
+}
diff --git a/packages/random-id/webpack.config.js b/packages/random-id/webpack.config.js
new file mode 100644
index 0000000000..1cda407f5a
--- /dev/null
+++ b/packages/random-id/webpack.config.js
@@ -0,0 +1 @@
+module.exports = require("@k8slens/webpack").configForReact;
From 58e4ebcdea02653efc88cdad98f38902eff470f6 Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Wed, 31 May 2023 14:44:11 +0200
Subject: [PATCH 04/20] chore: bump package.json
Signed-off-by: Gabriel
---
open-lens/package.json | 1 +
open-lens/src/main/index.ts | 2 ++
open-lens/src/renderer/index.ts | 2 ++
package-lock.json | 4 +++-
packages/core/package.json | 1 +
.../get-random-id.global-override-for-injectable.ts | 4 ++--
.../order-of-workload-overview-details.test.tsx | 6 +++---
...atus-bar-items-originating-from-extensions.test.tsx | 6 +++---
...g-tray-menu-item-originating-from-extension.test.ts | 4 ++--
...tiple-separators-originating-from-extension.test.ts | 6 +++---
.../tray-menu-item-registrator.injectable.ts | 4 ++--
.../get-random-id-for-edit-resource-tab.injectable.ts | 4 ++--
.../get-random-install-chart-tab-id.injectable.ts | 4 ++--
.../logs/get-random-id-for-pod-logs-tab.injectable.ts | 4 ++--
.../get-random-upgrade-chart-tab-id.injectable.ts | 4 ++--
.../kube-object-detail-item-registrator.injectable.ts | 4 ++--
.../kube-object-menu-item-registrator.injectable.ts | 4 ++--
.../kube-object-status-text-registrator.injectable.ts | 4 ++--
.../core/src/renderer/components/menu/menu-actions.tsx | 4 ++--
.../status-bar-item-registrator.injectable.tsx | 4 ++--
.../renderer/components/status-bar/status-bar.test.tsx | 6 +++---
.../workload-overview-detail-registrator.injectable.ts | 4 ++--
packages/random-id/index.ts | 2 +-
packages/random-id/package.json | 2 +-
packages/random-id/src/get-random-id.injectable.ts | 10 ++++++++--
25 files changed, 57 insertions(+), 43 deletions(-)
diff --git a/open-lens/package.json b/open-lens/package.json
index 47fe7f730a..f647d4ffb1 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -206,6 +206,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0",
"@k8slens/metrics": "^6.5.0",
"@k8slens/node-fetch": "^6.5.0",
+ "@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0",
"@k8slens/resource-templates": "^1.0.0",
diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts
index 6eaac3e1db..b0c9ae9514 100644
--- a/open-lens/src/main/index.ts
+++ b/open-lens/src/main/index.ts
@@ -12,6 +12,7 @@ import { applicationFeature, startApplicationInjectionToken } from '@k8slens/app
import { applicationFeatureForElectronMain } from '@k8slens/application-for-electron-main'
import { messagingFeatureForMain } from "@k8slens/messaging-for-main";
import { loggerFeature } from "@k8slens/logger";
+import { randomFeature } from "@k8slens/random";
const environment = "main";
@@ -33,6 +34,7 @@ runInAction(() => {
applicationFeature,
applicationFeatureForElectronMain,
messagingFeatureForMain,
+ randomFeature,
);
try {
diff --git a/open-lens/src/renderer/index.ts b/open-lens/src/renderer/index.ts
index 19ce93e220..9988d20d9f 100644
--- a/open-lens/src/renderer/index.ts
+++ b/open-lens/src/renderer/index.ts
@@ -29,6 +29,7 @@ import { routingFeature } from "@k8slens/routing";
import { loggerFeature } from "@k8slens/logger";
import { animateFeature } from "@k8slens/animate";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
+import { randomFeature } from "@k8slens/random";
const environment = "renderer";
@@ -56,6 +57,7 @@ runInAction(() => {
metricsFeature,
animateFeature,
clusterSidebarFeature,
+ randomFeature,
);
autoRegister({
diff --git a/package-lock.json b/package-lock.json
index 68458e9cab..eb2b482593 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -34023,6 +34023,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0",
"@k8slens/metrics": "^6.5.0",
"@k8slens/node-fetch": "^6.5.0",
+ "@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0",
"@k8slens/resource-templates": "^1.0.0",
@@ -34364,6 +34365,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
+ "@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0-alpha.5",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
"@k8slens/resource-templates": "^1.0.0-alpha.1",
@@ -35278,7 +35280,7 @@
},
"packages/random-id": {
"name": "@k8slens/random",
- "version": "1.0.0-alpha.0",
+ "version": "1.0.0",
"license": "MIT",
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0",
diff --git a/packages/core/package.json b/packages/core/package.json
index 360551e17f..919de6d364 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -229,6 +229,7 @@
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
"@k8slens/react-application": "^1.0.0-alpha.5",
+ "@k8slens/random": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
"@k8slens/resource-templates": "^1.0.0-alpha.1",
"@k8slens/routing": "^1.0.0-alpha.5",
diff --git a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
index 64c4c9a21a..bc2b539fc3 100644
--- a/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
+++ b/packages/core/src/common/utils/get-random-id.global-override-for-injectable.ts
@@ -4,6 +4,6 @@
*/
import { getGlobalOverride } from "@k8slens/test-utils";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
-export default getGlobalOverride(getRandomIdInjectable, () => () => "some-irrelevant-random-id");
+export default getGlobalOverride(getRandomIdInjectionToken, () => () => "some-irrelevant-random-id");
diff --git a/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx b/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
index 2d13de0858..d7db17f97b 100644
--- a/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
+++ b/packages/core/src/features/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx
@@ -5,7 +5,7 @@
import type { RenderResult } from "@testing-library/react";
import { getApplicationBuilder } from "../../../../../renderer/components/test-utils/get-application-builder";
import React from "react";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import { workloadOverviewDetailInjectionToken } from "../../../../../renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-injection-token";
import { getInjectable } from "@ogre-tools/injectable";
import { computed, runInAction } from "mobx";
@@ -17,8 +17,8 @@ describe("order of workload overview details", () => {
const builder = getApplicationBuilder();
builder.beforeWindowStart(({ windowDi }) => {
- windowDi.unoverride(getRandomIdInjectable);
- windowDi.permitSideEffects(getRandomIdInjectable);
+ windowDi.unoverride(getRandomIdInjectionToken);
+ windowDi.permitSideEffects(getRandomIdInjectionToken);
runInAction(() => {
windowDi.register(
diff --git a/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx b/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
index 8f8cfa82a1..220a3ea6aa 100644
--- a/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
+++ b/packages/core/src/features/status-bar/status-bar-items-originating-from-extensions.test.tsx
@@ -6,7 +6,7 @@ import type { RenderResult } from "@testing-library/react";
import React from "react";
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake";
import { computed } from "mobx";
@@ -17,8 +17,8 @@ describe("status-bar-items-originating-from-extensions", () => {
applicationBuilder = getApplicationBuilder();
applicationBuilder.beforeWindowStart(({ windowDi }) => {
- windowDi.unoverride(getRandomIdInjectable);
- windowDi.permitSideEffects(getRandomIdInjectable);
+ windowDi.unoverride(getRandomIdInjectionToken);
+ windowDi.permitSideEffects(getRandomIdInjectionToken);
});
});
diff --git a/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts b/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
index a4652eff45..fa0afe2f70 100644
--- a/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
+++ b/packages/core/src/features/tray/clicking-tray-menu-item-originating-from-extension.test.ts
@@ -5,7 +5,7 @@
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import type { FakeExtensionOptions } from "../../renderer/components/test-utils/get-extension-fake";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import logErrorInjectable from "../../common/log-error.injectable";
describe("clicking tray menu item originating from extension", () => {
@@ -19,7 +19,7 @@ describe("clicking tray menu item originating from extension", () => {
logErrorMock = jest.fn();
mainDi.override(logErrorInjectable, () => logErrorMock);
- mainDi.override(getRandomIdInjectable, () => () => "some-random-id");
+ mainDi.override(getRandomIdInjectionToken, () => () => "some-random-id");
});
await builder.render();
diff --git a/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts b/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
index 8670ef7860..83b9deb27e 100644
--- a/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
+++ b/packages/core/src/features/tray/multiple-separators-originating-from-extension.test.ts
@@ -4,7 +4,7 @@
*/
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
describe("multiple separators originating from extension", () => {
let builder: ApplicationBuilder;
@@ -13,8 +13,8 @@ describe("multiple separators originating from extension", () => {
builder = getApplicationBuilder();
builder.beforeApplicationStart(({ mainDi }) => {
- mainDi.unoverride(getRandomIdInjectable);
- mainDi.permitSideEffects(getRandomIdInjectable);
+ mainDi.unoverride(getRandomIdInjectionToken);
+ mainDi.permitSideEffects(getRandomIdInjectionToken);
});
await builder.render();
diff --git a/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts b/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
index 55c498ee7a..dc6dbf37fe 100644
--- a/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
+++ b/packages/core/src/main/tray/tray-menu-item/tray-menu-item-registrator.injectable.ts
@@ -14,7 +14,7 @@ import type { TrayMenuRegistration } from "../tray-menu-registration";
import { withErrorSuppression } from "../../../common/utils/with-error-suppression/with-error-suppression";
import type { WithErrorLoggingFor } from "../../../common/utils/with-error-logging/with-error-logging.injectable";
import withErrorLoggingInjectable from "../../../common/utils/with-error-logging/with-error-logging.injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import { isBoolean, isString } from "@k8slens/utilities";
const trayMenuItemRegistratorInjectable = getInjectable({
@@ -23,7 +23,7 @@ const trayMenuItemRegistratorInjectable = getInjectable({
instantiate: (di) => (extension) => {
const mainExtension = extension as LensMainExtension;
const withErrorLoggingFor = di.inject(withErrorLoggingInjectable);
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
return computed(() => {
const trayMenus = Array.isArray(mainExtension.trayMenus) ? mainExtension.trayMenus : mainExtension.trayMenus.get();
diff --git a/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts b/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
index ec5e8bcd38..c1bc63d027 100644
--- a/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
+++ b/packages/core/src/renderer/components/dock/edit-resource/get-random-id-for-edit-resource-tab.injectable.ts
@@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
const getRandomIdForEditResourceTabInjectable = getInjectable({
id: "get-random-id-for-edit-resource-tab",
- instantiate: (di) => di.inject(getRandomIdInjectable),
+ instantiate: (di) => di.inject(getRandomIdInjectionToken),
});
export default getRandomIdForEditResourceTabInjectable;
diff --git a/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts b/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
index e13c585914..44b4345ef3 100644
--- a/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
+++ b/packages/core/src/renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable.ts
@@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
const getRandomInstallChartTabIdInjectable = getInjectable({
id: "get-random-install-chart-tab-id",
- instantiate: (di) => di.inject(getRandomIdInjectable),
+ instantiate: (di) => di.inject(getRandomIdInjectionToken),
});
export default getRandomInstallChartTabIdInjectable;
diff --git a/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts b/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
index 486b43314e..329986de30 100644
--- a/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
+++ b/packages/core/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts
@@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
const getRandomIdForPodLogsTabInjectable = getInjectable({
id: "get-random-id-for-pod-logs-tab",
- instantiate: (di) => di.inject(getRandomIdInjectable),
+ instantiate: (di) => di.inject(getRandomIdInjectionToken),
});
export default getRandomIdForPodLogsTabInjectable;
diff --git a/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts b/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
index 81dd918283..ab1cf12fd9 100644
--- a/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
+++ b/packages/core/src/renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable.ts
@@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
const getRandomUpgradeChartTabIdInjectable = getInjectable({
id: "get-random-upgrade-chart-tab-id",
- instantiate: (di) => di.inject(getRandomIdInjectable),
+ instantiate: (di) => di.inject(getRandomIdInjectionToken),
});
export default getRandomUpgradeChartTabIdInjectable;
diff --git a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
index cc0945097e..343a5c8075 100644
--- a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { kubeObjectDetailItemInjectionToken } from "./kube-object-detail-item-injection-token";
@@ -16,7 +16,7 @@ const kubeObjectDetailItemRegistratorInjectable = getInjectable({
id: "kube-object-detail-item-registrator",
instantiate: (di) => {
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
const getExtensionShouldBeEnabledForClusterFrame = (
extension: LensRendererExtension,
diff --git a/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
index b9aa14ad72..daf298567f 100644
--- a/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-menu/kube-object-menu-item-registrator.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { kubeObjectMenuItemInjectionToken } from "./kube-object-menu-item-injection-token";
import { computed } from "mobx";
@@ -14,7 +14,7 @@ const kubeObjectMenuItemRegistratorInjectable = getInjectable({
id: "kube-object-menu-item-registrator",
instantiate: (di) => {
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
const getExtensionShouldBeEnabledForClusterFrame = (
extension: LensRendererExtension,
diff --git a/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts b/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
index 67dfd9e112..7d13c91377 100644
--- a/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-status-icon/kube-object-status-text-registrator.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import { kubeObjectStatusTextInjectionToken } from "./kube-object-status-text-injection-token";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { computed } from "mobx";
@@ -14,7 +14,7 @@ const kubeObjectStatusTextRegistratorInjectable = getInjectable({
id: "kube-object-status-text-registrator",
instantiate: (di) => {
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
const getExtensionShouldBeEnabledForClusterFrame = (
extension: LensRendererExtension,
diff --git a/packages/core/src/renderer/components/menu/menu-actions.tsx b/packages/core/src/renderer/components/menu/menu-actions.tsx
index b3ac3b9eb7..05cc79442d 100644
--- a/packages/core/src/renderer/components/menu/menu-actions.tsx
+++ b/packages/core/src/renderer/components/menu/menu-actions.tsx
@@ -19,7 +19,7 @@ import type { TooltipDecoratorProps } from "@k8slens/tooltip";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import { withInjectables } from "@ogre-tools/injectable-react";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import autoBindReact from "auto-bind/react";
export interface MenuActionsProps extends Partial {
@@ -186,7 +186,7 @@ class NonInjectedMenuActions extends React.Component(NonInjectedMenuActions, {
getProps: (di, props) => ({
- id: di.inject(getRandomIdInjectable)(),
+ id: di.inject(getRandomIdInjectionToken)(),
openConfirmDialog: di.inject(openConfirmDialogInjectable),
...props,
}),
diff --git a/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx b/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
index 4f262e79ce..a7107a1a68 100644
--- a/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
+++ b/packages/core/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx
@@ -11,7 +11,7 @@ import type { StatusBarItem } from "./status-bar-item-injection-token";
import { statusBarItemInjectionToken } from "./status-bar-item-injection-token";
import type { StatusBarRegistration } from "./status-bar-registration";
import React from "react";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import { loggerInjectionToken } from "@k8slens/logger";
import type { Logger } from "@k8slens/logger";
@@ -20,7 +20,7 @@ const statusBarItemRegistratorInjectable = getInjectable({
instantiate: (di) => (extension) => {
const rendererExtension = extension as LensRendererExtension;
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
const logger = di.inject(loggerInjectionToken);
return rendererExtension.statusBarItems.flatMap(
diff --git a/packages/core/src/renderer/components/status-bar/status-bar.test.tsx b/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
index d0decea569..4bcac1efb7 100644
--- a/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
+++ b/packages/core/src/renderer/components/status-bar/status-bar.test.tsx
@@ -8,7 +8,7 @@ import type { ApplicationBuilder } from "../test-utils/get-application-builder";
import { getApplicationBuilder } from "../test-utils/get-application-builder";
import setStatusBarStatusInjectable from "./set-status-bar-status.injectable";
import type { RenderResult } from "@testing-library/react";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
describe("", () => {
let builder: ApplicationBuilder;
@@ -18,8 +18,8 @@ describe("", () => {
builder = getApplicationBuilder();
builder.beforeWindowStart(({ windowDi }) => {
- windowDi.permitSideEffects(getRandomIdInjectable);
- windowDi.unoverride(getRandomIdInjectable);
+ windowDi.permitSideEffects(getRandomIdInjectionToken);
+ windowDi.unoverride(getRandomIdInjectionToken);
});
result = await builder.render();
diff --git a/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts b/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
index 143e01bbaf..6a286f7725 100644
--- a/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { getRandomIdInjectable } from "@k8slens/random";
+import { getRandomIdInjectionToken } from "@k8slens/random";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import { workloadOverviewDetailInjectionToken } from "./workload-overview-detail-injection-token";
@@ -14,7 +14,7 @@ const workloadOverviewDetailRegistratorInjectable = getInjectable({
id: "workload-overview-detail-registrator",
instantiate: (di) => {
- const getRandomId = di.inject(getRandomIdInjectable);
+ const getRandomId = di.inject(getRandomIdInjectionToken);
return (ext) => {
const extension = ext as LensRendererExtension;
diff --git a/packages/random-id/index.ts b/packages/random-id/index.ts
index 9d7d69f32d..fe1abebc0d 100644
--- a/packages/random-id/index.ts
+++ b/packages/random-id/index.ts
@@ -4,4 +4,4 @@
*/
export { randomFeature } from "./src/feature";
-export { getRandomIdInjectable } from "./src/get-random-id.injectable";
+export { getRandomIdInjectionToken, getRandomIdInjectable } from "./src/get-random-id.injectable";
diff --git a/packages/random-id/package.json b/packages/random-id/package.json
index ec0130c3e4..86d7d63bc2 100644
--- a/packages/random-id/package.json
+++ b/packages/random-id/package.json
@@ -1,7 +1,7 @@
{
"name": "@k8slens/random",
"private": false,
- "version": "1.0.0-alpha.0",
+ "version": "1.0.0",
"description": "Highly extendable random in the Lens.",
"type": "commonjs",
"files": [
diff --git a/packages/random-id/src/get-random-id.injectable.ts b/packages/random-id/src/get-random-id.injectable.ts
index ce2b124960..efa41f4eed 100644
--- a/packages/random-id/src/get-random-id.injectable.ts
+++ b/packages/random-id/src/get-random-id.injectable.ts
@@ -2,11 +2,17 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
-import { getInjectable } from "@ogre-tools/injectable";
+import { getInjectable, getInjectionToken } from "@ogre-tools/injectable";
import { v4 as getRandomId } from "uuid";
+export type GetRandomId = () => string;
+export const getRandomIdInjectionToken = getInjectionToken({
+ id: "get-random-id-injection-token",
+});
+
export const getRandomIdInjectable = getInjectable({
id: "get-random-id",
- instantiate: () => () => getRandomId(),
+ instantiate: (): GetRandomId => () => getRandomId(),
causesSideEffects: true,
+ injectionToken: getRandomIdInjectionToken,
});
From 683ac4efcccf4f7476003243f041df72f7033804 Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Thu, 1 Jun 2023 10:41:35 +0200
Subject: [PATCH 05/20] chore: remove injectable from export
Signed-off-by: Gabriel
---
packages/random-id/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/random-id/index.ts b/packages/random-id/index.ts
index fe1abebc0d..dca5dcc918 100644
--- a/packages/random-id/index.ts
+++ b/packages/random-id/index.ts
@@ -4,4 +4,4 @@
*/
export { randomFeature } from "./src/feature";
-export { getRandomIdInjectionToken, getRandomIdInjectable } from "./src/get-random-id.injectable";
+export { getRandomIdInjectionToken } from "./src/get-random-id.injectable";
From 48a5e3c3be6958dce17f5f7bece5dee21f49e4ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Otto=20Kr=C3=B6pke?=
Date: Wed, 31 May 2023 23:12:37 +0200
Subject: [PATCH 06/20] Update @electron/notarize
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Jan-Otto Kröpke
---
open-lens/build/notarize.js | 6 ++--
open-lens/package.json | 2 +-
package-lock.json | 58 +++++++++----------------------------
3 files changed, 19 insertions(+), 47 deletions(-)
diff --git a/open-lens/build/notarize.js b/open-lens/build/notarize.js
index 0bf1903e59..f78b448aa8 100644
--- a/open-lens/build/notarize.js
+++ b/open-lens/build/notarize.js
@@ -2,7 +2,7 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
-const { notarize } = require("electron-notarize");
+const { notarize } = require("@electron/notarize");
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
@@ -22,6 +22,8 @@ exports.default = async function notarizing(context) {
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
- ascProvider:process.env.ASCPROVIDER,
+ ascProvider: process.env.ASCPROVIDER,
+ teamId: process.env.APPLETEAMID,
+ tool: process.env.NOTARIZE_TOOL || "legacy",
});
};
diff --git a/open-lens/package.json b/open-lens/package.json
index f647d4ffb1..212b2585fe 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -298,6 +298,7 @@
"xterm-link-provider": "^1.3.1"
},
"devDependencies": {
+ "@electron/notarize": "^1.2.3",
"@electron/rebuild": "^3.2.10",
"@k8slens/generate-tray-icons": "^6.5.0",
"@k8slens/test-utils": "^1.0.0",
@@ -331,7 +332,6 @@
"css-loader": "^6.7.2",
"electron": "^22.3.10",
"electron-builder": "^23.6.0",
- "electron-notarize": "^0.3.0",
"esbuild-loader": "^2.20.0",
"fork-ts-checker-webpack-plugin": "^7.3.0",
"html-webpack-plugin": "^5.5.1",
diff --git a/package-lock.json b/package-lock.json
index eb2b482593..30a34ea225 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2188,6 +2188,19 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/@electron/notarize": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz",
+ "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "fs-extra": "^9.0.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/@electron/rebuild": {
"version": "3.2.13",
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.13.tgz",
@@ -12753,49 +12766,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/electron-notarize": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.3.0.tgz",
- "integrity": "sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw==",
- "deprecated": "Please use @electron/notarize moving forward. There is no API change, just a package name change",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0"
- }
- },
- "node_modules/electron-notarize/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/electron-notarize/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/electron-notarize/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/electron-osx-sign": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz",
@@ -34115,6 +34085,7 @@
"xterm-link-provider": "^1.3.1"
},
"devDependencies": {
+ "@electron/notarize": "^1.2.3",
"@electron/rebuild": "^3.2.10",
"@k8slens/generate-tray-icons": "^6.5.0",
"@k8slens/test-utils": "^1.0.0",
@@ -34148,7 +34119,6 @@
"css-loader": "^6.7.2",
"electron": "^22.3.10",
"electron-builder": "^23.6.0",
- "electron-notarize": "^0.3.0",
"esbuild-loader": "^2.20.0",
"fork-ts-checker-webpack-plugin": "^7.3.0",
"html-webpack-plugin": "^5.5.1",
From 2efa8018384e2c10213784a87d45462d097aac04 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Fri, 26 May 2023 11:49:56 -0400
Subject: [PATCH 07/20] chore: Fix typo in kube-api documentation
Signed-off-by: Sebastian Malton
---
packages/utility-features/kube-api/src/kube-api.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/utility-features/kube-api/src/kube-api.ts b/packages/utility-features/kube-api/src/kube-api.ts
index 87de206a64..099819cf4c 100644
--- a/packages/utility-features/kube-api/src/kube-api.ts
+++ b/packages/utility-features/kube-api/src/kube-api.ts
@@ -265,7 +265,7 @@ export type ClusterScopedResourceDescriptor = SpecificResourceDescriptor
Date: Fri, 26 May 2023 11:50:19 -0400
Subject: [PATCH 08/20] chore: Move storesAndApisCanBeCreatedInjectionToken to
@k8slens/kube-api-specifics
Signed-off-by: Sebastian Malton
---
packages/utility-features/kube-api-specifics/index.ts | 1 +
.../kube-api-specifics/src/can-be-created-token.ts} | 5 -----
2 files changed, 1 insertion(+), 5 deletions(-)
rename packages/{core/src/common/k8s-api/stores-apis-can-be-created.token.ts => utility-features/kube-api-specifics/src/can-be-created-token.ts} (56%)
diff --git a/packages/utility-features/kube-api-specifics/index.ts b/packages/utility-features/kube-api-specifics/index.ts
index e11b52006c..d1d7f293d7 100644
--- a/packages/utility-features/kube-api-specifics/index.ts
+++ b/packages/utility-features/kube-api-specifics/index.ts
@@ -1 +1,2 @@
export * from "./src/token";
+export * from "./src/can-be-created-token";
diff --git a/packages/core/src/common/k8s-api/stores-apis-can-be-created.token.ts b/packages/utility-features/kube-api-specifics/src/can-be-created-token.ts
similarity index 56%
rename from packages/core/src/common/k8s-api/stores-apis-can-be-created.token.ts
rename to packages/utility-features/kube-api-specifics/src/can-be-created-token.ts
index 746f822c0c..c51db24755 100644
--- a/packages/core/src/common/k8s-api/stores-apis-can-be-created.token.ts
+++ b/packages/utility-features/kube-api-specifics/src/can-be-created-token.ts
@@ -1,8 +1,3 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-
import { getInjectionToken } from "@ogre-tools/injectable";
export const storesAndApisCanBeCreatedInjectionToken = getInjectionToken({
From 0dd833c00b5ece294a8d64d863108e1fd755f685 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Fri, 26 May 2023 11:53:29 -0400
Subject: [PATCH 09/20] chore!: Switch to using specific log functions in
KubeApi dependencies
Signed-off-by: Sebastian Malton
---
.../utility-features/kube-api/src/kube-api.ts | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/packages/utility-features/kube-api/src/kube-api.ts b/packages/utility-features/kube-api/src/kube-api.ts
index 099819cf4c..0bfdaeebca 100644
--- a/packages/utility-features/kube-api/src/kube-api.ts
+++ b/packages/utility-features/kube-api/src/kube-api.ts
@@ -33,7 +33,7 @@ import type { RequestInit, Response } from "@k8slens/node-fetch";
import type { Patch } from "rfc6902";
import assert from "assert";
import type { PartialDeep } from "type-fest";
-import type { Logger } from "@k8slens/logger";
+import type { LogFunction } from "@k8slens/logger";
import { matches } from "lodash/fp";
import { makeObservable, observable } from "mobx";
import type { ScaleCreateOptions } from "@k8slens/kube-object/src/types/scale";
@@ -273,7 +273,9 @@ export interface DeleteResourceDescriptor extends ResourceDescriptor {
}
export interface KubeApiDependencies {
- readonly logger: Logger;
+ logInfo: LogFunction;
+ logWarn: LogFunction;
+ logError: LogFunction;
readonly maybeKubeApi: KubeJsonApi | undefined;
}
@@ -756,7 +758,7 @@ export class KubeApi<
const watchUrl = this.getWatchUrl(namespace);
abortController.signal.addEventListener("abort", () => {
- this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) aborted ${watchUrl}`);
+ this.dependencies.logInfo(`watch (${watchId}) aborted ${watchUrl}`);
clearTimeout(timedRetry);
});
@@ -765,9 +767,7 @@ export class KubeApi<
signal: abortController.signal,
});
- this.dependencies.logger.info(
- `[KUBE-API] watch (${watchId}) ${retry === true ? "retried" : "started"} ${watchUrl}`,
- );
+ this.dependencies.logInfo(`watch (${watchId}) ${retry === true ? "retried" : "started"} ${watchUrl}`);
responsePromise
.then((response) => {
@@ -775,7 +775,7 @@ export class KubeApi<
let requestRetried = false;
if (!response.ok) {
- this.dependencies.logger.warn(`[KUBE-API] watch (${watchId}) error response ${watchUrl}`, {
+ this.dependencies.logWarn(`watch (${watchId}) error response ${watchUrl}`, {
status: response.status,
});
@@ -794,7 +794,7 @@ export class KubeApi<
// Close current request
abortController.abort();
- this.dependencies.logger.info(`[KUBE-API] Watch timeout set, but not retried, retrying now`);
+ this.dependencies.logInfo(`Watch timeout set, but not retried, retrying now`);
requestRetried = true;
@@ -807,7 +807,7 @@ export class KubeApi<
if (!response.body || !response.body.readable) {
if (!response.body) {
- this.dependencies.logger.warn(`[KUBE-API]: watch (${watchId}) did not return a body`);
+ this.dependencies.logWarn(`watch (${watchId}) did not return a body`);
}
requestRetried = true;
@@ -829,7 +829,7 @@ export class KubeApi<
return;
}
- this.dependencies.logger.info(`[KUBE-API] watch (${watchId}) ${eventName} ${watchUrl}`);
+ this.dependencies.logInfo(`watch (${watchId}) ${eventName} ${watchUrl}`);
requestRetried = true;
@@ -860,7 +860,7 @@ export class KubeApi<
})
.catch((error: unknown) => {
if (!abortController.signal.aborted) {
- this.dependencies.logger.error(`[KUBE-API] watch (${watchId}) threw ${watchUrl}`, error);
+ this.dependencies.logError(`watch (${watchId}) threw ${watchUrl}`, error);
}
callback(null, error as Record);
});
From 84017b48dbd4a80b292eeaaa2bd80812e483ba40 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Fri, 26 May 2023 11:53:48 -0400
Subject: [PATCH 10/20] chore: Fix spelling mistake in KubeApi documentation
Signed-off-by: Sebastian Malton
---
packages/utility-features/kube-api/src/kube-api.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/utility-features/kube-api/src/kube-api.ts b/packages/utility-features/kube-api/src/kube-api.ts
index 0bfdaeebca..89c8eb87dd 100644
--- a/packages/utility-features/kube-api/src/kube-api.ts
+++ b/packages/utility-features/kube-api/src/kube-api.ts
@@ -86,7 +86,7 @@ export interface DerivedKubeApiOptions {
* version becomes the `preferredVersion` on the server but still has `v2` then the `v2` version
* will be used instead.
*
- * This can help to prevent crashes in the future if the shape of a kind sufficently changes.
+ * This can help to prevent crashes in the future if the shape of a kind sufficiently changes.
*
* The order is important. It should be sorted and the first entry should be the most preferable.
*
From a546ae10005610b67ff50cb5abd1a7e90409d365 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Fri, 26 May 2023 13:51:53 -0400
Subject: [PATCH 11/20] chore: Extract specific KubeApi injectables to own
package
Signed-off-by: Sebastian Malton
---
package-lock.json | 5 +-
.../k8s-api/__tests__/api-manager.test.ts | 12 ++-
.../kube-api-version-detection.test.ts | 9 +-
.../common/k8s-api/__tests__/kube-api.test.ts | 2 +-
.../k8s-api/api-manager/manager.injectable.ts | 3 +-
.../create-kube-api-for-cluster.injectable.ts | 10 +-
...-kube-api-for-remote-cluster.injectable.ts | 10 +-
.../k8s-api/create-kube-api.injectable.ts | 8 +-
.../cluster-role-binding.api.injectable.ts | 27 ------
.../endpoints/cluster-role.api.injectable.ts | 27 ------
.../component-status.api.injectable.ts | 27 ------
.../endpoints/config-map.api.injectable.ts | 27 ------
.../endpoints/cron-job.api.injectable.ts | 29 ------
...stom-resource-definition.api.injectable.ts | 27 ------
.../endpoints/daemon-set.api.injectable.ts | 27 ------
.../endpoints/deployment.api.injectable.ts | 27 ------
.../endpoints/endpoint.api.injectable.ts | 27 ------
.../endpoints/events.api.injectable.ts | 27 ------
...orizontal-pod-autoscaler.api.injectable.ts | 27 ------
.../endpoints/ingress-class.api.injectable.ts | 21 -----
.../k8s-api/endpoints/job.api.injectable.ts | 29 ------
.../endpoints/limit-range.api.injectable.ts | 27 ------
...ng-webhook-configuration-api.injectable.ts | 27 ------
.../endpoints/namespace.api.injectable.ts | 28 ------
.../network-policy.api.injectable.ts | 27 ------
.../persistent-volume-claim.api.injectable.ts | 27 ------
.../persistent-volume.api.injectable.ts | 27 ------
.../pod-disruption-budget.api.injectable.ts | 35 -------
.../endpoints/pod-metrics.api.injectable.ts | 27 ------
.../pod-security-policy.api.injectable.ts | 27 ------
.../priority-class.api.injectable.ts | 27 ------
.../endpoints/replica-set.api.injectable.ts | 27 ------
.../replication-controller.api.injectable.ts | 23 -----
.../resource-quota.api.injectable.ts | 27 ------
.../endpoints/role-binding.api.injectable.ts | 27 ------
.../endpoints/runtime-class.api.injectable.ts | 27 ------
...lf-subject-rules-reviews.api.injectable.ts | 27 ------
.../service-account.api.injectable.ts | 27 ------
.../endpoints/stateful-set.api.injectable.ts | 27 ------
.../endpoints/storage-class.api.injectable.ts | 27 ------
...ng-webhook-configuration-api.injectable.ts | 27 ------
.../vertical-pod-autoscaler.api.injectable.ts | 27 ------
.../selected-filter-namespaces.injectable.ts | 2 +-
.../core/src/extensions/common-api/k8s-api.ts | 9 +-
.../src/extensions/renderer-api/k8s-api.ts | 94 +++++++------------
.../features/cluster/workloads/pods.test.tsx | 2 +-
.../stores-apis-can-be-created.injectable.ts | 2 +-
...setup-auto-crd-api-creations.injectable.ts | 8 +-
.../components/cluster/store.injectable.ts | 5 +-
.../store.injectable.ts | 5 +-
.../config-leases/store.injectable.ts | 5 +-
.../config-limit-ranges/store.injectable.ts | 5 +-
.../config-maps/store.injectable.ts | 5 +-
...-webhook-configuration-store.injectable.ts | 6 +-
.../pod-distruption-budgets.test.tsx | 4 +-
.../store.injectable.ts | 5 +-
.../store.injectable.ts | 5 +-
.../add-dialog/view.tsx | 2 +-
.../store.injectable.ts | 5 +-
.../store.injectable.ts | 5 +-
.../config-secrets/add-dialog/view.tsx | 2 +-
.../config-secrets/store.injectable.ts | 5 +-
...-webhook-configuration-store.injectable.ts | 6 +-
.../store.injectable.ts | 5 +-
.../definitions.injectable.ts | 4 +-
.../store.injectable.ts | 5 +-
.../dock/logs/call-for-logs.injectable.ts | 2 +-
.../components/events/store.injectable.ts | 5 +-
.../kube-object-meta/kube-object-meta.tsx | 2 +-
.../components/namespaces/store.injectable.ts | 5 +-
.../network-endpoints/store.injectable.ts | 5 +-
.../ingress-class-set-default.injectable.ts | 2 +-
.../ingress-class-store.injectable.ts | 5 +-
.../ingress-store.injectable.ts | 5 +-
.../network-policies/store.injectable.ts | 5 +-
.../port-forward-details.tsx | 3 +-
.../network-services/store.injectable.ts | 5 +-
.../components/nodes/store.injectable.ts | 5 +-
.../pod-security-policies/store.injectable.ts | 5 +-
.../storage-classes/store.injectable.ts | 5 +-
.../storage-volume-claims/store.injectable.ts | 5 +-
.../volume-claim-details.tsx | 2 +-
.../storage-volume-claims/volume-claims.tsx | 2 +-
.../storage-volumes/store.injectable.ts | 5 +-
.../storage-volumes/volume-details.tsx | 3 +-
.../components/storage-volumes/volumes.tsx | 3 +-
.../test-utils/get-application-builder.tsx | 2 +-
.../cluster-role-bindings/store.injectable.ts | 3 +-
.../cluster-roles/store.injectable.ts | 3 +-
.../role-bindings/dialog/view.tsx | 2 +-
.../role-bindings/store.injectable.ts | 5 +-
.../user-management/roles/store.injectable.ts | 5 +-
.../service-accounts/store.injectable.ts | 5 +-
.../workloads-cronjobs/cron-job-menu.tsx | 2 +-
.../workloads-cronjobs/store.injectable.ts | 5 +-
.../trigger-dialog/view.tsx | 2 +-
.../workloads-daemonsets/daemonset-menu.tsx | 2 +-
.../workloads-daemonsets/store.injectable.ts | 5 +-
.../workloads-deployments/deployment-menu.tsx | 2 +-
.../scale/dialog.test.tsx | 2 +-
.../workloads-deployments/scale/dialog.tsx | 2 +-
.../workloads-deployments/store.injectable.ts | 3 +-
.../workloads-jobs/store.injectable.ts | 5 +-
.../columns/pods-node-column.injectable.tsx | 2 +-
.../details/volumes/variants/ceph-fs.tsx | 2 +-
.../details/volumes/variants/config-map.tsx | 2 +-
.../variants/container-storage-interface.tsx | 2 +-
.../details/volumes/variants/flex-volume.tsx | 2 +-
.../variants/persistent-volume-claim.tsx | 2 +-
.../volumes/variants/rados-block-device.tsx | 2 +-
.../details/volumes/variants/scale-io.tsx | 2 +-
.../details/volumes/variants/secret.tsx | 2 +-
.../details/volumes/variants/storage-os.tsx | 2 +-
.../workloads-pods/pod-details-secrets.tsx | 2 +-
.../components/workloads-pods/pod-details.tsx | 5 +-
.../workloads-pods/store.injectable.ts | 6 +-
.../scale-dialog/dialog.test.tsx | 2 +-
.../scale-dialog/dialog.tsx | 2 +-
.../workloads-replicasets/store.injectable.ts | 5 +-
.../replication-controller-details.tsx | 2 +-
...replication-controller-store.injectable.ts | 2 +-
.../scale/dialog.test.tsx | 2 +-
.../workloads-statefulsets/scale/dialog.tsx | 2 +-
.../statefulset-menu.tsx | 2 +-
.../store.injectable.ts | 5 +-
.../src/renderer/k8s/api-kube.injectable.ts | 2 +-
.../stores-apis-can-be-created.injectable.ts | 2 +-
.../kube-api-specifics/index.ts | 4 +-
.../kube-api-specifics/package.json | 7 +-
.../kube-api-specifics/src/feature.ts | 13 +++
.../{ => specifics}/can-be-created-token.ts | 0
.../cluster-role-binding.api.injectable.ts | 30 ++++++
.../specifics/cluster-role.api.injectable.ts | 30 ++++++
.../src/specifics}/cluster.api.injectable.ts | 16 ++--
.../component-status.api.injectable.ts | 30 ++++++
.../specifics/config-map.api.injectable.ts | 30 ++++++
.../src/specifics/cron-job.api.injectable.ts | 32 +++++++
...stom-resource-definition.api.injectable.ts | 30 ++++++
.../specifics/daemon-set.api.injectable.ts | 30 ++++++
.../specifics/deployment.api.injectable.ts | 30 ++++++
.../src/specifics/endpoint.api.injectable.ts | 30 ++++++
.../src/specifics/event.api.injectable.ts | 30 ++++++
...orizontal-pod-autoscaler.api.injectable.ts | 30 ++++++
.../kube-api-specifics/src/specifics/index.ts | 45 +++++++++
.../specifics/ingress-class.api.injectable.ts | 30 ++++++
.../src/specifics}/ingress.api.injectable.ts | 16 ++--
.../src/specifics/job.api.injectable.ts | 32 +++++++
.../src/specifics}/lease.api.injectable.ts | 16 ++--
.../specifics/limit-range.api.injectable.ts | 30 ++++++
.../specifics}/maybe-kube-api.injectable.ts | 4 +-
...ng-webhook-configuration-api.injectable.ts | 30 ++++++
.../src/specifics/namespace.api.injectable.ts | 31 ++++++
.../network-policy.api.injectable.ts | 30 ++++++
.../src/specifics}/node.api.injectable.ts | 16 ++--
.../persistent-volume-claim.api.injectable.ts | 30 ++++++
.../persistent-volume.api.injectable.ts | 30 ++++++
.../pod-disruption-budget.api.injectable.ts | 38 ++++++++
.../specifics/pod-metrics.api.injectable.ts | 30 ++++++
.../pod-security-policy.api.injectable.ts | 30 ++++++
.../src/specifics}/pod.api.injectable.ts | 16 ++--
.../priority-class.api.injectable.ts | 30 ++++++
.../specifics/replica-set.api.injectable.ts | 30 ++++++
.../replication-controller.api.injectable.ts | 30 ++++++
.../resource-quota.api.injectable.ts | 30 ++++++
.../specifics/role-binding.api.injectable.ts | 30 ++++++
.../src/specifics}/role.api.injectable.ts | 16 ++--
.../specifics/runtime-class.api.injectable.ts | 30 ++++++
.../src/specifics}/secret.api.injectable.ts | 16 ++--
...lf-subject-rules-reviews.api.injectable.ts | 30 ++++++
.../service-account.api.injectable.ts | 30 ++++++
.../src/specifics}/service.api.injectable.ts | 16 ++--
.../specifics/stateful-set.api.injectable.ts | 30 ++++++
.../specifics/storage-class.api.injectable.ts | 30 ++++++
.../src/{ => specifics}/token.ts | 0
...ng-webhook-configuration-api.injectable.ts | 30 ++++++
.../vertical-pod-autoscaler.api.injectable.ts | 30 ++++++
176 files changed, 1366 insertions(+), 1244 deletions(-)
delete mode 100644 packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts
delete mode 100644 packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/feature.ts
rename packages/utility-features/kube-api-specifics/src/{ => specifics}/can-be-created-token.ts (100%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/cluster-role-binding.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/cluster-role.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/cluster.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/component-status.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/config-map.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/cron-job.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/custom-resource-definition.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/daemon-set.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/deployment.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/endpoint.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/event.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/horizontal-pod-autoscaler.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/index.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/ingress-class.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/ingress.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/job.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/lease.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/limit-range.api.injectable.ts
rename packages/{core/src/common/k8s-api => utility-features/kube-api-specifics/src/specifics}/maybe-kube-api.injectable.ts (82%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/mutating-webhook-configuration-api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/namespace.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/network-policy.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/node.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/persistent-volume-claim.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/persistent-volume.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/pod-disruption-budget.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/pod-metrics.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/pod-security-policy.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/pod.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/priority-class.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/replica-set.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/replication-controller.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/resource-quota.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/role-binding.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/role.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/runtime-class.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/secret.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/self-subject-rules-reviews.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/service-account.api.injectable.ts
rename packages/{core/src/common/k8s-api/endpoints => utility-features/kube-api-specifics/src/specifics}/service.api.injectable.ts (53%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/stateful-set.api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/storage-class.api.injectable.ts
rename packages/utility-features/kube-api-specifics/src/{ => specifics}/token.ts (100%)
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/validating-webhook-configuration-api.injectable.ts
create mode 100644 packages/utility-features/kube-api-specifics/src/specifics/vertical-pod-autoscaler.api.injectable.ts
diff --git a/package-lock.json b/package-lock.json
index 30a34ea225..73a253f5d1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35793,8 +35793,11 @@
"@k8slens/typescript": "^6.5.0-alpha.2"
},
"peerDependencies": {
+ "@k8slens/feature-core": "^6.5.0-alpha.8",
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.2.0"
+ "@k8slens/logger": "^1.0.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0"
}
},
"packages/utility-features/react-testing-library-discovery": {
diff --git a/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts b/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts
index 3008b91916..e71603591e 100644
--- a/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts
+++ b/packages/core/src/common/k8s-api/__tests__/api-manager.test.ts
@@ -11,13 +11,12 @@ import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
+import { logErrorInjectionToken, loggerInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import type { ApiManager } from "../api-manager";
import apiManagerInjectable from "../api-manager/manager.injectable";
import { KubeApi } from "@k8slens/kube-api";
import { KubeObject } from "@k8slens/kube-object";
import { KubeObjectStore } from "../kube-object.store";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
// eslint-disable-next-line no-restricted-imports
import { KubeApi as ExternalKubeApi } from "../../../extensions/common-api/k8s-api";
@@ -25,6 +24,7 @@ import { Cluster } from "../../cluster/cluster";
import { runInAction } from "mobx";
import { customResourceDefinitionApiInjectionToken } from "../api-manager/crd-api-token";
import assert from "assert";
+import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
class TestApi extends KubeApi {
protected checkPreferredVersion() {
@@ -61,7 +61,9 @@ describe("ApiManager", () => {
const apiBase = "api/v1/foo";
const fallbackApiBase = "/apis/extensions/v1beta1/foo";
const kubeApi = new TestApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
}, {
objectConstructor: KubeObject,
@@ -136,7 +138,9 @@ describe("ApiManager", () => {
return Object.assign(
new KubeApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
}, { objectConstructor }),
{
diff --git a/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts b/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts
index c73d024cce..7bc404f79d 100644
--- a/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts
+++ b/packages/core/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts
@@ -20,9 +20,8 @@ import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hos
import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
import apiManagerInjectable from "../api-manager/manager.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
-import ingressApiInjectable from "../endpoints/ingress.api.injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { ingressApiInjectable, maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import { Cluster } from "../../cluster/cluster";
describe("KubeApi", () => {
@@ -710,7 +709,9 @@ describe("KubeApi", () => {
beforeEach(async () => {
horizontalPodAutoscalerApi = new HorizontalPodAutoscalerApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
}, {
allowedUsableVersions: {
diff --git a/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts b/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts
index 072f889824..7c81ae3480 100644
--- a/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts
+++ b/packages/core/src/common/k8s-api/__tests__/kube-api.test.ts
@@ -22,7 +22,7 @@ import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hos
import directoryForKubeConfigsInjectable from "../../app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
import apiKubeInjectable from "../../../renderer/k8s/api-kube.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
-import podApiInjectable from "../endpoints/pod.api.injectable";
+import { podApiInjectable } from "@k8slens/kube-api-specifics";
// NOTE: this is fine because we are testing something that only exported
// eslint-disable-next-line no-restricted-imports
diff --git a/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts b/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts
index 8b6340e4a5..20a26bd00d 100644
--- a/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts
+++ b/packages/core/src/common/k8s-api/api-manager/manager.injectable.ts
@@ -3,11 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
import { ApiManager } from "./api-manager";
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
import { kubeObjectStoreInjectionToken } from "./kube-object-store-token";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
+import { kubeApiInjectionToken, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { computed } from "mobx";
import { customResourceDefinitionApiInjectionToken } from "./crd-api-token";
import createCustomResourceStoreInjectable from "./create-custom-resource-store.injectable";
diff --git a/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts
index d237d90660..d9fbc2d872 100644
--- a/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts
+++ b/packages/core/src/common/k8s-api/create-kube-api-for-cluster.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import { apiKubePrefix } from "../vars";
import isDevelopmentInjectable from "../vars/is-development.injectable";
import apiBaseInjectable from "./api-base.injectable";
@@ -37,7 +37,9 @@ const createKubeApiForClusterInjectable = getInjectable({
const apiBase = di.inject(apiBaseInjectable);
const isDevelopment = di.inject(isDevelopmentInjectable);
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
- const logger = di.inject(loggerInjectionToken);
+ const logError = di.inject(logErrorInjectionToken);
+ const logInfo = di.inject(logInfoInjectionToken);
+ const logWarn = di.inject(logWarningInjectionToken);
return (
cluster: CreateKubeApiForLocalClusterConfig,
@@ -64,7 +66,9 @@ const createKubeApiForClusterInjectable = getInjectable({
return new KubeApi(
{
- logger,
+ logError,
+ logInfo,
+ logWarn,
maybeKubeApi: undefined,
},
{
diff --git a/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts
index 28377d4e88..d3b9f26e91 100644
--- a/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts
+++ b/packages/core/src/common/k8s-api/create-kube-api-for-remote-cluster.injectable.ts
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import type { AgentOptions } from "https";
import { Agent } from "https";
import type { RequestInit } from "@k8slens/node-fetch";
-import { loggerInjectionToken } from "@k8slens/logger";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import isDevelopmentInjectable from "../vars/is-development.injectable";
import createKubeJsonApiInjectable from "./create-kube-json-api.injectable";
import type { KubeApiOptions } from "@k8slens/kube-api";
@@ -53,7 +53,9 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({
instantiate: (di): CreateKubeApiForRemoteCluster => {
const isDevelopment = di.inject(isDevelopmentInjectable);
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
- const logger = di.inject(loggerInjectionToken);
+ const logError = di.inject(logErrorInjectionToken);
+ const logInfo = di.inject(logInfoInjectionToken);
+ const logWarn = di.inject(logWarningInjectionToken);
return (
config: CreateKubeApiForRemoteClusterConfig,
@@ -110,7 +112,9 @@ const createKubeApiForRemoteClusterInjectable = getInjectable({
return new KubeApi(
{
- logger,
+ logError,
+ logInfo,
+ logWarn,
maybeKubeApi: undefined,
},
{
diff --git a/packages/core/src/common/k8s-api/create-kube-api.injectable.ts b/packages/core/src/common/k8s-api/create-kube-api.injectable.ts
index 57fac06b97..c92c8796cc 100644
--- a/packages/core/src/common/k8s-api/create-kube-api.injectable.ts
+++ b/packages/core/src/common/k8s-api/create-kube-api.injectable.ts
@@ -3,9 +3,9 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import type { DerivedKubeApiOptions, KubeApiDependencies } from "@k8slens/kube-api";
-import maybeKubeApiInjectable from "./maybe-kube-api.injectable";
+import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
export interface CreateKubeApi {
(ctor: new (deps: KubeApiDependencies, opts: DerivedKubeApiOptions) => Api, opts?: DerivedKubeApiOptions): Api;
@@ -15,7 +15,9 @@ const createKubeApiInjectable = getInjectable({
id: "create-kube-api",
instantiate: (di): CreateKubeApi => {
const deps: KubeApiDependencies = {
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
};
diff --git a/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts
deleted file mode 100644
index f731e32a28..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/cluster-role-binding.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ClusterRoleBindingApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const clusterRoleBindingApiInjectable = getInjectable({
- id: "cluster-role-binding-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterRoleBindingApi is only accessible in certain environments");
-
- return new ClusterRoleBindingApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default clusterRoleBindingApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts
deleted file mode 100644
index 6e5ea7b184..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/cluster-role.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ClusterRoleApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const clusterRoleApiInjectable = getInjectable({
- id: "cluster-role-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterRoleApi is only available in certain environments");
-
- return new ClusterRoleApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default clusterRoleApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts
deleted file mode 100644
index eb5a216a13..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/component-status.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ComponentStatusApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
-
-const componentStatusApiInjectable = getInjectable({
- id: "component-status-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "componentStatusApi is only available in certain environments");
-
- return new ComponentStatusApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default componentStatusApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts
deleted file mode 100644
index 4b9c1323bf..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/config-map.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ConfigMapApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const configMapApiInjectable = getInjectable({
- id: "config-map-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "configMapApi is only available in certain environments");
-
- return new ConfigMapApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default configMapApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts
deleted file mode 100644
index 016b147668..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/cron-job.api.injectable.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { CronJobApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const cronJobApiInjectable = getInjectable({
- id: "cron-job-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "cronJobApi is only available in certain environments");
-
- return new CronJobApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- }, {
- checkPreferredVersion: true,
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default cronJobApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts
deleted file mode 100644
index f6b32ffbf6..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/custom-resource-definition.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { CustomResourceDefinitionApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
-
-const customResourceDefinitionApiInjectable = getInjectable({
- id: "custom-resource-definition-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "customResourceDefinitionApi is only available in certain environments");
-
- return new CustomResourceDefinitionApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default customResourceDefinitionApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts
deleted file mode 100644
index ab2a004a08..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/daemon-set.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { DaemonSetApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const daemonSetApiInjectable = getInjectable({
- id: "daemon-set-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "daemonSetApi is only available in certain environments");
-
- return new DaemonSetApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default daemonSetApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts
deleted file mode 100644
index d652d710f5..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/deployment.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { DeploymentApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const deploymentApiInjectable = getInjectable({
- id: "deployment-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "deploymentApi is only available in certain environments");
-
- return new DeploymentApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default deploymentApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts
deleted file mode 100644
index fa2ba55d23..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/endpoint.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { EndpointsApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const endpointsApiInjectable = getInjectable({
- id: "endpoints-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "endpointsApi is only available in certain environments");
-
- return new EndpointsApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default endpointsApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts
deleted file mode 100644
index 8b26fb9065..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/events.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { KubeEventApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const kubeEventApiInjectable = getInjectable({
- id: "kube-event-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "kubeEventApi is only available in certain environments");
-
- return new KubeEventApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default kubeEventApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts
deleted file mode 100644
index 226fc60e94..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { HorizontalPodAutoscalerApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const horizontalPodAutoscalerApiInjectable = getInjectable({
- id: "horizontal-pod-autoscaler-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "horizontalPodAutoscalerApi is only available in certain environments");
-
- return new HorizontalPodAutoscalerApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default horizontalPodAutoscalerApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts
deleted file mode 100644
index 25662ddd7e..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/ingress-class.api.injectable.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import { IngressClassApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const ingressClassApiInjectable = getInjectable({
- id: "ingress-class-api",
- instantiate: (di) => new IngressClassApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- }),
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default ingressClassApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts
deleted file mode 100644
index edd0a66e29..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/job.api.injectable.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { JobApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const jobApiInjectable = getInjectable({
- id: "job-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "jobApi is only available in certain environments");
-
- return new JobApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- }, {
- checkPreferredVersion: true,
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default jobApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts
deleted file mode 100644
index 8eb4427f57..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/limit-range.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { LimitRangeApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const limitRangeApiInjectable = getInjectable({
- id: "limit-range-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "limitRangeApi is only available in certain environments");
-
- return new LimitRangeApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default limitRangeApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts
deleted file mode 100644
index a91fa90332..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { MutatingWebhookConfigurationApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const mutatingWebhookConfigurationApiInjectable = getInjectable({
- id: "mutating-webhook-configuration",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "mutatingWebhookApi is only available in certain environments");
-
- return new MutatingWebhookConfigurationApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default mutatingWebhookConfigurationApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts
deleted file mode 100644
index 5ed484fe74..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/namespace.api.injectable.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { NamespaceApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const namespaceApiInjectable = getInjectable({
- id: "namespace-api",
-
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "namespaceApi is only available in certain environments");
-
- return new NamespaceApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default namespaceApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts
deleted file mode 100644
index bcc325b85b..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/network-policy.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { NetworkPolicyApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const networkPolicyApiInjectable = getInjectable({
- id: "network-policy-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "networkPolicyApi is only available in certain environments");
-
- return new NetworkPolicyApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default networkPolicyApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts
deleted file mode 100644
index 6a50975a8a..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/persistent-volume-claim.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PersistentVolumeClaimApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const persistentVolumeClaimApiInjectable = getInjectable({
- id: "persistent-volume-claim-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeClaimApi is only available in certain environments");
-
- return new PersistentVolumeClaimApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default persistentVolumeClaimApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts
deleted file mode 100644
index 72a1ec8d21..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/persistent-volume.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PersistentVolumeApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const persistentVolumeApiInjectable = getInjectable({
- id: "persistent-volume-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeApi is only available in certain environments");
-
- return new PersistentVolumeApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default persistentVolumeApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts
deleted file mode 100644
index ab17a0f35d..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/pod-disruption-budget.api.injectable.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PodDisruptionBudgetApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const podDisruptionBudgetApiInjectable = getInjectable({
- id: "pod-disruption-budget-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podDisruptionBudgetApi is only available in certain environments");
-
- return new PodDisruptionBudgetApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- }, {
- checkPreferredVersion: true,
- allowedUsableVersions: {
- policy: [
- "v1",
- "v1beta1",
- ],
- },
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default podDisruptionBudgetApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts
deleted file mode 100644
index bda2bfe010..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/pod-metrics.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PodMetricsApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const podMetricsApiInjectable = getInjectable({
- id: "pod-metrics-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podMetricsApi is only available in certain environments");
-
- return new PodMetricsApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default podMetricsApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts
deleted file mode 100644
index b6bf8ada32..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/pod-security-policy.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PodSecurityPolicyApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const podSecurityPolicyApiInjectable = getInjectable({
- id: "pod-security-policy-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podSecurityPolicyApi is only available in certain environments");
-
- return new PodSecurityPolicyApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default podSecurityPolicyApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts
deleted file mode 100644
index de6b2d8c1d..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/priority-class.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { PriorityClassApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const priorityClassApiInjectable = getInjectable({
- id: "priority-class-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "PriorityClassApi is only available in certain environments");
-
- return new PriorityClassApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default priorityClassApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts
deleted file mode 100644
index fcebaa7aca..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/replica-set.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ReplicaSetApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const replicaSetApiInjectable = getInjectable({
- id: "replica-set-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "replicaSetApi is only available in certain environments");
-
- return new ReplicaSetApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default replicaSetApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts
deleted file mode 100644
index 82b09ad2b6..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/replication-controller.api.injectable.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import { ReplicationControllerApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const replicationControllerApiInjectable = getInjectable({
- id: "replication-controller-api",
- instantiate: (di) => {
- return new ReplicationControllerApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default replicationControllerApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts
deleted file mode 100644
index 5bb50c6b14..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/resource-quota.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ResourceQuotaApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const resourceQuotaApiInjectable = getInjectable({
- id: "resource-quota-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "resourceQuotaApi is only available in certain environments");
-
- return new ResourceQuotaApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default resourceQuotaApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts
deleted file mode 100644
index a254a587b9..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/role-binding.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { RoleBindingApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const roleBindingApiInjectable = getInjectable({
- id: "role-binding-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "roleBindingApi is only available in certain environments");
-
- return new RoleBindingApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default roleBindingApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts
deleted file mode 100644
index 4aba1e2d42..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/runtime-class.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { RuntimeClassApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const runtimeClassApiInjectable = getInjectable({
- id: "runtime-class-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "RuntimeClassApi is only available in certain environments");
-
- return new RuntimeClassApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default runtimeClassApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts
deleted file mode 100644
index f0a44febd4..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/self-subject-rules-reviews.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { SelfSubjectRulesReviewApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const selfSubjectRulesReviewApiInjectable = getInjectable({
- id: "self-subject-rules-review-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "selfSubjectRulesReviewApi is only available in certain environments");
-
- return new SelfSubjectRulesReviewApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default selfSubjectRulesReviewApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts
deleted file mode 100644
index 170a106b12..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/service-account.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ServiceAccountApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const serviceAccountApiInjectable = getInjectable({
- id: "service-account-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "serviceAccountApi is only available in certain environments");
-
- return new ServiceAccountApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default serviceAccountApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts
deleted file mode 100644
index ba56cb4a95..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/stateful-set.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { StatefulSetApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const statefulSetApiInjectable = getInjectable({
- id: "stateful-set-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "statefulSetApi is only available in certain environments");
-
- return new StatefulSetApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default statefulSetApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts
deleted file mode 100644
index 4eb7003e7a..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/storage-class.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { StorageClassApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const storageClassApiInjectable = getInjectable({
- id: "storage-class-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "storageClassApi is only available in certain environments");
-
- return new StorageClassApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default storageClassApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts
deleted file mode 100644
index 5bf2f7ab4d..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/validating-webhook-configuration-api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { ValidatingWebhookConfigurationApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const validatingWebhookConfigurationApiInjectable = getInjectable({
- id: "validating-webhook-configuration",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "validatingWebhookApi is only available in certain environments");
-
- return new ValidatingWebhookConfigurationApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default validatingWebhookConfigurationApiInjectable;
diff --git a/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts b/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts
deleted file mode 100644
index 439c2107e9..0000000000
--- a/packages/core/src/common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-import { getInjectable } from "@ogre-tools/injectable";
-import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
-import { VerticalPodAutoscalerApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
-
-const verticalPodAutoscalerApiInjectable = getInjectable({
- id: "vertical-pod-autoscaler-api",
- instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "verticalPodAutoscalerApi is only available in certain environments");
-
- return new VerticalPodAutoscalerApi({
- logger: di.inject(loggerInjectionToken),
- maybeKubeApi: di.inject(maybeKubeApiInjectable),
- });
- },
-
- injectionToken: kubeApiInjectionToken,
-});
-
-export default verticalPodAutoscalerApiInjectable;
diff --git a/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts b/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts
index 41f664b895..a89c181769 100644
--- a/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts
+++ b/packages/core/src/common/k8s-api/selected-filter-namespaces.injectable.ts
@@ -2,10 +2,10 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
+import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import clusterFrameContextForNamespacedResourcesInjectable from "../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
-import { storesAndApisCanBeCreatedInjectionToken } from "./stores-apis-can-be-created.token";
const selectedFilterNamespacesInjectable = getInjectable({
id: "selected-filter-namespaces",
diff --git a/packages/core/src/extensions/common-api/k8s-api.ts b/packages/core/src/extensions/common-api/k8s-api.ts
index d53f240af5..7c9e2ad763 100644
--- a/packages/core/src/extensions/common-api/k8s-api.ts
+++ b/packages/core/src/extensions/common-api/k8s-api.ts
@@ -20,10 +20,9 @@ import type { KubeJsonApiDataFor, KubeObject } from "@k8slens/kube-object";
import type { DerivedKubeApiOptions, KubeApiDependencies, KubeApiOptions, KubeJsonApi as InternalKubeJsonApi } from "@k8slens/kube-api";
import clusterFrameContextForNamespacedResourcesInjectable from "../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
import type { ClusterContext } from "../../renderer/cluster-frame-context/cluster-frame-context";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../../common/k8s-api/maybe-kube-api.injectable";
+import { logErrorInjectionToken, loggerInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { DeploymentApi as InternalDeploymentApi, IngressApi as InternalIngressApi, NodeApi, PersistentVolumeClaimApi, PodApi, KubeApi as InternalKubeApi } from "@k8slens/kube-api";
-import { storesAndApisCanBeCreatedInjectionToken } from "../../common/k8s-api/stores-apis-can-be-created.token";
import type { JsonApiConfig } from "@k8slens/json-api";
import createKubeJsonApiInjectable from "../../common/k8s-api/create-kube-json-api.injectable";
import type { RequestInit } from "@k8slens/node-fetch";
@@ -40,7 +39,9 @@ const getKubeApiDeps = (): KubeApiDependencies => {
const di = getLegacyGlobalDiForExtensionApi();
return {
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
};
};
diff --git a/packages/core/src/extensions/renderer-api/k8s-api.ts b/packages/core/src/extensions/renderer-api/k8s-api.ts
index 7dc9abca43..cb00484fa2 100644
--- a/packages/core/src/extensions/renderer-api/k8s-api.ts
+++ b/packages/core/src/extensions/renderer-api/k8s-api.ts
@@ -5,37 +5,7 @@
import type { KubeResource } from "../../common/rbac";
import { apiResourceRecord } from "../../common/rbac";
import { getLegacyGlobalDiForExtensionApi, asLegacyGlobalForExtensionApi, asLegacyGlobalFunctionForExtensionApi } from "@k8slens/legacy-global-di";
-import clusterRoleBindingApiInjectable from "../../common/k8s-api/endpoints/cluster-role-binding.api.injectable";
-import clusterRoleApiInjectable from "../../common/k8s-api/endpoints/cluster-role.api.injectable";
-import serviceAccountApiInjectable from "../../common/k8s-api/endpoints/service-account.api.injectable";
-import roleApiInjectable from "../../common/k8s-api/endpoints/role.api.injectable";
-import podApiInjectable from "../../common/k8s-api/endpoints/pod.api.injectable";
-import daemonSetApiInjectable from "../../common/k8s-api/endpoints/daemon-set.api.injectable";
-import replicaSetApiInjectable from "../../common/k8s-api/endpoints/replica-set.api.injectable";
-import statefulSetApiInjectable from "../../common/k8s-api/endpoints/stateful-set.api.injectable";
-import deploymentApiInjectable from "../../common/k8s-api/endpoints/deployment.api.injectable";
-import jobApiInjectable from "../../common/k8s-api/endpoints/job.api.injectable";
-import cronJobApiInjectable from "../../common/k8s-api/endpoints/cron-job.api.injectable";
-import nodeApiInjectable from "../../common/k8s-api/endpoints/node.api.injectable";
-import configMapApiInjectable from "../../common/k8s-api/endpoints/config-map.api.injectable";
-import secretApiInjectable from "../../common/k8s-api/endpoints/secret.api.injectable";
-import resourceQuotaApiInjectable from "../../common/k8s-api/endpoints/resource-quota.api.injectable";
-import limitRangeApiInjectable from "../../common/k8s-api/endpoints/limit-range.api.injectable";
-import horizontalPodAutoscalerApiInjectable from "../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable";
-import verticalPodAutoscalerApiInjectable from "../../common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable";
-import podDisruptionBudgetApiInjectable from "../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable";
-import priorityClassStoreApiInjectable from "../../common/k8s-api/endpoints/priority-class.api.injectable";
-import serviceApiInjectable from "../../common/k8s-api/endpoints/service.api.injectable";
-import endpointsApiInjectable from "../../common/k8s-api/endpoints/endpoint.api.injectable";
-import ingressApiInjectable from "../../common/k8s-api/endpoints/ingress.api.injectable";
-import networkPolicyApiInjectable from "../../common/k8s-api/endpoints/network-policy.api.injectable";
-import persistentVolumeApiInjectable from "../../common/k8s-api/endpoints/persistent-volume.api.injectable";
-import persistentVolumeClaimApiInjectable from "../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
-import storageClassApiInjectable from "../../common/k8s-api/endpoints/storage-class.api.injectable";
-import namespaceApiInjectable from "../../common/k8s-api/endpoints/namespace.api.injectable";
-import kubeEventApiInjectable from "../../common/k8s-api/endpoints/events.api.injectable";
-import roleBindingApiInjectable from "../../common/k8s-api/endpoints/role-binding.api.injectable";
-import customResourceDefinitionApiInjectable from "../../common/k8s-api/endpoints/custom-resource-definition.api.injectable";
+import * as kubeApiSpecifics from "@k8slens/kube-api-specifics";
import { shouldShowResourceInjectionToken } from "../../features/cluster/showing-kube-resources/common/allowed-resources-injection-token";
import requestMetricsInjectable from "../../common/k8s-api/endpoints/metrics.api/request-metrics.injectable";
@@ -59,37 +29,37 @@ export function isAllowedResource(resources: KubeResource | KubeResource[]) {
});
}
-export const serviceAccountsApi = asLegacyGlobalForExtensionApi(serviceAccountApiInjectable);
-export const clusterRoleApi = asLegacyGlobalForExtensionApi(clusterRoleApiInjectable);
-export const clusterRoleBindingApi = asLegacyGlobalForExtensionApi(clusterRoleBindingApiInjectable);
-export const roleApi = asLegacyGlobalForExtensionApi(roleApiInjectable);
-export const podsApi = asLegacyGlobalForExtensionApi(podApiInjectable);
-export const daemonSetApi = asLegacyGlobalForExtensionApi(daemonSetApiInjectable);
-export const replicaSetApi = asLegacyGlobalForExtensionApi(replicaSetApiInjectable);
-export const statefulSetApi = asLegacyGlobalForExtensionApi(statefulSetApiInjectable);
-export const deploymentApi = asLegacyGlobalForExtensionApi(deploymentApiInjectable);
-export const jobApi = asLegacyGlobalForExtensionApi(jobApiInjectable);
-export const cronJobApi = asLegacyGlobalForExtensionApi(cronJobApiInjectable);
-export const nodesApi = asLegacyGlobalForExtensionApi(nodeApiInjectable);
-export const secretsApi = asLegacyGlobalForExtensionApi(secretApiInjectable);
-export const configMapApi = asLegacyGlobalForExtensionApi(configMapApiInjectable);
-export const resourceQuotaApi = asLegacyGlobalForExtensionApi(resourceQuotaApiInjectable);
-export const limitRangeApi = asLegacyGlobalForExtensionApi(limitRangeApiInjectable);
-export const serviceApi = asLegacyGlobalForExtensionApi(serviceApiInjectable);
-export const hpaApi = asLegacyGlobalForExtensionApi(horizontalPodAutoscalerApiInjectable);
-export const vpaApi = asLegacyGlobalForExtensionApi(verticalPodAutoscalerApiInjectable);
-export const pdbApi = asLegacyGlobalForExtensionApi(podDisruptionBudgetApiInjectable);
-export const pcApi = asLegacyGlobalForExtensionApi(priorityClassStoreApiInjectable);
-export const endpointApi = asLegacyGlobalForExtensionApi(endpointsApiInjectable);
-export const ingressApi = asLegacyGlobalForExtensionApi(ingressApiInjectable);
-export const networkPolicyApi = asLegacyGlobalForExtensionApi(networkPolicyApiInjectable);
-export const persistentVolumeApi = asLegacyGlobalForExtensionApi(persistentVolumeApiInjectable);
-export const pvcApi = asLegacyGlobalForExtensionApi(persistentVolumeClaimApiInjectable);
-export const storageClassApi = asLegacyGlobalForExtensionApi(storageClassApiInjectable);
-export const namespacesApi = asLegacyGlobalForExtensionApi(namespaceApiInjectable);
-export const eventApi = asLegacyGlobalForExtensionApi(kubeEventApiInjectable);
-export const roleBindingApi = asLegacyGlobalForExtensionApi(roleBindingApiInjectable);
-export const crdApi = asLegacyGlobalForExtensionApi(customResourceDefinitionApiInjectable);
+export const serviceAccountsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.serviceAccountApiInjectable);
+export const clusterRoleApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.clusterRoleApiInjectable);
+export const clusterRoleBindingApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.clusterRoleBindingApiInjectable);
+export const roleApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.roleApiInjectable);
+export const podsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.podApiInjectable);
+export const daemonSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.daemonSetApiInjectable);
+export const replicaSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.replicaSetApiInjectable);
+export const statefulSetApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.statefulSetApiInjectable);
+export const deploymentApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.deploymentApiInjectable);
+export const jobApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.jobApiInjectable);
+export const cronJobApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.cronJobApiInjectable);
+export const nodesApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.nodeApiInjectable);
+export const secretsApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.secretApiInjectable);
+export const configMapApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.configMapApiInjectable);
+export const resourceQuotaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.resourceQuotaApiInjectable);
+export const limitRangeApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.limitRangeApiInjectable);
+export const serviceApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.serviceApiInjectable);
+export const hpaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.horizontalPodAutoscalerApiInjectable);
+export const vpaApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.verticalPodAutoscalerApiInjectable);
+export const pdbApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.podDisruptionBudgetApiInjectable);
+export const pcApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.priorityClassApiInjectable);
+export const endpointApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.endpointsApiInjectable);
+export const ingressApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.ingressApiInjectable);
+export const networkPolicyApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.networkPolicyApiInjectable);
+export const persistentVolumeApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.persistentVolumeApiInjectable);
+export const pvcApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.persistentVolumeClaimApiInjectable);
+export const storageClassApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.storageClassApiInjectable);
+export const namespacesApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.namespaceApiInjectable);
+export const eventApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.kubeEventApiInjectable);
+export const roleBindingApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.roleBindingApiInjectable);
+export const crdApi = asLegacyGlobalForExtensionApi(kubeApiSpecifics.customResourceDefinitionApiInjectable);
export * from "../common-api/k8s-api";
diff --git a/packages/core/src/features/cluster/workloads/pods.test.tsx b/packages/core/src/features/cluster/workloads/pods.test.tsx
index 74d9f7e2cc..2bb153e927 100644
--- a/packages/core/src/features/cluster/workloads/pods.test.tsx
+++ b/packages/core/src/features/cluster/workloads/pods.test.tsx
@@ -10,7 +10,7 @@ import podStoreInjectable from "../../../renderer/components/workloads-pods/stor
import type { PodMetrics, PodStatus } from "@k8slens/kube-object";
import { Pod } from "@k8slens/kube-object";
import type { PodMetricsApi } from "@k8slens/kube-api";
-import podMetricsApiInjectable from "../../../common/k8s-api/endpoints/pod-metrics.api.injectable";
+import { podMetricsApiInjectable } from "@k8slens/kube-api-specifics";
import type { RequestMetrics } from "../../../common/k8s-api/endpoints/metrics.api/request-metrics.injectable";
import requestMetricsInjectable from "../../../common/k8s-api/endpoints/metrics.api/request-metrics.injectable";
diff --git a/packages/core/src/main/stores-apis-can-be-created.injectable.ts b/packages/core/src/main/stores-apis-can-be-created.injectable.ts
index 6dc36f6702..cb7e16cd39 100644
--- a/packages/core/src/main/stores-apis-can-be-created.injectable.ts
+++ b/packages/core/src/main/stores-apis-can-be-created.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { storesAndApisCanBeCreatedInjectionToken } from "../common/k8s-api/stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
const storesAndApisCanBeCreatedInjectable = getInjectable({
id: "create-stores-and-apis",
diff --git a/packages/core/src/renderer/before-frame-starts/runnables/setup-auto-crd-api-creations.injectable.ts b/packages/core/src/renderer/before-frame-starts/runnables/setup-auto-crd-api-creations.injectable.ts
index 658954e02e..a366a61054 100644
--- a/packages/core/src/renderer/before-frame-starts/runnables/setup-auto-crd-api-creations.injectable.ts
+++ b/packages/core/src/renderer/before-frame-starts/runnables/setup-auto-crd-api-creations.injectable.ts
@@ -8,11 +8,11 @@ import { customResourceDefinitionApiInjectionToken } from "../../../common/k8s-a
import type { CustomResourceDefinition } from "@k8slens/kube-object";
import { KubeApi } from "@k8slens/kube-api";
import { KubeObject } from "@k8slens/kube-object";
-import maybeKubeApiInjectable from "../../../common/k8s-api/maybe-kube-api.injectable";
-import { loggerInjectionToken } from "@k8slens/logger";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
import { injectableDifferencingRegistratorWith } from "../../../common/utils/registrator-helper";
import customResourceDefinitionStoreInjectable from "../../components/custom-resource-definitions/store.injectable";
import { beforeClusterFrameStartsSecondInjectionToken } from "../tokens";
+import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
const setupAutoCrdApiCreationsInjectable = getInjectable({
id: "setup-auto-crd-api-creations",
@@ -45,7 +45,9 @@ const toCrdApiInjectable = (crd: CustomResourceDefinition) => getInjectable({
};
return new KubeApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
}, { objectConstructor });
},
diff --git a/packages/core/src/renderer/components/cluster/store.injectable.ts b/packages/core/src/renderer/components/cluster/store.injectable.ts
index cf0ce6888b..1789a95508 100644
--- a/packages/core/src/renderer/components/cluster/store.injectable.ts
+++ b/packages/core/src/renderer/components/cluster/store.injectable.ts
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { ClusterStore } from "./store";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import clusterApiInjectable from "../../../common/k8s-api/endpoints/cluster.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
+import { clusterApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import assert from "assert";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
@@ -16,7 +15,7 @@ const clusterStoreInjectable = getInjectable({
id: "cluster-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "clusterStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterStore is only available in certain environments");
const clusterApi = di.inject(clusterApiInjectable);
return new ClusterStore({
diff --git a/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/store.injectable.ts b/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/store.injectable.ts
index 5298ad27dd..c6a81f9b99 100644
--- a/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-horizontal-pod-autoscalers/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import horizontalPodAutoscalerApiInjectable from "../../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable";
+import { horizontalPodAutoscalerApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { HorizontalPodAutoscalerStore } from "./store";
const horizontalPodAutoscalerStoreInjectable = getInjectable({
id: "horizontal-pod-autoscaler-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "horizontalPodAutoscalerStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "horizontalPodAutoscalerStore is only available in certain environments");
const api = di.inject(horizontalPodAutoscalerApiInjectable);
diff --git a/packages/core/src/renderer/components/config-leases/store.injectable.ts b/packages/core/src/renderer/components/config-leases/store.injectable.ts
index 7d6fc96d4a..062f618466 100644
--- a/packages/core/src/renderer/components/config-leases/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-leases/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import leaseApiInjectable from "../../../common/k8s-api/endpoints/lease.api.injectable";
+import { leaseApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { LeaseStore } from "./store";
const leaseStoreInjectable = getInjectable({
id: "lease-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "leaseStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "leaseStore is only available in certain environments");
const api = di.inject(leaseApiInjectable);
diff --git a/packages/core/src/renderer/components/config-limit-ranges/store.injectable.ts b/packages/core/src/renderer/components/config-limit-ranges/store.injectable.ts
index ea7ec9ef4e..997f78268f 100644
--- a/packages/core/src/renderer/components/config-limit-ranges/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-limit-ranges/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import limitRangeApiInjectable from "../../../common/k8s-api/endpoints/limit-range.api.injectable";
+import { limitRangeApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { LimitRangeStore } from "./store";
const limitRangeStoreInjectable = getInjectable({
id: "limit-range-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "limitRangeStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "limitRangeStore is only available in certain environments");
const api = di.inject(limitRangeApiInjectable);
diff --git a/packages/core/src/renderer/components/config-maps/store.injectable.ts b/packages/core/src/renderer/components/config-maps/store.injectable.ts
index aae6da809d..f9a87115ce 100644
--- a/packages/core/src/renderer/components/config-maps/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-maps/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import configMapApiInjectable from "../../../common/k8s-api/endpoints/config-map.api.injectable";
+import { configMapApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { ConfigMapStore } from "./store";
const configMapStoreInjectable = getInjectable({
id: "config-map-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "configMapStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "configMapStore is only available in certain environments");
const api = di.inject(configMapApiInjectable);
diff --git a/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configuration-store.injectable.ts b/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configuration-store.injectable.ts
index 3767ec8b2f..14249948d2 100644
--- a/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configuration-store.injectable.ts
+++ b/packages/core/src/renderer/components/config-mutating-webhook-configurations/mutating-webhook-configuration-store.injectable.ts
@@ -7,12 +7,14 @@ import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manag
import { MutatingWebhookConfigurationStore } from "./mutating-webhook-configuration-store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import mutatingWebhookConfigurationApiInjectable
- from "../../../common/k8s-api/endpoints/mutating-webhook-configuration-api.injectable";
+import { mutatingWebhookConfigurationApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
+import assert from "assert";
const mutatingWebhookConfigurationStoreInjectable = getInjectable({
id: "mutating-webhook-configuration-store",
instantiate: (di) => {
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "mutatingWebhookConfigurationStore is only available in certain environments");
+
const api = di.inject(mutatingWebhookConfigurationApiInjectable);
return new MutatingWebhookConfigurationStore({
diff --git a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
index c423962e68..cf527c9c08 100644
--- a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
+++ b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
@@ -11,13 +11,13 @@ import { PodDisruptionBudgets } from "../pod-disruption-budgets";
import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
import selectedNamespacesStorageInjectable from "../../../../features/namespace-filtering/renderer/storage.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../../../../common/k8s-api/maybe-kube-api.injectable";
import podDisruptionBudgetStoreInjectable from "../store.injectable";
import siblingTabsInjectable from "../../../routes/sibling-tabs.injectable";
import { Cluster } from "../../../../common/cluster/cluster";
import hostedClusterInjectable from "../../../cluster-frame-context/hosted-cluster.injectable";
import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
+import { maybeKubeApiInjectable } from "@k8slens/kube-api-specifics";
describe("", () => {
let di: DiContainer;
@@ -60,7 +60,7 @@ describe("", () => {
get: () => ({}),
}) as any);
di.override(loggerInjectionToken, () => null);
- di.override(maybeKubeApiInjectable, () => (() => null) as any);
+ di.override(maybeKubeApiInjectable, () => null);
di.override(siblingTabsInjectable, () => ({ get: () => [] } as any));
di.override(userPreferencesStateInjectable, () => ({
hiddenTableColumns: {
diff --git a/packages/core/src/renderer/components/config-pod-disruption-budgets/store.injectable.ts b/packages/core/src/renderer/components/config-pod-disruption-budgets/store.injectable.ts
index 860a44a9ba..ee9a4bbfb5 100644
--- a/packages/core/src/renderer/components/config-pod-disruption-budgets/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-pod-disruption-budgets/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import podDisruptionBudgetApiInjectable from "../../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable";
+import { podDisruptionBudgetApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { PodDisruptionBudgetStore } from "./store";
const podDisruptionBudgetStoreInjectable = getInjectable({
id: "pod-disruption-budget-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "podDisruptionBudgetStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podDisruptionBudgetStore is only available in certain environments");
const api = di.inject(podDisruptionBudgetApiInjectable);
diff --git a/packages/core/src/renderer/components/config-priority-classes/store.injectable.ts b/packages/core/src/renderer/components/config-priority-classes/store.injectable.ts
index c7f06f0d4f..050df29af3 100644
--- a/packages/core/src/renderer/components/config-priority-classes/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-priority-classes/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import priorityClassApiInjectable from "../../../common/k8s-api/endpoints/priority-class.api.injectable";
+import { priorityClassApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { PriorityClassStore } from "./store";
const priorityClassStoreInjectable = getInjectable({
id: "priority-class-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "priorityClassStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "priorityClassStore is only available in certain environments");
const api = di.inject(priorityClassApiInjectable);
diff --git a/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx b/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
index b656f70ed0..ee59ab1ab6 100644
--- a/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
@@ -24,7 +24,7 @@ import { SubTitle } from "../../layout/sub-title";
import { withInjectables } from "@ogre-tools/injectable-react";
import closeAddQuotaDialogInjectable from "./close.injectable";
import isAddQuotaDialogOpenInjectable from "./is-open.injectable";
-import resourceQuotaApiInjectable from "../../../../common/k8s-api/endpoints/resource-quota.api.injectable";
+import { resourceQuotaApiInjectable } from "@k8slens/kube-api-specifics";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/config-resource-quotas/store.injectable.ts b/packages/core/src/renderer/components/config-resource-quotas/store.injectable.ts
index 7cee0bf257..6b67f07cca 100644
--- a/packages/core/src/renderer/components/config-resource-quotas/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-resource-quotas/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import resourceQuotaApiInjectable from "../../../common/k8s-api/endpoints/resource-quota.api.injectable";
+import { resourceQuotaApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { ResourceQuotaStore } from "./store";
const resourceQuotaStoreInjectable = getInjectable({
id: "resource-quota-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "resourceQuotaStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "resourceQuotaStore is only available in certain environments");
const api = di.inject(resourceQuotaApiInjectable);
diff --git a/packages/core/src/renderer/components/config-runtime-classes/store.injectable.ts b/packages/core/src/renderer/components/config-runtime-classes/store.injectable.ts
index afe686eccb..e6786b1715 100644
--- a/packages/core/src/renderer/components/config-runtime-classes/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-runtime-classes/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import runtimeClassApiInjectable from "../../../common/k8s-api/endpoints/runtime-class.api.injectable";
+import { runtimeClassApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { RuntimeClassStore } from "./store";
const runtimeClassStoreInjectable = getInjectable({
id: "runtime-class-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "runtimeClassStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "runtimeClassStore is only available in certain environments");
const api = di.inject(runtimeClassApiInjectable);
diff --git a/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx b/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
index db46d2b597..5ccfcc0c9b 100644
--- a/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
@@ -25,7 +25,7 @@ import upperFirst from "lodash/upperFirst";
import type { ShowDetails } from "../../kube-detail-params/show-details.injectable";
import { withInjectables } from "@ogre-tools/injectable-react";
import closeAddSecretDialogInjectable from "./close.injectable";
-import secretApiInjectable from "../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import showDetailsInjectable from "../../kube-detail-params/show-details.injectable";
import isAddSecretDialogOpenInjectable from "./is-open.injectable";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/config-secrets/store.injectable.ts b/packages/core/src/renderer/components/config-secrets/store.injectable.ts
index 5fbbda1c95..b5ee8956c6 100644
--- a/packages/core/src/renderer/components/config-secrets/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-secrets/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import secretApiInjectable from "../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { SecretStore } from "./store";
const secretStoreInjectable = getInjectable({
id: "secret-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "secretStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "secretStore is only available in certain environments");
const api = di.inject(secretApiInjectable);
diff --git a/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configuration-store.injectable.ts b/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configuration-store.injectable.ts
index bcb89907e6..dd3ccbd8bd 100644
--- a/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configuration-store.injectable.ts
+++ b/packages/core/src/renderer/components/config-validating-webhook-configurations/validating-webhook-configuration-store.injectable.ts
@@ -7,12 +7,14 @@ import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manag
import { ValidatingWebhookConfigurationStore } from "./validating-webhook-configuration-store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import validatingWebhookConfigurationApiInjectable
- from "../../../common/k8s-api/endpoints/validating-webhook-configuration-api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken, validatingWebhookConfigurationApiInjectable } from "@k8slens/kube-api-specifics";
+import assert from "assert";
const validatingWebhookConfigurationStoreInjectable = getInjectable({
id: "validating-webhook-configuration-store",
instantiate: (di) => {
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "validatingWebhookConfigurationStore is only available in certain environments");
+
const api = di.inject(validatingWebhookConfigurationApiInjectable);
return new ValidatingWebhookConfigurationStore({
diff --git a/packages/core/src/renderer/components/config-vertical-pod-autoscalers/store.injectable.ts b/packages/core/src/renderer/components/config-vertical-pod-autoscalers/store.injectable.ts
index 03962b9bc9..385e42fafa 100644
--- a/packages/core/src/renderer/components/config-vertical-pod-autoscalers/store.injectable.ts
+++ b/packages/core/src/renderer/components/config-vertical-pod-autoscalers/store.injectable.ts
@@ -6,15 +6,14 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { loggerInjectionToken } from "@k8slens/logger";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import verticalPodAutoscalerApiInjectable from "../../../common/k8s-api/endpoints/vertical-pod-autoscaler.api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken, verticalPodAutoscalerApiInjectable } from "@k8slens/kube-api-specifics";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { VerticalPodAutoscalerStore } from "./store";
const verticalPodAutoscalerStoreInjectable = getInjectable({
id: "vertical-pod-autoscaler-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "verticalPodAutoscalerStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "verticalPodAutoscalerStore is only available in certain environments");
const api = di.inject(verticalPodAutoscalerApiInjectable);
diff --git a/packages/core/src/renderer/components/custom-resource-definitions/definitions.injectable.ts b/packages/core/src/renderer/components/custom-resource-definitions/definitions.injectable.ts
index 394f89384e..2b5f6835a6 100644
--- a/packages/core/src/renderer/components/custom-resource-definitions/definitions.injectable.ts
+++ b/packages/core/src/renderer/components/custom-resource-definitions/definitions.injectable.ts
@@ -5,15 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.injectable";
import customResourceDefinitionStoreInjectable from "./store.injectable";
+import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
const customResourceDefinitionsInjectable = getInjectable({
id: "custom-resource-definitions",
instantiate: (di) => {
- const createStoresAndApis = di.inject(storesAndApisCanBeCreatedInjectable);
+ const createStoresAndApis = di.inject(storesAndApisCanBeCreatedInjectionToken);
if (!createStoresAndApis) {
return computed(() => []);
diff --git a/packages/core/src/renderer/components/custom-resource-definitions/store.injectable.ts b/packages/core/src/renderer/components/custom-resource-definitions/store.injectable.ts
index fe956beb9d..d80602460a 100644
--- a/packages/core/src/renderer/components/custom-resource-definitions/store.injectable.ts
+++ b/packages/core/src/renderer/components/custom-resource-definitions/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import customResourceDefinitionApiInjectable from "../../../common/k8s-api/endpoints/custom-resource-definition.api.injectable";
+import { customResourceDefinitionApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { CustomResourceDefinitionStore } from "./store";
const customResourceDefinitionStoreInjectable = getInjectable({
id: "custom-resource-definition-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "customResourceDefinitionStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "customResourceDefinitionStore is only available in certain environments");
const api = di.inject(customResourceDefinitionApiInjectable);
diff --git a/packages/core/src/renderer/components/dock/logs/call-for-logs.injectable.ts b/packages/core/src/renderer/components/dock/logs/call-for-logs.injectable.ts
index 7823c363b9..e7c5526604 100644
--- a/packages/core/src/renderer/components/dock/logs/call-for-logs.injectable.ts
+++ b/packages/core/src/renderer/components/dock/logs/call-for-logs.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import type { PodLogsQuery } from "@k8slens/kube-object";
-import podApiInjectable from "../../../../common/k8s-api/endpoints/pod.api.injectable";
+import { podApiInjectable } from "@k8slens/kube-api-specifics";
import type { ResourceDescriptor } from "@k8slens/kube-api";
export type CallForLogs = (params: ResourceDescriptor, query?: PodLogsQuery) => Promise;
diff --git a/packages/core/src/renderer/components/events/store.injectable.ts b/packages/core/src/renderer/components/events/store.injectable.ts
index 2de168f1fb..e364697bc5 100644
--- a/packages/core/src/renderer/components/events/store.injectable.ts
+++ b/packages/core/src/renderer/components/events/store.injectable.ts
@@ -6,16 +6,15 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodByIdInjectable from "../workloads-pods/get-pod-by-id.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import kubeEventApiInjectable from "../../../common/k8s-api/endpoints/events.api.injectable";
+import { kubeEventApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { EventStore } from "./store";
const eventStoreInjectable = getInjectable({
id: "event-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "eventStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "eventStore is only available in certain environments");
const api = di.inject(kubeEventApiInjectable);
diff --git a/packages/core/src/renderer/components/kube-object-meta/kube-object-meta.tsx b/packages/core/src/renderer/components/kube-object-meta/kube-object-meta.tsx
index 3fce56f936..7f4c851c20 100644
--- a/packages/core/src/renderer/components/kube-object-meta/kube-object-meta.tsx
+++ b/packages/core/src/renderer/components/kube-object-meta/kube-object-meta.tsx
@@ -20,7 +20,7 @@ import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injec
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
import type { NamespaceApi } from "@k8slens/kube-api";
-import namespaceApiInjectable from "../../../common/k8s-api/endpoints/namespace.api.injectable";
+import { namespaceApiInjectable } from "@k8slens/kube-api-specifics";
export interface KubeObjectMetaProps {
object: KubeObject;
diff --git a/packages/core/src/renderer/components/namespaces/store.injectable.ts b/packages/core/src/renderer/components/namespaces/store.injectable.ts
index c7db1da41b..4727486fd6 100644
--- a/packages/core/src/renderer/components/namespaces/store.injectable.ts
+++ b/packages/core/src/renderer/components/namespaces/store.injectable.ts
@@ -5,9 +5,8 @@
import { getInjectable } from "@ogre-tools/injectable";
import { NamespaceStore } from "./store";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import namespaceApiInjectable from "../../../common/k8s-api/endpoints/namespace.api.injectable";
+import { namespaceApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import assert from "assert";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
import clusterConfiguredAccessibleNamespacesInjectable from "../../cluster/accessible-namespaces.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
@@ -17,7 +16,7 @@ const namespaceStoreInjectable = getInjectable({
id: "namespace-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "namespaceStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "namespaceStore is only available in certain environments");
const api = di.inject(namespaceApiInjectable);
diff --git a/packages/core/src/renderer/components/network-endpoints/store.injectable.ts b/packages/core/src/renderer/components/network-endpoints/store.injectable.ts
index f10d69a015..221877dda4 100644
--- a/packages/core/src/renderer/components/network-endpoints/store.injectable.ts
+++ b/packages/core/src/renderer/components/network-endpoints/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import endpointsApiInjectable from "../../../common/k8s-api/endpoints/endpoint.api.injectable";
+import { endpointsApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { EndpointsStore } from "./store";
const endpointsStoreInjectable = getInjectable({
id: "endpoints-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "endpointsStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "endpointsStore is only available in certain environments");
const api = di.inject(endpointsApiInjectable);
diff --git a/packages/core/src/renderer/components/network-ingresses/ingress-class-set-default.injectable.ts b/packages/core/src/renderer/components/network-ingresses/ingress-class-set-default.injectable.ts
index db0dc0386d..fd9d648eaa 100644
--- a/packages/core/src/renderer/components/network-ingresses/ingress-class-set-default.injectable.ts
+++ b/packages/core/src/renderer/components/network-ingresses/ingress-class-set-default.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import type { IngressClass } from "@k8slens/kube-object";
-import ingressClassApiInjectable from "../../../common/k8s-api/endpoints/ingress-class.api.injectable";
+import { ingressClassApiInjectable } from "@k8slens/kube-api-specifics";
import ingressClassStoreInjectable from "./ingress-class-store.injectable";
export const ingressClassSetDefaultInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/network-ingresses/ingress-class-store.injectable.ts b/packages/core/src/renderer/components/network-ingresses/ingress-class-store.injectable.ts
index e9098169cc..7bc41f7150 100644
--- a/packages/core/src/renderer/components/network-ingresses/ingress-class-store.injectable.ts
+++ b/packages/core/src/renderer/components/network-ingresses/ingress-class-store.injectable.ts
@@ -5,9 +5,8 @@
import assert from "assert";
import { getInjectable } from "@ogre-tools/injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import ingressClassApiInjectable from "../../../common/k8s-api/endpoints/ingress-class.api.injectable";
+import { ingressClassApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { IngressClassStore } from "./ingress-class-store";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
@@ -15,7 +14,7 @@ const ingressClassStoreInjectable = getInjectable({
id: "ingress-class-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "ingressClassStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "ingressClassStore is only available in certain environments");
const api = di.inject(ingressClassApiInjectable);
diff --git a/packages/core/src/renderer/components/network-ingresses/ingress-store.injectable.ts b/packages/core/src/renderer/components/network-ingresses/ingress-store.injectable.ts
index 3e3090b16c..616616e62f 100644
--- a/packages/core/src/renderer/components/network-ingresses/ingress-store.injectable.ts
+++ b/packages/core/src/renderer/components/network-ingresses/ingress-store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import ingressApiInjectable from "../../../common/k8s-api/endpoints/ingress.api.injectable";
+import { ingressApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { IngressStore } from "./ingress-store";
const ingressStoreInjectable = getInjectable({
id: "ingress-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "ingressStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "ingressStore is only available in certain environments");
const api = di.inject(ingressApiInjectable);
diff --git a/packages/core/src/renderer/components/network-policies/store.injectable.ts b/packages/core/src/renderer/components/network-policies/store.injectable.ts
index 3fcc6c639a..a77ede2f97 100644
--- a/packages/core/src/renderer/components/network-policies/store.injectable.ts
+++ b/packages/core/src/renderer/components/network-policies/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import networkPolicyApiInjectable from "../../../common/k8s-api/endpoints/network-policy.api.injectable";
+import { networkPolicyApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { NetworkPolicyStore } from "./store";
const networkPolicyStoreInjectable = getInjectable({
id: "network-policy-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "networkPolicyStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "networkPolicyStore is only available in certain environments");
const api = di.inject(networkPolicyApiInjectable);
diff --git a/packages/core/src/renderer/components/network-port-forwards/port-forward-details.tsx b/packages/core/src/renderer/components/network-port-forwards/port-forward-details.tsx
index 923e2757f2..4b3b130664 100644
--- a/packages/core/src/renderer/components/network-port-forwards/port-forward-details.tsx
+++ b/packages/core/src/renderer/components/network-port-forwards/port-forward-details.tsx
@@ -14,10 +14,9 @@ import { cssNames } from "@k8slens/utilities";
import type { PodApi, ServiceApi } from "@k8slens/kube-api";
import { PortForwardMenu } from "./port-forward-menu";
import { withInjectables } from "@ogre-tools/injectable-react";
-import serviceApiInjectable from "../../../common/k8s-api/endpoints/service.api.injectable";
+import { serviceApiInjectable, podApiInjectable } from "@k8slens/kube-api-specifics";
import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
-import podApiInjectable from "../../../common/k8s-api/endpoints/pod.api.injectable";
export interface PortForwardDetailsProps {
portForward: PortForwardItem;
diff --git a/packages/core/src/renderer/components/network-services/store.injectable.ts b/packages/core/src/renderer/components/network-services/store.injectable.ts
index 7cc3c49ddc..f0cac1c7d0 100644
--- a/packages/core/src/renderer/components/network-services/store.injectable.ts
+++ b/packages/core/src/renderer/components/network-services/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import serviceApiInjectable from "../../../common/k8s-api/endpoints/service.api.injectable";
+import { serviceApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { ServiceStore } from "./store";
const serviceStoreInjectable = getInjectable({
id: "service-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "serviceStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "serviceStore is only available in certain environments");
const api = di.inject(serviceApiInjectable);
diff --git a/packages/core/src/renderer/components/nodes/store.injectable.ts b/packages/core/src/renderer/components/nodes/store.injectable.ts
index ec925922c3..636fb6d4f7 100644
--- a/packages/core/src/renderer/components/nodes/store.injectable.ts
+++ b/packages/core/src/renderer/components/nodes/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import nodeApiInjectable from "../../../common/k8s-api/endpoints/node.api.injectable";
+import { nodeApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { NodeStore } from "./store";
const nodeStoreInjectable = getInjectable({
id: "node-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "nodeStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "nodeStore is only available in certain environments");
const api = di.inject(nodeApiInjectable);
diff --git a/packages/core/src/renderer/components/pod-security-policies/store.injectable.ts b/packages/core/src/renderer/components/pod-security-policies/store.injectable.ts
index 2afac2f0fc..15420b0313 100644
--- a/packages/core/src/renderer/components/pod-security-policies/store.injectable.ts
+++ b/packages/core/src/renderer/components/pod-security-policies/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import podSecurityPolicyApiInjectable from "../../../common/k8s-api/endpoints/pod-security-policy.api.injectable";
+import { podSecurityPolicyApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { PodSecurityPolicyStore } from "./store";
const podSecurityPolicyStoreInjectable = getInjectable({
id: "pod-security-policy-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "podSecurityPolicyStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podSecurityPolicyStore is only available in certain environments");
const api = di.inject(podSecurityPolicyApiInjectable);
diff --git a/packages/core/src/renderer/components/storage-classes/store.injectable.ts b/packages/core/src/renderer/components/storage-classes/store.injectable.ts
index f772f6b124..b00edddbcd 100644
--- a/packages/core/src/renderer/components/storage-classes/store.injectable.ts
+++ b/packages/core/src/renderer/components/storage-classes/store.injectable.ts
@@ -6,16 +6,15 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPersistentVolumesByStorageClassInjectable from "../storage-volumes/get-persistent-volumes-by-storage-class.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
+import { storageClassApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { StorageClassStore } from "./store";
const storageClassStoreInjectable = getInjectable({
id: "storage-class-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "storageClassStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "storageClassStore is only available in certain environments");
const api = di.inject(storageClassApiInjectable);
diff --git a/packages/core/src/renderer/components/storage-volume-claims/store.injectable.ts b/packages/core/src/renderer/components/storage-volume-claims/store.injectable.ts
index cc5b41fd67..dcf0abe213 100644
--- a/packages/core/src/renderer/components/storage-volume-claims/store.injectable.ts
+++ b/packages/core/src/renderer/components/storage-volume-claims/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import persistentVolumeClaimApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
+import { persistentVolumeClaimApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { PersistentVolumeClaimStore } from "./store";
const persistentVolumeClaimStoreInjectable = getInjectable({
id: "persistent-volume-claim-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "persistentVolumeClaimStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeClaimStore is only available in certain environments");
const api = di.inject(persistentVolumeClaimApiInjectable);
diff --git a/packages/core/src/renderer/components/storage-volume-claims/volume-claim-details.tsx b/packages/core/src/renderer/components/storage-volume-claims/volume-claim-details.tsx
index f59beef672..e70b82933d 100644
--- a/packages/core/src/renderer/components/storage-volume-claims/volume-claim-details.tsx
+++ b/packages/core/src/renderer/components/storage-volume-claims/volume-claim-details.tsx
@@ -20,7 +20,7 @@ import type { PodStore } from "../workloads-pods/store";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
import podStoreInjectable from "../workloads-pods/store.injectable";
import { stopPropagation } from "@k8slens/utilities";
-import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
+import { storageClassApiInjectable } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
export interface PersistentVolumeClaimDetailsProps extends KubeObjectDetailsProps {
diff --git a/packages/core/src/renderer/components/storage-volume-claims/volume-claims.tsx b/packages/core/src/renderer/components/storage-volume-claims/volume-claims.tsx
index 1ba6f68f5a..3b80bfd57f 100644
--- a/packages/core/src/renderer/components/storage-volume-claims/volume-claims.tsx
+++ b/packages/core/src/renderer/components/storage-volume-claims/volume-claims.tsx
@@ -21,7 +21,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
import persistentVolumeClaimStoreInjectable from "./store.injectable";
import podStoreInjectable from "../workloads-pods/store.injectable";
-import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
+import { storageClassApiInjectable } from "@k8slens/kube-api-specifics";
import { NamespaceSelectBadge } from "../namespaces/namespace-select-badge";
enum columnId {
diff --git a/packages/core/src/renderer/components/storage-volumes/store.injectable.ts b/packages/core/src/renderer/components/storage-volumes/store.injectable.ts
index ef10d8fac5..11f8c73d6a 100644
--- a/packages/core/src/renderer/components/storage-volumes/store.injectable.ts
+++ b/packages/core/src/renderer/components/storage-volumes/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import persistentVolumeApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume.api.injectable";
+import { persistentVolumeApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../cluster-frame-context/for-cluster-scoped-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { PersistentVolumeStore } from "./store";
const persistentVolumeStoreInjectable = getInjectable({
id: "persistent-volume-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "persistentVolumeStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "persistentVolumeStore is only available in certain environments");
const api = di.inject(persistentVolumeApiInjectable);
diff --git a/packages/core/src/renderer/components/storage-volumes/volume-details.tsx b/packages/core/src/renderer/components/storage-volumes/volume-details.tsx
index e22385d4e8..c31331ebd3 100644
--- a/packages/core/src/renderer/components/storage-volumes/volume-details.tsx
+++ b/packages/core/src/renderer/components/storage-volumes/volume-details.tsx
@@ -20,8 +20,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import { loggerInjectionToken } from "@k8slens/logger";
import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
-import persistentVolumeClaimApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
-import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
+import { persistentVolumeClaimApiInjectable, storageClassApiInjectable } from "@k8slens/kube-api-specifics";
export interface PersistentVolumeDetailsProps extends KubeObjectDetailsProps {
}
diff --git a/packages/core/src/renderer/components/storage-volumes/volumes.tsx b/packages/core/src/renderer/components/storage-volumes/volumes.tsx
index 5f51224884..4dcae3dea7 100644
--- a/packages/core/src/renderer/components/storage-volumes/volumes.tsx
+++ b/packages/core/src/renderer/components/storage-volumes/volumes.tsx
@@ -18,9 +18,8 @@ import type { PersistentVolumeStore } from "./store";
import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable";
import { withInjectables } from "@ogre-tools/injectable-react";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
-import persistentVolumeClaimApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
+import { persistentVolumeClaimApiInjectable, storageClassApiInjectable } from "@k8slens/kube-api-specifics";
import persistentVolumeStoreInjectable from "./store.injectable";
-import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
enum columnId {
name = "name",
diff --git a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
index c2822c4fb5..93304ce484 100644
--- a/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
+++ b/packages/core/src/renderer/components/test-utils/get-application-builder.tsx
@@ -52,7 +52,7 @@ import { applicationWindowInjectionToken } from "../../../main/start-main-applic
import type { LensWindow } from "../../../main/start-main-application/lens-window/application-window/create-lens-window.injectable";
import type { FakeExtensionOptions } from "./get-extension-fake";
import { getExtensionFakeForMain, getExtensionFakeForRenderer } from "./get-extension-fake";
-import namespaceApiInjectable from "../../../common/k8s-api/endpoints/namespace.api.injectable";
+import { namespaceApiInjectable } from "@k8slens/kube-api-specifics";
import { Namespace } from "@k8slens/kube-object";
import { getOverrideFsWithFakes } from "../../../test-utils/override-fs-with-fakes";
import applicationMenuItemCompositeInjectable from "../../../features/application-menu/main/application-menu-item-composite.injectable";
diff --git a/packages/core/src/renderer/components/user-management/cluster-role-bindings/store.injectable.ts b/packages/core/src/renderer/components/user-management/cluster-role-bindings/store.injectable.ts
index dc6cc18ba9..435d0648cc 100644
--- a/packages/core/src/renderer/components/user-management/cluster-role-bindings/store.injectable.ts
+++ b/packages/core/src/renderer/components/user-management/cluster-role-bindings/store.injectable.ts
@@ -4,8 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../../../../common/k8s-api/stores-apis-can-be-created.token";
-import clusterRoleBindingApiInjectable from "../../../../common/k8s-api/endpoints/cluster-role-binding.api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken, clusterRoleBindingApiInjectable } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/kube-object-store-token";
import { ClusterRoleBindingStore } from "./store";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../../cluster-frame-context/for-cluster-scoped-resources.injectable";
diff --git a/packages/core/src/renderer/components/user-management/cluster-roles/store.injectable.ts b/packages/core/src/renderer/components/user-management/cluster-roles/store.injectable.ts
index 4426bb4246..1401e86661 100644
--- a/packages/core/src/renderer/components/user-management/cluster-roles/store.injectable.ts
+++ b/packages/core/src/renderer/components/user-management/cluster-roles/store.injectable.ts
@@ -4,8 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../../../../common/k8s-api/stores-apis-can-be-created.token";
-import clusterRoleApiInjectable from "../../../../common/k8s-api/endpoints/cluster-role.api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken, clusterRoleApiInjectable } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/kube-object-store-token";
import { ClusterRoleStore } from "./store";
import clusterFrameContextForClusterScopedResourcesInjectable from "../../../cluster-frame-context/for-cluster-scoped-resources.injectable";
diff --git a/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx b/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
index 1a52e48f51..8a8ca2597e 100644
--- a/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
@@ -35,7 +35,7 @@ import showDetailsInjectable from "../../../kube-detail-params/show-details.inje
import clusterRoleStoreInjectable from "../../cluster-roles/store.injectable";
import roleStoreInjectable from "../../roles/store.injectable";
import serviceAccountStoreInjectable from "../../service-accounts/store.injectable";
-import roleApiInjectable from "../../../../../common/k8s-api/endpoints/role.api.injectable";
+import { roleApiInjectable } from "@k8slens/kube-api-specifics";
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
import type { RoleApi } from "@k8slens/kube-api";
diff --git a/packages/core/src/renderer/components/user-management/role-bindings/store.injectable.ts b/packages/core/src/renderer/components/user-management/role-bindings/store.injectable.ts
index a334e47af1..6e6d040f0a 100644
--- a/packages/core/src/renderer/components/user-management/role-bindings/store.injectable.ts
+++ b/packages/core/src/renderer/components/user-management/role-bindings/store.injectable.ts
@@ -5,16 +5,15 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/kube-object-store-token";
-import roleBindingApiInjectable from "../../../../common/k8s-api/endpoints/role-binding.api.injectable";
+import { roleBindingApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
import { RoleBindingStore } from "./store";
const roleBindingStoreInjectable = getInjectable({
id: "role-binding-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "roleBindingStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "roleBindingStore is only available in certain environments");
const api = di.inject(roleBindingApiInjectable);
diff --git a/packages/core/src/renderer/components/user-management/roles/store.injectable.ts b/packages/core/src/renderer/components/user-management/roles/store.injectable.ts
index 12dcf2f0d1..3b66fec7b9 100644
--- a/packages/core/src/renderer/components/user-management/roles/store.injectable.ts
+++ b/packages/core/src/renderer/components/user-management/roles/store.injectable.ts
@@ -4,8 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import roleApiInjectable from "../../../../common/k8s-api/endpoints/role.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
+import { roleApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/kube-object-store-token";
import { RoleStore } from "./store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../../cluster-frame-context/for-namespaced-resources.injectable";
@@ -14,7 +13,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
const roleStoreInjectable = getInjectable({
id: "role-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "roleStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "roleStore is only available in certain environments");
const api = di.inject(roleApiInjectable);
diff --git a/packages/core/src/renderer/components/user-management/service-accounts/store.injectable.ts b/packages/core/src/renderer/components/user-management/service-accounts/store.injectable.ts
index 45fb55025f..86c19a0532 100644
--- a/packages/core/src/renderer/components/user-management/service-accounts/store.injectable.ts
+++ b/packages/core/src/renderer/components/user-management/service-accounts/store.injectable.ts
@@ -4,8 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import serviceAccountApiInjectable from "../../../../common/k8s-api/endpoints/service-account.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
+import { serviceAccountApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/kube-object-store-token";
import { ServiceAccountStore } from "./store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../../cluster-frame-context/for-namespaced-resources.injectable";
@@ -14,7 +13,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
const serviceAccountStoreInjectable = getInjectable({
id: "service-account-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "serviceAccountStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "serviceAccountStore is only available in certain environments");
const api = di.inject(serviceAccountApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
index e03123e0a3..dc17e2976c 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
@@ -12,7 +12,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
import type { OpenCronJobTriggerDialog } from "./trigger-dialog/open.injectable";
import openCronJobTriggerDialogInjectable from "./trigger-dialog/open.injectable";
-import cronJobApiInjectable from "../../../common/k8s-api/endpoints/cron-job.api.injectable";
+import { cronJobApiInjectable } from "@k8slens/kube-api-specifics";
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
import type { CronJobApi } from "@k8slens/kube-api";
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/store.injectable.ts b/packages/core/src/renderer/components/workloads-cronjobs/store.injectable.ts
index 94f6ace99d..97bc9eff67 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-cronjobs/store.injectable.ts
@@ -6,16 +6,15 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getJobsByOwnerInjectable from "../workloads-jobs/get-jobs-by-owner.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import cronJobApiInjectable from "../../../common/k8s-api/endpoints/cron-job.api.injectable";
+import { cronJobApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { CronJobStore } from "./store";
const cronJobStoreInjectable = getInjectable({
id: "cron-job-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "cronJobStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "cronJobStore is only available in certain environments");
const api = di.inject(cronJobApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx b/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
index 798ef7e5c1..0f3ad0cf9d 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
+++ b/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
@@ -19,7 +19,7 @@ import { Input } from "../../input";
import { systemName, maxLength } from "../../input/input_validators";
import { withInjectables } from "@ogre-tools/injectable-react";
import closeCronJobTriggerDialogInjectable from "./close.injectable";
-import jobApiInjectable from "../../../../common/k8s-api/endpoints/job.api.injectable";
+import { jobApiInjectable } from "@k8slens/kube-api-specifics";
import cronJobTriggerDialogStateInjectable from "./state.injectable";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx b/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
index c2f4b77b6b..e2fb983589 100644
--- a/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
@@ -8,7 +8,7 @@ import type { DaemonSet } from "@k8slens/kube-object";
import { MenuItem } from "../menu";
import { Icon } from "@k8slens/icon";
import { withInjectables } from "@ogre-tools/injectable-react";
-import daemonSetApiInjectable from "../../../common/k8s-api/endpoints/daemon-set.api.injectable";
+import { daemonSetApiInjectable } from "@k8slens/kube-api-specifics";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-daemonsets/store.injectable.ts b/packages/core/src/renderer/components/workloads-daemonsets/store.injectable.ts
index be5d69fe32..bc447b0b85 100644
--- a/packages/core/src/renderer/components/workloads-daemonsets/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-daemonsets/store.injectable.ts
@@ -5,8 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../workloads-pods/get-pods-by-owner-id.injectable";
-import daemonSetApiInjectable from "../../../common/k8s-api/endpoints/daemon-set.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
+import { daemonSetApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
import { DaemonSetStore } from "./store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
@@ -15,7 +14,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
const daemonSetStoreInjectable = getInjectable({
id: "daemon-set-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "daemonSetStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "daemonSetStore is only available in certain environments");
const api = di.inject(daemonSetApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx b/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
index b8af261972..fe0a5450f5 100644
--- a/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
@@ -9,7 +9,7 @@ import { MenuItem } from "../menu";
import { Icon } from "@k8slens/icon";
import type { OpenDeploymentScaleDialog } from "./scale/open.injectable";
import { withInjectables } from "@ogre-tools/injectable-react";
-import deploymentApiInjectable from "../../../common/k8s-api/endpoints/deployment.api.injectable";
+import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import openDeploymentScaleDialogInjectable from "./scale/open.injectable";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
diff --git a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.test.tsx b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.test.tsx
index de2c128835..76026532b2 100644
--- a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.test.tsx
+++ b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.test.tsx
@@ -9,7 +9,7 @@ import { DeploymentScaleDialog } from "./dialog";
import type { DeploymentApi } from "@k8slens/kube-api";
import { Deployment } from "@k8slens/kube-object";
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
-import deploymentApiInjectable from "../../../../common/k8s-api/endpoints/deployment.api.injectable";
+import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import type { OpenDeploymentScaleDialog } from "./open.injectable";
import openDeploymentScaleDialogInjectable from "./open.injectable";
import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
diff --git a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
index 51485e92f5..7f2f71245b 100644
--- a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
@@ -17,7 +17,7 @@ import { Icon } from "@k8slens/icon";
import { Slider } from "../../slider";
import { cssNames } from "@k8slens/utilities";
import { withInjectables } from "@ogre-tools/injectable-react";
-import deploymentApiInjectable from "../../../../common/k8s-api/endpoints/deployment.api.injectable";
+import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import deploymentScaleDialogStateInjectable from "./dialog-state.injectable";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-deployments/store.injectable.ts b/packages/core/src/renderer/components/workloads-deployments/store.injectable.ts
index c10c2faee1..dc9a02eaee 100644
--- a/packages/core/src/renderer/components/workloads-deployments/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-deployments/store.injectable.ts
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import podStoreInjectable from "../workloads-pods/store.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import { storesAndApisCanBeCreatedInjectionToken } from "../../../common/k8s-api/stores-apis-can-be-created.token";
-import deploymentApiInjectable from "../../../common/k8s-api/endpoints/deployment.api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken, deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import { DeploymentStore } from "./store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
diff --git a/packages/core/src/renderer/components/workloads-jobs/store.injectable.ts b/packages/core/src/renderer/components/workloads-jobs/store.injectable.ts
index 7338e577c0..abeb360373 100644
--- a/packages/core/src/renderer/components/workloads-jobs/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-jobs/store.injectable.ts
@@ -6,16 +6,15 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../workloads-pods/get-pods-by-owner-id.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import jobApiInjectable from "../../../common/k8s-api/endpoints/job.api.injectable";
+import { jobApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { JobStore } from "./store";
const jobStoreInjectable = getInjectable({
id: "job-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "jobStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "jobStore is only available in certain environments");
const api = di.inject(jobApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-pods/columns/pods-node-column.injectable.tsx b/packages/core/src/renderer/components/workloads-pods/columns/pods-node-column.injectable.tsx
index 6a18559f76..07b87480eb 100644
--- a/packages/core/src/renderer/components/workloads-pods/columns/pods-node-column.injectable.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/columns/pods-node-column.injectable.tsx
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import React from "react";
import { Link } from "react-router-dom";
-import nodeApiInjectable from "../../../../common/k8s-api/endpoints/node.api.injectable";
+import { nodeApiInjectable } from "@k8slens/kube-api-specifics";
import { Badge } from "../../badge";
import getDetailsUrlInjectable from "../../kube-detail-params/get-details-url.injectable";
import { stopPropagation } from "@k8slens/utilities";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/ceph-fs.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/ceph-fs.tsx
index 466be4a49b..01ab85f844 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/ceph-fs.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/ceph-fs.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/config-map.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/config-map.tsx
index d2c9321728..a2bbeb7b84 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/config-map.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/config-map.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { ConfigMapApi } from "@k8slens/kube-api";
-import configMapApiInjectable from "../../../../../../common/k8s-api/endpoints/config-map.api.injectable";
+import { configMapApiInjectable } from "@k8slens/kube-api-specifics";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/container-storage-interface.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/container-storage-interface.tsx
index 2c3f2b4bfb..40e0784f6f 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/container-storage-interface.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/container-storage-interface.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/flex-volume.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/flex-volume.tsx
index 33e2ffaee4..fc4ea72b10 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/flex-volume.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/flex-volume.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/persistent-volume-claim.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/persistent-volume-claim.tsx
index 3892e57ed9..efc14307f3 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/persistent-volume-claim.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/persistent-volume-claim.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { PersistentVolumeClaimApi } from "@k8slens/kube-api";
-import persistentVolumeClaimApiInjectable from "../../../../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
+import { persistentVolumeClaimApiInjectable } from "@k8slens/kube-api-specifics";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/rados-block-device.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/rados-block-device.tsx
index 19fb06e090..f951844b38 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/rados-block-device.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/rados-block-device.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/scale-io.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/scale-io.tsx
index 8668f3b895..d33fbe4175 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/scale-io.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/scale-io.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/secret.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/secret.tsx
index 24150e04be..2b488b8286 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/secret.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/secret.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/storage-os.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/storage-os.tsx
index bdf009db25..9f99bddcdf 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/storage-os.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/storage-os.tsx
@@ -6,7 +6,7 @@
import { withInjectables } from "@ogre-tools/injectable-react";
import React from "react";
import type { SecretApi } from "@k8slens/kube-api";
-import secretApiInjectable from "../../../../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import { DrawerItem } from "../../../../drawer";
import type { PodVolumeVariantSpecificProps } from "../variant-helpers";
import { LocalRef } from "../variant-helpers";
diff --git a/packages/core/src/renderer/components/workloads-pods/pod-details-secrets.tsx b/packages/core/src/renderer/components/workloads-pods/pod-details-secrets.tsx
index a266b77e00..6ece4a0dc5 100644
--- a/packages/core/src/renderer/components/workloads-pods/pod-details-secrets.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/pod-details-secrets.tsx
@@ -11,7 +11,7 @@ import { reaction } from "mobx";
import { observer } from "mobx-react";
import type { Pod, Secret } from "@k8slens/kube-object";
import { withInjectables } from "@ogre-tools/injectable-react";
-import secretApiInjectable from "../../../common/k8s-api/endpoints/secret.api.injectable";
+import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
import type { SecretApi } from "@k8slens/kube-api";
diff --git a/packages/core/src/renderer/components/workloads-pods/pod-details.tsx b/packages/core/src/renderer/components/workloads-pods/pod-details.tsx
index 21a35048c3..9ce80f98ee 100644
--- a/packages/core/src/renderer/components/workloads-pods/pod-details.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/pod-details.tsx
@@ -23,10 +23,7 @@ import { PodVolumes } from "./details/volumes/view";
import { withInjectables } from "@ogre-tools/injectable-react";
import type { GetDetailsUrl } from "../kube-detail-params/get-details-url.injectable";
import getDetailsUrlInjectable from "../kube-detail-params/get-details-url.injectable";
-import nodeApiInjectable from "../../../common/k8s-api/endpoints/node.api.injectable";
-import runtimeClassApiInjectable from "../../../common/k8s-api/endpoints/runtime-class.api.injectable";
-import serviceAccountApiInjectable from "../../../common/k8s-api/endpoints/service-account.api.injectable";
-import priorityClassApiInjectable from "../../../common/k8s-api/endpoints/priority-class.api.injectable";
+import { nodeApiInjectable, runtimeClassApiInjectable, serviceAccountApiInjectable, priorityClassApiInjectable } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import { PodDetailsContainers } from "./details/containers/pod-details-containers";
import { PodDetailsInitContainers } from "./details/containers/pod-details-init-containers";
diff --git a/packages/core/src/renderer/components/workloads-pods/store.injectable.ts b/packages/core/src/renderer/components/workloads-pods/store.injectable.ts
index b77c4c080f..ffd5b797f6 100644
--- a/packages/core/src/renderer/components/workloads-pods/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-pods/store.injectable.ts
@@ -4,18 +4,16 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import podApiInjectable from "../../../common/k8s-api/endpoints/pod.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
+import { podApiInjectable, podMetricsApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
import { PodStore } from "./store";
-import podMetricsApiInjectable from "../../../common/k8s-api/endpoints/pod-metrics.api.injectable";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
const podStoreInjectable = getInjectable({
id: "pod-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "podStore is only available in certain environements");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podStore is only available in certain environments");
const api = di.inject(podApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.test.tsx b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.test.tsx
index 2a9c55a93e..475cda66b6 100755
--- a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.test.tsx
+++ b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.test.tsx
@@ -8,7 +8,7 @@ import React from "react";
import type { ReplicaSetApi } from "@k8slens/kube-api";
import { ReplicaSet } from "@k8slens/kube-object";
import type { OpenReplicaSetScaleDialog } from "./open.injectable";
-import replicaSetApiInjectable from "../../../../common/k8s-api/endpoints/replica-set.api.injectable";
+import { replicaSetApiInjectable } from "@k8slens/kube-api-specifics";
import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
import { type DiRender, renderFor } from "../../test-utils/renderFor";
diff --git a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
index 9a01a617ca..fd1d4cad44 100644
--- a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
@@ -17,7 +17,7 @@ import { Slider } from "../../slider";
import { cssNames } from "@k8slens/utilities";
import type { ReplicaSet } from "@k8slens/kube-object";
import { withInjectables } from "@ogre-tools/injectable-react";
-import replicaSetApiInjectable from "../../../../common/k8s-api/endpoints/replica-set.api.injectable";
+import { replicaSetApiInjectable } from "@k8slens/kube-api-specifics";
import replicaSetScaleDialogStateInjectable from "./state.injectable";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-replicasets/store.injectable.ts b/packages/core/src/renderer/components/workloads-replicasets/store.injectable.ts
index 393f8929f3..44051f7287 100644
--- a/packages/core/src/renderer/components/workloads-replicasets/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-replicasets/store.injectable.ts
@@ -5,8 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../workloads-pods/get-pods-by-owner-id.injectable";
-import replicaSetApiInjectable from "../../../common/k8s-api/endpoints/replica-set.api.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
+import { replicaSetApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
import { ReplicaSetStore } from "./store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
@@ -15,7 +14,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
const replicaSetStoreInjectable = getInjectable({
id: "replica-set-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "replicaSetStore is only available in certain environments");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "replicaSetStore is only available in certain environments");
const api = di.inject(replicaSetApiInjectable);
diff --git a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
index 84324e2264..d706e1fa94 100644
--- a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
+++ b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
@@ -12,7 +12,7 @@ import { DrawerItem, DrawerTitle } from "../drawer";
import { Badge } from "../badge";
import type { KubeObjectDetailsProps } from "../kube-object-details";
import type { ReplicationController } from "@k8slens/kube-object";
-import replicationControllerApiInjectable from "../../../common/k8s-api/endpoints/replication-controller.api.injectable";
+import { replicationControllerApiInjectable } from "@k8slens/kube-api-specifics";
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
import type { ShowNotification } from "../notifications";
import { Slider } from "../slider";
diff --git a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-store.injectable.ts b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-store.injectable.ts
index 5dbd6d55e0..9fd708c4dd 100644
--- a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-store.injectable.ts
@@ -7,7 +7,7 @@ import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manag
import { ReplicationControllerStore } from "./replication-controller-store";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import replicationControllerApiInjectable from "../../../common/k8s-api/endpoints/replication-controller.api.injectable";
+import { replicationControllerApiInjectable } from "@k8slens/kube-api-specifics";
const replicationControllerStoreInjectable = getInjectable({
id: "replication-controller-store",
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.test.tsx b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.test.tsx
index b965dc01fd..53263854ea 100755
--- a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.test.tsx
+++ b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.test.tsx
@@ -10,7 +10,7 @@ import { waitFor, fireEvent } from "@testing-library/react";
import React from "react";
import type { OpenStatefulSetScaleDialog } from "./open-dialog.injectable";
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
-import statefulSetApiInjectable from "../../../../common/k8s-api/endpoints/stateful-set.api.injectable";
+import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
import openStatefulSetScaleDialogInjectable from "./open-dialog.injectable";
import { type DiRender, renderFor } from "../../test-utils/renderFor";
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
index 0f153d685f..5159fa5146 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
@@ -17,7 +17,7 @@ import { Icon } from "@k8slens/icon";
import { Slider } from "../../slider";
import { cssNames } from "@k8slens/utilities";
import { withInjectables } from "@ogre-tools/injectable-react";
-import statefulSetApiInjectable from "../../../../common/k8s-api/endpoints/stateful-set.api.injectable";
+import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
import statefulSetDialogStateInjectable from "./dialog-state.injectable";
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx b/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
index 8d13696092..0ddf45bfb2 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
@@ -8,7 +8,7 @@ import type { StatefulSet } from "@k8slens/kube-object";
import { MenuItem } from "../menu";
import { Icon } from "@k8slens/icon";
import { withInjectables } from "@ogre-tools/injectable-react";
-import statefulSetApiInjectable from "../../../common/k8s-api/endpoints/stateful-set.api.injectable";
+import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/store.injectable.ts b/packages/core/src/renderer/components/workloads-statefulsets/store.injectable.ts
index 0de8ebad2d..348f21347f 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/store.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-statefulsets/store.injectable.ts
@@ -6,16 +6,15 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../workloads-pods/get-pods-by-owner-id.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/kube-object-store-token";
-import statefulSetApiInjectable from "../../../common/k8s-api/endpoints/stateful-set.api.injectable";
+import { statefulSetApiInjectable, storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import { loggerInjectionToken } from "@k8slens/logger";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable";
import { StatefulSetStore } from "./store";
const statefulSetStoreInjectable = getInjectable({
id: "stateful-set-store",
instantiate: (di) => {
- assert(di.inject(storesAndApisCanBeCreatedInjectable), "statefulSetStore is only available in certain environment");
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "statefulSetStore is only available in certain environment");
const api = di.inject(statefulSetApiInjectable);
diff --git a/packages/core/src/renderer/k8s/api-kube.injectable.ts b/packages/core/src/renderer/k8s/api-kube.injectable.ts
index f0dd8287df..68b62578b5 100644
--- a/packages/core/src/renderer/k8s/api-kube.injectable.ts
+++ b/packages/core/src/renderer/k8s/api-kube.injectable.ts
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { apiKubePrefix } from "../../common/vars";
import { apiKubeInjectionToken } from "@k8slens/kube-api";
-import { storesAndApisCanBeCreatedInjectionToken } from "../../common/k8s-api/stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import createKubeJsonApiInjectable from "../../common/k8s-api/create-kube-json-api.injectable";
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
diff --git a/packages/core/src/renderer/stores-apis-can-be-created.injectable.ts b/packages/core/src/renderer/stores-apis-can-be-created.injectable.ts
index 87e3bf323a..3d17d2860f 100644
--- a/packages/core/src/renderer/stores-apis-can-be-created.injectable.ts
+++ b/packages/core/src/renderer/stores-apis-can-be-created.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { storesAndApisCanBeCreatedInjectionToken } from "../common/k8s-api/stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import hostedClusterIdInjectable from "./cluster-frame-context/hosted-cluster-id.injectable";
const storesAndApisCanBeCreatedInjectable = getInjectable({
diff --git a/packages/utility-features/kube-api-specifics/index.ts b/packages/utility-features/kube-api-specifics/index.ts
index d1d7f293d7..8d0fa7badb 100644
--- a/packages/utility-features/kube-api-specifics/index.ts
+++ b/packages/utility-features/kube-api-specifics/index.ts
@@ -1,2 +1,2 @@
-export * from "./src/token";
-export * from "./src/can-be-created-token";
+export * from "./src/specifics";
+export * from "./src/feature";
diff --git a/packages/utility-features/kube-api-specifics/package.json b/packages/utility-features/kube-api-specifics/package.json
index 48e4842f10..ede2e0a333 100644
--- a/packages/utility-features/kube-api-specifics/package.json
+++ b/packages/utility-features/kube-api-specifics/package.json
@@ -1,7 +1,7 @@
{
"name": "@k8slens/kube-api-specifics",
"private": false,
- "version": "1.0.0-alpha.1",
+ "version": "1.0.0",
"description": "Kube api",
"type": "commonjs",
"publishConfig": {
@@ -32,8 +32,11 @@
"lint:fix": "lens-lint --fix"
},
"peerDependencies": {
+ "@k8slens/feature-core": "^6.5.0-alpha.8",
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@ogre-tools/injectable": "^17.2.0"
+ "@k8slens/logger": "^1.0.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0"
},
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0-alpha.2",
diff --git a/packages/utility-features/kube-api-specifics/src/feature.ts b/packages/utility-features/kube-api-specifics/src/feature.ts
new file mode 100644
index 0000000000..7ebd3eb161
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/feature.ts
@@ -0,0 +1,13 @@
+import { getFeature } from "@k8slens/feature-core";
+import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
+
+export const kubeApiSpecificsFeature = getFeature({
+ id: "kube-api-specifics",
+ register: (di) => {
+ autoRegister({
+ di,
+ targetModule: module,
+ getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
+ });
+ },
+});
diff --git a/packages/utility-features/kube-api-specifics/src/can-be-created-token.ts b/packages/utility-features/kube-api-specifics/src/specifics/can-be-created-token.ts
similarity index 100%
rename from packages/utility-features/kube-api-specifics/src/can-be-created-token.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/can-be-created-token.ts
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/cluster-role-binding.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/cluster-role-binding.api.injectable.ts
new file mode 100644
index 0000000000..558c90655c
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/cluster-role-binding.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ClusterRoleBindingApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const clusterRoleBindingApiInjectable = getInjectable({
+ id: "cluster-role-binding-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "clusterRoleBindingApi is only accessible in certain environments",
+ );
+
+ return new ClusterRoleBindingApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/cluster-role.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/cluster-role.api.injectable.ts
new file mode 100644
index 0000000000..ef60f1d8be
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/cluster-role.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ClusterRoleApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const clusterRoleApiInjectable = getInjectable({
+ id: "cluster-role-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "clusterRoleApi is only available in certain environments",
+ );
+
+ return new ClusterRoleApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/cluster.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/cluster.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/cluster.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/cluster.api.injectable.ts
index bb2c2f9d3d..38a2a7a059 100644
--- a/packages/core/src/common/k8s-api/endpoints/cluster.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/cluster.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { ClusterApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const clusterApiInjectable = getInjectable({
+export const clusterApiInjectable = getInjectable({
id: "cluster-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "clusterApi is only available in certain environments");
return new ClusterApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default clusterApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/component-status.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/component-status.api.injectable.ts
new file mode 100644
index 0000000000..5b5f9414d7
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/component-status.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ComponentStatusApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+
+export const componentStatusApiInjectable = getInjectable({
+ id: "component-status-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "componentStatusApi is only available in certain environments",
+ );
+
+ return new ComponentStatusApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/config-map.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/config-map.api.injectable.ts
new file mode 100644
index 0000000000..f5345d258e
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/config-map.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ConfigMapApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const configMapApiInjectable = getInjectable({
+ id: "config-map-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "configMapApi is only available in certain environments",
+ );
+
+ return new ConfigMapApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/cron-job.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/cron-job.api.injectable.ts
new file mode 100644
index 0000000000..e87e39428b
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/cron-job.api.injectable.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { CronJobApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const cronJobApiInjectable = getInjectable({
+ id: "cron-job-api",
+ instantiate: (di) => {
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "cronJobApi is only available in certain environments");
+
+ return new CronJobApi(
+ {
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ },
+ {
+ checkPreferredVersion: true,
+ },
+ );
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/custom-resource-definition.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/custom-resource-definition.api.injectable.ts
new file mode 100644
index 0000000000..1c7812cb95
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/custom-resource-definition.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { CustomResourceDefinitionApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+
+export const customResourceDefinitionApiInjectable = getInjectable({
+ id: "custom-resource-definition-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "customResourceDefinitionApi is only available in certain environments",
+ );
+
+ return new CustomResourceDefinitionApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/daemon-set.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/daemon-set.api.injectable.ts
new file mode 100644
index 0000000000..c590d9e7c5
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/daemon-set.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { DaemonSetApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const daemonSetApiInjectable = getInjectable({
+ id: "daemon-set-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "daemonSetApi is only available in certain environments",
+ );
+
+ return new DaemonSetApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/deployment.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/deployment.api.injectable.ts
new file mode 100644
index 0000000000..c729105abe
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/deployment.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { DeploymentApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const deploymentApiInjectable = getInjectable({
+ id: "deployment-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "deploymentApi is only available in certain environments",
+ );
+
+ return new DeploymentApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/endpoint.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/endpoint.api.injectable.ts
new file mode 100644
index 0000000000..76f146a3b7
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/endpoint.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { EndpointsApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const endpointsApiInjectable = getInjectable({
+ id: "endpoints-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "endpointsApi is only available in certain environments",
+ );
+
+ return new EndpointsApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/event.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/event.api.injectable.ts
new file mode 100644
index 0000000000..0209e704d5
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/event.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { KubeEventApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const kubeEventApiInjectable = getInjectable({
+ id: "kube-event-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "kubeEventApi is only available in certain environments",
+ );
+
+ return new KubeEventApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/horizontal-pod-autoscaler.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/horizontal-pod-autoscaler.api.injectable.ts
new file mode 100644
index 0000000000..fe00424200
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/horizontal-pod-autoscaler.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { HorizontalPodAutoscalerApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const horizontalPodAutoscalerApiInjectable = getInjectable({
+ id: "horizontal-pod-autoscaler-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "horizontalPodAutoscalerApi is only available in certain environments",
+ );
+
+ return new HorizontalPodAutoscalerApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/index.ts b/packages/utility-features/kube-api-specifics/src/specifics/index.ts
new file mode 100644
index 0000000000..7a8b5db9d7
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/index.ts
@@ -0,0 +1,45 @@
+export * from "./can-be-created-token";
+export * from "./cluster-role-binding.api.injectable";
+export * from "./cluster-role.api.injectable";
+export * from "./cluster.api.injectable";
+export * from "./component-status.api.injectable";
+export * from "./config-map.api.injectable";
+export * from "./cron-job.api.injectable";
+export * from "./custom-resource-definition.api.injectable";
+export * from "./daemon-set.api.injectable";
+export * from "./deployment.api.injectable";
+export * from "./endpoint.api.injectable";
+export * from "./event.api.injectable";
+export * from "./horizontal-pod-autoscaler.api.injectable";
+export * from "./ingress-class.api.injectable";
+export * from "./ingress.api.injectable";
+export * from "./job.api.injectable";
+export * from "./lease.api.injectable";
+export * from "./limit-range.api.injectable";
+export * from "./maybe-kube-api.injectable";
+export * from "./mutating-webhook-configuration-api.injectable";
+export * from "./namespace.api.injectable";
+export * from "./network-policy.api.injectable";
+export * from "./node.api.injectable";
+export * from "./persistent-volume-claim.api.injectable";
+export * from "./persistent-volume.api.injectable";
+export * from "./pod-disruption-budget.api.injectable";
+export * from "./pod-metrics.api.injectable";
+export * from "./pod-security-policy.api.injectable";
+export * from "./pod.api.injectable";
+export * from "./priority-class.api.injectable";
+export * from "./replica-set.api.injectable";
+export * from "./replication-controller.api.injectable";
+export * from "./resource-quota.api.injectable";
+export * from "./role-binding.api.injectable";
+export * from "./role.api.injectable";
+export * from "./runtime-class.api.injectable";
+export * from "./secret.api.injectable";
+export * from "./self-subject-rules-reviews.api.injectable";
+export * from "./service-account.api.injectable";
+export * from "./service.api.injectable";
+export * from "./stateful-set.api.injectable";
+export * from "./storage-class.api.injectable";
+export * from "./token";
+export * from "./validating-webhook-configuration-api.injectable";
+export * from "./vertical-pod-autoscaler.api.injectable";
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/ingress-class.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/ingress-class.api.injectable.ts
new file mode 100644
index 0000000000..ed806addaa
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/ingress-class.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { IngressClassApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+
+export const ingressClassApiInjectable = getInjectable({
+ id: "ingress-class-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "horizontalPodAutoscalerApi is only available in certain environments",
+ );
+
+ return new IngressClassApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/ingress.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/ingress.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/ingress.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/ingress.api.injectable.ts
index 203d65f25d..083a45c81a 100644
--- a/packages/core/src/common/k8s-api/endpoints/ingress.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/ingress.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { IngressApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const ingressApiInjectable = getInjectable({
+export const ingressApiInjectable = getInjectable({
id: "ingress-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "ingressApi is only available in certain environments");
return new IngressApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default ingressApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/job.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/job.api.injectable.ts
new file mode 100644
index 0000000000..cc6d49a35f
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/job.api.injectable.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { JobApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const jobApiInjectable = getInjectable({
+ id: "job-api",
+ instantiate: (di) => {
+ assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "jobApi is only available in certain environments");
+
+ return new JobApi(
+ {
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ },
+ {
+ checkPreferredVersion: true,
+ },
+ );
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/lease.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/lease.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/lease.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/lease.api.injectable.ts
index bdc7552448..05fc51e7c0 100644
--- a/packages/core/src/common/k8s-api/endpoints/lease.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/lease.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { LeaseApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const leaseApiInjectable = getInjectable({
+export const leaseApiInjectable = getInjectable({
id: "lease-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "leaseApi is only available in certain environments");
return new LeaseApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default leaseApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/limit-range.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/limit-range.api.injectable.ts
new file mode 100644
index 0000000000..4d43528ac6
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/limit-range.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { LimitRangeApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const limitRangeApiInjectable = getInjectable({
+ id: "limit-range-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "limitRangeApi is only available in certain environments",
+ );
+
+ return new LimitRangeApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/maybe-kube-api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/maybe-kube-api.injectable.ts
similarity index 82%
rename from packages/core/src/common/k8s-api/maybe-kube-api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/maybe-kube-api.injectable.ts
index 9265da0ce4..82b6cb6fcf 100644
--- a/packages/core/src/common/k8s-api/maybe-kube-api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/maybe-kube-api.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { apiKubeInjectionToken } from "@k8slens/kube-api";
-const maybeKubeApiInjectable = getInjectable({
+export const maybeKubeApiInjectable = getInjectable({
id: "maybe-kube-api",
instantiate: (di) => {
try {
@@ -15,5 +15,3 @@ const maybeKubeApiInjectable = getInjectable({
}
},
});
-
-export default maybeKubeApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/mutating-webhook-configuration-api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/mutating-webhook-configuration-api.injectable.ts
new file mode 100644
index 0000000000..6a926e736b
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/mutating-webhook-configuration-api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { MutatingWebhookConfigurationApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const mutatingWebhookConfigurationApiInjectable = getInjectable({
+ id: "mutating-webhook-configuration",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "mutatingWebhookConfigurationApi is only available in certain environments",
+ );
+
+ return new MutatingWebhookConfigurationApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/namespace.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/namespace.api.injectable.ts
new file mode 100644
index 0000000000..c906e4196d
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/namespace.api.injectable.ts
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { NamespaceApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const namespaceApiInjectable = getInjectable({
+ id: "namespace-api",
+
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "namespaceApi is only available in certain environments",
+ );
+
+ return new NamespaceApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/network-policy.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/network-policy.api.injectable.ts
new file mode 100644
index 0000000000..5a20b73833
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/network-policy.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { NetworkPolicyApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const networkPolicyApiInjectable = getInjectable({
+ id: "network-policy-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "networkPolicyApi is only available in certain environments",
+ );
+
+ return new NetworkPolicyApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/node.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/node.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/node.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/node.api.injectable.ts
index fe2764db03..82ddb6dd01 100644
--- a/packages/core/src/common/k8s-api/endpoints/node.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/node.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { NodeApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const nodeApiInjectable = getInjectable({
+export const nodeApiInjectable = getInjectable({
id: "node-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "nodeApi is only available in certain environments");
return new NodeApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default nodeApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume-claim.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume-claim.api.injectable.ts
new file mode 100644
index 0000000000..1c6043b986
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume-claim.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PersistentVolumeClaimApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const persistentVolumeClaimApiInjectable = getInjectable({
+ id: "persistent-volume-claim-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "persistentVolumeClaimApi is only available in certain environments",
+ );
+
+ return new PersistentVolumeClaimApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume.api.injectable.ts
new file mode 100644
index 0000000000..1ee1414de2
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/persistent-volume.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PersistentVolumeApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const persistentVolumeApiInjectable = getInjectable({
+ id: "persistent-volume-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "persistentVolumeApi is only available in certain environments",
+ );
+
+ return new PersistentVolumeApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/pod-disruption-budget.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/pod-disruption-budget.api.injectable.ts
new file mode 100644
index 0000000000..91197dbeae
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/pod-disruption-budget.api.injectable.ts
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PodDisruptionBudgetApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const podDisruptionBudgetApiInjectable = getInjectable({
+ id: "pod-disruption-budget-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "podDisruptionBudgetApi is only available in certain environments",
+ );
+
+ return new PodDisruptionBudgetApi(
+ {
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ },
+ {
+ checkPreferredVersion: true,
+ allowedUsableVersions: {
+ policy: ["v1", "v1beta1"],
+ },
+ },
+ );
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/pod-metrics.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/pod-metrics.api.injectable.ts
new file mode 100644
index 0000000000..9c8a34ee4e
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/pod-metrics.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PodMetricsApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const podMetricsApiInjectable = getInjectable({
+ id: "pod-metrics-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "podMetricsApi is only available in certain environments",
+ );
+
+ return new PodMetricsApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/pod-security-policy.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/pod-security-policy.api.injectable.ts
new file mode 100644
index 0000000000..e5a81a3851
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/pod-security-policy.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PodSecurityPolicyApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const podSecurityPolicyApiInjectable = getInjectable({
+ id: "pod-security-policy-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "podSecurityPolicyApi is only available in certain environments",
+ );
+
+ return new PodSecurityPolicyApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/pod.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/pod.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/pod.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/pod.api.injectable.ts
index 352d8f5815..3b61f3e1f5 100644
--- a/packages/core/src/common/k8s-api/endpoints/pod.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/pod.api.injectable.ts
@@ -4,25 +4,25 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { PodApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const podApiInjectable = getInjectable({
+export const podApiInjectable = getInjectable({
id: "pod-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podApi is only available in certain environments");
return new PodApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default podApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/priority-class.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/priority-class.api.injectable.ts
new file mode 100644
index 0000000000..d6465993da
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/priority-class.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { PriorityClassApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const priorityClassApiInjectable = getInjectable({
+ id: "priority-class-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "PriorityClassApi is only available in certain environments",
+ );
+
+ return new PriorityClassApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/replica-set.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/replica-set.api.injectable.ts
new file mode 100644
index 0000000000..787930ab0e
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/replica-set.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ReplicaSetApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const replicaSetApiInjectable = getInjectable({
+ id: "replica-set-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "replicaSetApi is only available in certain environments",
+ );
+
+ return new ReplicaSetApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/replication-controller.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/replication-controller.api.injectable.ts
new file mode 100644
index 0000000000..ddd0940b3f
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/replication-controller.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { ReplicationControllerApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+
+export const replicationControllerApiInjectable = getInjectable({
+ id: "replication-controller-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "replicationControllerApi is only available in certain environments",
+ );
+
+ return new ReplicationControllerApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/resource-quota.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/resource-quota.api.injectable.ts
new file mode 100644
index 0000000000..f2bc33c5c4
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/resource-quota.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ResourceQuotaApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const resourceQuotaApiInjectable = getInjectable({
+ id: "resource-quota-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "resourceQuotaApi is only available in certain environments",
+ );
+
+ return new ResourceQuotaApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/role-binding.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/role-binding.api.injectable.ts
new file mode 100644
index 0000000000..0862aab4f7
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/role-binding.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { RoleBindingApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const roleBindingApiInjectable = getInjectable({
+ id: "role-binding-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "roleBindingApi is only available in certain environments",
+ );
+
+ return new RoleBindingApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/role.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/role.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/role.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/role.api.injectable.ts
index 0b9e077e4b..e183aa39ff 100644
--- a/packages/core/src/common/k8s-api/endpoints/role.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/role.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { RoleApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const roleApiInjectable = getInjectable({
+export const roleApiInjectable = getInjectable({
id: "role-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "roleApi is only available in certain environments");
return new RoleApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default roleApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/runtime-class.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/runtime-class.api.injectable.ts
new file mode 100644
index 0000000000..eabe3b44e0
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/runtime-class.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { RuntimeClassApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const runtimeClassApiInjectable = getInjectable({
+ id: "runtime-class-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "RuntimeClassApi is only available in certain environments",
+ );
+
+ return new RuntimeClassApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/secret.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/secret.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/secret.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/secret.api.injectable.ts
index 66cc807c06..f66c1bc4f9 100644
--- a/packages/core/src/common/k8s-api/endpoints/secret.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/secret.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { SecretApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const secretApiInjectable = getInjectable({
+export const secretApiInjectable = getInjectable({
id: "secret-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "secretApi is only available in certain environments");
return new SecretApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default secretApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/self-subject-rules-reviews.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/self-subject-rules-reviews.api.injectable.ts
new file mode 100644
index 0000000000..eb527b455e
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/self-subject-rules-reviews.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { SelfSubjectRulesReviewApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const selfSubjectRulesReviewApiInjectable = getInjectable({
+ id: "self-subject-rules-review-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "selfSubjectRulesReviewApi is only available in certain environments",
+ );
+
+ return new SelfSubjectRulesReviewApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/service-account.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/service-account.api.injectable.ts
new file mode 100644
index 0000000000..28aceabbef
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/service-account.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ServiceAccountApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const serviceAccountApiInjectable = getInjectable({
+ id: "service-account-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "serviceAccountApi is only available in certain environments",
+ );
+
+ return new ServiceAccountApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/core/src/common/k8s-api/endpoints/service.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/service.api.injectable.ts
similarity index 53%
rename from packages/core/src/common/k8s-api/endpoints/service.api.injectable.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/service.api.injectable.ts
index 75adcfb3f0..a5171bca6f 100644
--- a/packages/core/src/common/k8s-api/endpoints/service.api.injectable.ts
+++ b/packages/utility-features/kube-api-specifics/src/specifics/service.api.injectable.ts
@@ -4,24 +4,24 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
-import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
import { ServiceApi } from "@k8slens/kube-api";
-import { kubeApiInjectionToken } from "@k8slens/kube-api-specifics";
-import { loggerInjectionToken } from "@k8slens/logger";
-import maybeKubeApiInjectable from "../maybe-kube-api.injectable";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
-const serviceApiInjectable = getInjectable({
+export const serviceApiInjectable = getInjectable({
id: "service-api",
instantiate: (di) => {
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "serviceApi is only available in certain environments");
return new ServiceApi({
- logger: di.inject(loggerInjectionToken),
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
maybeKubeApi: di.inject(maybeKubeApiInjectable),
});
},
injectionToken: kubeApiInjectionToken,
});
-
-export default serviceApiInjectable;
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/stateful-set.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/stateful-set.api.injectable.ts
new file mode 100644
index 0000000000..3654d4b7f8
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/stateful-set.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { StatefulSetApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const statefulSetApiInjectable = getInjectable({
+ id: "stateful-set-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "statefulSetApi is only available in certain environments",
+ );
+
+ return new StatefulSetApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/storage-class.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/storage-class.api.injectable.ts
new file mode 100644
index 0000000000..58823f53c2
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/storage-class.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { StorageClassApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const storageClassApiInjectable = getInjectable({
+ id: "storage-class-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "storageClassApi is only available in certain environments",
+ );
+
+ return new StorageClassApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/token.ts b/packages/utility-features/kube-api-specifics/src/specifics/token.ts
similarity index 100%
rename from packages/utility-features/kube-api-specifics/src/token.ts
rename to packages/utility-features/kube-api-specifics/src/specifics/token.ts
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/validating-webhook-configuration-api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/validating-webhook-configuration-api.injectable.ts
new file mode 100644
index 0000000000..b22ae55b53
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/validating-webhook-configuration-api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { ValidatingWebhookConfigurationApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const validatingWebhookConfigurationApiInjectable = getInjectable({
+ id: "validating-webhook-configuration",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "const validatingWebhookConfigurationApi is only available in certain environments",
+ );
+
+ return new ValidatingWebhookConfigurationApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
diff --git a/packages/utility-features/kube-api-specifics/src/specifics/vertical-pod-autoscaler.api.injectable.ts b/packages/utility-features/kube-api-specifics/src/specifics/vertical-pod-autoscaler.api.injectable.ts
new file mode 100644
index 0000000000..8cb1a56248
--- /dev/null
+++ b/packages/utility-features/kube-api-specifics/src/specifics/vertical-pod-autoscaler.api.injectable.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+import { getInjectable } from "@ogre-tools/injectable";
+import assert from "assert";
+import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
+import { VerticalPodAutoscalerApi } from "@k8slens/kube-api";
+import { kubeApiInjectionToken } from "./token";
+import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
+import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
+
+export const verticalPodAutoscalerApiInjectable = getInjectable({
+ id: "vertical-pod-autoscaler-api",
+ instantiate: (di) => {
+ assert(
+ di.inject(storesAndApisCanBeCreatedInjectionToken),
+ "verticalPodAutoscalerApi is only available in certain environments",
+ );
+
+ return new VerticalPodAutoscalerApi({
+ logError: di.inject(logErrorInjectionToken),
+ logInfo: di.inject(logInfoInjectionToken),
+ logWarn: di.inject(logWarningInjectionToken),
+ maybeKubeApi: di.inject(maybeKubeApiInjectable),
+ });
+ },
+
+ injectionToken: kubeApiInjectionToken,
+});
From d144558c6d086538f4316d47c664b37c22b97540 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Wed, 31 May 2023 09:33:36 -0400
Subject: [PATCH 12/20] chore: Update lockfile
Signed-off-by: Sebastian Malton
---
package-lock.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package-lock.json b/package-lock.json
index 73a253f5d1..86e1b2ce02 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35785,7 +35785,7 @@
},
"packages/utility-features/kube-api-specifics": {
"name": "@k8slens/kube-api-specifics",
- "version": "1.0.0-alpha.1",
+ "version": "1.0.0",
"license": "MIT",
"devDependencies": {
"@k8slens/eslint-config": "^6.5.0-alpha.2",
From e7f32bce301ffd06eafefc1bed89a5354227eba5 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Wed, 31 May 2023 09:44:16 -0400
Subject: [PATCH 13/20] fix: Add registration of kubeApiSpecificsFeature
Signed-off-by: Sebastian Malton
---
open-lens/package.json | 2 +-
open-lens/src/main/index.ts | 2 ++
open-lens/src/renderer/index.ts | 2 ++
package-lock.json | 2 +-
packages/core/src/main/getDiForUnitTesting.ts | 2 ++
packages/core/src/renderer/getDiForUnitTesting.tsx | 2 ++
6 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/open-lens/package.json b/open-lens/package.json
index 212b2585fe..0a2cea4562 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -193,7 +193,7 @@
"@k8slens/json-api": "^1.0.0-alpha.3",
"@k8slens/keyboard-shortcuts": "^1.0.0",
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@k8slens/kube-api-specifics": "^1.0.0-alpha.1",
+ "@k8slens/kube-api-specifics": "^1.0.0",
"@k8slens/kube-object": "^1.0.0",
"@k8slens/kubectl-versions": "^1.0.0",
"@k8slens/legacy-extension-example": "^1.0.0",
diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts
index b0c9ae9514..58592cc42b 100644
--- a/open-lens/src/main/index.ts
+++ b/open-lens/src/main/index.ts
@@ -13,6 +13,7 @@ import { applicationFeatureForElectronMain } from '@k8slens/application-for-elec
import { messagingFeatureForMain } from "@k8slens/messaging-for-main";
import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
+import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
const environment = "main";
@@ -35,6 +36,7 @@ runInAction(() => {
applicationFeatureForElectronMain,
messagingFeatureForMain,
randomFeature,
+ kubeApiSpecificsFeature,
);
try {
diff --git a/open-lens/src/renderer/index.ts b/open-lens/src/renderer/index.ts
index 9988d20d9f..0525f968e8 100644
--- a/open-lens/src/renderer/index.ts
+++ b/open-lens/src/renderer/index.ts
@@ -30,6 +30,7 @@ import { loggerFeature } from "@k8slens/logger";
import { animateFeature } from "@k8slens/animate";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
import { randomFeature } from "@k8slens/random";
+import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
const environment = "renderer";
@@ -58,6 +59,7 @@ runInAction(() => {
animateFeature,
clusterSidebarFeature,
randomFeature,
+ kubeApiSpecificsFeature,
);
autoRegister({
diff --git a/package-lock.json b/package-lock.json
index 86e1b2ce02..6f89bb48e6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33980,7 +33980,7 @@
"@k8slens/json-api": "^1.0.0-alpha.3",
"@k8slens/keyboard-shortcuts": "^1.0.0",
"@k8slens/kube-api": "^1.0.0-alpha.1",
- "@k8slens/kube-api-specifics": "^1.0.0-alpha.1",
+ "@k8slens/kube-api-specifics": "^1.0.0",
"@k8slens/kube-object": "^1.0.0",
"@k8slens/kubectl-versions": "^1.0.0",
"@k8slens/legacy-extension-example": "^1.0.0",
diff --git a/packages/core/src/main/getDiForUnitTesting.ts b/packages/core/src/main/getDiForUnitTesting.ts
index 5ceb1b8425..c2e84847b2 100644
--- a/packages/core/src/main/getDiForUnitTesting.ts
+++ b/packages/core/src/main/getDiForUnitTesting.ts
@@ -30,6 +30,7 @@ import { registerFeature } from "@k8slens/feature-core";
import { messagingFeature, testUtils as messagingTestUtils } from "@k8slens/messaging";
import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
+import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
export function getDiForUnitTesting() {
const environment = "main";
@@ -46,6 +47,7 @@ export function getDiForUnitTesting() {
messagingTestUtils.messagingFeatureForUnitTesting,
loggerFeature,
randomFeature,
+ kubeApiSpecificsFeature,
);
});
diff --git a/packages/core/src/renderer/getDiForUnitTesting.tsx b/packages/core/src/renderer/getDiForUnitTesting.tsx
index 7f8e431e5e..6a2c54adb7 100644
--- a/packages/core/src/renderer/getDiForUnitTesting.tsx
+++ b/packages/core/src/renderer/getDiForUnitTesting.tsx
@@ -23,6 +23,7 @@ import { routingFeature } from "@k8slens/routing";
import { loggerFeature } from "@k8slens/logger";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
import { randomFeature } from "@k8slens/random";
+import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
export const getDiForUnitTesting = () => {
const environment = "renderer";
@@ -43,6 +44,7 @@ export const getDiForUnitTesting = () => {
animateFeature,
clusterSidebarFeature,
randomFeature,
+ kubeApiSpecificsFeature,
);
});
From 21914db35b08c787b7ac877f6a6a553591581db9 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Thu, 1 Jun 2023 09:07:14 -0400
Subject: [PATCH 14/20] chore: Fix unit tests
Signed-off-by: Sebastian Malton
---
.../__tests__/pod-distruption-budgets.test.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
index cf527c9c08..c060b0091b 100644
--- a/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
+++ b/packages/core/src/renderer/components/config-pod-disruption-budgets/__tests__/pod-distruption-budgets.test.tsx
@@ -60,7 +60,7 @@ describe("", () => {
get: () => ({}),
}) as any);
di.override(loggerInjectionToken, () => null);
- di.override(maybeKubeApiInjectable, () => null);
+ di.override(maybeKubeApiInjectable, () => ({}));
di.override(siblingTabsInjectable, () => ({ get: () => [] } as any));
di.override(userPreferencesStateInjectable, () => ({
hiddenTableColumns: {
From 34ca6509b84f5a165fc25e3fb4f8ae913a7ee499 Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Thu, 1 Jun 2023 14:50:04 +0200
Subject: [PATCH 15/20] chore: extract tokens
Signed-off-by: Gabriel
---
packages/technical-features/react-application/index.ts | 6 ++++++
.../cluster-frame-child-component-injection-token.ts | 0
.../root-frame-child-component-injection-token.ts | 0
3 files changed, 6 insertions(+)
rename packages/{core/src/renderer/frames => technical-features/react-application/src}/cluster-frame/cluster-frame-child-component-injection-token.ts (100%)
rename packages/{core/src/renderer/frames => technical-features/react-application/src}/root-frame/root-frame-child-component-injection-token.ts (100%)
diff --git a/packages/technical-features/react-application/index.ts b/packages/technical-features/react-application/index.ts
index e3f5236d54..892af3b030 100644
--- a/packages/technical-features/react-application/index.ts
+++ b/packages/technical-features/react-application/index.ts
@@ -7,4 +7,10 @@ export type { ReactApplicationChildren } from "./src/react-application/react-app
export { reactApplicationHigherOrderComponentInjectionToken } from "./src/react-application/react-application-higher-order-component-injection-token";
export type { ReactApplicationHigherOrderComponent } from "./src/react-application/react-application-higher-order-component-injection-token";
+export { clusterFrameChildComponentInjectionToken } from "./src/cluster-frame/cluster-frame-child-component-injection-token";
+export type { ClusterFrameChildComponent } from "./src/cluster-frame/cluster-frame-child-component-injection-token";
+
+export { rootFrameChildComponentInjectionToken } from "./src/root-frame/root-frame-child-component-injection-token";
+export type { RootFrameChildComponent } from "./src/root-frame/root-frame-child-component-injection-token";
+
export { reactApplicationFeature } from "./src/feature";
diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame-child-component-injection-token.ts b/packages/technical-features/react-application/src/cluster-frame/cluster-frame-child-component-injection-token.ts
similarity index 100%
rename from packages/core/src/renderer/frames/cluster-frame/cluster-frame-child-component-injection-token.ts
rename to packages/technical-features/react-application/src/cluster-frame/cluster-frame-child-component-injection-token.ts
diff --git a/packages/core/src/renderer/frames/root-frame/root-frame-child-component-injection-token.ts b/packages/technical-features/react-application/src/root-frame/root-frame-child-component-injection-token.ts
similarity index 100%
rename from packages/core/src/renderer/frames/root-frame/root-frame-child-component-injection-token.ts
rename to packages/technical-features/react-application/src/root-frame/root-frame-child-component-injection-token.ts
From 7274cdde5033c5214a71070e6e52743dcfaaf763 Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Thu, 1 Jun 2023 15:52:54 +0200
Subject: [PATCH 16/20] chore: include types with void operator for coverage
Signed-off-by: Gabriel
---
packages/core/src/extensions/lens-renderer-extension.ts | 2 +-
.../force-update-modal-root-frame-component.injectable.ts | 2 +-
.../catalog/entity-details/component.injectable.tsx | 2 +-
...luster-manager-root-frame-child-component.injectable.tsx | 2 +-
...nd-container-cluster-frame-child-component.injectable.ts | 2 +-
...mmand-container-root-frame-child-component.injectable.ts | 2 +-
...nfirm-dialog-cluster-frame-child-component.injectable.ts | 2 +-
.../confirm-dialog-root-frame-child-component.injectable.ts | 2 +-
...uster-dialog-cluster-frame-child-component.injectable.ts | 2 +-
...ease-details-cluster-frame-child-component.injectable.ts | 2 +-
...ject-details-cluster-frame-child-component.injectable.ts | 2 +-
...onfig-dialog-cluster-frame-child-component.injectable.ts | 2 +-
...otifications-cluster-frame-child-component.injectable.ts | 2 +-
.../notifications-root-frame-child-component.injectable.ts | 2 +-
...igger-dialog-cluster-frame-child-component.injectable.ts | 2 +-
...scale-dialog-cluster-frame-child-component.injectable.ts | 2 +-
...scale-dialog-cluster-frame-child-component.injectable.ts | 2 +-
...scale-dialog-cluster-frame-child-component.injectable.ts | 2 +-
.../cluster-frame-component-registrator.injectable.ts | 2 +-
.../cluster-frame-layout-child-component.injectable.tsx | 2 +-
.../src/renderer/frames/cluster-frame/cluster-frame.tsx | 4 ++--
packages/core/src/renderer/frames/root-frame/root-frame.tsx | 4 ++--
...rward-dialog-cluster-frame-child-component.injectable.ts | 2 +-
.../react-application/src/react-application.test.tsx | 6 ++++++
24 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/packages/core/src/extensions/lens-renderer-extension.ts b/packages/core/src/extensions/lens-renderer-extension.ts
index 76a35eae05..b34f8ef84f 100644
--- a/packages/core/src/extensions/lens-renderer-extension.ts
+++ b/packages/core/src/extensions/lens-renderer-extension.ts
@@ -26,7 +26,7 @@ import { getExtensionRoutePath } from "../renderer/routes/for-extension";
import type { KubeObjectHandlerRegistration } from "../renderer/kube-object/handler";
import type { AppPreferenceTabRegistration } from "../features/preferences/renderer/compliance-for-legacy-extension-api/app-preference-tab-registration";
import type { KubeObjectDetailRegistration } from "../renderer/components/kube-object-details/kube-object-detail-registration";
-import type { ClusterFrameChildComponent } from "../renderer/frames/cluster-frame/cluster-frame-child-component-injection-token";
+import type { ClusterFrameChildComponent } from "@k8slens/react-application";
import type { EntitySettingRegistration } from "../renderer/components/entity-settings/extension-registrator.injectable";
import type { CatalogEntityDetailRegistration } from "../renderer/components/catalog/entity-details/token";
import type { PageRegistration } from "../renderer/routes/page-registration";
diff --git a/packages/core/src/features/application-update/child-features/force-update/renderer/force-update-modal/force-update-modal-root-frame-component.injectable.ts b/packages/core/src/features/application-update/child-features/force-update/renderer/force-update-modal/force-update-modal-root-frame-component.injectable.ts
index b5dd601ad2..9745f51b63 100644
--- a/packages/core/src/features/application-update/child-features/force-update/renderer/force-update-modal/force-update-modal-root-frame-component.injectable.ts
+++ b/packages/core/src/features/application-update/child-features/force-update/renderer/force-update-modal/force-update-modal-root-frame-component.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { rootFrameChildComponentInjectionToken } from "../../../../../../renderer/frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { ForceUpdateModal } from "./force-update-modal";
import timeSinceUpdateWasDownloadedInjectable from "./time-since-update-was-downloaded.injectable";
import updateDownloadedDateTimeInjectable from "../../../../common/update-downloaded-date-time.injectable";
diff --git a/packages/core/src/renderer/components/catalog/entity-details/component.injectable.tsx b/packages/core/src/renderer/components/catalog/entity-details/component.injectable.tsx
index 71ab008280..f18e9c76ef 100644
--- a/packages/core/src/renderer/components/catalog/entity-details/component.injectable.tsx
+++ b/packages/core/src/renderer/components/catalog/entity-details/component.injectable.tsx
@@ -11,7 +11,7 @@ import React from "react";
import type { CatalogEntity } from "../../../api/catalog-entity";
import type { CatalogEntityRegistry } from "../../../api/catalog/entity/registry";
import catalogEntityRegistryInjectable from "../../../api/catalog/entity/registry.injectable";
-import { rootFrameChildComponentInjectionToken } from "../../../frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import type { HideEntityDetails } from "./hide.injectable";
import hideEntityDetailsInjectable from "./hide.injectable";
import selectedCatalogEntityInjectable from "./selected-entity.injectable";
diff --git a/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx b/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx
index a1e6130db9..9993bdec92 100644
--- a/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx
+++ b/packages/core/src/renderer/components/cluster-manager/cluster-manager-root-frame-child-component.injectable.tsx
@@ -4,7 +4,7 @@
*/
import React from "react";
import { getInjectable } from "@ogre-tools/injectable";
-import { rootFrameChildComponentInjectionToken } from "../../frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { ClusterManager } from "./cluster-manager";
import { computed } from "mobx";
import { ErrorBoundary } from "@k8slens/error-boundary";
diff --git a/packages/core/src/renderer/components/command-palette/command-container-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/command-palette/command-container-cluster-frame-child-component.injectable.ts
index b517ab614a..c27f9df4f6 100644
--- a/packages/core/src/renderer/components/command-palette/command-container-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/command-palette/command-container-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { CommandContainer } from "./command-container";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const commandContainerClusterFrameChildComponentInjectable = getInjectable({
id: "command-container-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/command-palette/command-container-root-frame-child-component.injectable.ts b/packages/core/src/renderer/components/command-palette/command-container-root-frame-child-component.injectable.ts
index f1c7b72180..e90e043909 100644
--- a/packages/core/src/renderer/components/command-palette/command-container-root-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/command-palette/command-container-root-frame-child-component.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { rootFrameChildComponentInjectionToken } from "../../frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { computed } from "mobx";
import { CommandContainer } from "./command-container";
diff --git a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-cluster-frame-child-component.injectable.ts
index 196d18b27f..99cb360a5c 100644
--- a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { ConfirmDialog } from "./confirm-dialog";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const confirmDialogClusterFrameChildComponentInjectable = getInjectable({
id: "confirm-dialog-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-root-frame-child-component.injectable.ts b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-root-frame-child-component.injectable.ts
index 0132040818..ff875bd3ad 100644
--- a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-root-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog-root-frame-child-component.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { rootFrameChildComponentInjectionToken } from "../../frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { computed } from "mobx";
import { ConfirmDialog } from "./confirm-dialog";
diff --git a/packages/core/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-cluster-frame-child-component.injectable.ts
index e427768ae9..50ed357c1f 100644
--- a/packages/core/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { DeleteClusterDialog } from "./view";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const deleteClusterDialogClusterFrameChildComponentInjectable = getInjectable({
id: "delete-cluster-dialog-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/helm-releases/release-details/release-details-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/helm-releases/release-details/release-details-cluster-frame-child-component.injectable.ts
index a2293e5ca1..ffb39e6f66 100644
--- a/packages/core/src/renderer/components/helm-releases/release-details/release-details-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/helm-releases/release-details/release-details-cluster-frame-child-component.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { clusterFrameChildComponentInjectionToken } from "../../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { ReleaseDetails } from "./release-details";
import targetHelmReleaseInjectable from "./target-helm-release.injectable";
diff --git a/packages/core/src/renderer/components/kube-object-details/kube-object-details-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/kube-object-details/kube-object-details-cluster-frame-child-component.injectable.ts
index 1fcd929325..afd44dd4bc 100644
--- a/packages/core/src/renderer/components/kube-object-details/kube-object-details-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-details/kube-object-details-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { KubeObjectDetails } from "./kube-object-details";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const kubeObjectDetailsClusterFrameChildComponentInjectable = getInjectable({
id: "kube-object-details-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog-cluster-frame-child-component.injectable.ts
index 17160edd81..ccd546f240 100644
--- a/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog-cluster-frame-child-component.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { KubeConfigDialog } from "./kubeconfig-dialog";
const kubeconfigDialogClusterFrameChildComponentInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts
index acd2e72b9e..45f2f3652a 100644
--- a/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { Notifications } from "./notifications";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const notificationsClusterFrameChildComponentInjectable = getInjectable({
id: "notifications-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts b/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts
index eec5a1962a..20d83e78fd 100644
--- a/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
-import { rootFrameChildComponentInjectionToken } from "../../frames/root-frame/root-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { computed } from "mobx";
import { Notifications } from "./notifications";
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-trigger-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-trigger-dialog-cluster-frame-child-component.injectable.ts
index 024515e1b8..0e51db8305 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-trigger-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-trigger-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { CronJobTriggerDialog } from "./trigger-dialog/view";
-import { clusterFrameChildComponentInjectionToken } from "../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const cronJobTriggerDialogClusterFrameChildComponentInjectable = getInjectable({
id: "cron-job-trigger-dialog-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/workloads-deployments/scale/deployment-scale-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/workloads-deployments/scale/deployment-scale-dialog-cluster-frame-child-component.injectable.ts
index 31a444dba0..a6fcc64d56 100644
--- a/packages/core/src/renderer/components/workloads-deployments/scale/deployment-scale-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-deployments/scale/deployment-scale-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { DeploymentScaleDialog } from "./dialog";
-import { clusterFrameChildComponentInjectionToken } from "../../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const deploymentScaleDialogClusterFrameChildComponentInjectable = getInjectable({
id: "deployment-scale-dialog-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/replicaset-scale-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/replicaset-scale-dialog-cluster-frame-child-component.injectable.ts
index a6f2d8c8f5..0ffd1519b1 100644
--- a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/replicaset-scale-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/replicaset-scale-dialog-cluster-frame-child-component.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import { clusterFrameChildComponentInjectionToken } from "../../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { ReplicaSetScaleDialog } from "./dialog";
const replicasetScaleDialogClusterFrameChildComponentInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/scale/statefulset-scale-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/components/workloads-statefulsets/scale/statefulset-scale-dialog-cluster-frame-child-component.injectable.ts
index 7a8b12686d..63ed64439d 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/scale/statefulset-scale-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-statefulsets/scale/statefulset-scale-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { StatefulSetScaleDialog } from "./dialog";
-import { clusterFrameChildComponentInjectionToken } from "../../../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const statefulsetScaleDialogClusterFrameChildComponentInjectable = getInjectable({
id: "statefulset-scale-dialog-cluster-frame-child-component",
diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame-component-registrator.injectable.ts b/packages/core/src/renderer/frames/cluster-frame/cluster-frame-component-registrator.injectable.ts
index 31a2db819d..ff631107c3 100644
--- a/packages/core/src/renderer/frames/cluster-frame/cluster-frame-component-registrator.injectable.ts
+++ b/packages/core/src/renderer/frames/cluster-frame/cluster-frame-component-registrator.injectable.ts
@@ -8,7 +8,7 @@ import { map } from "lodash/fp";
import { extensionRegistratorInjectionToken } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { ExtensionRegistrator } from "../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
-import { clusterFrameChildComponentInjectionToken } from "./cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const clusterFrameComponentRegistratorInjectable = getInjectable({
id: "cluster-frame-component-registrator",
diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame-layout-child-component.injectable.tsx b/packages/core/src/renderer/frames/cluster-frame/cluster-frame-layout-child-component.injectable.tsx
index bb73b55665..3f9acdb59f 100644
--- a/packages/core/src/renderer/frames/cluster-frame/cluster-frame-layout-child-component.injectable.tsx
+++ b/packages/core/src/renderer/frames/cluster-frame/cluster-frame-layout-child-component.injectable.tsx
@@ -4,7 +4,7 @@
*/
import React from "react";
import { getInjectable } from "@ogre-tools/injectable";
-import { clusterFrameChildComponentInjectionToken } from "./cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
import { MainLayout } from "../../components/layout/main-layout";
import { Sidebar } from "../../components/layout/sidebar";
import { Dock } from "../../components/dock";
diff --git a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx
index b01b7cfd67..98c1ac7a50 100755
--- a/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx
+++ b/packages/core/src/renderer/frames/cluster-frame/cluster-frame.tsx
@@ -11,8 +11,8 @@ import namespaceStoreInjectable from "../../components/namespaces/store.injecta
import type { SubscribeStores } from "../../kube-watch-api/kube-watch-api";
import { disposer } from "@k8slens/utilities";
import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.injectable";
-import type { ClusterFrameChildComponent } from "./cluster-frame-child-component-injection-token";
-import { clusterFrameChildComponentInjectionToken } from "./cluster-frame-child-component-injection-token";
+import type { ClusterFrameChildComponent } from "@k8slens/react-application";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
import watchHistoryStateInjectable from "../../remote-helpers/watch-history-state.injectable";
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
import type { IComputedValue } from "mobx";
diff --git a/packages/core/src/renderer/frames/root-frame/root-frame.tsx b/packages/core/src/renderer/frames/root-frame/root-frame.tsx
index 21d3600ea8..1e02371207 100644
--- a/packages/core/src/renderer/frames/root-frame/root-frame.tsx
+++ b/packages/core/src/renderer/frames/root-frame/root-frame.tsx
@@ -7,8 +7,8 @@ import React from "react";
import { Observer } from "mobx-react";
import { withInjectables } from "@ogre-tools/injectable-react";
import broadcastThatRootFrameIsRenderedInjectable from "./broadcast-that-root-frame-is-rendered.injectable";
-import type { RootFrameChildComponent } from "./root-frame-child-component-injection-token";
-import { rootFrameChildComponentInjectionToken } from "./root-frame-child-component-injection-token";
+import type { RootFrameChildComponent } from "@k8slens/react-application";
+import { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
interface Dependencies {
broadcastThatRootFrameIsRendered: () => void;
diff --git a/packages/core/src/renderer/port-forward/port-forward-dialog-cluster-frame-child-component.injectable.ts b/packages/core/src/renderer/port-forward/port-forward-dialog-cluster-frame-child-component.injectable.ts
index eeee6b6751..d67f7ee5e6 100644
--- a/packages/core/src/renderer/port-forward/port-forward-dialog-cluster-frame-child-component.injectable.ts
+++ b/packages/core/src/renderer/port-forward/port-forward-dialog-cluster-frame-child-component.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { PortForwardDialog } from "./port-forward-dialog";
-import { clusterFrameChildComponentInjectionToken } from "../frames/cluster-frame/cluster-frame-child-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
const portForwardDialogClusterFrameChildComponentInjectable = getInjectable({
id: "port-forward-dialog-cluster-frame-child-component",
diff --git a/packages/technical-features/react-application/src/react-application.test.tsx b/packages/technical-features/react-application/src/react-application.test.tsx
index 12fcdb6bac..2204eefb39 100644
--- a/packages/technical-features/react-application/src/react-application.test.tsx
+++ b/packages/technical-features/react-application/src/react-application.test.tsx
@@ -16,6 +16,9 @@ import {
reactApplicationHigherOrderComponentInjectionToken,
} from "./react-application/react-application-higher-order-component-injection-token";
+import { clusterFrameChildComponentInjectionToken } from "./cluster-frame/cluster-frame-child-component-injection-token";
+import { rootFrameChildComponentInjectionToken } from "./root-frame/root-frame-child-component-injection-token";
+
const SomeContent = () => Some children
;
describe("react-application", () => {
@@ -43,6 +46,9 @@ describe("react-application", () => {
await startApplication();
discover = discoverFor(() => rendered);
+
+ expect(clusterFrameChildComponentInjectionToken.id).toBe("cluster-frame-child-component");
+ expect(rootFrameChildComponentInjectionToken.id).toBe("root-frame-child-component");
});
it("renders", () => {
From f602ce8f465aa4425a9050146b1252da7867499e Mon Sep 17 00:00:00 2001
From: Jari Kolehmainen
Date: Fri, 26 May 2023 13:05:20 +0300
Subject: [PATCH 17/20] chore: extract prometheus from core
Signed-off-by: Jari Kolehmainen
---
open-lens/package.json | 1 +
open-lens/src/main/index.ts | 7 ++-
package-lock.json | 49 ++++++++++++++++++
packages/core/package.json | 1 +
.../main/__test__/prometheus-handler.test.ts | 4 +-
.../prometheus-handler/prometheus-handler.ts | 2 +-
.../main/prometheus/get-by-kind.injectable.ts | 2 +-
.../main/prometheus/providers.injectable.ts | 2 +-
.../prometheus/.eslintrc.js | 6 +++
.../technical-features/prometheus/.prettierrc | 1 +
.../prometheus/CHANGELOG.md | 4 ++
.../technical-features/prometheus/index.ts | 7 +++
.../prometheus/jest.config.js | 1 +
.../prometheus/package.json | 50 +++++++++++++++++++
.../prometheus/src/feature.ts | 17 +++++++
.../src}/helm-14-provider.injectable.ts | 16 +++---
.../src}/helm-provider.injectable.ts | 36 +++++++------
.../src}/lens-provider.injectable.ts | 38 ++++++++------
.../src}/operator-provider.injectable.ts.ts | 36 +++++++------
.../prometheus/src}/provider.ts | 36 ++++++++++---
.../src}/stacklight-provider.injectable.ts | 36 +++++++------
.../prometheus/tsconfig.json | 4 ++
.../prometheus/webpack.config.js | 1 +
23 files changed, 275 insertions(+), 82 deletions(-)
create mode 100644 packages/technical-features/prometheus/.eslintrc.js
create mode 100644 packages/technical-features/prometheus/.prettierrc
create mode 100644 packages/technical-features/prometheus/CHANGELOG.md
create mode 100644 packages/technical-features/prometheus/index.ts
create mode 100644 packages/technical-features/prometheus/jest.config.js
create mode 100644 packages/technical-features/prometheus/package.json
create mode 100644 packages/technical-features/prometheus/src/feature.ts
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/helm-14-provider.injectable.ts (65%)
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/helm-provider.injectable.ts (91%)
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/lens-provider.injectable.ts (91%)
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/operator-provider.injectable.ts.ts (91%)
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/provider.ts (73%)
rename packages/{core/src/main/prometheus => technical-features/prometheus/src}/stacklight-provider.injectable.ts (91%)
create mode 100644 packages/technical-features/prometheus/tsconfig.json
create mode 100644 packages/technical-features/prometheus/webpack.config.js
diff --git a/open-lens/package.json b/open-lens/package.json
index 0a2cea4562..838c37f897 100644
--- a/open-lens/package.json
+++ b/open-lens/package.json
@@ -206,6 +206,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0",
"@k8slens/metrics": "^6.5.0",
"@k8slens/node-fetch": "^6.5.0",
+ "@k8slens/prometheus": "^1.0.0",
"@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0",
diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts
index 58592cc42b..8a90aaca46 100644
--- a/open-lens/src/main/index.ts
+++ b/open-lens/src/main/index.ts
@@ -14,6 +14,7 @@ import { messagingFeatureForMain } from "@k8slens/messaging-for-main";
import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
+import { prometheusFeature } from "@k8slens/prometheus";
const environment = "main";
@@ -26,12 +27,10 @@ registerMobX(di);
runInAction(() => {
registerLensCore(di, environment);
- registerFeature(di,
- loggerFeature,
- );
-
registerFeature(
di,
+ loggerFeature,
+ prometheusFeature,
applicationFeature,
applicationFeatureForElectronMain,
messagingFeatureForMain,
diff --git a/package-lock.json b/package-lock.json
index 6f89bb48e6..eb92446d12 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3831,6 +3831,10 @@
"resolved": "packages/node-fetch",
"link": true
},
+ "node_modules/@k8slens/prometheus": {
+ "resolved": "packages/technical-features/prometheus",
+ "link": true
+ },
"node_modules/@k8slens/random": {
"resolved": "packages/random-id",
"link": true
@@ -33993,6 +33997,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0",
"@k8slens/metrics": "^6.5.0",
"@k8slens/node-fetch": "^6.5.0",
+ "@k8slens/prometheus": "^1.0.0",
"@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0",
@@ -34335,6 +34340,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
+ "@k8slens/prometheus": "^1.0.0",
"@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0-alpha.5",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
@@ -35248,6 +35254,28 @@
"url": "https://opencollective.com/node-fetch"
}
},
+ "packages/prometheus": {
+ "name": "@k8slens/prometheus",
+ "version": "1.0.0",
+ "extraneous": true,
+ "license": "MIT",
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0-alpha.3",
+ "@k8slens/jest": "^6.5.0-alpha.5",
+ "@k8slens/typescript": "^6.5.0-alpha.3",
+ "@k8slens/webpack": "^6.5.0-alpha.9"
+ },
+ "peerDependencies": {
+ "@k8slens/application": "^6.5.0-alpha.2",
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@k8slens/utilities": "^1.0.0-alpha.7",
+ "@kubernetes/client-node": "^0.18.1",
+ "@ogre-tools/fp": "^16.1.0",
+ "@ogre-tools/injectable": "^16.1.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^16.1.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^16.1.0"
+ }
+ },
"packages/random-id": {
"name": "@k8slens/random",
"version": "1.0.0",
@@ -35517,6 +35545,27 @@
"mobx": "^6.9.0"
}
},
+ "packages/technical-features/prometheus": {
+ "name": "@k8slens/prometheus",
+ "version": "1.0.0",
+ "license": "MIT",
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0-alpha.3",
+ "@k8slens/jest": "^6.5.0-alpha.5",
+ "@k8slens/typescript": "^6.5.0-alpha.3",
+ "@k8slens/webpack": "^6.5.0-alpha.9"
+ },
+ "peerDependencies": {
+ "@k8slens/application": "^6.5.0-alpha.2",
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@k8slens/utilities": "^1.0.0-alpha.7",
+ "@kubernetes/client-node": "^0.18.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0"
+ }
+ },
"packages/technical-features/react-application": {
"name": "@k8slens/react-application",
"version": "1.0.0",
diff --git a/packages/core/package.json b/packages/core/package.json
index 919de6d364..47538264d4 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -228,6 +228,7 @@
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
+ "@k8slens/prometheus": "^1.0.0",
"@k8slens/react-application": "^1.0.0-alpha.5",
"@k8slens/random": "^1.0.0",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
diff --git a/packages/core/src/main/__test__/prometheus-handler.test.ts b/packages/core/src/main/__test__/prometheus-handler.test.ts
index df0e1b37c9..84f0f154cb 100644
--- a/packages/core/src/main/__test__/prometheus-handler.test.ts
+++ b/packages/core/src/main/__test__/prometheus-handler.test.ts
@@ -7,8 +7,8 @@ import { getDiForUnitTesting } from "../getDiForUnitTesting";
import { Cluster } from "../../common/cluster/cluster";
import type { DiContainer } from "@ogre-tools/injectable";
import { getInjectable } from "@ogre-tools/injectable";
-import type { PrometheusProvider } from "../prometheus/provider";
-import { prometheusProviderInjectionToken } from "../prometheus/provider";
+import type { PrometheusProvider } from "@k8slens/prometheus";
+import { prometheusProviderInjectionToken } from "@k8slens/prometheus";
import { runInAction } from "mobx";
import prometheusHandlerInjectable from "../cluster/prometheus-handler/prometheus-handler.injectable";
import directoryForTempInjectable from "../../common/app-paths/directory-for-temp/directory-for-temp.injectable";
diff --git a/packages/core/src/main/cluster/prometheus-handler/prometheus-handler.ts b/packages/core/src/main/cluster/prometheus-handler/prometheus-handler.ts
index 81c3901750..142a69bb07 100644
--- a/packages/core/src/main/cluster/prometheus-handler/prometheus-handler.ts
+++ b/packages/core/src/main/cluster/prometheus-handler/prometheus-handler.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
-import type { PrometheusProvider, PrometheusService } from "../../prometheus/provider";
+import type { PrometheusProvider, PrometheusService } from "@k8slens/prometheus";
import type { ClusterPrometheusPreferences } from "../../../common/cluster-types";
import type { Cluster } from "../../../common/cluster/cluster";
import { CoreV1Api } from "@kubernetes/client-node";
diff --git a/packages/core/src/main/prometheus/get-by-kind.injectable.ts b/packages/core/src/main/prometheus/get-by-kind.injectable.ts
index 93d7567f6e..3930c77e62 100644
--- a/packages/core/src/main/prometheus/get-by-kind.injectable.ts
+++ b/packages/core/src/main/prometheus/get-by-kind.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { matches } from "lodash/fp";
-import type { PrometheusProvider } from "./provider";
+import type { PrometheusProvider } from "@k8slens/prometheus";
import prometheusProvidersInjectable from "./providers.injectable";
export type GetPrometheusProviderByKind = (kind: string) => PrometheusProvider;
diff --git a/packages/core/src/main/prometheus/providers.injectable.ts b/packages/core/src/main/prometheus/providers.injectable.ts
index 73fe2dfe50..43ec48d769 100644
--- a/packages/core/src/main/prometheus/providers.injectable.ts
+++ b/packages/core/src/main/prometheus/providers.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
-import { prometheusProviderInjectionToken } from "./provider";
+import { prometheusProviderInjectionToken } from "@k8slens/prometheus";
const prometheusProvidersInjectable = getInjectable({
id: "prometheus-providers",
diff --git a/packages/technical-features/prometheus/.eslintrc.js b/packages/technical-features/prometheus/.eslintrc.js
new file mode 100644
index 0000000000..f404cf0ace
--- /dev/null
+++ b/packages/technical-features/prometheus/.eslintrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ extends: "@k8slens/eslint-config/eslint",
+ parserOptions: {
+ project: "./tsconfig.json",
+ },
+ };
diff --git a/packages/technical-features/prometheus/.prettierrc b/packages/technical-features/prometheus/.prettierrc
new file mode 100644
index 0000000000..edd47b479e
--- /dev/null
+++ b/packages/technical-features/prometheus/.prettierrc
@@ -0,0 +1 @@
+"@k8slens/eslint-config/prettier"
diff --git a/packages/technical-features/prometheus/CHANGELOG.md b/packages/technical-features/prometheus/CHANGELOG.md
new file mode 100644
index 0000000000..e4d87c4d45
--- /dev/null
+++ b/packages/technical-features/prometheus/CHANGELOG.md
@@ -0,0 +1,4 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
diff --git a/packages/technical-features/prometheus/index.ts b/packages/technical-features/prometheus/index.ts
new file mode 100644
index 0000000000..426758e06e
--- /dev/null
+++ b/packages/technical-features/prometheus/index.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+
+export { prometheusFeature } from "./src/feature";
+export * from "./src/provider";
diff --git a/packages/technical-features/prometheus/jest.config.js b/packages/technical-features/prometheus/jest.config.js
new file mode 100644
index 0000000000..c6074967eb
--- /dev/null
+++ b/packages/technical-features/prometheus/jest.config.js
@@ -0,0 +1 @@
+module.exports = require("@k8slens/jest").monorepoPackageConfig(__dirname).configForNode;
diff --git a/packages/technical-features/prometheus/package.json b/packages/technical-features/prometheus/package.json
new file mode 100644
index 0000000000..f6c7ff26d4
--- /dev/null
+++ b/packages/technical-features/prometheus/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "@k8slens/prometheus",
+ "private": false,
+ "version": "1.0.0",
+ "description": "Prometheus support for Lens",
+ "type": "commonjs",
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "files": [
+ "dist"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lensapp/lens.git"
+ },
+ "main": "dist/index.js",
+ "types": "dist/index.d.ts",
+ "author": {
+ "name": "OpenLens Authors",
+ "email": "info@k8slens.dev"
+ },
+ "license": "MIT",
+ "homepage": "https://github.com/lensapp/lens",
+ "scripts": {
+ "build": "lens-webpack-build",
+ "clean": "rimraf dist/",
+ "dev": "webpack --mode=development --watch",
+ "test": "jest --coverage --runInBand",
+ "lint": "lens-lint",
+ "lint:fix": "lens-lint --fix"
+ },
+ "peerDependencies": {
+ "@k8slens/application": "^6.5.0-alpha.2",
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@k8slens/utilities": "^1.0.0-alpha.7",
+ "@kubernetes/client-node": "^0.18.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0"
+ },
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0-alpha.3",
+ "@k8slens/jest": "^6.5.0-alpha.5",
+ "@k8slens/typescript": "^6.5.0-alpha.3",
+ "@k8slens/webpack": "^6.5.0-alpha.9"
+ }
+}
diff --git a/packages/technical-features/prometheus/src/feature.ts b/packages/technical-features/prometheus/src/feature.ts
new file mode 100644
index 0000000000..1a6b24eaa7
--- /dev/null
+++ b/packages/technical-features/prometheus/src/feature.ts
@@ -0,0 +1,17 @@
+import { getFeature } from "@k8slens/feature-core";
+import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
+import { applicationFeature } from "@k8slens/application";
+
+export const prometheusFeature = getFeature({
+ id: "prometheus",
+
+ register: (di) => {
+ autoRegister({
+ di,
+ targetModule: module,
+ getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
+ });
+ },
+
+ dependencies: [applicationFeature],
+});
diff --git a/packages/core/src/main/prometheus/helm-14-provider.injectable.ts b/packages/technical-features/prometheus/src/helm-14-provider.injectable.ts
similarity index 65%
rename from packages/core/src/main/prometheus/helm-14-provider.injectable.ts
rename to packages/technical-features/prometheus/src/helm-14-provider.injectable.ts
index 6cc66c519e..35d55abe7d 100644
--- a/packages/core/src/main/prometheus/helm-14-provider.injectable.ts
+++ b/packages/technical-features/prometheus/src/helm-14-provider.injectable.ts
@@ -9,15 +9,15 @@ import { getInjectable } from "@ogre-tools/injectable";
const helm14PrometheusProviderInjectable = getInjectable({
id: "helm14-prometheus-provider",
- instantiate: () => createPrometheusProvider({
- kind: "helm14",
- name: "Helm 14.x",
- isConfigurable: true,
- getQuery: getLensLikeQueryFor({ rateAccuracy: "5m" }),
- getService: (client) => findFirstNamespacedService(client, "app=prometheus,component=server,heritage=Helm"),
- }),
+ instantiate: () =>
+ createPrometheusProvider({
+ kind: "helm14",
+ name: "Helm 14.x",
+ isConfigurable: true,
+ getQuery: getLensLikeQueryFor({ rateAccuracy: "5m" }),
+ getService: (client) => findFirstNamespacedService(client, "app=prometheus,component=server,heritage=Helm"),
+ }),
injectionToken: prometheusProviderInjectionToken,
});
export default helm14PrometheusProviderInjectable;
-
diff --git a/packages/core/src/main/prometheus/helm-provider.injectable.ts b/packages/technical-features/prometheus/src/helm-provider.injectable.ts
similarity index 91%
rename from packages/core/src/main/prometheus/helm-provider.injectable.ts
rename to packages/technical-features/prometheus/src/helm-provider.injectable.ts
index 953bd68277..ac6b46d4e4 100644
--- a/packages/core/src/main/prometheus/helm-provider.injectable.ts
+++ b/packages/technical-features/prometheus/src/helm-provider.injectable.ts
@@ -4,16 +4,25 @@
*/
import type { PrometheusProvider } from "./provider";
-import { createPrometheusProvider, bytesSent, findFirstNamespacedService, prometheusProviderInjectionToken } from "./provider";
+import {
+ createPrometheusProvider,
+ bytesSent,
+ findFirstNamespacedService,
+ prometheusProviderInjectionToken,
+} from "./provider";
import { getInjectable } from "@ogre-tools/injectable";
-export const getHelmLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] => (
+export const getHelmLikeQueryFor =
+ ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] =>
(opts, queryName) => {
- switch(opts.category) {
+ switch (opts.category) {
case "cluster":
switch (queryName) {
case "memoryUsage":
- return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (component)`.replace(/_bytes/g, `_bytes{node=~"${opts.nodes}"}`);
+ return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (component)`.replace(
+ /_bytes/g,
+ `_bytes{node=~"${opts.nodes}"}`,
+ );
case "workloadMemoryUsage":
return `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`;
case "memoryRequests":
@@ -127,20 +136,19 @@ export const getHelmLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }):
}
throw new Error(`Unknown queryName="${queryName}" for category="${opts.category}"`);
- }
-);
+ };
const helmPrometheusProviderInjectable = getInjectable({
id: "helm-prometheus-provider",
- instantiate: () => createPrometheusProvider({
- kind: "helm",
- name: "Helm",
- isConfigurable: true,
- getQuery: getHelmLikeQueryFor({ rateAccuracy: "5m" }),
- getService: (client) => findFirstNamespacedService(client, "app=prometheus,component=server,heritage=Helm"),
- }),
+ instantiate: () =>
+ createPrometheusProvider({
+ kind: "helm",
+ name: "Helm",
+ isConfigurable: true,
+ getQuery: getHelmLikeQueryFor({ rateAccuracy: "5m" }),
+ getService: (client) => findFirstNamespacedService(client, "app=prometheus,component=server,heritage=Helm"),
+ }),
injectionToken: prometheusProviderInjectionToken,
});
export default helmPrometheusProviderInjectable;
-
diff --git a/packages/core/src/main/prometheus/lens-provider.injectable.ts b/packages/technical-features/prometheus/src/lens-provider.injectable.ts
similarity index 91%
rename from packages/core/src/main/prometheus/lens-provider.injectable.ts
rename to packages/technical-features/prometheus/src/lens-provider.injectable.ts
index c523c72582..cb8b7bbf5a 100644
--- a/packages/core/src/main/prometheus/lens-provider.injectable.ts
+++ b/packages/technical-features/prometheus/src/lens-provider.injectable.ts
@@ -3,17 +3,26 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
-import { bytesSent, prometheusProviderInjectionToken, findNamespacedService, createPrometheusProvider } from "./provider";
-import type { PrometheusProvider } from "./provider";
+import {
+ bytesSent,
+ prometheusProviderInjectionToken,
+ findNamespacedService,
+ createPrometheusProvider,
+} from "./provider";
+import type { PrometheusProvider } from "./provider";
import { getInjectable } from "@ogre-tools/injectable";
-export const getLensLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] => (
+export const getLensLikeQueryFor =
+ ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] =>
(opts, queryName) => {
- switch(opts.category) {
+ switch (opts.category) {
case "cluster":
switch (queryName) {
case "memoryUsage":
- return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_name)`.replace(/_bytes/g, `_bytes{kubernetes_node=~"${opts.nodes}"}`);
+ return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_name)`.replace(
+ /_bytes/g,
+ `_bytes{kubernetes_node=~"${opts.nodes}"}`,
+ );
case "workloadMemoryUsage":
return `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`;
case "memoryRequests":
@@ -127,20 +136,19 @@ export const getLensLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }):
}
throw new Error(`Unknown queryName="${queryName}" for category="${opts.category}"`);
- }
-);
+ };
const lensPrometheusProviderInjectable = getInjectable({
id: "lens-prometheus-provider",
- instantiate: () => createPrometheusProvider({
- kind: "lens",
- name: "Lens",
- isConfigurable: false,
- getQuery: getLensLikeQueryFor({ rateAccuracy: "1m" }),
- getService: (client) => findNamespacedService(client, "prometheus", "lens-metrics"),
- }),
+ instantiate: () =>
+ createPrometheusProvider({
+ kind: "lens",
+ name: "Lens",
+ isConfigurable: false,
+ getQuery: getLensLikeQueryFor({ rateAccuracy: "1m" }),
+ getService: (client) => findNamespacedService(client, "prometheus", "lens-metrics"),
+ }),
injectionToken: prometheusProviderInjectionToken,
});
export default lensPrometheusProviderInjectable;
-
diff --git a/packages/core/src/main/prometheus/operator-provider.injectable.ts.ts b/packages/technical-features/prometheus/src/operator-provider.injectable.ts.ts
similarity index 91%
rename from packages/core/src/main/prometheus/operator-provider.injectable.ts.ts
rename to packages/technical-features/prometheus/src/operator-provider.injectable.ts.ts
index 5215f2dff2..d8da7255b6 100644
--- a/packages/core/src/main/prometheus/operator-provider.injectable.ts.ts
+++ b/packages/technical-features/prometheus/src/operator-provider.injectable.ts.ts
@@ -4,16 +4,25 @@
*/
import type { PrometheusProvider } from "./provider";
-import { bytesSent, createPrometheusProvider, findFirstNamespacedService, prometheusProviderInjectionToken } from "./provider";
+import {
+ bytesSent,
+ createPrometheusProvider,
+ findFirstNamespacedService,
+ prometheusProviderInjectionToken,
+} from "./provider";
import { getInjectable } from "@ogre-tools/injectable";
-export const getOperatorLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] => (
+export const getOperatorLikeQueryFor =
+ ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] =>
(opts, queryName) => {
- switch(opts.category) {
+ switch (opts.category) {
case "cluster":
switch (queryName) {
case "memoryUsage":
- return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes))`.replace(/_bytes/g, `_bytes * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"}`);
+ return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes))`.replace(
+ /_bytes/g,
+ `_bytes * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"}`,
+ );
case "workloadMemoryUsage":
return `sum(container_memory_working_set_bytes{container!="", instance=~"${opts.nodes}"}) by (component)`;
case "memoryRequests":
@@ -127,20 +136,19 @@ export const getOperatorLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string
}
throw new Error(`Unknown queryName="${queryName}" for category="${opts.category}"`);
- }
-);
+ };
const operatorPrometheusProviderInjectable = getInjectable({
id: "operator-prometheus-provider",
- instantiate: () => createPrometheusProvider({
- kind: "operator",
- name: "Prometheus Operator",
- isConfigurable: true,
- getService: (client) => findFirstNamespacedService(client, "operated-prometheus=true"),
- getQuery: getOperatorLikeQueryFor({ rateAccuracy: "1m" }),
- }),
+ instantiate: () =>
+ createPrometheusProvider({
+ kind: "operator",
+ name: "Prometheus Operator",
+ isConfigurable: true,
+ getService: (client) => findFirstNamespacedService(client, "operated-prometheus=true"),
+ getQuery: getOperatorLikeQueryFor({ rateAccuracy: "1m" }),
+ }),
injectionToken: prometheusProviderInjectionToken,
});
export default operatorPrometheusProviderInjectable;
-
diff --git a/packages/core/src/main/prometheus/provider.ts b/packages/technical-features/prometheus/src/provider.ts
similarity index 73%
rename from packages/core/src/main/prometheus/provider.ts
rename to packages/technical-features/prometheus/src/provider.ts
index 5bd9588a06..ad38958be8 100644
--- a/packages/core/src/main/prometheus/provider.ts
+++ b/packages/technical-features/prometheus/src/provider.ts
@@ -35,13 +35,16 @@ export interface CreatePrometheusProviderOpts {
getService(client: CoreV1Api): Promise;
}
-export const createPrometheusProvider = ({ getService, ...opts }: CreatePrometheusProviderOpts): PrometheusProvider => ({
+export const createPrometheusProvider = ({
+ getService,
+ ...opts
+}: CreatePrometheusProviderOpts): PrometheusProvider => ({
...opts,
getPrometheusService: async (client) => {
try {
return {
kind: opts.kind,
- ...await getService(client),
+ ...(await getService(client)),
};
} catch (error) {
throw new Error(`Failed to find Prometheus provider for "${opts.name}"`, { cause: error });
@@ -49,10 +52,17 @@ export const createPrometheusProvider = ({ getService, ...opts }: CreatePromethe
},
});
-export async function findFirstNamespacedService(client: CoreV1Api, ...selectors: string[]): Promise {
+export async function findFirstNamespacedService(
+ client: CoreV1Api,
+ ...selectors: string[]
+): Promise {
try {
for (const selector of selectors) {
- const { body: { items: [service] }} = await client.listServiceForAllNamespaces(undefined, undefined, undefined, selector);
+ const {
+ body: {
+ items: [service],
+ },
+ } = await client.listServiceForAllNamespaces(undefined, undefined, undefined, selector);
if (service?.metadata?.namespace && service.metadata.name && service.spec?.ports) {
return {
@@ -63,13 +73,19 @@ export async function findFirstNamespacedService(client: CoreV1Api, ...selectors
}
}
} catch (error) {
- throw new Error(`Failed to list services in all namespaces: ${isRequestError(error) ? error.response?.body.message : error}`);
+ throw new Error(
+ `Failed to list services in all namespaces: ${isRequestError(error) ? error.response?.body.message : error}`,
+ );
}
throw new Error(`No service found from any namespace`);
}
-export async function findNamespacedService(client: CoreV1Api, name: string, namespace: string): Promise {
+export async function findNamespacedService(
+ client: CoreV1Api,
+ name: string,
+ namespace: string,
+): Promise {
try {
const { body: service } = await client.readNamespacedService(name, namespace);
@@ -82,8 +98,12 @@ export async function findNamespacedService(client: CoreV1Api, name: string, nam
service: service.metadata.name,
port: service.spec.ports[0].port,
};
- } catch(error) {
- throw new Error(`Failed to list services in namespace="${namespace}": ${isRequestError(error) ? error.response?.body.message : error}`);
+ } catch (error) {
+ throw new Error(
+ `Failed to list services in namespace="${namespace}": ${
+ isRequestError(error) ? error.response?.body.message : error
+ }`,
+ );
}
}
diff --git a/packages/core/src/main/prometheus/stacklight-provider.injectable.ts b/packages/technical-features/prometheus/src/stacklight-provider.injectable.ts
similarity index 91%
rename from packages/core/src/main/prometheus/stacklight-provider.injectable.ts
rename to packages/technical-features/prometheus/src/stacklight-provider.injectable.ts
index ca7a946466..36979d36ea 100644
--- a/packages/core/src/main/prometheus/stacklight-provider.injectable.ts
+++ b/packages/technical-features/prometheus/src/stacklight-provider.injectable.ts
@@ -4,16 +4,25 @@
*/
import type { PrometheusProvider } from "./provider";
-import { bytesSent, createPrometheusProvider, findFirstNamespacedService, prometheusProviderInjectionToken } from "./provider";
+import {
+ bytesSent,
+ createPrometheusProvider,
+ findFirstNamespacedService,
+ prometheusProviderInjectionToken,
+} from "./provider";
import { getInjectable } from "@ogre-tools/injectable";
-export const getStacklightLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] => (
+export const getStacklightLikeQueryFor =
+ ({ rateAccuracy }: { rateAccuracy: string }): PrometheusProvider["getQuery"] =>
(opts, queryName) => {
- switch(opts.category) {
+ switch (opts.category) {
case "cluster":
switch (queryName) {
case "memoryUsage":
- return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_name)`.replace(/_bytes/g, `_bytes{node=~"${opts.nodes}"}`);
+ return `sum(node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_name)`.replace(
+ /_bytes/g,
+ `_bytes{node=~"${opts.nodes}"}`,
+ );
case "workloadMemoryUsage":
return `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`;
case "memoryRequests":
@@ -127,20 +136,19 @@ export const getStacklightLikeQueryFor = ({ rateAccuracy }: { rateAccuracy: stri
}
throw new Error(`Unknown queryName="${queryName}" for category="${opts.category}"`);
- }
-);
+ };
const stacklightPrometheusProviderInjectable = getInjectable({
id: "stacklight-prometheus-provider",
- instantiate: () => createPrometheusProvider({
- kind: "stacklight",
- name: "Stacklight",
- isConfigurable: true,
- getService: (client) => findFirstNamespacedService(client, "prometheus-server", "stacklight"),
- getQuery: getStacklightLikeQueryFor({ rateAccuracy: "1m" }),
- }),
+ instantiate: () =>
+ createPrometheusProvider({
+ kind: "stacklight",
+ name: "Stacklight",
+ isConfigurable: true,
+ getService: (client) => findFirstNamespacedService(client, "prometheus-server", "stacklight"),
+ getQuery: getStacklightLikeQueryFor({ rateAccuracy: "1m" }),
+ }),
injectionToken: prometheusProviderInjectionToken,
});
export default stacklightPrometheusProviderInjectable;
-
diff --git a/packages/technical-features/prometheus/tsconfig.json b/packages/technical-features/prometheus/tsconfig.json
new file mode 100644
index 0000000000..2b0f0e5603
--- /dev/null
+++ b/packages/technical-features/prometheus/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "@k8slens/typescript/config/base.json",
+ "include": ["**/*.ts"]
+ }
diff --git a/packages/technical-features/prometheus/webpack.config.js b/packages/technical-features/prometheus/webpack.config.js
new file mode 100644
index 0000000000..3183f30179
--- /dev/null
+++ b/packages/technical-features/prometheus/webpack.config.js
@@ -0,0 +1 @@
+module.exports = require("@k8slens/webpack").configForNode;
From 8b69c12ed4b2c48e3d493e75f7376f22237fddec Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Thu, 1 Jun 2023 19:10:29 +0200
Subject: [PATCH 18/20] chore: extract @k8slens/notifications
Signed-off-by: Gabriel
---
open-lens/src/main/index.ts | 2 +
open-lens/src/renderer/index.ts | 3 +
package-lock.json | 41 ++++++++++++
package.json | 1 +
packages/core/package.json | 1 +
.../src/extensions/renderer-api/components.ts | 19 +++---
.../selection-of-update-stability.test.ts | 2 +-
.../edit-namespace-from-new-tab.test.tsx | 5 +-
...tom-helm-repository-in-preferences.test.ts | 3 +-
...epository-from-list-in-preferences.test.ts | 3 +-
.../active-helm-repositories.injectable.ts | 2 +-
.../add-helm-repository.injectable.ts | 3 +-
...e-helm-repositories-in-preferences.test.ts | 2 +-
.../showing-details-for-helm-release.test.ts | 5 +-
.../features/pod-logs/download-logs.test.tsx | 2 +-
.../renderer/failure-listener.injectable.ts | 2 +-
packages/core/src/main/getDiForUnitTesting.ts | 2 +
.../components/add-cluster/add-cluster.tsx | 5 +-
.../renderer/components/catalog/catalog.tsx | 4 +-
.../cluster-local-terminal-settings.test.tsx | 2 +-
.../cluster-settings/icon-settings.tsx | 4 +-
.../local-terminal-settings.tsx | 4 +-
.../config-maps/config-map-details.tsx | 5 +-
.../add-dialog/view.tsx | 4 +-
.../config-secrets/add-dialog/view.tsx | 4 +-
.../config-secrets/secret-details.tsx | 6 +-
.../confirm-dialog/confirm-dialog.tsx | 4 +-
.../components/delete-cluster-dialog/view.tsx | 4 +-
.../components/dialog/logs-dialog.tsx | 4 +-
.../components/dock/create-resource/view.tsx | 6 +-
.../edit-resource-model.injectable.tsx | 5 +-
.../renderer/components/dock/info-panel.tsx | 6 +-
.../dock/logs/download-all-logs.injectable.ts | 2 +-
.../dock/terminal/send-command.injectable.ts | 2 +-
.../attempt-install-by-info.injectable.tsx | 2 +-
.../attempt-install.injectable.tsx | 5 +-
...ate-temp-files-and-validate.injectable.tsx | 2 +-
.../unpack-extension.injectable.tsx | 3 +-
.../get-base-registry-url.injectable.tsx | 2 +-
...nstall-extension-from-input.injectable.tsx | 2 +-
.../read-file-notify.injectable.ts | 2 +-
.../uninstall-extension.injectable.tsx | 3 +-
.../helm-releases/dialog/dialog.tsx | 4 +-
.../release-details-model.injectable.tsx | 6 +-
.../kubeconfig-dialog/kubeconfig-dialog.tsx | 4 +-
.../kubeconfig-dialog/open.injectable.ts | 2 +-
.../namespaces/add-dialog/dialog.tsx | 4 +-
.../port-forward-menu.tsx | 4 +-
.../service-port-component.tsx | 4 +-
.../components/notifications/index.ts | 7 --
.../cluster-role-bindings/dialog/view.tsx | 4 +-
.../cluster-roles/add-dialog/view.tsx | 4 +-
.../role-bindings/dialog/view.tsx | 4 +-
.../user-management/roles/add-dialog/view.tsx | 4 +-
.../service-accounts/create-dialog/view.tsx | 4 +-
.../workloads-cronjobs/cron-job-menu.tsx | 4 +-
.../trigger-dialog/view.tsx | 6 +-
.../workloads-daemonsets/daemonset-menu.tsx | 4 +-
.../workloads-deployments/deployment-menu.tsx | 4 +-
.../workloads-deployments/scale/dialog.tsx | 4 +-
...oad-pods-from-all-namespaces.injectable.ts | 2 +-
.../workloads-pods/pod-container-port.tsx | 4 +-
.../scale-dialog/dialog.tsx | 4 +-
.../replication-controller-details.tsx | 4 +-
.../workloads-statefulsets/scale/dialog.tsx | 4 +-
.../statefulset-menu.tsx | 4 +-
.../init-cluster-frame.injectable.ts | 2 +-
.../init-cluster-frame/init-cluster-frame.ts | 2 +-
.../core/src/renderer/getDiForUnitTesting.tsx | 2 +
.../add-sync-entries.injectable.tsx | 2 +-
...amespaces-forbidden-handler.injectable.tsx | 3 +-
.../ipc/register-ipc-listeners.injectable.ts | 2 +-
.../src/renderer/k8s/api-kube.injectable.ts | 2 +-
.../about-port-forwarding.injectable.tsx | 2 +-
...otify-error-port-forwarding.injectable.tsx | 2 +-
.../open-port-forward.injectable.ts | 2 +-
...-protocol-add-route-handlers.injectable.ts | 2 +-
.../bind-protocol-add-route-handlers.tsx | 2 +-
...ens-protocol-router-renderer.injectable.ts | 3 +-
.../lens-protocol-router-renderer.tsx | 2 +-
.../notifications/.eslintrc.json | 6 ++
.../ui-components/notifications/.prettierrc | 1 +
.../ui-components/notifications/CHANGELOG.md | 4 ++
.../ui-components/notifications/README.md | 19 ++++++
packages/ui-components/notifications/index.ts | 25 +++++++
.../notifications/jest.config.js | 3 +
.../ui-components/notifications/package.json | 66 +++++++++++++++++++
.../notifications/src/feature.ts | 14 ++++
...luster-frame-child-component.injectable.ts | 4 +-
...s-root-frame-child-component.injectable.ts | 4 +-
.../src}/notifications-store.injectable.ts | 4 +-
.../notifications/src}/notifications.scss | 22 +++++--
.../notifications/src}/notifications.store.ts | 8 ++-
.../notifications/src}/notifications.tsx | 23 +++++--
.../src}/show-checked-error.injectable.ts | 12 ++--
.../show-error-notification.injectable.ts | 6 +-
.../src}/show-info-notification.injectable.ts | 6 +-
.../src}/show-short-info.injectable.ts | 6 +-
.../show-success-notification.injectable.ts | 6 +-
.../notifications/tailwind.config.js | 28 ++++++++
.../ui-components/notifications/tsconfig.json | 4 ++
.../notifications/webpack.config.js | 1 +
102 files changed, 399 insertions(+), 192 deletions(-)
delete mode 100644 packages/core/src/renderer/components/notifications/index.ts
create mode 100644 packages/ui-components/notifications/.eslintrc.json
create mode 100644 packages/ui-components/notifications/.prettierrc
create mode 100644 packages/ui-components/notifications/CHANGELOG.md
create mode 100644 packages/ui-components/notifications/README.md
create mode 100644 packages/ui-components/notifications/index.ts
create mode 100644 packages/ui-components/notifications/jest.config.js
create mode 100644 packages/ui-components/notifications/package.json
create mode 100644 packages/ui-components/notifications/src/feature.ts
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications-cluster-frame-child-component.injectable.ts (81%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications-root-frame-child-component.injectable.ts (81%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications-store.injectable.ts (77%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications.scss (73%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications.store.ts (93%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/notifications.tsx (85%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/show-checked-error.injectable.ts (76%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/show-error-notification.injectable.ts (77%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/show-info-notification.injectable.ts (78%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/show-short-info.injectable.ts (74%)
rename packages/{core/src/renderer/components/notifications => ui-components/notifications/src}/show-success-notification.injectable.ts (78%)
create mode 100644 packages/ui-components/notifications/tailwind.config.js
create mode 100644 packages/ui-components/notifications/tsconfig.json
create mode 100644 packages/ui-components/notifications/webpack.config.js
diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts
index 8a90aaca46..631bec505f 100644
--- a/open-lens/src/main/index.ts
+++ b/open-lens/src/main/index.ts
@@ -15,6 +15,7 @@ import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
import { prometheusFeature } from "@k8slens/prometheus";
+import { notificationsFeature } from "@k8slens/notifications";
const environment = "main";
@@ -36,6 +37,7 @@ runInAction(() => {
messagingFeatureForMain,
randomFeature,
kubeApiSpecificsFeature,
+ notificationsFeature,
);
try {
diff --git a/open-lens/src/renderer/index.ts b/open-lens/src/renderer/index.ts
index 0525f968e8..bfcb814a8a 100644
--- a/open-lens/src/renderer/index.ts
+++ b/open-lens/src/renderer/index.ts
@@ -5,6 +5,7 @@ import "@k8slens/tooltip/styles";
import "@k8slens/resizing-anchor/styles";
import "@k8slens/icon/styles";
import "@k8slens/animate/styles";
+import "@k8slens/notifications/styles";
import { runInAction } from "mobx";
import {
@@ -31,6 +32,7 @@ import { animateFeature } from "@k8slens/animate";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
+import { notificationsFeature } from "@k8slens/notifications";
const environment = "renderer";
@@ -60,6 +62,7 @@ runInAction(() => {
clusterSidebarFeature,
randomFeature,
kubeApiSpecificsFeature,
+ notificationsFeature,
);
autoRegister({
diff --git a/package-lock.json b/package-lock.json
index eb92446d12..5062762ffd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3835,6 +3835,10 @@
"resolved": "packages/technical-features/prometheus",
"link": true
},
+ "node_modules/@k8slens/notifications": {
+ "resolved": "packages/ui-components/notifications",
+ "link": true
+ },
"node_modules/@k8slens/random": {
"resolved": "packages/random-id",
"link": true
@@ -34341,6 +34345,7 @@
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
"@k8slens/prometheus": "^1.0.0",
+ "@k8slens/notifications": "^1.0.0",
"@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0-alpha.5",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
@@ -35711,6 +35716,42 @@
"winston": "^3.8.2"
}
},
+ "packages/ui-components/notifications": {
+ "name": "@k8slens/notifications",
+ "version": "1.0.0",
+ "license": "MIT",
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0",
+ "@k8slens/webpack": "^6.5.0"
+ },
+ "peerDependencies": {
+ "@k8slens/animate": "^1.0.0-alpha.0",
+ "@k8slens/application": "^6.5.0",
+ "@k8slens/event-emitter": "^1.0.0",
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@k8slens/icon": "^1.0.0-alpha.7",
+ "@k8slens/json-api": "^1.0.0-alpha.3",
+ "@k8slens/logger": "^1.0.0",
+ "@k8slens/react-application": "^1.0.0-alpha.5",
+ "@k8slens/run-many": "^1.0.0",
+ "@k8slens/tooltip": "^1.0.0",
+ "@k8slens/utilities": "^1.0.0-alpha.1",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "@ogre-tools/injectable-react": "^17.2.0",
+ "auto-bind": "^4.0.0",
+ "lodash": "^4.17.21",
+ "mobx": "^6.8.0",
+ "mobx-react": "^7.6.0",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "react-router-dom": "^5.3.4",
+ "uuid": "^8.3.2",
+ "winston": "^3.8.2"
+ }
+ },
"packages/ui-components/resizing-anchor": {
"name": "@k8slens/resizing-anchor",
"version": "1.0.0",
diff --git a/package.json b/package.json
index d2e809bb04..6b6e75c4a9 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"mkdocs:serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest",
"mkdocs:verify": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict",
"test:unit": "lerna run --stream test:unit --no-bail",
+ "test:unit:updatesnapshot": "lerna run --stream test:unit --no-bail -- -u",
"test:unit:watch": "jest --watch",
"test:integration": "lerna run --stream test:integration --no-bail",
"bump-version": "lerna version --no-git-tag-version --no-push",
diff --git a/packages/core/package.json b/packages/core/package.json
index 47538264d4..59a4d351cc 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -207,6 +207,7 @@
"@hapi/call": "^9.0.1",
"@hapi/subtext": "^7.1.0",
"@k8slens/animate": "^1.0.0-alpha.0",
+ "@k8slens/notifications": "^1.0.0",
"@k8slens/application": "^6.5.0-alpha.0",
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
"@k8slens/button": "^1.0.0-alpha.5",
diff --git a/packages/core/src/extensions/renderer-api/components.ts b/packages/core/src/extensions/renderer-api/components.ts
index 36ce3bba0a..1ab3e6295d 100644
--- a/packages/core/src/extensions/renderer-api/components.ts
+++ b/packages/core/src/extensions/renderer-api/components.ts
@@ -16,15 +16,18 @@ import { ConfirmDialog as _ConfirmDialog } from "../../renderer/components/confi
import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog";
import openConfirmDialogInjectable from "../../renderer/components/confirm-dialog/open.injectable";
import confirmInjectable from "../../renderer/components/confirm-dialog/confirm.injectable";
-import notificationsStoreInjectable from "../../renderer/components/notifications/notifications-store.injectable";
+import {
+ notificationsStoreInjectable,
+ showCheckedErrorNotificationInjectable,
+ showErrorNotificationInjectable,
+ showInfoNotificationInjectable,
+ showShortInfoNotificationInjectable,
+ showSuccessNotificationInjectable,
+} from "@k8slens/notifications";
import podStoreInjectable from "../../renderer/components/workloads-pods/store.injectable";
import getDetailsUrlInjectable from "../../renderer/components/kube-detail-params/get-details-url.injectable";
import showDetailsInjectable from "../../renderer/components/kube-detail-params/show-details.injectable";
-import showCheckedErrorNotificationInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
-import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
-import showInfoNotificationInjectable from "../../renderer/components/notifications/show-info-notification.injectable";
-import showShortInfoNotificationInjectable from "../../renderer/components/notifications/show-short-info.injectable";
-import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
+
// layouts
export * from "../../renderer/components/layout/main-layout";
@@ -72,14 +75,14 @@ export * from "../../renderer/components/line-progress";
export * from "../../renderer/components/menu";
export {
- NotificationStatus,
+ type NotificationStatus,
type CreateNotificationOptions,
type Notification,
type NotificationId,
type NotificationMessage,
type ShowNotification,
type NotificationsStore,
-} from "../../renderer/components/notifications";
+} from"@k8slens/notifications";
export const Notifications = {
ok: asLegacyGlobalFunctionForExtensionApi(showSuccessNotificationInjectable),
diff --git a/packages/core/src/features/application-update/child-features/selection-of-update-stability/selection-of-update-stability.test.ts b/packages/core/src/features/application-update/child-features/selection-of-update-stability/selection-of-update-stability.test.ts
index 05785faf38..deb3d9d88a 100644
--- a/packages/core/src/features/application-update/child-features/selection-of-update-stability/selection-of-update-stability.test.ts
+++ b/packages/core/src/features/application-update/child-features/selection-of-update-stability/selection-of-update-stability.test.ts
@@ -19,7 +19,7 @@ import downloadPlatformUpdateInjectable from "../../main/download-update/downloa
import selectedUpdateChannelInjectable from "../../common/selected-update-channel.injectable";
import type { IComputedValue } from "mobx";
import setUpdateOnQuitInjectable from "../../../../main/electron-app/features/set-update-on-quit.injectable";
-import showInfoNotificationInjectable from "../../../../renderer/components/notifications/show-info-notification.injectable";
+import { showInfoNotificationInjectable } from "@k8slens/notifications";
import processCheckingForUpdatesInjectable from "../../main/process-checking-for-updates.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import getBuildVersionInjectable
diff --git a/packages/core/src/features/cluster/namespaces/edit-namespace-from-new-tab.test.tsx b/packages/core/src/features/cluster/namespaces/edit-namespace-from-new-tab.test.tsx
index 9ceeb46f69..254c8790db 100644
--- a/packages/core/src/features/cluster/namespaces/edit-namespace-from-new-tab.test.tsx
+++ b/packages/core/src/features/cluster/namespaces/edit-namespace-from-new-tab.test.tsx
@@ -14,8 +14,7 @@ import type { AsyncFnMock } from "@async-fn/jest";
import asyncFn from "@async-fn/jest";
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
import { Namespace } from "@k8slens/kube-object";
-import showSuccessNotificationInjectable from "../../../renderer/components/notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../../../renderer/components/notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import readJsonFileInjectable from "../../../common/fs/read-json-file.injectable";
import directoryForLensLocalStorageInjectable from "../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
@@ -25,7 +24,7 @@ import apiKubePatchInjectable from "../../../renderer/k8s/api-kube-patch.injecta
import apiKubeGetInjectable from "../../../renderer/k8s/api-kube-get.injectable";
import type { BaseKubeJsonApiObjectMetadata, KubeObjectScope, KubeJsonApiData } from "@k8slens/kube-object";
import { JsonApiErrorParsed } from "@k8slens/json-api";
-import type { ShowNotification } from "../../../renderer/components/notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import React from "react";
describe("cluster/namespaces - edit namespace from new tab", () => {
diff --git a/packages/core/src/features/helm-charts/add-custom-helm-repository-in-preferences.test.ts b/packages/core/src/features/helm-charts/add-custom-helm-repository-in-preferences.test.ts
index d86fb5978d..4b23744c8a 100644
--- a/packages/core/src/features/helm-charts/add-custom-helm-repository-in-preferences.test.ts
+++ b/packages/core/src/features/helm-charts/add-custom-helm-repository-in-preferences.test.ts
@@ -15,8 +15,7 @@ import getActiveHelmRepositoriesInjectable from "../../main/helm/repositories/ge
import type { HelmRepo } from "../../common/helm/helm-repo";
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
import isPathInjectable from "../../renderer/components/input/validators/is-path.injectable";
-import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import type { AsyncResult } from "@k8slens/utilities";
import { testUsingFakeTime } from "../../test-utils/use-fake-time";
diff --git a/packages/core/src/features/helm-charts/add-helm-repository-from-list-in-preferences.test.ts b/packages/core/src/features/helm-charts/add-helm-repository-from-list-in-preferences.test.ts
index 1791d58e98..43e4770a2e 100644
--- a/packages/core/src/features/helm-charts/add-helm-repository-from-list-in-preferences.test.ts
+++ b/packages/core/src/features/helm-charts/add-helm-repository-from-list-in-preferences.test.ts
@@ -13,8 +13,7 @@ import helmBinaryPathInjectable from "../../main/helm/helm-binary-path.injectabl
import getActiveHelmRepositoriesInjectable from "../../main/helm/repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
import type { HelmRepo } from "../../common/helm/helm-repo";
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
-import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import type { AsyncResult } from "@k8slens/utilities";
describe("add helm repository from list in preferences", () => {
diff --git a/packages/core/src/features/helm-charts/child-features/preferences/renderer/active-helm-repositories.injectable.ts b/packages/core/src/features/helm-charts/child-features/preferences/renderer/active-helm-repositories.injectable.ts
index b4195a876f..8ab1f7871f 100644
--- a/packages/core/src/features/helm-charts/child-features/preferences/renderer/active-helm-repositories.injectable.ts
+++ b/packages/core/src/features/helm-charts/child-features/preferences/renderer/active-helm-repositories.injectable.ts
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { asyncComputed } from "@ogre-tools/injectable-react";
import { getActiveHelmRepositoriesChannel } from "../../../../../common/helm/get-active-helm-repositories-channel";
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
-import showErrorNotificationInjectable from "../../../../../renderer/components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import helmRepositoriesErrorStateInjectable from "./helm-repositories-error-state.injectable";
import { runInAction } from "mobx";
diff --git a/packages/core/src/features/helm-charts/child-features/preferences/renderer/adding-of-public-helm-repository/select-helm-repository/add-helm-repository.injectable.ts b/packages/core/src/features/helm-charts/child-features/preferences/renderer/adding-of-public-helm-repository/select-helm-repository/add-helm-repository.injectable.ts
index 3c2199c490..98806e1d6d 100644
--- a/packages/core/src/features/helm-charts/child-features/preferences/renderer/adding-of-public-helm-repository/select-helm-repository/add-helm-repository.injectable.ts
+++ b/packages/core/src/features/helm-charts/child-features/preferences/renderer/adding-of-public-helm-repository/select-helm-repository/add-helm-repository.injectable.ts
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import type { HelmRepo } from "../../../../../../../common/helm/helm-repo";
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
import activeHelmRepositoriesInjectable from "../../active-helm-repositories.injectable";
-import showErrorNotificationInjectable from "../../../../../../../renderer/components/notifications/show-error-notification.injectable";
-import showSuccessNotificationInjectable from "../../../../../../../renderer/components/notifications/show-success-notification.injectable";
+import { showErrorNotificationInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
import { addHelmRepositoryChannel } from "../../../../../../../common/helm/add-helm-repository-channel";
const addHelmRepositoryInjectable = getInjectable({
diff --git a/packages/core/src/features/helm-charts/listing-active-helm-repositories-in-preferences.test.ts b/packages/core/src/features/helm-charts/listing-active-helm-repositories-in-preferences.test.ts
index c554be5390..17143be136 100644
--- a/packages/core/src/features/helm-charts/listing-active-helm-repositories-in-preferences.test.ts
+++ b/packages/core/src/features/helm-charts/listing-active-helm-repositories-in-preferences.test.ts
@@ -15,7 +15,7 @@ import helmBinaryPathInjectable from "../../main/helm/helm-binary-path.injectabl
import { loggerInjectionToken } from "@k8slens/logger";
import type { Logger } from "@k8slens/logger";
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
-import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { noop } from "@k8slens/utilities";
describe("listing active helm repositories in preferences", () => {
diff --git a/packages/core/src/features/helm-releases/showing-details-for-helm-release.test.ts b/packages/core/src/features/helm-releases/showing-details-for-helm-release.test.ts
index 98a9e54c4c..1d51c2c215 100644
--- a/packages/core/src/features/helm-releases/showing-details-for-helm-release.test.ts
+++ b/packages/core/src/features/helm-releases/showing-details-for-helm-release.test.ts
@@ -15,8 +15,7 @@ import type { RequestHelmReleaseUpdate } from "../../common/k8s-api/endpoints/he
import requestHelmReleaseUpdateInjectable from "../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
import type { RequestDetailedHelmRelease } from "../../renderer/components/helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
import requestDetailedHelmReleaseInjectable from "../../renderer/components/helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
-import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
-import showCheckedErrorInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
+import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import getRandomUpgradeChartTabIdInjectable from "../../renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable";
import type { RequestHelmCharts } from "../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
import type { RequestHelmChartVersions } from "../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
@@ -67,7 +66,7 @@ describe("showing details for helm release", () => {
builder.beforeWindowStart(({ windowDi }) => {
windowDi.override(getRandomUpgradeChartTabIdInjectable, () => () => "some-tab-id");
windowDi.override(showSuccessNotificationInjectable, () => showSuccessNotificationMock);
- windowDi.override(showCheckedErrorInjectable, () => showCheckedErrorNotificationMock);
+ windowDi.override(showCheckedErrorNotificationInjectable, () => showCheckedErrorNotificationMock);
windowDi.override(requestDetailedHelmReleaseInjectable, () => requestDetailedHelmReleaseMock);
windowDi.override(requestHelmReleaseConfigurationInjectable, () => requestHelmReleaseConfigurationMock);
windowDi.override(requestHelmReleaseUpdateInjectable, () => requestHelmReleaseUpdateMock);
diff --git a/packages/core/src/features/pod-logs/download-logs.test.tsx b/packages/core/src/features/pod-logs/download-logs.test.tsx
index 8bc95f78f5..1c1cbee513 100644
--- a/packages/core/src/features/pod-logs/download-logs.test.tsx
+++ b/packages/core/src/features/pod-logs/download-logs.test.tsx
@@ -25,7 +25,7 @@ import reloadLogsInjectable from "../../renderer/components/dock/logs/reload-log
import setLogTabDataInjectable from "../../renderer/components/dock/logs/set-log-tab-data.injectable";
import stopLoadingLogsInjectable from "../../renderer/components/dock/logs/stop-loading-logs.injectable";
import { dockerPod } from "../../renderer/components/dock/logs/__test__/pod.mock";
-import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import type { DiContainer } from "@ogre-tools/injectable";
import type { Container } from "@k8slens/kube-object";
diff --git a/packages/core/src/features/shell-sync/renderer/failure-listener.injectable.ts b/packages/core/src/features/shell-sync/renderer/failure-listener.injectable.ts
index 135143b3a6..adc2a36461 100644
--- a/packages/core/src/features/shell-sync/renderer/failure-listener.injectable.ts
+++ b/packages/core/src/features/shell-sync/renderer/failure-listener.injectable.ts
@@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getMessageChannelListenerInjectable } from "@k8slens/messaging";
-import showErrorNotificationInjectable from "../../../renderer/components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { shellSyncFailedChannel } from "../common/failure-channel";
const shellSyncFailureListenerInjectable = getMessageChannelListenerInjectable({
diff --git a/packages/core/src/main/getDiForUnitTesting.ts b/packages/core/src/main/getDiForUnitTesting.ts
index c2e84847b2..61934d2f78 100644
--- a/packages/core/src/main/getDiForUnitTesting.ts
+++ b/packages/core/src/main/getDiForUnitTesting.ts
@@ -31,6 +31,7 @@ import { messagingFeature, testUtils as messagingTestUtils } from "@k8slens/mess
import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
+import { notificationsFeature } from "@k8slens/notifications";
export function getDiForUnitTesting() {
const environment = "main";
@@ -48,6 +49,7 @@ export function getDiForUnitTesting() {
loggerFeature,
randomFeature,
kubeApiSpecificsFeature,
+ notificationsFeature,
);
});
diff --git a/packages/core/src/renderer/components/add-cluster/add-cluster.tsx b/packages/core/src/renderer/components/add-cluster/add-cluster.tsx
index 073523439e..f7717b4009 100644
--- a/packages/core/src/renderer/components/add-cluster/add-cluster.tsx
+++ b/packages/core/src/renderer/components/add-cluster/add-cluster.tsx
@@ -16,7 +16,7 @@ import { loadConfigFromString, splitConfig } from "../../../common/kube-helpers"
import { docsUrl } from "../../../common/vars";
import { isDefined, iter } from "@k8slens/utilities";
import { Button } from "@k8slens/button";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { SettingLayout } from "../layout/setting-layout";
import { MonacoEditor } from "../monaco-editor";
import { withInjectables } from "@ogre-tools/injectable-react";
@@ -27,8 +27,7 @@ import type { EmitAppEvent } from "../../../common/app-event-bus/emit-event.inje
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import type { GetDirnameOfPath } from "../../../common/path/get-dirname.injectable";
import getDirnameOfPathInjectable from "../../../common/path/get-dirname.injectable";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
interface Option {
config: KubeConfig;
diff --git a/packages/core/src/renderer/components/catalog/catalog.tsx b/packages/core/src/renderer/components/catalog/catalog.tsx
index 6739d3541a..3ee018bd80 100644
--- a/packages/core/src/renderer/components/catalog/catalog.tsx
+++ b/packages/core/src/renderer/components/catalog/catalog.tsx
@@ -14,7 +14,7 @@ import type { CatalogEntityContextMenu } from "../../api/catalog-entity";
import { ItemListLayout } from "../item-object-list";
import { MainLayout } from "../layout/main-layout";
import { MenuActions, MenuItem } from "../menu";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { RenderDelay } from "../render-delay/render-delay";
import { CatalogAddButton } from "./catalog-add-button";
import type { CatalogEntityStore } from "./catalog-entity-store.injectable";
@@ -35,7 +35,7 @@ import normalizeCatalogEntityContextMenuInjectable from "../../catalog/normalize
import type { Navigate } from "../../navigation/navigate.injectable";
import navigateInjectable from "../../navigation/navigate.injectable";
import type { StorageLayer } from "../../utils/storage-helper";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { browseCatalogTab } from "./catalog-browse-tab";
import catalogEntityStoreInjectable from "./catalog-entity-store.injectable";
import catalogPreviousActiveTabStorageInjectable from "./catalog-previous-active-tab-storage/catalog-previous-active-tab-storage.injectable";
diff --git a/packages/core/src/renderer/components/cluster-settings/__tests__/cluster-local-terminal-settings.test.tsx b/packages/core/src/renderer/components/cluster-settings/__tests__/cluster-local-terminal-settings.test.tsx
index 7abaf8ac15..b8bd6a24b2 100644
--- a/packages/core/src/renderer/components/cluster-settings/__tests__/cluster-local-terminal-settings.test.tsx
+++ b/packages/core/src/renderer/components/cluster-settings/__tests__/cluster-local-terminal-settings.test.tsx
@@ -12,7 +12,7 @@ import { Cluster } from "../../../../common/cluster/cluster";
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
import type { DiRender } from "../../test-utils/renderFor";
import { renderFor } from "../../test-utils/renderFor";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import statInjectable from "../../../../common/fs/stat.injectable";
import loadKubeconfigInjectable from "../../../../common/cluster/load-kubeconfig.injectable";
diff --git a/packages/core/src/renderer/components/cluster-settings/icon-settings.tsx b/packages/core/src/renderer/components/cluster-settings/icon-settings.tsx
index a802807c17..2e8050b2c4 100644
--- a/packages/core/src/renderer/components/cluster-settings/icon-settings.tsx
+++ b/packages/core/src/renderer/components/cluster-settings/icon-settings.tsx
@@ -13,8 +13,8 @@ import type { Cluster } from "../../../common/cluster/cluster";
import { Avatar } from "../avatar";
import { FilePicker, OverSizeLimitStyle } from "../file-picker";
import { MenuActions, MenuItem } from "../menu";
-import type { ShowNotification } from "../notifications";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import type { ShowNotification } from "@k8slens/notifications";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { clusterIconSettingsComponentInjectionToken, clusterIconSettingsMenuInjectionToken } from "@k8slens/cluster-settings";
import type { ClusterIconMenuItem, ClusterIconSettingsComponent } from "@k8slens/cluster-settings";
diff --git a/packages/core/src/renderer/components/cluster-settings/local-terminal-settings.tsx b/packages/core/src/renderer/components/cluster-settings/local-terminal-settings.tsx
index 0548a7c3a3..f87b970ea3 100644
--- a/packages/core/src/renderer/components/cluster-settings/local-terminal-settings.tsx
+++ b/packages/core/src/renderer/components/cluster-settings/local-terminal-settings.tsx
@@ -8,10 +8,10 @@ import { observer } from "mobx-react";
import type { Cluster } from "../../../common/cluster/cluster";
import { Input } from "../input";
import { SubTitle } from "../layout/sub-title";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Icon } from "@k8slens/icon";
import { withInjectables } from "@ogre-tools/injectable-react";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import type { ValidateDirectory } from "../../../common/fs/validate-directory.injectable";
import validateDirectoryInjectable from "../../../common/fs/validate-directory.injectable";
import type { ResolveTilde } from "../../../common/path/resolve-tilde.injectable";
diff --git a/packages/core/src/renderer/components/config-maps/config-map-details.tsx b/packages/core/src/renderer/components/config-maps/config-map-details.tsx
index b97738e813..4a215ca829 100644
--- a/packages/core/src/renderer/components/config-maps/config-map-details.tsx
+++ b/packages/core/src/renderer/components/config-maps/config-map-details.tsx
@@ -9,7 +9,7 @@ import React from "react";
import { autorun, makeObservable, observable } from "mobx";
import { disposeOnUnmount, observer } from "mobx-react";
import { DrawerTitle } from "../drawer";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Button } from "@k8slens/button";
import type { KubeObjectDetailsProps } from "../kube-object-details";
import { ConfigMap } from "@k8slens/kube-object";
@@ -17,8 +17,7 @@ import type { Logger } from "@k8slens/logger";
import type { ConfigMapStore } from "./store";
import { withInjectables } from "@ogre-tools/injectable-react";
import configMapStoreInjectable from "./store.injectable";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import { loggerInjectionToken } from "@k8slens/logger";
import { MonacoEditor } from "../monaco-editor";
diff --git a/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx b/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
index ee59ab1ab6..af1794456e 100644
--- a/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/config-resource-quotas/add-dialog/view.tsx
@@ -25,8 +25,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import closeAddQuotaDialogInjectable from "./close.injectable";
import isAddQuotaDialogOpenInjectable from "./is-open.injectable";
import { resourceQuotaApiInjectable } from "@k8slens/kube-api-specifics";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface AddQuotaDialogProps extends DialogProps {
}
diff --git a/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx b/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
index 5ccfcc0c9b..796ab8a350 100644
--- a/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/config-secrets/add-dialog/view.tsx
@@ -28,8 +28,8 @@ import closeAddSecretDialogInjectable from "./close.injectable";
import { secretApiInjectable } from "@k8slens/kube-api-specifics";
import showDetailsInjectable from "../../kube-detail-params/show-details.injectable";
import isAddSecretDialogOpenInjectable from "./is-open.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface AddSecretDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/config-secrets/secret-details.tsx b/packages/core/src/renderer/components/config-secrets/secret-details.tsx
index 398488f65a..9bf44ee3fd 100644
--- a/packages/core/src/renderer/components/config-secrets/secret-details.tsx
+++ b/packages/core/src/renderer/components/config-secrets/secret-details.tsx
@@ -11,7 +11,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
import { DrawerItem, DrawerTitle } from "../drawer";
import { Input } from "../input";
import { Button } from "@k8slens/button";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
import { base64, toggle } from "@k8slens/utilities";
import { Icon } from "@k8slens/icon";
import type { KubeObjectDetailsProps } from "../kube-object-details";
@@ -21,9 +21,7 @@ import type { SecretStore } from "./store";
import { withInjectables } from "@ogre-tools/injectable-react";
import { loggerInjectionToken } from "@k8slens/logger";
import secretStoreInjectable from "./store.injectable";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface SecretDetailsProps extends KubeObjectDetailsProps {
}
diff --git a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog.tsx b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog.tsx
index 17b91bab4d..283bfba011 100644
--- a/packages/core/src/renderer/components/confirm-dialog/confirm-dialog.tsx
+++ b/packages/core/src/renderer/components/confirm-dialog/confirm-dialog.tsx
@@ -16,10 +16,10 @@ import { Button } from "@k8slens/button";
import type { DialogProps } from "../dialog";
import { Dialog } from "../dialog";
import { Icon } from "@k8slens/icon";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { withInjectables } from "@ogre-tools/injectable-react";
import confirmDialogStateInjectable from "./state.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
export interface ConfirmDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/delete-cluster-dialog/view.tsx b/packages/core/src/renderer/components/delete-cluster-dialog/view.tsx
index 0625692777..0afa28449e 100644
--- a/packages/core/src/renderer/components/delete-cluster-dialog/view.tsx
+++ b/packages/core/src/renderer/components/delete-cluster-dialog/view.tsx
@@ -10,7 +10,7 @@ import { observer } from "mobx-react";
import React from "react";
import { Button } from "@k8slens/button";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Dialog } from "../dialog";
import { Icon } from "@k8slens/icon";
import { Select } from "../select";
@@ -26,7 +26,7 @@ import type { RequestDeleteCluster } from "../../../features/cluster/delete-dial
import requestDeleteClusterInjectable from "../../../features/cluster/delete-dialog/renderer/request-delete.injectable";
import type { SaveKubeconfig } from "./save-kubeconfig.injectable";
import saveKubeconfigInjectable from "./save-kubeconfig.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { isCurrentContext } from "./is-current-context";
import type { IsInLocalKubeconfig } from "./is-in-local-kubeconfig.injectable";
import isInLocalKubeconfigInjectable from "./is-in-local-kubeconfig.injectable";
diff --git a/packages/core/src/renderer/components/dialog/logs-dialog.tsx b/packages/core/src/renderer/components/dialog/logs-dialog.tsx
index c3e1ffd55f..06e4922dc4 100644
--- a/packages/core/src/renderer/components/dialog/logs-dialog.tsx
+++ b/packages/core/src/renderer/components/dialog/logs-dialog.tsx
@@ -9,13 +9,13 @@ import React from "react";
import type { DialogProps } from "../dialog";
import { Dialog } from "../dialog";
import { Wizard, WizardStep } from "../wizard";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Button } from "@k8slens/button";
import { Icon } from "@k8slens/icon";
import { clipboard } from "electron";
import { kebabCase } from "lodash/fp";
import { withInjectables } from "@ogre-tools/injectable-react";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
+import { showSuccessNotificationInjectable } from "@k8slens/notifications";
export interface LogsDialogProps extends DialogProps {
title: string;
diff --git a/packages/core/src/renderer/components/dock/create-resource/view.tsx b/packages/core/src/renderer/components/dock/create-resource/view.tsx
index 56f05621fb..5638594b23 100644
--- a/packages/core/src/renderer/components/dock/create-resource/view.tsx
+++ b/packages/core/src/renderer/components/dock/create-resource/view.tsx
@@ -13,7 +13,7 @@ import { observer } from "mobx-react";
import type { CreateResourceTabStore } from "./store";
import { EditorPanel } from "../editor-panel";
import { InfoPanel } from "../info-panel";
-import type { ShowNotification } from "../../notifications";
+import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
import type { Logger } from "@k8slens/logger";
import type { ApiManager } from "../../../../common/k8s-api/api-manager";
import { isObject, prevDefault } from "@k8slens/utilities";
@@ -30,9 +30,7 @@ import navigateInjectable from "../../../navigation/navigate.injectable";
import type { RequestKubeObjectCreation } from "../../../../common/k8s-api/endpoints/resource-applier.api/request-update.injectable";
import requestKubeObjectCreationInjectable from "../../../../common/k8s-api/endpoints/resource-applier.api/request-update.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showSuccessNotificationInjectable from "../../notifications/show-success-notification.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface CreateResourceProps {
tabId: string;
diff --git a/packages/core/src/renderer/components/dock/edit-resource/edit-resource-model/edit-resource-model.injectable.tsx b/packages/core/src/renderer/components/dock/edit-resource/edit-resource-model/edit-resource-model.injectable.tsx
index 1671247eb8..f3e8129348 100644
--- a/packages/core/src/renderer/components/dock/edit-resource/edit-resource-model/edit-resource-model.injectable.tsx
+++ b/packages/core/src/renderer/components/dock/edit-resource/edit-resource-model/edit-resource-model.injectable.tsx
@@ -15,10 +15,9 @@ import assert from "assert";
import type { RequestPatchKubeResource } from "./request-patch-kube-resource.injectable";
import requestPatchKubeResourceInjectable from "./request-patch-kube-resource.injectable";
import { createPatch } from "rfc6902";
-import type { ShowNotification } from "../../../notifications";
-import showSuccessNotificationInjectable from "../../../notifications/show-success-notification.injectable";
+import type { ShowNotification } from "@k8slens/notifications";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import React from "react";
-import showErrorNotificationInjectable from "../../../notifications/show-error-notification.injectable";
import { createKubeApiURL, parseKubeApi } from "@k8slens/kube-api";
const editResourceModelInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/dock/info-panel.tsx b/packages/core/src/renderer/components/dock/info-panel.tsx
index 0a878e6ea3..f1be17d990 100644
--- a/packages/core/src/renderer/components/dock/info-panel.tsx
+++ b/packages/core/src/renderer/components/dock/info-panel.tsx
@@ -14,12 +14,10 @@ import { Button } from "@k8slens/button";
import { Icon } from "@k8slens/icon";
import { Spinner } from "../spinner";
import type { DockStore, TabId } from "./dock/store";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
import { withInjectables } from "@ogre-tools/injectable-react";
import dockStoreInjectable from "./dock/store.injectable";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface InfoPanelProps extends OptionalProps {
tabId: TabId;
diff --git a/packages/core/src/renderer/components/dock/logs/download-all-logs.injectable.ts b/packages/core/src/renderer/components/dock/logs/download-all-logs.injectable.ts
index 1b9f87f1cf..5b2c8485a9 100644
--- a/packages/core/src/renderer/components/dock/logs/download-all-logs.injectable.ts
+++ b/packages/core/src/renderer/components/dock/logs/download-all-logs.injectable.ts
@@ -7,7 +7,7 @@ import type { PodLogsQuery } from "@k8slens/kube-object";
import type { ResourceDescriptor } from "@k8slens/kube-api";
import { loggerInjectionToken } from "@k8slens/logger";
import openSaveFileDialogInjectable from "../../../utils/save-file.injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import callForLogsInjectable from "./call-for-logs.injectable";
const downloadAllLogsInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/dock/terminal/send-command.injectable.ts b/packages/core/src/renderer/components/dock/terminal/send-command.injectable.ts
index 835a917638..807ecb034d 100644
--- a/packages/core/src/renderer/components/dock/terminal/send-command.injectable.ts
+++ b/packages/core/src/renderer/components/dock/terminal/send-command.injectable.ts
@@ -7,7 +7,7 @@ import { when } from "mobx";
import { loggerInjectionToken } from "@k8slens/logger";
import { TerminalChannels } from "../../../../common/terminal/channels";
import { waitUntilDefined, noop } from "@k8slens/utilities";
-import showSuccessNotificationInjectable from "../../notifications/show-success-notification.injectable";
+import { showSuccessNotificationInjectable } from "@k8slens/notifications";
import selectDockTabInjectable from "../dock/select-dock-tab.injectable";
import type { TabId } from "../dock/store";
import createTerminalTabInjectable from "./create-terminal-tab.injectable";
diff --git a/packages/core/src/renderer/components/extensions/attempt-install-by-info.injectable.tsx b/packages/core/src/renderer/components/extensions/attempt-install-by-info.injectable.tsx
index 4c9dc6b94a..c2c8b64a96 100644
--- a/packages/core/src/renderer/components/extensions/attempt-install-by-info.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/attempt-install-by-info.injectable.tsx
@@ -17,7 +17,7 @@ import { withTimeout } from "../../../common/fetch/timeout-controller";
import downloadBinaryInjectable from "../../../common/fetch/download-binary.injectable";
import downloadJsonInjectable from "../../../common/fetch/download-json/normal.injectable";
import type { PackageJson } from "type-fest";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { loggerInjectionToken } from "@k8slens/logger";
export interface ExtensionInfo {
diff --git a/packages/core/src/renderer/components/extensions/attempt-install/attempt-install.injectable.tsx b/packages/core/src/renderer/components/extensions/attempt-install/attempt-install.injectable.tsx
index 3ea0002af9..bc11a10f27 100644
--- a/packages/core/src/renderer/components/extensions/attempt-install/attempt-install.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/attempt-install/attempt-install.injectable.tsx
@@ -14,7 +14,7 @@ import createTempFilesAndValidateInjectable from "./create-temp-files-and-valida
import extensionInstallationStateStoreInjectable from "../../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable";
import type { Disposer } from "@k8slens/utilities";
import { disposer } from "@k8slens/utilities";
-import type { ShowNotification } from "../../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Button } from "@k8slens/button";
import type { ExtensionLoader } from "../../../../extensions/extension-loader";
import React from "react";
@@ -22,8 +22,7 @@ import { remove as removeDir } from "fs-extra";
import { shell } from "electron";
import type { ExtensionInstallationStateStore } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
import { ExtensionInstallationState } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
-import showInfoNotificationInjectable from "../../notifications/show-info-notification.injectable";
+import { showErrorNotificationInjectable, showInfoNotificationInjectable } from "@k8slens/notifications";
import type { LensExtensionId } from "@k8slens/legacy-extensions";
export interface InstallRequest {
diff --git a/packages/core/src/renderer/components/extensions/attempt-install/create-temp-files-and-validate.injectable.tsx b/packages/core/src/renderer/components/extensions/attempt-install/create-temp-files-and-validate.injectable.tsx
index a726f435eb..e249cbf5b9 100644
--- a/packages/core/src/renderer/components/extensions/attempt-install/create-temp-files-and-validate.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/attempt-install/create-temp-files-and-validate.injectable.tsx
@@ -12,7 +12,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
import writeFileInjectable from "../../../../common/fs/write-file.injectable";
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
import tempDirectoryPathInjectable from "../../../../common/os/temp-directory-path.injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import type { LensExtensionId, LensExtensionManifest } from "@k8slens/legacy-extensions";
export interface InstallRequestValidated {
diff --git a/packages/core/src/renderer/components/extensions/attempt-install/unpack-extension.injectable.tsx b/packages/core/src/renderer/components/extensions/attempt-install/unpack-extension.injectable.tsx
index 89305f776f..fcdd351ef0 100644
--- a/packages/core/src/renderer/components/extensions/attempt-install/unpack-extension.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/attempt-install/unpack-extension.injectable.tsx
@@ -17,8 +17,7 @@ import React from "react";
import type { InstallRequestValidated } from "./create-temp-files-and-validate.injectable";
import extractTarInjectable from "../../../../common/fs/extract-tar.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import showInfoNotificationInjectable from "../../notifications/show-info-notification.injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showInfoNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
export type UnpackExtension = (request: InstallRequestValidated, disposeDownloading?: Disposer) => Promise;
diff --git a/packages/core/src/renderer/components/extensions/get-base-registry-url/get-base-registry-url.injectable.tsx b/packages/core/src/renderer/components/extensions/get-base-registry-url/get-base-registry-url.injectable.tsx
index e9d5b1cf1a..2a9e743131 100644
--- a/packages/core/src/renderer/components/extensions/get-base-registry-url/get-base-registry-url.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/get-base-registry-url/get-base-registry-url.injectable.tsx
@@ -9,7 +9,7 @@ import execFileInjectable from "../../../../common/fs/exec-file.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
import { defaultExtensionRegistryUrl } from "../../../../features/user-preferences/common/preferences-helpers";
import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
const getBaseRegistryUrlInjectable = getInjectable({
id: "get-base-registry-url",
diff --git a/packages/core/src/renderer/components/extensions/install-extension-from-input.injectable.tsx b/packages/core/src/renderer/components/extensions/install-extension-from-input.injectable.tsx
index c0cc10bb94..dc976e6c4e 100644
--- a/packages/core/src/renderer/components/extensions/install-extension-from-input.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/install-extension-from-input.injectable.tsx
@@ -12,7 +12,7 @@ import attemptInstallByInfoInjectable from "./attempt-install-by-info.injectable
import extensionInstallationStateStoreInjectable from "../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable";
import readFileNotifyInjectable from "./read-file-notify/read-file-notify.injectable";
import getBasenameOfPathInjectable from "../../../common/path/get-basename.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { loggerInjectionToken } from "@k8slens/logger";
import downloadBinaryInjectable from "../../../common/fetch/download-binary.injectable";
import { withTimeout } from "../../../common/fetch/timeout-controller";
diff --git a/packages/core/src/renderer/components/extensions/read-file-notify/read-file-notify.injectable.ts b/packages/core/src/renderer/components/extensions/read-file-notify/read-file-notify.injectable.ts
index ad04713106..3ddb4face6 100644
--- a/packages/core/src/renderer/components/extensions/read-file-notify/read-file-notify.injectable.ts
+++ b/packages/core/src/renderer/components/extensions/read-file-notify/read-file-notify.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getMessageFromError } from "../get-message-from-error/get-message-from-error";
import { getInjectable } from "@ogre-tools/injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import { loggerInjectionToken } from "@k8slens/logger";
import readFileBufferInjectable from "../../../../common/fs/read-file-buffer.injectable";
diff --git a/packages/core/src/renderer/components/extensions/uninstall-extension.injectable.tsx b/packages/core/src/renderer/components/extensions/uninstall-extension.injectable.tsx
index 132e13d46c..254a7611b6 100644
--- a/packages/core/src/renderer/components/extensions/uninstall-extension.injectable.tsx
+++ b/packages/core/src/renderer/components/extensions/uninstall-extension.injectable.tsx
@@ -12,8 +12,7 @@ import { extensionDisplayName } from "../../../extensions/lens-extension";
import React from "react";
import { when } from "mobx";
import { getMessageFromError } from "./get-message-from-error/get-message-from-error";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
const uninstallExtensionInjectable = getInjectable({
id: "uninstall-extension",
diff --git a/packages/core/src/renderer/components/helm-releases/dialog/dialog.tsx b/packages/core/src/renderer/components/helm-releases/dialog/dialog.tsx
index 55292b5ef9..ef8795793d 100644
--- a/packages/core/src/renderer/components/helm-releases/dialog/dialog.tsx
+++ b/packages/core/src/renderer/components/helm-releases/dialog/dialog.tsx
@@ -21,8 +21,8 @@ import type { RollbackRelease } from "../rollback-release/rollback-release.injec
import rollbackReleaseInjectable from "../rollback-release/rollback-release.injectable";
import type { HelmReleaseRevision, RequestHelmReleaseHistory } from "../../../../common/k8s-api/endpoints/helm-releases.api/request-history.injectable";
import requestHelmReleaseHistoryInjectable from "../../../../common/k8s-api/endpoints/helm-releases.api/request-history.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface ReleaseRollbackDialogProps extends DialogProps {
}
diff --git a/packages/core/src/renderer/components/helm-releases/release-details/release-details-model/release-details-model.injectable.tsx b/packages/core/src/renderer/components/helm-releases/release-details/release-details-model/release-details-model.injectable.tsx
index 728ad4bbcb..016f9faa2c 100644
--- a/packages/core/src/renderer/components/helm-releases/release-details/release-details-model/release-details-model.injectable.tsx
+++ b/packages/core/src/renderer/components/helm-releases/release-details/release-details-model/release-details-model.injectable.tsx
@@ -18,10 +18,8 @@ import type { GetResourceDetailsUrl } from "./get-resource-details-url.injectabl
import getResourceDetailsUrlInjectable from "./get-resource-details-url.injectable";
import type { RequestHelmReleaseUpdate } from "../../../../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
import updateReleaseInjectable from "../../update-release/update-release.injectable";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
-import type { ShowNotification } from "../../../notifications";
-import showSuccessNotificationInjectable from "../../../notifications/show-success-notification.injectable";
+import type { ShowCheckedErrorNotification, ShowNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
import React from "react";
import createUpgradeChartTabInjectable from "../../../dock/upgrade-chart/create-upgrade-chart-tab.injectable";
import type { HelmRelease } from "../../../../../common/k8s-api/endpoints/helm-releases.api";
diff --git a/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx b/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx
index 2e2956ab27..bfb7a355b9 100644
--- a/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx
+++ b/packages/core/src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx
@@ -13,12 +13,12 @@ import { Button } from "@k8slens/button";
import type { DialogProps } from "../dialog";
import { Dialog } from "../dialog";
import { Icon } from "@k8slens/icon";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Wizard, WizardStep } from "../wizard";
import { MonacoEditor } from "../monaco-editor";
import { clipboard } from "electron";
import { withInjectables } from "@ogre-tools/injectable-react";
-import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
+import { showSuccessNotificationInjectable } from "@k8slens/notifications";
import kubeconfigDialogStateInjectable from "./state.injectable";
import { saveFileDialog } from "../../utils/saveFile";
diff --git a/packages/core/src/renderer/components/kubeconfig-dialog/open.injectable.ts b/packages/core/src/renderer/components/kubeconfig-dialog/open.injectable.ts
index f8b49428b4..4e4ea159bc 100644
--- a/packages/core/src/renderer/components/kubeconfig-dialog/open.injectable.ts
+++ b/packages/core/src/renderer/components/kubeconfig-dialog/open.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import kubeconfigDialogStateInjectable from "./state.injectable";
import type { StrictReactNode } from "@k8slens/utilities";
diff --git a/packages/core/src/renderer/components/namespaces/add-dialog/dialog.tsx b/packages/core/src/renderer/components/namespaces/add-dialog/dialog.tsx
index 8d50983359..32f3adf92a 100644
--- a/packages/core/src/renderer/components/namespaces/add-dialog/dialog.tsx
+++ b/packages/core/src/renderer/components/namespaces/add-dialog/dialog.tsx
@@ -20,8 +20,8 @@ import namespaceStoreInjectable from "../store.injectable";
import addNamespaceDialogStateInjectable
from "./state.injectable";
import type { NamespaceStore } from "../store";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import autoBindReact from "auto-bind/react";
export interface AddNamespaceDialogProps extends DialogProps {
diff --git a/packages/core/src/renderer/components/network-port-forwards/port-forward-menu.tsx b/packages/core/src/renderer/components/network-port-forwards/port-forward-menu.tsx
index 3e4fb7f298..f72a345ee1 100644
--- a/packages/core/src/renderer/components/network-port-forwards/port-forward-menu.tsx
+++ b/packages/core/src/renderer/components/network-port-forwards/port-forward-menu.tsx
@@ -10,13 +10,13 @@ import type { MenuActionsProps } from "../menu/menu-actions";
import { MenuActions } from "../menu/menu-actions";
import { MenuItem } from "../menu";
import { Icon } from "@k8slens/icon";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { withInjectables } from "@ogre-tools/injectable-react";
import portForwardDialogModelInjectable from "../../port-forward/port-forward-dialog-model/port-forward-dialog-model.injectable";
import portForwardStoreInjectable from "../../port-forward/port-forward-store/port-forward-store.injectable";
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import autoBindReact from "auto-bind/react";
export interface PortForwardMenuProps extends MenuActionsProps {
diff --git a/packages/core/src/renderer/components/network-services/service-port-component.tsx b/packages/core/src/renderer/components/network-services/service-port-component.tsx
index df00267eaa..8455fbe34e 100644
--- a/packages/core/src/renderer/components/network-services/service-port-component.tsx
+++ b/packages/core/src/renderer/components/network-services/service-port-component.tsx
@@ -10,7 +10,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
import type { Service, ServicePort } from "@k8slens/kube-object";
import { action, makeObservable, observable, reaction } from "mobx";
import { cssNames } from "@k8slens/utilities";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Button } from "@k8slens/button";
import type { ForwardedPort, PortForwardStore } from "../../port-forward";
import { predictProtocol } from "../../port-forward";
@@ -24,7 +24,7 @@ import notifyErrorPortForwardingInjectable from "../../port-forward/notify-error
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
export interface ServicePortComponentProps {
service: Service;
diff --git a/packages/core/src/renderer/components/notifications/index.ts b/packages/core/src/renderer/components/notifications/index.ts
deleted file mode 100644
index 9ae9345244..0000000000
--- a/packages/core/src/renderer/components/notifications/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Copyright (c) OpenLens Authors. All rights reserved.
- * Licensed under MIT License. See LICENSE in root directory for more information.
- */
-
-export * from "./notifications";
-export * from "./notifications.store";
diff --git a/packages/core/src/renderer/components/user-management/cluster-role-bindings/dialog/view.tsx b/packages/core/src/renderer/components/user-management/cluster-role-bindings/dialog/view.tsx
index c65b0adda0..4316d0c606 100644
--- a/packages/core/src/renderer/components/user-management/cluster-role-bindings/dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/cluster-role-bindings/dialog/view.tsx
@@ -37,8 +37,8 @@ import type { ShowDetails } from "../../../kube-detail-params/show-details.injec
import type { ClusterRoleBindingStore } from "../store";
import clusterRoleBindingStoreInjectable from "../store.injectable";
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface ClusterRoleBindingDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/user-management/cluster-roles/add-dialog/view.tsx b/packages/core/src/renderer/components/user-management/cluster-roles/add-dialog/view.tsx
index 402be32434..47bf807644 100644
--- a/packages/core/src/renderer/components/user-management/cluster-roles/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/cluster-roles/add-dialog/view.tsx
@@ -20,8 +20,8 @@ import closeAddClusterRoleDialogInjectable from "./close.injectable";
import clusterRoleStoreInjectable from "../store.injectable";
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
import addClusterRoleDialogStateInjectable from "./state.injectable";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface AddClusterRoleDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx b/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
index 8a8ca2597e..6650c43eac 100644
--- a/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/role-bindings/dialog/view.tsx
@@ -36,8 +36,8 @@ import clusterRoleStoreInjectable from "../../cluster-roles/store.injectable";
import roleStoreInjectable from "../../roles/store.injectable";
import serviceAccountStoreInjectable from "../../service-accounts/store.injectable";
import { roleApiInjectable } from "@k8slens/kube-api-specifics";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { RoleApi } from "@k8slens/kube-api";
export interface RoleBindingDialogProps extends Partial {
diff --git a/packages/core/src/renderer/components/user-management/roles/add-dialog/view.tsx b/packages/core/src/renderer/components/user-management/roles/add-dialog/view.tsx
index b688ec3717..86e415fb1e 100644
--- a/packages/core/src/renderer/components/user-management/roles/add-dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/roles/add-dialog/view.tsx
@@ -22,8 +22,8 @@ import closeAddRoleDialogInjectable from "./close.injectable";
import roleStoreInjectable from "../store.injectable";
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
import addRoleDialogStateInjectable from "./state.injectable";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface AddRoleDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/user-management/service-accounts/create-dialog/view.tsx b/packages/core/src/renderer/components/user-management/service-accounts/create-dialog/view.tsx
index 483043571b..02e270b1d0 100644
--- a/packages/core/src/renderer/components/user-management/service-accounts/create-dialog/view.tsx
+++ b/packages/core/src/renderer/components/user-management/service-accounts/create-dialog/view.tsx
@@ -23,8 +23,8 @@ import closeCreateServiceAccountDialogInjectable from "./close.injectable";
import serviceAccountStoreInjectable from "../store.injectable";
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
import createServiceAccountDialogStateInjectable from "./state.injectable";
-import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
export interface CreateServiceAccountDialogProps extends Partial {
}
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
index dc17e2976c..3f14a29d6d 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-cronjobs/cron-job-menu.tsx
@@ -13,8 +13,8 @@ import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
import type { OpenCronJobTriggerDialog } from "./trigger-dialog/open.injectable";
import openCronJobTriggerDialogInjectable from "./trigger-dialog/open.injectable";
import { cronJobApiInjectable } from "@k8slens/kube-api-specifics";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { CronJobApi } from "@k8slens/kube-api";
export interface CronJobMenuProps extends KubeObjectMenuProps {}
diff --git a/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx b/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
index 0f3ad0cf9d..255b7dcf1d 100644
--- a/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
+++ b/packages/core/src/renderer/components/workloads-cronjobs/trigger-dialog/view.tsx
@@ -13,7 +13,7 @@ import type { DialogProps } from "../../dialog";
import { Dialog } from "../../dialog";
import { Wizard, WizardStep } from "../../wizard";
import type { CronJob } from "@k8slens/kube-object";
-import type { ShowNotification } from "../../notifications";
+import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
import { cssNames } from "@k8slens/utilities";
import { Input } from "../../input";
import { systemName, maxLength } from "../../input/input_validators";
@@ -21,9 +21,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import closeCronJobTriggerDialogInjectable from "./close.injectable";
import { jobApiInjectable } from "@k8slens/kube-api-specifics";
import cronJobTriggerDialogStateInjectable from "./state.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
-import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
+import { showCheckedErrorNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
import type { JobApi } from "@k8slens/kube-api";
export interface CronJobTriggerDialogProps extends Partial {
diff --git a/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx b/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
index e2fb983589..b6cc4906f0 100644
--- a/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-daemonsets/daemonset-menu.tsx
@@ -11,8 +11,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import { daemonSetApiInjectable } from "@k8slens/kube-api-specifics";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { DaemonSetApi } from "@k8slens/kube-api";
export interface DaemonSetMenuProps extends KubeObjectMenuProps {}
diff --git a/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx b/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
index fe0a5450f5..aa85aa4961 100644
--- a/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-deployments/deployment-menu.tsx
@@ -13,8 +13,8 @@ import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import openDeploymentScaleDialogInjectable from "./scale/open.injectable";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { DeploymentApi } from "@k8slens/kube-api";
export interface DeploymentMenuProps extends KubeObjectMenuProps {}
diff --git a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
index 7f2f71245b..1915acea4a 100644
--- a/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-deployments/scale/dialog.tsx
@@ -19,8 +19,8 @@ import { cssNames } from "@k8slens/utilities";
import { withInjectables } from "@ogre-tools/injectable-react";
import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
import deploymentScaleDialogStateInjectable from "./dialog-state.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { DeploymentApi } from "@k8slens/kube-api";
export interface DeploymentScaleDialogProps extends Partial {
diff --git a/packages/core/src/renderer/components/workloads-pods/load-pods-from-all-namespaces.injectable.ts b/packages/core/src/renderer/components/workloads-pods/load-pods-from-all-namespaces.injectable.ts
index de5b22a2fd..4ffd45f0c0 100644
--- a/packages/core/src/renderer/components/workloads-pods/load-pods-from-all-namespaces.injectable.ts
+++ b/packages/core/src/renderer/components/workloads-pods/load-pods-from-all-namespaces.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import podStoreInjectable from "./store.injectable";
const loadPodsFromAllNamespacesInjectable = getInjectable({
diff --git a/packages/core/src/renderer/components/workloads-pods/pod-container-port.tsx b/packages/core/src/renderer/components/workloads-pods/pod-container-port.tsx
index 1e82342633..b2d35718d5 100644
--- a/packages/core/src/renderer/components/workloads-pods/pod-container-port.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/pod-container-port.tsx
@@ -10,7 +10,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
import type { ContainerPort, Pod } from "@k8slens/kube-object";
import { action, makeObservable, observable, reaction } from "mobx";
import { cssNames } from "@k8slens/utilities";
-import type { ShowNotification } from "../notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Button } from "@k8slens/button";
import type { ForwardedPort, PortForwardStore } from "../../port-forward";
import { predictProtocol } from "../../port-forward";
@@ -24,7 +24,7 @@ import notifyErrorPortForwardingInjectable from "../../port-forward/notify-error
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
export interface PodContainerPortProps {
pod: Pod;
diff --git a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
index fd1d4cad44..7f0999c845 100644
--- a/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-replicasets/scale-dialog/dialog.tsx
@@ -19,8 +19,8 @@ import type { ReplicaSet } from "@k8slens/kube-object";
import { withInjectables } from "@ogre-tools/injectable-react";
import { replicaSetApiInjectable } from "@k8slens/kube-api-specifics";
import replicaSetScaleDialogStateInjectable from "./state.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { ReplicaSetApi } from "@k8slens/kube-api";
export interface ReplicaSetScaleDialogProps extends Partial {
diff --git a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
index d706e1fa94..3641248d69 100644
--- a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
+++ b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx
@@ -13,8 +13,8 @@ import { Badge } from "../badge";
import type { KubeObjectDetailsProps } from "../kube-object-details";
import type { ReplicationController } from "@k8slens/kube-object";
import { replicationControllerApiInjectable } from "@k8slens/kube-api-specifics";
-import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
-import type { ShowNotification } from "../notifications";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { Slider } from "../slider";
import type { ReplicationControllerApi } from "@k8slens/kube-api";
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
index 5159fa5146..b6206071db 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
+++ b/packages/core/src/renderer/components/workloads-statefulsets/scale/dialog.tsx
@@ -19,8 +19,8 @@ import { cssNames } from "@k8slens/utilities";
import { withInjectables } from "@ogre-tools/injectable-react";
import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
import statefulSetDialogStateInjectable from "./dialog-state.injectable";
-import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { StatefulSetApi } from "@k8slens/kube-api";
export interface StatefulSetScaleDialogProps extends Partial {
diff --git a/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx b/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
index 0ddf45bfb2..7db7c9def4 100644
--- a/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
+++ b/packages/core/src/renderer/components/workloads-statefulsets/statefulset-menu.tsx
@@ -11,8 +11,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
-import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
-import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
+import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
+import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
import type { StatefulSetApi } from "@k8slens/kube-api";
export interface StatefulSetMenuProps extends KubeObjectMenuProps {}
diff --git a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts
index a8f15ca3d7..3913b33241 100644
--- a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts
+++ b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts
@@ -11,7 +11,7 @@ import assert from "assert";
import emitAppEventInjectable from "../../../../common/app-event-bus/emit-event.injectable";
import loadExtensionsInjectable from "../../load-extensions.injectable";
import { loggerInjectionToken } from "@k8slens/logger";
-import showErrorNotificationInjectable from "../../../components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
const initClusterFrameInjectable = getInjectable({
id: "init-cluster-frame",
diff --git a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts
index acc2868c50..1d59134bb4 100644
--- a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts
+++ b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts
@@ -4,7 +4,7 @@
*/
import type { Cluster } from "../../../../common/cluster/cluster";
import type { CatalogEntityRegistry } from "../../../api/catalog/entity/registry";
-import type { ShowNotification } from "../../../components/notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import { when } from "mobx";
import { requestSetClusterFrameId } from "../../../ipc";
import type { EmitAppEvent } from "../../../../common/app-event-bus/emit-event.injectable";
diff --git a/packages/core/src/renderer/getDiForUnitTesting.tsx b/packages/core/src/renderer/getDiForUnitTesting.tsx
index 6a2c54adb7..45fc10cfc6 100644
--- a/packages/core/src/renderer/getDiForUnitTesting.tsx
+++ b/packages/core/src/renderer/getDiForUnitTesting.tsx
@@ -24,6 +24,7 @@ import { loggerFeature } from "@k8slens/logger";
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
+import { notificationsFeature } from "@k8slens/notifications";
export const getDiForUnitTesting = () => {
const environment = "renderer";
@@ -45,6 +46,7 @@ export const getDiForUnitTesting = () => {
clusterSidebarFeature,
randomFeature,
kubeApiSpecificsFeature,
+ notificationsFeature,
);
});
diff --git a/packages/core/src/renderer/initializers/add-sync-entries.injectable.tsx b/packages/core/src/renderer/initializers/add-sync-entries.injectable.tsx
index 5d42d0e496..025c2bf679 100644
--- a/packages/core/src/renderer/initializers/add-sync-entries.injectable.tsx
+++ b/packages/core/src/renderer/initializers/add-sync-entries.injectable.tsx
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import React from "react";
import navigateToKubernetesPreferencesInjectable from "../../features/preferences/common/navigate-to-kubernetes-preferences.injectable";
import { runInAction } from "mobx";
-import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
+import { showSuccessNotificationInjectable } from "@k8slens/notifications";
import userPreferencesStateInjectable from "../../features/user-preferences/common/state.injectable";
const addSyncEntriesInjectable = getInjectable({
diff --git a/packages/core/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx b/packages/core/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx
index 7b1e4303a7..8e21d5a4d0 100644
--- a/packages/core/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx
+++ b/packages/core/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx
@@ -8,9 +8,8 @@ import type { ListNamespaceForbiddenArgs } from "../../common/ipc/cluster";
import { Button } from "@k8slens/button";
import type { IpcRendererEvent } from "electron";
import React from "react";
-import notificationsStoreInjectable from "../components/notifications/notifications-store.injectable";
+import { notificationsStoreInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
import { getMillisecondsFromUnixEpoch } from "../../common/utils/date/get-current-date-time";
-import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
import getClusterByIdInjectable from "../../features/cluster/storage/common/get-by-id.injectable";
const intervalBetweenNotifications = 1000 * 60; // 60s
diff --git a/packages/core/src/renderer/ipc/register-ipc-listeners.injectable.ts b/packages/core/src/renderer/ipc/register-ipc-listeners.injectable.ts
index 0a80abb9e6..5af8fbb50e 100644
--- a/packages/core/src/renderer/ipc/register-ipc-listeners.injectable.ts
+++ b/packages/core/src/renderer/ipc/register-ipc-listeners.injectable.ts
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { defaultHotbarCells } from "../../features/hotbar/storage/common/types";
import { clusterListNamespaceForbiddenChannel } from "../../common/ipc/cluster";
import { hotbarTooManyItemsChannel } from "../../common/ipc/hotbar";
-import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import ipcRendererInjectable from "../utils/channel/ipc-renderer.injectable";
import listNamespacesForbiddenHandlerInjectable from "./list-namespaces-forbidden-handler.injectable";
diff --git a/packages/core/src/renderer/k8s/api-kube.injectable.ts b/packages/core/src/renderer/k8s/api-kube.injectable.ts
index 68b62578b5..57314d03f7 100644
--- a/packages/core/src/renderer/k8s/api-kube.injectable.ts
+++ b/packages/core/src/renderer/k8s/api-kube.injectable.ts
@@ -9,7 +9,7 @@ import { apiKubeInjectionToken } from "@k8slens/kube-api";
import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
import createKubeJsonApiInjectable from "../../common/k8s-api/create-kube-json-api.injectable";
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
-import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import windowLocationInjectable from "../../common/k8s-api/window-location.injectable";
import { apiBaseServerAddressInjectionToken } from "../../common/k8s-api/api-base-configs";
diff --git a/packages/core/src/renderer/port-forward/about-port-forwarding.injectable.tsx b/packages/core/src/renderer/port-forward/about-port-forwarding.injectable.tsx
index f174f9019d..f365565ff2 100644
--- a/packages/core/src/renderer/port-forward/about-port-forwarding.injectable.tsx
+++ b/packages/core/src/renderer/port-forward/about-port-forwarding.injectable.tsx
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import React from "react";
import navigateToPortForwardsInjectable from "../../common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable";
import { Button } from "@k8slens/button";
-import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
+import { showSuccessNotificationInjectable } from "@k8slens/notifications";
const aboutPortForwardingInjectable = getInjectable({
id: "about-port-forwarding",
diff --git a/packages/core/src/renderer/port-forward/notify-error-port-forwarding.injectable.tsx b/packages/core/src/renderer/port-forward/notify-error-port-forwarding.injectable.tsx
index edd8357be7..16466c7d70 100644
--- a/packages/core/src/renderer/port-forward/notify-error-port-forwarding.injectable.tsx
+++ b/packages/core/src/renderer/port-forward/notify-error-port-forwarding.injectable.tsx
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import navigateToPortForwardsInjectable from "../../common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable";
-import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import React from "react";
import { Button } from "@k8slens/button";
diff --git a/packages/core/src/renderer/port-forward/open-port-forward.injectable.ts b/packages/core/src/renderer/port-forward/open-port-forward.injectable.ts
index 812eb091ed..a1aaf1b001 100644
--- a/packages/core/src/renderer/port-forward/open-port-forward.injectable.ts
+++ b/packages/core/src/renderer/port-forward/open-port-forward.injectable.ts
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { loggerInjectionToken } from "@k8slens/logger";
import openLinkInBrowserInjectable from "../../common/utils/open-link-in-browser.injectable";
-import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "@k8slens/notifications";
import type { ForwardedPort } from "./port-forward-item";
import { portForwardAddress } from "./port-forward-utils";
diff --git a/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable.ts b/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable.ts
index 146b96be91..a04e26c0e9 100644
--- a/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable.ts
+++ b/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable.ts
@@ -13,7 +13,7 @@ import navigateToEntitySettingsInjectable from "../../../common/front-end-routin
import navigateToClusterViewInjectable from "../../../common/front-end-routing/routes/cluster-view/navigate-to-cluster-view.injectable";
import catalogEntityRegistryInjectable from "../../api/catalog/entity/registry.injectable";
import navigateToPreferencesInjectable from "../../../features/preferences/common/navigate-to-preferences.injectable";
-import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
+import { showShortInfoNotificationInjectable } from "@k8slens/notifications";
import getClusterByIdInjectable from "../../../features/cluster/storage/common/get-by-id.injectable";
const bindProtocolAddRouteHandlersInjectable = getInjectable({
diff --git a/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.tsx b/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.tsx
index eee3a0d371..5473f6855b 100644
--- a/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.tsx
+++ b/packages/core/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.tsx
@@ -11,7 +11,7 @@ import {
EXTENSION_PUBLISHER_MATCH,
LensProtocolRouter,
} from "../../../common/protocol-handler";
-import type { ShowNotification } from "../../components/notifications";
+import type { ShowNotification } from "@k8slens/notifications";
import type { NavigateToCatalog } from "../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable";
import type { NavigateToEntitySettings } from "../../../common/front-end-routing/routes/entity-settings/navigate-to-entity-settings.injectable";
import type { NavigateToClusterView } from "../../../common/front-end-routing/routes/cluster-view/navigate-to-cluster-view.injectable";
diff --git a/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable.ts b/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable.ts
index a21e68328a..c4b9c972f2 100644
--- a/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable.ts
+++ b/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable.ts
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable";
import { LensProtocolRouterRenderer } from "./lens-protocol-router-renderer";
import { loggerInjectionToken } from "@k8slens/logger";
-import showErrorNotificationInjectable from "../../components/notifications/show-error-notification.injectable";
-import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
+import { showErrorNotificationInjectable, showShortInfoNotificationInjectable } from "@k8slens/notifications";
import isExtensionEnabledInjectable from "../../../features/extensions/enabled/common/is-enabled.injectable";
const lensProtocolRouterRendererInjectable = getInjectable({
diff --git a/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.tsx b/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.tsx
index 3c9959aa87..b22084fa8e 100644
--- a/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.tsx
+++ b/packages/core/src/renderer/protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.tsx
@@ -9,7 +9,7 @@ import * as proto from "../../../common/protocol-handler";
import Url from "url-parse";
import type { LensProtocolRouterDependencies } from "../../../common/protocol-handler";
import { foldAttemptResults, ProtocolHandlerInvalid, RouteAttempt } from "../../../common/protocol-handler";
-import type { ShowNotification } from "../../components/notifications";
+import type { ShowNotification } from "@k8slens/notifications";
interface Dependencies extends LensProtocolRouterDependencies {
showShortInfoNotification: ShowNotification;
diff --git a/packages/ui-components/notifications/.eslintrc.json b/packages/ui-components/notifications/.eslintrc.json
new file mode 100644
index 0000000000..b15115cb69
--- /dev/null
+++ b/packages/ui-components/notifications/.eslintrc.json
@@ -0,0 +1,6 @@
+{
+ "extends": "@k8slens/eslint-config/eslint",
+ "parserOptions": {
+ "project": "./tsconfig.json"
+ }
+}
diff --git a/packages/ui-components/notifications/.prettierrc b/packages/ui-components/notifications/.prettierrc
new file mode 100644
index 0000000000..edd47b479e
--- /dev/null
+++ b/packages/ui-components/notifications/.prettierrc
@@ -0,0 +1 @@
+"@k8slens/eslint-config/prettier"
diff --git a/packages/ui-components/notifications/CHANGELOG.md b/packages/ui-components/notifications/CHANGELOG.md
new file mode 100644
index 0000000000..e4d87c4d45
--- /dev/null
+++ b/packages/ui-components/notifications/CHANGELOG.md
@@ -0,0 +1,4 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
diff --git a/packages/ui-components/notifications/README.md b/packages/ui-components/notifications/README.md
new file mode 100644
index 0000000000..f8759aa675
--- /dev/null
+++ b/packages/ui-components/notifications/README.md
@@ -0,0 +1,19 @@
+# @k8slens/notifications
+
+This package contains stuff related to creating Lens-applications.
+
+# Usage
+
+```bash
+$ npm install @k8slens/notifications
+```
+
+```typescript
+export type { notificationsName, notificationsProps } from "@k8slens/button";
+export type { notifications } from "@k8slens/button";
+export { defaultEnterDurationFornotificationsdInjectable } from "@k8slens/button";
+export { defaultLeaveDurationFornotificationsdInjectable } from "@k8slens/button";
+export { requestAnimationFrameInjectable } from "@k8slens/button";
+```
+
+## Extendability
diff --git a/packages/ui-components/notifications/index.ts b/packages/ui-components/notifications/index.ts
new file mode 100644
index 0000000000..cdcb1da93f
--- /dev/null
+++ b/packages/ui-components/notifications/index.ts
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+
+export type {
+ NotificationId,
+ NotificationMessage,
+ NotificationStatus,
+ CreateNotificationOptions,
+ Notification,
+ NotificationsStore,
+} from "./src/notifications.store";
+export type { ShowNotification } from "./src/notifications";
+export { Notifications } from "./src/notifications";
+export { notificationsClusterFrameChildComponentInjectable } from "./src/notifications-cluster-frame-child-component.injectable";
+export { notificationsRootFrameChildComponentInjectable } from "./src/notifications-root-frame-child-component.injectable";
+export { notificationsStoreInjectable } from "./src/notifications-store.injectable";
+export type { ShowCheckedErrorNotification } from "./src/show-checked-error.injectable";
+export { showCheckedErrorNotificationInjectable } from "./src/show-checked-error.injectable";
+export { showErrorNotificationInjectable } from "./src/show-error-notification.injectable";
+export { showInfoNotificationInjectable } from "./src/show-info-notification.injectable";
+export { showShortInfoNotificationInjectable } from "./src/show-short-info.injectable";
+export { showSuccessNotificationInjectable } from "./src/show-success-notification.injectable";
+export { notificationsFeature } from "./src/feature";
diff --git a/packages/ui-components/notifications/jest.config.js b/packages/ui-components/notifications/jest.config.js
new file mode 100644
index 0000000000..05ec7ecd4d
--- /dev/null
+++ b/packages/ui-components/notifications/jest.config.js
@@ -0,0 +1,3 @@
+const { configForReact } = require("@k8slens/jest").monorepoPackageConfig(__dirname);
+
+module.exports = configForReact;
diff --git a/packages/ui-components/notifications/package.json b/packages/ui-components/notifications/package.json
new file mode 100644
index 0000000000..4a3e12831d
--- /dev/null
+++ b/packages/ui-components/notifications/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@k8slens/notifications",
+ "private": false,
+ "version": "1.0.0",
+ "description": "Highly extendable notifications in the Lens.",
+ "type": "commonjs",
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lensapp/lens.git"
+ },
+ "main": "dist/index.js",
+ "exports": {
+ ".": "./dist/index.js",
+ "./styles": "./dist/index.css"
+ },
+ "types": "dist/index.d.ts",
+ "author": {
+ "name": "OpenLens Authors",
+ "email": "info@k8slens.dev"
+ },
+ "license": "MIT",
+ "homepage": "https://github.com/lensapp/lens",
+ "scripts": {
+ "build": "lens-webpack-build",
+ "lint": "lens-lint",
+ "lint:fix": "lens-lint --fix"
+ },
+ "peerDependencies": {
+ "@k8slens/react-application": "^1.0.0-alpha.5",
+ "@k8slens/animate": "^1.0.0-alpha.0",
+ "@k8slens/application": "^6.5.0",
+ "@k8slens/event-emitter": "^1.0.0",
+ "@k8slens/feature-core": "^6.5.0-alpha.0",
+ "@k8slens/json-api": "^1.0.0-alpha.3",
+ "@k8slens/icon": "^1.0.0-alpha.7",
+ "@k8slens/run-many": "^1.0.0",
+ "@k8slens/logger": "^1.0.0",
+ "@k8slens/tooltip": "^1.0.0",
+ "@k8slens/utilities": "^1.0.0-alpha.1",
+ "@ogre-tools/injectable-react": "^17.2.0",
+ "@ogre-tools/injectable": "^17.2.0",
+ "@ogre-tools/fp": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
+ "@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
+ "auto-bind": "^4.0.0",
+ "lodash": "^4.17.21",
+ "mobx": "^6.8.0",
+ "mobx-react": "^7.6.0",
+ "react-router-dom": "^5.3.4",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "winston": "^3.8.2",
+ "uuid": "^8.3.2"
+ },
+ "devDependencies": {
+ "@k8slens/eslint-config": "^6.5.0",
+ "@k8slens/webpack": "^6.5.0"
+ }
+}
diff --git a/packages/ui-components/notifications/src/feature.ts b/packages/ui-components/notifications/src/feature.ts
new file mode 100644
index 0000000000..7294c4dda1
--- /dev/null
+++ b/packages/ui-components/notifications/src/feature.ts
@@ -0,0 +1,14 @@
+import { getFeature } from "@k8slens/feature-core";
+import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
+
+export const notificationsFeature = getFeature({
+ id: "notifications-feature",
+
+ register: (di) => {
+ autoRegister({
+ di,
+ targetModule: module,
+ getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
+ });
+ },
+});
diff --git a/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts b/packages/ui-components/notifications/src/notifications-cluster-frame-child-component.injectable.ts
similarity index 81%
rename from packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts
rename to packages/ui-components/notifications/src/notifications-cluster-frame-child-component.injectable.ts
index 45f2f3652a..51561b7e69 100644
--- a/packages/core/src/renderer/components/notifications/notifications-cluster-frame-child-component.injectable.ts
+++ b/packages/ui-components/notifications/src/notifications-cluster-frame-child-component.injectable.ts
@@ -7,7 +7,7 @@ import { computed } from "mobx";
import { Notifications } from "./notifications";
import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
-const notificationsClusterFrameChildComponentInjectable = getInjectable({
+export const notificationsClusterFrameChildComponentInjectable = getInjectable({
id: "notifications-cluster-frame-child-component",
instantiate: () => ({
@@ -18,5 +18,3 @@ const notificationsClusterFrameChildComponentInjectable = getInjectable({
injectionToken: clusterFrameChildComponentInjectionToken,
});
-
-export default notificationsClusterFrameChildComponentInjectable;
diff --git a/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts b/packages/ui-components/notifications/src/notifications-root-frame-child-component.injectable.ts
similarity index 81%
rename from packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts
rename to packages/ui-components/notifications/src/notifications-root-frame-child-component.injectable.ts
index 20d83e78fd..5faf4585f4 100644
--- a/packages/core/src/renderer/components/notifications/notifications-root-frame-child-component.injectable.ts
+++ b/packages/ui-components/notifications/src/notifications-root-frame-child-component.injectable.ts
@@ -7,7 +7,7 @@ import { rootFrameChildComponentInjectionToken } from "@k8slens/react-applicatio
import { computed } from "mobx";
import { Notifications } from "./notifications";
-const notificationsRootFrameChildComponentInjectable = getInjectable({
+export const notificationsRootFrameChildComponentInjectable = getInjectable({
id: "notifications-root-frame-child-component",
instantiate: () => ({
@@ -18,5 +18,3 @@ const notificationsRootFrameChildComponentInjectable = getInjectable({
injectionToken: rootFrameChildComponentInjectionToken,
});
-
-export default notificationsRootFrameChildComponentInjectable;
diff --git a/packages/core/src/renderer/components/notifications/notifications-store.injectable.ts b/packages/ui-components/notifications/src/notifications-store.injectable.ts
similarity index 77%
rename from packages/core/src/renderer/components/notifications/notifications-store.injectable.ts
rename to packages/ui-components/notifications/src/notifications-store.injectable.ts
index 1b14abef96..4c20ff0dce 100644
--- a/packages/core/src/renderer/components/notifications/notifications-store.injectable.ts
+++ b/packages/ui-components/notifications/src/notifications-store.injectable.ts
@@ -5,9 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import { NotificationsStore } from "./notifications.store";
-const notificationsStoreInjectable = getInjectable({
+export const notificationsStoreInjectable = getInjectable({
id: "notifications-store",
instantiate: () => new NotificationsStore(),
});
-
-export default notificationsStoreInjectable;
diff --git a/packages/core/src/renderer/components/notifications/notifications.scss b/packages/ui-components/notifications/src/notifications.scss
similarity index 73%
rename from packages/core/src/renderer/components/notifications/notifications.scss
rename to packages/ui-components/notifications/src/notifications.scss
index f91ebde44c..4b3c26ce20 100644
--- a/packages/core/src/renderer/components/notifications/notifications.scss
+++ b/packages/ui-components/notifications/src/notifications.scss
@@ -3,13 +3,25 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
+$color-white: rgb(255,255,255);
+
+@mixin hidden-scrollbar {
+ overflow: auto;
+ // Chrome, Safari
+ &::-webkit-scrollbar {
+ width: 0;
+ height: 0;
+ background: transparent;
+ }
+}
+
.Notifications {
@include hidden-scrollbar;
position: absolute;
right: 0;
top: 0;
- padding: $padding * 2;
+ padding: 8px * 2;
max-height: 100vh;
z-index: 100000;
height: min-content!important;
@@ -20,20 +32,20 @@
.notification {
flex: 0 0;
- padding: $padding * 1.5;
+ padding: 8px * 1.5;
border-radius: 3px;
min-width: 350px;
max-width: 35vw;
word-break: break-word;
&:not(:last-child) {
- margin-bottom: $margin * 2;
+ margin-bottom: 8px * 2;
}
> .message {
white-space: pre-line;
- padding-left: $padding;
- padding-right: $padding * 2;
+ padding-left: 8px;
+ padding-right: 8px * 2;
align-self: center;
a {
diff --git a/packages/core/src/renderer/components/notifications/notifications.store.ts b/packages/ui-components/notifications/src/notifications.store.ts
similarity index 93%
rename from packages/core/src/renderer/components/notifications/notifications.store.ts
rename to packages/ui-components/notifications/src/notifications.store.ts
index d4e16dd0d2..4ee9383152 100644
--- a/packages/core/src/renderer/components/notifications/notifications.store.ts
+++ b/packages/ui-components/notifications/src/notifications.store.ts
@@ -44,13 +44,15 @@ export class NotificationsStore {
}
getById(id: NotificationId) {
- return this.notifications.find(item => item.id === id);
+ return this.notifications.find((item) => item.id === id);
}
addAutoHideTimer(id: NotificationId) {
const notification = this.getById(id);
- if (!notification) return;
+ if (!notification) {
+ return;
+ }
this.removeAutoHideTimer(id);
if (notification?.timeout) {
@@ -74,7 +76,7 @@ export class NotificationsStore {
...rawNotification,
};
const id = notification.id;
- const index = this.notifications.findIndex(item => item.id === id);
+ const index = this.notifications.findIndex((item) => item.id === id);
if (index > -1) {
this.notifications.splice(index, 1, notification); // update existing with same id
diff --git a/packages/core/src/renderer/components/notifications/notifications.tsx b/packages/ui-components/notifications/src/notifications.tsx
similarity index 85%
rename from packages/core/src/renderer/components/notifications/notifications.tsx
rename to packages/ui-components/notifications/src/notifications.tsx
index 343068b25e..5338687727 100644
--- a/packages/core/src/renderer/components/notifications/notifications.tsx
+++ b/packages/ui-components/notifications/src/notifications.tsx
@@ -11,11 +11,16 @@ import { disposeOnUnmount, observer } from "mobx-react";
import { JsonApiErrorParsed } from "@k8slens/json-api";
import type { Disposer } from "@k8slens/utilities";
import { cssNames, prevDefault } from "@k8slens/utilities";
-import type { CreateNotificationOptions, Notification, NotificationMessage, NotificationsStore } from "./notifications.store";
+import type {
+ CreateNotificationOptions,
+ Notification,
+ NotificationMessage,
+ NotificationsStore,
+} from "./notifications.store";
import { Animate } from "@k8slens/animate";
import { Icon } from "@k8slens/icon";
import { withInjectables } from "@ogre-tools/injectable-react";
-import notificationsStoreInjectable from "./notifications-store.injectable";
+import { notificationsStoreInjectable } from "./notifications-store.injectable";
export type ShowNotification = (message: NotificationMessage, opts?: CreateNotificationOptions) => Disposer;
@@ -29,9 +34,13 @@ class NonInjectedNotifications extends React.Component {
componentDidMount() {
disposeOnUnmount(this, [
- reaction(() => this.props.store.notifications.length, () => {
- this.scrollToLastNotification();
- }, { delay: 250 }),
+ reaction(
+ () => this.props.store.notifications.length,
+ () => {
+ this.scrollToLastNotification();
+ },
+ { delay: 250 },
+ ),
]);
}
@@ -59,8 +68,8 @@ class NonInjectedNotifications extends React.Component {
const { notifications, remove, addAutoHideTimer, removeAutoHideTimer } = this.props.store;
return (
- this.elem = e}>
- {notifications.map(notification => {
+
(this.elem = e)}>
+ {notifications.map((notification) => {
const { id, status, onClose } = notification;
const msgText = this.getMessage(notification);
diff --git a/packages/core/src/renderer/components/notifications/show-checked-error.injectable.ts b/packages/ui-components/notifications/src/show-checked-error.injectable.ts
similarity index 76%
rename from packages/core/src/renderer/components/notifications/show-checked-error.injectable.ts
rename to packages/ui-components/notifications/src/show-checked-error.injectable.ts
index afc30c4e4e..da5614d78c 100644
--- a/packages/core/src/renderer/components/notifications/show-checked-error.injectable.ts
+++ b/packages/ui-components/notifications/src/show-checked-error.injectable.ts
@@ -7,11 +7,15 @@ import { JsonApiErrorParsed } from "@k8slens/json-api";
import { loggerInjectionToken } from "@k8slens/logger";
import type { Disposer } from "@k8slens/utilities";
import type { CreateNotificationOptions } from "./notifications.store";
-import showErrorNotificationInjectable from "./show-error-notification.injectable";
+import { showErrorNotificationInjectable } from "./show-error-notification.injectable";
-export type ShowCheckedErrorNotification = (message: unknown, fallback: string, opts?: CreateNotificationOptions) => Disposer;
+export type ShowCheckedErrorNotification = (
+ message: unknown,
+ fallback: string,
+ opts?: CreateNotificationOptions,
+) => Disposer;
-const showCheckedErrorNotificationInjectable = getInjectable({
+export const showCheckedErrorNotificationInjectable = getInjectable({
id: "show-checked-error-notififcation",
instantiate: (di): ShowCheckedErrorNotification => {
const showErrorNotification = di.inject(showErrorNotificationInjectable);
@@ -28,5 +32,3 @@ const showCheckedErrorNotificationInjectable = getInjectable({
};
},
});
-
-export default showCheckedErrorNotificationInjectable;
diff --git a/packages/core/src/renderer/components/notifications/show-error-notification.injectable.ts b/packages/ui-components/notifications/src/show-error-notification.injectable.ts
similarity index 77%
rename from packages/core/src/renderer/components/notifications/show-error-notification.injectable.ts
rename to packages/ui-components/notifications/src/show-error-notification.injectable.ts
index 14b56b06a5..b71370d9d5 100644
--- a/packages/core/src/renderer/components/notifications/show-error-notification.injectable.ts
+++ b/packages/ui-components/notifications/src/show-error-notification.injectable.ts
@@ -5,9 +5,9 @@
import { getInjectable } from "@ogre-tools/injectable";
import type { ShowNotification } from "./notifications";
import { NotificationStatus } from "./notifications.store";
-import notificationsStoreInjectable from "./notifications-store.injectable";
+import { notificationsStoreInjectable } from "./notifications-store.injectable";
-const showErrorNotificationInjectable = getInjectable({
+export const showErrorNotificationInjectable = getInjectable({
id: "show-error-notification",
instantiate: (di): ShowNotification => {
@@ -21,5 +21,3 @@ const showErrorNotificationInjectable = getInjectable({
});
},
});
-
-export default showErrorNotificationInjectable;
diff --git a/packages/core/src/renderer/components/notifications/show-info-notification.injectable.ts b/packages/ui-components/notifications/src/show-info-notification.injectable.ts
similarity index 78%
rename from packages/core/src/renderer/components/notifications/show-info-notification.injectable.ts
rename to packages/ui-components/notifications/src/show-info-notification.injectable.ts
index d67836b413..78e8826316 100644
--- a/packages/core/src/renderer/components/notifications/show-info-notification.injectable.ts
+++ b/packages/ui-components/notifications/src/show-info-notification.injectable.ts
@@ -5,9 +5,9 @@
import { getInjectable } from "@ogre-tools/injectable";
import type { ShowNotification } from "./notifications";
import { NotificationStatus } from "./notifications.store";
-import notificationsStoreInjectable from "./notifications-store.injectable";
+import { notificationsStoreInjectable } from "./notifications-store.injectable";
-const showInfoNotificationInjectable = getInjectable({
+export const showInfoNotificationInjectable = getInjectable({
id: "show-info-notification",
instantiate: (di): ShowNotification => {
@@ -21,5 +21,3 @@ const showInfoNotificationInjectable = getInjectable({
});
},
});
-
-export default showInfoNotificationInjectable;
diff --git a/packages/core/src/renderer/components/notifications/show-short-info.injectable.ts b/packages/ui-components/notifications/src/show-short-info.injectable.ts
similarity index 74%
rename from packages/core/src/renderer/components/notifications/show-short-info.injectable.ts
rename to packages/ui-components/notifications/src/show-short-info.injectable.ts
index b5865b4c27..86efbd8564 100644
--- a/packages/core/src/renderer/components/notifications/show-short-info.injectable.ts
+++ b/packages/ui-components/notifications/src/show-short-info.injectable.ts
@@ -5,9 +5,9 @@
import { getInjectable } from "@ogre-tools/injectable";
import type { ShowNotification } from "./notifications";
-import showInfoNotificationInjectable from "./show-info-notification.injectable";
+import { showInfoNotificationInjectable } from "./show-info-notification.injectable";
-const showShortInfoNotificationInjectable = getInjectable({
+export const showShortInfoNotificationInjectable = getInjectable({
id: "show-short-info-notification",
instantiate: (di): ShowNotification => {
const showInfoNotification = di.inject(showInfoNotificationInjectable);
@@ -20,5 +20,3 @@ const showShortInfoNotificationInjectable = getInjectable({
};
},
});
-
-export default showShortInfoNotificationInjectable;
diff --git a/packages/core/src/renderer/components/notifications/show-success-notification.injectable.ts b/packages/ui-components/notifications/src/show-success-notification.injectable.ts
similarity index 78%
rename from packages/core/src/renderer/components/notifications/show-success-notification.injectable.ts
rename to packages/ui-components/notifications/src/show-success-notification.injectable.ts
index c75c84cc3d..0a9eb01e32 100644
--- a/packages/core/src/renderer/components/notifications/show-success-notification.injectable.ts
+++ b/packages/ui-components/notifications/src/show-success-notification.injectable.ts
@@ -5,9 +5,9 @@
import { getInjectable } from "@ogre-tools/injectable";
import type { ShowNotification } from "./notifications";
import { NotificationStatus } from "./notifications.store";
-import notificationsStoreInjectable from "./notifications-store.injectable";
+import { notificationsStoreInjectable } from "./notifications-store.injectable";
-const showSuccessNotificationInjectable = getInjectable({
+export const showSuccessNotificationInjectable = getInjectable({
id: "show-success-notification",
instantiate: (di): ShowNotification => {
@@ -22,5 +22,3 @@ const showSuccessNotificationInjectable = getInjectable({
});
},
});
-
-export default showSuccessNotificationInjectable;
diff --git a/packages/ui-components/notifications/tailwind.config.js b/packages/ui-components/notifications/tailwind.config.js
new file mode 100644
index 0000000000..0feb6790ac
--- /dev/null
+++ b/packages/ui-components/notifications/tailwind.config.js
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+
+const path = require("path");
+
+module.exports = {
+ content: [path.join(__dirname, "src/**/*.tsx")],
+ darkMode: "class",
+ theme: {
+ fontFamily: {
+ sans: ["Roboto", "Helvetica", "Arial", "sans-serif"],
+ },
+ extend: {
+ colors: {
+ textAccent: "var(--textColorAccent)",
+ textPrimary: "var(--textColorPrimary)",
+ textTertiary: "var(--textColorTertiary)",
+ textDimmed: "var(--textColorDimmed)",
+ },
+ },
+ },
+ variants: {
+ extend: {},
+ },
+ plugins: [],
+};
diff --git a/packages/ui-components/notifications/tsconfig.json b/packages/ui-components/notifications/tsconfig.json
new file mode 100644
index 0000000000..9e140d79da
--- /dev/null
+++ b/packages/ui-components/notifications/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "@k8slens/typescript/config/base.json",
+ "include": ["**/*.ts", "**/*.tsx"],
+}
diff --git a/packages/ui-components/notifications/webpack.config.js b/packages/ui-components/notifications/webpack.config.js
new file mode 100644
index 0000000000..1cda407f5a
--- /dev/null
+++ b/packages/ui-components/notifications/webpack.config.js
@@ -0,0 +1 @@
+module.exports = require("@k8slens/webpack").configForReact;
From 2547b19245906431fd26190ced8841eb6d6f2467 Mon Sep 17 00:00:00 2001
From: Gabriel
Date: Thu, 1 Jun 2023 21:44:28 +0200
Subject: [PATCH 19/20] chore: update snapshots
Signed-off-by: Gabriel
---
...acters-in-page-registrations.test.tsx.snap | 12 +-
.../navigate-to-extension-page.test.tsx.snap | 30 +-
.../navigating-between-routes.test.tsx.snap | 12 +-
...ation-using-application-menu.test.tsx.snap | 12 +-
...ding-preference-when-disabled.test.ts.snap | 12 +-
.../installing-update.test.ts.snap | 54 ++--
...update-using-application-menu.test.ts.snap | 6 +-
...g-update-using-topbar-button.test.tsx.snap | 12 +-
.../installing-update-using-tray.test.ts.snap | 36 +--
.../__snapshots__/force-update.test.ts.snap | 18 +-
...eriodical-checking-of-updates.test.ts.snap | 6 +-
...selection-of-update-stability.test.ts.snap | 6 +-
.../custom-columns.test.tsx.snap | 48 ++--
.../entity-running.test.tsx.snap | 12 +-
.../opening-entity-details.test.tsx.snap | 54 ++--
.../custom-resources-in-sidebar.test.tsx.snap | 48 ++--
...ing-cluster-frame-components.test.tsx.snap | 6 +-
...-and-tab-navigation-for-core.test.tsx.snap | 42 +--
...ab-navigation-for-extensions.test.tsx.snap | 54 ++--
.../visibility-of-sidebar-items.test.tsx.snap | 12 +-
.../workload-overview.test.tsx.snap | 6 +-
.../delete-cluster-dialog.test.tsx.snap | 30 +-
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
...hide-kube-object-detail-item.test.tsx.snap | 12 +-
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
...how-status-for-a-kube-object.test.tsx.snap | 36 +--
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
.../edit-namespace-from-new-tab.test.tsx.snap | 96 +++----
...e-from-previously-opened-tab.test.tsx.snap | 12 +-
.../__snapshots__/pods.test.tsx.snap | 18 +-
...when-cluster-is-not-relevant.test.tsx.snap | 18 +-
.../keyboard-shortcuts.test.tsx.snap | 48 ++--
.../view-with-extra-columns.test.ts.snap | 6 +-
...-settings-for-correct-entity.test.tsx.snap | 24 +-
...gation-using-application-menu.test.ts.snap | 12 +-
...elm-repository-in-preferences.test.ts.snap | 72 ++---
...tory-from-list-in-preferences.test.ts.snap | 60 ++--
...m-repositories-in-preferences.test.ts.snap | 60 ++--
...ive-repository-in-preferences.test.ts.snap | 24 +-
...lling-helm-chart-from-new-tab.test.ts.snap | 266 +++++++++---------
...rt-from-previously-opened-tab.test.ts.snap | 12 +-
...tab-for-installing-helm-chart.test.ts.snap | 54 ++--
.../upgrade-chart-new-tab.test.ts.snap | 18 +-
...wing-details-for-helm-release.test.ts.snap | 108 +++----
.../hovering-hotbar-menu.test.ts.snap | 12 +-
.../route-with-sub-namespaces.test.tsx.snap | 18 +-
.../__snapshots__/download-logs.test.tsx.snap | 12 +-
.../closing-preferences.test.tsx.snap | 48 ++--
...nsion-adding-preference-tabs.test.tsx.snap | 6 +-
.../hiding-of-empty-branches.test.tsx.snap | 18 +-
...n-to-application-preferences.test.tsx.snap | 30 +-
...igation-to-editor-preferences.test.ts.snap | 12 +-
...tension-specific-preferences.test.tsx.snap | 54 ++--
...ion-to-kubernetes-preferences.test.ts.snap | 12 +-
...vigation-to-proxy-preferences.test.ts.snap | 12 +-
...ion-to-telemetry-preferences.test.tsx.snap | 30 +-
...ation-to-terminal-preferences.test.ts.snap | 12 +-
...gation-using-application-menu.test.ts.snap | 12 +-
.../navigation-using-tray.test.ts.snap | 12 +-
.../urls-of-legacy-extensions.test.tsx.snap | 30 +-
...-originating-from-extensions.test.tsx.snap | 6 +-
...dability-using-extension-api.test.tsx.snap | 24 +-
...gation-using-application-menu.test.ts.snap | 18 +-
.../__snapshots__/status-bar.test.tsx.snap | 66 ++---
.../__snapshots__/cluster-frame.test.tsx.snap | 18 +-
67 files changed, 1018 insertions(+), 1018 deletions(-)
diff --git a/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap b/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap
index 93047b5827..ff06a6b9ad 100644
--- a/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap
+++ b/packages/core/src/features/__snapshots__/extension-special-characters-in-page-registrations.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`extension special characters in page registrations renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`extension special characters in page registrations renders 1`] = `
/>
-
`;
exports[`extension special characters in page registrations when navigating to route with ID having special characters renders 1`] = `
+
@@ -560,8 +563,5 @@ exports[`extension special characters in page registrations when navigating to r
/>
-
`;
diff --git a/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap b/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap
index 1dbfd9a235..c24dec4f2d 100644
--- a/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap
+++ b/packages/core/src/features/__snapshots__/navigate-to-extension-page.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`navigate to extension page renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`navigate to extension page renders 1`] = `
/>
-
`;
exports[`navigate to extension page when extension navigates to child route renders 1`] = `
+
@@ -560,14 +563,14 @@ exports[`navigate to extension page when extension navigates to child route rend
/>
-
`;
exports[`navigate to extension page when extension navigates to route with parameters renders 1`] = `
+
@@ -797,14 +800,14 @@ exports[`navigate to extension page when extension navigates to route with param
/>
-
`;
exports[`navigate to extension page when extension navigates to route without parameters renders 1`] = `
+
@@ -1034,14 +1037,14 @@ exports[`navigate to extension page when extension navigates to route without pa
/>
-
`;
exports[`navigate to extension page when extension navigates to route without parameters when changing page parameters renders 1`] = `
+
@@ -1271,8 +1274,5 @@ exports[`navigate to extension page when extension navigates to route without pa
/>
-
`;
diff --git a/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap b/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap
index 1280d1a3ce..91a68cf004 100644
--- a/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap
+++ b/packages/core/src/features/__snapshots__/navigating-between-routes.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`navigating between routes given route with optional path parameters when navigating to route with path parameters renders 1`] = `
+
@@ -218,14 +221,14 @@ exports[`navigating between routes given route with optional path parameters whe
/>
-
`;
exports[`navigating between routes given route without path parameters when navigating to route renders 1`] = `
+
@@ -439,8 +442,5 @@ exports[`navigating between routes given route without path parameters when navi
/>
-
`;
diff --git a/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap b/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap
index 91e901072d..1b9d75f07f 100644
--- a/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap
+++ b/packages/core/src/features/add-cluster/__snapshots__/navigation-using-application-menu.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`add-cluster - navigation using application menu renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`add-cluster - navigation using application menu renders 1`] = `
/>
-
`;
exports[`add-cluster - navigation using application menu when navigating to add cluster using application menu renders 1`] = `
+
@@ -644,8 +647,5 @@ exports[`add-cluster - navigation using application menu when navigating to add
/>
-
`;
diff --git a/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap b/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap
index 3f0ffbfa07..93866d2d68 100644
--- a/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap
+++ b/packages/core/src/features/application-update/__snapshots__/hiding-preference-when-disabled.test.ts.snap
@@ -3,6 +3,9 @@
exports[`hiding Update Channel preference with updating is not enabled renders 1`] = `
+
@@ -673,9 +676,6 @@ exports[`hiding Update Channel preference with updating is not enabled renders 1
/>
-
`;
@@ -683,6 +683,9 @@ exports[`hiding Update Channel preference with updating is not enabled renders 1
exports[`showing Update Channel preference with updating is enabled renders 1`] = `
+
@@ -1442,9 +1445,6 @@ exports[`showing Update Channel preference with updating is enabled renders 1`]
/>
-
`;
diff --git a/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap b/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap
index 70dd9078fb..3cf464f6ac 100644
--- a/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap
+++ b/packages/core/src/features/application-update/__snapshots__/installing-update.test.ts.snap
@@ -3,6 +3,9 @@
exports[`installing update when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update when started renders 1`] = `
/>
-
`;
@@ -350,6 +350,9 @@ exports[`installing update when started renders 1`] = `
exports[`installing update when started when user checks for updates renders 1`] = `
+
@@ -687,9 +690,6 @@ exports[`installing update when started when user checks for updates renders 1`]
/>
-
`;
@@ -697,6 +697,9 @@ exports[`installing update when started when user checks for updates renders 1`]
exports[`installing update when started when user checks for updates when new update is discovered renders 1`] = `
+
@@ -1034,9 +1037,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -1044,6 +1044,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when new update is discovered when download fails renders 1`] = `
+
@@ -1381,9 +1384,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -1391,6 +1391,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with different update that was previously downloaded when download fails renders 1`] = `
+
@@ -1728,9 +1731,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -1738,6 +1738,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with different update that was previously downloaded when download resolves successfully renders 1`] = `
+
@@ -2100,9 +2103,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -2110,6 +2110,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when new update is discovered when download succeeds given checking for updates again when check resolves with same update that is already downloaded renders 1`] = `
+
@@ -2472,9 +2475,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -2482,6 +2482,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when new update is discovered when download succeeds renders 1`] = `
+
@@ -2844,9 +2847,6 @@ exports[`installing update when started when user checks for updates when new up
/>
-
`;
@@ -2854,6 +2854,9 @@ exports[`installing update when started when user checks for updates when new up
exports[`installing update when started when user checks for updates when no new update is discovered renders 1`] = `
+
@@ -3191,9 +3194,6 @@ exports[`installing update when started when user checks for updates when no new
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap b/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap
index 51f9570841..16ffd55d35 100644
--- a/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap
+++ b/packages/core/src/features/application-update/child-features/application-update-using-application-menu/__snapshots__/application-update-using-application-menu.test.ts.snap
@@ -3,6 +3,9 @@
exports[`installing update using application menu when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update using application menu when started renders 1`] = `
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap b/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap
index 6ec61d27cf..99a1eea3a7 100644
--- a/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap
+++ b/packages/core/src/features/application-update/child-features/application-update-using-top-bar/__snapshots__/installing-update-using-topbar-button.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`encourage user to update when sufficient time passed since update was downloaded when started given the update check when update downloaded given some time passes, when checking for updates again when checking for updates resolves with same version that was previously downloaded renders 1`] = `
+
@@ -365,9 +368,6 @@ exports[`encourage user to update when sufficient time passed since update was d
/>
-
`;
@@ -375,6 +375,9 @@ exports[`encourage user to update when sufficient time passed since update was d
exports[`encourage user to update when sufficient time passed since update was downloaded when started renders 1`] = `
+
@@ -712,9 +715,6 @@ exports[`encourage user to update when sufficient time passed since update was d
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap b/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap
index 6634465613..79150fefa1 100644
--- a/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap
+++ b/packages/core/src/features/application-update/child-features/application-update-using-tray/__snapshots__/installing-update-using-tray.test.ts.snap
@@ -3,6 +3,9 @@
exports[`installing update using tray when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`installing update using tray when started renders 1`] = `
/>
-
`;
@@ -350,6 +350,9 @@ exports[`installing update using tray when started renders 1`] = `
exports[`installing update using tray when started when user checks for updates using tray renders 1`] = `
+
@@ -687,9 +690,6 @@ exports[`installing update using tray when started when user checks for updates
/>
-
`;
@@ -697,6 +697,9 @@ exports[`installing update using tray when started when user checks for updates
exports[`installing update using tray when started when user checks for updates using tray when new update is discovered renders 1`] = `
+
@@ -1034,9 +1037,6 @@ exports[`installing update using tray when started when user checks for updates
/>
-
`;
@@ -1044,6 +1044,9 @@ exports[`installing update using tray when started when user checks for updates
exports[`installing update using tray when started when user checks for updates using tray when new update is discovered when download fails renders 1`] = `
+
@@ -1381,9 +1384,6 @@ exports[`installing update using tray when started when user checks for updates
/>
-
`;
@@ -1391,6 +1391,9 @@ exports[`installing update using tray when started when user checks for updates
exports[`installing update using tray when started when user checks for updates using tray when new update is discovered when download succeeds renders 1`] = `
+
@@ -1753,9 +1756,6 @@ exports[`installing update using tray when started when user checks for updates
/>
-
`;
@@ -1763,6 +1763,9 @@ exports[`installing update using tray when started when user checks for updates
exports[`installing update using tray when started when user checks for updates using tray when no new update is discovered renders 1`] = `
+
@@ -2100,9 +2103,6 @@ exports[`installing update using tray when started when user checks for updates
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap b/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap
index e705f60cb1..9c0bd3e31e 100644
--- a/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap
+++ b/packages/core/src/features/application-update/child-features/force-update/__snapshots__/force-update.test.ts.snap
@@ -3,6 +3,9 @@
exports[`force user to update when too long since update was downloaded when application is started given checking for updates and it resolves, when update was downloaded renders 1`] = `
+
@@ -365,9 +368,6 @@ exports[`force user to update when too long since update was downloaded when app
/>
-
`;
@@ -375,6 +375,9 @@ exports[`force user to update when too long since update was downloaded when app
exports[`force user to update when too long since update was downloaded when application is started given checking for updates and it resolves, when update was downloaded when enough time passes to consider that update must be installed renders 1`] = `
+
@@ -737,9 +740,6 @@ exports[`force user to update when too long since update was downloaded when app
/>
-
+
@@ -1156,9 +1159,6 @@ exports[`force user to update when too long since update was downloaded when app
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/periodical-checking-of-updates/__snapshots__/periodical-checking-of-updates.test.ts.snap b/packages/core/src/features/application-update/child-features/periodical-checking-of-updates/__snapshots__/periodical-checking-of-updates.test.ts.snap
index f6dd2cabb8..cfa3ad9c5d 100644
--- a/packages/core/src/features/application-update/child-features/periodical-checking-of-updates/__snapshots__/periodical-checking-of-updates.test.ts.snap
+++ b/packages/core/src/features/application-update/child-features/periodical-checking-of-updates/__snapshots__/periodical-checking-of-updates.test.ts.snap
@@ -3,6 +3,9 @@
exports[`periodical checking of updates given updater is enabled and configuration exists, when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`periodical checking of updates given updater is enabled and configurati
/>
-
`;
diff --git a/packages/core/src/features/application-update/child-features/selection-of-update-stability/__snapshots__/selection-of-update-stability.test.ts.snap b/packages/core/src/features/application-update/child-features/selection-of-update-stability/__snapshots__/selection-of-update-stability.test.ts.snap
index 6a3c008e43..c2c1a208b5 100644
--- a/packages/core/src/features/application-update/child-features/selection-of-update-stability/__snapshots__/selection-of-update-stability.test.ts.snap
+++ b/packages/core/src/features/application-update/child-features/selection-of-update-stability/__snapshots__/selection-of-update-stability.test.ts.snap
@@ -3,6 +3,9 @@
exports[`selection of update stability when started renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`selection of update stability when started renders 1`] = `
/>
-
`;
diff --git a/packages/core/src/features/catalog/__snapshots__/custom-columns.test.tsx.snap b/packages/core/src/features/catalog/__snapshots__/custom-columns.test.tsx.snap
index 30677b1639..44900992c0 100644
--- a/packages/core/src/features/catalog/__snapshots__/custom-columns.test.tsx.snap
+++ b/packages/core/src/features/catalog/__snapshots__/custom-columns.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`custom category columns for catalog renders 1`] = `
+
@@ -579,9 +582,6 @@ exports[`custom category columns for catalog renders 1`] = `
/>
-
`;
@@ -589,6 +589,9 @@ exports[`custom category columns for catalog renders 1`] = `
exports[`custom category columns for catalog when category is added using default colemns renders 1`] = `
+
@@ -1196,9 +1199,6 @@ exports[`custom category columns for catalog when category is added using defaul
/>
-
`;
@@ -1206,6 +1206,9 @@ exports[`custom category columns for catalog when category is added using defaul
exports[`custom category columns for catalog when category is added using default colemns when an extension is registered with additional custom columns when the Test category tab is clicked renders 1`] = `
+
@@ -1803,9 +1806,6 @@ exports[`custom category columns for catalog when category is added using defaul
/>
-
`;
@@ -1813,6 +1813,9 @@ exports[`custom category columns for catalog when category is added using defaul
exports[`custom category columns for catalog when category is added using default colemns when the Test category tab is clicked renders 1`] = `
+
@@ -2399,9 +2402,6 @@ exports[`custom category columns for catalog when category is added using defaul
/>
-
`;
@@ -2409,6 +2409,9 @@ exports[`custom category columns for catalog when category is added using defaul
exports[`custom category columns for catalog when category is added with custom columns renders 1`] = `
+
@@ -3016,9 +3019,6 @@ exports[`custom category columns for catalog when category is added with custom
/>
-
`;
@@ -3026,6 +3026,9 @@ exports[`custom category columns for catalog when category is added with custom
exports[`custom category columns for catalog when category is added with custom columns when the Test category tab is clicked renders 1`] = `
+
@@ -3570,9 +3573,6 @@ exports[`custom category columns for catalog when category is added with custom
/>
-
`;
@@ -3580,6 +3580,9 @@ exports[`custom category columns for catalog when category is added with custom
exports[`custom category columns for catalog when category is added without default columns renders 1`] = `
+
@@ -4187,9 +4190,6 @@ exports[`custom category columns for catalog when category is added without defa
/>
-
`;
@@ -4197,6 +4197,9 @@ exports[`custom category columns for catalog when category is added without defa
exports[`custom category columns for catalog when category is added without default columns when the Test category tab is clicked renders 1`] = `
+
@@ -4730,9 +4733,6 @@ exports[`custom category columns for catalog when category is added without defa
/>
-
`;
diff --git a/packages/core/src/features/catalog/__snapshots__/entity-running.test.tsx.snap b/packages/core/src/features/catalog/__snapshots__/entity-running.test.tsx.snap
index 865ac34654..4a7b84a3f7 100644
--- a/packages/core/src/features/catalog/__snapshots__/entity-running.test.tsx.snap
+++ b/packages/core/src/features/catalog/__snapshots__/entity-running.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`entity running technical tests when navigated to catalog renders 1`] = `
+
@@ -704,9 +707,6 @@ exports[`entity running technical tests when navigated to catalog renders 1`] =
/>
-
`;
@@ -714,6 +714,9 @@ exports[`entity running technical tests when navigated to catalog renders 1`] =
exports[`entity running technical tests when navigated to catalog when details panel is opened renders 1`] = `
+
@@ -1415,9 +1418,6 @@ exports[`entity running technical tests when navigated to catalog when details p
/>
-
+
@@ -719,9 +722,6 @@ exports[`Showing correct entity settings when navigating to local cluster entity
/>
-
+
@@ -1119,9 +1122,6 @@ exports[`Showing correct entity settings when navigating to non-local cluster en
/>
-
+
@@ -1421,9 +1424,6 @@ exports[`Showing correct entity settings when navigating to weblink entity setti
/>
-
+
@@ -713,9 +716,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -1472,9 +1475,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -2231,9 +2234,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -3101,9 +3104,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -3868,9 +3871,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -4738,9 +4741,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -5790,9 +5793,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -6660,9 +6663,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -7712,9 +7715,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -8583,9 +8586,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -9339,9 +9342,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -10095,9 +10098,6 @@ exports[`add custom helm repository in preferences when navigating to preference
/>
-
+
@@ -713,9 +716,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -1472,9 +1475,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -2233,9 +2236,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -3802,9 +3805,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -4550,9 +4553,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -5343,9 +5346,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -6138,9 +6141,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -7740,9 +7743,6 @@ exports[`add helm repository from list in preferences when navigating to prefere
/>
-
+
@@ -713,9 +716,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -1461,9 +1464,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -2101,9 +2104,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -2849,9 +2852,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -3489,9 +3492,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -4237,9 +4240,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -5030,9 +5033,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -5670,9 +5673,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -6310,9 +6313,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -6950,9 +6953,6 @@ exports[`listing active helm repositories in preferences when navigating to pref
/>
-
+
@@ -713,9 +716,6 @@ exports[`remove helm repository from list of active repositories in preferences
/>
-
+
@@ -1444,9 +1447,6 @@ exports[`remove helm repository from list of active repositories in preferences
/>
-
+
@@ -2175,9 +2178,6 @@ exports[`remove helm repository from list of active repositories in preferences
/>
-
+
@@ -2923,9 +2926,6 @@ exports[`remove helm repository from list of active repositories in preferences
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- close
-
-
-
- Close
-
-
-
-
-
-
@@ -10170,6 +10132,44 @@ exports[`installing helm chart from new tab given tab for installing chart was n
+
+
+
+
+
+
+
+
+ close
+
+
+
+ Close
+
+
+
+
+
+
-
-
-
-
-
-
-
-
- close
-
-
-
- Close
-
-
-
-
-
-
@@ -10950,6 +10912,44 @@ exports[`installing helm chart from new tab given tab for installing chart was n
+
+
+
+
+
+
+
+
+ close
+
+
+
+ Close
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -340,9 +343,6 @@ exports[`hovering hotbar menu tests renders 1`] = `
/>
-
+
@@ -687,9 +690,6 @@ exports[`hovering hotbar menu tests when hovering over the hotbar menu renders 1
/>
-
`;
exports[`preferences - closing-preferences given already in a page and then navigated to preferences when navigating to a tab in preferences renders 1`] = `
+
@@ -2550,14 +2553,14 @@ exports[`preferences - closing-preferences given already in a page and then navi
/>
-
`;
exports[`preferences - closing-preferences given already in a page and then navigated to preferences when navigating to a tab in preferences when preferences are closed renders 1`] = `
+
@@ -2773,14 +2776,14 @@ exports[`preferences - closing-preferences given already in a page and then navi
/>
-
`;
exports[`preferences - closing-preferences given already in a page and then navigated to preferences when preferences are closed renders 1`] = `
+
@@ -2996,8 +2999,5 @@ exports[`preferences - closing-preferences given already in a page and then navi
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/extension-adding-preference-tabs.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/extension-adding-preference-tabs.test.tsx.snap
index 2bcae9f787..129a5d8e71 100644
--- a/packages/core/src/features/preferences/__snapshots__/extension-adding-preference-tabs.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/extension-adding-preference-tabs.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`preferences: extension adding preference tabs given in preferences, when extension with preference tabs is enabled renders 1`] = `
+
@@ -697,9 +700,6 @@ exports[`preferences: extension adding preference tabs given in preferences, whe
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/hiding-of-empty-branches.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/hiding-of-empty-branches.test.tsx.snap
index 347e0ad0bb..63b426c7ec 100644
--- a/packages/core/src/features/preferences/__snapshots__/hiding-of-empty-branches.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/hiding-of-empty-branches.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`preferences - hiding-of-empty-branches, given in preferences page given tab group and empty tabs renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - hiding-of-empty-branches, given in preferences page given
/>
-
`;
exports[`preferences - hiding-of-empty-branches, given in preferences page given tab group and empty tabs when an item appears for one of the tabs renders 1`] = `
+
@@ -1378,14 +1381,14 @@ exports[`preferences - hiding-of-empty-branches, given in preferences page given
/>
-
`;
exports[`preferences - hiding-of-empty-branches, given in preferences page given tab group and empty tabs when an item appears for one of the tabs when an item appears for the remaining tab renders 1`] = `
+
@@ -2096,8 +2099,5 @@ exports[`preferences - hiding-of-empty-branches, given in preferences page given
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
index a98fee596b..541332fe35 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to application preferences given in preferences, when rendered renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - navigation to application preferences given in preference
/>
-
`;
exports[`preferences - navigation to application preferences given in preferences, when rendered when extension with application preference items gets enabled renders 1`] = `
+
@@ -1381,14 +1384,14 @@ exports[`preferences - navigation to application preferences given in preference
/>
-
`;
exports[`preferences - navigation to application preferences given in some child page of preferences, when rendered renders 1`] = `
+
@@ -1804,14 +1807,14 @@ exports[`preferences - navigation to application preferences given in some child
/>
-
`;
exports[`preferences - navigation to application preferences given in some child page of preferences, when rendered when navigating to application preferences using navigation renders 1`] = `
+
@@ -2482,15 +2485,15 @@ exports[`preferences - navigation to application preferences given in some child
/>
-
`;
exports[`preferences - navigation to application preferences given in some child page of preferences, when rendered when navigating to preferences without specifying the tab renders 1`] = `
+
@@ -3161,9 +3164,6 @@ exports[`preferences - navigation to application preferences given in some child
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-editor-preferences.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-editor-preferences.test.ts.snap
index 068e445fc5..d1a0dc44f1 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-editor-preferences.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-editor-preferences.test.ts.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to editor preferences given in preferences, when rendered renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
/>
-
`;
exports[`preferences - navigation to editor preferences given in preferences, when rendered when navigating to editor preferences using navigation renders 1`] = `
+
@@ -1328,8 +1331,5 @@ exports[`preferences - navigation to editor preferences given in preferences, wh
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap
index 75ea28be0c..65cf147915 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extension with registered tab renders 1`] = `
+
@@ -685,15 +688,15 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extension with registered tab when navigating to specific extension tab renders 1`] = `
+
@@ -1082,14 +1085,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extensions with tabs having same id when navigating to first extension tab renders 1`] = `
+
@@ -1490,14 +1493,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extensions with tabs having same id when navigating to second extension tab renders 1`] = `
+
@@ -1898,14 +1901,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given multiple extensions with specific preferences, when navigating to extension specific preferences page renders 1`] = `
+
@@ -2332,14 +2335,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered renders 1`] = `
+
@@ -3010,14 +3013,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered when extension with specific preferences is enabled renders 1`] = `
+
@@ -3726,14 +3729,14 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered when extension with specific preferences is enabled when navigating to extension preferences using navigation renders 1`] = `
+
@@ -4148,15 +4151,15 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered when extension with specific preferences is enabled when navigating to extension preferences using navigation when extension is disabled renders 1`] = `
+
@@ -4501,9 +4504,6 @@ exports[`preferences - navigation to extension specific preferences given in pre
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-kubernetes-preferences.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-kubernetes-preferences.test.ts.snap
index 98056d147a..69bd7c3155 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-kubernetes-preferences.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-kubernetes-preferences.test.ts.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to kubernetes preferences given in preferences, when rendered renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
/>
-
`;
exports[`preferences - navigation to kubernetes preferences given in preferences, when rendered when navigating to kubernetes preferences using navigation renders 1`] = `
+
@@ -1366,8 +1369,5 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-proxy-preferences.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-proxy-preferences.test.ts.snap
index 9361de2db6..3d35b8453c 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-proxy-preferences.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-proxy-preferences.test.ts.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to proxy preferences given in preferences, when rendered renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
/>
-
`;
exports[`preferences - navigation to proxy preferences given in preferences, when rendered when navigating to proxy preferences using navigation renders 1`] = `
+
@@ -1095,8 +1098,5 @@ exports[`preferences - navigation to proxy preferences given in preferences, whe
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-telemetry-preferences.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-telemetry-preferences.test.tsx.snap
index d795e4f5eb..6a0fd32f4b 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-telemetry-preferences.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-telemetry-preferences.test.tsx.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to telemetry preferences given URL for Sentry DNS, when navigating to preferences when navigating to telemetry preferences renders 1`] = `
+
@@ -401,14 +404,14 @@ exports[`preferences - navigation to telemetry preferences given URL for Sentry
/>
-
`;
exports[`preferences - navigation to telemetry preferences given in preferences, when rendered renders 1`] = `
+
@@ -1079,14 +1082,14 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
/>
-
`;
exports[`preferences - navigation to telemetry preferences given in preferences, when rendered when extension with telemetry preference items gets enabled renders 1`] = `
+
@@ -1769,14 +1772,14 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
/>
-
`;
exports[`preferences - navigation to telemetry preferences given in preferences, when rendered when extension with telemetry preference items gets enabled when clicking link to telemetry preferences from navigation renders 1`] = `
+
@@ -2165,14 +2168,14 @@ exports[`preferences - navigation to telemetry preferences given in preferences,
/>
-
`;
exports[`preferences - navigation to telemetry preferences given no URL for Sentry DNS, when navigating to telemetry preferences renders 1`] = `
+
@@ -2521,8 +2524,5 @@ exports[`preferences - navigation to telemetry preferences given no URL for Sent
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-to-terminal-preferences.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-to-terminal-preferences.test.ts.snap
index ed5616001c..7903d9612b 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-to-terminal-preferences.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-to-terminal-preferences.test.ts.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation to terminal preferences given in preferences, when rendered renders 1`] = `
+
@@ -672,14 +675,14 @@ exports[`preferences - navigation to terminal preferences given in preferences,
/>
-
`;
exports[`preferences - navigation to terminal preferences given in preferences, when rendered when navigating to terminal preferences using navigation renders 1`] = `
+
@@ -1302,8 +1305,5 @@ exports[`preferences - navigation to terminal preferences given in preferences,
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-using-application-menu.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-using-application-menu.test.ts.snap
index 5aeb89368c..c9fc9b6a33 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-using-application-menu.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-using-application-menu.test.ts.snap
@@ -2,6 +2,9 @@
exports[`preferences - navigation using application menu renders 1`] = `
+
@@ -339,14 +342,14 @@ exports[`preferences - navigation using application menu renders 1`] = `
/>
-
`;
exports[`preferences - navigation using application menu when navigating to preferences using application menu renders 1`] = `
+
@@ -1017,8 +1020,5 @@ exports[`preferences - navigation using application menu when navigating to pref
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/navigation-using-tray.test.ts.snap b/packages/core/src/features/preferences/__snapshots__/navigation-using-tray.test.ts.snap
index 5618e8dd83..9a153bed65 100644
--- a/packages/core/src/features/preferences/__snapshots__/navigation-using-tray.test.ts.snap
+++ b/packages/core/src/features/preferences/__snapshots__/navigation-using-tray.test.ts.snap
@@ -3,6 +3,9 @@
exports[`show-about-using-tray renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[`show-about-using-tray renders 1`] = `
/>
-
`;
@@ -350,6 +350,9 @@ exports[`show-about-using-tray renders 1`] = `
exports[`show-about-using-tray when navigating using tray renders 1`] = `
+
@@ -1020,9 +1023,6 @@ exports[`show-about-using-tray when navigating using tray renders 1`] = `
/>
-
`;
diff --git a/packages/core/src/features/preferences/__snapshots__/urls-of-legacy-extensions.test.tsx.snap b/packages/core/src/features/preferences/__snapshots__/urls-of-legacy-extensions.test.tsx.snap
index 16af6c0eb5..e2e5ed8d65 100644
--- a/packages/core/src/features/preferences/__snapshots__/urls-of-legacy-extensions.test.tsx.snap
+++ b/packages/core/src/features/preferences/__snapshots__/urls-of-legacy-extensions.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`preferences: URLs of legacy extensions given extension with both custom preference tabs and content for the default tab when navigating to specific custom preference tab using magic string URL renders 1`] = `
+
@@ -439,9 +442,6 @@ exports[`preferences: URLs of legacy extensions given extension with both custom
/>
-
`;
@@ -449,6 +449,9 @@ exports[`preferences: URLs of legacy extensions given extension with both custom
exports[`preferences: URLs of legacy extensions given extension with both custom preference tabs and content for the default tab when navigating to unspecified custom preferences tab using magic string URL renders 1`] = `
+
@@ -885,9 +888,6 @@ exports[`preferences: URLs of legacy extensions given extension with both custom
/>
-
`;
@@ -895,6 +895,9 @@ exports[`preferences: URLs of legacy extensions given extension with both custom
exports[`preferences: URLs of legacy extensions given extension with custom preferences and a custom preference tab when navigating to specific custom preference tab using magic string URL renders 1`] = `
+
@@ -1293,9 +1296,6 @@ exports[`preferences: URLs of legacy extensions given extension with custom pref
/>
-
`;
@@ -1303,6 +1303,9 @@ exports[`preferences: URLs of legacy extensions given extension with custom pref
exports[`preferences: URLs of legacy extensions given extension with custom preferences and a custom preference tab when navigating to unspecified custom preferences tab using magic string URL renders 1`] = `
+
@@ -1675,9 +1678,6 @@ exports[`preferences: URLs of legacy extensions given extension with custom pref
/>
-
`;
@@ -1685,6 +1685,9 @@ exports[`preferences: URLs of legacy extensions given extension with custom pref
exports[`preferences: URLs of legacy extensions given extension with custom preferences but without a custom preference tab when navigating to the default preference tab using magic string URL renders 1`] = `
+
@@ -2097,9 +2100,6 @@ exports[`preferences: URLs of legacy extensions given extension with custom pref
/>
-
`;
diff --git a/packages/core/src/features/status-bar/__snapshots__/status-bar-items-originating-from-extensions.test.tsx.snap b/packages/core/src/features/status-bar/__snapshots__/status-bar-items-originating-from-extensions.test.tsx.snap
index 7b24c4c3ea..3a91097292 100644
--- a/packages/core/src/features/status-bar/__snapshots__/status-bar-items-originating-from-extensions.test.tsx.snap
+++ b/packages/core/src/features/status-bar/__snapshots__/status-bar-items-originating-from-extensions.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`status-bar-items-originating-from-extensions when application starts when extension with status bar items is loaded renders 1`] = `
+
@@ -392,9 +395,6 @@ exports[`status-bar-items-originating-from-extensions when application starts wh
-
`;
diff --git a/packages/core/src/features/top-bar/extension-api/__snapshots__/extendability-using-extension-api.test.tsx.snap b/packages/core/src/features/top-bar/extension-api/__snapshots__/extendability-using-extension-api.test.tsx.snap
index e375091250..4bf00d92ad 100644
--- a/packages/core/src/features/top-bar/extension-api/__snapshots__/extendability-using-extension-api.test.tsx.snap
+++ b/packages/core/src/features/top-bar/extension-api/__snapshots__/extendability-using-extension-api.test.tsx.snap
@@ -3,6 +3,9 @@
exports[`extendability-using-extension-api given an extension with a weakly typed and invalid top-bar item is enabled renders without blowing up 1`] = `
+
@@ -340,9 +343,6 @@ exports[`extendability-using-extension-api given an extension with a weakly type
/>
-
`;
@@ -350,6 +350,9 @@ exports[`extendability-using-extension-api given an extension with a weakly type
exports[`extendability-using-extension-api given an extension with top-bar items is enabled renders 1`] = `
+
@@ -696,9 +699,6 @@ exports[`extendability-using-extension-api given an extension with top-bar items
/>
-
`;
@@ -706,6 +706,9 @@ exports[`extendability-using-extension-api given an extension with top-bar items
exports[`extendability-using-extension-api given an extension with top-bar items is enabled when the extension is disabled renders 1`] = `
+
@@ -1043,9 +1046,6 @@ exports[`extendability-using-extension-api given an extension with top-bar items
/>
-
`;
@@ -1053,6 +1053,9 @@ exports[`extendability-using-extension-api given an extension with top-bar items
exports[`extendability-using-extension-api renders 1`] = `
+
@@ -1390,9 +1393,6 @@ exports[`extendability-using-extension-api renders 1`] = `
/>
-
`;
diff --git a/packages/core/src/features/welcome/__snapshots__/navigation-using-application-menu.test.ts.snap b/packages/core/src/features/welcome/__snapshots__/navigation-using-application-menu.test.ts.snap
index a1c9bda98e..3d401fb6d8 100644
--- a/packages/core/src/features/welcome/__snapshots__/navigation-using-application-menu.test.ts.snap
+++ b/packages/core/src/features/welcome/__snapshots__/navigation-using-application-menu.test.ts.snap
@@ -2,6 +2,9 @@
exports[`welcome - navigation using application menu renders 1`] = `
+
@@ -339,15 +342,15 @@ exports[`welcome - navigation using application menu renders 1`] = `
/>
-
`;
exports[`welcome - navigation using application menu when navigated somewhere else renders 1`] = `
+
@@ -1018,15 +1021,15 @@ exports[`welcome - navigation using application menu when navigated somewhere el
/>
-
`;
exports[`welcome - navigation using application menu when navigated somewhere else when navigated to welcome using application menu renders 1`] = `
+
@@ -1364,8 +1367,5 @@ exports[`welcome - navigation using application menu when navigated somewhere el
/>
-
`;
diff --git a/packages/core/src/renderer/components/status-bar/__snapshots__/status-bar.test.tsx.snap b/packages/core/src/renderer/components/status-bar/__snapshots__/status-bar.test.tsx.snap
index 1a825cbb71..9a056eb546 100644
--- a/packages/core/src/renderer/components/status-bar/__snapshots__/status-bar.test.tsx.snap
+++ b/packages/core/src/renderer/components/status-bar/__snapshots__/status-bar.test.tsx.snap
@@ -3,6 +3,9 @@
exports[` when StatusBar's status is set to "error" renders 1`] = `
+
@@ -340,9 +343,6 @@ exports[` when StatusBar's status is set to "error" renders 1`] = `
/>
-
`;
@@ -350,6 +350,9 @@ exports[` when StatusBar's status is set to "error" renders 1`] = `
exports[` when StatusBar's status is set to "warning" renders 1`] = `
+
@@ -687,9 +690,6 @@ exports[` when StatusBar's status is set to "warning" renders 1`] =
/>
-
`;
@@ -697,6 +697,9 @@ exports[` when StatusBar's status is set to "warning" renders 1`] =
exports[` when an extension is enabled specifying the side the elements should be on renders 1`] = `
+
@@ -1076,9 +1079,6 @@ exports[` when an extension is enabled specifying the side the elem
-
`;
@@ -1086,6 +1086,9 @@ exports[` when an extension is enabled specifying the side the elem
exports[` when an extension is enabled with an invalid data type, ("hello") renders 1`] = `
+
@@ -1423,9 +1426,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -1433,6 +1433,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, ([[Object]]) renders 1`] = `
+
@@ -1770,9 +1773,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -1780,6 +1780,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, ([]) renders 1`] = `
+
@@ -2117,9 +2120,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -2127,6 +2127,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, ({}) renders 1`] = `
+
@@ -2464,9 +2467,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -2474,6 +2474,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, (6) renders 1`] = `
+
@@ -2811,9 +2814,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -2821,6 +2821,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, (null) renders 1`] = `
+
@@ -3158,9 +3161,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -3168,6 +3168,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with an invalid data type, (undefined) renders 1`] = `
+
@@ -3505,9 +3508,6 @@ exports[` when an extension is enabled with an invalid data type, (
/>
-
`;
@@ -3515,6 +3515,9 @@ exports[` when an extension is enabled with an invalid data type, (
exports[` when an extension is enabled with no status items renders 1`] = `
+
@@ -3852,9 +3855,6 @@ exports[` when an extension is enabled with no status items renders
/>
-
`;
diff --git a/packages/core/src/renderer/frames/cluster-frame/__snapshots__/cluster-frame.test.tsx.snap b/packages/core/src/renderer/frames/cluster-frame/__snapshots__/cluster-frame.test.tsx.snap
index 3d12aff987..e548507335 100644
--- a/packages/core/src/renderer/frames/cluster-frame/__snapshots__/cluster-frame.test.tsx.snap
+++ b/packages/core/src/renderer/frames/cluster-frame/__snapshots__/cluster-frame.test.tsx.snap
@@ -2,6 +2,9 @@
exports[` given cluster with list nodes and namespaces permissions given no matching component given current url is starting url renders 1`] = `
+
given cluster with list nodes and namespaces permissio
class="ResizingAnchor horizontal leading"
/>
-
given cluster with list nodes and namespaces permissio
exports[` given cluster with list nodes and namespaces permissions renders 1`] = `
+
given cluster with list nodes and namespaces permissio
class="ResizingAnchor horizontal leading"
/>
-
given cluster with list nodes and namespaces permissio
exports[` given cluster without list nodes, but with namespaces permissions renders 1`] = `
+
given cluster without list nodes, but with namespaces
class="ResizingAnchor horizontal leading"
/>
-
Date: Thu, 1 Jun 2023 22:36:49 +0200
Subject: [PATCH 20/20] chore: resolve comments
Signed-off-by: Gabriel
---
open-lens/src/main/index.ts | 2 --
package-lock.json | 10 +++++-----
.../core/src/extensions/renderer-api/components.ts | 2 +-
packages/ui-components/notifications/index.ts | 2 +-
4 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/open-lens/src/main/index.ts b/open-lens/src/main/index.ts
index 631bec505f..8a90aaca46 100644
--- a/open-lens/src/main/index.ts
+++ b/open-lens/src/main/index.ts
@@ -15,7 +15,6 @@ import { loggerFeature } from "@k8slens/logger";
import { randomFeature } from "@k8slens/random";
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
import { prometheusFeature } from "@k8slens/prometheus";
-import { notificationsFeature } from "@k8slens/notifications";
const environment = "main";
@@ -37,7 +36,6 @@ runInAction(() => {
messagingFeatureForMain,
randomFeature,
kubeApiSpecificsFeature,
- notificationsFeature,
);
try {
diff --git a/package-lock.json b/package-lock.json
index 5062762ffd..552593e91c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3831,14 +3831,14 @@
"resolved": "packages/node-fetch",
"link": true
},
- "node_modules/@k8slens/prometheus": {
- "resolved": "packages/technical-features/prometheus",
- "link": true
- },
"node_modules/@k8slens/notifications": {
"resolved": "packages/ui-components/notifications",
"link": true
},
+ "node_modules/@k8slens/prometheus": {
+ "resolved": "packages/technical-features/prometheus",
+ "link": true
+ },
"node_modules/@k8slens/random": {
"resolved": "packages/random-id",
"link": true
@@ -34344,8 +34344,8 @@
"@k8slens/messaging-for-renderer": "^1.0.0-alpha.1",
"@k8slens/metrics": "^6.5.0-alpha.7",
"@k8slens/node-fetch": "^6.5.0-alpha.3",
- "@k8slens/prometheus": "^1.0.0",
"@k8slens/notifications": "^1.0.0",
+ "@k8slens/prometheus": "^1.0.0",
"@k8slens/random": "^1.0.0",
"@k8slens/react-application": "^1.0.0-alpha.5",
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
diff --git a/packages/core/src/extensions/renderer-api/components.ts b/packages/core/src/extensions/renderer-api/components.ts
index 1ab3e6295d..91c5e98560 100644
--- a/packages/core/src/extensions/renderer-api/components.ts
+++ b/packages/core/src/extensions/renderer-api/components.ts
@@ -75,7 +75,7 @@ export * from "../../renderer/components/line-progress";
export * from "../../renderer/components/menu";
export {
- type NotificationStatus,
+ NotificationStatus,
type CreateNotificationOptions,
type Notification,
type NotificationId,
diff --git a/packages/ui-components/notifications/index.ts b/packages/ui-components/notifications/index.ts
index cdcb1da93f..7a4fb7c7d3 100644
--- a/packages/ui-components/notifications/index.ts
+++ b/packages/ui-components/notifications/index.ts
@@ -6,11 +6,11 @@
export type {
NotificationId,
NotificationMessage,
- NotificationStatus,
CreateNotificationOptions,
Notification,
NotificationsStore,
} from "./src/notifications.store";
+export { NotificationStatus } from "./src/notifications.store";
export type { ShowNotification } from "./src/notifications";
export { Notifications } from "./src/notifications";
export { notificationsClusterFrameChildComponentInjectable } from "./src/notifications-cluster-frame-child-component.injectable";