diff --git a/terraform/lib/dependabot/terraform/file_parser.rb b/terraform/lib/dependabot/terraform/file_parser.rb index 0eb9b5438e..9d83618699 100644 --- a/terraform/lib/dependabot/terraform/file_parser.rb +++ b/terraform/lib/dependabot/terraform/file_parser.rb @@ -54,9 +54,12 @@ def ecosystem private + # rubocop:disable Metrics/PerceivedComplexity sig { params(dependency_set: Dependabot::FileParsers::Base::DependencySet).void } def parse_terraform_files(dependency_set) terraform_files.each do |file| + next if file.support_file? + modules = parsed_file(file).fetch("module", {}) # If override.tf files are present, we need to merge the modules if override_terraform_files.any? @@ -86,6 +89,7 @@ def parse_terraform_files(dependency_set) end end end + # rubocop:enable Metrics/PerceivedComplexity sig { params(dependency_set: Dependabot::FileParsers::Base::DependencySet).void } def parse_terragrunt_files(dependency_set) diff --git a/terraform/spec/dependabot/terraform/file_parser_spec.rb b/terraform/spec/dependabot/terraform/file_parser_spec.rb index b814e2f213..fff864bbbb 100644 --- a/terraform/spec/dependabot/terraform/file_parser_spec.rb +++ b/terraform/spec/dependabot/terraform/file_parser_spec.rb @@ -951,6 +951,21 @@ end end end + + context "when a file is a support file" do + let(:support_file) do + Dependabot::DependencyFile.new( + name: "support.tf", + content: "module { source = 'foo/bar' }", + support_file: true + ) + end + let(:files) { [support_file] } + + it "skips the file and does not parse it" do + expect(dependencies).to be_empty + end + end end describe "#source_type" do