1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5388],{46111:function(e,n,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/rules/no-fragment-cycles",function(){return s(6965)}])},6965:function(e,n,s){"use strict";s.r(n);var r=s(39324),l=s(71209),i=s(35250),t=s(16913),c=s(47160);function a(e){var n=Object.assign({h1:"h1",code:"code",p:"p",ul:"ul",li:"li",a:"a",blockquote:"blockquote",h2:"h2"},(0,c.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{children:(0,i.jsx)(n.code,{children:"no-fragment-cycles"})}),"\n",(0,i.jsxs)(n.p,{children:["â
The ",(0,i.jsx)(n.code,{children:'"extends": "plugin:@graphql-eslint/operations-recommended"'})," property in a configuration file\nenables this rule."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Category: ",(0,i.jsx)(n.code,{children:"Operations"})]}),"\n",(0,i.jsxs)(n.li,{children:["Rule name: ",(0,i.jsx)(n.code,{children:"@graphql-eslint/no-fragment-cycles"})]}),"\n",(0,i.jsxs)(n.li,{children:["Requires GraphQL Schema: ",(0,i.jsx)(n.code,{children:"true"}),"\n",(0,i.jsx)(n.a,{href:"/docs/getting-started#extended-linting-rules-with-graphql-schema",children:"â¹ï¸"})]}),"\n",(0,i.jsxs)(n.li,{children:["Requires GraphQL Operations: ",(0,i.jsx)(n.code,{children:"false"}),"\n",(0,i.jsx)(n.a,{href:"/docs/getting-started#extended-linting-rules-with-siblings-operations",children:"â¹ï¸"})]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"A GraphQL fragment is only valid when it does not have cycles in fragments usage."}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["This rule is a wrapper around a ",(0,i.jsx)(n.code,{children:"graphql-js"})," validation function."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"resources",children:"Resources"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/graphql/graphql-js/blob/main/src/validation/rules/NoFragmentCyclesRule.ts",children:"Rule source"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://github.com/graphql/graphql-js/tree/main/src/validation/__tests__/NoFragmentCyclesRule-test.ts",children:"Test source"})}),"\n"]})]})}s(8850),n.default=(0,t.j)({MDXContent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},(0,c.ah)(),e.components).wrapper;return n?(0,i.jsx)(n,(0,l._)((0,r._)({},e),{children:(0,i.jsx)(a,(0,r._)({},e))})):a(e)},pageOpts:{filePath:"src/pages/rules/no-fragment-cycles.md",route:"/rules/no-fragment-cycles",headings:[{depth:1,value:"no-fragment-cycles",id:"no-fragment-cycles"},{depth:2,value:"Resources",id:"resources"}],timestamp:1673726257e3,title:"no-fragment-cycles"},pageNextRoute:"/rules/no-fragment-cycles"})}},function(e){e.O(0,[6913,9774,2888,179],function(){return e(e.s=46111)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.