mirror of
https://github.com/lensapp/lens.git
synced 2024-09-11 09:25:26 +03:00
chore: extract @k8slens/random
Signed-off-by: Gabriel <gaccettola@mirantis.com>
This commit is contained in:
parent
847f2b1b7b
commit
86fa93ac8b
19
package-lock.json
generated
19
package-lock.json
generated
@ -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",
|
||||
|
@ -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");
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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", () => {
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -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({
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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<MenuProps> {
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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("<StatusBar />", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
|
@ -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";
|
||||
|
@ -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,
|
||||
);
|
||||
});
|
||||
|
||||
|
6
packages/random-id/.eslintrc.json
Normal file
6
packages/random-id/.eslintrc.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "@k8slens/eslint-config/eslint",
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.json"
|
||||
}
|
||||
}
|
1
packages/random-id/.prettierrc
Normal file
1
packages/random-id/.prettierrc
Normal file
@ -0,0 +1 @@
|
||||
"@k8slens/eslint-config/prettier"
|
4
packages/random-id/CHANGELOG.md
Normal file
4
packages/random-id/CHANGELOG.md
Normal file
@ -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.
|
15
packages/random-id/README.md
Normal file
15
packages/random-id/README.md
Normal file
@ -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
|
7
packages/random-id/index.ts
Normal file
7
packages/random-id/index.ts
Normal file
@ -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";
|
44
packages/random-id/package.json
Normal file
44
packages/random-id/package.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
14
packages/random-id/src/feature.ts
Normal file
14
packages/random-id/src/feature.ts
Normal file
@ -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)$/)],
|
||||
});
|
||||
},
|
||||
});
|
@ -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;
|
4
packages/random-id/tsconfig.json
Normal file
4
packages/random-id/tsconfig.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"extends": "@k8slens/typescript/config/base.json",
|
||||
"include": ["**/*.ts", "**/*.tsx"],
|
||||
}
|
1
packages/random-id/webpack.config.js
Normal file
1
packages/random-id/webpack.config.js
Normal file
@ -0,0 +1 @@
|
||||
module.exports = require("@k8slens/webpack").configForReact;
|
Loading…
Reference in New Issue
Block a user