@leancodepl/eslint-config
v10.0.0
Published
ESLint configuration for LeanCode projects
Readme
@leancodepl/eslint-config
ESLint configurations for TypeScript and React projects.
Installation
npm install --save-dev @leancodepl/eslint-config
# or
yarn add --dev @leancodepl/eslint-configAvailable Configurations
base- Core TypeScript rules with sorting and code qualitybaseReact- React-specific rules and JSX formattingimports- Import/export organization and unused import detectiona11y- Accessibility rules for React components
Usage Examples
React TypeScript Project
// eslint.config.js
import { base, baseReact, imports, a11y } from "@leancodepl/eslint-config"
export default [...base, ...baseReact, ...imports, ...a11y]Custom Rules
// eslint.config.js
import { base, baseReact } from "@leancodepl/eslint-config"
export default [
...base,
...baseReact,
{
rules: {
"max-params": ["error", { max: 6 }],
"no-console": "off",
},
},
]Migration from CommonJS to ES Modules
Starting from 10.0.0 version, the package is built as an ES Module. If your ESLint configuration currently uses CommonJS syntax, follow these steps to migrate:
Rename
eslint.config.jstoeslint.config.mjs(if yourpackage.jsondoes not have"type": "module")Convert
requirestatements toimportsyntaxReplace CommonJS variables like
__dirnamewith ES Module equivalents:import { dirname } from "node:path" import { fileURLToPath } from "node:url" const __filename = fileURLToPath(import.meta.url) const __dirname = dirname(__filename) // or const __filename = import.meta.filename const __dirname = import.meta.dirnameIf importing a CommonJS package with named imports fails, import the default export and destructure separately:
import commonjsPackage from "commonjs-package" const { someExport } = commonjsPackage
