eslint-config-xo
Version:
ESLint shareable config for XO
73 lines (53 loc) • 2.12 kB
TypeScript
import {type Linter} from 'eslint';
export const tsExtensions: string[];
export const jsExtensions: string[];
export const frameworkExtensions: string[];
export const htmlExtensions: string[];
export const mdExtensions: string[];
export const allExtensions: string[];
export const tsFilesGlob: string;
export const jsFilesGlob: string;
export const allFilesGlob: string;
export const defaultIgnores: string[];
export const typescriptParser: Linter.Parser | undefined;
export type Options = {
/**
Use browser globals instead of Node.js globals.
@default false
*/
browser?: boolean;
/**
Use spaces for indentation instead of tabs.
Set to `true` for 2 spaces, or a number for a custom count.
@default false
*/
space?: boolean | number;
/**
Use semicolons at the end of statements.
@default true
*/
semicolon?: boolean;
/**
Integrate [Prettier](https://prettier.io).
- `true` — Run Prettier as an ESLint rule using XO's Prettier style, and disable the stylistic rules that would conflict with it. Requires `prettier` to be installed.
- `'compat'` — Only disable the stylistic rules that conflict with Prettier, for when you run Prettier separately (for example, from your editor or a script).
Prettier options you set in a `.prettierrc` still apply for anything XO does not configure (like `printWidth` or plugins), but XO's own style settings take precedence.
@default false
*/
prettier?: boolean | 'compat';
};
/**
ESLint shareable config for XO with support for JavaScript and TypeScript.
@returns An array of ESLint flat config objects.
*/
export default function eslintConfigXo(options?: Options): Linter.Config[];
/**
Build the ESLint flat config object that integrates [Prettier](https://prettier.io), or `undefined` when `prettier` is falsy.
Mainly intended for the `xo` package to reuse XO's Prettier integration. When `files` is omitted, the config applies to all files.
*/
export function getPrettierConfig(options: {
prettier?: boolean | 'compat';
space?: boolean | number;
semicolon?: boolean;
files?: Linter.Config['files'];
}): Linter.Config | undefined;