UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

41 lines (40 loc) 1.52 kB
import { isEnabled } from "../utils/isEnabled.mjs"; import path from "node:path"; //#region src/rules/importX.ts function getImportXRules(options) { const { packageDir, configs: { typescript } } = options; const isTypescriptEnabled = isEnabled(typescript); return { "import-x/export": isTypescriptEnabled ? "off" : "error", "import-x/no-deprecated": "warn", "import-x/no-empty-named-blocks": "error", "import-x/no-extraneous-dependencies": ["error", { includeTypes: true, packageDir: path.resolve(packageDir) }], "import-x/no-mutable-exports": "error", "import-x/no-named-as-default": "error", "import-x/no-amd": "error", "import-x/no-commonjs": "error", "import-x/no-import-module-exports": "error", "import-x/named": isTypescriptEnabled ? "off" : "error", "import-x/default": isTypescriptEnabled ? "off" : "error", "import-x/namespace": ["error", { allowComputed: true }], "import-x/no-absolute-path": "warn", "import-x/no-cycle": ["error", { maxDepth: 1, ignoreExternal: true }], "import-x/no-self-import": "error", "import-x/no-unresolved": isTypescriptEnabled ? "off" : "error", "import-x/no-useless-path-segments": "error", "import-x/consistent-type-specifier-style": "warn", "import-x/exports-last": "warn", "import-x/first": ["warn", "disable-absolute-first"], "import-x/group-exports": "warn", "import-x/no-duplicates": ["error", { considerQueryString: true }], "import-x/no-named-default": "error" }; } //#endregion export { getImportXRules };