eslint-config-xaxa
Version:
The ultimate ESLint config - successor to Airbnb Config. Built on Anthony Fu's ESLint config, Airbnb, ESLint Stylistic, Perfectionist, React, TypeScript, Astro, JSDocs, Prettier, Node.js, Unicorns, Promises, and more.
14 lines (13 loc) • 735 B
JavaScript
import { typescript } from "@antfu/eslint-config";
import { FlatConfigComposer } from "eslint-flat-config-utils";
import { isPackageExists } from "local-pkg";
import { airbnb } from "./configs/index.js";
export default function airbnbPreset(options = {}, ...userConfigs) {
const isTypescript = isPackageExists("typescript");
const { typescript: enableTypeScript = isTypescript,...opts } = { ...options };
const configs = [airbnb(opts), enableTypeScript && typescript(enableTypeScript === true ? {} : enableTypeScript)];
let composer = new FlatConfigComposer();
composer = composer.append(...configs.flat().filter(Boolean), ...userConfigs.flat().filter(Boolean));
return composer;
}
export { airbnbPreset as airbnb, typescript };