UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

40 lines (38 loc) 1.79 kB
import { defaultOptions } from "./defaultOptions.js"; import { isPackageDetected, logDetectedPackages } from "../isPackageDetected.js"; //#region src/utils/options/enableDetectedConfigs.ts function enableDetectedConfigs(options) { options.configs ??= {}; options.configs.test ??= {}; options.configs.html ??= false; options.configs.css ??= false; options.configs.tailwind ??= false; options.configs.importX ??= true; options.configs.stylistic ??= true; options.configs.perfectionist ??= true; options.configs.vue ??= isPackageDetected("vue", options); options.configs.nuxt ??= isPackageDetected("nuxt", options); options.configs.typescript ??= isPackageDetected("typescript", options); options.configs.test.vitest ??= isPackageDetected("vitest", options); options.configs.test.cypress ??= isPackageDetected("cypress", options); options.configs.test.storybook ??= isPackageDetected("storybook", options); options.configs.test.playwright ??= isPackageDetected("@playwright/test", options); options.configs.oxlint ??= isPackageDetected("oxlint", options) ? defaultOptions.configs.oxlint : false; options.tsConfig ??= options.configs.typescript ? { rootDir: ".", filename: "tsconfig.json" } : false; if (options.configs.typescript && options.configs.vue) { options.configs.vue = options.configs.vue === true ? {} : options.configs.vue; options.configs.vue.blockLang = { script: "ts" }; } if (options.configs.nuxt) { if (options.configs.nuxt === true) options.configs.nuxt = {}; options.configs.nuxt.ui ??= isPackageDetected("@nuxt/ui", options); options.configs.nuxt.image ??= isPackageDetected("@nuxt/image", options); } if (options.autoDetectDeps === "verbose") logDetectedPackages(); return options; } //#endregion export { enableDetectedConfigs };