diff --git a/packages/plugin-rest-cache/server/src/bootstrap.js b/packages/plugin-rest-cache/server/src/bootstrap.js index ab0acfd..35ec0ac 100644 --- a/packages/plugin-rest-cache/server/src/bootstrap.js +++ b/packages/plugin-rest-cache/server/src/bootstrap.js @@ -36,8 +36,11 @@ const createProvider = async (providerConfig, { strapi }) => { const requireProvider = createRequire(import.meta.url); provider = requireProvider(modulePath); } catch (err) { + const details = err?.message + ? `\nTried to load: ${modulePath}\nCause: ${err.message}` + : `\nTried to load: ${modulePath}`; throw new Error( - `Could not load REST Cache provider "${providerName}". You may need to install a provider plugin "yarn add @strapi-community/provider-rest-cache-${providerName}".` + `Could not load REST Cache provider "${providerName}". You may need to install a provider plugin "yarn add @strapi-community/provider-rest-cache-${providerName}".${details}` ); } diff --git a/packages/provider-rest-cache-memory/lib/MemoryCacheProvider.js b/packages/provider-rest-cache-memory/lib/MemoryCacheProvider.js index d2bfd0b..8da6ea6 100644 --- a/packages/provider-rest-cache-memory/lib/MemoryCacheProvider.js +++ b/packages/provider-rest-cache-memory/lib/MemoryCacheProvider.js @@ -1,7 +1,9 @@ 'use strict'; -const Keyv = require('keyv').default; -const QuickLRU = require('quick-lru'); +const keyvModule = require('keyv'); +const Keyv = keyvModule.default ?? keyvModule; +const quickLruModule = require('quick-lru'); +const QuickLRU = quickLruModule.default ?? quickLruModule; const { createCache } = require('cache-manager'); const { CacheProvider } = require('@strapi-community/plugin-rest-cache/types'); @@ -20,7 +22,7 @@ class MemoryCacheProvider extends CacheProvider { ttl, stores: [ new Keyv({ - store: new QuickLRU.default(adapterOptions), + store: new QuickLRU(adapterOptions), }), ], }); diff --git a/packages/provider-rest-cache-memory/package.json b/packages/provider-rest-cache-memory/package.json index c016503..7f49ab3 100644 --- a/packages/provider-rest-cache-memory/package.json +++ b/packages/provider-rest-cache-memory/package.json @@ -73,6 +73,7 @@ }, "dependencies": { "cache-manager": "^7.1.1", + "keyv": "^5.5.0", "quick-lru": "7.0.1" }, "devDependencies": { diff --git a/packages/provider-rest-cache-redis/lib/RedisCacheProvider.js b/packages/provider-rest-cache-redis/lib/RedisCacheProvider.js index 4f306eb..a6db3d4 100644 --- a/packages/provider-rest-cache-redis/lib/RedisCacheProvider.js +++ b/packages/provider-rest-cache-redis/lib/RedisCacheProvider.js @@ -1,8 +1,10 @@ 'use strict'; const { createCache } = require('cache-manager'); -const Keyv = require('keyv').default; -const KeyvRedis = require('@keyv/redis'); +const keyvModule = require('keyv'); +const Keyv = keyvModule.default ?? keyvModule; +const keyvRedisModule = require('@keyv/redis'); +const KeyvRedis = keyvRedisModule.default ?? keyvRedisModule; const { CacheProvider } = require('@strapi-community/plugin-rest-cache/types'); class RedisCacheProvider extends CacheProvider { @@ -16,7 +18,7 @@ class RedisCacheProvider extends CacheProvider { ttl, stores: [ new Keyv({ - store: new KeyvRedis.default(client, adapterOptions), + store: new KeyvRedis(client, adapterOptions), }), ], }); diff --git a/packages/provider-rest-cache-redis/package.json b/packages/provider-rest-cache-redis/package.json index 299a342..952f432 100644 --- a/packages/provider-rest-cache-redis/package.json +++ b/packages/provider-rest-cache-redis/package.json @@ -73,7 +73,8 @@ }, "dependencies": { "@keyv/redis": "^3.0.1", - "cache-manager": "^7.1.1" + "cache-manager": "^7.1.1", + "keyv": "^5.5.0" }, "devDependencies": { "@strapi-community/plugin-redis": "^2.0.0",