Skip to content

Commit

Permalink
Feature: update packages version && loosely coupled rules (#22)
Browse files Browse the repository at this point in the history
* chore: update package versions

* feature: better settings for environments

* fix: eleminiate duplicate rules

* REVERT: package version

* chore: update CHANGELOG

* review: remove base.js

* review: fix rule according to a company rule

* chore: update README

* review: update README
  • Loading branch information
notoriousmango authored Sep 14, 2020
1 parent 1a9fdf1 commit eff9562
Show file tree
Hide file tree
Showing 8 changed files with 361 additions and 145 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
## master
### Changed
- Feature: update packages version && loose coupled rules ([#22](https://github.com/ridi/eslint-config/pull/22))

## v5.0.0 - 2020-07-02
### Changed
Expand Down
61 changes: 41 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,41 +21,58 @@ yarn --dev eslint @ridi/eslint-config

## Usage

#### Default (airbnb based, outdated)

### Javascript
```javascript
{
"extends": "@ridi",
"rules": {
// exceptions
}
module.exports = {
extends: [
'@ridi/eslint-config'
]
}
```

#### Typescript
### @ridi/eslint-config/typescript
> * @typescript-eslint/eslint-plugin
```js
{
"extends": [
"@ridi/eslint-config/typescript",
],

#### Typescript
```javascript
module.exports = {
extends: [
'@ridi/eslint-config',
'@ridi/eslint-config/typescript'
]
}
```
> * @typescript-eslint/eslint-plugin

#### React
### @ridi/eslint-config/react
> * eslint-plugin-import
> * eslint-plugin-jsx-a11y
> * eslint-plugin-react
> * eslint-plugin-react-hooks
#### Javascript + React
```js
{
"extends": [
'@ridi/eslint-config',
"@ridi/eslint-config/react",
],
}
```
> * eslint-plugin-import
> * eslint-plugin-jsx-a11y
> * eslint-plugin-react
> * eslint-plugin-react-hooks


#### Typescript + React
```javascript
module.exports = {
extends: [
'@ridi/eslint-config',
'@ridi/eslint-config/typescript'
'@ridi/eslint-config/react'
]
}
```
### @ridi/eslint-config/prettier
> * eslint-plugin-prettier
#### Prettier

Expand All @@ -64,8 +81,12 @@ works fine with local configuration file (e.g. .prettierrc)
```js
{
"extends": [
'@ridi/eslint-config',
"@ridi/eslint-config/prettier",
],
}
```
> * eslint-plugin-prettier




13 changes: 8 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
module.exports = {
extends: 'airbnb',
env: {
es2020: true,
},
extends: ['eslint:recommended', 'airbnb-base'],
parserOptions: {
ecmaVersion: 11,
sourceType: 'module',
},
rules: {
// 프로퍼티 이름은 camelCase를 강제하지 않음
// 참고: https://github.com/ridi/style-guide/blob/master/API.md#user-content-http-api-작성-가이드
Expand All @@ -13,9 +20,5 @@ module.exports = {

// 문장의 마지막에 존재하는 주석 시작 전에 한 개 이상의 공백을 허용
'no-multi-spaces': ['error', { ignoreEOLComments: true }],

// `<label>` 태그가 컨트롤을 반드시 포함하지 않아도 됨
// 참고: https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-for.md
'jsx-a11y/label-has-for': ['error', { required: 'id' }],
},
};
20 changes: 10 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@
"ridi",
"javascript"
],
"author": "",
"author": "RIDI",
"license": "MIT",
"bugs": {
"url": "https://github.com/ridi/eslint-config/issues"
},
"homepage": "https://github.com/ridi/eslint-config#readme",
"dependencies": {
"@typescript-eslint/parser": "^3.4.0",
"@typescript-eslint/parser": "^4.1.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.3.1",
"eslint": "^7.9.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-prettier": "^6.11.0"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^3.4.0",
"eslint-plugin-babel": "^5.3.0",
"eslint-plugin-import": "^2.21.2",
"@typescript-eslint/eslint-plugin": "^4.1.0",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.20.0",
"eslint-plugin-react-hooks": "^4.0.4",
"prettier": "^2.0.5",
"eslint-plugin-react": "^7.20.6",
"eslint-plugin-react-hooks": "^4.1.2",
"prettier": "^2.1.1",
"react": "^16.13.1",
"typescript": "^3.9.5"
"typescript": "^4.0.2"
},
"peerDependencies": {
"eslint": ">= 3"
Expand Down
1 change: 0 additions & 1 deletion prettier.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
module.exports = {
extends: [
'eslint:recommended',
'prettier',
'prettier/@typescript-eslint',
'prettier/babel',
Expand Down
8 changes: 7 additions & 1 deletion react.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
module.exports = {
extends: [
'eslint:recommended',
'plugin:react/recommended',
'airbnb',
'airbnb/hooks',
],
plugins: ['react'],
parserOptions: {
ecmaFeatures: {
jsx: true,
},
},
rules: {
'react/jsx-filename-extension': ['error', {
extensions: ['.jsx', '.tsx'],
Expand Down
1 change: 0 additions & 1 deletion typescript.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ module.exports = {
'@typescript-eslint',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
Expand Down
Loading

0 comments on commit eff9562

Please sign in to comment.