UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

55 lines (50 loc) 3.8 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('eslint/use-at-your-own-risk'); 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 stylistic = require('@stylistic/eslint-plugin'); /** * Loads the ESLint configuration for code style and formatting * @returns {Array<Linter.Config>} An array of ESLint configurations for stylistic rules */ function loadConfig() { return [ { ...formatConfig_utility.formatConfig([stylistic.configs.recommended])[0], plugins: { [formatPluginName_utility.formatPluginName("@stylistic")]: stylistic, }, rules: { [formatRuleName_utility.formatRuleName("@stylistic/brace-style")]: ["error", "1tbs", { allowSingleLine: false }], // Enforce "one true brace style" for consistent brace positioning in control statements and functions, disallowing single-line blocks. [formatRuleName_utility.formatRuleName("@stylistic/comma-spacing")]: "error", // Require a space after commas for improved readability in lists, object literals, etc. [formatRuleName_utility.formatRuleName("@stylistic/function-call-spacing")]: "error", // Enforce no space between the function name and the parentheses when calling a function for consistency. [formatRuleName_utility.formatRuleName("@stylistic/lines-between-class-members")]: "error", // Require an empty line between class members to improve class readability and organization. [formatRuleName_utility.formatRuleName("@stylistic/object-curly-spacing")]: ["error", "always"], // Enforce spacing inside curly braces of objects for better readability. [formatRuleName_utility.formatRuleName("@stylistic/padding-line-between-statements")]: [ "error", { blankLine: "always", next: "switch", prev: "*" }, { blankLine: "always", next: "function", prev: "*" }, { blankLine: "always", next: "return", prev: "*" }, { blankLine: "always", next: "multiline-const", prev: "*" }, { blankLine: "always", next: "multiline-let", prev: "*" }, { blankLine: "always", next: "block", prev: "*" }, { blankLine: "always", next: "block-like", prev: "*" }, { blankLine: "always", next: "class", prev: "*" }, { blankLine: "always", next: "try", prev: "*" }, { blankLine: "always", next: "throw", prev: "*" }, { blankLine: "always", next: "if", prev: "*" }, { blankLine: "always", next: "for", prev: "*" }, { blankLine: "always", next: "default", prev: "*" }, { blankLine: "always", next: "case", prev: "*" }, { blankLine: "always", next: "break", prev: "*" }, ], // Each specifies required blank lines around certain statements to ensure consistent vertical spacing and sectioning of code for readability. [formatRuleName_utility.formatRuleName("@stylistic/space-before-blocks")]: "error", // Require a space before the opening brace of blocks to distinguish blocks from control statements or declarations more clearly. [formatRuleName_utility.formatRuleName("@stylistic/spaced-comment")]: "error", // Enforce consistent spacing after the comment delimiters (// or /*) for readability. }, }, ]; } exports.default = loadConfig; //# sourceMappingURL=stylistic.js.map