From 05be7f6296e5ba487b1bb43062aeeebd906315b0 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 5 May 2022 05:02:47 -0700 Subject: [PATCH] Fix subclasses of BaseStore not be able to overrride cwd() (#5307) - The cwd field was being overridden unconditionally by the new getConfigurationFileModelInjectable Signed-off-by: Sebastian Malton --- src/common/base-store.ts | 5 +++-- .../get-configuration-file-model.injectable.ts | 13 +------------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/common/base-store.ts b/src/common/base-store.ts index 4671e377e8..9cc4e27b92 100644 --- a/src/common/base-store.ts +++ b/src/common/base-store.ts @@ -10,7 +10,7 @@ import { ipcMain, ipcRenderer } from "electron"; import type { IEqualsComparer } from "mobx"; import { makeObservable, reaction, runInAction } from "mobx"; import type { Disposer } from "./utils"; -import { getAppVersion, Singleton, toJS } from "./utils"; +import { Singleton, toJS } from "./utils"; import logger from "../main/logger"; import { broadcastMessage, ipcMainOn, ipcRendererOn } from "./ipc"; import isEqual from "lodash/isEqual"; @@ -19,6 +19,7 @@ import { kebabCase } from "lodash"; import { getLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; import directoryForUserDataInjectable from "./app-paths/directory-for-user-data/directory-for-user-data.injectable"; import getConfigurationFileModelInjectable from "./get-configuration-file-model/get-configuration-file-model.injectable"; +import appVersionInjectable from "./get-configuration-file-model/app-version/app-version.injectable"; export interface BaseStoreParams extends ConfOptions { syncOptions?: { @@ -60,7 +61,7 @@ export abstract class BaseStore extends Singleton { this.storeConfig = getConfigurationFileModel({ ...this.params, projectName: "lens", - projectVersion: getAppVersion(), + projectVersion: di.inject(appVersionInjectable), cwd: this.cwd(), }); diff --git a/src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts b/src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts index 41eeca1ce7..a1027c22c6 100644 --- a/src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts +++ b/src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts @@ -5,21 +5,10 @@ import { getInjectable } from "@ogre-tools/injectable"; import Config from "conf"; import type { BaseStoreParams } from "../base-store"; -import appVersionInjectable from "./app-version/app-version.injectable"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; const getConfigurationFileModelInjectable = getInjectable({ id: "get-configuration-file-model", - instantiate: - (di) => - (content: BaseStoreParams) => - new Config({ - ...content, - projectName: "lens", - projectVersion: di.inject(appVersionInjectable), - cwd: di.inject(directoryForUserDataInjectable), - }), - + instantiate: () => (content: BaseStoreParams) => new Config(content), causesSideEffects: true, });