renovate 41.40.0 → 41.42.0

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.
Files changed (82) hide show
  1. package/dist/config/options/index.js +25 -11
  2. package/dist/config/options/index.js.map +1 -1
  3. package/dist/config/presets/forgejo/index.d.ts +5 -0
  4. package/dist/config/presets/forgejo/index.js +43 -0
  5. package/dist/config/presets/forgejo/index.js.map +1 -0
  6. package/dist/config/presets/index.js +6 -4
  7. package/dist/config/presets/index.js.map +1 -1
  8. package/dist/config/presets/local/index.js +2 -0
  9. package/dist/config/presets/local/index.js.map +1 -1
  10. package/dist/config/presets/parse.js +4 -0
  11. package/dist/config/presets/parse.js.map +1 -1
  12. package/dist/constants/platforms.d.ts +2 -1
  13. package/dist/constants/platforms.js +8 -1
  14. package/dist/constants/platforms.js.map +1 -1
  15. package/dist/data/monorepo.json +1 -0
  16. package/dist/modules/datasource/api.js +4 -0
  17. package/dist/modules/datasource/api.js.map +1 -1
  18. package/dist/modules/datasource/forgejo-releases/index.d.ts +17 -0
  19. package/dist/modules/datasource/forgejo-releases/index.js +80 -0
  20. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -0
  21. package/dist/modules/datasource/forgejo-releases/schema.d.ts +39 -0
  22. package/dist/modules/datasource/forgejo-releases/schema.js +14 -0
  23. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -0
  24. package/dist/modules/datasource/forgejo-tags/index.d.ts +21 -0
  25. package/dist/modules/datasource/forgejo-tags/index.js +96 -0
  26. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -0
  27. package/dist/modules/datasource/forgejo-tags/schema.d.ts +65 -0
  28. package/dist/modules/datasource/forgejo-tags/schema.js +19 -0
  29. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -0
  30. package/dist/modules/manager/fingerprint.generated.js +1 -1
  31. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  32. package/dist/modules/manager/github-actions/extract.js +8 -2
  33. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  34. package/dist/modules/platform/api.d.ts +1 -1
  35. package/dist/modules/platform/api.js +2 -0
  36. package/dist/modules/platform/api.js.map +1 -1
  37. package/dist/modules/platform/forgejo/forgejo-helper.d.ts +36 -0
  38. package/dist/modules/platform/forgejo/forgejo-helper.js +282 -0
  39. package/dist/modules/platform/forgejo/forgejo-helper.js.map +1 -0
  40. package/dist/modules/platform/forgejo/index.d.ts +6 -0
  41. package/dist/modules/platform/forgejo/index.js +749 -0
  42. package/dist/modules/platform/forgejo/index.js.map +1 -0
  43. package/dist/modules/platform/forgejo/pr-cache.d.ts +23 -0
  44. package/dist/modules/platform/forgejo/pr-cache.js +134 -0
  45. package/dist/modules/platform/forgejo/pr-cache.js.map +1 -0
  46. package/dist/modules/platform/forgejo/types.d.ts +185 -0
  47. package/dist/modules/platform/forgejo/types.js +3 -0
  48. package/dist/modules/platform/forgejo/types.js.map +1 -0
  49. package/dist/modules/platform/forgejo/utils.d.ts +20 -0
  50. package/dist/modules/platform/forgejo/utils.js +142 -0
  51. package/dist/modules/platform/forgejo/utils.js.map +1 -0
  52. package/dist/modules/platform/gitea/index.js +1 -0
  53. package/dist/modules/platform/gitea/index.js.map +1 -1
  54. package/dist/modules/platform/scm.d.ts +1 -1
  55. package/dist/util/cache/package/namespaces.d.ts +1 -1
  56. package/dist/util/cache/package/namespaces.js +4 -0
  57. package/dist/util/cache/package/namespaces.js.map +1 -1
  58. package/dist/util/cache/repository/impl/base.d.ts +1 -1
  59. package/dist/util/cache/repository/types.d.ts +3 -0
  60. package/dist/util/cache/repository/types.js.map +1 -1
  61. package/dist/util/common.d.ts +1 -1
  62. package/dist/util/common.js +10 -3
  63. package/dist/util/common.js.map +1 -1
  64. package/dist/util/http/forgejo.d.ts +11 -0
  65. package/dist/util/http/forgejo.js +57 -0
  66. package/dist/util/http/forgejo.js.map +1 -0
  67. package/dist/workers/repository/update/pr/changelog/api.js +8 -6
  68. package/dist/workers/repository/update/pr/changelog/api.js.map +1 -1
  69. package/dist/workers/repository/update/pr/changelog/forgejo/index.d.ts +4 -0
  70. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +62 -0
  71. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -0
  72. package/dist/workers/repository/update/pr/changelog/forgejo/source.d.ts +8 -0
  73. package/dist/workers/repository/update/pr/changelog/forgejo/source.js +20 -0
  74. package/dist/workers/repository/update/pr/changelog/forgejo/source.js.map +1 -0
  75. package/dist/workers/repository/update/pr/changelog/release-notes.js +17 -12
  76. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  77. package/dist/workers/repository/update/pr/changelog/source.d.ts +1 -1
  78. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  79. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  80. package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
  81. package/package.json +1 -1
  82. package/renovate-schema.json +1 -0
@@ -0,0 +1,5 @@
1
+ import type { Preset, PresetConfig } from '../types';
2
+ export declare const Endpoint = "https://code.forgejo.org/";
3
+ export declare function fetchJSONFile(repo: string, fileName: string, endpoint: string, tag?: string | null): Promise<Preset>;
4
+ export declare function getPresetFromEndpoint(repo: string, filePreset: string, presetPath?: string, endpoint?: string, tag?: string): Promise<Preset | undefined>;
5
+ export declare function getPreset({ repo, presetName, presetPath, tag, }: PresetConfig): Promise<Preset | undefined>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Endpoint = void 0;
4
+ exports.fetchJSONFile = fetchJSONFile;
5
+ exports.getPresetFromEndpoint = getPresetFromEndpoint;
6
+ exports.getPreset = getPreset;
7
+ const logger_1 = require("../../../logger");
8
+ const gitea_helper_1 = require("../../../modules/platform/gitea/gitea-helper");
9
+ const external_host_error_1 = require("../../../types/errors/external-host-error");
10
+ const string_1 = require("../../../util/string");
11
+ const util_1 = require("../util");
12
+ exports.Endpoint = 'https://code.forgejo.org/';
13
+ async function fetchJSONFile(repo, fileName, endpoint, tag) {
14
+ let res;
15
+ try {
16
+ res = await (0, gitea_helper_1.getRepoContents)(repo, fileName, tag, {
17
+ baseUrl: endpoint,
18
+ });
19
+ }
20
+ catch (err) {
21
+ if (err instanceof external_host_error_1.ExternalHostError) {
22
+ throw err;
23
+ }
24
+ logger_1.logger.debug(`Preset file ${fileName} not found in ${repo}`);
25
+ throw new Error(util_1.PRESET_DEP_NOT_FOUND);
26
+ }
27
+ // TODO: null check #22198
28
+ return (0, util_1.parsePreset)((0, string_1.fromBase64)(res.content), fileName);
29
+ }
30
+ function getPresetFromEndpoint(repo, filePreset, presetPath, endpoint = exports.Endpoint, tag) {
31
+ return (0, util_1.fetchPreset)({
32
+ repo,
33
+ filePreset,
34
+ presetPath,
35
+ endpoint,
36
+ tag,
37
+ fetch: fetchJSONFile,
38
+ });
39
+ }
40
+ function getPreset({ repo, presetName = 'default', presetPath, tag = undefined, }) {
41
+ return getPresetFromEndpoint(repo, presetName, presetPath, exports.Endpoint, tag);
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/forgejo/index.ts"],"names":[],"mappings":";;;AAUA,sCAqBC;AAED,sDAeC;AAED,8BAOC;AAzDD,4CAAyC;AACzC,+EAA+E;AAE/E,mFAA8E;AAC9E,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,2BAA2B,CAAC;AAE7C,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAmB;IAEnB,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/C,OAAO,EAAE,QAAQ;SAClB,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,0BAA0B;IAC1B,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,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,GAAG,SAAS,GACF;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { getRepoContents } from '../../../modules/platform/gitea/gitea-helper';\nimport type { RepoContents } from '../../../modules/platform/gitea/types';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\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://code.forgejo.org/';\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string | null,\n): Promise<Preset> {\n let res: RepoContents;\n try {\n res = await getRepoContents(repo, fileName, tag, {\n baseUrl: endpoint,\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 // TODO: null check #22198\n return parsePreset(fromBase64(res.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 = undefined,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
@@ -18,6 +18,7 @@ const massage = tslib_1.__importStar(require("../massage"));
18
18
  const migration = tslib_1.__importStar(require("../migration"));
19
19
  const utils_1 = require("../utils");
20
20
  const common_1 = require("./common");
21
+ const forgejo = tslib_1.__importStar(require("./forgejo"));
21
22
  const gitea = tslib_1.__importStar(require("./gitea"));
22
23
  const github = tslib_1.__importStar(require("./github"));
23
24
  const gitlab = tslib_1.__importStar(require("./gitlab"));
@@ -28,13 +29,14 @@ const npm = tslib_1.__importStar(require("./npm"));
28
29
  const parse_1 = require("./parse");
29
30
  const util_1 = require("./util");
30
31
  const presetSources = {
32
+ forgejo,
33
+ gitea,
31
34
  github,
32
- npm,
33
35
  gitlab,
34
- gitea,
35
- local,
36
- internal,
37
36
  http,
37
+ internal,
38
+ local,
39
+ npm,
38
40
  };
39
41
  const presetCacheNamespace = 'preset';
40
42
  function replaceArgs(obj, argMapping) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/config/presets/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport * as memCache from '../../util/cache/memory';\nimport * as packageCache from '../../util/cache/package';\nimport { clone } from '../../util/clone';\nimport { regEx } from '../../util/regex';\nimport * as template from '../../util/template';\nimport { GlobalConfig } from '../global';\nimport * as massage from '../massage';\nimport * as migration from '../migration';\nimport type { AllConfig, RenovateConfig } from '../types';\nimport { mergeChildConfig } from '../utils';\nimport { removedPresets } from './common';\nimport * as gitea from './gitea';\nimport * as github from './github';\nimport * as gitlab from './gitlab';\nimport * as http from './http';\nimport * as internal from './internal';\nimport * as local from './local';\nimport * as npm from './npm';\nimport { parsePreset } from './parse';\nimport type { Preset, PresetApi } from './types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util';\n\nconst presetSources: Record<string, PresetApi> = {\n github,\n npm,\n gitlab,\n gitea,\n local,\n internal,\n http,\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (is.string(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (is.array(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (is.object(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const { presetSource, repo, presetPath, presetName, tag, params, rawParams } =\n parsePreset(preset);\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get(\n 'presetCachePersistence',\n false,\n );\n\n let presetConfig: Preset | null | undefined;\n\n if (presetCachePersistence) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (is.nullOrUndefined(presetConfig)) {\n presetConfig = await presetSources[presetSource].getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (presetCachePersistence) {\n await packageCache.set(presetCacheNamespace, cacheKey, presetConfig, 15);\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n if (rawParams) {\n argMapping.args = rawParams;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n return massage.massageConfig(migratedConfig);\n}\n\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n): Promise<AllConfig> {\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets },\n 'resolveConfigPresets',\n );\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const presetConfig = await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n );\n if (inputConfig?.ignoreDeps?.length === 0) {\n delete presetConfig.description;\n }\n config = mergeChildConfig(config, presetConfig);\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config)) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (is.array(val)) {\n // Resolve nested objects inside arrays\n config[key] = [];\n for (const element of val) {\n if (is.object(element)) {\n (config[key] as RenovateConfig[]).push(\n await resolveConfigPresets(\n element as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n ),\n );\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (is.object(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n config[key] = await resolveConfigPresets(\n val as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n );\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace({ config }, 'Resolved config');\n return config;\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n if (err instanceof ExternalHostError) {\n throw err;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/config/presets/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport * as memCache from '../../util/cache/memory';\nimport * as packageCache from '../../util/cache/package';\nimport { clone } from '../../util/clone';\nimport { regEx } from '../../util/regex';\nimport * as template from '../../util/template';\nimport { GlobalConfig } from '../global';\nimport * as massage from '../massage';\nimport * as migration from '../migration';\nimport type { AllConfig, RenovateConfig } from '../types';\nimport { mergeChildConfig } from '../utils';\nimport { removedPresets } from './common';\nimport * as forgejo from './forgejo';\nimport * as gitea from './gitea';\nimport * as github from './github';\nimport * as gitlab from './gitlab';\nimport * as http from './http';\nimport * as internal from './internal';\nimport * as local from './local';\nimport * as npm from './npm';\nimport { parsePreset } from './parse';\nimport type { Preset, PresetApi } from './types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util';\n\nconst presetSources: Record<string, PresetApi> = {\n forgejo,\n gitea,\n github,\n gitlab,\n http,\n internal,\n local,\n npm,\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (is.string(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (is.array(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (is.object(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const { presetSource, repo, presetPath, presetName, tag, params, rawParams } =\n parsePreset(preset);\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get(\n 'presetCachePersistence',\n false,\n );\n\n let presetConfig: Preset | null | undefined;\n\n if (presetCachePersistence) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (is.nullOrUndefined(presetConfig)) {\n presetConfig = await presetSources[presetSource].getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (presetCachePersistence) {\n await packageCache.set(presetCacheNamespace, cacheKey, presetConfig, 15);\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n if (rawParams) {\n argMapping.args = rawParams;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n return massage.massageConfig(migratedConfig);\n}\n\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n): Promise<AllConfig> {\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets },\n 'resolveConfigPresets',\n );\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const presetConfig = await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n );\n if (inputConfig?.ignoreDeps?.length === 0) {\n delete presetConfig.description;\n }\n config = mergeChildConfig(config, presetConfig);\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config)) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (is.array(val)) {\n // Resolve nested objects inside arrays\n config[key] = [];\n for (const element of val) {\n if (is.object(element)) {\n (config[key] as RenovateConfig[]).push(\n await resolveConfigPresets(\n element as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n ),\n );\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (is.object(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n config[key] = await resolveConfigPresets(\n val as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n );\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace({ config }, 'Resolved config');\n return config;\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n if (err instanceof ExternalHostError) {\n throw err;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"]}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPreset = getPreset;
4
4
  const tslib_1 = require("tslib");
5
5
  const global_1 = require("../../global");
6
+ const forgejo = tslib_1.__importStar(require("../forgejo"));
6
7
  const gitea = tslib_1.__importStar(require("../gitea"));
7
8
  const github = tslib_1.__importStar(require("../github"));
8
9
  const gitlab = tslib_1.__importStar(require("../gitlab"));
@@ -12,6 +13,7 @@ const resolvers = {
12
13
  bitbucket: local,
13
14
  'bitbucket-server': local,
14
15
  codecommit: null,
16
+ forgejo,
15
17
  gerrit: local,
16
18
  gitea,
17
19
  github,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/local/index.ts"],"names":[],"mappings":";;AA8BA,8BAyBC;;AAtDD,yCAA4C;AAC5C,wDAAkC;AAClC,0DAAoC;AACpC,0DAAoC;AAEpC,wDAAkC;AAYlC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,KAAK;IACb,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK,EAAE,IAAI;CACkC,CAAC;AAEhD,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,MAAM,QAAQ,GAAG,qBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,mCAAmC,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,qBAAqB,CACnC,IAAI,EACJ,UAAU,EACV,UAAU;IACV,wBAAwB;IACxB,QAAS,EACT,GAAG,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type { PlatformId } from '../../../constants';\nimport { GlobalConfig } from '../../global';\nimport * as gitea from '../gitea';\nimport * as github from '../github';\nimport * as gitlab from '../gitlab';\nimport type { Preset, PresetConfig } from '../types';\nimport * as local from './common';\n\ninterface Resolver {\n getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint?: string,\n tag?: string,\n ): Promise<Preset | undefined>;\n}\n\nconst resolvers = {\n azure: local,\n bitbucket: local,\n 'bitbucket-server': local,\n codecommit: null,\n gerrit: local,\n gitea,\n github,\n gitlab,\n local: null,\n} satisfies Record<PlatformId, Resolver | null>;\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n const platform = GlobalConfig.get('platform');\n if (!platform) {\n throw new Error(`Missing platform config for local preset.`);\n }\n const resolver = resolvers[platform];\n if (!resolver) {\n throw new Error(\n `The platform you're using (${platform}) does not support local presets.`,\n );\n }\n const endpoint = GlobalConfig.get('endpoint');\n return resolver.getPresetFromEndpoint(\n repo,\n presetName,\n presetPath,\n // TODO: fix type #22198\n endpoint!,\n tag,\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/local/index.ts"],"names":[],"mappings":";;AAgCA,8BAyBC;;AAxDD,yCAA4C;AAC5C,4DAAsC;AACtC,wDAAkC;AAClC,0DAAoC;AACpC,0DAAoC;AAEpC,wDAAkC;AAYlC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,IAAI;IAChB,OAAO;IACP,MAAM,EAAE,KAAK;IACb,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK,EAAE,IAAI;CACkC,CAAC;AAEhD,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,MAAM,QAAQ,GAAG,qBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,mCAAmC,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,qBAAqB,CACnC,IAAI,EACJ,UAAU,EACV,UAAU;IACV,wBAAwB;IACxB,QAAS,EACT,GAAG,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type { PlatformId } from '../../../constants';\nimport { GlobalConfig } from '../../global';\nimport * as forgejo from '../forgejo';\nimport * as gitea from '../gitea';\nimport * as github from '../github';\nimport * as gitlab from '../gitlab';\nimport type { Preset, PresetConfig } from '../types';\nimport * as local from './common';\n\ninterface Resolver {\n getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint?: string,\n tag?: string,\n ): Promise<Preset | undefined>;\n}\n\nconst resolvers = {\n azure: local,\n bitbucket: local,\n 'bitbucket-server': local,\n codecommit: null,\n forgejo,\n gerrit: local,\n gitea,\n github,\n gitlab,\n local: null,\n} satisfies Record<PlatformId, Resolver | null>;\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n const platform = GlobalConfig.get('platform');\n if (!platform) {\n throw new Error(`Missing platform config for local preset.`);\n }\n const resolver = resolvers[platform];\n if (!resolver) {\n throw new Error(\n `The platform you're using (${platform}) does not support local presets.`,\n );\n }\n const endpoint = GlobalConfig.get('endpoint');\n return resolver.getPresetFromEndpoint(\n repo,\n presetName,\n presetPath,\n // TODO: fix type #22198\n endpoint!,\n tag,\n );\n}\n"]}
@@ -29,6 +29,10 @@ function parsePreset(input) {
29
29
  presetSource = 'gitea';
30
30
  str = str.substring('gitea>'.length);
31
31
  }
32
+ else if (str.startsWith('forgejo>')) {
33
+ presetSource = 'forgejo';
34
+ str = str.substring('forgejo>'.length);
35
+ }
32
36
  else if (str.startsWith('local>')) {
33
37
  presetSource = 'local';
34
38
  str = str.substring('local>'.length);
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../lib/config/presets/parse.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../util/regex';\nimport { isHttpUrl } from '../../util/url';\nimport type { ParsedPreset } from './types';\nimport { PRESET_INVALID, PRESET_PROHIBITED_SUBPRESET } from './util';\n\nconst nonScopedPresetWithSubdirRegex = regEx(\n /^(?<repo>~?[\\w\\-. /%]+?)\\/\\/(?:(?<presetPath>[\\w\\-./]+)\\/)?(?<presetName>[\\w\\-.]+)(?:#(?<tag>[\\w\\-./]+?))?$/,\n);\nconst gitPresetRegex = regEx(\n /^(?<repo>~?[\\w\\-. /%]+)(?::(?<presetName>[\\w\\-.+/]+))?(?:#(?<tag>[\\w\\-./]+?))?$/,\n);\n\nexport function parsePreset(input: string): ParsedPreset {\n let str = input;\n let presetSource: string | undefined;\n let presetPath: string | undefined;\n let repo: string;\n let presetName: string;\n let tag: string | undefined;\n let rawParams: string | undefined;\n let params: string[] | undefined;\n if (str.startsWith('github>')) {\n presetSource = 'github';\n str = str.substring('github>'.length);\n } else if (str.startsWith('gitlab>')) {\n presetSource = 'gitlab';\n str = str.substring('gitlab>'.length);\n } else if (str.startsWith('gitea>')) {\n presetSource = 'gitea';\n str = str.substring('gitea>'.length);\n } else if (str.startsWith('local>')) {\n presetSource = 'local';\n str = str.substring('local>'.length);\n } else if (isHttpUrl(str)) {\n presetSource = 'http';\n } else if (\n !str.startsWith('@') &&\n !str.startsWith(':') &&\n str.includes('/')\n ) {\n presetSource = 'local';\n }\n str = str.replace(regEx(/^npm>/), '');\n presetSource = presetSource ?? 'npm';\n if (str.includes('(')) {\n rawParams = str.slice(str.indexOf('(') + 1, -1);\n params = rawParams.split(',').map((elem) => elem.trim());\n str = str.slice(0, str.indexOf('('));\n }\n if (presetSource === 'http') {\n return { presetSource, repo: str, presetName: '', params, rawParams };\n }\n const presetsPackages = [\n 'abandonments',\n 'compatibility',\n 'config',\n 'customManagers',\n 'default',\n 'docker',\n 'global',\n 'group',\n 'helpers',\n 'mergeConfidence',\n 'monorepo',\n 'npm',\n 'packages',\n 'preview',\n 'replacements',\n 'schedule',\n 'security',\n 'workarounds',\n ];\n if (\n presetsPackages.some((presetPackage) => str.startsWith(`${presetPackage}:`))\n ) {\n presetSource = 'internal';\n [repo, presetName] = str.split(':');\n } else if (str.startsWith(':')) {\n // default namespace\n presetSource = 'internal';\n repo = 'default';\n presetName = str.slice(1);\n } else if (str.startsWith('@')) {\n // scoped namespace\n [, repo] = regEx(/(@.*?)(:|$)/).exec(str)!;\n str = str.slice(repo.length);\n if (!repo.includes('/')) {\n repo += '/renovate-config';\n }\n if (str === '') {\n presetName = 'default';\n } else {\n presetName = str.slice(1);\n }\n } else if (str.includes('//')) {\n // non-scoped namespace with a subdirectory preset\n\n // Validation\n if (str.includes(':')) {\n throw new Error(PRESET_PROHIBITED_SUBPRESET);\n }\n if (!nonScopedPresetWithSubdirRegex.test(str)) {\n throw new Error(PRESET_INVALID);\n }\n ({ repo, presetPath, presetName, tag } =\n nonScopedPresetWithSubdirRegex.exec(str)!.groups!);\n } else {\n ({ repo, presetName, tag } = gitPresetRegex.exec(str)!.groups!);\n\n if (presetSource === 'npm' && !repo.startsWith('renovate-config-')) {\n repo = `renovate-config-${repo}`;\n }\n if (!is.nonEmptyString(presetName)) {\n presetName = 'default';\n }\n }\n\n return {\n presetSource,\n presetPath,\n repo,\n presetName,\n tag,\n params,\n rawParams,\n };\n}\n"]}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../lib/config/presets/parse.ts"],"names":[],"mappings":";;AAaA,kCAqHC;;AAlID,kEAAkC;AAClC,4CAAyC;AACzC,wCAA2C;AAE3C,iCAAqE;AAErE,MAAM,8BAA8B,GAAG,IAAA,aAAK,EAC1C,6GAA6G,CAC9G,CAAC;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,iFAAiF,CAClF,CAAC;AAEF,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,YAAgC,CAAC;IACrC,IAAI,UAA8B,CAAC;IACnC,IAAI,IAAY,CAAC;IACjB,IAAI,UAAkB,CAAC;IACvB,IAAI,GAAuB,CAAC;IAC5B,IAAI,SAA6B,CAAC;IAClC,IAAI,MAA4B,CAAC;IACjC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,YAAY,GAAG,QAAQ,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,YAAY,GAAG,QAAQ,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,YAAY,GAAG,OAAO,CAAC;QACvB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,YAAY,GAAG,SAAS,CAAC;QACzB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,YAAY,GAAG,OAAO,CAAC;QACvB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,IAAA,eAAS,EAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,YAAY,GAAG,MAAM,CAAC;IACxB,CAAC;SAAM,IACL,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EACjB,CAAC;QACD,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,YAAY,GAAG,YAAY,IAAI,KAAK,CAAC;IACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,eAAe,GAAG;QACtB,cAAc;QACd,eAAe;QACf,QAAQ;QACR,gBAAgB;QAChB,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,SAAS;QACT,iBAAiB;QACjB,UAAU;QACV,KAAK;QACL,UAAU;QACV,SAAS;QACT,cAAc;QACd,UAAU;QACV,UAAU;QACV,aAAa;KACd,CAAC;IACF,IACE,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,EAC5E,CAAC;QACD,YAAY,GAAG,UAAU,CAAC;QAC1B,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,oBAAoB;QACpB,YAAY,GAAG,UAAU,CAAC;QAC1B,IAAI,GAAG,SAAS,CAAC;QACjB,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,mBAAmB;QACnB,CAAC,EAAE,IAAI,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;QAC3C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,IAAI,kBAAkB,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;SAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,kDAAkD;QAElD,aAAa;QACb,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,kCAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,qBAAc,CAAC,CAAC;QAClC,CAAC;QACD,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACpC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,MAAO,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,MAAO,CAAC,CAAC;QAEhE,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnE,IAAI,GAAG,mBAAmB,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,YAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY;QACZ,UAAU;QACV,IAAI;QACJ,UAAU;QACV,GAAG;QACH,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../util/regex';\nimport { isHttpUrl } from '../../util/url';\nimport type { ParsedPreset } from './types';\nimport { PRESET_INVALID, PRESET_PROHIBITED_SUBPRESET } from './util';\n\nconst nonScopedPresetWithSubdirRegex = regEx(\n /^(?<repo>~?[\\w\\-. /%]+?)\\/\\/(?:(?<presetPath>[\\w\\-./]+)\\/)?(?<presetName>[\\w\\-.]+)(?:#(?<tag>[\\w\\-./]+?))?$/,\n);\nconst gitPresetRegex = regEx(\n /^(?<repo>~?[\\w\\-. /%]+)(?::(?<presetName>[\\w\\-.+/]+))?(?:#(?<tag>[\\w\\-./]+?))?$/,\n);\n\nexport function parsePreset(input: string): ParsedPreset {\n let str = input;\n let presetSource: string | undefined;\n let presetPath: string | undefined;\n let repo: string;\n let presetName: string;\n let tag: string | undefined;\n let rawParams: string | undefined;\n let params: string[] | undefined;\n if (str.startsWith('github>')) {\n presetSource = 'github';\n str = str.substring('github>'.length);\n } else if (str.startsWith('gitlab>')) {\n presetSource = 'gitlab';\n str = str.substring('gitlab>'.length);\n } else if (str.startsWith('gitea>')) {\n presetSource = 'gitea';\n str = str.substring('gitea>'.length);\n } else if (str.startsWith('forgejo>')) {\n presetSource = 'forgejo';\n str = str.substring('forgejo>'.length);\n } else if (str.startsWith('local>')) {\n presetSource = 'local';\n str = str.substring('local>'.length);\n } else if (isHttpUrl(str)) {\n presetSource = 'http';\n } else if (\n !str.startsWith('@') &&\n !str.startsWith(':') &&\n str.includes('/')\n ) {\n presetSource = 'local';\n }\n str = str.replace(regEx(/^npm>/), '');\n presetSource = presetSource ?? 'npm';\n if (str.includes('(')) {\n rawParams = str.slice(str.indexOf('(') + 1, -1);\n params = rawParams.split(',').map((elem) => elem.trim());\n str = str.slice(0, str.indexOf('('));\n }\n if (presetSource === 'http') {\n return { presetSource, repo: str, presetName: '', params, rawParams };\n }\n const presetsPackages = [\n 'abandonments',\n 'compatibility',\n 'config',\n 'customManagers',\n 'default',\n 'docker',\n 'global',\n 'group',\n 'helpers',\n 'mergeConfidence',\n 'monorepo',\n 'npm',\n 'packages',\n 'preview',\n 'replacements',\n 'schedule',\n 'security',\n 'workarounds',\n ];\n if (\n presetsPackages.some((presetPackage) => str.startsWith(`${presetPackage}:`))\n ) {\n presetSource = 'internal';\n [repo, presetName] = str.split(':');\n } else if (str.startsWith(':')) {\n // default namespace\n presetSource = 'internal';\n repo = 'default';\n presetName = str.slice(1);\n } else if (str.startsWith('@')) {\n // scoped namespace\n [, repo] = regEx(/(@.*?)(:|$)/).exec(str)!;\n str = str.slice(repo.length);\n if (!repo.includes('/')) {\n repo += '/renovate-config';\n }\n if (str === '') {\n presetName = 'default';\n } else {\n presetName = str.slice(1);\n }\n } else if (str.includes('//')) {\n // non-scoped namespace with a subdirectory preset\n\n // Validation\n if (str.includes(':')) {\n throw new Error(PRESET_PROHIBITED_SUBPRESET);\n }\n if (!nonScopedPresetWithSubdirRegex.test(str)) {\n throw new Error(PRESET_INVALID);\n }\n ({ repo, presetPath, presetName, tag } =\n nonScopedPresetWithSubdirRegex.exec(str)!.groups!);\n } else {\n ({ repo, presetName, tag } = gitPresetRegex.exec(str)!.groups!);\n\n if (presetSource === 'npm' && !repo.startsWith('renovate-config-')) {\n repo = `renovate-config-${repo}`;\n }\n if (!is.nonEmptyString(presetName)) {\n presetName = 'default';\n }\n }\n\n return {\n presetSource,\n presetPath,\n repo,\n presetName,\n tag,\n params,\n rawParams,\n };\n}\n"]}
@@ -1,6 +1,7 @@
1
- export declare const PLATFORM_HOST_TYPES: readonly ["azure", "bitbucket", "bitbucket-server", "codecommit", "gerrit", "gitea", "github", "gitlab", "local"];
1
+ export declare const PLATFORM_HOST_TYPES: readonly ["azure", "bitbucket", "bitbucket-server", "codecommit", "forgejo", "gerrit", "gitea", "github", "gitlab", "local"];
2
2
  export type PlatformId = (typeof PLATFORM_HOST_TYPES)[number];
3
3
  export declare const GITEA_API_USING_HOST_TYPES: string[];
4
+ export declare const FORGEJO_API_USING_HOST_TYPES: string[];
4
5
  export declare const GITHUB_API_USING_HOST_TYPES: string[];
5
6
  export declare const GITLAB_API_USING_HOST_TYPES: string[];
6
7
  export declare const BITBUCKET_API_USING_HOST_TYPES: string[];
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BITBUCKET_SERVER_API_USING_HOST_TYPES = exports.BITBUCKET_API_USING_HOST_TYPES = exports.GITLAB_API_USING_HOST_TYPES = exports.GITHUB_API_USING_HOST_TYPES = exports.GITEA_API_USING_HOST_TYPES = exports.PLATFORM_HOST_TYPES = void 0;
3
+ exports.BITBUCKET_SERVER_API_USING_HOST_TYPES = exports.BITBUCKET_API_USING_HOST_TYPES = exports.GITLAB_API_USING_HOST_TYPES = exports.GITHUB_API_USING_HOST_TYPES = exports.FORGEJO_API_USING_HOST_TYPES = exports.GITEA_API_USING_HOST_TYPES = exports.PLATFORM_HOST_TYPES = void 0;
4
4
  exports.PLATFORM_HOST_TYPES = [
5
5
  'azure',
6
6
  'bitbucket',
7
7
  'bitbucket-server',
8
8
  'codecommit',
9
+ 'forgejo',
9
10
  'gerrit',
10
11
  'gitea',
11
12
  'github',
@@ -18,6 +19,12 @@ exports.GITEA_API_USING_HOST_TYPES = [
18
19
  'gitea-releases',
19
20
  'gitea-tags',
20
21
  ];
22
+ exports.FORGEJO_API_USING_HOST_TYPES = [
23
+ 'forgejo',
24
+ 'forgejo-changelog',
25
+ 'forgejo-releases',
26
+ 'forgejo-tags',
27
+ ];
21
28
  exports.GITHUB_API_USING_HOST_TYPES = [
22
29
  'github',
23
30
  'github-releases',
@@ -1 +1 @@
1
- {"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../lib/constants/platforms.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,OAAO;IACP,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;CACC,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;CACb,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,QAAQ;IACR,iBAAiB;IACjB,4BAA4B;IAC5B,aAAa;IACb,KAAK;IACL,QAAQ;IACR,kBAAkB;IAClB,OAAO;CACR,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,QAAQ;IACR,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,MAAM;CACP,CAAC;AAEW,QAAA,8BAA8B,GAAG;IAC5C,WAAW;IACX,qBAAqB;IACrB,gBAAgB;CACjB,CAAC;AAEW,QAAA,qCAAqC,GAAG;IACnD,kBAAkB;IAClB,4BAA4B;IAC5B,uBAAuB;CACxB,CAAC","sourcesContent":["export const PLATFORM_HOST_TYPES = [\n 'azure',\n 'bitbucket',\n 'bitbucket-server',\n 'codecommit',\n 'gerrit',\n 'gitea',\n 'github',\n 'gitlab',\n 'local',\n] as const;\n\nexport type PlatformId = (typeof PLATFORM_HOST_TYPES)[number];\n\nexport const GITEA_API_USING_HOST_TYPES = [\n 'gitea',\n 'gitea-changelog',\n 'gitea-releases',\n 'gitea-tags',\n];\n\nexport const GITHUB_API_USING_HOST_TYPES = [\n 'github',\n 'github-releases',\n 'github-release-attachments',\n 'github-tags',\n 'pod',\n 'hermit',\n 'github-changelog',\n 'conan',\n];\n\nexport const GITLAB_API_USING_HOST_TYPES = [\n 'gitlab',\n 'gitlab-releases',\n 'gitlab-tags',\n 'gitlab-packages',\n 'gitlab-changelog',\n 'pypi',\n];\n\nexport const BITBUCKET_API_USING_HOST_TYPES = [\n 'bitbucket',\n 'bitbucket-changelog',\n 'bitbucket-tags',\n];\n\nexport const BITBUCKET_SERVER_API_USING_HOST_TYPES = [\n 'bitbucket-server',\n 'bitbucket-server-changelog',\n 'bitbucket-server-tags',\n];\n"]}
1
+ {"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../lib/constants/platforms.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,OAAO;IACP,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;CACC,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACxC,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;CACb,CAAC;AAEW,QAAA,4BAA4B,GAAG;IAC1C,SAAS;IACT,mBAAmB;IACnB,kBAAkB;IAClB,cAAc;CACf,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,QAAQ;IACR,iBAAiB;IACjB,4BAA4B;IAC5B,aAAa;IACb,KAAK;IACL,QAAQ;IACR,kBAAkB;IAClB,OAAO;CACR,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACzC,QAAQ;IACR,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,MAAM;CACP,CAAC;AAEW,QAAA,8BAA8B,GAAG;IAC5C,WAAW;IACX,qBAAqB;IACrB,gBAAgB;CACjB,CAAC;AAEW,QAAA,qCAAqC,GAAG;IACnD,kBAAkB;IAClB,4BAA4B;IAC5B,uBAAuB;CACxB,CAAC","sourcesContent":["export const PLATFORM_HOST_TYPES = [\n 'azure',\n 'bitbucket',\n 'bitbucket-server',\n 'codecommit',\n 'forgejo',\n 'gerrit',\n 'gitea',\n 'github',\n 'gitlab',\n 'local',\n] as const;\n\nexport type PlatformId = (typeof PLATFORM_HOST_TYPES)[number];\n\nexport const GITEA_API_USING_HOST_TYPES = [\n 'gitea',\n 'gitea-changelog',\n 'gitea-releases',\n 'gitea-tags',\n];\n\nexport const FORGEJO_API_USING_HOST_TYPES = [\n 'forgejo',\n 'forgejo-changelog',\n 'forgejo-releases',\n 'forgejo-tags',\n];\n\nexport const GITHUB_API_USING_HOST_TYPES = [\n 'github',\n 'github-releases',\n 'github-release-attachments',\n 'github-tags',\n 'pod',\n 'hermit',\n 'github-changelog',\n 'conan',\n];\n\nexport const GITLAB_API_USING_HOST_TYPES = [\n 'gitlab',\n 'gitlab-releases',\n 'gitlab-tags',\n 'gitlab-packages',\n 'gitlab-changelog',\n 'pypi',\n];\n\nexport const BITBUCKET_API_USING_HOST_TYPES = [\n 'bitbucket',\n 'bitbucket-changelog',\n 'bitbucket-tags',\n];\n\nexport const BITBUCKET_SERVER_API_USING_HOST_TYPES = [\n 'bitbucket-server',\n 'bitbucket-server-changelog',\n 'bitbucket-server-tags',\n];\n"]}
@@ -573,6 +573,7 @@
573
573
  "spectre-console": "https://github.com/spectreconsole/spectre.console",
574
574
  "springfox": "https://github.com/springfox/springfox",
575
575
  "stack-exchange-redis-extensions": "https://github.com/imperugo/StackExchange.Redis.Extensions",
576
+ "statsig-js-client": "https://github.com/statsig-io/js-client-monorepo",
576
577
  "steeltoe": "https://github.com/SteeltoeOSS/steeltoe",
577
578
  "storybook": "https://github.com/storybookjs/storybook",
578
579
  "storybook-react-native": "https://github.com/storybookjs/react-native",
@@ -27,6 +27,8 @@ const docker_1 = require("./docker");
27
27
  const dotnet_version_1 = require("./dotnet-version");
28
28
  const endoflife_date_1 = require("./endoflife-date");
29
29
  const flutter_version_1 = require("./flutter-version");
30
+ const forgejo_releases_1 = require("./forgejo-releases");
31
+ const forgejo_tags_1 = require("./forgejo-tags");
30
32
  const galaxy_1 = require("./galaxy");
31
33
  const galaxy_collection_1 = require("./galaxy-collection");
32
34
  const git_refs_1 = require("./git-refs");
@@ -101,6 +103,8 @@ api.set(docker_1.DockerDatasource.id, new docker_1.DockerDatasource());
101
103
  api.set(dotnet_version_1.DotnetVersionDatasource.id, new dotnet_version_1.DotnetVersionDatasource());
102
104
  api.set(endoflife_date_1.EndoflifeDateDatasource.id, new endoflife_date_1.EndoflifeDateDatasource());
103
105
  api.set(flutter_version_1.FlutterVersionDatasource.id, new flutter_version_1.FlutterVersionDatasource());
106
+ api.set(forgejo_releases_1.ForgejoReleasesDatasource.id, new forgejo_releases_1.ForgejoReleasesDatasource());
107
+ api.set(forgejo_tags_1.ForgejoTagsDatasource.id, new forgejo_tags_1.ForgejoTagsDatasource());
104
108
  api.set(galaxy_1.GalaxyDatasource.id, new galaxy_1.GalaxyDatasource());
105
109
  api.set(galaxy_collection_1.GalaxyCollectionDatasource.id, new galaxy_collection_1.GalaxyCollectionDatasource());
106
110
  api.set(git_refs_1.GitRefsDatasource.id, new git_refs_1.GitRefsDatasource());
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/datasource/api.ts"],"names":[],"mappings":"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","sourcesContent":["import { ArtifactoryDatasource } from './artifactory';\nimport { AwsEKSAddonDataSource } from './aws-eks-addon';\nimport { AwsMachineImageDatasource } from './aws-machine-image';\nimport { AwsRdsDatasource } from './aws-rds';\nimport { AzureBicepResourceDatasource } from './azure-bicep-resource';\nimport { AzurePipelinesTasksDatasource } from './azure-pipelines-tasks';\nimport { BazelDatasource } from './bazel';\nimport { BitbucketServerTagsDatasource } from './bitbucket-server-tags';\nimport { BitbucketTagsDatasource } from './bitbucket-tags';\nimport { BitriseDatasource } from './bitrise';\nimport { BuildpacksRegistryDatasource } from './buildpacks-registry';\nimport { CdnjsDatasource } from './cdnjs';\nimport { ClojureDatasource } from './clojure';\nimport { ConanDatasource } from './conan';\nimport { CondaDatasource } from './conda';\nimport { CpanDatasource } from './cpan';\nimport { CrateDatasource } from './crate';\nimport { CustomDatasource } from './custom';\nimport { DartDatasource } from './dart';\nimport { DartVersionDatasource } from './dart-version';\nimport { DebDatasource } from './deb';\nimport { DenoDatasource } from './deno';\nimport { DevboxDatasource } from './devbox';\nimport { DockerDatasource } from './docker';\nimport { DotnetVersionDatasource } from './dotnet-version';\nimport { EndoflifeDateDatasource } from './endoflife-date';\nimport { FlutterVersionDatasource } from './flutter-version';\nimport { GalaxyDatasource } from './galaxy';\nimport { GalaxyCollectionDatasource } from './galaxy-collection';\nimport { GitRefsDatasource } from './git-refs';\nimport { GitTagsDatasource } from './git-tags';\nimport { GiteaReleasesDatasource } from './gitea-releases';\nimport { GiteaTagsDatasource } from './gitea-tags';\nimport { GithubReleaseAttachmentsDatasource } from './github-release-attachments';\nimport { GithubReleasesDatasource } from './github-releases';\nimport { GithubRunnersDatasource } from './github-runners';\nimport { GithubTagsDatasource } from './github-tags';\nimport { GitlabPackagesDatasource } from './gitlab-packages';\nimport { GitlabReleasesDatasource } from './gitlab-releases';\nimport { GitlabTagsDatasource } from './gitlab-tags';\nimport { GlasskubePackagesDatasource } from './glasskube-packages';\nimport { GoDatasource } from './go';\nimport { GolangVersionDatasource } from './golang-version';\nimport { GradleVersionDatasource } from './gradle-version';\nimport { HackageDatasource } from './hackage';\nimport { HelmDatasource } from './helm';\nimport { HermitDatasource } from './hermit';\nimport { HexDatasource } from './hex';\nimport { HexpmBobDatasource } from './hexpm-bob';\nimport { JavaVersionDatasource } from './java-version';\nimport { JenkinsPluginsDatasource } from './jenkins-plugins';\nimport { KubernetesApiDatasource } from './kubernetes-api';\nimport { MavenDatasource } from './maven';\nimport { NodeVersionDatasource } from './node-version';\nimport { NpmDatasource } from './npm';\nimport { NugetDatasource } from './nuget';\nimport { OrbDatasource } from './orb';\nimport { PackagistDatasource } from './packagist';\nimport { PodDatasource } from './pod';\nimport { PuppetForgeDatasource } from './puppet-forge';\nimport { PypiDatasource } from './pypi';\nimport { PythonVersionDatasource } from './python-version';\nimport { RepologyDatasource } from './repology';\nimport { RpmDatasource } from './rpm';\nimport { RubyVersionDatasource } from './ruby-version';\nimport { RubygemsDatasource } from './rubygems';\nimport { SbtPackageDatasource } from './sbt-package';\nimport { SbtPluginDatasource } from './sbt-plugin';\nimport { TerraformModuleDatasource } from './terraform-module';\nimport { TerraformProviderDatasource } from './terraform-provider';\nimport type { DatasourceApi } from './types';\nimport { Unity3dDatasource } from './unity3d';\nimport { Unity3dPackagesDatasource } from './unity3d-packages';\n\nconst api = new Map<string, DatasourceApi>();\nexport default api;\n\napi.set(ArtifactoryDatasource.id, new ArtifactoryDatasource());\napi.set(AwsEKSAddonDataSource.id, new AwsEKSAddonDataSource());\napi.set(AwsMachineImageDatasource.id, new AwsMachineImageDatasource());\napi.set(AwsRdsDatasource.id, new AwsRdsDatasource());\napi.set(AzureBicepResourceDatasource.id, new AzureBicepResourceDatasource());\napi.set(AzurePipelinesTasksDatasource.id, new AzurePipelinesTasksDatasource());\napi.set(BazelDatasource.id, new BazelDatasource());\napi.set(BitbucketServerTagsDatasource.id, new BitbucketServerTagsDatasource());\napi.set(BitbucketTagsDatasource.id, new BitbucketTagsDatasource());\napi.set(BitriseDatasource.id, new BitriseDatasource());\napi.set(BuildpacksRegistryDatasource.id, new BuildpacksRegistryDatasource());\napi.set(CdnjsDatasource.id, new CdnjsDatasource());\napi.set(ClojureDatasource.id, new ClojureDatasource());\napi.set(ConanDatasource.id, new ConanDatasource());\napi.set(CondaDatasource.id, new CondaDatasource());\napi.set(CpanDatasource.id, new CpanDatasource());\napi.set(CrateDatasource.id, new CrateDatasource());\napi.set(CustomDatasource.id, new CustomDatasource());\napi.set(DartDatasource.id, new DartDatasource());\napi.set(DartVersionDatasource.id, new DartVersionDatasource());\napi.set(DebDatasource.id, new DebDatasource());\napi.set(DenoDatasource.id, new DenoDatasource());\napi.set(DevboxDatasource.id, new DevboxDatasource());\napi.set(DockerDatasource.id, new DockerDatasource());\napi.set(DotnetVersionDatasource.id, new DotnetVersionDatasource());\napi.set(EndoflifeDateDatasource.id, new EndoflifeDateDatasource());\napi.set(FlutterVersionDatasource.id, new FlutterVersionDatasource());\napi.set(GalaxyDatasource.id, new GalaxyDatasource());\napi.set(GalaxyCollectionDatasource.id, new GalaxyCollectionDatasource());\napi.set(GitRefsDatasource.id, new GitRefsDatasource());\napi.set(GitTagsDatasource.id, new GitTagsDatasource());\napi.set(GiteaReleasesDatasource.id, new GiteaReleasesDatasource());\napi.set(GiteaTagsDatasource.id, new GiteaTagsDatasource());\napi.set(\n GithubReleaseAttachmentsDatasource.id,\n new GithubReleaseAttachmentsDatasource(),\n);\napi.set(GithubReleasesDatasource.id, new GithubReleasesDatasource());\napi.set(GithubRunnersDatasource.id, new GithubRunnersDatasource());\napi.set(GithubTagsDatasource.id, new GithubTagsDatasource());\napi.set(GitlabPackagesDatasource.id, new GitlabPackagesDatasource());\napi.set(GitlabReleasesDatasource.id, new GitlabReleasesDatasource());\napi.set(GitlabTagsDatasource.id, new GitlabTagsDatasource());\napi.set(GlasskubePackagesDatasource.id, new GlasskubePackagesDatasource());\napi.set(GoDatasource.id, new GoDatasource());\napi.set(GolangVersionDatasource.id, new GolangVersionDatasource());\napi.set(GradleVersionDatasource.id, new GradleVersionDatasource());\napi.set(HackageDatasource.id, new HackageDatasource());\napi.set(HelmDatasource.id, new HelmDatasource());\napi.set(HermitDatasource.id, new HermitDatasource());\napi.set(HexDatasource.id, new HexDatasource());\napi.set(HexpmBobDatasource.id, new HexpmBobDatasource());\napi.set(JavaVersionDatasource.id, new JavaVersionDatasource());\napi.set(JenkinsPluginsDatasource.id, new JenkinsPluginsDatasource());\napi.set(KubernetesApiDatasource.id, new KubernetesApiDatasource());\napi.set(MavenDatasource.id, new MavenDatasource());\napi.set(NodeVersionDatasource.id, new NodeVersionDatasource());\napi.set(NpmDatasource.id, new NpmDatasource());\napi.set(NugetDatasource.id, new NugetDatasource());\napi.set(OrbDatasource.id, new OrbDatasource());\napi.set(PackagistDatasource.id, new PackagistDatasource());\napi.set(PodDatasource.id, new PodDatasource());\napi.set(PuppetForgeDatasource.id, new PuppetForgeDatasource());\napi.set(PypiDatasource.id, new PypiDatasource());\napi.set(PythonVersionDatasource.id, new PythonVersionDatasource());\napi.set(RepologyDatasource.id, new RepologyDatasource());\napi.set(RpmDatasource.id, new RpmDatasource());\napi.set(RubyVersionDatasource.id, new RubyVersionDatasource());\napi.set(RubygemsDatasource.id, new RubygemsDatasource());\napi.set(SbtPackageDatasource.id, new SbtPackageDatasource());\napi.set(SbtPluginDatasource.id, new SbtPluginDatasource());\napi.set(TerraformModuleDatasource.id, new TerraformModuleDatasource());\napi.set(TerraformProviderDatasource.id, new TerraformProviderDatasource());\napi.set(Unity3dDatasource.id, new Unity3dDatasource());\napi.set(Unity3dPackagesDatasource.id, new Unity3dPackagesDatasource());\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/datasource/api.ts"],"names":[],"mappings":"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","sourcesContent":["import { ArtifactoryDatasource } from './artifactory';\nimport { AwsEKSAddonDataSource } from './aws-eks-addon';\nimport { AwsMachineImageDatasource } from './aws-machine-image';\nimport { AwsRdsDatasource } from './aws-rds';\nimport { AzureBicepResourceDatasource } from './azure-bicep-resource';\nimport { AzurePipelinesTasksDatasource } from './azure-pipelines-tasks';\nimport { BazelDatasource } from './bazel';\nimport { BitbucketServerTagsDatasource } from './bitbucket-server-tags';\nimport { BitbucketTagsDatasource } from './bitbucket-tags';\nimport { BitriseDatasource } from './bitrise';\nimport { BuildpacksRegistryDatasource } from './buildpacks-registry';\nimport { CdnjsDatasource } from './cdnjs';\nimport { ClojureDatasource } from './clojure';\nimport { ConanDatasource } from './conan';\nimport { CondaDatasource } from './conda';\nimport { CpanDatasource } from './cpan';\nimport { CrateDatasource } from './crate';\nimport { CustomDatasource } from './custom';\nimport { DartDatasource } from './dart';\nimport { DartVersionDatasource } from './dart-version';\nimport { DebDatasource } from './deb';\nimport { DenoDatasource } from './deno';\nimport { DevboxDatasource } from './devbox';\nimport { DockerDatasource } from './docker';\nimport { DotnetVersionDatasource } from './dotnet-version';\nimport { EndoflifeDateDatasource } from './endoflife-date';\nimport { FlutterVersionDatasource } from './flutter-version';\nimport { ForgejoReleasesDatasource } from './forgejo-releases';\nimport { ForgejoTagsDatasource } from './forgejo-tags';\nimport { GalaxyDatasource } from './galaxy';\nimport { GalaxyCollectionDatasource } from './galaxy-collection';\nimport { GitRefsDatasource } from './git-refs';\nimport { GitTagsDatasource } from './git-tags';\nimport { GiteaReleasesDatasource } from './gitea-releases';\nimport { GiteaTagsDatasource } from './gitea-tags';\nimport { GithubReleaseAttachmentsDatasource } from './github-release-attachments';\nimport { GithubReleasesDatasource } from './github-releases';\nimport { GithubRunnersDatasource } from './github-runners';\nimport { GithubTagsDatasource } from './github-tags';\nimport { GitlabPackagesDatasource } from './gitlab-packages';\nimport { GitlabReleasesDatasource } from './gitlab-releases';\nimport { GitlabTagsDatasource } from './gitlab-tags';\nimport { GlasskubePackagesDatasource } from './glasskube-packages';\nimport { GoDatasource } from './go';\nimport { GolangVersionDatasource } from './golang-version';\nimport { GradleVersionDatasource } from './gradle-version';\nimport { HackageDatasource } from './hackage';\nimport { HelmDatasource } from './helm';\nimport { HermitDatasource } from './hermit';\nimport { HexDatasource } from './hex';\nimport { HexpmBobDatasource } from './hexpm-bob';\nimport { JavaVersionDatasource } from './java-version';\nimport { JenkinsPluginsDatasource } from './jenkins-plugins';\nimport { KubernetesApiDatasource } from './kubernetes-api';\nimport { MavenDatasource } from './maven';\nimport { NodeVersionDatasource } from './node-version';\nimport { NpmDatasource } from './npm';\nimport { NugetDatasource } from './nuget';\nimport { OrbDatasource } from './orb';\nimport { PackagistDatasource } from './packagist';\nimport { PodDatasource } from './pod';\nimport { PuppetForgeDatasource } from './puppet-forge';\nimport { PypiDatasource } from './pypi';\nimport { PythonVersionDatasource } from './python-version';\nimport { RepologyDatasource } from './repology';\nimport { RpmDatasource } from './rpm';\nimport { RubyVersionDatasource } from './ruby-version';\nimport { RubygemsDatasource } from './rubygems';\nimport { SbtPackageDatasource } from './sbt-package';\nimport { SbtPluginDatasource } from './sbt-plugin';\nimport { TerraformModuleDatasource } from './terraform-module';\nimport { TerraformProviderDatasource } from './terraform-provider';\nimport type { DatasourceApi } from './types';\nimport { Unity3dDatasource } from './unity3d';\nimport { Unity3dPackagesDatasource } from './unity3d-packages';\n\nconst api = new Map<string, DatasourceApi>();\nexport default api;\n\napi.set(ArtifactoryDatasource.id, new ArtifactoryDatasource());\napi.set(AwsEKSAddonDataSource.id, new AwsEKSAddonDataSource());\napi.set(AwsMachineImageDatasource.id, new AwsMachineImageDatasource());\napi.set(AwsRdsDatasource.id, new AwsRdsDatasource());\napi.set(AzureBicepResourceDatasource.id, new AzureBicepResourceDatasource());\napi.set(AzurePipelinesTasksDatasource.id, new AzurePipelinesTasksDatasource());\napi.set(BazelDatasource.id, new BazelDatasource());\napi.set(BitbucketServerTagsDatasource.id, new BitbucketServerTagsDatasource());\napi.set(BitbucketTagsDatasource.id, new BitbucketTagsDatasource());\napi.set(BitriseDatasource.id, new BitriseDatasource());\napi.set(BuildpacksRegistryDatasource.id, new BuildpacksRegistryDatasource());\napi.set(CdnjsDatasource.id, new CdnjsDatasource());\napi.set(ClojureDatasource.id, new ClojureDatasource());\napi.set(ConanDatasource.id, new ConanDatasource());\napi.set(CondaDatasource.id, new CondaDatasource());\napi.set(CpanDatasource.id, new CpanDatasource());\napi.set(CrateDatasource.id, new CrateDatasource());\napi.set(CustomDatasource.id, new CustomDatasource());\napi.set(DartDatasource.id, new DartDatasource());\napi.set(DartVersionDatasource.id, new DartVersionDatasource());\napi.set(DebDatasource.id, new DebDatasource());\napi.set(DenoDatasource.id, new DenoDatasource());\napi.set(DevboxDatasource.id, new DevboxDatasource());\napi.set(DockerDatasource.id, new DockerDatasource());\napi.set(DotnetVersionDatasource.id, new DotnetVersionDatasource());\napi.set(EndoflifeDateDatasource.id, new EndoflifeDateDatasource());\napi.set(FlutterVersionDatasource.id, new FlutterVersionDatasource());\napi.set(ForgejoReleasesDatasource.id, new ForgejoReleasesDatasource());\napi.set(ForgejoTagsDatasource.id, new ForgejoTagsDatasource());\napi.set(GalaxyDatasource.id, new GalaxyDatasource());\napi.set(GalaxyCollectionDatasource.id, new GalaxyCollectionDatasource());\napi.set(GitRefsDatasource.id, new GitRefsDatasource());\napi.set(GitTagsDatasource.id, new GitTagsDatasource());\napi.set(GiteaReleasesDatasource.id, new GiteaReleasesDatasource());\napi.set(GiteaTagsDatasource.id, new GiteaTagsDatasource());\napi.set(\n GithubReleaseAttachmentsDatasource.id,\n new GithubReleaseAttachmentsDatasource(),\n);\napi.set(GithubReleasesDatasource.id, new GithubReleasesDatasource());\napi.set(GithubRunnersDatasource.id, new GithubRunnersDatasource());\napi.set(GithubTagsDatasource.id, new GithubTagsDatasource());\napi.set(GitlabPackagesDatasource.id, new GitlabPackagesDatasource());\napi.set(GitlabReleasesDatasource.id, new GitlabReleasesDatasource());\napi.set(GitlabTagsDatasource.id, new GitlabTagsDatasource());\napi.set(GlasskubePackagesDatasource.id, new GlasskubePackagesDatasource());\napi.set(GoDatasource.id, new GoDatasource());\napi.set(GolangVersionDatasource.id, new GolangVersionDatasource());\napi.set(GradleVersionDatasource.id, new GradleVersionDatasource());\napi.set(HackageDatasource.id, new HackageDatasource());\napi.set(HelmDatasource.id, new HelmDatasource());\napi.set(HermitDatasource.id, new HermitDatasource());\napi.set(HexDatasource.id, new HexDatasource());\napi.set(HexpmBobDatasource.id, new HexpmBobDatasource());\napi.set(JavaVersionDatasource.id, new JavaVersionDatasource());\napi.set(JenkinsPluginsDatasource.id, new JenkinsPluginsDatasource());\napi.set(KubernetesApiDatasource.id, new KubernetesApiDatasource());\napi.set(MavenDatasource.id, new MavenDatasource());\napi.set(NodeVersionDatasource.id, new NodeVersionDatasource());\napi.set(NpmDatasource.id, new NpmDatasource());\napi.set(NugetDatasource.id, new NugetDatasource());\napi.set(OrbDatasource.id, new OrbDatasource());\napi.set(PackagistDatasource.id, new PackagistDatasource());\napi.set(PodDatasource.id, new PodDatasource());\napi.set(PuppetForgeDatasource.id, new PuppetForgeDatasource());\napi.set(PypiDatasource.id, new PypiDatasource());\napi.set(PythonVersionDatasource.id, new PythonVersionDatasource());\napi.set(RepologyDatasource.id, new RepologyDatasource());\napi.set(RpmDatasource.id, new RpmDatasource());\napi.set(RubyVersionDatasource.id, new RubyVersionDatasource());\napi.set(RubygemsDatasource.id, new RubygemsDatasource());\napi.set(SbtPackageDatasource.id, new SbtPackageDatasource());\napi.set(SbtPluginDatasource.id, new SbtPluginDatasource());\napi.set(TerraformModuleDatasource.id, new TerraformModuleDatasource());\napi.set(TerraformProviderDatasource.id, new TerraformProviderDatasource());\napi.set(Unity3dDatasource.id, new Unity3dDatasource());\napi.set(Unity3dPackagesDatasource.id, new Unity3dPackagesDatasource());\n"]}
@@ -0,0 +1,17 @@
1
+ import { ForgejoHttp } from '../../../util/http/forgejo';
2
+ import { Datasource } from '../datasource';
3
+ import type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';
4
+ export declare class ForgejoReleasesDatasource extends Datasource {
5
+ static readonly id = "forgejo-releases";
6
+ http: ForgejoHttp;
7
+ static readonly defaultRegistryUrls: string[];
8
+ private static readonly cacheNamespace;
9
+ readonly releaseTimestampSupport = true;
10
+ readonly releaseTimestampNote = "The release timestamp is determined from the `published_at` field in the results.";
11
+ readonly sourceUrlSupport = "package";
12
+ readonly sourceUrlNote = "The source URL is determined by using the `packageName` and `registryUrl`.";
13
+ constructor();
14
+ getReleases({ registryUrl, packageName: repo, }: GetReleasesConfig): Promise<ReleaseResult | null>;
15
+ getTagCommit(registryUrl: string | undefined, repo: string, tag: string): Promise<string | null>;
16
+ getDigest({ packageName: repo, registryUrl }: DigestConfig, newValue?: string): Promise<string | null>;
17
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForgejoReleasesDatasource = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const decorator_1 = require("../../../util/cache/package/decorator");
6
+ const forgejo_1 = require("../../../util/http/forgejo");
7
+ const datasource_1 = require("../datasource");
8
+ const forgejo_tags_1 = require("../forgejo-tags");
9
+ const schema_1 = require("../forgejo-tags/schema");
10
+ const schema_2 = require("./schema");
11
+ class ForgejoReleasesDatasource extends datasource_1.Datasource {
12
+ static id = 'forgejo-releases';
13
+ http = new forgejo_1.ForgejoHttp(ForgejoReleasesDatasource.id);
14
+ static defaultRegistryUrls = ['https://code.forgejo.org'];
15
+ static cacheNamespace = `datasource-${ForgejoReleasesDatasource.id}`;
16
+ releaseTimestampSupport = true;
17
+ releaseTimestampNote = 'The release timestamp is determined from the `published_at` field in the results.';
18
+ sourceUrlSupport = 'package';
19
+ sourceUrlNote = 'The source URL is determined by using the `packageName` and `registryUrl`.';
20
+ constructor() {
21
+ super(ForgejoReleasesDatasource.id);
22
+ }
23
+ // getReleases fetches list of tags for the repository
24
+ async getReleases({ registryUrl, packageName: repo, }) {
25
+ const url = `${forgejo_tags_1.ForgejoTagsDatasource.getApiUrl(registryUrl)}repos/${repo}/releases?draft=false`;
26
+ const tags = (await this.http.getJson(url, {
27
+ paginate: true,
28
+ }, schema_2.ReleasesSchema)).body;
29
+ const dependency = {
30
+ sourceUrl: forgejo_tags_1.ForgejoTagsDatasource.getSourceUrl(repo, registryUrl),
31
+ registryUrl: forgejo_tags_1.ForgejoTagsDatasource.getRegistryURL(registryUrl),
32
+ releases: tags.map(({ tag_name, published_at, prerelease }) => ({
33
+ version: tag_name,
34
+ gitRef: tag_name,
35
+ releaseTimestamp: published_at,
36
+ isStable: !prerelease,
37
+ })),
38
+ };
39
+ return dependency;
40
+ }
41
+ // getTagCommit fetched the commit has for specified tag
42
+ async getTagCommit(registryUrl, repo, tag) {
43
+ const url = `${forgejo_tags_1.ForgejoTagsDatasource.getApiUrl(registryUrl)}repos/${repo}/tags/${tag}`;
44
+ const { body } = await this.http.getJson(url, schema_1.TagSchema);
45
+ return body.commit.sha;
46
+ }
47
+ // getDigest fetched the latest commit for repository main branch
48
+ // however, if newValue is provided, then getTagCommit is called
49
+ async getDigest({ packageName: repo, registryUrl }, newValue) {
50
+ if (newValue?.length) {
51
+ return this.getTagCommit(registryUrl, repo, newValue);
52
+ }
53
+ const url = `${forgejo_tags_1.ForgejoTagsDatasource.getApiUrl(registryUrl)}repos/${repo}/commits?stat=false&verification=false&files=false&page=1&limit=1`;
54
+ const { body } = await this.http.getJson(url, schema_1.CommitsSchema);
55
+ if (body.length === 0) {
56
+ return null;
57
+ }
58
+ return body[0].sha;
59
+ }
60
+ }
61
+ exports.ForgejoReleasesDatasource = ForgejoReleasesDatasource;
62
+ tslib_1.__decorate([
63
+ (0, decorator_1.cache)({
64
+ namespace: ForgejoReleasesDatasource.cacheNamespace,
65
+ key: ({ registryUrl, packageName }) => forgejo_tags_1.ForgejoTagsDatasource.getCacheKey(registryUrl, packageName, 'releases'),
66
+ })
67
+ ], ForgejoReleasesDatasource.prototype, "getReleases", null);
68
+ tslib_1.__decorate([
69
+ (0, decorator_1.cache)({
70
+ namespace: ForgejoReleasesDatasource.cacheNamespace,
71
+ key: (registryUrl, repo, tag) => forgejo_tags_1.ForgejoTagsDatasource.getCacheKey(registryUrl, repo, `tag-${tag}`),
72
+ })
73
+ ], ForgejoReleasesDatasource.prototype, "getTagCommit", null);
74
+ tslib_1.__decorate([
75
+ (0, decorator_1.cache)({
76
+ namespace: ForgejoReleasesDatasource.cacheNamespace,
77
+ key: ({ registryUrl, packageName }) => forgejo_tags_1.ForgejoTagsDatasource.getCacheKey(registryUrl, packageName, 'digest'),
78
+ })
79
+ ], ForgejoReleasesDatasource.prototype, "getDigest", null);
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/forgejo-releases/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { cache } from '../../../util/cache/package/decorator';\nimport type { PackageCacheNamespace } from '../../../util/cache/package/types';\nimport { ForgejoHttp } from '../../../util/http/forgejo';\nimport { Datasource } from '../datasource';\nimport { ForgejoTagsDatasource } from '../forgejo-tags';\nimport { CommitsSchema, TagSchema } from '../forgejo-tags/schema';\nimport type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';\nimport { ReleasesSchema } from './schema';\n\nexport class ForgejoReleasesDatasource extends Datasource {\n static readonly id = 'forgejo-releases';\n\n override http = new ForgejoHttp(ForgejoReleasesDatasource.id);\n\n static readonly defaultRegistryUrls = ['https://code.forgejo.org'];\n\n private static readonly cacheNamespace: PackageCacheNamespace = `datasource-${ForgejoReleasesDatasource.id}`;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `published_at` 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 constructor() {\n super(ForgejoReleasesDatasource.id);\n }\n\n // getReleases fetches list of tags for the repository\n @cache({\n namespace: ForgejoReleasesDatasource.cacheNamespace,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n ForgejoTagsDatasource.getCacheKey(registryUrl, packageName, 'releases'),\n })\n async getReleases({\n registryUrl,\n packageName: repo,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const url = `${ForgejoTagsDatasource.getApiUrl(\n registryUrl,\n )}repos/${repo}/releases?draft=false`;\n const tags = (\n await this.http.getJson(\n url,\n {\n paginate: true,\n },\n ReleasesSchema,\n )\n ).body;\n\n const dependency: ReleaseResult = {\n sourceUrl: ForgejoTagsDatasource.getSourceUrl(repo, registryUrl),\n registryUrl: ForgejoTagsDatasource.getRegistryURL(registryUrl),\n releases: tags.map(({ tag_name, published_at, prerelease }) => ({\n version: tag_name,\n gitRef: tag_name,\n releaseTimestamp: published_at,\n isStable: !prerelease,\n })),\n };\n\n return dependency;\n }\n\n // getTagCommit fetched the commit has for specified tag\n @cache({\n namespace: ForgejoReleasesDatasource.cacheNamespace,\n key: (registryUrl: string | undefined, repo: string, tag: string): string =>\n ForgejoTagsDatasource.getCacheKey(registryUrl, repo, `tag-${tag}`),\n })\n async getTagCommit(\n registryUrl: string | undefined,\n repo: string,\n tag: string,\n ): Promise<string | null> {\n const url = `${ForgejoTagsDatasource.getApiUrl(\n registryUrl,\n )}repos/${repo}/tags/${tag}`;\n\n const { body } = await this.http.getJson(url, TagSchema);\n\n return body.commit.sha;\n }\n\n // getDigest fetched the latest commit for repository main branch\n // however, if newValue is provided, then getTagCommit is called\n @cache({\n namespace: ForgejoReleasesDatasource.cacheNamespace,\n key: ({ registryUrl, packageName }: DigestConfig) =>\n ForgejoTagsDatasource.getCacheKey(registryUrl, packageName, 'digest'),\n })\n override async getDigest(\n { packageName: repo, registryUrl }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (newValue?.length) {\n return this.getTagCommit(registryUrl, repo, newValue);\n }\n\n const url = `${ForgejoTagsDatasource.getApiUrl(\n registryUrl,\n )}repos/${repo}/commits?stat=false&verification=false&files=false&page=1&limit=1`;\n const { body } = await this.http.getJson(url, CommitsSchema);\n\n if (body.length === 0) {\n return null;\n }\n\n return body[0].sha;\n }\n}\n"]}
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ export declare const ReleaseSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ tag_name: z.ZodString;
5
+ body: z.ZodString;
6
+ prerelease: z.ZodBoolean;
7
+ published_at: z.ZodCatch<z.ZodNullable<z.ZodEffects<z.ZodUnknown, import("../../../util/timestamp").Timestamp, unknown>>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ name: string;
10
+ prerelease: boolean;
11
+ body: string;
12
+ tag_name: string;
13
+ published_at: import("../../../util/timestamp").Timestamp | null;
14
+ }, {
15
+ name: string;
16
+ prerelease: boolean;
17
+ body: string;
18
+ tag_name: string;
19
+ published_at?: unknown;
20
+ }>;
21
+ export declare const ReleasesSchema: z.ZodArray<z.ZodObject<{
22
+ name: z.ZodString;
23
+ tag_name: z.ZodString;
24
+ body: z.ZodString;
25
+ prerelease: z.ZodBoolean;
26
+ published_at: z.ZodCatch<z.ZodNullable<z.ZodEffects<z.ZodUnknown, import("../../../util/timestamp").Timestamp, unknown>>>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ name: string;
29
+ prerelease: boolean;
30
+ body: string;
31
+ tag_name: string;
32
+ published_at: import("../../../util/timestamp").Timestamp | null;
33
+ }, {
34
+ name: string;
35
+ prerelease: boolean;
36
+ body: string;
37
+ tag_name: string;
38
+ published_at?: unknown;
39
+ }>, "many">;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReleasesSchema = exports.ReleaseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const timestamp_1 = require("../../../util/timestamp");
6
+ exports.ReleaseSchema = zod_1.z.object({
7
+ name: zod_1.z.string(),
8
+ tag_name: zod_1.z.string(),
9
+ body: zod_1.z.string(),
10
+ prerelease: zod_1.z.boolean(),
11
+ published_at: timestamp_1.MaybeTimestamp,
12
+ });
13
+ exports.ReleasesSchema = zod_1.z.array(exports.ReleaseSchema);
14
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/forgejo-releases/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,uDAAyD;AAE5C,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,0BAAc;CAC7B,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,OAAC,CAAC,KAAK,CAAC,qBAAa,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { MaybeTimestamp } from '../../../util/timestamp';\n\nexport const ReleaseSchema = z.object({\n name: z.string(),\n tag_name: z.string(),\n body: z.string(),\n prerelease: z.boolean(),\n published_at: MaybeTimestamp,\n});\n\nexport const ReleasesSchema = z.array(ReleaseSchema);\n"]}