From e635d82ea5f955ce4c8f4ccffaf77f0e6c1c7440 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 17 Jan 2023 05:11:52 -0800 Subject: [PATCH 1/7] Cleanup loading terminal fonts (#6937) * Cleanup loading terminal fonts - Make list of possible fonts fully OCP - Only mark the loading of a font as 'causesSideEffects' - Make a view model for the terminal font preferences component - Move the TTF files next to where they are registered to help with finding them Signed-off-by: Sebastian Malton * Fix tests Signed-off-by: Sebastian Malton * Cleanup formatting and change model to presenter Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- .../terminal-font-family.tsx | 68 ++++----------- .../terminal-font-options.injectable.tsx | 50 +++++++++++ .../renderer/fonts/AnonymousPro-Regular.ttf | Bin .../renderer/fonts/IBMPlexMono-Regular.ttf | Bin .../renderer/fonts/JetBrainsMono-Regular.ttf | Bin .../renderer/fonts/RedHatMono-Regular.ttf | Bin .../terminal/renderer/fonts/Roboto-Mono.ttf} | Bin .../renderer/fonts/SourceCodePro-Regular.ttf | Bin .../renderer/fonts/SpaceMono-Regular.ttf | Bin .../renderer/fonts/UbuntuMono-Regular.ttf | Bin .../fonts/anonymous-pro.injectable.ts | 18 ++++ .../renderer/fonts/fonts.injectable.ts | 13 +++ .../fonts/ibm-plex-mono.injectable.ts | 18 ++++ .../fonts/jetbrains-mono.injectable.ts | 18 ++++ ...ad-font.global-override-for-injectable.ts} | 13 +-- .../renderer/fonts/load-font.injectable.ts | 27 ++++++ .../fonts/preload-fonts.injectable.ts | 24 ++++++ .../renderer/fonts/red-hat-mono.injectable.ts | 18 ++++ .../renderer/fonts/roboto-mono.injectable.ts | 18 ++++ .../fonts/source-code-pro.injectable.ts | 18 ++++ .../renderer/fonts/space-mono.injectable.ts | 18 ++++ src/features/terminal/renderer/fonts/token.ts | 15 ++++ .../renderer/fonts/ubuntu-mono.injectable.ts | 18 ++++ .../terminal/terminal-fonts.injectable.ts | 78 ------------------ types/mocks.d.ts | 6 +- 25 files changed, 298 insertions(+), 140 deletions(-) create mode 100644 src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-options.injectable.tsx rename src/{ => features/terminal}/renderer/fonts/AnonymousPro-Regular.ttf (100%) rename src/{ => features/terminal}/renderer/fonts/IBMPlexMono-Regular.ttf (100%) rename src/{ => features/terminal}/renderer/fonts/JetBrainsMono-Regular.ttf (100%) rename src/{ => features/terminal}/renderer/fonts/RedHatMono-Regular.ttf (100%) rename src/{renderer/fonts/Roboto-Mono-nerd.ttf => features/terminal/renderer/fonts/Roboto-Mono.ttf} (100%) rename src/{ => features/terminal}/renderer/fonts/SourceCodePro-Regular.ttf (100%) rename src/{ => features/terminal}/renderer/fonts/SpaceMono-Regular.ttf (100%) rename src/{ => features/terminal}/renderer/fonts/UbuntuMono-Regular.ttf (100%) create mode 100644 src/features/terminal/renderer/fonts/anonymous-pro.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/fonts.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/ibm-plex-mono.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/jetbrains-mono.injectable.ts rename src/{renderer/components/dock/terminal/terminal-fonts.global-override-for-injectable.ts => features/terminal/renderer/fonts/load-font.global-override-for-injectable.ts} (52%) create mode 100644 src/features/terminal/renderer/fonts/load-font.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/preload-fonts.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/red-hat-mono.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/roboto-mono.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/source-code-pro.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/space-mono.injectable.ts create mode 100644 src/features/terminal/renderer/fonts/token.ts create mode 100644 src/features/terminal/renderer/fonts/ubuntu-mono.injectable.ts delete mode 100644 src/renderer/components/dock/terminal/terminal-fonts.injectable.ts diff --git a/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-family.tsx b/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-family.tsx index 7ff161862e..cdd7a96633 100644 --- a/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-family.tsx +++ b/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-family.tsx @@ -5,66 +5,30 @@ import React from "react"; import { SubTitle } from "../../../../../../renderer/components/layout/sub-title"; import { withInjectables } from "@ogre-tools/injectable-react"; -import type { UserStore } from "../../../../../../common/user-store"; -import userStoreInjectable from "../../../../../../common/user-store/user-store.injectable"; import { observer } from "mobx-react"; -import type { SelectOption } from "../../../../../../renderer/components/select"; import { Select } from "../../../../../../renderer/components/select"; -import type { Logger } from "../../../../../../common/logger"; -import { action } from "mobx"; -import loggerInjectable from "../../../../../../common/logger.injectable"; -import { - terminalFontsInjectable, -} from "../../../../../../renderer/components/dock/terminal/terminal-fonts.injectable"; +import type { TerminalFontPreferencePresenter } from "./terminal-font-options.injectable"; +import terminalFontPreferencePresenterInjectable from "./terminal-font-options.injectable"; interface Dependencies { - userStore: UserStore; - logger: Logger; - terminalFonts: Map; + model: TerminalFontPreferencePresenter; } -const NonInjectedTerminalFontFamily = observer( - ({ userStore, logger, terminalFonts }: Dependencies) => { - const bundledFonts: SelectOption[] = Array.from(terminalFonts.keys()).map(font => { - const { fontFamily, fontSize } = userStore.terminalConfig; - - return { - label: ( - - {font} - - ), - value: font, - isSelected: fontFamily === font, - }; - }); - - const onFontFamilyChange = action(({ value: fontFamily }: SelectOption) => { - logger.info(`setting terminal font to ${fontFamily}`); - - userStore.terminalConfig.fontFamily = fontFamily; // save to external storage - }); - - - return ( -
- - +
+)); export const TerminalFontFamily = withInjectables(NonInjectedTerminalFontFamily, { getProps: (di) => ({ - userStore: di.inject(userStoreInjectable), - logger: di.inject(loggerInjectable), - terminalFonts: di.inject(terminalFontsInjectable), + model: di.inject(terminalFontPreferencePresenterInjectable), }), }); diff --git a/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-options.injectable.tsx b/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-options.injectable.tsx new file mode 100644 index 0000000000..3d6a0d2ae0 --- /dev/null +++ b/src/features/preferences/renderer/preference-items/terminal/terminal-font-family/terminal-font-options.injectable.tsx @@ -0,0 +1,50 @@ +/** + * 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 type { IComputedValue } from "mobx"; +import { action, computed } from "mobx"; +import React from "react"; +import type { SingleValue } from "react-select"; +import userStoreInjectable from "../../../../../../common/user-store/user-store.injectable"; +import { defaultTerminalFontFamily } from "../../../../../../common/vars"; +import type { SelectOption } from "../../../../../../renderer/components/select"; +import { terminalFontInjectionToken } from "../../../../../terminal/renderer/fonts/token"; + +export interface TerminalFontPreferencePresenter { + readonly options: IComputedValue[]>; + readonly current: IComputedValue; + onSelection: (selection: SingleValue>) => void; +} + +const terminalFontPreferencePresenterInjectable = getInjectable({ + id: "terminal-font-preference-presenter", + instantiate: (di): TerminalFontPreferencePresenter => { + const userStore = di.inject(userStoreInjectable); + const terminalFonts = di.injectMany(terminalFontInjectionToken); + + return { + options: computed(() => terminalFonts.map(font => ({ + label: ( + + {font.name} + + ), + value: font.name, + isSelected: userStore.terminalConfig.fontFamily === font.name, + }))), + current: computed(() => userStore.terminalConfig.fontFamily), + onSelection: action(selection => { + userStore.terminalConfig.fontFamily = selection?.value ?? defaultTerminalFontFamily; + }), + }; + }, +}); + +export default terminalFontPreferencePresenterInjectable; diff --git a/src/renderer/fonts/AnonymousPro-Regular.ttf b/src/features/terminal/renderer/fonts/AnonymousPro-Regular.ttf similarity index 100% rename from src/renderer/fonts/AnonymousPro-Regular.ttf rename to src/features/terminal/renderer/fonts/AnonymousPro-Regular.ttf diff --git a/src/renderer/fonts/IBMPlexMono-Regular.ttf b/src/features/terminal/renderer/fonts/IBMPlexMono-Regular.ttf similarity index 100% rename from src/renderer/fonts/IBMPlexMono-Regular.ttf rename to src/features/terminal/renderer/fonts/IBMPlexMono-Regular.ttf diff --git a/src/renderer/fonts/JetBrainsMono-Regular.ttf b/src/features/terminal/renderer/fonts/JetBrainsMono-Regular.ttf similarity index 100% rename from src/renderer/fonts/JetBrainsMono-Regular.ttf rename to src/features/terminal/renderer/fonts/JetBrainsMono-Regular.ttf diff --git a/src/renderer/fonts/RedHatMono-Regular.ttf b/src/features/terminal/renderer/fonts/RedHatMono-Regular.ttf similarity index 100% rename from src/renderer/fonts/RedHatMono-Regular.ttf rename to src/features/terminal/renderer/fonts/RedHatMono-Regular.ttf diff --git a/src/renderer/fonts/Roboto-Mono-nerd.ttf b/src/features/terminal/renderer/fonts/Roboto-Mono.ttf similarity index 100% rename from src/renderer/fonts/Roboto-Mono-nerd.ttf rename to src/features/terminal/renderer/fonts/Roboto-Mono.ttf diff --git a/src/renderer/fonts/SourceCodePro-Regular.ttf b/src/features/terminal/renderer/fonts/SourceCodePro-Regular.ttf similarity index 100% rename from src/renderer/fonts/SourceCodePro-Regular.ttf rename to src/features/terminal/renderer/fonts/SourceCodePro-Regular.ttf diff --git a/src/renderer/fonts/SpaceMono-Regular.ttf b/src/features/terminal/renderer/fonts/SpaceMono-Regular.ttf similarity index 100% rename from src/renderer/fonts/SpaceMono-Regular.ttf rename to src/features/terminal/renderer/fonts/SpaceMono-Regular.ttf diff --git a/src/renderer/fonts/UbuntuMono-Regular.ttf b/src/features/terminal/renderer/fonts/UbuntuMono-Regular.ttf similarity index 100% rename from src/renderer/fonts/UbuntuMono-Regular.ttf rename to src/features/terminal/renderer/fonts/UbuntuMono-Regular.ttf diff --git a/src/features/terminal/renderer/fonts/anonymous-pro.injectable.ts b/src/features/terminal/renderer/fonts/anonymous-pro.injectable.ts new file mode 100644 index 0000000000..d0a671e5bd --- /dev/null +++ b/src/features/terminal/renderer/fonts/anonymous-pro.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import AnonymousPro from "./AnonymousPro-Regular.ttf"; + +const anonymousProTerminalFontInjectable = getInjectable({ + id: "anonymous-pro-terminal-font", + instantiate: () => ({ + name:"Anonymous Pro", + url: AnonymousPro, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default anonymousProTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/fonts.injectable.ts b/src/features/terminal/renderer/fonts/fonts.injectable.ts new file mode 100644 index 0000000000..2c8dc1d57a --- /dev/null +++ b/src/features/terminal/renderer/fonts/fonts.injectable.ts @@ -0,0 +1,13 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; + +const terminalFontsInjectable = getInjectable({ + id: "terminal-fonts", + instantiate: (di) => di.injectMany(terminalFontInjectionToken), +}); + +export default terminalFontsInjectable; diff --git a/src/features/terminal/renderer/fonts/ibm-plex-mono.injectable.ts b/src/features/terminal/renderer/fonts/ibm-plex-mono.injectable.ts new file mode 100644 index 0000000000..b75440adbc --- /dev/null +++ b/src/features/terminal/renderer/fonts/ibm-plex-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import IBMPlexMono from "./IBMPlexMono-Regular.ttf"; + +const ibmPlexMonoTerminalFontInjectable = getInjectable({ + id: "ibm-plex-mono-terminal-font", + instantiate: () => ({ + name: "IBM Plex Mono", + url: IBMPlexMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default ibmPlexMonoTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/jetbrains-mono.injectable.ts b/src/features/terminal/renderer/fonts/jetbrains-mono.injectable.ts new file mode 100644 index 0000000000..c86d93d55a --- /dev/null +++ b/src/features/terminal/renderer/fonts/jetbrains-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import JetBrainsMono from "./JetBrainsMono-Regular.ttf"; + +const jetbrainsMonoTerminalFontInjectable = getInjectable({ + id: "jetbrains-mono-terminal-font", + instantiate: () => ({ + name: "JetBrains Mono", + url: JetBrainsMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default jetbrainsMonoTerminalFontInjectable; diff --git a/src/renderer/components/dock/terminal/terminal-fonts.global-override-for-injectable.ts b/src/features/terminal/renderer/fonts/load-font.global-override-for-injectable.ts similarity index 52% rename from src/renderer/components/dock/terminal/terminal-fonts.global-override-for-injectable.ts rename to src/features/terminal/renderer/fonts/load-font.global-override-for-injectable.ts index eb549af384..0d1b23bfde 100644 --- a/src/renderer/components/dock/terminal/terminal-fonts.global-override-for-injectable.ts +++ b/src/features/terminal/renderer/fonts/load-font.global-override-for-injectable.ts @@ -2,13 +2,8 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { getGlobalOverride } from "../../../../common/test-utils/get-global-override"; -import { preloadAllTerminalFontsInjectable } from "./terminal-fonts.injectable"; -export default getGlobalOverride(preloadAllTerminalFontsInjectable, () => { - return { - id: "", - async run() { - }, - }; -}); +import { getGlobalOverride } from "../../../../common/test-utils/get-global-override"; +import loadTerminalFontInjectable from "./load-font.injectable"; + +export default getGlobalOverride(loadTerminalFontInjectable, () => async () => {}); diff --git a/src/features/terminal/renderer/fonts/load-font.injectable.ts b/src/features/terminal/renderer/fonts/load-font.injectable.ts new file mode 100644 index 0000000000..920042e5df --- /dev/null +++ b/src/features/terminal/renderer/fonts/load-font.injectable.ts @@ -0,0 +1,27 @@ +/** + * 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 type { TerminalFont } from "./token"; + +export type LoadTerminalFont = (font: TerminalFont) => Promise; + +const loadTerminalFontInjectable = getInjectable({ + id: "load-terminal-font", + instantiate: (): LoadTerminalFont => async (font) => { + const fontLoaded = document.fonts.check(`10px ${font.name}`); + + if (fontLoaded) { + return; + } + + const fontFace = new FontFace(font.name, `url(${font.url})`); + + document.fonts.add(fontFace); + await fontFace.load(); + }, + causesSideEffects: true, +}); + +export default loadTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/preload-fonts.injectable.ts b/src/features/terminal/renderer/fonts/preload-fonts.injectable.ts new file mode 100644 index 0000000000..64c40247b7 --- /dev/null +++ b/src/features/terminal/renderer/fonts/preload-fonts.injectable.ts @@ -0,0 +1,24 @@ +/** + * 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 { beforeFrameStartsFirstInjectionToken } from "../../../../renderer/before-frame-starts/tokens"; +import terminalFontsInjectable from "./fonts.injectable"; +import loadTerminalFontInjectable from "./load-font.injectable"; + +const preloadTerminalFontsInjectable = getInjectable({ + id: "preload-terminal-fonts", + instantiate: (di) => ({ + id: "preload-terminal-fonts", + run: async () => { + const terminalFonts = di.inject(terminalFontsInjectable); + const loadTerminalFont = di.inject(loadTerminalFontInjectable); + + await Promise.allSettled(terminalFonts.map(loadTerminalFont)); + }, + }), + injectionToken: beforeFrameStartsFirstInjectionToken, +}); + +export default preloadTerminalFontsInjectable; diff --git a/src/features/terminal/renderer/fonts/red-hat-mono.injectable.ts b/src/features/terminal/renderer/fonts/red-hat-mono.injectable.ts new file mode 100644 index 0000000000..4229bc8d1d --- /dev/null +++ b/src/features/terminal/renderer/fonts/red-hat-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import RedHatMono from "./RedHatMono-Regular.ttf"; + +const redHatMonoTerminalFontInjectable = getInjectable({ + id: "red-hat-mono-terminal-font", + instantiate: () => ({ + name: "Red Hat Mono", + url: RedHatMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default redHatMonoTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/roboto-mono.injectable.ts b/src/features/terminal/renderer/fonts/roboto-mono.injectable.ts new file mode 100644 index 0000000000..e3aa188486 --- /dev/null +++ b/src/features/terminal/renderer/fonts/roboto-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import RobotoMono from "./Roboto-Mono.ttf"; // patched font with icons + +const robotoMonoTerminalFontInjectable = getInjectable({ + id: "roboto-mono-terminal-font", + instantiate: () => ({ + name: "RobotoMono", + url: RobotoMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default robotoMonoTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/source-code-pro.injectable.ts b/src/features/terminal/renderer/fonts/source-code-pro.injectable.ts new file mode 100644 index 0000000000..8b84a275f3 --- /dev/null +++ b/src/features/terminal/renderer/fonts/source-code-pro.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import SourceCodePro from "./SourceCodePro-Regular.ttf"; + +const sourceCodeProTerminalFontInjectable = getInjectable({ + id: "source-code-pro-terminal-font", + instantiate: () => ({ + name: "Source Code Pro", + url: SourceCodePro, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default sourceCodeProTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/space-mono.injectable.ts b/src/features/terminal/renderer/fonts/space-mono.injectable.ts new file mode 100644 index 0000000000..ea2df1c72e --- /dev/null +++ b/src/features/terminal/renderer/fonts/space-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import SpaceMono from "./SpaceMono-Regular.ttf"; + +const spaceMonoTerminalFontInjectable = getInjectable({ + id: "space-mono-terminal-font", + instantiate: () => ({ + name: "Space Mono", + url: SpaceMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default spaceMonoTerminalFontInjectable; diff --git a/src/features/terminal/renderer/fonts/token.ts b/src/features/terminal/renderer/fonts/token.ts new file mode 100644 index 0000000000..8f90d400e2 --- /dev/null +++ b/src/features/terminal/renderer/fonts/token.ts @@ -0,0 +1,15 @@ +/** + * 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 interface TerminalFont { + name: string; + url: string; +} + +export const terminalFontInjectionToken = getInjectionToken({ + id: "terminal-font-token", +}); diff --git a/src/features/terminal/renderer/fonts/ubuntu-mono.injectable.ts b/src/features/terminal/renderer/fonts/ubuntu-mono.injectable.ts new file mode 100644 index 0000000000..ab8ffb7b78 --- /dev/null +++ b/src/features/terminal/renderer/fonts/ubuntu-mono.injectable.ts @@ -0,0 +1,18 @@ +/** + * 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 { terminalFontInjectionToken } from "./token"; +import UbuntuMono from "./UbuntuMono-Regular.ttf"; + +const ubunutuMonoTerminalFontInjectable = getInjectable({ + id: "ubunutu-mono-terminal-font", + instantiate: () => ({ + name: "Ubuntu Mono", + url: UbuntuMono, + }), + injectionToken: terminalFontInjectionToken, +}); + +export default ubunutuMonoTerminalFontInjectable; diff --git a/src/renderer/components/dock/terminal/terminal-fonts.injectable.ts b/src/renderer/components/dock/terminal/terminal-fonts.injectable.ts deleted file mode 100644 index 1609f8b411..0000000000 --- a/src/renderer/components/dock/terminal/terminal-fonts.injectable.ts +++ /dev/null @@ -1,78 +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 { beforeFrameStartsFirstInjectionToken } from "../../../before-frame-starts/tokens"; -import RobotoMono from "../../../fonts/Roboto-Mono-nerd.ttf"; // patched font with icons -import AnonymousPro from "../../../fonts/AnonymousPro-Regular.ttf"; -import IBMPlexMono from "../../../fonts/IBMPlexMono-Regular.ttf"; -import JetBrainsMono from "../../../fonts/JetBrainsMono-Regular.ttf"; -import RedHatMono from "../../../fonts/RedHatMono-Regular.ttf"; -import SourceCodePro from "../../../fonts/SourceCodePro-Regular.ttf"; -import SpaceMono from "../../../fonts/SpaceMono-Regular.ttf"; -import UbuntuMono from "../../../fonts/UbuntuMono-Regular.ttf"; - -export const terminalFontsInjectable = getInjectable({ - id: "terminalFontsInjectable", - - instantiate() { - return new Map([ - ["RobotoMono", RobotoMono], - ["Anonymous Pro", AnonymousPro], - ["IBM Plex Mono", IBMPlexMono], - ["JetBrains Mono", JetBrainsMono], - ["Red Hat Mono", RedHatMono], - ["Source Code Pro", SourceCodePro], - ["Space Mono", SpaceMono], - ["Ubuntu Mono", UbuntuMono], - ]); - }, -}); - - -export const preloadTerminalFontInjectable = getInjectable({ - id: "preloadTerminalFontInjectable", - - instantiate(di) { - const terminalFonts = di.inject(terminalFontsInjectable); - - return async function (fontFamily: string): Promise { - const fontBundledPath = terminalFonts.get(fontFamily); - const fontLoaded = document.fonts.check(`10px ${fontFamily}`); - - if (fontLoaded || !fontBundledPath) return; - - const font = new FontFace(fontFamily, `url(${fontBundledPath})`); - - document.fonts.add(font); - await font.load(); - }; - }, - - causesSideEffects: true, -}); - -export const preloadAllTerminalFontsInjectable = getInjectable({ - id: "preloadAllTerminalFontsInjectable", - - instantiate(di) { - const terminalFonts = di.inject(terminalFontsInjectable); - const preloadFont = di.inject(preloadTerminalFontInjectable); - - return { - id: "preload-all-terminal-fonts", - - async run() { - await Promise.allSettled( - Array.from(terminalFonts.keys()).map(preloadFont), - ); - }, - }; - }, - - injectionToken: beforeFrameStartsFirstInjectionToken, - - causesSideEffects: true, -}); diff --git a/types/mocks.d.ts b/types/mocks.d.ts index 3826aac829..1835be0c25 100644 --- a/types/mocks.d.ts +++ b/types/mocks.d.ts @@ -32,4 +32,8 @@ declare module "*.png"; declare module "*.eot"; declare module "*.woff"; declare module "*.woff2"; -declare module "*.ttf"; + +declare module "*.ttf" { + const content: string; + export = content; +} From 9f9570c3e80a625ad427115ad4d443ac59faee48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 08:13:23 -0500 Subject: [PATCH 2/7] Bump eslint-plugin-import from 2.27.4 to 2.27.5 (#6953) Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.27.4 to 2.27.5. - [Release notes](https://github.com/import-js/eslint-plugin-import/releases) - [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md) - [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.27.4...v2.27.5) --- updated-dependencies: - dependency-name: eslint-plugin-import dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 3398b48ade..c3ef59a3b1 100644 --- a/package.json +++ b/package.json @@ -392,7 +392,7 @@ "eslint": "^8.32.0", "eslint-import-resolver-typescript": "^3.5.3", "eslint-plugin-header": "^3.1.1", - "eslint-plugin-import": "^2.27.4", + "eslint-plugin-import": "^2.27.5", "eslint-plugin-react": "7.32.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unused-imports": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 4b676d2ca1..48a826ab86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3483,7 +3483,7 @@ array.prototype.flat@^1.3.1: es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.0, array.prototype.flatmap@^1.3.1: +array.prototype.flatmap@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== @@ -5873,14 +5873,14 @@ eslint-plugin-header@^3.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6" integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== -eslint-plugin-import@^2.27.4: - version "2.27.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz#319c2f6f6580e1678d674a258ee5e981c10cc25b" - integrity sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA== +eslint-plugin-import@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: array-includes "^3.1.6" array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.0" + array.prototype.flatmap "^1.3.1" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.7" From d3a3d7234a31e215b58a7ea315b3f64673fa912d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 08:15:07 -0500 Subject: [PATCH 3/7] Bump eslint-plugin-react from 7.32.0 to 7.32.1 (#6956) Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.0 to 7.32.1. - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.0...v7.32.1) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Signed-off-by: Sebastian Malton Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sebastian Malton --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 48a826ab86..cc60a5fde9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5899,10 +5899,10 @@ eslint-plugin-react-hooks@^4.6.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.0.tgz#d80f794a638c5770f952ba2ae793f0a516be7c09" - integrity sha512-vSBi1+SrPiLZCGvxpiZIa28fMEUaMjXtCplrvxcIxGzmFiYdsXQDwInEjuv5/i/2CTTxbkS87tE8lsQ0Qxinbw== +eslint-plugin-react@7.32.1: + version "7.32.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz#88cdeb4065da8ca0b64e1274404f53a0f9890200" + integrity sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www== dependencies: array-includes "^3.1.6" array.prototype.flatmap "^1.3.1" From 8ace84f7e738a6a8203ef0e0528cfab7fa99bba7 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 17 Jan 2023 05:55:52 -0800 Subject: [PATCH 4/7] Delay removing iframe to fix renderer crash (#6952) Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- .../cluster-manager/cluster-frame-handler.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/cluster-manager/cluster-frame-handler.ts b/src/renderer/components/cluster-manager/cluster-frame-handler.ts index cc980eb91d..f1b169915f 100644 --- a/src/renderer/components/cluster-manager/cluster-frame-handler.ts +++ b/src/renderer/components/cluster-manager/cluster-frame-handler.ts @@ -88,7 +88,15 @@ export class ClusterFrameHandler { () => { this.dependencies.logger.info(`[LENS-VIEW]: remove dashboard, clusterId=${clusterId}`); this.views.delete(clusterId); - parentElem.removeChild(iframe); + + // Must only remove iframe from DOM after it unloads old code. Else it crashes + iframe.addEventListener("load", () => parentElem.removeChild(iframe), { + once: true, + }); + + // This causes the old code to be unloaded. + iframe.setAttribute("src", ""); + dispose(); }, ); From 5ca12f41e9b806b09f050f5a872a9a668a83a8f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 08:57:08 -0500 Subject: [PATCH 5/7] Bump immer from 9.0.17 to 9.0.18 (#6955) Bumps [immer](https://github.com/immerjs/immer) from 9.0.17 to 9.0.18. - [Release notes](https://github.com/immerjs/immer/releases) - [Commits](https://github.com/immerjs/immer/compare/v9.0.17...v9.0.18) --- updated-dependencies: - dependency-name: immer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c3ef59a3b1..520d54f245 100644 --- a/package.json +++ b/package.json @@ -262,7 +262,7 @@ "history": "^4.10.1", "hpagent": "^1.2.0", "http-proxy": "^1.18.1", - "immer": "^9.0.17", + "immer": "^9.0.18", "joi": "^17.7.0", "js-yaml": "^4.1.0", "jsdom": "^16.7.0", diff --git a/yarn.lock b/yarn.lock index cc60a5fde9..e05990b816 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7454,10 +7454,10 @@ immediate@~3.0.5: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= -immer@^9.0.17: - version "9.0.17" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.17.tgz#7cfe8fbb8b461096444e9da7a5ec4a67c6c4adf4" - integrity sha512-+hBruaLSQvkPfxRiTLK/mi4vLH+/VQS6z2KJahdoxlleFOI8ARqzOF17uy12eFDlqWmPoygwc5evgwcp+dlHhg== +immer@^9.0.18: + version "9.0.18" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.18.tgz#d2faee58fd0e34f017f329b98cdab37826fa31b8" + integrity sha512-eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A== immutable@^4.0.0: version "4.0.0" From b2ac628d054093685c7bc686fb8c9115dd2d49ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 09:00:06 -0500 Subject: [PATCH 6/7] Bump @typescript-eslint/* from 5.48.1 to 5.48.2 (#6954) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.48.1 to 5.48.2. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.48.2/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 4 +-- yarn.lock | 96 ++++++++++++++++++++++++++-------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 520d54f245..7c736a4c31 100644 --- a/package.json +++ b/package.json @@ -370,8 +370,8 @@ "@types/webpack-dev-server": "^4.7.2", "@types/webpack-env": "^1.18.0", "@types/webpack-node-externals": "^2.5.3", - "@typescript-eslint/eslint-plugin": "^5.48.1", - "@typescript-eslint/parser": "^5.48.1", + "@typescript-eslint/eslint-plugin": "^5.48.2", + "@typescript-eslint/parser": "^5.48.2", "adr": "^1.4.3", "ansi_up": "^5.1.0", "chalk": "^4.1.2", diff --git a/yarn.lock b/yarn.lock index e05990b816..3f4672f51e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2868,14 +2868,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz#deee67e399f2cb6b4608c935777110e509d8018c" - integrity sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ== +"@typescript-eslint/eslint-plugin@^5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3" + integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg== dependencies: - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/type-utils" "5.48.1" - "@typescript-eslint/utils" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/type-utils" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -2883,72 +2883,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.1.tgz#d0125792dab7e232035434ab8ef0658154db2f10" - integrity sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA== +"@typescript-eslint/parser@^5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3" + integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw== dependencies: - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/typescript-estree" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz#39c71e4de639f5fe08b988005beaaf6d79f9d64d" - integrity sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ== +"@typescript-eslint/scope-manager@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" + integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== dependencies: - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/visitor-keys" "5.48.1" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" -"@typescript-eslint/type-utils@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz#5d94ac0c269a81a91ad77c03407cea2caf481412" - integrity sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ== +"@typescript-eslint/type-utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7" + integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew== dependencies: - "@typescript-eslint/typescript-estree" "5.48.1" - "@typescript-eslint/utils" "5.48.1" + "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.1.tgz#efd1913a9aaf67caf8a6e6779fd53e14e8587e14" - integrity sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg== +"@typescript-eslint/types@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" + integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== -"@typescript-eslint/typescript-estree@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz#9efa8ee2aa471c6ab62e649f6e64d8d121bc2056" - integrity sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA== +"@typescript-eslint/typescript-estree@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" + integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== dependencies: - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/visitor-keys" "5.48.1" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.1.tgz#20f2f4e88e9e2a0961cbebcb47a1f0f7da7ba7f9" - integrity sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA== +"@typescript-eslint/utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" + integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/typescript-estree" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz#79fd4fb9996023ef86849bf6f904f33eb6c8fccb" - integrity sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA== +"@typescript-eslint/visitor-keys@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" + integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== dependencies: - "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/types" "5.48.2" eslint-visitor-keys "^3.3.0" "@webassemblyjs/ast@1.11.1": From 7c9520181c7c7b069840b1e86f13b9b01816e8e0 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 17 Jan 2023 08:04:29 -0800 Subject: [PATCH 7/7] Update lockfile (#6965) * Update lockfile Signed-off-by: Sebastian Malton * Update lockfile Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- package.json | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7c736a4c31..e05f484da9 100644 --- a/package.json +++ b/package.json @@ -393,7 +393,7 @@ "eslint-import-resolver-typescript": "^3.5.3", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-react": "7.32.0", + "eslint-plugin-react": "^7.32.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-unused-imports": "^2.0.0", "fork-ts-checker-webpack-plugin": "^6.5.2", diff --git a/yarn.lock b/yarn.lock index 3f4672f51e..8962848499 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5899,7 +5899,7 @@ eslint-plugin-react-hooks@^4.6.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@7.32.1: +eslint-plugin-react@^7.32.1: version "7.32.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz#88cdeb4065da8ca0b64e1274404f53a0f9890200" integrity sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==