From 807f98ed1ba92ecd147979c92a9012c4a5438c09 Mon Sep 17 00:00:00 2001
From: Sebastian Malton
Date: Wed, 5 Apr 2023 10:56:23 -0400
Subject: [PATCH] Persist apiVersion when editing resources in monaco (#4406)
* Persist apiVersion when editing resources in monaco
- Use a new custom k8slens prefixed label
- Means that users aren't surprised when they use lens to update a
resource to a new apiVersionWithGroup
- Doesn't touch the versions in the stores
Signed-off-by: Sebastian Malton
* Fix lint
Signed-off-by: Sebastian Malton
* fix: Fix lint issues
Signed-off-by: Sebastian Malton
* chore: make lint not bail on failure
Signed-off-by: Sebastian Malton
* chore: Run lint:fix on all files
Signed-off-by: Sebastian Malton
---------
Signed-off-by: Sebastian Malton
---
package.json | 2 +-
.../src/invoke-shortcut.injectable.ts | 39 +++---
.../src/keyboard-shortcut-listener.tsx | 5 +-
.../src/keyboard-shortcuts.test.tsx | 3 +-
.../core/src/common/k8s-api/kube-api-parse.ts | 20 ++-
packages/core/src/common/k8s-api/kube-api.ts | 2 +-
.../core/src/common/k8s-api/kube-object.ts | 42 ++-----
.../edit-namespace-from-new-tab.test.tsx.snap | 2 +
.../edit-namespace-from-new-tab.test.tsx | 41 +++++--
...ls.test.tsx.snap => details.test.tsx.snap} | 0
.../{hpa-details.scss => details.scss} | 1 +
...{hpa-details.test.tsx => details.test.tsx} | 28 ++---
.../{hpa-details.tsx => details.tsx} | 10 +-
...-hpa-metric-name.ts => get-metric-name.ts} | 0
...njectable.ts => get-metrics.injectable.ts} | 6 +-
.../index.ts | 4 +-
.../{hpa.scss => list-view.scss} | 0
.../{hpa.tsx => list-view.tsx} | 4 +-
...1-metric-parser.ts => metric-parser-v1.ts} | 0
...2-metric-parser.ts => metric-parser-v2.ts} | 0
...-metrics.test.ts => metric-parser.test.ts} | 12 +-
...table.ts => route-component.injectable.ts} | 2 +-
...table.tsx => sidebar-items.injectable.tsx} | 0
.../call-for-resource.injectable.ts | 27 ++--
.../edit-resource-model.injectable.tsx | 116 ++++++++++++------
.../components/dock/edit-resource/view.tsx | 6 +-
...l-pod-autoscaler-detail-item.injectable.ts | 4 +-
.../monaco-editor/monaco-editor.tsx | 8 +-
.../eslint-config/prettier-config.json | 2 +-
.../start-application.injectable.ts | 4 +-
.../start-electron-application.injectable.ts | 7 +-
...rting-of-electron-main-application.test.ts | 5 +-
.../feature-core/src/deregister-feature.ts | 12 +-
.../src/feature-dependencies.test.ts | 16 +--
.../feature-core/src/register-feature.ts | 10 +-
.../agnostic/src/features/actual/index.ts | 10 +-
.../listening-of-channels.injectable.ts | 12 +-
...essage-channel-listener-injection-token.ts | 16 +--
...essage-channel-listener-injection-token.ts | 9 +-
...equest-channel-listener-injection-token.ts | 12 +-
.../actual/request/get-request-channel.ts | 4 +-
...equest-channel-listener-injection-token.ts | 5 +-
.../request-from-channel-injection-token.ts | 10 +-
.../src/listening-of-requests.test.ts | 4 +-
.../messaging/computed-channel/index.ts | 5 +-
.../computed-channel.injectable.ts | 14 +--
.../computed-channel.test.tsx | 51 ++------
.../enlist-message-channel-listener.test.ts | 5 +-
.../request-from-channel.injectable.ts | 10 +-
...allow-communication-listener.injectable.ts | 4 +-
...llow-communication-to-iframe.injectable.ts | 4 +-
.../enlist-message-channel-listener.test.ts | 5 +-
.../get-message-bridge-fake.test.ts | 38 ++----
.../get-message-bridge-fake.ts | 6 +-
.../react-application/react-application.tsx | 4 +-
.../react-testing-library-discovery/index.ts | 7 +-
.../src/discovery-of-html-elements.ts | 20 +--
57 files changed, 295 insertions(+), 400 deletions(-)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/__snapshots__/{hpa-details.test.tsx.snap => details.test.tsx.snap} (100%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa-details.scss => details.scss} (99%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa-details.test.tsx => details.test.tsx} (92%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa-details.tsx => details.tsx} (93%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{get-hpa-metric-name.ts => get-metric-name.ts} (100%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{get-hpa-metrics.injectable.ts => get-metrics.injectable.ts} (93%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa.scss => list-view.scss} (100%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa.tsx => list-view.tsx} (97%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa-v1-metric-parser.ts => metric-parser-v1.ts} (100%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{hpa-v2-metric-parser.ts => metric-parser-v2.ts} (100%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{horizontal-pod-autoscaler-metrics.test.ts => metric-parser.test.ts} (99%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{horizontal-pod-autoscalers-route-component.injectable.ts => route-component.injectable.ts} (94%)
rename packages/core/src/renderer/components/+config-horizontal-pod-autoscalers/{horizontal-pod-auto-scalers-sidebar-items.injectable.tsx => sidebar-items.injectable.tsx} (100%)
diff --git a/package.json b/package.json
index 3bbf863063..2f9a957217 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"postdev": "lerna watch -- lerna run build --stream --scope \\$LERNA_PACKAGE_NAME",
"prestart-dev": "cd packages/open-lens && rimraf static/build/ && npm run build:tray-icons && npm run download:binaries",
"start-dev": "lerna run start",
- "lint": "lerna run lint --stream",
+ "lint": "lerna run lint --stream --no-bail",
"lint:fix": "lerna run lint:fix --stream",
"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",
diff --git a/packages/business-features/keyboard-shortcuts/src/invoke-shortcut.injectable.ts b/packages/business-features/keyboard-shortcuts/src/invoke-shortcut.injectable.ts
index 5b0c324203..ecab52138b 100644
--- a/packages/business-features/keyboard-shortcuts/src/invoke-shortcut.injectable.ts
+++ b/packages/business-features/keyboard-shortcuts/src/invoke-shortcut.injectable.ts
@@ -1,11 +1,7 @@
import { pipeline } from "@ogre-tools/fp";
import { filter, isString } from "lodash/fp";
import { getInjectable } from "@ogre-tools/injectable";
-import {
- Binding,
- KeyboardShortcut,
- keyboardShortcutInjectionToken,
-} from "./keyboard-shortcut-injection-token";
+import { Binding, KeyboardShortcut, keyboardShortcutInjectionToken } from "./keyboard-shortcut-injection-token";
import platformInjectable from "./platform.injectable";
export type InvokeShortcut = (event: KeyboardEvent) => void;
@@ -46,29 +42,26 @@ const toBindingWithDefaults = (binding: Binding) =>
...binding,
};
-const toShortcutsWithMatchingBinding =
- (event: KeyboardEvent, platform: string) => (shortcut: KeyboardShortcut) => {
- const binding = toBindingWithDefaults(shortcut.binding);
+const toShortcutsWithMatchingBinding = (event: KeyboardEvent, platform: string) => (shortcut: KeyboardShortcut) => {
+ const binding = toBindingWithDefaults(shortcut.binding);
- const shiftModifierMatches = binding.shift === event.shiftKey;
- const altModifierMatches = binding.altOrOption === event.altKey;
+ const shiftModifierMatches = binding.shift === event.shiftKey;
+ const altModifierMatches = binding.altOrOption === event.altKey;
- const isMac = platform === "darwin";
+ const isMac = platform === "darwin";
- const ctrlModifierMatches =
- binding.ctrl === event.ctrlKey || (!isMac && binding.ctrlOrCommand === event.ctrlKey);
+ const ctrlModifierMatches = binding.ctrl === event.ctrlKey || (!isMac && binding.ctrlOrCommand === event.ctrlKey);
- const metaModifierMatches =
- binding.meta === event.metaKey || (isMac && binding.ctrlOrCommand === event.metaKey);
+ const metaModifierMatches = binding.meta === event.metaKey || (isMac && binding.ctrlOrCommand === event.metaKey);
- return (
- event.code === binding.code &&
- shiftModifierMatches &&
- ctrlModifierMatches &&
- altModifierMatches &&
- metaModifierMatches
- );
- };
+ return (
+ event.code === binding.code &&
+ shiftModifierMatches &&
+ ctrlModifierMatches &&
+ altModifierMatches &&
+ metaModifierMatches
+ );
+};
const invokeShortcutInjectable = getInjectable({
id: "invoke-shortcut",
diff --git a/packages/business-features/keyboard-shortcuts/src/keyboard-shortcut-listener.tsx b/packages/business-features/keyboard-shortcuts/src/keyboard-shortcut-listener.tsx
index 5f2479d059..5dad663129 100644
--- a/packages/business-features/keyboard-shortcuts/src/keyboard-shortcut-listener.tsx
+++ b/packages/business-features/keyboard-shortcuts/src/keyboard-shortcut-listener.tsx
@@ -26,10 +26,7 @@ const NonInjectedKeyboardShortcutListener = ({
return <>{children}>;
};
-export const KeyboardShortcutListener = withInjectables<
- Dependencies,
- KeyboardShortcutListenerProps
->(
+export const KeyboardShortcutListener = withInjectables(
NonInjectedKeyboardShortcutListener,
{
diff --git a/packages/business-features/keyboard-shortcuts/src/keyboard-shortcuts.test.tsx b/packages/business-features/keyboard-shortcuts/src/keyboard-shortcuts.test.tsx
index d2bbfb85a4..3631a4fa98 100644
--- a/packages/business-features/keyboard-shortcuts/src/keyboard-shortcuts.test.tsx
+++ b/packages/business-features/keyboard-shortcuts/src/keyboard-shortcuts.test.tsx
@@ -175,8 +175,7 @@ describe("keyboard-shortcuts", () => {
shouldCallCallback: true,
},
{
- scenario:
- "given shortcut with shift modifier, when shortcut is pressed, calls the callback",
+ scenario: "given shortcut with shift modifier, when shortcut is pressed, calls the callback",
binding: { shift: true, code: "F1" },
keyboard: "{Shift>}[F1]",
diff --git a/packages/core/src/common/k8s-api/kube-api-parse.ts b/packages/core/src/common/k8s-api/kube-api-parse.ts
index 2bb397a8be..522e2812b8 100644
--- a/packages/core/src/common/k8s-api/kube-api-parse.ts
+++ b/packages/core/src/common/k8s-api/kube-api-parse.ts
@@ -109,7 +109,25 @@ export function parseKubeApi(path: string): IKubeApiParsed {
};
}
-export function createKubeApiURL({ apiPrefix = "/apis", resource, apiVersion, name, namespace }: IKubeApiLinkRef): string {
+function isIKubeApiParsed(refOrParsed: IKubeApiLinkRef | IKubeApiParsed): refOrParsed is IKubeApiParsed {
+ return "apiGroup" in refOrParsed;
+}
+
+export function createKubeApiURL(linkRef: IKubeApiLinkRef): string;
+export function createKubeApiURL(linkParsed: IKubeApiParsed): string;
+
+export function createKubeApiURL(ref: IKubeApiLinkRef | IKubeApiParsed): string {
+ if (isIKubeApiParsed(ref)) {
+ return createKubeApiURL({
+ apiPrefix: ref.apiPrefix,
+ resource: ref.resource,
+ name: ref.name,
+ namespace: ref.namespace,
+ apiVersion: `${ref.apiGroup}/${ref.apiVersion}`,
+ });
+ }
+
+ const { apiPrefix = "/apis", resource, apiVersion, name, namespace } = ref;
const parts = [apiPrefix, apiVersion];
if (namespace) {
diff --git a/packages/core/src/common/k8s-api/kube-api.ts b/packages/core/src/common/k8s-api/kube-api.ts
index c5ed03abad..cf9d8f15a7 100644
--- a/packages/core/src/common/k8s-api/kube-api.ts
+++ b/packages/core/src/common/k8s-api/kube-api.ts
@@ -193,7 +193,7 @@ export interface KubeApiWatchOptions
));
- return;
+ return null;
}
const { kind, name } = result.response;
- this.dependencies.showSuccessNotification((
+ this.dependencies.showSuccessNotification(
- {`${kind} `}
+ {kind}
+ {" "}
{name}
{" updated."}
-
- ));
+ ,
+ );
runInAction(() => {
- this.editingResource.firstDraft = currentValue;
+ this.editingResource.firstDraft = yaml.dump(currentVersion);
+ this.editingResource.resource = selfLink;
});
- return result.response.toString();
+ // NOTE: This is required for `saveAndClose` to work correctly
+ return [];
};
}
diff --git a/packages/core/src/renderer/components/dock/edit-resource/view.tsx b/packages/core/src/renderer/components/dock/edit-resource/view.tsx
index 0465f80c93..107728e81d 100644
--- a/packages/core/src/renderer/components/dock/edit-resource/view.tsx
+++ b/packages/core/src/renderer/components/dock/edit-resource/view.tsx
@@ -56,12 +56,14 @@ const NonInjectedEditResource = observer(({
Namespace:
- )} />
+ )}
+ />
+ onError={model.configuration.error.onChange}
+ />
>
)
}
diff --git a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/implementations/horizontal-pod-autoscaler-detail-item.injectable.ts b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/implementations/horizontal-pod-autoscaler-detail-item.injectable.ts
index 8fe4b7da38..449feac7ea 100644
--- a/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/implementations/horizontal-pod-autoscaler-detail-item.injectable.ts
+++ b/packages/core/src/renderer/components/kube-object-details/kube-object-detail-items/implementations/horizontal-pod-autoscaler-detail-item.injectable.ts
@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { kubeObjectDetailItemInjectionToken } from "../kube-object-detail-item-injection-token";
-import { HpaDetails } from "../../../+config-horizontal-pod-autoscalers";
+import { HorizontalPodAutoscalerDetails } from "../../../+config-horizontal-pod-autoscalers";
import { computed } from "mobx";
import { kubeObjectMatchesToKindAndApiVersion } from "../kube-object-matches-to-kind-and-api-version";
import currentKubeObjectInDetailsInjectable from "../../current-kube-object-in-details.injectable";
@@ -16,7 +16,7 @@ const horizontalPodAutoscalerDetailItemInjectable = getInjectable({
const kubeObject = di.inject(currentKubeObjectInDetailsInjectable);
return {
- Component: HpaDetails,
+ Component: HorizontalPodAutoscalerDetails,
enabled: computed(() => isHorizontalPodAutoscaler(kubeObject.value.get()?.object)),
orderNumber: 10,
};
diff --git a/packages/core/src/renderer/components/monaco-editor/monaco-editor.tsx b/packages/core/src/renderer/components/monaco-editor/monaco-editor.tsx
index 7e36639c41..592d288e13 100644
--- a/packages/core/src/renderer/components/monaco-editor/monaco-editor.tsx
+++ b/packages/core/src/renderer/components/monaco-editor/monaco-editor.tsx
@@ -246,12 +246,10 @@ class NonInjectedMonacoEditor extends React.Component this.model, this.onModelChange),
- reaction(() => this.theme, theme => {
- if (theme) {
- editor.setTheme(theme);
- }
+ reaction(() => this.theme, editor.setTheme),
+ reaction(() => this.props.value, value => this.setValue(value), {
+ fireImmediately: true,
}),
- reaction(() => this.props.value, value => this.setValue(value)),
reaction(() => this.options, opts => this.editor.updateOptions(opts)),
() => onDidLayoutChangeDisposer.dispose(),
diff --git a/packages/infrastructure/eslint-config/prettier-config.json b/packages/infrastructure/eslint-config/prettier-config.json
index c9f2606a59..7c1cbfc0a5 100644
--- a/packages/infrastructure/eslint-config/prettier-config.json
+++ b/packages/infrastructure/eslint-config/prettier-config.json
@@ -1,5 +1,5 @@
{
- "printWidth": 100,
+ "printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"semi": true,
diff --git a/packages/technical-features/application/agnostic/src/start-application/start-application.injectable.ts b/packages/technical-features/application/agnostic/src/start-application/start-application.injectable.ts
index 87f6d1f7db..ea2f4f8a5b 100644
--- a/packages/technical-features/application/agnostic/src/start-application/start-application.injectable.ts
+++ b/packages/technical-features/application/agnostic/src/start-application/start-application.injectable.ts
@@ -13,9 +13,7 @@ const startApplicationInjectable = getInjectable({
instantiate: (di): StartApplication => {
const runManyAsync = runManyFor(di);
- const beforeApplicationIsLoading = runManyAsync(
- timeSlots.beforeApplicationIsLoadingInjectionToken,
- );
+ const beforeApplicationIsLoading = runManyAsync(timeSlots.beforeApplicationIsLoadingInjectionToken);
const onLoadOfApplication = runManyAsync(timeSlots.onLoadOfApplicationInjectionToken);
const afterApplicationIsLoaded = runManyAsync(timeSlots.afterApplicationIsLoadedInjectionToken);
diff --git a/packages/technical-features/application/electron-main/src/start-application/start-electron-application.injectable.ts b/packages/technical-features/application/electron-main/src/start-application/start-electron-application.injectable.ts
index 495f75ec27..bd17d85991 100644
--- a/packages/technical-features/application/electron-main/src/start-application/start-electron-application.injectable.ts
+++ b/packages/technical-features/application/electron-main/src/start-application/start-electron-application.injectable.ts
@@ -1,9 +1,4 @@
-import {
- DiContainer,
- getInjectable,
- instantiationDecoratorToken,
- lifecycleEnum,
-} from "@ogre-tools/injectable";
+import { DiContainer, getInjectable, instantiationDecoratorToken, lifecycleEnum } from "@ogre-tools/injectable";
import { startApplicationInjectionToken } from "@k8slens/application";
import whenAppIsReadyInjectable from "./when-app-is-ready.injectable";
import { beforeAnythingInjectionToken, beforeElectronIsReadyInjectionToken } from "./time-slots";
diff --git a/packages/technical-features/application/electron-main/src/starting-of-electron-main-application.test.ts b/packages/technical-features/application/electron-main/src/starting-of-electron-main-application.test.ts
index d64cec3bc5..ec4ae1a836 100644
--- a/packages/technical-features/application/electron-main/src/starting-of-electron-main-application.test.ts
+++ b/packages/technical-features/application/electron-main/src/starting-of-electron-main-application.test.ts
@@ -1,10 +1,7 @@
import { createContainer, DiContainer, getInjectable } from "@ogre-tools/injectable";
import { registerFeature } from "@k8slens/feature-core";
import { applicationFeatureForElectronMain } from "./feature";
-import {
- beforeApplicationIsLoadingInjectionToken,
- startApplicationInjectionToken,
-} from "@k8slens/application";
+import { beforeApplicationIsLoadingInjectionToken, startApplicationInjectionToken } from "@k8slens/application";
import asyncFn, { AsyncFnMock } from "@async-fn/jest";
import whenAppIsReadyInjectable from "./start-application/when-app-is-ready.injectable";
import * as timeSlots from "./start-application/time-slots";
diff --git a/packages/technical-features/feature-core/src/deregister-feature.ts b/packages/technical-features/feature-core/src/deregister-feature.ts
index 4476120ab7..8bd08e9077 100644
--- a/packages/technical-features/feature-core/src/deregister-feature.ts
+++ b/packages/technical-features/feature-core/src/deregister-feature.ts
@@ -2,9 +2,7 @@ import type { DiContainer } from "@ogre-tools/injectable";
import type { Feature } from "./feature";
import { featureContextMapInjectable } from "./feature-context-map-injectable";
-const getDependingFeaturesFor = (
- featureContextMap: Map }>,
-) => {
+const getDependingFeaturesFor = (featureContextMap: Map }>) => {
const getDependingFeaturesForRecursion = (feature: Feature, atRoot = true): string[] => {
const context = featureContextMap.get(feature);
@@ -36,11 +34,9 @@ const deregisterFeatureRecursed = (di: DiContainer, feature: Feature, dependedBy
const dependingFeatures = getDependingFeatures(feature);
if (!dependedBy && dependingFeatures.length) {
- throw new Error(
- `Tried to deregister Feature "${
- feature.id
- }", but it is the dependency of Features "${dependingFeatures.join(", ")}"`,
- );
+ const names = dependingFeatures.join(", ");
+
+ throw new Error(`Tried to deregister Feature "${feature.id}", but it is the dependency of Features "${names}"`);
}
if (dependedBy) {
diff --git a/packages/technical-features/feature-core/src/feature-dependencies.test.ts b/packages/technical-features/feature-core/src/feature-dependencies.test.ts
index 8ddf6e11b8..8fb69fe33f 100644
--- a/packages/technical-features/feature-core/src/feature-dependencies.test.ts
+++ b/packages/technical-features/feature-core/src/feature-dependencies.test.ts
@@ -59,9 +59,7 @@ describe("feature-dependencies", () => {
expect(() => {
deregisterFeature(di, someDependencyFeature);
- }).toThrow(
- 'Tried to deregister feature "some-dependency-feature", but it was not registered.',
- );
+ }).toThrow('Tried to deregister feature "some-dependency-feature", but it was not registered.');
});
it("given the parent Feature is deregistered, when injecting an injectable from the dependency Feature, throws", () => {
@@ -104,9 +102,7 @@ describe("feature-dependencies", () => {
it("when the first Feature is deregistered, throws", () => {
expect(() => {
deregisterFeature(di, someFeature1);
- }).toThrow(
- 'Tried to deregister Feature "some-feature-1", but it is the dependency of Features "some-feature-2"',
- );
+ }).toThrow('Tried to deregister Feature "some-feature-1", but it is the dependency of Features "some-feature-2"');
});
it("given the second Feature is deregistered, when injecting an injectable from the first Feature, still does so", () => {
@@ -180,9 +176,7 @@ describe("feature-dependencies", () => {
expect(() => {
di.inject(someInjectableInDependencyFeature);
- }).toThrow(
- 'Tried to inject non-registered injectable "irrelevant" -> "some-injectable-in-dependency-feature".',
- );
+ }).toThrow('Tried to inject non-registered injectable "irrelevant" -> "some-injectable-in-dependency-feature".');
});
});
@@ -256,9 +250,7 @@ describe("feature-dependencies", () => {
expect(() => {
di.inject(someInjectableInDependencyFeature);
- }).toThrow(
- 'Tried to inject non-registered injectable "irrelevant" -> "some-injectable-in-dependency-feature".',
- );
+ }).toThrow('Tried to inject non-registered injectable "irrelevant" -> "some-injectable-in-dependency-feature".');
});
});
});
diff --git a/packages/technical-features/feature-core/src/register-feature.ts b/packages/technical-features/feature-core/src/register-feature.ts
index f02b050002..535a93bf18 100644
--- a/packages/technical-features/feature-core/src/register-feature.ts
+++ b/packages/technical-features/feature-core/src/register-feature.ts
@@ -1,10 +1,7 @@
import type { DiContainer } from "@ogre-tools/injectable";
import { getInjectable } from "@ogre-tools/injectable";
import type { Feature } from "./feature";
-import {
- featureContextMapInjectable,
- featureContextMapInjectionToken,
-} from "./feature-context-map-injectable";
+import { featureContextMapInjectable, featureContextMapInjectionToken } from "./feature-context-map-injectable";
const createFeatureContext = (feature: Feature, di: DiContainer) => {
const featureContextInjectable = getInjectable({
@@ -58,10 +55,9 @@ const registerFeatureRecursed = (di: DiContainer, feature: Feature, dependedBy?:
if (dependedBy) {
const oldNumberOfDependents = featureContext.dependedBy.get(dependedBy) || 0;
+ const newNumberOfDependents = oldNumberOfDependents + 1;
- const newNumberOfDependants = oldNumberOfDependents + 1;
-
- featureContext.dependedBy.set(dependedBy, newNumberOfDependants);
+ featureContext.dependedBy.set(dependedBy, newNumberOfDependents);
}
if (!existingFeatureContext) {
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/index.ts b/packages/technical-features/messaging/agnostic/src/features/actual/index.ts
index f85542c954..f0acf5ee1c 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/index.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/index.ts
@@ -21,15 +21,9 @@ export {
getMessageChannelListenerInjectable,
} from "./message/message-channel-listener-injection-token";
-export type {
- RequestChannel,
- RequestChannelHandler,
-} from "./request/request-channel-listener-injection-token";
+export type { RequestChannel, RequestChannelHandler } from "./request/request-channel-listener-injection-token";
-export type {
- RequestFromChannel,
- ChannelRequester,
-} from "./request/request-from-channel-injection-token";
+export type { RequestFromChannel, ChannelRequester } from "./request/request-from-channel-injection-token";
export type { EnlistMessageChannelListener } from "./message/enlist-message-channel-listener-injection-token";
export { enlistMessageChannelListenerInjectionToken } from "./message/enlist-message-channel-listener-injection-token";
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/listening-of-channels/listening-of-channels.injectable.ts b/packages/technical-features/messaging/agnostic/src/features/actual/listening-of-channels/listening-of-channels.injectable.ts
index 9040939f06..6d65621f12 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/listening-of-channels/listening-of-channels.injectable.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/listening-of-channels/listening-of-channels.injectable.ts
@@ -21,9 +21,7 @@ export const listeningOfChannelsInjectionToken = getInjectionToken | RequestChannel },
->(
+const listening = | RequestChannel }>(
channelListeners: IComputedValue,
enlistChannelListener: (listener: T) => () => void,
getId: (listener: T) => string,
@@ -33,9 +31,7 @@ const listening = <
const reactionDisposer = reaction(
() => channelListeners.get(),
(newValues, oldValues = []) => {
- const addedListeners = newValues.filter(
- (newValue) => !oldValues.some((oldValue) => oldValue.id === newValue.id),
- );
+ const addedListeners = newValues.filter((newValue) => !oldValues.some((oldValue) => oldValue.id === newValue.id));
const removedListeners = oldValues.filter(
(oldValue) => !newValues.some((newValue) => newValue.id === oldValue.id),
@@ -45,9 +41,7 @@ const listening = <
const id = getId(listener);
if (listenerDisposers.has(id)) {
- throw new Error(
- `Tried to add listener for channel "${listener.channel.id}" but listener already exists.`,
- );
+ throw new Error(`Tried to add listener for channel "${listener.channel.id}" but listener already exists.`);
}
const disposer = enlistChannelListener(listener);
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/message/enlist-message-channel-listener-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/message/enlist-message-channel-listener-injection-token.ts
index 1bb114ca09..19f4b32df6 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/message/enlist-message-channel-listener-injection-token.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/message/enlist-message-channel-listener-injection-token.ts
@@ -1,16 +1,10 @@
import type { Disposer } from "@k8slens/utilities";
import { getInjectionToken } from "@ogre-tools/injectable";
-import type {
- MessageChannel,
- MessageChannelListener,
-} from "./message-channel-listener-injection-token";
+import type { MessageChannel, MessageChannelListener } from "./message-channel-listener-injection-token";
-export type EnlistMessageChannelListener = (
- listener: MessageChannelListener>,
-) => Disposer;
+export type EnlistMessageChannelListener = (listener: MessageChannelListener>) => Disposer;
-export const enlistMessageChannelListenerInjectionToken =
- getInjectionToken({
- id: "listening-to-a-message-channel",
- });
+export const enlistMessageChannelListenerInjectionToken = getInjectionToken({
+ id: "listening-to-a-message-channel",
+});
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/message/message-channel-listener-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/message/message-channel-listener-injection-token.ts
index 0558bf6598..0e2ee20a64 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/message/message-channel-listener-injection-token.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/message/message-channel-listener-injection-token.ts
@@ -18,9 +18,7 @@ export interface MessageChannelListener {
handler: MessageChannelHandler;
}
-export const messageChannelListenerInjectionToken = getInjectionToken<
- MessageChannelListener>
->({
+export const messageChannelListenerInjectionToken = getInjectionToken>>({
id: "message-channel-listener",
});
@@ -31,10 +29,7 @@ export interface GetMessageChannelListenerInfo,
- Message,
->(
+export const getMessageChannelListenerInjectable = , Message>(
info: GetMessageChannelListenerInfo,
) =>
getInjectable({
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/request/enlist-request-channel-listener-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/request/enlist-request-channel-listener-injection-token.ts
index 7f2a04a78d..8f2d6c2c81 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/request/enlist-request-channel-listener-injection-token.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/request/enlist-request-channel-listener-injection-token.ts
@@ -1,16 +1,12 @@
import type { Disposer } from "@k8slens/utilities/index";
import { getInjectionToken } from "@ogre-tools/injectable";
-import type {
- RequestChannel,
- RequestChannelListener,
-} from "./request-channel-listener-injection-token";
+import type { RequestChannel, RequestChannelListener } from "./request-channel-listener-injection-token";
export type EnlistRequestChannelListener = (
listener: RequestChannelListener>,
) => Disposer;
-export const enlistRequestChannelListenerInjectionToken =
- getInjectionToken({
- id: "listening-to-a-request-channel",
- });
+export const enlistRequestChannelListenerInjectionToken = getInjectionToken({
+ id: "listening-to-a-request-channel",
+});
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/request/get-request-channel.ts b/packages/technical-features/messaging/agnostic/src/features/actual/request/get-request-channel.ts
index c0ee40bcf4..e89f8a8d0e 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/request/get-request-channel.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/request/get-request-channel.ts
@@ -1,7 +1,5 @@
import type { RequestChannel } from "./request-channel-listener-injection-token";
-export const getRequestChannel = (
- id: string,
-): RequestChannel => ({
+export const getRequestChannel = (id: string): RequestChannel => ({
id,
});
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts
index 2ec76ff546..4491b14fe1 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-channel-listener-injection-token.ts
@@ -7,10 +7,7 @@ export interface RequestChannel {
_responseSignature?: Response;
}
-export type RequestChannelHandler = Channel extends RequestChannel<
- infer Request,
- infer Response
->
+export type RequestChannelHandler = Channel extends RequestChannel
? (req: Request) => Promise | Response
: never;
diff --git a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-from-channel-injection-token.ts b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-from-channel-injection-token.ts
index 194091b588..f15dc97614 100644
--- a/packages/technical-features/messaging/agnostic/src/features/actual/request/request-from-channel-injection-token.ts
+++ b/packages/technical-features/messaging/agnostic/src/features/actual/request/request-from-channel-injection-token.ts
@@ -2,17 +2,11 @@ import { getInjectionToken } from "@ogre-tools/injectable";
import type { RequestChannel } from "./request-channel-listener-injection-token";
export interface RequestFromChannel {
- (
- channel: RequestChannel,
- request: Request,
- ): Promise;
+ (channel: RequestChannel, request: Request): Promise;
(channel: RequestChannel): Promise;
}
-export type ChannelRequester = Channel extends RequestChannel<
- infer Request,
- infer Response
->
+export type ChannelRequester = Channel extends RequestChannel
? (req: Request) => Promise>
: never;
diff --git a/packages/technical-features/messaging/agnostic/src/listening-of-requests.test.ts b/packages/technical-features/messaging/agnostic/src/listening-of-requests.test.ts
index e708c983c8..6432ac1376 100644
--- a/packages/technical-features/messaging/agnostic/src/listening-of-requests.test.ts
+++ b/packages/technical-features/messaging/agnostic/src/listening-of-requests.test.ts
@@ -121,9 +121,7 @@ describe("listening-of-requests", () => {
runInAction(() => {
di.register(someConflictingListenerInjectable);
});
- }).toThrow(
- 'Tried to add listener for channel "some-channel-id" but listener already exists.',
- );
+ }).toThrow('Tried to add listener for channel "some-channel-id" but listener already exists.');
});
describe("when another listener gets registered", () => {
diff --git a/packages/technical-features/messaging/computed-channel/index.ts b/packages/technical-features/messaging/computed-channel/index.ts
index dd72ecf71b..ba98df8cca 100644
--- a/packages/technical-features/messaging/computed-channel/index.ts
+++ b/packages/technical-features/messaging/computed-channel/index.ts
@@ -3,7 +3,4 @@ export {
computedChannelObserverInjectionToken,
} from "./src/computed-channel/computed-channel.injectable";
-export type {
- ChannelObserver,
- ComputedChannelFactory,
-} from "./src/computed-channel/computed-channel.injectable";
+export type { ChannelObserver, ComputedChannelFactory } from "./src/computed-channel/computed-channel.injectable";
diff --git a/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.injectable.ts b/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.injectable.ts
index b652a0c795..99d5d18fec 100644
--- a/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.injectable.ts
+++ b/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.injectable.ts
@@ -1,23 +1,13 @@
import { getInjectable, getInjectionToken } from "@ogre-tools/injectable";
-import {
- computed,
- IComputedValue,
- observable,
- onBecomeObserved,
- onBecomeUnobserved,
- runInAction,
-} from "mobx";
+import { computed, IComputedValue, observable, onBecomeObserved, onBecomeUnobserved, runInAction } from "mobx";
import type { MessageChannel } from "@k8slens/messaging";
import { getMessageChannelListenerInjectable } from "@k8slens/messaging";
import { sendMessageToChannelInjectionToken } from "@k8slens/messaging";
import { computedChannelAdministrationChannel } from "./computed-channel-administration-channel.injectable";
-export type ComputedChannelFactory = (
- channel: MessageChannel,
- pendingValue: T,
-) => IComputedValue;
+export type ComputedChannelFactory = (channel: MessageChannel, pendingValue: T) => IComputedValue;
export const computedChannelInjectionToken = getInjectionToken({
id: "computed-channel-injection-token",
diff --git a/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.test.tsx b/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.test.tsx
index 6bea2ca76d..abab064191 100644
--- a/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.test.tsx
+++ b/packages/technical-features/messaging/computed-channel/src/computed-channel/computed-channel.test.tsx
@@ -3,23 +3,13 @@ import { act } from "@testing-library/react";
import { createContainer, DiContainer, getInjectable } from "@ogre-tools/injectable";
import { getMessageBridgeFake, MessageBridgeFake } from "@k8slens/messaging-fake-bridge";
import { startApplicationInjectionToken } from "@k8slens/application";
-import {
- computed,
- IComputedValue,
- IObservableValue,
- observable,
- reaction,
- runInAction,
-} from "mobx";
+import { computed, IComputedValue, IObservableValue, observable, reaction, runInAction } from "mobx";
import type { MessageChannel } from "@k8slens/messaging";
import { getMessageChannelListenerInjectable } from "@k8slens/messaging";
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
import { registerFeature } from "@k8slens/feature-core";
import { testUtils } from "@k8slens/messaging";
-import {
- computedChannelInjectionToken,
- computedChannelObserverInjectionToken,
-} from "./computed-channel.injectable";
+import { computedChannelInjectionToken, computedChannelObserverInjectionToken } from "./computed-channel.injectable";
import { runWithThrownMobxReactions, renderFor } from "@k8slens/test-utils";
import { observer } from "mobx-react";
import {
@@ -36,9 +26,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
));
[{ scenarioIsAsync: true }, { scenarioIsAsync: false }].forEach(({ scenarioIsAsync }) =>
- describe(`computed-channel, given running message bridge fake as ${
- scenarioIsAsync ? "async" : "sync"
- }`, () => {
+ describe(`computed-channel, given running message bridge fake as ${scenarioIsAsync ? "async" : "sync"}`, () => {
describe("given multiple dis and a message channel and a channel observer and application has started", () => {
let di1: DiContainer;
let di2: DiContainer;
@@ -87,10 +75,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
messageBridgeFake.setAsync(scenarioIsAsync);
messageBridgeFake.involve(di1, di2);
- await Promise.all([
- di1.inject(startApplicationInjectionToken)(),
- di2.inject(startApplicationInjectionToken)(),
- ]);
+ await Promise.all([di1.inject(startApplicationInjectionToken)(), di2.inject(startApplicationInjectionToken)()]);
});
describe("given a channel observer and matching computed channel for the channel in di-2", () => {
@@ -175,9 +160,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
expect(observedValue).toBe("some-pending-value");
});
- const scenarioName = scenarioIsAsync
- ? "when admin messages are propagated"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when admin messages are propagated" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
@@ -196,9 +179,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
});
});
- const scenarioName = scenarioIsAsync
- ? "when returning value-messages propagate"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when returning value-messages propagate" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
@@ -227,9 +208,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
});
});
- const scenarioName = scenarioIsAsync
- ? "when value-messages propagate"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when value-messages propagate" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
@@ -258,9 +237,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
stopObserving();
});
- const scenarioName = scenarioIsAsync
- ? "when admin-messages propagate"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when admin-messages propagate" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
@@ -317,9 +294,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
expect(observedValue).toBe("some-pending-value");
});
- const scenarioName = scenarioIsAsync
- ? "when admin messages propagate"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when admin messages propagate" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
@@ -345,9 +320,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
expect(observedValue).toBe("some-pending-value");
});
- const scenarioTitle = scenarioIsAsync
- ? "when value-messages propagate back"
- : "immediately";
+ const scenarioTitle = scenarioIsAsync ? "when value-messages propagate back" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioTitle, () => {
@@ -466,9 +439,7 @@ const TestComponent = observer(({ someComputed }: { someComputed: IComputedValue
expect(nonReactiveValue).toBe("some-initial-value");
});
- const scenarioName = scenarioIsAsync
- ? "when messages would be propagated"
- : "immediately";
+ const scenarioName = scenarioIsAsync ? "when messages would be propagated" : "immediately";
// eslint-disable-next-line jest/valid-title
describe(scenarioName, () => {
diff --git a/packages/technical-features/messaging/electron/main/src/channel-listeners/enlist-message-channel-listener.test.ts b/packages/technical-features/messaging/electron/main/src/channel-listeners/enlist-message-channel-listener.test.ts
index c4385246cd..898efdf3f1 100644
--- a/packages/technical-features/messaging/electron/main/src/channel-listeners/enlist-message-channel-listener.test.ts
+++ b/packages/technical-features/messaging/electron/main/src/channel-listeners/enlist-message-channel-listener.test.ts
@@ -1,9 +1,6 @@
import ipcMainInjectable from "../ipc-main/ipc-main.injectable";
import type { IpcMain, IpcMainEvent } from "electron";
-import {
- EnlistMessageChannelListener,
- enlistMessageChannelListenerInjectionToken,
-} from "@k8slens/messaging";
+import { EnlistMessageChannelListener, enlistMessageChannelListenerInjectionToken } from "@k8slens/messaging";
import { createContainer } from "@ogre-tools/injectable";
import { registerFeature } from "@k8slens/feature-core";
import { messagingFeatureForMain } from "../feature";
diff --git a/packages/technical-features/messaging/electron/main/src/request-from-channel/request-from-channel.injectable.ts b/packages/technical-features/messaging/electron/main/src/request-from-channel/request-from-channel.injectable.ts
index 220daf9fc7..94ce8c89be 100644
--- a/packages/technical-features/messaging/electron/main/src/request-from-channel/request-from-channel.injectable.ts
+++ b/packages/technical-features/messaging/electron/main/src/request-from-channel/request-from-channel.injectable.ts
@@ -1,19 +1,13 @@
/* c8 ignore start */
import { getInjectable } from "@ogre-tools/injectable";
-import {
- RequestChannel,
- RequestFromChannel,
- requestFromChannelInjectionToken,
-} from "@k8slens/messaging";
+import { RequestChannel, RequestFromChannel, requestFromChannelInjectionToken } from "@k8slens/messaging";
const requestFromChannelInjectable = getInjectable({
id: "request-from-channel",
instantiate: () =>
((channel: RequestChannel) => {
- throw new Error(
- `Tried to request from channel "${channel.id}" but requesting in "main" it's not supported yet`,
- );
+ throw new Error(`Tried to request from channel "${channel.id}" but requesting in "main" it's not supported yet`);
}) as unknown as RequestFromChannel,
injectionToken: requestFromChannelInjectionToken,
diff --git a/packages/technical-features/messaging/electron/main/src/send-message-to-channel/allow-communication-listener.injectable.ts b/packages/technical-features/messaging/electron/main/src/send-message-to-channel/allow-communication-listener.injectable.ts
index af74d7a810..7b80adabc0 100644
--- a/packages/technical-features/messaging/electron/main/src/send-message-to-channel/allow-communication-listener.injectable.ts
+++ b/packages/technical-features/messaging/electron/main/src/send-message-to-channel/allow-communication-listener.injectable.ts
@@ -1,9 +1,7 @@
import { getMessageChannel, getMessageChannelListenerInjectable } from "@k8slens/messaging";
import frameIdsInjectable from "./frameIds.injectable";
-const frameCommunicationAdminChannel = getMessageChannel(
- "frame-communication-admin-channel",
-);
+const frameCommunicationAdminChannel = getMessageChannel("frame-communication-admin-channel");
const allowCommunicationListenerInjectable = getMessageChannelListenerInjectable({
id: "allow-communication",
diff --git a/packages/technical-features/messaging/electron/renderer/src/allow-communication-to-iframe.injectable.ts b/packages/technical-features/messaging/electron/renderer/src/allow-communication-to-iframe.injectable.ts
index 59abe7f931..fe8928caca 100644
--- a/packages/technical-features/messaging/electron/renderer/src/allow-communication-to-iframe.injectable.ts
+++ b/packages/technical-features/messaging/electron/renderer/src/allow-communication-to-iframe.injectable.ts
@@ -2,9 +2,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { onLoadOfApplicationInjectionToken } from "@k8slens/application";
import { getMessageChannel, sendMessageToChannelInjectionToken } from "@k8slens/messaging";
-export const frameCommunicationAdminChannel = getMessageChannel(
- "frame-communication-admin-channel",
-);
+export const frameCommunicationAdminChannel = getMessageChannel("frame-communication-admin-channel");
const allowCommunicationToIframeInjectable = getInjectable({
id: "allow-communication-to-iframe-injectable",
diff --git a/packages/technical-features/messaging/electron/renderer/src/listening-of-messages/enlist-message-channel-listener.test.ts b/packages/technical-features/messaging/electron/renderer/src/listening-of-messages/enlist-message-channel-listener.test.ts
index dc89c7b3e7..a325821b91 100644
--- a/packages/technical-features/messaging/electron/renderer/src/listening-of-messages/enlist-message-channel-listener.test.ts
+++ b/packages/technical-features/messaging/electron/renderer/src/listening-of-messages/enlist-message-channel-listener.test.ts
@@ -1,9 +1,6 @@
import type { IpcRendererEvent, IpcRenderer } from "electron";
import ipcRendererInjectable from "../ipc/ipc-renderer.injectable";
-import {
- EnlistMessageChannelListener,
- enlistMessageChannelListenerInjectionToken,
-} from "@k8slens/messaging";
+import { EnlistMessageChannelListener, enlistMessageChannelListenerInjectionToken } from "@k8slens/messaging";
import { createContainer } from "@ogre-tools/injectable";
import { registerFeature } from "@k8slens/feature-core";
import { messagingFeatureForRenderer } from "../feature";
diff --git a/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.test.ts b/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.test.ts
index e91109df10..a3a3c86ad3 100644
--- a/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.test.ts
+++ b/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.test.ts
@@ -32,9 +32,7 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
};
[{ scenarioIsAsync: true }, { scenarioIsAsync: false }].forEach(({ scenarioIsAsync }) =>
- describe(`get-message-bridge-fake, given running as ${
- scenarioIsAsync ? "async" : "sync"
- }`, () => {
+ describe(`get-message-bridge-fake, given running as ${scenarioIsAsync ? "async" : "sync"}`, () => {
let messageBridgeFake: any;
beforeEach(() => {
@@ -135,9 +133,7 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
describe("given a message is sent in di-1", () => {
beforeEach(() => {
- const sendMessageToChannelFromDi1 = someDi1.inject(
- sendMessageToChannelInjectionToken,
- );
+ const sendMessageToChannelFromDi1 = someDi1.inject(sendMessageToChannelInjectionToken);
sendMessageToChannelFromDi1(someMessageChannel, "some-message");
});
@@ -161,13 +157,10 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
});
it("the response gets handled in di-1", () => {
- expect(someHandler1MockInDi1).toHaveBeenCalledWith(
- "some-response-to: some-message",
- {
- frameId: 42,
- processId: 42,
- },
- );
+ expect(someHandler1MockInDi1).toHaveBeenCalledWith("some-response-to: some-message", {
+ frameId: 42,
+ processId: 42,
+ });
});
scenarioIsAsync &&
@@ -191,13 +184,10 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
});
it("the response gets handled in di-1", () => {
- expect(someHandler1MockInDi1).toHaveBeenCalledWith(
- "some-response-to: some-message",
- {
- frameId: 42,
- processId: 42,
- },
- );
+ expect(someHandler1MockInDi1).toHaveBeenCalledWith("some-response-to: some-message", {
+ frameId: 42,
+ processId: 42,
+ });
});
});
});
@@ -375,9 +365,7 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
const requestFromChannelFromDi2 = someDi2.inject(requestFromChannelInjectionToken);
- return expect(() =>
- requestFromChannelFromDi2(someRequestChannel, "irrelevant"),
- ).rejects.toThrow(
+ return expect(() => requestFromChannelFromDi2(someRequestChannel, "irrelevant")).rejects.toThrow(
'Tried to make a request but multiple listeners were discovered for channel "some-request-channel" in multiple DIs.',
);
});
@@ -385,9 +373,7 @@ const someRequestChannelWithoutListeners: SomeRequestChannel = {
it("when requesting from channel without listener, throws", () => {
const requestFromChannel = someDi1.inject(requestFromChannelInjectionToken);
- return expect(() =>
- requestFromChannel(someRequestChannelWithoutListeners, "irrelevant"),
- ).rejects.toThrow(
+ return expect(() => requestFromChannel(someRequestChannelWithoutListeners, "irrelevant")).rejects.toThrow(
'Tried to make a request but no listeners for channel "some-request-channel-without-listeners" was discovered in any DIs',
);
});
diff --git a/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.ts b/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.ts
index 8feb31dcd2..3e7efea5f9 100644
--- a/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.ts
+++ b/packages/technical-features/messaging/message-bridge-fake/src/get-message-bridge-fake/get-message-bridge-fake.ts
@@ -22,7 +22,7 @@ import asyncFn, { AsyncFnMock } from "@async-fn/jest";
export type MessageBridgeFake = {
involve: (...dis: DiContainer[]) => void;
messagePropagation: () => Promise;
- messagePropagationRecursive: (callback: any) => any;
+ messagePropagationRecursive: (callback: () => any) => any;
setAsync: (value: boolean) => void;
};
@@ -167,9 +167,7 @@ export const getMessageBridgeFake = (): MessageBridgeFake => {
await Promise.all(oldMessages.map((x) => wrapper(x.resolve)));
};
- const messagePropagationRecursive = async (
- wrapper: (callback: any) => any = (callback) => callback(),
- ) => {
+ const messagePropagationRecursive = async (wrapper = (callback: () => any) => callback()) => {
while (messagePropagationBuffer.size) {
await messagePropagation(wrapper);
}
diff --git a/packages/technical-features/react-application/src/react-application/react-application.tsx b/packages/technical-features/react-application/src/react-application/react-application.tsx
index 933d0ad389..982a49a3c1 100644
--- a/packages/technical-features/react-application/src/react-application/react-application.tsx
+++ b/packages/technical-features/react-application/src/react-application/react-application.tsx
@@ -27,9 +27,7 @@ const render = (components: ReactApplicationHigherOrderComponent[]) => {
export const ReactApplication = observer(({ di }: ReactApplicationProps) => {
const computedInjectMany = di.inject(computedInjectManyInjectable);
- const higherOrderComponents = computedInjectMany(
- reactApplicationHigherOrderComponentInjectionToken,
- );
+ const higherOrderComponents = computedInjectMany(reactApplicationHigherOrderComponentInjectionToken);
const Components = [...higherOrderComponents.get(), ReactApplicationContent];
diff --git a/packages/utility-features/react-testing-library-discovery/index.ts b/packages/utility-features/react-testing-library-discovery/index.ts
index 109c6af90f..92e817512c 100644
--- a/packages/utility-features/react-testing-library-discovery/index.ts
+++ b/packages/utility-features/react-testing-library-discovery/index.ts
@@ -5,9 +5,4 @@ export type {
QuerySingleElement,
} from "./src/discovery-of-html-elements";
-export {
- discoverFor,
- getSingleElement,
- queryAllElements,
- querySingleElement,
-} from "./src/discovery-of-html-elements";
+export { discoverFor, getSingleElement, queryAllElements, querySingleElement } from "./src/discovery-of-html-elements";
diff --git a/packages/utility-features/react-testing-library-discovery/src/discovery-of-html-elements.ts b/packages/utility-features/react-testing-library-discovery/src/discovery-of-html-elements.ts
index 0df7d9202d..0722c74732 100644
--- a/packages/utility-features/react-testing-library-discovery/src/discovery-of-html-elements.ts
+++ b/packages/utility-features/react-testing-library-discovery/src/discovery-of-html-elements.ts
@@ -26,8 +26,7 @@ export interface Discover {
getSingleElement: GetSingleElement;
}
-const getBaseElement = (source: DiscoverySourceTypes) =>
- "baseElement" in source ? source.baseElement : source;
+const getBaseElement = (source: DiscoverySourceTypes) => ("baseElement" in source ? source.baseElement : source);
export function querySingleElement(getSource: () => DiscoverySourceTypes): QuerySingleElement {
return (attributeName, attributeValue) => {
@@ -35,9 +34,7 @@ export function querySingleElement(getSource: () => DiscoverySourceTypes): Query
const dataAttribute = `data-${attributeName}-test`;
- const selector = attributeValue
- ? `[${dataAttribute}="${attributeValue}"]`
- : `[${dataAttribute}]`;
+ const selector = attributeValue ? `[${dataAttribute}="${attributeValue}"]` : `[${dataAttribute}]`;
const discovered = getBaseElement(source).querySelector(selector);
@@ -78,10 +75,7 @@ export function getSingleElement(getSource: () => DiscoverySourceTypes): GetSing
return (attributeName, attributeValue) => {
const dataAttribute = `data-${attributeName}-test`;
- const { discovered, ...nestedDiscover } = querySingleElement(getSource)(
- attributeName,
- attributeValue,
- );
+ const { discovered, ...nestedDiscover } = querySingleElement(getSource)(attributeName, attributeValue);
if (!discovered) {
// eslint-disable-next-line xss/no-mixed-html
@@ -97,18 +91,14 @@ export function getSingleElement(getSource: () => DiscoverySourceTypes): GetSing
);
}
- throw new Error(
- `Couldn't find HTML-element with attribute "${dataAttribute}"\n\nHTML is:\n\n${html}`,
- );
+ throw new Error(`Couldn't find HTML-element with attribute "${dataAttribute}"\n\nHTML is:\n\n${html}`);
}
const click = () => {
if ("click" in discovered && typeof discovered.click === "function") {
discovered.click();
} else {
- throw new Error(
- `Tried to click something that was not clickable:\n\n${prettyDom(discovered)}`,
- );
+ throw new Error(`Tried to click something that was not clickable:\n\n${prettyDom(discovered)}`);
}
};