@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
21 lines (20 loc) • 916 B
JavaScript
import { globs } from "../helpers/globs.mjs";
import { isEnabled } from "../utils/isEnabled.mjs";
import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
import { getPackageJsonRules } from "../rules/packageJson.mjs";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginPackageJson from "eslint-plugin-package-json";
//#region src/configs/packageJson.ts
function getPackageJsonConfig(options) {
const { packageJson } = options.configs;
const { overrides } = isEnabled(packageJson) ? packageJson : defaultOptions.configs.packageJson;
return mergeConfigs({
name: "shayanthenerd/package-json",
files: [globs.packageJson],
plugins: { "package-json": eslintPluginPackageJson },
languageOptions: { parser: eslintPluginPackageJson.configs.recommended.languageOptions.parser },
rules: getPackageJsonRules()
}, overrides);
}
//#endregion
export { getPackageJsonConfig };