@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
40 lines (35 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
require('eslint/use-at-your-own-risk');
var extractSubPlugin_utility = require('../utility/extract-sub-plugin.utility.js');
var formatConfig_utility = require('../utility/format-config.utility.js');
var formatPluginName_utility = require('../utility/format-plugin-name.utility.js');
var formatRuleName_utility = require('../utility/format-rule-name.utility.js');
var nPlugin = require('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_utility.formatConfig([nPlugin.configs["flat/recommended"]])[0],
files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"],
plugins: {
[formatPluginName_utility.formatPluginName("n")]: nPlugin,
[formatPluginName_utility.formatPluginName("n/no-unsupported-features")]: extractSubPlugin_utility.extractSubPlugin(nPlugin, "no-unsupported-feature"),
},
},
{
files: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"],
rules: {
[formatRuleName_utility.formatRuleName("n/exports-style")]: ["error", "exports"],
[formatRuleName_utility.formatRuleName("n/no-missing-import")]: "off",
[formatRuleName_utility.formatRuleName("n/no-process-exit")]: config.withUnicorn ? "off" : "error", // Disable the rule if the Unicorn plugin is enabled.
},
},
];
}
exports.default = loadConfig;
//# sourceMappingURL=node.js.map