@graphql-eslint/eslint-plugin
Version:
GraphQL plugin for ESLint
130 lines (127 loc) • 4.59 kB
text/typescript
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 };