@versett/eslint-plugin-versett v0.20.0
eslint-plugin-versett
This plugin will help us maintain our code base to be cleaner and consistent among different projects. Please read the guidelines below for both usage and development. You can find more info on eslint here.
Usage
Installation
yarn add --dev @versett/eslint-plugin-versettor
npm install --save-dev @versett/eslint-plugin-versettYou must be logged in to you Versett npm account first using npm login.
Peer Dependecies
You have to install the following peer dependencies directly in your project for now by this command:
yarn add --dev eslint babel-eslint eslint-plugin-jest eslint-plugin-import eslint-config-prettier eslint-plugin-prettier eslint-plugin-react-hooksor
npm install --save-dev eslint babel-eslint eslint-plugin-jest eslint-plugin-import eslint-config-prettier eslint-plugin-prettier eslint-plugin-react-hooksThis command will no longer be needed after the issue with eslint shareable config plugins is resolved. You can refer to this RFC for more information.
React Project Peer Dependencies
If you are using React, you need to install the following dependencies as well:yarn add --dev eslint-plugin-react eslint-plugin-jsx-a11y
(or npm install --save-dev eslint-plugin-react eslint-plugin-jsx-a11y)
Typescript Project Peer Dependencies
If you are using Typescript, you need to install the following dependencies as well:yarn add --dev @typescript-eslint/parser @typescript-eslint/eslint-plugin
(or npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin)
Notes:
- It is important that you use the same version number for
@typescript-eslint/parserand@typescript-eslint/eslint-plugin. tsconfig.jsonmust be in the root of the project.
Configuration
Each Versett configuration helps you start linting a project by just using the preconfigured setup. Currently there are 4 types of configurations available as below:
plugin:@versett/eslint-plugin-versett/jsNode- for Node projects using Javascriptplugin:@versett/eslint-plugin-versett/jsReact- for React projects using Javascriptplugin:@versett/eslint-plugin-versett/tsNode- for Node projects using Typescriptplugin:@versett/eslint-plugin-versett/tsReact- for React projects using Typescriptplugin:@versett/eslint-plugin-versett/jsStandalone- for standalone Javascript projects
Here is a sample Eslint config file (project-directory/.eslintrc.json):
{
"plugins": [
"@versett/eslint-plugin-versett"
],
"extends": [
"plugin:@versett/eslint-plugin-versett/jsReact"
]
}We strongly recommend against overriding the rules configured by this plugin. If you believe you have a good reason for overriding a rule, please create an issue on this repository and post it on the #developers channel on Slack. If the team agrees, we will change the rule in the plugin so all projects can benefit from it.
Running
Add the following script to your package.json and then run it using yarn lint (or npm run lint):
"lint": "eslint src --ext .js,.tsx"(you can change the --ext flag to the file extensions you use in your project)
Development
To get started on development run these commands:
nvm use
yarnFor testing purposes you can use yarn link (or npm link):
cd eslint-plugin-versett
yarn linkthen
cd my-project
yarn link @versett/eslint-plugin-versettAfter that, a symbolic link is added to node_modules of the project directory.
Dependencies
There are multiple eslint plugins we have used which are listed below.
please refer to their repos for rules and configurations.
Contributing
Please read the contributing guide for details on our process for submitting pull requests.
Need help?
Open an issue, we're happy to chat!
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago