linter

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllTheRules = []LintRuleMetadata{
	{
		typeDesc,
		"type-desc checks whether all the types defined have description",
		TypesHaveDescription,
	},
	{
		argsDesc,
		"args-desc checks whether arguments have description",
		ArgumentsHaveDescription,
	},
	{
		fieldDesc,
		"field-desc checks whether fields have description",
		FieldsHaveDescription,
	},
	{
		enumCaps,
		"enum-caps checks whether Enum values are all UPPER_CASE",
		EnumValuesAreAllCaps,
	},
	{
		enumDesc,
		"enum-desc checks whether Enum values have description",
		EnumValuesHaveDescriptions,
	},
	{
		fieldCamel,
		"field-camel checks whether fields defined are all camelCase",
		FieldsAreCamelCased,
	},
	{
		typeCaps,
		"type-caps checks whether types defined are Capitalized",
		TypesAreCapitalized,
	},
	{
		relayConnType,
		"relay-conn-type checks if Connection Types follow the Relay Cursor Connections Specification",
		RelayConnectionTypesSpec,
	},
	{
		relayConnArgs,
		"relay-conn-args checks if Connection Args follow of the Relay Cursor Connections Specification",
		RelayConnectionArgumentsSpec,
	},
}

AllTheRules is a list of all the lint rules available

Functions

func AvailableRulesWithDescription

func AvailableRulesWithDescription() string

AvailableRulesWithDescription returns the comma separated list of rules with description

Types

type LintErrorWithMetadata

type LintErrorWithMetadata struct {
	Rule         LintRule
	Line, Column int
	Err          error
}

LintErrorWithMetadata represent a lint error. It stores metadata such as Rule for which error happened, position and actual error.

type LintErrorsWithMetadata

type LintErrorsWithMetadata []LintErrorWithMetadata

LintErrorsWithMetadata represent collection of lint errors.

func ArgumentsHaveDescription

func ArgumentsHaveDescription(schema *ast.SchemaDocument) LintErrorsWithMetadata

ArgumentsHaveDescription checks whether arguments have description

func EnumValuesAreAllCaps

func EnumValuesAreAllCaps(schema *ast.SchemaDocument) LintErrorsWithMetadata

EnumValuesAreAllCaps checks whether Enum values are all UPPER_CASE

func EnumValuesHaveDescriptions

func EnumValuesHaveDescriptions(schema *ast.SchemaDocument) LintErrorsWithMetadata

EnumValuesHaveDescriptions checks whether Enum values have description

func FieldsAreCamelCased

func FieldsAreCamelCased(schema *ast.SchemaDocument) LintErrorsWithMetadata

FieldsAreCamelCased checks whether fields defined are all camelCase

func FieldsHaveDescription

func FieldsHaveDescription(schema *ast.SchemaDocument) LintErrorsWithMetadata

FieldsHaveDescription checks whether fields have description

func RelayConnectionArgumentsSpec

func RelayConnectionArgumentsSpec(schema *ast.SchemaDocument) LintErrorsWithMetadata

RelayConnectionArgumentsSpec will validate the schema adheres to section 4 (Arguments) of the Relay Cursor Connections Specification. See https://relay.dev/graphql/connections.htm#sec-Arguments and https://relay.dev/graphql/connections.htm

func RelayConnectionTypesSpec

func RelayConnectionTypesSpec(schema *ast.SchemaDocument) LintErrorsWithMetadata

RelayConnectionTypesSpec will validate the schema adheres to section 2 (Connection Types) of the Relay Cursor Connections Specification. See https://relay.dev/graphql/connections.htm#sec-Connection-Types and https://relay.dev/graphql/connections.htm

func TypesAreCapitalized

func TypesAreCapitalized(schema *ast.SchemaDocument) LintErrorsWithMetadata

TypesAreCapitalized checks whether types defined are Capitalized

func TypesHaveDescription

func TypesHaveDescription(schema *ast.SchemaDocument) LintErrorsWithMetadata

TypesHaveDescription checks whether all the types defined have description

func (LintErrorsWithMetadata) GetSortedErrors

func (e LintErrorsWithMetadata) GetSortedErrors() []LintErrorWithMetadata

GetSortedErrors returns sorted list of errors with metadata. Sorting is done for Line-Column position for lint error

func (LintErrorsWithMetadata) Len

func (e LintErrorsWithMetadata) Len() int

func (LintErrorsWithMetadata) Less

func (e LintErrorsWithMetadata) Less(i, j int) bool

Less returns true if position at which error[i] occurred is before error[j]

func (LintErrorsWithMetadata) Swap

func (e LintErrorsWithMetadata) Swap(i, j int)

Swap swaps values in error list for two given indices

type LintRule

type LintRule string

LintRule is the name of the lint Rule internally

type LintRuleFunc

type LintRuleFunc = func(schema *ast.SchemaDocument) LintErrorsWithMetadata

LintRuleFunc is a short-form for the function signature for every lint Rule function should have

type LintRuleMetadata

type LintRuleMetadata struct {
	Name LintRule

	RuleFunction LintRuleFunc
	// contains filtered or unexported fields
}

LintRuleMetadata holds information for a given lint Rule

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL