JavaScript:graphql-eslint(ESLint 插件)
graphql-github-io-zh-Hans生态项目与库
markdown
# JavaScript:graphql-eslint(ESLint 插件)
## 简介
graphql-eslint 是一个用于 ESLint 的插件,它将 GraphQL AST(抽象语法树)深度集成到 ESLint 核心中,作为自定义解析器工作。通过该插件,开发者可以在标准的 ESLint 流程中检查 `.graphql` 文件及嵌入在 JavaScript/TypeScript 中的 GraphQL 代码,实现统一的代码风格和静态错误检查。
## 功能特点
- **GraphQL 解析器**:将 GraphQL 文档转换为符合 ESLint 规则的 AST,使 ESLint 可以直接分析 GraphQL 语法。
- **丰富的规则集**:内置大量 GraphQL 专属规则,如命名约定、操作匿名限制、字段重复、Schema 安全校验等。
- **无缝集成**:与现有 ESLint 配置、编辑器插件和 CI 流程完美兼容。
- **支持 TypeScript**:可与 `@typescript-eslint` 等解析器配合,覆盖不同类型文件。
## 安装
使用 npm 安装插件:
```bash
npm install --save-dev @graphql-eslint/eslint-plugin
或使用 yarn / pnpm:
bash
yarn add --dev @graphql-eslint/eslint-plugin
bash
pnpm add --save-dev @graphql-eslint/eslint-plugin
配置示例
在 ESLint 配置文件(如 .eslintrc.js)中,针对 .graphql 文件添加解析器和插件:
js
module.exports = {
overrides: [
{
files: ['*.graphql'],
parser: '@graphql-eslint/eslint-plugin',
plugins: ['@graphql-eslint'],
rules: {
// 启用指定规则
'@graphql-eslint/no-anonymous-operations': 'error',
'@graphql-eslint/naming-convention': [
'error',
{
OperationDefinition: { style: 'PascalCase' },
},
],
},
},
],
};
对于 JavaScript/TypeScript 中嵌入的 GraphQL 模板字符串,也可以通过配置 parserOptions 和 processor 实现检查,具体可参考官方文档。
相关资源
- GitHub 仓库:dotansimha/graphql-eslint
- npm 包:
@graphql-eslint/eslint-plugin
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
