# Functions
NewHclParser reads in a given HCL file and instansiates a new instance of HclParser.
RemoteTags returns a colelction of SemVer tags, if the tags are not in SemVer format and Error is returned.
# Constants
TerraformBlockType denotes the parent block type for a source ref in a terraform file.
TerragruntBlockType denotes the parent block type for a source ref in a terragrunt file.
# Variables
SourceCache is a global cache of repo URL's and available remote versions, used to reduce network calls to find verisons.
# Structs
BlockSource contains the name of a given module containing a source ref,in the case of terraform this is file path + module name, in the case of terragrunt it's the filepath only.
GitSource holds the metadata about a given git source, such as it's verion, available remote versions, and whether it is locally versioned.
HclParser presides over a given HCL formatted file and can be used to both read and udpate it.