A comprehensive, industry-standard linting and formatting configuration package for JavaScript, TypeScript and React projects.
- ✅ Ready-to-use ESLint configurations for React and TypeScript
- ✅ Support for ESLint v9's new flat config system
- ✅ Prettier configuration for consistent formatting
- ✅ Accessibility rules included via jsx-a11y
- ✅ Import sorting and organization
- ✅ TypeScript type definitions
# npm
npm install --save-dev @bytecrate/eslint-config
# yarn
yarn add --dev @bytecrate/eslint-config# npm
npm install --save-dev eslint prettier @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks globals
# yarn
yarn add --dev eslint prettier @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks globalsCreate an eslint.config.js OR eslint.config.mjs file in your project root:
import eslintConfig from "@bytecrate/eslint-config";
export default eslintConfig.eslint.general;import eslintConfig from "@bytecrate/eslint-config";
export default eslintConfig.eslint.typescript;import eslintConfig from "@bytecrate/eslint-config";
export default eslintConfig.eslint.react;Create a prettier.config.js file in your project root:
module.exports = require("@bytecrate/eslint-config").prettier;Add these scripts to your package.json:
{
"scripts": {
"lint": "eslint src --ext .js,.jsx,.ts,.tsx",
"lint:fix": "eslint src --ext .js,.jsx,.ts,.tsx --fix",
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\""
}
}The JavaScript configuration provides essential rules for JavaScript projects, including:
- General best practices
- Import organization
The TypeScript configuration builds on the JavaScript rules and adds:
- TypeScript recommended rules
- Import organization specific to TypeScript
The React configuration builds on the TypeScript rules and adds:
- Essential React and React Hooks rules
- Accessibility guidelines
You can extend or override any of the provided rules in your project's ESLint configuration:
import eslintConfig from "@bytecrate/eslint-config";
// Create a copy of the general config
const config = [...eslintConfig.eslint.general];
// Add your own configuration
config.push({
rules: {
// Your custom rules here
"no-console": "off",
},
});
export default config;MIT