UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

44 lines (41 loc) 1.83 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 eslintPluginJsonc from 'eslint-plugin-jsonc'; /** * Loads the ESLint configuration for JSON files * @returns {Array<Linter.Config>} An array of ESLint configurations for JSON */ function loadConfig() { return [ { ...formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[0], plugins: { // @ts-ignore ...formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[0].plugins, // @ts-ignore [formatPluginName("jsonc/vue-custom-block")]: extractSubPlugin(eslintPluginJsonc.configs["flat/recommended-with-json"][0].plugins.jsonc, "vue-custom-block", "jsonc"), }, }, { ...formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[1], }, { files: ["*.json", "**/*.json", "*.json5", "**/*.json5", "*.jsonc", "**/*.jsonc"], // @ts-ignore // eslint-disable-next-line @elsikora/typescript/no-magic-numbers rules: formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[2].rules, }, { files: ["*.json", "**/*.json", "*.json5", "**/*.json5", "*.jsonc", "**/*.jsonc"], ignores: ["**/package.json"], rules: { [formatRuleName("jsonc/sort-keys")]: "error", }, }, ]; } export { loadConfig as default }; //# sourceMappingURL=json.js.map