An ESLint multipurpose config collection.
Includes...
- GitIgnore Integration: Automatically respects your project's .gitignore file
- Modern JavaScript Support: Configured for ES6+ syntax
- Unicorn Rules: Modern best-practices from eslint-plugin-unicorn
- Stylistic Rules: Comprehensive code formatting with @stylistic plugin
- Accessibility: Includes JSX accessibility rules when using the React configuration
- TypeScript Type Definitions: Type definitions for consuming the toolkit
And configuration for...
- Base Configuration: Core JavaScript rules for any project
- Node.js Configuration: Specific rules for Node.js projects
- React Configuration: Specific rules for React projects
- JSON Configuration: Specific rules for JSON files
- Jest Configuration: Specific rules for Jest testing
The basic requirements:
Toolkit has one required peer dependency:
- eslint: The core ESLint package (>=9)
# Using npm
npm install --save-dev @cdcabrera/eslint-config-toolkit eslint
# Using yarn
yarn add --dev @cdcabrera/eslint-config-toolkit eslint
# Using pnpm
pnpm add --save-dev @cdcabrera/eslint-config-toolkit eslint
This section will guide you through setting up ESLint with this toolkit in your project.
Create an eslint.config.js
file in your project root:
Note: ESLint supports multiple configuration file formats including
.js
,.mjs
,.cjs
, and TypeScript variants. See ESLint documentation for details.
// eslint.config.js
import toolkit from '@cdcabrera/eslint-config-toolkit';
// Choose the configuration that best fits your project
export default toolkit.base; // For basic JavaScript projects
// OR
export default toolkit.node; // For Node.js projects
// OR
export default toolkit.react; // For React projects
Add these scripts to your package.json
:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}
Run ESLint to check your code:
npm run lint
Or automatically fix issues where possible:
npm run lint:fix
You can combine multiple configurations for more complex projects:
// eslint.config.js
import toolkit from '@cdcabrera/eslint-config-toolkit';
export default [
...toolkit.base,
...toolkit.jest, // Add Jest configuration for test files
{
// Add your custom overrides
rules: {
'no-console': 'warn',
}
}
];
For more configuration options, detailed examples, and advanced usage, see the Configuration Details and Advanced Usage sections in DOCS.md.
If you prefer to use Prettier for formatting, see the Prettier Integration section in DOCS.md for detailed instructions.
If you're using the legacy ESLint configuration format, see the Legacy Configuration section in DOCS.md for detailed examples.
For comprehensive usage and in-depth explanations for each configuration, including advanced usage examples, see DOCS.md.
Contributing? Guidelines can be found here CONTRIBUTING.md.
If you're using an AI assistant to help with development in this repository, please prompt it to > review the repo guidelines
first to ensure it follows the project's conventions and best practices.
Guidelines for user, agent, interaction can be found in CONTRIBUTING.md.