renovate 39.261.2 → 39.261.4

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.
@@ -8,6 +8,7 @@ const tslib_1 = require("tslib");
8
8
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
9
9
  const logger_1 = require("../../../logger");
10
10
  const external_host_error_1 = require("../../../types/errors/external-host-error");
11
+ const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
11
12
  const github_1 = require("../../../util/http/github");
12
13
  const string_1 = require("../../../util/string");
13
14
  const util_1 = require("../util");
@@ -22,7 +23,9 @@ async function fetchJSONFile(repo, fileName, endpoint, tag) {
22
23
  logger_1.logger.trace({ url }, `Preset URL`);
23
24
  let res;
24
25
  try {
25
- res = await http.getJsonUnchecked(url);
26
+ res = await http.getJsonUnchecked(url, {
27
+ cacheProvider: memory_http_cache_provider_1.memCacheProvider,
28
+ });
26
29
  }
27
30
  catch (err) {
28
31
  if (err instanceof external_host_error_1.ExternalHostError) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/github/index.ts"],"names":[],"mappings":";;;AAYA,sCAwBC;AAED,sDAeC;AAED,8BAOC;;AA9DD,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAC9E,sDAAuD;AACvD,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,yBAAyB,CAAC;AAElD,MAAM,IAAI,GAAG,IAAI,mBAAU,EAAE,CAAC;AAEvB,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,SAAS,IAAI,aAAa,QAAQ,GAAG,GAAG,EAAE,CAAC;IAClE,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,GAAkC,CAAC;IACvC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://api.github.com/';\n\nconst http = new GithubHttp();\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let ref = '';\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n }\n const url = `${endpoint}repos/${repo}/contents/${fileName}${ref}`;\n logger.trace({ url }, `Preset URL`);\n let res: { body: { content: string } };\n try {\n res = await http.getJsonUnchecked(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(fromBase64(res.body.content), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/github/index.ts"],"names":[],"mappings":";;;AAaA,sCA0BC;AAED,sDAeC;AAED,8BAOC;;AAjED,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAC9E,oGAAuF;AACvF,sDAAuD;AACvD,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,yBAAyB,CAAC;AAElD,MAAM,IAAI,GAAG,IAAI,mBAAU,EAAE,CAAC;AAEvB,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,SAAS,IAAI,aAAa,QAAQ,GAAG,GAAG,EAAE,CAAC;IAClE,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,GAAkC,CAAC;IACvC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACrC,aAAa,EAAE,6CAAgB;SAChC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://api.github.com/';\n\nconst http = new GithubHttp();\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let ref = '';\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n }\n const url = `${endpoint}repos/${repo}/contents/${fileName}${ref}`;\n logger.trace({ url }, `Preset URL`);\n let res: { body: { content: string } };\n try {\n res = await http.getJsonUnchecked(url, {\n cacheProvider: memCacheProvider,\n });\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(fromBase64(res.body.content), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
@@ -4,6 +4,7 @@ exports.getPreset = getPreset;
4
4
  const logger_1 = require("../../../logger");
5
5
  const external_host_error_1 = require("../../../types/errors/external-host-error");
6
6
  const http_1 = require("../../../util/http");
7
+ const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
7
8
  const url_1 = require("../../../util/url");
8
9
  const util_1 = require("../util");
9
10
  const http = new http_1.Http('preset');
@@ -15,7 +16,7 @@ async function getPreset({ repo: url, }) {
15
16
  throw new Error(util_1.PRESET_DEP_NOT_FOUND);
16
17
  }
17
18
  try {
18
- response = await http.getText(url);
19
+ response = await http.getText(url, { cacheProvider: memory_http_cache_provider_1.memCacheProvider });
19
20
  }
20
21
  catch (err) {
21
22
  if (err instanceof external_host_error_1.ExternalHostError) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/http/index.ts"],"names":[],"mappings":";;AAUA,8BAuBC;AAjCD,4CAAyC;AACzC,mFAA8E;AAC9E,6CAA0C;AAE1C,2CAA6C;AAE7C,kCAA4D;AAE5D,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC;AAEzB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,GACI;IACb,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,CAAC;IAChC,IAAI,QAAsB,CAAC;IAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { Http } from '../../../util/http';\nimport type { HttpResponse } from '../../../util/http/types';\nimport { parseUrl } from '../../../util/url';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, parsePreset } from '../util';\n\nconst http = new Http('preset');\n\nexport async function getPreset({\n repo: url,\n}: PresetConfig): Promise<Preset | null | undefined> {\n const parsedUrl = parseUrl(url);\n let response: HttpResponse;\n\n if (!parsedUrl) {\n logger.debug(`Preset URL ${url} is malformed`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n try {\n response = await http.getText(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n\n logger.debug(`Preset file ${url} not found`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(response.body, parsedUrl.pathname);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/http/index.ts"],"names":[],"mappings":";;AAWA,8BAuBC;AAlCD,4CAAyC;AACzC,mFAA8E;AAC9E,6CAA0C;AAC1C,oGAAuF;AAEvF,2CAA6C;AAE7C,kCAA4D;AAE5D,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC;AAEzB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,GACI;IACb,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,CAAC;IAChC,IAAI,QAAsB,CAAC;IAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,6CAAgB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { Http } from '../../../util/http';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport type { HttpResponse } from '../../../util/http/types';\nimport { parseUrl } from '../../../util/url';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, parsePreset } from '../util';\n\nconst http = new Http('preset');\n\nexport async function getPreset({\n repo: url,\n}: PresetConfig): Promise<Preset | null | undefined> {\n const parsedUrl = parseUrl(url);\n let response: HttpResponse;\n\n if (!parsedUrl) {\n logger.debug(`Preset URL ${url} is malformed`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n try {\n response = await http.getText(url, { cacheProvider: memCacheProvider });\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n\n logger.debug(`Preset file ${url} not found`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(response.body, parsedUrl.pathname);\n}\n"]}
@@ -4,6 +4,7 @@ exports.getPreset = getPreset;
4
4
  const logger_1 = require("../../../logger");
5
5
  const npmrc_1 = require("../../../modules/datasource/npm/npmrc");
6
6
  const http_1 = require("../../../util/http");
7
+ const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
7
8
  const util_1 = require("../util");
8
9
  const id = 'npm';
9
10
  const http = new http_1.Http(id);
@@ -13,7 +14,9 @@ async function getPreset({ repo: pkg, presetName = 'default', }) {
13
14
  const registryUrl = (0, npmrc_1.resolveRegistryUrl)(pkg);
14
15
  logger_1.logger.once.warn({ registryUrl, pkg }, 'Using npm packages for Renovate presets is now deprecated. Please migrate to repository-based presets instead.');
15
16
  const packageUrl = (0, npmrc_1.resolvePackageUrl)(registryUrl, pkg);
16
- const body = (await http.getJsonUnchecked(packageUrl)).body;
17
+ const body = (await http.getJsonUnchecked(packageUrl, {
18
+ cacheProvider: memory_http_cache_provider_1.memCacheProvider,
19
+ })).body;
17
20
  // TODO: check null #22198
18
21
  dep = body.versions[body['dist-tags'].latest];
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/npm/index.ts"],"names":[],"mappings":";;AAqBA,8BA+BC;AApDD,4CAAyC;AACzC,iEAG+C;AAK/C,6CAA0C;AAE1C,kCAIiB;AAEjB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,CAAC,CAAC;AAEnB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,EACT,UAAU,GAAG,SAAS,GACT;IACb,IAAI,GAAmE,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC,GAAG,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,WAAW,EAAE,GAAG,EAAE,EACpB,gHAAgH,CACjH,CAAC;QACF,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAc,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,0BAA0B;QAC1B,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B,yCAAyC,CAC1C,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,uBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport {\n resolvePackageUrl,\n resolveRegistryUrl,\n} from '../../../modules/datasource/npm/npmrc';\nimport type {\n NpmResponse,\n NpmResponseVersion,\n} from '../../../modules/datasource/npm/types';\nimport { Http } from '../../../util/http';\nimport type { Preset, PresetConfig } from '../types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_NOT_FOUND,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from '../util';\n\nconst id = 'npm';\n\nconst http = new Http(id);\n\nexport async function getPreset({\n repo: pkg,\n presetName = 'default',\n}: PresetConfig): Promise<Preset | undefined> {\n let dep: (NpmResponseVersion & { 'renovate-config'?: any }) | undefined;\n try {\n const registryUrl = resolveRegistryUrl(pkg);\n logger.once.warn(\n { registryUrl, pkg },\n 'Using npm packages for Renovate presets is now deprecated. Please migrate to repository-based presets instead.',\n );\n const packageUrl = resolvePackageUrl(registryUrl, pkg);\n const body = (await http.getJsonUnchecked<NpmResponse>(packageUrl)).body;\n // TODO: check null #22198\n dep = body.versions![body['dist-tags']!.latest];\n } catch {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n if (!dep?.['renovate-config']) {\n throw new Error(PRESET_RENOVATE_CONFIG_NOT_FOUND);\n }\n const presetConfig = dep['renovate-config'][presetName];\n if (!presetConfig) {\n const presetNames = Object.keys(dep['renovate-config']);\n logger.debug(\n { presetNames, presetName },\n 'Preset not found within renovate-config',\n );\n throw new Error(PRESET_NOT_FOUND);\n }\n return presetConfig;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/npm/index.ts"],"names":[],"mappings":";;AAsBA,8BAmCC;AAzDD,4CAAyC;AACzC,iEAG+C;AAK/C,6CAA0C;AAC1C,oGAAuF;AAEvF,kCAIiB;AAEjB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,CAAC,CAAC;AAEnB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,EACT,UAAU,GAAG,SAAS,GACT;IACb,IAAI,GAAmE,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC,GAAG,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,WAAW,EAAE,GAAG,EAAE,EACpB,gHAAgH,CACjH,CAAC;QACF,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CACX,MAAM,IAAI,CAAC,gBAAgB,CAAc,UAAU,EAAE;YACnD,aAAa,EAAE,6CAAgB;SAChC,CAAC,CACH,CAAC,IAAI,CAAC;QACP,0BAA0B;QAC1B,GAAG,GAAG,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B,yCAAyC,CAC1C,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,uBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport {\n resolvePackageUrl,\n resolveRegistryUrl,\n} from '../../../modules/datasource/npm/npmrc';\nimport type {\n NpmResponse,\n NpmResponseVersion,\n} from '../../../modules/datasource/npm/types';\nimport { Http } from '../../../util/http';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport type { Preset, PresetConfig } from '../types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_NOT_FOUND,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from '../util';\n\nconst id = 'npm';\n\nconst http = new Http(id);\n\nexport async function getPreset({\n repo: pkg,\n presetName = 'default',\n}: PresetConfig): Promise<Preset | undefined> {\n let dep: (NpmResponseVersion & { 'renovate-config'?: any }) | undefined;\n try {\n const registryUrl = resolveRegistryUrl(pkg);\n logger.once.warn(\n { registryUrl, pkg },\n 'Using npm packages for Renovate presets is now deprecated. Please migrate to repository-based presets instead.',\n );\n const packageUrl = resolvePackageUrl(registryUrl, pkg);\n const body = (\n await http.getJsonUnchecked<NpmResponse>(packageUrl, {\n cacheProvider: memCacheProvider,\n })\n ).body;\n // TODO: check null #22198\n dep = body.versions![body['dist-tags']!.latest];\n } catch {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n if (!dep?.['renovate-config']) {\n throw new Error(PRESET_RENOVATE_CONFIG_NOT_FOUND);\n }\n const presetConfig = dep['renovate-config'][presetName];\n if (!presetConfig) {\n const presetNames = Object.keys(dep['renovate-config']);\n logger.debug(\n { presetNames, presetName },\n 'Preset not found within renovate-config',\n );\n throw new Error(PRESET_NOT_FOUND);\n }\n return presetConfig;\n}\n"]}
@@ -7,6 +7,7 @@ const logger_1 = require("../../../logger");
7
7
  const graphql_1 = require("../../../util/github/graphql");
8
8
  const tags_1 = require("../../../util/github/tags");
9
9
  const url_1 = require("../../../util/github/url");
10
+ const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
10
11
  const github_1 = require("../../../util/http/github");
11
12
  const datasource_1 = require("../datasource");
12
13
  class GithubTagsDatasource extends datasource_1.Datasource {
@@ -28,7 +29,9 @@ class GithubTagsDatasource extends datasource_1.Datasource {
28
29
  let digest = null;
29
30
  try {
30
31
  const url = `${apiBaseUrl}repos/${githubRepo}/commits?per_page=1`;
31
- const res = await this.http.getJsonUnchecked(url);
32
+ const res = await this.http.getJsonUnchecked(url, {
33
+ cacheProvider: memory_http_cache_provider_1.memCacheProvider,
34
+ });
32
35
  digest = res.body[0].sha;
33
36
  }
34
37
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/github-tags/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { queryReleases, queryTags } from '../../../util/github/graphql';\nimport type { GithubReleaseItem } from '../../../util/github/graphql/types';\nimport { findCommitOfTag } from '../../../util/github/tags';\nimport { getApiBaseUrl, getSourceUrl } from '../../../util/github/url';\nimport { GithubHttp } from '../../../util/http/github';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\n\nexport class GithubTagsDatasource extends Datasource {\n static readonly id = 'github-tags';\n\n override readonly defaultRegistryUrls = ['https://github.com'];\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n // Note: not sure\n override readonly releaseTimestampNote =\n 'The get release timestamp is determined from the `releaseTimestamp` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n override http: GithubHttp;\n\n constructor() {\n super(GithubTagsDatasource.id);\n this.http = new GithubHttp(GithubTagsDatasource.id);\n }\n\n async getCommit(\n registryUrl: string | undefined,\n githubRepo: string,\n ): Promise<string | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n let digest: string | null = null;\n try {\n const url = `${apiBaseUrl}repos/${githubRepo}/commits?per_page=1`;\n const res = await this.http.getJsonUnchecked<{ sha: string }[]>(url);\n digest = res.body[0].sha;\n } catch (err) {\n logger.debug(\n { githubRepo, err, registryUrl },\n 'Error getting latest commit from GitHub repo',\n );\n }\n return digest;\n }\n\n /**\n * github.getDigest\n *\n * The `newValue` supplied here should be a valid tag for the docker image.\n *\n * Returns the latest commit hash for the repository.\n */\n override getDigest(\n { packageName: repo, registryUrl }: Partial<DigestConfig>,\n newValue?: string,\n ): Promise<string | null> {\n return newValue\n ? findCommitOfTag(registryUrl, repo!, newValue, this.http)\n : this.getCommit(registryUrl, repo!);\n }\n\n override async getReleases(\n config: GetReleasesConfig,\n ): Promise<ReleaseResult> {\n const { registryUrl, packageName: repo } = config;\n const sourceUrl = getSourceUrl(repo, registryUrl);\n const tagsResult = await queryTags(config, this.http);\n const releases: Release[] = tagsResult.map(\n ({ version, releaseTimestamp, gitRef, hash }) => ({\n newDigest: hash,\n version,\n releaseTimestamp,\n gitRef,\n }),\n );\n\n try {\n // Fetch additional data from releases endpoint when possible\n const releasesResult = await queryReleases(config, this.http);\n const releasesMap = new Map<string, GithubReleaseItem>();\n for (const release of releasesResult) {\n releasesMap.set(release.version, release);\n }\n\n for (const release of releases) {\n const isReleaseStable = releasesMap.get(release.version)?.isStable;\n if (is.boolean(isReleaseStable)) {\n release.isStable = isReleaseStable;\n }\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err }, `Error fetching additional info for GitHub tags`);\n }\n\n const dependency: ReleaseResult = {\n sourceUrl,\n releases,\n };\n return dependency;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/github-tags/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { queryReleases, queryTags } from '../../../util/github/graphql';\nimport type { GithubReleaseItem } from '../../../util/github/graphql/types';\nimport { findCommitOfTag } from '../../../util/github/tags';\nimport { getApiBaseUrl, getSourceUrl } from '../../../util/github/url';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider';\nimport { GithubHttp } from '../../../util/http/github';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\n\nexport class GithubTagsDatasource extends Datasource {\n static readonly id = 'github-tags';\n\n override readonly defaultRegistryUrls = ['https://github.com'];\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n // Note: not sure\n override readonly releaseTimestampNote =\n 'The get release timestamp is determined from the `releaseTimestamp` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n override http: GithubHttp;\n\n constructor() {\n super(GithubTagsDatasource.id);\n this.http = new GithubHttp(GithubTagsDatasource.id);\n }\n\n async getCommit(\n registryUrl: string | undefined,\n githubRepo: string,\n ): Promise<string | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n let digest: string | null = null;\n try {\n const url = `${apiBaseUrl}repos/${githubRepo}/commits?per_page=1`;\n const res = await this.http.getJsonUnchecked<{ sha: string }[]>(url, {\n cacheProvider: memCacheProvider,\n });\n digest = res.body[0].sha;\n } catch (err) {\n logger.debug(\n { githubRepo, err, registryUrl },\n 'Error getting latest commit from GitHub repo',\n );\n }\n return digest;\n }\n\n /**\n * github.getDigest\n *\n * The `newValue` supplied here should be a valid tag for the docker image.\n *\n * Returns the latest commit hash for the repository.\n */\n override getDigest(\n { packageName: repo, registryUrl }: Partial<DigestConfig>,\n newValue?: string,\n ): Promise<string | null> {\n return newValue\n ? findCommitOfTag(registryUrl, repo!, newValue, this.http)\n : this.getCommit(registryUrl, repo!);\n }\n\n override async getReleases(\n config: GetReleasesConfig,\n ): Promise<ReleaseResult> {\n const { registryUrl, packageName: repo } = config;\n const sourceUrl = getSourceUrl(repo, registryUrl);\n const tagsResult = await queryTags(config, this.http);\n const releases: Release[] = tagsResult.map(\n ({ version, releaseTimestamp, gitRef, hash }) => ({\n newDigest: hash,\n version,\n releaseTimestamp,\n gitRef,\n }),\n );\n\n try {\n // Fetch additional data from releases endpoint when possible\n const releasesResult = await queryReleases(config, this.http);\n const releasesMap = new Map<string, GithubReleaseItem>();\n for (const release of releasesResult) {\n releasesMap.set(release.version, release);\n }\n\n for (const release of releases) {\n const isReleaseStable = releasesMap.get(release.version)?.isStable;\n if (is.boolean(isReleaseStable)) {\n release.isStable = isReleaseStable;\n }\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err }, `Error fetching additional info for GitHub tags`);\n }\n\n const dependency: ReleaseResult = {\n sourceUrl,\n releases,\n };\n return dependency;\n }\n}\n"]}
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": "39.261.2",
4
+ "version": "39.261.4",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",