如何在TypeScript的GraphQL字符串中忽略特定行的ESLint废弃字段警告?
解决GraphQL字符串内ESLint废弃字段警告的问题
你在GraphQL模板字符串里加注释的方式行不通,因为ESLint只解析JS/TS代码本身,不会识别模板内部GraphQL语法里的注释作为ESLint禁用指令。以下是几种精准忽略特定查询/字段警告的方法:
针对单个查询禁用规则
在gql标签所在行的上方添加行级ESLint注释,指定要忽略的具体规则(比如废弃字段相关规则通常是@graphql-eslint/no-deprecated-fields):// eslint-disable-next-line @graphql-eslint/no-deprecated-fields const query = gql` { whatever { field } } `用块注释精准控制忽略范围
如果需要临时禁用某一段代码的规则,同时不影响文件其他部分,可以用块级注释包裹目标查询,用完后再恢复规则:/* eslint-disable @graphql-eslint/no-deprecated-fields */ const query = gql` { whatever { field } } ` /* eslint-enable @graphql-eslint/no-deprecated-fields */针对单个字段的细粒度忽略(需插件支持)
如果你使用的是@graphql-eslint插件,部分新版本支持在GraphQL字段前用GraphQL注释语法(#)添加ESLint忽略指令:const query = gql` { whatever { # eslint-disable-next-line @graphql-eslint/no-deprecated-fields field } } `这种方法需要确认你的ESLint插件版本支持解析GraphQL内部的ESLint注释,建议先核对插件文档的兼容性。
内容的提问来源于stack exchange,提问作者changey
相关产品推荐
相关产品推荐

