Facile.it ESLint Config

raw JSON →
1.0.2 verified Sat Apr 25 auth: no javascript

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.

error Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/eslint-config-facile/index.mjs from /path/eslint.config.js not supported.
cause Package is ESM-only since v1.0.0, but you're using require() in a CommonJS context.
fix
Rename eslint.config.js to eslint.config.mjs (or use dynamic import).
error ESLint couldn't determine the plugin of rule '__'.
cause Missing plugin dependency or incorrect rule name in override.
fix
Ensure all peer dependencies (eslint, prettier, typescript) are installed, and check rule names for typos.
error Configuration for rule 'no-console' is invalid: Severity should be one of the following: 0 = off, 1 = warn, 2 = error.
cause Using string severity like 'warn' in older ESLint config format.
fix
Use numeric severity (0,1,2) or string in flat config (flat config supports strings).
breaking ESLint v9 flat config format required since v1.0.0
fix Migrate from .eslintrc.* to eslint.config.mjs using flat config. See migration guide in docs.
breaking Legacy .eslintrc format dropped in v1.0.0
fix Remove .eslintrc.* files and use eslint.config.* with flat config.
breaking Removed parser project config in v1.0.2 (PR #15)
fix If you relied on parserOptions.project, set it manually in your config.
deprecated The `import/no-duplicates` rule was added in v0.12.0; previous versions may not have it
fix Upgrade to v0.12.0+ to enable the rule, or add it manually.
gotcha require() not supported for default export in ESM-only package since v1.0.0
fix Use dynamic import: const config = (await import('eslint-config-facile')).default;
npm install eslint-config-facile
yarn add eslint-config-facile
pnpm add eslint-config-facile

Basic setup using flat config with eslint-config-facile, showing import and rule override.

// eslint.config.mjs
import config from 'eslint-config-facile';

export default [
  ...config,
  {
    // Override specific rules
    rules: {
      'no-console': 'warn',
    },
  },
];