@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
24 lines (22 loc) • 1.03 kB
JavaScript
import { globs } from "../utils/globs.js";
import { isEnabled } from "../utils/isEnabled.js";
import { defaultOptions } from "../utils/options/defaultOptions.js";
import { getImportXRules } from "../rules/importX.js";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginImportX from "eslint-plugin-import-x";
import eslintPluginUnusedImports from "eslint-plugin-unused-imports";
//#region src/configs/importX.ts
function getImportXConfig(options) {
const { vue, importX, typescript } = options.configs;
const { overrides } = isEnabled(importX) ? importX : defaultOptions.configs.importX;
const importXConfig = {
name: "shayanthenerd/import-x",
files: [globs.src, vue ? globs.vue : ""],
extends: [eslintPluginImportX.flatConfigs.recommended, typescript ? eslintPluginImportX.flatConfigs.typescript : {}],
plugins: { "unused-imports": eslintPluginUnusedImports },
rules: getImportXRules(options)
};
return mergeConfigs(importXConfig, overrides);
}
//#endregion
export { getImportXConfig };