Repository: ysugimoto/falco (go)

Issue:
[Feature] add .prefer_ipv6 field in backend
### Kind of proposals

You can turn on multiple checkboxes.

- [] Parser
- [x] Linter
- [] Simulator
- [] Testing

### Describe the feature

Now Fastly supports IPv6 to origin as `.prefer_ipv6` property in backend declaretion.
We need to support this field in linter in order to suppress UndefinedBackendPropery error.

### Give us your considerations

Support new field of `.prefer_ipv6`

Pull request description:
implement prefer_ipv6 field in backend declaration
Fixes #459 

This PR supports `.prefer_ipv6` field in backend declaration.
This feature comes from Fastly's ipv6 to origin support and if the user enables this feature, this field will be present.
It seems to be enabled in custom VCL so we need to support in linter.

Patch:
diff --git a/README.md b/README.md
index e2895e8..7fe2b39 100644
--- a/README.md
+++ b/README.md
@@ -41,11 +41,7 @@ Download binary from [releases page](https://github.com/ysugimoto/falco/releases
 $ brew install falco
 ```
 
-You can compile this project by yourself with:
-
-```shell
-go install github.com/ysugimoto/falco/cmd/falco@latest
-```
+You can compile this project by yourself with `go install github.com/ysugimoto/falco/cmd/falco@latest`.
 
 ## Usage
 
@@ -150,6 +146,10 @@ To integrate `falco` into your GitHub Actions pipeline, e.g. for linting:
 
 See [ain/falco-github-action](https://github.com/ain/falco-github-action) for documentation.
 
+## Transforming
+
+`falco` plans to transpile Fastly VCL to the other programming language that works on the Compute@Edge, keep you posted when there is any progress.
+
 ## Contribution
 
 - Fork this repository
diff --git a/linter/helper.go b/linter/helper.go
index fe89eb2..3fa32a9 100644
--- a/linter/helper.go
+++ b/linter/helper.go
@@ -33,6 +33,7 @@ var BackendPropertyTypes = map[string]types.Type{
 	"host_header":              types.StringType,
 	"always_use_host_header":   types.BoolType,
 	"bypass_local_route_table": types.BoolType,
+	"prefer_ipv6":              types.BoolType,
 }
 
 var BackendProbePropertyTypes = map[string]types.Type{


Test patch:
diff --git a/linter/declaration_linter_test.go b/linter/declaration_linter_test.go
index 33ef7e8..1f4fb06 100644
--- a/linter/declaration_linter_test.go
+++ b/linter/declaration_linter_test.go
@@ -57,6 +57,7 @@ backend foo {
   .ssl_check_cert = always;
   .min_tls_version = "1.2";
   .max_tls_version = "1.2";
+  .prefer_ipv6 = true;
   .probe = {
     .dummy = false;
     .initial = 5;