75 lines
2.7 KiB
TypeScript
75 lines
2.7 KiB
TypeScript
// Generated by dts-bundle-generator v9.0.0
|
|
|
|
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
import { Rule } from 'eslint';
|
|
import { ESLintConfig, Rules } from 'eslint-define-config';
|
|
|
|
export declare const error = "error";
|
|
export declare const warn = "warn";
|
|
export declare const off = "off";
|
|
export type RuleLevel = "error" | "warn" | "off" | 0 | 1 | 2;
|
|
export type RuleEntry<Options> = RuleLevel | [
|
|
RuleLevel,
|
|
Partial<Options>
|
|
];
|
|
export interface LocalRuleOptions {
|
|
/** Bans import from the specifier '.' and '..' and replaces it with '.+/index' */
|
|
"rules/no-import-dot": RuleEntry<unknown>;
|
|
/**
|
|
* Enforce template literal expressions to be of `string` type
|
|
* @see [restrict-template-expressions](https://typescript-eslint.io/rules/restrict-template-expressions)
|
|
*/
|
|
"rules/restrict-template-expressions": RuleEntry<{
|
|
allow: string[];
|
|
}>;
|
|
/** Ban assignment of empty object literals `{}` and replace them with `Object.create(null)` */
|
|
"rules/no-empty-object-literal": RuleEntry<unknown>;
|
|
}
|
|
export type RuleOptions = Rules & Partial<LocalRuleOptions>;
|
|
/**
|
|
* ESLint Configuration.
|
|
* @see [ESLint Configuration](https://eslint.org/docs/latest/user-guide/configuring/)
|
|
*/
|
|
export type Config = Omit<ESLintConfig, "rules"> & {
|
|
/**
|
|
* Rules.
|
|
* @see [Rules](https://eslint.org/docs/latest/user-guide/configuring/rules)
|
|
*/
|
|
rules?: RuleOptions;
|
|
/**
|
|
*/
|
|
customRules?: {
|
|
rule: () => Promise<{
|
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, unknown[]>;
|
|
}>;
|
|
options?: RuleLevel;
|
|
}[];
|
|
};
|
|
export declare function defineCustomRule<Options extends readonly unknown[]>(rule: () => Promise<{
|
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, Options>;
|
|
}>, options?: Options): {
|
|
rule: () => Promise<{
|
|
default: Rule.RuleModule | ESLintUtils.RuleModule<string, Options>;
|
|
}>;
|
|
options: Options | undefined;
|
|
};
|
|
/**
|
|
* Returns a ESLint config object.
|
|
*
|
|
* By default, it includes `["@typescript-eslint", "import", "prettier"]` configs.
|
|
* Additional bundled plugins include:
|
|
*
|
|
* 1. [react](https://github.com/jsx-eslint/eslint-plugin-react#list-of-supported-rules)
|
|
* 2. [react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)
|
|
* 3. [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#supported-rules)
|
|
* 4. [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules)
|
|
* 5. [n](https://github.com/eslint-community/eslint-plugin-n#-rules) (Node.js specific)
|
|
* 6. [jsdoc](https://github.com/gajus/eslint-plugin-jsdoc#rules)
|
|
*
|
|
* Non bundled:
|
|
* 1. [graphql](https://the-guild.dev/graphql/eslint/rules)
|
|
*/
|
|
export declare function extendConfig({ plugins, settings, rules, extends: _extends, overrides, customRules, ...rest }?: Config): ESLintConfig;
|
|
|
|
export {};
|