UNPKG

@graphql-eslint/eslint-plugin

Version:
133 lines (130 loc) 4.79 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: { readonly enum: AllowedStyle[]; readonly description: `One of: ${string}`; }; readonly asObject: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly style: { readonly enum: AllowedStyle[]; }; 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 requiredPatterns: { readonly items: { readonly type: "object"; }; readonly description: "Should be of instance of `RegEx`"; readonly type: "array"; readonly uniqueItems: true; readonly minItems: 1; }; 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:\n${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 };