@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
29 lines (28 loc) • 1.01 kB
JavaScript
import { globs } from "../helpers/globs.mjs";
import { isEnabled } from "../utils/isEnabled.mjs";
import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
import { getMarkdownRules } from "../rules/markdown.mjs";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginUnicorn from "eslint-plugin-unicorn";
import eslintPluginMarkdown from "@eslint/markdown";
//#region src/configs/markdown.ts
function getMarkdownConfig(options) {
const { unicorn, markdown } = options.configs;
const { language, frontmatter, overrides } = isEnabled(markdown) ? markdown : defaultOptions.configs.markdown;
return mergeConfigs({
name: "shayanthenerd/markdown",
files: [globs.markdown],
plugins: {
markdown: eslintPluginMarkdown,
...isEnabled(unicorn) && { unicorn: eslintPluginUnicorn }
},
language: `markdown/${language}`,
languageOptions: {
math: true,
frontmatter
},
rules: getMarkdownRules(options)
}, overrides);
}
//#endregion
export { getMarkdownConfig };