@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
25 lines (24 loc) • 958 B
JavaScript
import { globs } from "../helpers/globs.mjs";
import { isEnabled } from "../utils/isEnabled.mjs";
import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
import { getHtmlRules } from "../rules/html.mjs";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginUnicorn from "eslint-plugin-unicorn";
import eslintPluginHtml from "@html-eslint/eslint-plugin";
//#region src/configs/html.ts
function getHtmlConfig(options) {
const { html, unicorn } = options.configs;
const { overrides } = isEnabled(html) ? html : defaultOptions.configs.html;
return mergeConfigs({
name: "shayanthenerd/html",
files: [globs.html],
plugins: {
"@html-eslint": eslintPluginHtml,
...isEnabled(unicorn) && { unicorn: eslintPluginUnicorn }
},
languageOptions: { parser: eslintPluginHtml.configs["flat/recommended"].languageOptions.parser },
rules: getHtmlRules(options)
}, overrides);
}
//#endregion
export { getHtmlConfig };