0.3.6 • Published 10 months ago

@youngjuning/eslint-config v0.3.6

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@youngjuning/eslint-config

a powerful esLint config based on airbnb

Please remove your eslint、prettier plugin first. All in @youngjuning/eslint-config

Prettier

Dependencies:

$ yarn add @youngjuning/prettier-config -D

Config:

// .prettierrc.js
module.exports = require('@youngjuning/prettier-config');

Base

support .js、.ts

Dependencies:

$ yarn add -D @youngjuning/eslint-config

Config:

// .eslintrc.js
module.exports = {
  extends: ['@youngjuning/eslint-config']
}

React

support .js、.ts、.jsx、.tsx、.html

Dependencies:

$ yarn add -D eslint-plugin-react \
  eslint-plugin-react-hooks \
  eslint-plugin-jsx-a11y \
  eslint-plugin-import

Config:

// .eslintrc.js
module.exports = {
  extends: ['@youngjuning/eslint-config/react']
}

React Native

support .js、.ts、.jsx、.tsx

Dependencies:

$ yarn add -D eslint-plugin-react \
  eslint-plugin-react-hooks \
  eslint-plugin-jsx-a11y \
  eslint-plugin-import \
  eslint-plugin-react-native

Config:

// .eslintrc.js
module.exports = {
  extends: ['@youngjuning/eslint-config/react-native']
}

Vue

support .js、.ts、.vue

Dependencies:

$ yarn add -D @vue/cli-service eslint-plugin-vue @vue/eslint-config-airbnb

Config:

// .eslintrc.js
module.exports = {
  extends: ['@youngjuning/eslint-config/vue']
}

miniprogram

support .js、.ts

Config:

// .eslintrc.js
module.exports = {
  extends: ['@youngjuning/eslint-config/miniprogram']
}

html

support .js、.ts、.html

Dependencies:

$ yarn add -D eslint-plugin-html

Config:

// .eslintrc.js
module.exports = {
  extends: [...,'@youngjuning/eslint-config/html']
}

More Config

.eslintignore

!.eslintrc.js
!.prettierrc.js

.editorconfig

# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.gradle]
indent_size = 4

[BUCK]
indent_size = 4

husky & lint-staged

$ yarn add -D husky lint-staged
{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "**/*.{js,jsx,ts,tsx}": [
      "eslint --fix",
      "git add"
    ],
    // you can add wxml/html...
    "**/*.{less,md,json}": [
      "prettier --write",
      "git add"
    ]
  },
}

vscode eslint 配置

禁用 formatOnSave,开启 source.fixAll.eslint

{
  "editor.formatOnSave": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  // 建议直接删掉 Prettier 插件
  "prettier.disableLanguages": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "vue"
  ],
}

git autocrlf

为了解决换行符冲突的问题,强烈建议设置 core.autocrlfinput。为什么这么做请读一下 Git 多平台换行符问题(LF or CRLF)

$ git config --global core.autocrlf input

Related repos

0.3.0

10 months ago

0.3.6

10 months ago

0.3.5

10 months ago

0.3.2

10 months ago

0.3.1

10 months ago

0.3.4

10 months ago

0.3.3

10 months ago

1.4.0

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

0.0.0

5 years ago