UNPKG

@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
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 };