UNPKG

@atlaskit/eslint-plugin-ui-styling-standard

Version:

The eslint plugin to enforce and educate on Atlassian's UI Styling Standard

19 lines (18 loc) • 886 B
import type { Rule } from 'eslint'; import type { FromSchema, JSONSchema } from 'json-schema-to-ts'; import type { LintRule as BaseLintRule, LintRuleMeta as BaseLintRuleMeta } from '@atlaskit/eslint-utils/create-rule'; export interface LintRule<Schema extends JSONSchema, Config> extends Omit<BaseLintRule, 'meta' | 'create'> { meta: LintRuleMeta<Schema>; create(context: Rule.RuleContext, config: Config): Rule.RuleListener; /** * Unsure why the eslint typings include this when the docs * say the schema should be in meta. */ schema?: never; } export interface LintRuleMeta<Schema extends JSONSchema> extends Omit<BaseLintRuleMeta, 'schema'> { schema: Schema; } export declare const createLintRuleWithTypedConfig: <Schema extends JSONSchema & { type: 'object'; }, Config = FromSchema<Schema>>(rule: LintRule<Schema, Config>) => Rule.RuleModule;