From c75d2c6873425f53b2f06a45655e5743d9050fd8 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 1 Sep 2020 10:44:52 +0200
Subject: [PATCH] refactor: detectSemanticCommits (#7151)

---
 lib/workers/repository/init/config.ts        |  3 ++-
 lib/workers/repository/init/semantic.spec.ts |  9 ++-------
 lib/workers/repository/init/semantic.ts      | 16 +---------------
 3 files changed, 5 insertions(+), 23 deletions(-)

diff --git a/lib/workers/repository/init/config.ts b/lib/workers/repository/init/config.ts
index 969e468141..ac5c2ae46f 100644
--- a/lib/workers/repository/init/config.ts
+++ b/lib/workers/repository/init/config.ts
@@ -218,9 +218,10 @@ export async function getRepoConfig(
   }
   config.baseBranch = config.defaultBranch;
   config.baseBranchSha = await checkoutBranch(config.baseBranch);
-  config.semanticCommits = await detectSemanticCommits(config);
   config = await checkOnboardingBranch(config);
   config = await mergeRenovateConfig(config);
+  config.semanticCommits =
+    config.semanticCommits ?? (await detectSemanticCommits());
   setResolvedConfig(config);
   return config;
 }
diff --git a/lib/workers/repository/init/semantic.spec.ts b/lib/workers/repository/init/semantic.spec.ts
index b920e8c411..433a21d525 100644
--- a/lib/workers/repository/init/semantic.spec.ts
+++ b/lib/workers/repository/init/semantic.spec.ts
@@ -13,21 +13,16 @@ beforeEach(() => {
 
 describe('workers/repository/init/semantic', () => {
   describe('detectSemanticCommits()', () => {
-    it('returns config if already set', async () => {
-      config.semanticCommits = true;
-      const res = await detectSemanticCommits(config);
-      expect(res).toBe(true);
-    });
     it('detects false if unknown', async () => {
       config.semanticCommits = null;
       git.getCommitMessages.mockResolvedValue(['foo', 'bar']);
-      const res = await detectSemanticCommits(config);
+      const res = await detectSemanticCommits();
       expect(res).toBe(false);
     });
     it('detects true if known', async () => {
       config.semanticCommits = null;
       git.getCommitMessages.mockResolvedValue(['fix: foo', 'refactor: bar']);
-      const res = await detectSemanticCommits(config);
+      const res = await detectSemanticCommits();
       expect(res).toBe(true);
     });
   });
diff --git a/lib/workers/repository/init/semantic.ts b/lib/workers/repository/init/semantic.ts
index 66e173d956..f9b74b62fd 100644
--- a/lib/workers/repository/init/semantic.ts
+++ b/lib/workers/repository/init/semantic.ts
@@ -1,24 +1,10 @@
 import conventionalCommitsDetector from 'conventional-commits-detector';
-import { RenovateConfig } from '../../../config';
 import { logger } from '../../../logger';
 import { getCommitMessages } from '../../../util/git';
 
-export async function detectSemanticCommits(
-  config: RenovateConfig
-): Promise<boolean> {
+export async function detectSemanticCommits(): Promise<boolean> {
   logger.debug('detectSemanticCommits()');
-  logger.trace({ config });
-  if (config.semanticCommits !== null) {
-    logger.debug(
-      { semanticCommits: config.semanticCommits },
-      `semanticCommits already defined`
-    );
-    return config.semanticCommits;
-  }
   const commitMessages = await getCommitMessages();
-  if (commitMessages) {
-    commitMessages.length = 10;
-  }
   logger.trace(`commitMessages=${JSON.stringify(commitMessages)}`);
   const type = conventionalCommitsDetector(commitMessages);
   logger.debug('Semantic commits detection: ' + type);
-- 
GitLab