Skip to content

Commit 05432cb

Browse files
committed
Use lru-cache@11.
1 parent 834ef19 commit 05432cb

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# bedrock-ssm-mongodb ChangeLog
22

3+
## 13.1.0 - 2025-05-dd
4+
5+
### Changed
6+
- Use `lru-cache@11`.
7+
38
## 13.0.0 - 2025-03-07
49

510
### Changed

lib/config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import {config} from '@bedrock/core';
55

66
const cfg = config['ssm-mongodb'] = {};
77
cfg.keyRecordCache = {
8-
maxSize: 100,
9-
maxAge: 5000
8+
max: 100,
9+
ttl: 5000
1010
};
1111

1212
// used to encrypt key secrets that are stored in key records

lib/index.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import * as brPackageManager from '@bedrock/package-manager';
1010
import * as database from '@bedrock/mongodb';
1111
import {getKeyOp, splitKeyId} from './helpers.js';
1212
import assert from 'assert-plus';
13-
import LRU from 'lru-cache';
13+
import {LRUCache as LRU} from 'lru-cache';
1414
import {parseTemplate} from 'url-template';
1515

1616
const {util: {BedrockError}} = bedrock;
@@ -31,10 +31,23 @@ import './aeskw.js';
3131

3232
bedrock.events.on('bedrock.init', async () => {
3333
const cfg = bedrock.config['ssm-mongodb'];
34-
KEY_RECORD_CACHE = new LRU({
35-
max: cfg.keyRecordCache.maxSize,
36-
maxAge: cfg.keyRecordCache.maxAge
37-
});
34+
let cacheConfig = cfg.keyRecordCache;
35+
36+
// coerce `maxSize` w/o `sizeCalculation` to `max`
37+
if(cacheConfig.maxSize !== undefined &&
38+
cacheConfig.sizeCalculation === undefined) {
39+
cacheConfig = {...cacheConfig, max: cacheConfig.maxSize};
40+
delete cacheConfig.maxSize;
41+
}
42+
43+
// coerce `maxAge` to `ttl` in `cacheConfig`
44+
if(cacheConfig.maxAge !== undefined) {
45+
cacheConfig = {...cacheConfig, ttl: cacheConfig.maxAge};
46+
delete cacheConfig.maxAge;
47+
}
48+
49+
KEY_RECORD_CACHE = new LRU(cacheConfig);
50+
3851
return brPackageManager.register({
3952
alias: 'ssm-v1',
4053
packageName: '@bedrock/ssm-mongodb',
@@ -329,7 +342,7 @@ async function _getKeyRecord({id}) {
329342
try {
330343
record = await promise;
331344
} catch(e) {
332-
KEY_RECORD_CACHE.del(id);
345+
KEY_RECORD_CACHE.delete(id);
333346
throw e;
334347
}
335348

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"base58-universal": "^2.0.0",
3737
"base64url-universal": "^2.0.0",
3838
"jose": "^5.9.6",
39-
"lru-cache": "^6.0.0",
39+
"lru-cache": "^11.1.0",
4040
"url-template": "^3.1.1"
4141
},
4242
"peerDependencies": {

0 commit comments

Comments
 (0)