diff --git a/src/extensions/lens-extension.ts b/src/extensions/lens-extension.ts index 8a7d76bb3d..9c61de1721 100644 --- a/src/extensions/lens-extension.ts +++ b/src/extensions/lens-extension.ts @@ -48,7 +48,7 @@ export class LensExtension { * folder name. */ async getExtensionFileFolder(): Promise { - return filesystemProvisionerStore.requestDirectory(this.id) + return filesystemProvisionerStore.requestDirectory(this.id); } get description() { diff --git a/src/main/extension-filesystem.ts b/src/main/extension-filesystem.ts index a068193671..fb3a4060be 100644 --- a/src/main/extension-filesystem.ts +++ b/src/main/extension-filesystem.ts @@ -1,18 +1,18 @@ -import { randomBytes } from "crypto" -import { SHA256 } from "crypto-js" -import { app } from "electron" -import fse from "fs-extra" -import { action, observable, toJS } from "mobx" -import path from "path" -import { BaseStore } from "../common/base-store" -import { LensExtensionId } from "../extensions/lens-extension" +import { randomBytes } from "crypto"; +import { SHA256 } from "crypto-js"; +import { app } from "electron"; +import fse from "fs-extra"; +import { action, observable, toJS } from "mobx"; +import path from "path"; +import { BaseStore } from "../common/base-store"; +import { LensExtensionId } from "../extensions/lens-extension"; interface FSProvisionModel { extensions: Record; // extension names to paths } export class FilesystemProvisionerStore extends BaseStore { - @observable registeredExtensions = observable.map() + @observable registeredExtensions = observable.map(); private constructor() { super({ @@ -29,20 +29,20 @@ export class FilesystemProvisionerStore extends BaseStore { */ async requestDirectory(extensionName: string): Promise { if (!this.registeredExtensions.has(extensionName)) { - const salt = randomBytes(32).toString("hex") - const hashedName = SHA256(`${extensionName}/${salt}`).toString() - const dirPath = path.resolve(app.getPath("userData"), "extension_data", hashedName) - this.registeredExtensions.set(extensionName, dirPath) + const salt = randomBytes(32).toString("hex"); + const hashedName = SHA256(`${extensionName}/${salt}`).toString(); + const dirPath = path.resolve(app.getPath("userData"), "extension_data", hashedName); + this.registeredExtensions.set(extensionName, dirPath); } - const dirPath = this.registeredExtensions.get(extensionName) - await fse.ensureDir(dirPath) - return dirPath + const dirPath = this.registeredExtensions.get(extensionName); + await fse.ensureDir(dirPath); + return dirPath; } @action protected fromStore({ extensions }: FSProvisionModel = { extensions: {} }): void { - this.registeredExtensions.merge(extensions) + this.registeredExtensions.merge(extensions); } toJSON(): FSProvisionModel { @@ -50,8 +50,8 @@ export class FilesystemProvisionerStore extends BaseStore { extensions: this.registeredExtensions.toJSON(), }, { recurseEverything: true - }) + }); } } -export const filesystemProvisionerStore = FilesystemProvisionerStore.getInstance() +export const filesystemProvisionerStore = FilesystemProvisionerStore.getInstance();