diff --git a/packages/core/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts b/packages/core/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts index 3016e658f..bc2a02ff7 100644 --- a/packages/core/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts +++ b/packages/core/src/subsystems/IO/Storage.service/connectors/LocalStorage.class.ts @@ -49,7 +49,7 @@ export class LocalStorage extends StorageConnector { private findStorageFolder(folder) { let _storageFolder = folder; - if (fs.existsSync(_storageFolder)) { + if (_storageFolder && fs.existsSync(_storageFolder)) { return _storageFolder; } diff --git a/packages/core/tests/unit/005-Storage/LocalStorage.test.ts b/packages/core/tests/unit/005-Storage/LocalStorage.test.ts index 02197e952..523a2f553 100644 --- a/packages/core/tests/unit/005-Storage/LocalStorage.test.ts +++ b/packages/core/tests/unit/005-Storage/LocalStorage.test.ts @@ -47,6 +47,11 @@ const testOriginalMetadata = { }; describe('Local Storage Tests', () => { + it('Initializes with undefined folder without crashing (guard)', () => { + expect(() => new LocalStorage()).not.toThrow(); + expect(() => new LocalStorage({} as any)).not.toThrow(); + expect(() => new LocalStorage({ folder: undefined } as any)).not.toThrow(); + }); it('Get Default Storage instance', async () => { const localStorage: StorageConnector = ConnectorService.getStorageConnector(); diff --git a/packages/sdk/src/Storage/StorageInstance.class.ts b/packages/sdk/src/Storage/StorageInstance.class.ts index 5f630466e..7e7f8b682 100644 --- a/packages/sdk/src/Storage/StorageInstance.class.ts +++ b/packages/sdk/src/Storage/StorageInstance.class.ts @@ -119,11 +119,10 @@ export class StorageInstance extends SDKObject { * @param resourceName - The name or smythfs:// uri of the resource to check * @returns true if the resource exists, false otherwise */ - async exists(resourceName: string) { + async exists(resourceName: string): Promise { const uri = resourceName.startsWith('smythfs://') ? resourceName : await this.getResourceUri(resourceName); try { - await this.fs.exists(uri, this._candidate); - return uri; + return await this.fs.exists(uri, this._candidate); } catch (error) { console.error(error); throw error;