From 95b83b1ce692d5ae1587ad38cd00e4a10f81a3e1 Mon Sep 17 00:00:00 2001 From: Antti Lustila Date: Tue, 31 Jan 2023 12:58:04 +0200 Subject: [PATCH] Use extension storeName to get store and data location --- .../extensions/__tests__/lens-extension.test.ts | 7 +++++++ packages/core/src/extensions/extension-store.ts | 2 +- packages/core/src/extensions/lens-extension.ts | 15 ++++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/core/src/extensions/__tests__/lens-extension.test.ts b/packages/core/src/extensions/__tests__/lens-extension.test.ts index 7cb90a548b..13462fc10d 100644 --- a/packages/core/src/extensions/__tests__/lens-extension.test.ts +++ b/packages/core/src/extensions/__tests__/lens-extension.test.ts @@ -18,6 +18,7 @@ describe("lens extension", () => { name: "foo-bar", version: "0.1.1", engines: { lens: "^5.5.0" }, + storeName: "foo-bar-store", }, id: "/this/is/fake/package.json", absolutePath: "/absolute/fake/", @@ -33,4 +34,10 @@ describe("lens extension", () => { expect(ext.name).toBe("foo-bar"); }); }); + + describe("storeName", () => { + it("returns storeName", () => { + expect(ext.storeName).toBe("foo-bar-store"); + }); + }); }); diff --git a/packages/core/src/extensions/extension-store.ts b/packages/core/src/extensions/extension-store.ts index 271175f0a4..52fcd62b6a 100644 --- a/packages/core/src/extensions/extension-store.ts +++ b/packages/core/src/extensions/extension-store.ts @@ -92,6 +92,6 @@ export abstract class ExtensionStore extends BaseStore { protected cwd() { assert(this.extension, "must call this.load() first"); - return path.join(super.cwd(), "extension-store", this.extension.name); + return path.join(super.cwd(), "extension-store", this.extension.storeLocation); } } diff --git a/packages/core/src/extensions/lens-extension.ts b/packages/core/src/extensions/lens-extension.ts index 77a9bf908c..b59c996e32 100644 --- a/packages/core/src/extensions/lens-extension.ts +++ b/packages/core/src/extensions/lens-extension.ts @@ -27,6 +27,7 @@ export interface LensExtensionManifest extends PackageJson { npm?: string; node?: string; }; + storeName?: string; } export const lensExtensionDependencies = Symbol("lens-extension-dependencies"); @@ -79,6 +80,18 @@ export class LensExtension< get description() { return this.manifest.description; } + + get storeName() { + return this.manifest.storeName; + } + + get dataLocation() { + return this.storeName || this.id; + } + + get storeLocation() { + return this.storeName || this.name; + } /** * @ignore @@ -93,7 +106,7 @@ export class LensExtension< * folder name. */ async getExtensionFileFolder(): Promise { - return this[lensExtensionDependencies].fileSystemProvisionerStore.requestDirectory(this.id); + return this[lensExtensionDependencies].fileSystemProvisionerStore.requestDirectory(this.dataLocation); } @action