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
- No
- 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
- Monorepo README for full philosophy, structure, and all configs.