@tpointurier/configs
Version:
ESLint config presets
71 lines (52 loc) • 2.46 kB
TypeScript
import { FlatConfigComposer } from 'eslint-flat-config-utils';
import { Linter } from 'eslint';
import { ParserOptions } from '@typescript-eslint/parser';
import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
type FlatConfigItem = Omit<Linter.Config<Linter.RulesRecord>, 'plugins'> & {
plugins?: Record<string, any>;
};
type UserConfigItem = FlatConfigItem | Linter.FlatConfig;
type Awaitable<T> = T | Promise<T>;
interface OptionsTypeScriptWithTypes {
tsconfigPath?: string | string[];
forceDecorators?: boolean;
}
interface OptionsTypeScriptParserOptions {
parserOptions?: Partial<ParserOptions>;
}
type TPointurierOptions = {
enableGitIgnore?: boolean | FlatGitignoreOptions;
adonisjs?: boolean;
jsonc?: boolean;
prettier?: boolean;
vue?: boolean;
typescript?: boolean | ((OptionsTypeScriptWithTypes | OptionsTypeScriptParserOptions) & {
typeAwareRules?: boolean;
});
unocss?: boolean;
react?: boolean;
};
declare function vue(): Promise<FlatConfigItem[]>;
declare function node(): Promise<FlatConfigItem[]>;
declare function jsonc(): Promise<FlatConfigItem[]>;
declare function jsdoc(): Promise<FlatConfigItem[]>;
declare function unocss(): Promise<FlatConfigItem[]>;
declare function ignores(userIgnores?: string[]): Promise<FlatConfigItem[]>;
declare function imports(): Promise<FlatConfigItem[]>;
declare function unicorn(): Promise<FlatConfigItem[]>;
/**
* Enable prettier rules
*/
declare function prettier(): Promise<FlatConfigItem[]>;
declare function adonisjs(): Promise<FlatConfigItem[]>;
declare function javascript(): Promise<FlatConfigItem[]>;
declare function typescript(options?: OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions & {
typeAwareRules?: boolean;
enableForVue?: boolean;
}): Promise<FlatConfigItem[]>;
declare function perfectionist(): Promise<FlatConfigItem[]>;
declare function sortPackageJson(): Promise<FlatConfigItem[]>;
declare function sortTsconfig(): Promise<FlatConfigItem[]>;
declare function react(): Promise<FlatConfigItem[]>;
declare function tpointurier(options?: TPointurierOptions & Omit<FlatConfigItem, 'files'>, ...userConfigs: Awaitable<UserConfigItem | UserConfigItem[]>[]): FlatConfigComposer<FlatConfigItem>;
export { adonisjs, ignores, imports, javascript, jsdoc, jsonc, node, perfectionist, prettier, react, sortPackageJson, sortTsconfig, tpointurier, typescript, unicorn, unocss, vue };