UNPKG

@graphql-eslint/eslint-plugin

Version:
66 lines (63 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rule = void 0; const unique_fragment_name_js_1 = require("./unique-fragment-name.js"); const RULE_ID = 'unique-operation-name'; 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: true, 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:\n{{ summary }}', }, schema: [], }, create(context) { return { 'OperationDefinition[name!=undefined]'(node) { (0, unique_fragment_name_js_1.checkNode)(context, node, RULE_ID); }, }; }, };