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

Fix subclasses of BaseStore<T> not be able to overrride cwd() (#5307)

- The cwd field was being overridden unconditionally by the new getConfigurationFileModelInjectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-05-05 05:02:47 -07:00 committed by GitHub
parent dbdde19222
commit 05be7f6296
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 14 deletions

View File

@ -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<T> extends ConfOptions<T> {
syncOptions?: {
@ -60,7 +61,7 @@ export abstract class BaseStore<T> extends Singleton {
this.storeConfig = getConfigurationFileModel({
...this.params,
projectName: "lens",
projectVersion: getAppVersion(),
projectVersion: di.inject(appVersionInjectable),
cwd: this.cwd(),
});

View File

@ -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) =>
<ConfigurationContent>(content: BaseStoreParams<ConfigurationContent>) =>
new Config({
...content,
projectName: "lens",
projectVersion: di.inject(appVersionInjectable),
cwd: di.inject(directoryForUserDataInjectable),
}),
instantiate: () => <ConfigurationContent>(content: BaseStoreParams<ConfigurationContent>) => new Config(content),
causesSideEffects: true,
});