From f67e34739b7f52118d8effb9f88ed7d3cd28a9e7 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 6 Oct 2018 19:33:42 +0200
Subject: [PATCH] fix(terraform): skip tf files with only local modules

---
 lib/manager/terraform/extract.js       | 5 ++++-
 test/manager/terraform/extract.spec.js | 7 +++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/manager/terraform/extract.js b/lib/manager/terraform/extract.js
index 2f3913823e..10078556bb 100644
--- a/lib/manager/terraform/extract.js
+++ b/lib/manager/terraform/extract.js
@@ -95,5 +95,8 @@ function extractDependencies(content) {
     delete dep.versionLine;
     /* eslint-enable no-param-reassign */
   });
-  return deps.length ? { deps } : null;
+  if (deps.some(dep => dep.skipReason !== 'local')) {
+    return { deps };
+  }
+  return null;
 }
diff --git a/test/manager/terraform/extract.spec.js b/test/manager/terraform/extract.spec.js
index 8bc2b097c6..642fbcf30a 100644
--- a/test/manager/terraform/extract.spec.js
+++ b/test/manager/terraform/extract.spec.js
@@ -4,6 +4,10 @@ const {
 } = require('../../../lib/manager/terraform/extract');
 
 const tf1 = fs.readFileSync('test/_fixtures/terraform/1.tf', 'utf8');
+const tf2 = `module "relative" {
+  source = "../../modules/fe"
+}
+`;
 
 describe('lib/manager/terraform/extract', () => {
   describe('extractDependencies()', () => {
@@ -20,5 +24,8 @@ describe('lib/manager/terraform/extract', () => {
       expect(res.deps).toHaveLength(13);
       expect(res.deps.filter(dep => dep.skipReason)).toHaveLength(4);
     });
+    it('returns null if only local deps', () => {
+      expect(extractDependencies(tf2, config)).toBe(null);
+    });
   });
 });
-- 
GitLab