renovate 44.75.1 → 44.75.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -7,6 +7,7 @@ import { RESP_TYPES, createClient, createCluster } from "@redis/client";
|
|
|
7
7
|
function normalizeRedisUrl(url) {
|
|
8
8
|
return url.replace(regEx(/^(?<scheme>rediss?)\+cluster:\/\//), "$<scheme>://");
|
|
9
9
|
}
|
|
10
|
+
const RESP = 2;
|
|
10
11
|
var PackageCacheRedis = class PackageCacheRedis extends PackageCacheBase {
|
|
11
12
|
static async create(url, prefix) {
|
|
12
13
|
const rprefix = prefix ?? "";
|
|
@@ -20,7 +21,10 @@ var PackageCacheRedis = class PackageCacheRedis extends PackageCacheBase {
|
|
|
20
21
|
};
|
|
21
22
|
let client;
|
|
22
23
|
if (clusteredMode) {
|
|
23
|
-
const clusterConfig = {
|
|
24
|
+
const clusterConfig = {
|
|
25
|
+
rootNodes: [config],
|
|
26
|
+
RESP
|
|
27
|
+
};
|
|
24
28
|
const parsedUrl = parseUrl(rewrittenUrl);
|
|
25
29
|
if (parsedUrl?.username) clusterConfig.defaults = { username: parsedUrl.username };
|
|
26
30
|
if (parsedUrl?.password) {
|
|
@@ -28,7 +32,10 @@ var PackageCacheRedis = class PackageCacheRedis extends PackageCacheBase {
|
|
|
28
32
|
clusterConfig.defaults.password = parsedUrl.password;
|
|
29
33
|
}
|
|
30
34
|
client = createCluster(clusterConfig);
|
|
31
|
-
} else client = createClient(
|
|
35
|
+
} else client = createClient({
|
|
36
|
+
...config,
|
|
37
|
+
RESP
|
|
38
|
+
});
|
|
32
39
|
await client.connect();
|
|
33
40
|
logger.debug("Redis cache connected");
|
|
34
41
|
const binaryClient = client.withTypeMapping({ [RESP_TYPES.BLOB_STRING]: Buffer });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","names":[],"sources":["../../../../../lib/util/cache/package/impl/redis.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"redis.js","names":[],"sources":["../../../../../lib/util/cache/package/impl/redis.ts"],"sourcesContent":["import type {\n RedisClientType,\n RedisClusterOptions,\n RedisClusterType,\n RedisFunctions,\n RedisModules,\n RedisScripts,\n TypeMapping,\n} from '@redis/client';\nimport { RESP_TYPES, createClient, createCluster } from '@redis/client';\nimport { logger } from '../../../../logger/index.ts';\nimport { regEx } from '../../../regex.ts';\nimport { parseUrl } from '../../../url.ts';\nimport type { PackageCacheNamespace } from '../types.ts';\nimport { PackageCacheBase } from './base.ts';\n\nexport function normalizeRedisUrl(url: string): string {\n return url.replace(\n regEx(/^(?<scheme>rediss?)\\+cluster:\\/\\//),\n '$<scheme>://',\n );\n}\n\n// TODO: switch to RESP 3 (the @redis/client v6 default) in the next major\n// release, as it requires Redis server 6.0 or newer.\nconst RESP = 2;\n\ntype RedisClient =\n | RedisClientType<\n RedisModules,\n RedisFunctions,\n RedisScripts,\n typeof RESP,\n TypeMapping\n >\n | RedisClusterType<\n RedisModules,\n RedisFunctions,\n RedisScripts,\n typeof RESP,\n TypeMapping\n >;\n\ninterface RedisBinaryClient {\n get(key: string): Promise<Buffer | null>;\n}\n\nexport class PackageCacheRedis extends PackageCacheBase {\n static async create(\n url: string,\n prefix: string | undefined,\n ): Promise<PackageCacheRedis> {\n const rprefix = prefix ?? '';\n logger.debug('Redis cache init');\n\n const rewrittenUrl = normalizeRedisUrl(url);\n const clusteredMode = rewrittenUrl !== url;\n\n const config = {\n url: rewrittenUrl,\n socket: {\n reconnectStrategy: (retries: number) => Math.min(retries * 100, 3000),\n },\n pingInterval: 30000,\n };\n\n let client: RedisClient;\n\n if (clusteredMode) {\n const clusterConfig: RedisClusterOptions<\n RedisModules,\n RedisFunctions,\n RedisScripts,\n typeof RESP\n > = { rootNodes: [config], RESP };\n\n const parsedUrl = parseUrl(rewrittenUrl);\n if (parsedUrl?.username) {\n clusterConfig.defaults = {\n username: parsedUrl.username,\n };\n }\n\n if (parsedUrl?.password) {\n clusterConfig.defaults ??= {};\n clusterConfig.defaults.password = parsedUrl.password;\n }\n\n client = createCluster(clusterConfig);\n } else {\n client = createClient({ ...config, RESP });\n }\n\n await client.connect();\n logger.debug('Redis cache connected');\n const binaryClient = client.withTypeMapping({\n [RESP_TYPES.BLOB_STRING]: Buffer,\n }) as RedisBinaryClient;\n return new PackageCacheRedis(client, binaryClient, rprefix);\n }\n\n private readonly client: RedisClient;\n private readonly binaryClient: RedisBinaryClient;\n private readonly rprefix: string;\n\n private constructor(\n client: RedisClient,\n binaryClient: RedisBinaryClient,\n rprefix: string,\n ) {\n super();\n this.client = client;\n this.binaryClient = binaryClient;\n this.rprefix = rprefix;\n }\n\n private getKey(namespace: PackageCacheNamespace, key: string): string {\n return `${this.rprefix}${namespace}-${key}`;\n }\n\n override destroy(): Promise<void> {\n try {\n // https://github.com/redis/node-redis#disconnecting\n this.client.destroy();\n } catch (err) {\n logger.warn({ err }, 'Redis cache destroy failed');\n }\n return Promise.resolve();\n }\n\n protected override async readRaw(\n namespace: PackageCacheNamespace,\n key: string,\n ): Promise<Buffer | undefined> {\n const raw = await this.binaryClient.get(this.getKey(namespace, key));\n\n return raw ?? undefined;\n }\n\n protected override async writeRaw(\n namespace: PackageCacheNamespace,\n key: string,\n data: Buffer,\n ttlSeconds: number,\n ): Promise<void> {\n await this.client.set(this.getKey(namespace, key), data, {\n EX: ttlSeconds,\n });\n }\n\n protected override async rm(\n namespace: PackageCacheNamespace,\n key: string,\n ): Promise<void> {\n logger.trace(\n { rprefix: this.rprefix, namespace, key },\n 'Removing cache entry',\n );\n await this.client.del(this.getKey(namespace, key));\n }\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,kBAAkB,KAAqB;CACrD,OAAO,IAAI,QACT,MAAM,mCAAmC,GACzC,cACF;AACF;AAIA,MAAM,OAAO;AAsBb,IAAa,oBAAb,MAAa,0BAA0B,iBAAiB;CACtD,aAAa,OACX,KACA,QAC4B;EAC5B,MAAM,UAAU,UAAU;EAC1B,OAAO,MAAM,kBAAkB;EAE/B,MAAM,eAAe,kBAAkB,GAAG;EAC1C,MAAM,gBAAgB,iBAAiB;EAEvC,MAAM,SAAS;GACb,KAAK;GACL,QAAQ,EACN,oBAAoB,YAAoB,KAAK,IAAI,UAAU,KAAK,GAAI,EACtE;GACA,cAAc;EAChB;EAEA,IAAI;EAEJ,IAAI,eAAe;GACjB,MAAM,gBAKF;IAAE,WAAW,CAAC,MAAM;IAAG;GAAK;GAEhC,MAAM,YAAY,SAAS,YAAY;GACvC,IAAI,WAAW,UACb,cAAc,WAAW,EACvB,UAAU,UAAU,SACtB;GAGF,IAAI,WAAW,UAAU;IACvB,cAAc,aAAa,CAAC;IAC5B,cAAc,SAAS,WAAW,UAAU;GAC9C;GAEA,SAAS,cAAc,aAAa;EACtC,OACE,SAAS,aAAa;GAAE,GAAG;GAAQ;EAAK,CAAC;EAG3C,MAAM,OAAO,QAAQ;EACrB,OAAO,MAAM,uBAAuB;EACpC,MAAM,eAAe,OAAO,gBAAgB,GACzC,WAAW,cAAc,OAC5B,CAAC;EACD,OAAO,IAAI,kBAAkB,QAAQ,cAAc,OAAO;CAC5D;CAEA;CACA;CACA;CAEA,YACE,QACA,cACA,SACA;EACA,MAAM;EACN,KAAK,SAAS;EACd,KAAK,eAAe;EACpB,KAAK,UAAU;CACjB;CAEA,OAAe,WAAkC,KAAqB;EACpE,OAAO,GAAG,KAAK,UAAU,UAAU,GAAG;CACxC;CAEA,UAAkC;EAChC,IAAI;GAEF,KAAK,OAAO,QAAQ;EACtB,SAAS,KAAK;GACZ,OAAO,KAAK,EAAE,IAAI,GAAG,4BAA4B;EACnD;EACA,OAAO,QAAQ,QAAQ;CACzB;CAEA,MAAyB,QACvB,WACA,KAC6B;EAG7B,OAAO,MAFW,KAAK,aAAa,IAAI,KAAK,OAAO,WAAW,GAAG,CAAC,KAErD,KAAA;CAChB;CAEA,MAAyB,SACvB,WACA,KACA,MACA,YACe;EACf,MAAM,KAAK,OAAO,IAAI,KAAK,OAAO,WAAW,GAAG,GAAG,MAAM,EACvD,IAAI,WACN,CAAC;CACH;CAEA,MAAyB,GACvB,WACA,KACe;EACf,OAAO,MACL;GAAE,SAAS,KAAK;GAAS;GAAW;EAAI,GACxC,sBACF;EACA,MAAM,KAAK,OAAO,IAAI,KAAK,OAAO,WAAW,GAAG,CAAC;CACnD;AACF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "44.75.
|
|
4
|
+
"version": "44.75.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"@opentelemetry/semantic-conventions": "1.43.0",
|
|
118
118
|
"@pnpm/parse-overrides": "1001.0.4",
|
|
119
119
|
"@qnighy/marshal": "0.1.3",
|
|
120
|
-
"@redis/client": "
|
|
120
|
+
"@redis/client": "6.2.1",
|
|
121
121
|
"@renovatebot/detect-tools": "4.0.14",
|
|
122
122
|
"@renovatebot/good-enough-parser": "2.0.1",
|
|
123
123
|
"@renovatebot/osv-offline": "3.0.10",
|
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.75.
|
|
3
|
+
"title": "JSON schema for Renovate 44.75.2 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.75.
|
|
5
|
+
"x-renovate-version": "44.75.2",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|