August 29, 2023
Pre-release@graphql-eslint/eslint-plugin@4.0.0-alpha.0
Major Changes
-
#1794
4079167e
Thanks @B2o5T! - - bring backpossible-type-extensionrule to
schema-recommendedconfig- add
unique-operation-nameandunique-fragment-namerules tooperations-recommendedconfig
The concept of sibling operations provided by graphql-config's
documentsfields is based on
uniquely named operations and fragments, for omitting false-positive/negative cases when
operations and fragments are located in separate files. For this reason, these rules must be
included in the recommended config- rename
relayconfig toschema-relay
To avoid confusing when users extend this config for executable definitions (operations and
fragments) - add
-
#1812
bf475e88
Thanks @B2o5T! - -alphabetizerule changes-
add
definitions: trueoption forschema-all/operations-allconfigs -
rename
values: ['EnumTypeDefinition']tovalues: true -
rename
variables: ['OperationDefinition']tovariables: true -
add
groups: ['id', '*', 'createdAt', 'updatedAt']forschema-all/operations-allconfigs -
require-id-when-availablerule changes- rename rule to
require-selections
- rename rule to
-
update
schema-all/operations-allconfigs -
require-descriptionrule changes- add
rootField: trueoption forschema-recommendedconfig
- add
-
require
eslintat least>=8.44.0as peerDependency -
naming-convention- add new options for
schema-recommendedconfig
{ 'EnumTypeDefinition,EnumTypeExtension': { forbiddenPrefixes: ['Enum'], forbiddenSuffixes: ['Enum'] }, 'InterfaceTypeDefinition,InterfaceTypeExtension': { forbiddenPrefixes: ['Interface'], forbiddenSuffixes: ['Interface'] }, 'UnionTypeDefinition,UnionTypeExtension': { forbiddenPrefixes: ['Union'], forbiddenSuffixes: ['Union'] }, 'ObjectTypeDefinition,ObjectTypeExtension': { forbiddenPrefixes: ['Type'], forbiddenSuffixes: ['Type'] } }
- add new options for
-
remove graphql-js'
unique-enum-value-namesrule -
rename
no-case-insensitive-enum-values-duplicatestounique-enum-value-namesSince this rule reports case-insensitive enum values duplicates too
-
require-nullable-result-in-rootrule changesDo not check subscriptions
-
-
#1795
2f46a717
Thanks @B2o5T! - - removeparserOptions.schema-
remove
parserOptions.documents -
remove
parserOptions.extensions -
remove
parserOptions.include -
remove
parserOptions.exclude -
remove
parserOptions.projects -
remove
parserOptions.schemaOptions -
remove
parserOptions.graphQLParserOptions -
remove
parserOptions.skipGraphQLConfig -
remove
parserOptions.operations -
add
parserOptions.graphQLConfig?: IGraphQLConfigfor programmatic usage
-
-
#1793
6593482b
Thanks @B2o5T! - drop support of Node.js 12/14/16, GraphQL 14/15 -
#1792
804f8b61
Thanks @B2o5T! - RemoveGraphQLRuleTesterfrom bundle, to test your
rules use regularRuleTesterfrom eslintNote: with this change unnecessary dependency
@babel/code-framewas removed tooimport { RuleTester } from 'eslint' const ruleTester = new RuleTester({ parser: require.resolve('@graphql-eslint/eslint-plugin') })
Patch Changes
-
#1813
1c2d220
Thanks @B2o5T! - dependencies updates:- Updated dependency
graphql-config@^4.5.0↗︎ (from
^4.4.0, independencies) - Removed dependency
@babel/code-frame@^7.18.6↗︎ (from
dependencies) - Removed dependency
chalk@^4.1.2↗︎ (from
dependencies) - Removed dependency
tslib@^2.4.1↗︎ (from
dependencies) - Updated dependency
graphql@^16↗︎ (from
^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0,
inpeerDependencies) - Added dependency
eslint@>=8.44.0↗︎ (to
peerDependencies)
- Updated dependency
-
#1792
804f8b61
Thanks @B2o5T! - dependencies updates:- Removed dependency
@babel/code-frame@^7.18.6↗︎ (from
dependencies)
- Removed dependency