Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes the loop on 0.13 support and closes #164
Implementation details
terraform-config-inspect
) is used to parse the provider identities. This might however in the near future be replaced by a dedicated version-aware parser. The aim here is just to deliver 0.13 support early and avoid the extra pressure there would be on delivering the new parser.initialize
so we can match providers correctly. This in turn means we spend more CPU and memory during the initial discovery phase. This in turn puts more pressure to resolving Set a cap for auto-loading root modules #186terraform.required_providers
. This cannot be overridden by aliases. Aliases only affect configuration differences, not schema. This is why the parser can ignore them at this stage.Filesystem
interface to make it compatible withtfconfig.FS
and to reflect that files may be changed by client, but not saved to disk and the in-memory copy needs to be prioritized as per LSP.terraform-config-inspect
in a backwards-compatible wayFS
interface, but the PR is only introducing it to the parser as that's where it is critical and also well implemented/configured client should only be sending updates for*.tf
files, not module manifests nor plugin lock files - so these will be read from the disk in the foreseeable future anyway.