mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Clean up versioning and packageJson uses (#6196)
This commit is contained in:
1 parent
cfe35ded90
commit
67ac1692b2
116 files changed
+1154
-644
No files matched your search
@@ -20,7 +20,6 @@ import configurePackages from "../common/configure-packages";
|
||||
import * as initializers from "./initializers";
|
||||
import logger from "../common/logger";
|
||||
import { WeblinkStore } from "../common/weblink-store";
|
||||
import { initializeSentryReporting } from "../common/sentry";
|
||||
import { registerCustomThemes } from "./components/monaco-editor";
|
||||
import { getDi } from "./getDi";
|
||||
import { DiContextProvider } from "@ogre-tools/injectable-react";
|
||||
@@ -46,6 +45,7 @@ import kubernetesClusterCategoryInjectable from "../common/catalog/categories/ku
|
||||
import autoRegistrationInjectable from "../common/k8s-api/api-manager/auto-registration.injectable";
|
||||
import assert from "assert";
|
||||
import startFrameInjectable from "./start-frame/start-frame.injectable";
|
||||
import initializeSentryReportingWithInjectable from "../common/error-reporting/initialize-sentry-reporting.injectable";
|
||||
|
||||
configurePackages(); // global packages
|
||||
registerCustomThemes(); // monaco editor themes
|
||||
@@ -62,8 +62,10 @@ async function attachChromeDebugger() {
|
||||
}
|
||||
|
||||
export async function bootstrap(di: DiContainer) {
|
||||
const initializeSentryReportingWith = di.inject(initializeSentryReportingWithInjectable);
|
||||
|
||||
if (process.isMainFrame) {
|
||||
initializeSentryReporting(init);
|
||||
initializeSentryReportingWith(init);
|
||||
}
|
||||
|
||||
const startFrame = di.inject(startFrameInjectable);
|
||||
|
||||
+3
-3
@@ -8,14 +8,14 @@ import routeIsActiveInjectable from "../../../routes/route-is-active.injectable"
|
||||
import { computed } from "mobx";
|
||||
import telemetryPreferenceItemsInjectable from "../telemetry-preference-items.injectable";
|
||||
import telemetryPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/telemetry/telemetry-preferences-route.injectable";
|
||||
import sentryDnsUrlInjectable from "../sentry-dns-url.injectable";
|
||||
import sentryDataSourceNameInjectable from "../../../../common/vars/sentry-dsn-url.injectable";
|
||||
import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab.injectable";
|
||||
|
||||
const terminalPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "telemetry-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const sentryDnsUrl = di.inject(sentryDnsUrlInjectable);
|
||||
const sentryDataSourceName = di.inject(sentryDataSourceNameInjectable);
|
||||
|
||||
const telemetryPreferenceItems = di.inject(
|
||||
telemetryPreferenceItemsInjectable,
|
||||
@@ -37,7 +37,7 @@ const terminalPreferencesNavigationItemInjectable = getInjectable({
|
||||
isActive: routeIsActive,
|
||||
|
||||
isVisible: computed(
|
||||
() => !!sentryDnsUrl || telemetryPreferenceItems.get().length > 0,
|
||||
() => !!sentryDataSourceName || telemetryPreferenceItems.get().length > 0,
|
||||
),
|
||||
|
||||
orderNumber: 60,
|
||||
|
||||
@@ -1,13 +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 { sentryDsn } from "../../../common/vars";
|
||||
|
||||
const sentryDnsUrlInjectable = getInjectable({
|
||||
id: "sentry-dns-url",
|
||||
instantiate: () => sentryDsn,
|
||||
});
|
||||
|
||||
export default sentryDnsUrlInjectable;
|
||||
@@ -12,7 +12,7 @@ import type { IComputedValue } from "mobx";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { Preferences } from "./preferences";
|
||||
import telemetryPreferenceItemsInjectable from "./telemetry-preference-items.injectable";
|
||||
import sentryDnsUrlInjectable from "./sentry-dns-url.injectable";
|
||||
import sentryDataSourceNameInjectable from "../../../common/vars/sentry-dsn-url.injectable";
|
||||
import userStoreInjectable from "../../../common/user-store/user-store.injectable";
|
||||
import type { AppPreferenceRegistration } from "./app-preferences/app-preference-registration";
|
||||
|
||||
@@ -74,7 +74,7 @@ export const Telemetry = withInjectables<Dependencies>(
|
||||
{
|
||||
getProps: (di) => ({
|
||||
telemetryPreferenceItems: di.inject(telemetryPreferenceItemsInjectable),
|
||||
sentryDnsUrl: di.inject(sentryDnsUrlInjectable),
|
||||
sentryDnsUrl: di.inject(sentryDataSourceNameInjectable),
|
||||
userStore: di.inject(userStoreInjectable),
|
||||
}),
|
||||
},
|
||||
|
||||
@@ -10,12 +10,13 @@ import type { IComputedValue } from "mobx";
|
||||
import type { CarouselProps } from "react-material-ui-carousel";
|
||||
import LegacyCarousel from "react-material-ui-carousel";
|
||||
import { Icon } from "../icon";
|
||||
import { productName, slackUrl } from "../../../common/vars";
|
||||
import { slackUrl } from "../../../common/vars";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import welcomeMenuItemsInjectable from "./welcome-menu-items/welcome-menu-items.injectable";
|
||||
import type { WelcomeMenuRegistration } from "./welcome-menu-items/welcome-menu-registration";
|
||||
import welcomeBannerItemsInjectable from "./welcome-banner-items/welcome-banner-items.injectable";
|
||||
import type { WelcomeBannerRegistration } from "./welcome-banner-items/welcome-banner-registration";
|
||||
import productNameInjectable from "../../../common/vars/product-name.injectable";
|
||||
|
||||
export const defaultWidth = 320;
|
||||
|
||||
@@ -25,9 +26,14 @@ const Carousel = LegacyCarousel as React.ComponentType<CarouselProps>;
|
||||
interface Dependencies {
|
||||
welcomeMenuItems: IComputedValue<WelcomeMenuRegistration[]>;
|
||||
welcomeBannerItems: IComputedValue<WelcomeBannerRegistration[]>;
|
||||
productName: string;
|
||||
}
|
||||
|
||||
const NonInjectedWelcome = observer(({ welcomeMenuItems, welcomeBannerItems }: Dependencies) => {
|
||||
const NonInjectedWelcome = observer(({
|
||||
welcomeMenuItems,
|
||||
welcomeBannerItems,
|
||||
productName,
|
||||
}: Dependencies) => {
|
||||
const welcomeBanners = welcomeBannerItems.get();
|
||||
|
||||
// if there is banner with specified width, use it to calculate the width of the container
|
||||
@@ -129,5 +135,6 @@ export const Welcome = withInjectables<Dependencies>(NonInjectedWelcome, {
|
||||
getProps: (di) => ({
|
||||
welcomeMenuItems: di.inject(welcomeMenuItemsInjectable),
|
||||
welcomeBannerItems: di.inject(welcomeBannerItemsInjectable),
|
||||
productName: di.inject(productNameInjectable),
|
||||
}),
|
||||
});
|
||||
@@ -11,10 +11,11 @@ import type { SelectOption } from "../../select";
|
||||
import { Select } from "../../select";
|
||||
import { Input } from "../../input";
|
||||
import { observable, computed, autorun, makeObservable } from "mobx";
|
||||
import { productName } from "../../../../common/vars";
|
||||
import type { MetricProviderInfo } from "../../../../common/k8s-api/endpoints/metrics.api";
|
||||
import { metricsApi } from "../../../../common/k8s-api/endpoints/metrics.api";
|
||||
import { Spinner } from "../../spinner";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import productNameInjectable from "../../../../common/vars/product-name.injectable";
|
||||
|
||||
export interface ClusterPrometheusSettingProps {
|
||||
cluster: Cluster;
|
||||
@@ -24,8 +25,12 @@ const autoDetectPrometheus = Symbol("auto-detect-prometheus");
|
||||
|
||||
type ProviderValue = typeof autoDetectPrometheus | string;
|
||||
|
||||
interface Dependencies {
|
||||
productName: string;
|
||||
}
|
||||
|
||||
@observer
|
||||
export class ClusterPrometheusSetting extends React.Component<ClusterPrometheusSettingProps> {
|
||||
class NonInjectedClusterPrometheusSetting extends React.Component<ClusterPrometheusSettingProps & Dependencies> {
|
||||
@observable path = "";
|
||||
@observable selectedOption: ProviderValue = autoDetectPrometheus;
|
||||
@observable loading = true;
|
||||
@@ -46,7 +51,7 @@ export class ClusterPrometheusSetting extends React.Component<ClusterPrometheusS
|
||||
];
|
||||
}
|
||||
|
||||
constructor(props: ClusterPrometheusSettingProps) {
|
||||
constructor(props: ClusterPrometheusSettingProps & Dependencies) {
|
||||
super(props);
|
||||
makeObservable(this);
|
||||
}
|
||||
@@ -155,7 +160,7 @@ export class ClusterPrometheusSetting extends React.Component<ClusterPrometheusS
|
||||
placeholder="<namespace>/<service>:<port>"
|
||||
/>
|
||||
<small className="hint">
|
||||
{`An address to an existing Prometheus installation (<namespace>/<service>:<port>). ${productName} tries to auto-detect address if left empty.`}
|
||||
{`An address to an existing Prometheus installation (<namespace>/<service>:<port>). ${this.props.productName} tries to auto-detect address if left empty.`}
|
||||
</small>
|
||||
</section>
|
||||
</>
|
||||
@@ -164,3 +169,10 @@ export class ClusterPrometheusSetting extends React.Component<ClusterPrometheusS
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const ClusterPrometheusSetting = withInjectables<Dependencies, ClusterPrometheusSettingProps>(NonInjectedClusterPrometheusSetting, {
|
||||
getProps: (di, props) => ({
|
||||
...props,
|
||||
productName: di.inject(productNameInjectable),
|
||||
}),
|
||||
});
|
||||
@@ -35,7 +35,6 @@ import apiManagerInjectable from "../common/k8s-api/api-manager/manager.injectab
|
||||
import setupOnApiErrorListenersInjectable from "./api/setup-on-api-errors.injectable";
|
||||
import { observable, computed, runInAction } from "mobx";
|
||||
import defaultShellInjectable from "./components/+preferences/default-shell.injectable";
|
||||
import appVersionInjectable from "../common/vars/app-version.injectable";
|
||||
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
|
||||
import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
||||
import getFilePathsInjectable from "./components/+preferences/kubernetes/helm-charts/adding-of-custom-helm-repository/helm-file-input/get-file-paths.injectable";
|
||||
@@ -114,8 +113,6 @@ export const getDiForUnitTesting = (
|
||||
di.override(getAbsolutePathInjectable, () => getAbsolutePathFake);
|
||||
di.override(joinPathsInjectable, () => joinPathsFake);
|
||||
|
||||
di.override(appVersionInjectable, () => "1.0.0");
|
||||
|
||||
di.override(historyInjectable, () => createMemoryHistory());
|
||||
di.override(legacyOnChannelListenInjectable, () => () => noop);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import type React from "react";
|
||||
// <Icon onClick={prevDefault(() => console.log('stay on the page and open dialog'))}/>
|
||||
// </a>
|
||||
|
||||
export function prevDefault<E extends React.SyntheticEvent | Event>(callback: (evt: E) => any) {
|
||||
export function prevDefault<E extends React.SyntheticEvent | Event, R>(callback: (evt: E) => R): (event: E) => R {
|
||||
return function (evt: E) {
|
||||
evt.preventDefault();
|
||||
evt.stopPropagation();
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { createInitializableState } from "../../../common/initializable-state/create";
|
||||
import { requestFromChannelInjectionToken } from "../../../common/utils/channel/request-from-channel-injection-token";
|
||||
import { buildVersionChannel, buildVersionInjectionToken } from "../../../common/vars/build-semantic-version.injectable";
|
||||
|
||||
const buildVersionInjectable = createInitializableState({
|
||||
id: "build-version",
|
||||
init: (di) => {
|
||||
const requestFromChannel = di.inject(requestFromChannelInjectionToken);
|
||||
|
||||
return requestFromChannel(buildVersionChannel);
|
||||
},
|
||||
injectionToken: buildVersionInjectionToken,
|
||||
});
|
||||
|
||||
export default buildVersionInjectable;
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* 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 { beforeFrameStartsInjectionToken } from "../../before-frame-starts/before-frame-starts-injection-token";
|
||||
import buildVersionInjectable from "./build-version.injectable";
|
||||
|
||||
const initializeBuildVersionInjectable = getInjectable({
|
||||
id: "initialize-build-version",
|
||||
instantiate: (di) => {
|
||||
const buildVersion = di.inject(buildVersionInjectable);
|
||||
|
||||
return {
|
||||
run: () => buildVersion.init(),
|
||||
};
|
||||
},
|
||||
injectionToken: beforeFrameStartsInjectionToken,
|
||||
});
|
||||
|
||||
export default initializeBuildVersionInjectable;
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* 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 defaultUpdateChannelInjectable from "../../../common/application-update/selected-update-channel/default-update-channel.injectable";
|
||||
import initSemanticBuildVersionInjectable from "../../../renderer/vars/semantic-build-version/init.injectable";
|
||||
import { beforeFrameStartsInjectionToken } from "../../before-frame-starts/before-frame-starts-injection-token";
|
||||
|
||||
const initDefaultUpdateChannelInjectableInjectable = getInjectable({
|
||||
id: "init-default-update-channel-injectable",
|
||||
instantiate: (di) => {
|
||||
const defaultUpdateChannel = di.inject(defaultUpdateChannelInjectable);
|
||||
|
||||
return {
|
||||
run: () => defaultUpdateChannel.init(),
|
||||
runAfter: di.inject(initSemanticBuildVersionInjectable),
|
||||
};
|
||||
},
|
||||
injectionToken: beforeFrameStartsInjectionToken,
|
||||
});
|
||||
|
||||
export default initDefaultUpdateChannelInjectableInjectable;
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* 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 buildSemanticVersionInjectable from "../../../common/vars/build-semantic-version.injectable";
|
||||
import { beforeFrameStartsInjectionToken } from "../../before-frame-starts/before-frame-starts-injection-token";
|
||||
import initializeBuildVersionInjectable from "../build-version/init.injectable";
|
||||
|
||||
const initSemanticBuildVersionInjectable = getInjectable({
|
||||
id: "init-semantic-build-version",
|
||||
instantiate: (di) => {
|
||||
const buildSemanticVersion = di.inject(buildSemanticVersionInjectable);
|
||||
|
||||
return {
|
||||
run: () => buildSemanticVersion.init(),
|
||||
runAfter: di.inject(initializeBuildVersionInjectable),
|
||||
};
|
||||
},
|
||||
injectionToken: beforeFrameStartsInjectionToken,
|
||||
});
|
||||
|
||||
export default initSemanticBuildVersionInjectable;
|
||||
Reference in new issue
Block a user