{"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,"search_vec":"'activ':63 'allow':58 'comprehens':16 'config':3,30,35 'configur':7,75 'consist':50 'current':10 'definit':44 'design':57 'develop':64 'enforc':53 'eslint':2,6,32,71 'eslintconfig':72 'extens':17,74 'facile.it':1,9 'featur':46 'flat':34 'format':36 'frequent':66 'import':52 'includ':25 'integr':26 'javascript':68 'modular':56 'next.js':49 'node':23 'notabl':45 'overrid':62 'prettier':28,73 'project':24,60 'project-specif':59 'provid':14 'react':21,70 'requir':38 'setup':18 'shareabl':5 'ship':40 'specif':61 'support':47 'type':43,51 'typescript':20,42,69 'updat':67 'use':31 'v1.0.2':12 'v9':37","created_at":"2026-04-25T11:18:12.212736+00:00","updated_at":"2026-04-25T11:18:12.212736+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/facile-it/eslint-config-facile","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-config-facile","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}