1 // Package earlyconfig is a specialized alternative to the top-level "configs"
2 // package that does only shallow processing of configuration and is therefore
3 // able to be much more liberal than the full config loader in what it accepts.
5 // In particular, it can accept both current and legacy HCL syntax, and it
6 // ignores top-level blocks that it doesn't recognize. These two characteristics
7 // make this package ideal for dependency-checking use-cases so that we are
8 // more likely to be able to return an error message about an explicit
9 // incompatibility than to return a less-actionable message about a construct
10 // not being supported.
12 // However, its liberal approach also means it should be used sparingly. It
13 // exists primarily for "terraform init", so that it is able to detect
14 // incompatibilities more robustly when installing dependencies. For most
15 // other use-cases, use the "configs" and "configs/configload" packages.
17 // Package earlyconfig is a wrapper around the terraform-config-inspect
18 // codebase, adding to it just some helper functionality for Terraform's own