UNPKG

@graphql-eslint/eslint-plugin

Version:
130 lines (127 loc) 4.59 kB
import { FromSchema } from 'json-schema-to-ts'; import { GraphQLESLintRule } from '../../types.cjs'; import 'eslint'; import 'estree'; import 'graphql'; import 'graphql-config'; import '../../estree-converter/types.cjs'; import '../../siblings.cjs'; import '@graphql-tools/utils'; type AllowedStyle = 'camelCase' | 'PascalCase' | 'snake_case' | 'UPPER_CASE'; declare const schema: { readonly definitions: { readonly asString: { enum: AllowedStyle[]; description: string; }; readonly asObject: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly style: { enum: AllowedStyle[]; description: string; }; readonly prefix: { readonly type: "string"; }; readonly suffix: { readonly type: "string"; }; readonly forbiddenPatterns: { readonly items: { readonly type: "object"; }; readonly description: "Should be of instance of `RegEx`"; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; }; readonly requiredPattern: { readonly type: "object"; readonly description: "Should be of instance of `RegEx`"; }; readonly forbiddenPrefixes: { readonly description: string; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; readonly items: { readonly type: "string"; }; }; readonly forbiddenSuffixes: { readonly description: string; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; readonly items: { readonly type: "string"; }; }; readonly requiredPrefixes: { readonly description: string; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; readonly items: { readonly type: "string"; }; }; readonly requiredSuffixes: { readonly description: string; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; readonly items: { readonly type: "string"; }; }; readonly ignorePattern: { readonly type: "string"; readonly description: "Option to skip validation of some words, e.g. acronyms"; }; }; }; }; readonly type: "array"; readonly maxItems: 1; readonly items: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly allowLeadingUnderscore: { readonly type: "boolean"; readonly default: false; }; readonly allowTrailingUnderscore: { readonly type: "boolean"; readonly default: false; }; readonly types: { readonly description: `Includes: ${string}`; readonly oneOf: readonly [{ readonly $ref: "#/definitions/asString"; }, { readonly $ref: "#/definitions/asObject"; }]; }; }; readonly patternProperties: { readonly [x: string]: { readonly oneOf: readonly [{ readonly $ref: "#/definitions/asString"; }, { readonly $ref: "#/definitions/asObject"; }]; }; }; readonly description: string; }; }; type RuleOptions = FromSchema<typeof schema, { keepDefaultedPropertiesOptional: true; }>; declare const rule: GraphQLESLintRule<RuleOptions>; export { type RuleOptions, rule };