UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

36 lines (33 loc) 1.46 kB
import 'eslint/use-at-your-own-risk'; import { extractSubPlugin } from '../utility/extract-sub-plugin.utility.js'; import { formatConfig } from '../utility/format-config.utility.js'; import { formatPluginName } from '../utility/format-plugin-name.utility.js'; import { formatRuleName } from '../utility/format-rule-name.utility.js'; import nPlugin from 'eslint-plugin-n'; /** * Loads the ESLint configuration for Node.js * @param {IConfigOptions} config - Configuration options * @returns {Array<Linter.Config>} An array of ESLint configurations for Node.js */ function loadConfig(config) { return [ { ...formatConfig([nPlugin.configs["flat/recommended"]])[0], files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], plugins: { [formatPluginName("n")]: nPlugin, [formatPluginName("n/no-unsupported-features")]: extractSubPlugin(nPlugin, "no-unsupported-feature"), }, }, { files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], rules: { [formatRuleName("n/exports-style")]: ["error", "exports"], [formatRuleName("n/no-missing-import")]: "off", [formatRuleName("n/no-process-exit")]: config.withUnicorn ? "off" : "error", // Disable the rule if the Unicorn plugin is enabled. }, }, ]; } export { loadConfig as default }; //# sourceMappingURL=node.js.map