@graphql-eslint/eslint-plugin
Version:
GraphQL plugin for ESLint
73 lines (68 loc) • 1.6 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});var _indexjs = require('../unique-fragment-name/index.js');
const RULE_ID = "unique-operation-name", rule = exports.rule = {
meta: {
type: "suggestion",
docs: {
category: "Operations",
description: "Enforce unique operation names across your project.",
url: `https://the-guild.dev/graphql/eslint/rules/${RULE_ID}`,
requiresSiblings: !0,
recommended: !0,
examples: [
{
title: "Incorrect",
code: (
/* GraphQL */
`
# foo.query.graphql
query user {
user {
id
}
}
# bar.query.graphql
query user {
me {
id
}
}
`
)
},
{
title: "Correct",
code: (
/* GraphQL */
`
# foo.query.graphql
query user {
user {
id
}
}
# bar.query.graphql
query me {
me {
id
}
}
`
)
}
]
},
messages: {
[RULE_ID]: `Operation named "{{ documentName }}" already defined in:
{{ summary }}`
},
schema: []
},
create(context) {
return {
"OperationDefinition[name!=undefined]"(node) {
_indexjs.checkNode.call(void 0, context, node, RULE_ID);
}
};
}
};
exports.rule = rule;