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

address review comments and fix lint

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
This commit is contained in:
Jim Ehrismann 2022-01-11 15:11:39 -05:00
parent a185227ca2
commit 944f9b899a
9 changed files with 38 additions and 21 deletions

View File

@ -16,6 +16,12 @@ module.exports = {
react: {
version: packageJson.devDependencies.react || "detect",
},
// the package eslint-import-resolver-typescript is required for this line which fixes errors when using .d.ts files
"import/resolver": {
"typescript": {
"alwaysTryTypes": true,
},
},
},
overrides: [
{

View File

@ -340,6 +340,7 @@
"esbuild": "^0.13.15",
"esbuild-loader": "^2.16.0",
"eslint": "^7.32.0",
"eslint-import-resolver-typescript": "^2.5.0",
"eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-react": "^7.27.1",

View File

@ -16,3 +16,8 @@ export interface AppPreferenceRegistration {
showInPreferencesTab?: string;
components: AppPreferenceComponents;
}
export interface RegisteredAppPreference extends AppPreferenceRegistration {
id: string;
}

View File

@ -20,16 +20,12 @@
*/
import { computed, IComputedValue } from "mobx";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import type { AppPreferenceRegistration } from "./app-preference-registration";
import type { AppPreferenceRegistration, RegisteredAppPreference } from "./app-preference-registration";
interface Dependencies {
extensions: IComputedValue<LensRendererExtension[]>;
}
interface RegisteredAppPreference extends AppPreferenceRegistration {
id: string;
}
function getRegisteredItem(item: AppPreferenceRegistration): RegisteredAppPreference {
return {
id: item.id || item.title.toLowerCase().replace(/[^0-9a-zA-Z]+/g, "-"),
@ -39,11 +35,9 @@ function getRegisteredItem(item: AppPreferenceRegistration): RegisteredAppPrefe
export const getAppPreferences = ({ extensions }: Dependencies) => {
return computed(() => {
return [
...extensions.get()
.flatMap((extension) => extension.appPreferences)
.map(pref => getRegisteredItem(pref)),
];},
);
return computed(() => (
extensions.get()
.flatMap((extension) => extension.appPreferences)
.map(getRegisteredItem)
));
};

View File

@ -17,7 +17,7 @@ import { CONSTANTS, defaultExtensionRegistryUrl, ExtensionRegistryLocation } fro
import { action, IComputedValue } from "mobx";
import { isUrl } from "../input/input_validators";
import { ExtensionSettings } from "./extension-settings";
import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration";
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
import { withInjectables } from "@ogre-tools/injectable-react";
import appPreferencesInjectable from "./app-preferences/app-preferences.injectable";
@ -31,7 +31,7 @@ const updateChannelOptions: SelectOption<string>[] = Array.from(
);
interface Dependencies {
appPreferenceItems: IComputedValue<AppPreferenceRegistration[]>
appPreferenceItems: IComputedValue<RegisteredAppPreference[]>
}
const NonInjectedApplication: React.FC<Dependencies> = ({ appPreferenceItems }) => {

View File

@ -7,12 +7,12 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import type { IComputedValue } from "mobx";
import { observer } from "mobx-react";
import React from "react";
import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration";
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
import appPreferencesInjectable from "./app-preferences/app-preferences.injectable";
import { ExtensionSettings } from "./extension-settings";
interface Dependencies {
appPreferenceItems: IComputedValue<AppPreferenceRegistration[]>
appPreferenceItems: IComputedValue<RegisteredAppPreference[]>
}
const NonInjectedExtensions: React.FC<Dependencies> = ({ appPreferenceItems }) => {

View File

@ -34,11 +34,11 @@ import { Telemetry } from "./telemetry";
import { Extensions } from "./extensions";
import { sentryDsn } from "../../../common/vars";
import { withInjectables } from "@ogre-tools/injectable-react";
import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration";
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
import appPreferencesInjectable from "./app-preferences/app-preferences.injectable";
interface Dependencies {
appPreferenceItems: IComputedValue<AppPreferenceRegistration[]>
appPreferenceItems: IComputedValue<RegisteredAppPreference[]>
}
const NonInjectedPreferences: React.FC<Dependencies> = ({ appPreferenceItems }) => {

View File

@ -9,13 +9,13 @@ import { sentryDsn } from "../../../common/vars";
import { Checkbox } from "../checkbox";
import { SubTitle } from "../layout/sub-title";
import { ExtensionSettings } from "./extension-settings";
import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration";
import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration";
import appPreferencesInjectable from "./app-preferences/app-preferences.injectable";
import type { IComputedValue } from "mobx";
import { withInjectables } from "@ogre-tools/injectable-react";
interface Dependencies {
appPreferenceItems: IComputedValue<AppPreferenceRegistration[]>
appPreferenceItems: IComputedValue<RegisteredAppPreference[]>
}
const NonInjectedTelemetry: React.FC<Dependencies> = ({ appPreferenceItems }) => {

View File

@ -5460,6 +5460,17 @@ eslint-import-resolver-node@^0.3.6:
debug "^3.2.7"
resolve "^1.20.0"
eslint-import-resolver-typescript@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a"
integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==
dependencies:
debug "^4.3.1"
glob "^7.1.7"
is-glob "^4.0.1"
resolve "^1.20.0"
tsconfig-paths "^3.9.0"
eslint-module-utils@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c"
@ -6516,7 +6527,7 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==