eslint-config-anurag
v1.0.1
Published
Shareable ESLint configuration for React Native projects with TypeScript
Maintainers
Readme
eslint-config
A shareable ESLint configuration for React Native projects with TypeScript, designed to provide consistent code quality and style across multiple repositories.
Features
- React Native support with Expo configuration
- TypeScript linting with recommended rules
- Jest testing framework support
- Accessibility rules for inclusive app development
- Prettier integration for consistent formatting
- Import sorting for clean, organized imports
- Customizable rules for different file types
Installation
npm install --save-dev eslint-config-anurag eslintOr with yarn:
yarn add --dev eslint-config-anurag eslintUsage
Add the configuration to your .eslintrc.js file:
module.exports = {
extends: ['eslint-config-anurag'],
// Add any project-specific overrides here
};Or in your package.json:
{
"eslintConfig": {
"extends": ["eslint-config-anurag"]
}
}What's Included
This configuration extends and configures the following ESLint plugins and configurations:
Base configurations:
expo- Expo-specific React Native rulesprettier- Prettier integration
Plugin configurations:
@typescript-eslint/recommended- TypeScript lintingreact-hooks/recommended- React Hooks best practicesreact-native-a11y/all- Accessibility rules for React Nativeeslint-comments/recommended- ESLint directive commentsprettier/recommended- Prettier formatting rulesjest/recommended- Jest testing best practices
Additional plugins:
simple-import-sort- Automatic import sortingjest- Jest-specific linting rules
Customization
You can override any rules in your local ESLint configuration:
module.exports = {
extends: ['eslint-config-anurag'],
rules: {
// Override specific rules for your project
'max-lines': ['error', { max: 500 }],
'@typescript-eslint/no-explicit-any': 'error',
},
};File-specific Rules
The configuration includes special rules for:
- Test files (
*.test.tsx,jest-setup.js): Relaxed rules for testing - Mock data files (
**mock-data.ts): Disabled line limits
Development
To contribute to this configuration:
- Clone the repository
- Install dependencies:
npm install - Make your changes to
index.js - Test with a sample project
- Submit a pull request
Publishing
To publish a new version:
npm version patch # or minor/major
npm publishLicense
MIT
