UNPKG

@shayanthenerd/eslint-config

Version:

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

23 lines (22 loc) 1.18 kB
import { defaultOptions } from "./options/defaultOptions.mjs"; import path from "node:path"; import { styleText } from "node:util"; import { isPackageExists } from "local-pkg"; //#region src/helpers/isPackageDetected.ts const detectedPackages = []; function logDetectedPackages(disabledConfigs) { const nonDisabledDetectedPackages = detectedPackages.filter((packageName) => !disabledConfigs[packageName]); if (nonDisabledDetectedPackages.length > 0) { nonDisabledDetectedPackages.sort(); console.info(`${styleText("green", "✔")} ESLint integrations enabled via dependency detection:`, nonDisabledDetectedPackages.map((packageName) => styleText("blue", packageName)).join(", ")); } } function isPackageDetected(packageName, options) { const { packageDir = defaultOptions.packageDir, autoDetectDeps = defaultOptions.autoDetectDeps } = options; if (autoDetectDeps === false) return false; const isPackageInstalled = isPackageExists(packageName, { paths: [path.resolve(packageDir)] }); if (autoDetectDeps === "verbose" && isPackageInstalled) detectedPackages.push(packageName); return isPackageInstalled; } //#endregion export { isPackageDetected, logDetectedPackages };