diff --git a/.changeset/long-suits-pull.md b/.changeset/long-suits-pull.md new file mode 100644 index 0000000000..2f96ab18da --- /dev/null +++ b/.changeset/long-suits-pull.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Change to using `@keyv/memcache` now that `keyv-memcache` is deprecated diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index ed934f64f8..e3d035c23e 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -41,7 +41,8 @@ "@backstage/integration": "workspace:^", "@backstage/types": "workspace:^", "@google-cloud/storage": "^6.0.0", - "@keyv/redis": "^2.2.3", + "@keyv/memcache": "^1.3.5", + "@keyv/redis": "^2.5.3", "@kubernetes/client-node": "0.17.0", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", @@ -64,8 +65,7 @@ "helmet": "^6.0.0", "isomorphic-git": "^1.8.0", "jose": "^4.6.0", - "keyv": "^4.0.3", - "keyv-memcache": "^1.2.5", + "keyv": "^4.5.2", "knex": "^2.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", diff --git a/packages/backend-common/src/cache/CacheManager.test.ts b/packages/backend-common/src/cache/CacheManager.test.ts index 3649309a2d..8f58c01a15 100644 --- a/packages/backend-common/src/cache/CacheManager.test.ts +++ b/packages/backend-common/src/cache/CacheManager.test.ts @@ -16,8 +16,7 @@ import { ConfigReader } from '@backstage/config'; import Keyv from 'keyv'; -/* @ts-expect-error */ -import KeyvMemcache from 'keyv-memcache'; +import KeyvMemcache from '@keyv/memcache'; import KeyvRedis from '@keyv/redis'; import { DefaultCacheClient } from './CacheClient'; import { CacheManager } from './CacheManager'; @@ -25,8 +24,8 @@ import { NoStore } from './NoStore'; jest.createMockFromModule('keyv'); jest.mock('keyv'); -jest.createMockFromModule('keyv-memcache'); -jest.mock('keyv-memcache'); +jest.createMockFromModule('@keyv/memcache'); +jest.mock('@keyv/memcache'); jest.createMockFromModule('@keyv/redis'); jest.mock('@keyv/redis'); jest.mock('./CacheClient', () => { @@ -187,7 +186,7 @@ describe('CacheManager', () => { ttl: expectedTtl, }); expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvMemcache); - const memcache = KeyvMemcache as jest.Mock; + const memcache = KeyvMemcache as unknown as jest.Mock; const mockMemcacheCalls = memcache.mock.calls.splice(-1); expect(mockMemcacheCalls[0][0]).toEqual(expectedHost); }); diff --git a/packages/backend-common/src/cache/CacheManager.ts b/packages/backend-common/src/cache/CacheManager.ts index 99e3770ada..9bf5000fc6 100644 --- a/packages/backend-common/src/cache/CacheManager.ts +++ b/packages/backend-common/src/cache/CacheManager.ts @@ -16,8 +16,7 @@ import { Config } from '@backstage/config'; import Keyv from 'keyv'; -// @ts-expect-error -import KeyvMemcache from 'keyv-memcache'; +import KeyvMemcache from '@keyv/memcache'; import KeyvRedis from '@keyv/redis'; import { Logger } from 'winston'; import { getRootLogger } from '../logging'; diff --git a/yarn.lock b/yarn.lock index 971de9f9b4..d88fa508c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3147,7 +3147,8 @@ __metadata: "@backstage/integration": "workspace:^" "@backstage/types": "workspace:^" "@google-cloud/storage": ^6.0.0 - "@keyv/redis": ^2.2.3 + "@keyv/memcache": ^1.3.5 + "@keyv/redis": ^2.5.3 "@kubernetes/client-node": 0.17.0 "@manypkg/get-packages": ^1.1.3 "@octokit/rest": ^19.0.3 @@ -3188,8 +3189,7 @@ __metadata: http-errors: ^2.0.0 isomorphic-git: ^1.8.0 jose: ^4.6.0 - keyv: ^4.0.3 - keyv-memcache: ^1.2.5 + keyv: ^4.5.2 knex: ^2.0.0 lodash: ^4.17.21 logform: ^2.3.2 @@ -10663,7 +10663,17 @@ __metadata: languageName: node linkType: hard -"@keyv/redis@npm:^2.2.3": +"@keyv/memcache@npm:^1.3.5": + version: 1.3.5 + resolution: "@keyv/memcache@npm:1.3.5" + dependencies: + json-buffer: ^3.0.1 + memjs: ^1.3.0 + checksum: c457863aeff1c5886c273eafa5fd79a4287cae1d9d3721b6ce5aa699033428ec8930db044224a6ab63d951cdac2408850737d0adc65f0a502bf04cd7dbe0d15e + languageName: node + linkType: hard + +"@keyv/redis@npm:^2.5.3": version: 2.5.3 resolution: "@keyv/redis@npm:2.5.3" dependencies: @@ -27581,16 +27591,6 @@ __metadata: languageName: node linkType: hard -"keyv-memcache@npm:^1.2.5": - version: 1.3.3 - resolution: "keyv-memcache@npm:1.3.3" - dependencies: - json-buffer: ^3.0.1 - memjs: ^1.3.0 - checksum: ddef602c027a325fc1d18917788799e79cf73f46cbbfefeeda893ca585531544aa4b50de6601c1c5e0427a94bb52ad64e9144c919105b26aac0b173ebcdabc28 - languageName: node - linkType: hard - "keyv@npm:^4.0.0": version: 4.5.0 resolution: "keyv@npm:4.5.0" @@ -27600,7 +27600,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.0.3": +"keyv@npm:^4.5.2": version: 4.5.2 resolution: "keyv@npm:4.5.2" dependencies: