Zoe
- No configuration necessary. Just install Zoe and you're ready to go.
- Prettier for formatting and style rules.
- Out-of-the-box support for React and TypeScript.
- Fix issues by running
zoe --fix
. - Includes eslint-plugin-jest, eslint-plugin-unicorn and more.
Installation
Install locally:
yarn add --dev zoe
or globally:
yarn global add zoe
Create an ESLint Config
The Zoe CLI will support React and TypeScript with no configuration. For additional ESLint tooling support, create a .eslintrc
file and extend the configs that you need:
Extend from Zoe to enable all core rules, plugins, and React and TypeScript support
{
"extends": "zoe"
}
Overrides
Zoe uses Prettier's defaults for style and cosmetic rules, and will respect Prettier's various configuration options and files.
Most rules can be overrided normally by adding them to your .eslintrc#rules
:
{
"extends": "zoe",
"rules": {
"no-console": "error"
}
}
Tips
package.json#scripts
Add Zoe to {
"scripts": {
"lint": "zoe",
"lint:fix": "zoe --fix"
}
}
.prettierrc
file to keep Zoe in sync with your Prettier config
Create a Zoe will respect all custom Prettier settings
{
"singleQuote": true
}
.eslintignore
file to make Zoe skip certain paths
Create a **/node_modules/**
lib
build
Badge
Add a Zoe badge to your project:
[![Zoe](https://img.shields.io/badge/linter-zoe-615cfd.svg?longCache=true&style=flat&logo=data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjgxIiB2aWV3Qm94PSIwIDAgNzMgODEiIHdpZHRoPSI3MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEpIj48cGF0aCBkPSJtMzUuMjIgNGMtNS4wODU2MzQ2IDEuMDU0NDU4NzctOS45MTYxNzE4IDMuMDkyNjYwMS0xNC4yMiA2LTQuMTQ3NTUyMyAyLjc4NDgzNTQtNy43MTkzODQ3IDYuMzQzMDg2Ny0xMC41MiAxMC40OC0yLjczODUyMjgzIDQuMDQ0NjM4Ni00LjY2NzQwMzg1IDguNTgxNTg0MS01LjY4IDEzLjM2LS45Nzk0NTQyOSA0LjYyODM0MjQtMS4wNTc1NDU1OSA5LjQwMjA5NzktLjIzIDE0LjA2LjgyOTY4OTQxIDQuNTI5MzE0NyAyLjUyNzUzMjA4IDguODU1NDE3OCA1IDEyLjc0IDIuMzgwNjUwNyAzLjc1NDUyNzEgNS40NjM3MjYyIDcuMDE0MTY2NCA5LjA4IDkuNiAzLjUwMjgxOTYgMi41MDU1NjEzIDcuNDU5NjY2NiA0LjMwNTY3MTkgMTEuNjUgNS4zIDQuMDMyMjQ0OS45NDMwNjg0IDguMjA4NTc4OCAxLjA5OTI1NjUgMTIuMy40NiAzLjk3MDMxNjYtLjU5Mjk5MjYgNy43ODc2NjQ4LTEuOTUxNDc5NiAxMS4yNC00IDMuMzE2NTMwMi0xLjk5MjAwMDQgNi4yMTY0NTYtNC42MDY2ODc2IDguNTQtNy43IDQuNDU1NjczNC01Ljg4NzI5IDYuNDI2NTk5NC0xMy4yODYzNDA0IDUuNDktMjAuNjEtLjg1MTY3NjMtNi43NTQxNzkzLTQuMzI5MzIyOC0xMi45MDExMzUtOS42OC0xNy4xMS00Ljg5MzczMzUtMy44NjI0NTg2LTExLjExNTU3MzItNS42MzQ0Nzg4LTE3LjMxLTQuOTMgNi4yMDA1NzkyLS42ODIxNDUyIDEyLjQxOTM1MDcgMS4xMTUxODc2IDE3LjMgNSA1LjMyMzAzMTMgNC4yMjk4Mzc2IDguNzYyMDYzMyAxMC4zODkxOTA3IDkuNTcgMTcuMTQuODg1MzY5NSA3LjMwNTc2Ny0xLjEzMjcyIDE0LjY2NzEyNTItNS42MiAyMC41LTIuMzMzMTQ0OCAzLjA2NDc4My01LjI0MDU0MiA1LjY0NjExNzEtOC41NiA3LjYtMy40NDYwMjI4IDIuMDIzNTkxMS03LjI1Mzg3MzQgMy4zNTUxNDk5LTExLjIxIDMuOTItNC4wOTA4NTQ3LjU5NDM1MTctOC4yNTgyNjc0LjM4NzE2OTgtMTIuMjctLjYxLTQuMTUwODc0Mi0xLjAzMDUwNjgtOC4wNjA2NTkxLTIuODYxNDEzOS0xMS41MS01LjM5LTMuNTYwMzc3Ny0yLjYwNTUxNDktNi42OTI2NTE3LTUuNDE1NjgzMi05LjAxLTkuMTciIHRyYW5zZm9ybT0ibWF0cml4KC45OTQ1MjE5IC4xMDQ1Mjg0NiAtLjEwNDUyODQ2IC45OTQ1MjE5IDQuMzk4NzkyIC0zLjU0ODA5OCkiLz48cGF0aCBkPSJtNDEuMjggMzkuNjhjMS41Njk0MDM1LS42NzMwMzMxIDMuMzY2NzIwNC0uNTUwMjM1IDQuODMuMzMgMS45NTQzMzEzIDEuMTA5MzgzIDMuMzIyMDI1MyAzLjAyMTk2MDUgMy43NCA1LjIzLjU0NjYyOSAyLjczODg1ODQtLjA3NzAxNTMgNS41ODE1MTYxLTEuNzIgNy44NC0xLjk1MTcxNjUgMi43MzMwOTItNC45NDMwMDg5IDQuNTQxNjEyMi04LjI3IDUtMy44ODIwMDM4LjU2ODA5OTEtNy44Mjg2MDYzLS40NjAwMzc3LTEwLjk0LTIuODUtMy41NzQ2Mjc1LTIuNzI5MzE1Ni01LjkxMzkxOTgtNi43NzA4OTMtNi41LTExLjIzLS42NzkxODcxLTUuMDM4MzY1NC42ODE1NTc2LTEwLjEzOTM1OCAzLjc4LTE0LjE3IDMuNDI4OTExNy00LjQ5NzM1NTMgOS4xOTIwODA1LTcuNDMzMzc0NSAxNC43OTcxNjk5LTguMTg2MTExOS01LjU2OTkyOC43ODEyMTM1LTExLjI5MDg2NDEgMy43MjI4NjUzLTE0LjY4NzE2OTkgOC4yMDYxMTE5LTMuMDYxNzA5MyA0LjAwNDg0NjEtNC40MDA1MzQ2IDkuMDY1MDI5Ni0zLjcyIDE0LjA2LjU3ODczMzMgNC40MDEzNjM0IDIuODg1MDUwNiA4LjM5MTU0NDIgNi40MSAxMS4wOSAzLjA2NjcyNjUgMi4zNDQ2MDQ5IDYuOTUwNjM0NyAzLjM1MDc0MjcgMTAuNzcgMi43OSAzLjI1Mzc4NzQtLjQ0OTI2MjMgNi4xNzc1ODI2LTIuMjIyMzU2IDguMDgtNC45IDEuNTg5MzMxNi0yLjE5MDc1MjEgMi4xNzc4MjA3LTQuOTUxNTY1NSAxLjYyLTcuNi0uNDA0MTkzNi0yLjEzMDE3My0xLjc0NDI5Ni0zLjk2NTkyOTctMy42NS01LTEuMzkwNTYzLS44MDkyODctMy40OTI4MDg0LS44MDAwOTc2LTQuOTQtLjA5NzA3MDEiIHRyYW5zZm9ybT0ibWF0cml4KC45OTQ1MjE5IC4xMDQ1Mjg0NiAtLjEwNDUyODQ2IC45OTQ1MjE5IDQuMzcyNzE2IC0zLjU1OTUyMikiLz48L2c+PC9zdmc+)](https://github.com/jorgegonzalez/zoe)