Fix Update ParseExpression to parse any json passed to it. #418
+29
−4
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.
Updated ParseExpression to support parsing any json files in addition to the existing .tf, .tf.json, and .hcl file extensions.
What changed?
Why make this change?
This issue is introducing the ability to define configuration as JSON (.tflint.json) in addition to HCL (.tflint.hcl). The ParseExpression function needs to support parsing these JSON configuration files.
There are only two callers of this function:
The calling functions already validate that files are hcl and should be processed, and the JSON parser will return appropriate diagnostics if the content is not valid HCL-compatible JSON.
Design Decision
I chose to accept any .json extension rather than specifically adding .tflint.json because:
Question for reviewers:
Are we comfortable accepting any .json file at this level, or would you prefer we restrict to specific patterns like .tflint.json and restrict configuration inputs to only accept
.tflint.json
on the tflint server side?