@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
23 lines (21 loc) • 972 B
JavaScript
import { globs } from "../utils/globs.js";
import { isEnabled } from "../utils/isEnabled.js";
import { defaultOptions } from "../utils/options/defaultOptions.js";
import { getPerfectionistRules } from "../rules/perfectionist.js";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginPerfectionist from "eslint-plugin-perfectionist";
//#region src/configs/perfectionist.ts
function getPerfectionistConfig(options) {
const { vue, perfectionist } = options.configs;
const { sortType, overrides } = isEnabled(perfectionist) ? perfectionist : defaultOptions.configs.perfectionist;
const perfectionistConfig = {
name: "shayanthenerd/perfectionist",
files: [globs.src, vue ? globs.vue : ""],
plugins: { perfectionist: eslintPluginPerfectionist },
settings: { perfectionist: { type: sortType } },
rules: getPerfectionistRules(options)
};
return mergeConfigs(perfectionistConfig, overrides);
}
//#endregion
export { getPerfectionistConfig };