From d4f2572651e28c21a2e399a9eae8a0283d8fbde6 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Thu, 5 Jul 2018 18:55:00 +0200
Subject: [PATCH] fix: assign config.force after every mergeChildConfig

---
 lib/config/index.js                           |  2 +-
 lib/util/package-rules.js                     |  3 +--
 lib/workers/repository/init/force.js          | 19 -----------------
 lib/workers/repository/init/index.js          |  2 --
 .../init/__snapshots__/force.spec.js.snap     | 21 -------------------
 test/workers/repository/init/force.spec.js    | 17 ---------------
 6 files changed, 2 insertions(+), 62 deletions(-)
 delete mode 100644 lib/workers/repository/init/force.js
 delete mode 100644 test/workers/repository/init/__snapshots__/force.spec.js.snap
 delete mode 100644 test/workers/repository/init/force.spec.js

diff --git a/lib/config/index.js b/lib/config/index.js
index 8dca350bdd..186394e3bc 100644
--- a/lib/config/index.js
+++ b/lib/config/index.js
@@ -180,7 +180,7 @@ function mergeChildConfig(parent, child) {
       );
     }
   }
-  return config;
+  return Object.assign(config, config.force);
 }
 
 function filterConfig(inputConfig, targetStage) {
diff --git a/lib/util/package-rules.js b/lib/util/package-rules.js
index 2ea5c76926..ae27459df2 100644
--- a/lib/util/package-rules.js
+++ b/lib/util/package-rules.js
@@ -2,7 +2,6 @@ const minimatch = require('minimatch');
 
 const versioning = require('../versioning');
 const { mergeChildConfig } = require('../config');
-const { applyForceConfig } = require('../workers/repository/init/force');
 
 module.exports = {
   applyPackageRules,
@@ -134,5 +133,5 @@ function applyPackageRules(inputConfig) {
       delete config.matchCurrentVersion;
     }
   });
-  return applyForceConfig(config);
+  return config;
 }
diff --git a/lib/workers/repository/init/force.js b/lib/workers/repository/init/force.js
deleted file mode 100644
index ce6eb13801..0000000000
--- a/lib/workers/repository/init/force.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const { mergeChildConfig } = require('../../../config');
-
-function applyForceConfig(input) {
-  let config = { ...input };
-  if (config.force && Object.keys(config.force).length) {
-    logger.debug('Applying forced config');
-    config = mergeChildConfig(config, config.force);
-    config.packageRules = config.packageRules || [];
-    config.packageRules.push({
-      ...config.force,
-      packagePatterns: ['.*'],
-    });
-  }
-  return config;
-}
-
-module.exports = {
-  applyForceConfig,
-};
diff --git a/lib/workers/repository/init/index.js b/lib/workers/repository/init/index.js
index 5cc9c2b063..d599b504a0 100644
--- a/lib/workers/repository/init/index.js
+++ b/lib/workers/repository/init/index.js
@@ -4,7 +4,6 @@ const { initApis } = require('../init/apis');
 const { checkBaseBranch } = require('./base');
 const { mergeRenovateConfig } = require('./config');
 const { detectSemanticCommits } = require('./semantic');
-const { applyForceConfig } = require('./force');
 
 async function initRepo(input) {
   let config = {
@@ -17,7 +16,6 @@ async function initRepo(input) {
   config = await initApis(config);
   config = await checkOnboardingBranch(config);
   config = await mergeRenovateConfig(config);
-  config = await applyForceConfig(config);
   checkIfConfigured(config);
   config = await checkBaseBranch(config);
   config.semanticCommits = await detectSemanticCommits(config);
diff --git a/test/workers/repository/init/__snapshots__/force.spec.js.snap b/test/workers/repository/init/__snapshots__/force.spec.js.snap
deleted file mode 100644
index 3a27c1ca4a..0000000000
--- a/test/workers/repository/init/__snapshots__/force.spec.js.snap
+++ /dev/null
@@ -1,21 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`workers/repository/init/flatten flattenPackageRules() forces 1`] = `
-Object {
-  "a": 2,
-  "b": 2,
-  "force": Object {
-    "a": 2,
-    "b": 2,
-  },
-  "packageRules": Array [
-    Object {
-      "a": 2,
-      "b": 2,
-      "packagePatterns": Array [
-        ".*",
-      ],
-    },
-  ],
-}
-`;
diff --git a/test/workers/repository/init/force.spec.js b/test/workers/repository/init/force.spec.js
deleted file mode 100644
index bddf2827df..0000000000
--- a/test/workers/repository/init/force.spec.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const {
-  applyForceConfig,
-} = require('../../../../lib/workers/repository/init/force');
-
-describe('workers/repository/init/flatten', () => {
-  describe('flattenPackageRules()', () => {
-    it('returns empty', () => {
-      expect(applyForceConfig({})).toEqual({});
-    });
-    it('forces', () => {
-      const res = applyForceConfig({ a: 1, force: { a: 2, b: 2 } });
-      expect(res).toMatchSnapshot();
-      expect(res.a).toEqual(2);
-      expect(res.b).toEqual(2);
-    });
-  });
-});
-- 
GitLab