UNPKG

@sylphlab/eslint-config-sylph

Version:

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.

99 lines (74 loc) 2.46 kB
# @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 ```bash 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`: ```typescript 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 ```typescript 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](../../README.md) for full philosophy, structure, and all configs.