From a9a81275bf1fa40a4ba986601ab9fefd13fc9d41 Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Sun, 5 Jun 2022 20:50:48 +0530
Subject: [PATCH] refactor: runtime-config-narrowing (#15897)

* refactor/runtime-config-narrowing

* remove test

* apply fixes

* reorder tests
---
 lib/config/types.ts                           |  2 ++
 .../repository/extract/manager-files.ts       | 19 ++++++++++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/lib/config/types.ts b/lib/config/types.ts
index e49d86f2d5..ae24a89b6c 100644
--- a/lib/config/types.ts
+++ b/lib/config/types.ts
@@ -228,6 +228,8 @@ export interface RenovateConfig
 
   fetchReleaseNotes?: boolean;
   secrets?: Record<string, string>;
+  aliases?: Record<string, any>;
+  skipInstalls?: boolean;
 }
 
 export interface AllConfig extends RenovateConfig, GlobalOnlyConfig {}
diff --git a/lib/workers/repository/extract/manager-files.ts b/lib/workers/repository/extract/manager-files.ts
index 79a16b4543..5da2054742 100644
--- a/lib/workers/repository/extract/manager-files.ts
+++ b/lib/workers/repository/extract/manager-files.ts
@@ -6,13 +6,26 @@ import {
   extractPackageFile,
   get,
 } from '../../../modules/manager';
-import type { PackageFile } from '../../../modules/manager/types';
+import type {
+  ExtractConfig,
+  PackageFile,
+} from '../../../modules/manager/types';
 import { readLocalFile } from '../../../util/fs';
 
+function getExtractConfig(config: WorkerExtractConfig): ExtractConfig {
+  return {
+    npmrc: config.npmrc,
+    aliases: config.aliases,
+    skipInstalls: config.skipInstalls,
+    npmrcMerge: config.npmrcMerge,
+  };
+}
+
 export async function getManagerPackageFiles(
   config: WorkerExtractConfig
 ): Promise<PackageFile[]> {
   const { enabled, manager, fileList } = config;
+  const extractConfig = getExtractConfig(config);
   logger.trace(`getPackageFiles(${manager})`);
   if (!enabled) {
     logger.debug(`${manager} is disabled`);
@@ -32,7 +45,7 @@ export async function getManagerPackageFiles(
   if (get(manager, 'extractAllPackageFiles')) {
     const allPackageFiles = await extractAllPackageFiles(
       manager,
-      config,
+      extractConfig,
       fileList
     );
     if (allPackageFiles) {
@@ -54,7 +67,7 @@ export async function getManagerPackageFiles(
         manager,
         content,
         packageFile,
-        config
+        extractConfig
       );
       if (res) {
         for (let index = 0; index < res.deps.length; index += 1) {
-- 
GitLab