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.
34 lines (33 loc) • 989 B
JavaScript
import { ensurePackages, interopDefault } from "@antfu/eslint-config";
export async function perfectionist(options) {
await ensurePackages(["eslint-plugin-perfectionist"]);
const pluginPerfectionist = await interopDefault(import("eslint-plugin-perfectionist"));
return [{
name: "xaxa/perfectionist/setup",
plugins: { perfectionist: pluginPerfectionist },
rules: {
"perfectionist/sort-array-includes": "off",
"perfectionist/sort-exports": ["error", {
order: "asc",
type: "natural"
}],
"perfectionist/sort-imports": ["error", {
newlinesBetween: "always",
order: "asc",
type: "alphabetical"
}],
"perfectionist/sort-named-exports": ["error", {
order: "asc",
type: "natural"
}],
"perfectionist/sort-named-imports": ["error", {
order: "asc",
type: "natural"
}],
"perfectionist/sort-objects": ["error", { type: "alphabetical" }]
}
}, {
name: "xaxa/perfectionist/user-overrides",
rules: { ...options || {} }
}];
}