@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
TypeScript
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;