From 0fed712407651617ffda29a096c1bd7e96113070 Mon Sep 17 00:00:00 2001 From: Tobias Gabriel Date: Fri, 15 Mar 2024 14:30:15 +0100 Subject: [PATCH 1/3] fix(manager/test): test that manager exports `updateDependency` or `extractPackageFile` when exporting `extractAllPackageFiles` --- docs/development/adding-a-package-manager.md | 2 ++ lib/modules/manager/index.spec.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/docs/development/adding-a-package-manager.md b/docs/development/adding-a-package-manager.md index 790c257057ef3b..10a9f4338aa342 100644 --- a/docs/development/adding-a-package-manager.md +++ b/docs/development/adding-a-package-manager.md @@ -71,6 +71,8 @@ As another example, in order for Gradle to extract dependencies Renovate must fi The `extractAllPackageFiles` function takes an array of filenames as input. It returns an array of filenames and dependencies. +If you implement `extractAllPackageFiles` the manger must export as well either `updateDependency` or `extractPackageFile`. + ### `getRangeStrategy(config)` (optional) Write this optional function if you want the manager to support "auto" range strategies. diff --git a/lib/modules/manager/index.spec.ts b/lib/modules/manager/index.spec.ts index d5592de414b8ee..4e6fa5fada35a5 100644 --- a/lib/modules/manager/index.spec.ts +++ b/lib/modules/manager/index.spec.ts @@ -59,6 +59,10 @@ describe('modules/manager/index', () => { if (!module.extractPackageFile && !module.extractAllPackageFiles) { return false; } + // managers must export either extractPackageFile or a custom updateDependency function in addition to extractAllPackageFiles + if (module.extractAllPackageFiles && !module.extractPackageFile && !module.updateDependency) { + return false; + } if (Object.values(module).some((v) => v === undefined)) { return false; } From 7ec7c3615267b0cf6896e8f0632dbed5a3907db2 Mon Sep 17 00:00:00 2001 From: Tobias Gabriel Date: Fri, 15 Mar 2024 14:44:22 +0100 Subject: [PATCH 2/3] linter fixes --- lib/modules/manager/index.spec.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/index.spec.ts b/lib/modules/manager/index.spec.ts index 4e6fa5fada35a5..1c635b82ff6dfe 100644 --- a/lib/modules/manager/index.spec.ts +++ b/lib/modules/manager/index.spec.ts @@ -60,7 +60,11 @@ describe('modules/manager/index', () => { return false; } // managers must export either extractPackageFile or a custom updateDependency function in addition to extractAllPackageFiles - if (module.extractAllPackageFiles && !module.extractPackageFile && !module.updateDependency) { + if ( + module.extractAllPackageFiles && + !module.extractPackageFile && + !module.updateDependency + ) { return false; } if (Object.values(module).some((v) => v === undefined)) { From 3fdc81d2032c2cd1472a6b65ecbebcc4dfb8f4d4 Mon Sep 17 00:00:00 2001 From: Tobias Date: Fri, 15 Mar 2024 15:05:08 +0100 Subject: [PATCH 3/3] fix spelling of manager Co-authored-by: Vivien Tintillier --- docs/development/adding-a-package-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/adding-a-package-manager.md b/docs/development/adding-a-package-manager.md index 10a9f4338aa342..75ee581750e8b5 100644 --- a/docs/development/adding-a-package-manager.md +++ b/docs/development/adding-a-package-manager.md @@ -71,7 +71,7 @@ As another example, in order for Gradle to extract dependencies Renovate must fi The `extractAllPackageFiles` function takes an array of filenames as input. It returns an array of filenames and dependencies. -If you implement `extractAllPackageFiles` the manger must export as well either `updateDependency` or `extractPackageFile`. +If you implement `extractAllPackageFiles` the manager must export as well either `updateDependency` or `extractPackageFile`. ### `getRangeStrategy(config)` (optional)