{"id":19515,"library":"eslint-config-facile","title":"Facile.it ESLint Config","description":"A shareable ESLint configuration by Facile.it, currently at v1.0.2. It provides a comprehensive, extensible setup for TypeScript, React, and Node projects, including integration with Prettier. The config uses ESLint's flat config format (v9+ required) and ships with TypeScript type definitions. Notable features: support for Next.js, consistent type imports enforcement, and a modular design allowing project-specific overrides. Active development with frequent updates.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/facile-it/eslint-config-facile","tags":["javascript","typescript","react","eslint","eslintconfig","prettier","extensible","configuration"],"install":[{"cmd":"npm install eslint-config-facile","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-facile","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-facile","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: required to run linting","package":"eslint","optional":false},{"reason":"Peer dependency: used for code formatting","package":"prettier","optional":true},{"reason":"Peer dependency: required for TypeScript rules","package":"typescript","optional":true}],"imports":[{"note":"ESM-only since v1.0.0. Use dynamic import for CommonJS.","wrong":"const config = require('eslint-config-facile')","symbol":"default","correct":"import config from 'eslint-config-facile'"},{"note":"Named export for accessing individual config presets.","symbol":"configs","correct":"import { configs } from 'eslint-config-facile'"},{"note":"React-specific configuration preset.","symbol":"reactConfig","correct":"import { reactConfig } from 'eslint-config-facile'"},{"note":"Next.js-specific configuration preset.","symbol":"nextConfig","correct":"import { nextConfig } from 'eslint-config-facile'"},{"note":"TypeScript type import for the config object.","symbol":"Config","correct":"import type { Config } from 'eslint-config-facile'"}],"quickstart":{"code":"// eslint.config.mjs\nimport config from 'eslint-config-facile';\n\nexport default [\n  ...config,\n  {\n    // Override specific rules\n    rules: {\n      'no-console': 'warn',\n    },\n  },\n];\n","lang":"typescript","description":"Basic setup using flat config with eslint-config-facile, showing import and rule override."},"warnings":[{"fix":"Migrate from .eslintrc.* to eslint.config.mjs using flat config. See migration guide in docs.","message":"ESLint v9 flat config format required since v1.0.0","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Remove .eslintrc.* files and use eslint.config.* with flat config.","message":"Legacy .eslintrc format dropped in v1.0.0","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"If you relied on parserOptions.project, set it manually in your config.","message":"Removed parser project config in v1.0.2 (PR #15)","severity":"breaking","affected_versions":">=1.0.2"},{"fix":"Upgrade to v0.12.0+ to enable the rule, or add it manually.","message":"The `import/no-duplicates` rule was added in v0.12.0; previous versions may not have it","severity":"deprecated","affected_versions":"<0.12.0"},{"fix":"Use dynamic import: const config = (await import('eslint-config-facile')).default;","message":"require() not supported for default export in ESM-only package since v1.0.0","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Rename eslint.config.js to eslint.config.mjs (or use dynamic import).","cause":"Package is ESM-only since v1.0.0, but you're using require() in a CommonJS context.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/eslint-config-facile/index.mjs from /path/eslint.config.js not supported."},{"fix":"Ensure all peer dependencies (eslint, prettier, typescript) are installed, and check rule names for typos.","cause":"Missing plugin dependency or incorrect rule name in override.","error":"ESLint couldn't determine the plugin of rule '__'."},{"fix":"Use numeric severity (0,1,2) or string in flat config (flat config supports strings).","cause":"Using string severity like 'warn' in older ESLint config format.","error":"Configuration for rule 'no-console' is invalid: Severity should be one of the following: 0 = off, 1 = warn, 2 = error."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}