@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
48 lines (43 loc) • 2.1 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 eslintPluginJsonc = require('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_utility.formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[0],
plugins: {
// @ts-ignore
...formatConfig_utility.formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[0].plugins,
// @ts-ignore
// eslint-disable-next-line @elsikora/typescript/no-unsafe-argument
[formatPluginName_utility.formatPluginName("jsonc/vue-custom-block")]: extractSubPlugin_utility.extractSubPlugin(eslintPluginJsonc.configs["flat/recommended-with-json"][0].plugins.jsonc, "vue-custom-block", "jsonc"),
},
},
{
...formatConfig_utility.formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[1],
},
{
files: ["*.json", "**/*.json", "*.json5", "**/*.json5", "*.jsonc", "**/*.jsonc"],
// @ts-ignore
rules: formatConfig_utility.formatConfig([...eslintPluginJsonc.configs["flat/recommended-with-json"]])[2].rules,
},
{
files: ["*.json", "**/*.json", "*.json5", "**/*.json5", "*.jsonc", "**/*.jsonc"],
ignores: ["**/package.json"],
rules: {
[formatRuleName_utility.formatRuleName("jsonc/sort-keys")]: "error",
},
},
];
}
exports.default = loadConfig;
//# sourceMappingURL=json.js.map