This includes the Eslint configuration used in atom-ide-community.
npm install --save-dev eslint-config-atomic
You should have the peer dependencies.
If using npm
, the bundled Eslint, TypeScript, Babel, etc is hoisted automatically.
If using pnpm
, either add the following to your .npmrc
to hoist the prettier bundled with the config
public-hoist-pattern[]=*
Or install these yourself in your devDependencies
.
pnpm install -save-dev eslint typescript @babel/core
Create a .eslintrc.json
file at the root of the project with the following content:
{
"extends": "eslint-config-atomic",
"ignorePatterns": ["dist/", "node_modules/"]
}
ignorePatterns
is the Eslint ignore paths.
Add a lint script to your package.json
:
"lint": "eslint . --fix"
- strict:
You can instead use the
strict
version which throws errors instead of warning:
{
"extends": "eslint-config-atomic/strict",
"ignorePatterns": ["dist/", "node_modules/"]
}
- solid:
You can instead use the
solid
version which throws errors instead of warning:
{
"extends": "eslint-config-atomic/solid",
"ignorePatterns": ["dist/", "node_modules/"]
}
- strict-solid: Same as the solid version but it is strict:
{
"extends": "eslint-config-atomic/strict-solid",
"ignorePatterns": ["dist/", "node_modules/"]
}
- react:
It supports react using
eslint-plugin-react
.
{
"extends": "eslint-config-atomic/react",
"ignorePatterns": ["dist/", "node_modules/"]
}
- strict-react: Same as the react version but it is strict:
{
"extends": "eslint-config-atomic/strict-react",
"ignorePatterns": ["dist/", "node_modules/"]
}
This configuration lints JavaScript, TypeScript, CoffeeScript, JSON, and YAML.
The list of used plugins and dependencies:
"@typescript-eslint/eslint-plugin": "^4.14.2",
"@typescript-eslint/parser": "^4.14.2",
"eslint-plugin-coffee": "^0.1.13",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-json": "^2.1.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-only-warn": "^1.0.2",
"eslint-plugin-optimize-regex": "^1.2.0",
"eslint-config-prettier": "^7.2.0",
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-yaml": "^0.3.0",
"prettier": "^2",
"typescript": "^4",
"coffeescript": "^1",
"@babel/core": "^7",
"@babel/eslint-parser": "^7.13.14",