constraintdirective finds fields and arguments without @constraint directive in your GraphQL schema files.
input MutationInput {
name: String! @constraint(minLength: 1)
field: String! # want "field has no constraint directive"
}A runnable linter can be created with multichecker package. You can create own linter with your favorite Analyzers.
package main
import (
"flag"
"github.com/gqlgo/constraintdirective"
"github.com/gqlgo/gqlanalysis/multichecker"
)
func main() {
multichecker.Main(
constraintdirective.Analyzer(),
)
}constraintdirective provides a typical main function and you can install with go install command.
$ go install github.com/gqlgo/constraintdirective/cmd/constraintdirective@latestThe constraintdirective command has a flag, schema which will be parsed and analyzed by constraintdirective's Analyzer.
$ constraintdirective -schema="server/graphql/schema/**/*.graphql"The default value of schema is "schema/*/**.graphql".