- 81fae5a: GraphQL v16 support
- 86b3709: fix error report for
no-unused-fields
andno-unreachable-types
rule - cf3cc4f: fix error report for
require-deprecation-reason
andrequire-field-of-type-query-in-mutation-result
rule - 578b890: fix error report for
require-deprecation-date
rule - ebab010: fix error report for
alphabetize
rule - 7dacfe5: fix error report for
avoid-scalar-result-type-on-mutation
rule - f712780: fix error report for
unique-fragment-name
andunique-operation-name
rule - d081fcc: fix error report for
selection-set-depth
rule and forgraphql-js
rules - 46f03f7: fix error report for
description-style
rule - b36a32c: fix error report for
strict-id-in-types
andnaming-convention
rule - 7aa8157: fix error report for
input-name
rule - a285de3: fix error report for
require-deprecation-reason
andrequire-field-of-type-query-in-mutation-result
rule - ced6789: fix error report for
no-deprecated
rule
- 98b6bcb: fix: adjust report location for
no-operation-name-suffix
rule - 1bacedd: fix: adjust report location for
no-anonymous-operations
rule - c42cee5: fix: adjust report location for
avoid-typename-prefix
rule - eb4a851: fix: adjust report location for
require-description
rule
- f2a6635: add new rule
require-field-of-type-query-in-mutation-result
- 44a6c73: fix false negative case for
no-undefined-variables
rule - ed6644b: feat: support ESLint 8
- f713823: fix false positive case for
no-unused-variables
rule - c7a8b33: add new rule
alphabetize
- 1dd2f43: feat: add recommended and all configs
- 1dd2f43: add new rule require-deprecation-date
- 1dd2f43: add new rule avoid-scalar-result-type-on-mutation
- c6886ba: [New rule] Compare operation/fragment name to the file name
- 2032a66: fix
no-unreachable-types
rule when interface implementing other interface
- c6886ba: NEW PLUGIN: Compare operation/fragment name to the file name
- 7b12bbf: fix(no-hashtag-description): allow hashtag comments between fields and arguments
- 403b946: enhance(eslint-plugin): refactor the parts using tools
- 0fb8d51: Update range of graphql-config and graphql-tools to fix documents loading issues
- 17014ee: Drop support for Node 10, update to latest graphql-tools
- c0b12a5: fix(siblings): return virtual path for code files instead of real path
- 3701b2a: use
graphql-config
even there is nographql-config
consmiconfig file - 44f0d73: fix false negative cases for
no-unreachable-types
rule - 5065482: fix caching for
no-unreachable-types
andno-unused-fields
rules - 5e8ebd8: add tests for schema loaders
- 34b4300: fix(graphql-config): pass real filepath to
gqlConfig.getProjectForFile
- ca8b521: fix: code filepath in unique-fragment-name and unique-operation-name rules
- e7d8496: fix: documents in graphql-config can be null
- f428d46: feat: improve generate-docs and types
- 5a7e9a7: fix comments in files that contains import comments
- 4348dcc: update eslint, various improvements
- 01ade2e: fix unique-fragment-name and no-unused-fragments rule
- a44d426: support #import in known-fragment-names rule
- 85d842e: add
no-unused-fields
rule - 6b5b90b: graphql-js migrate to .ts, fix links
- f0560b0: Fix for missing exports for testkit
- 1d85025: fix: allow anonymous operations for naming-convention rule
- a92267b: fixes for graphql-js rules issues
- 45acfde: Fix console.warn typo in selection-set-depth rule
- 533d123: Fix issues with Windows paths
-
14211d6: feat: remove
prettier
rule, add related docsSince prettier itself support now linting GraphQL code and syntax, we removed the need for this rule from this package.
For more information, see:
-
61251e7: BREAKING CHANGE: Remove deprecated rule
validate-against-schema
.If you are using
validate-against-schema
, please remove it and specify the exact rules that you need.As a drop-in replacement for the whole set of rules we had in
validate-against-schema
, you can use this:
"@graphql-eslint/executable-definitions": "error",
"@graphql-eslint/fields-on-correct-type": "error",
"@graphql-eslint/fragments-on-composite-type": "error",
"@graphql-eslint/known-argument-names": "error",
"@graphql-eslint/known-directives": "error",
"@graphql-eslint/known-fragment-names": "error",
"@graphql-eslint/known-type-names": "error",
"@graphql-eslint/lone-anonymous-operation": "error",
"@graphql-eslint/lone-schema-definition": "error",
"@graphql-eslint/no-fragment-cycles": "error",
"@graphql-eslint/no-undefined-variables": "error",
"@graphql-eslint/no-unused-fragments": "error",
"@graphql-eslint/no-unused-variables": "error",
"@graphql-eslint/overlapping-fields-can-be-merged": "error",
"@graphql-eslint/possible-fragment-spread": "error",
"@graphql-eslint/possible-type-extension": "error",
"@graphql-eslint/provided-required-arguments": "error",
"@graphql-eslint/scalar-leafs": "error",
"@graphql-eslint/one-field-subscriptions": "error",
"@graphql-eslint/unique-argument-names": "error",
"@graphql-eslint/unique-directive-names": "error",
"@graphql-eslint/unique-directive-names-per-location": "error",
"@graphql-eslint/unique-enum-value-names": "error",
"@graphql-eslint/unique-field-definition-names": "error",
"@graphql-eslint/unique-input-field-names": "error",
"@graphql-eslint/unique-operation-types": "error",
"@graphql-eslint/unique-type-names": "error",
"@graphql-eslint/unique-variable-names": "error",
"@graphql-eslint/value-literals-of-correct-type": "error",
"@graphql-eslint/variables-are-input-types": "error",
"@graphql-eslint/variables-in-allowed-position": "error"
- 61251e7: Bump dependencies and update minimum Node version to
v12
- 63dc00a: NEW RULE: avoid-typename-prefix
-
9a40163: Fix issues with
avoid-operation-name-prefix
and error with caseSensitive -
1257d51: fix: original file should not be considered as file block
Related #88
ESLint supports
text
directly, no need to use the hacky way. See https://github.com/eslint/eslint/blob/master/lib/linter/linter.js#L1298Related
eslint-plugin-prettier
's issue hae been fixed at prettier/eslint-plugin-prettier#401 -
6d4a356: Fix loadSiblings file location
-
388a0bf: Support OperationDefinition in naming-convention rule
-
5ff184b: Fix issues with
lone-schema-definition
rule -
7a04e1e: Added support for direcrives in
no-unreachable-types
rule -
ef8d776: Fix errors always thrown with unique-type-names rule
- beb3b14: Support possible types in no-unreachable-types rule
- 4693f27: [New rule] strict-id-in-types: use this to enforce output types to have a unique indentifier field unless being in exceptions
- 46742f0: no-hashtag-description allows eslint directives
- 77eafd2: no-unreachable-types pass if type implements reachable interface
- 13fd2fa: Fix compatibility issues with graphql v14
- 5b35139: Add options to input-name rule.
- 46d759e: [naming-convention] Add forbiddenPrefixes and forbiddenSuffixes options. Add QueryDefinition which targets queries ( may break existing config if FieldDefinition is used )
- 619d9eb: fix for
no-unreachable-types
does not recognize implemented interfaces - 2f6313b: Fix issues with built artifact containing parts of graphql-js library
- 80f9090: Fix missing "no-unreachable-types"
- a5e1e6e: Fix issues with processor parsing errors breaking the eslint execution
- 5e1bbe6: NEW RULE: avoid-duplicate-fields
- b093f88: NEW RULE: selection-set-depth
- 2df9134: NEW RULE: no-hashtag-description
- 625f083: New rule: no-unreachable-types
- 174a66f: [naming-convention] Allow each definition to take either a strng or object. Object can take the following keys: style (naming style), prefix (value must have prefix) and suffix (value must have suffix)
- d3ff768: NEW RULE: no-deprecated
- 63cecdd: Added code file compatibility for graphql-config projects
- 0094548: Load graphql config file only once
- e26a5d4: Fix issues with loading schemas from code-files
- e6edc88: Added prefix to error thrown by the parser
- 1594288: Improve error messages for parserServices
- 4942b58: Optimisation of sibling operations loading (cache by project)
- 2df9134: Fixed missing
loc
property when rawNode is called on Document node - a57d4f5: fix(naming-convention): fix issues with numeric values
- e9d1d53: NEW RULE: unique-operation-name
- e9d1d53: Port all graphql-js validation rules to standalone rules
- e9d1d53: New rule: unique-fragment-name
- e9d1d53: Fix issues with AST converter and root Document causing to invalid ASTs when rawNode is called
- e9d1d53: Fix issue with siblings operations and getOperation method
- 937b322: test release
- 937b322: Allow to load siblings operations
- 937b322: feature(processor): apply processor automatically on code files
- 937b322: Fix processor compatibility with other plugins
- 937b322: Better integration of siblings operations and graphql-config
- 937b322: fix(parser): better performance, make sure schema is loaded and cached
- 937b322: fix(parser): better support for graphql-config intergration and project detection
- c9bbdbe: Added
supportsAutofix
to the processor. Fixes can be applied in JS,TS files now.
- 0fe0f68: Fix a bug in the input-name rule to make sure it only checks fields on the Mutation type
- 0dab062: [require-id-when-available] fix for inline fragments on interfaces (#139)
- 52a98df: Ignore NoUnusedFragmentsRule validation for fragments operations
- 52a98df: Improve error reported from validate-against-schema (added the rule name to the error)
- 80e922c: Improved
validate-against-schema
rule configuration (allow to customize rules)
- 80e922c: Fix issues with
.rawNode()
values
- 2b87cb1: Fix compatibility with GraphQL v14
- da77db6: Fix
schemaOptions
support
- 9f0ab04: Fixes README and missing docs in published package
- 3838852: Initial minor release from this repo.
- 5809bdc: Fixes for docs and package publish