JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 50
  • Score
    100M100P100Q102490F
  • License MIT

Strict, AI-optimized ESLint Flat Config for modern TypeScript projects (v9+, TS, Unicorn, Functional, Security, Sonar, Import, Promise, Regexp, Prettier). Core of all SylphLab TypeScript projects.

Package Exports

  • @sylphlab/eslint-config-sylph

Readme

@sylphlab/eslint-config-sylph

Strict, AI-optimized ESLint Flat Config for modern TypeScript. Extreme code quality, maintainability, and developer/AI efficiency. Core of all SylphLab TypeScript projects.


Philosophy

  • Strictest possible: All critical rules are errors. No compromise.
  • Modern Flat Config: ESLint v9+, TypeScript 5+, ESM, Prettier 3+.
  • AI & developer optimized: Explicit typing, clear naming, strict structure, Prettier formatting.
  • Functional & secure: Immutability, no-throw, security, bug detection, complexity limits.
  • Performance: Static analysis, code splitting, low complexity, short functions/files.

Included Plugins

  • @eslint/js (recommended)
  • @typescript-eslint/eslint-plugin (strict, stylistic)
  • eslint-plugin-unicorn
  • eslint-plugin-functional
  • eslint-plugin-security
  • eslint-plugin-sonarjs
  • eslint-plugin-promise
  • eslint-plugin-regexp
  • eslint-plugin-import-x
  • eslint-config-prettier, eslint-plugin-prettier
  • globals

Install

pnpm add -D @sylphlab/eslint-config-sylph eslint@^9 typescript@^5 prettier@^3
npx install-peerdeps --dev @sylphlab/eslint-config-sylph -p pnpm

Usage

Create eslint.config.ts:

import sylphConfig from '@sylphlab/eslint-config-sylph';

export default [
  ...sylphConfig,
  // project-specific overrides
];

Key Features

  • Flat Config, ESM, type-safe
  • Strictest rules:
    • No any, no unused, explicit return types, strict type imports/exports
    • Immutability, no-throw, no-mutable-exports, strict import order
    • Complexity, max-lines, max-lines-per-function, max-depth, max-params
    • Security, bug detection, promise handling, regex safety
  • Functional programming:
    • Immutability, pure functions, no-throw, no-mixed-types
  • Prettier enforced:
    • All formatting handled by Prettier, no conflicts
  • AI/Developer ergonomics:
    • Explicit, predictable, easy for AI to refactor/extend

Example: Override

export default [
  ...sylphConfig,
  {
    files: ['src/**/*.ts'],
    rules: {
      'no-console': 'off',
      'unicorn/prevent-abbreviations': ['error', { replacements: { props: false, ref: false } }],
    },
  },
  {
    ignores: ['dist/', 'build/', 'coverage/', 'my-custom-ignored-folder/'],
  },
];

See Also