ratifire / devrate-web

0 stars 0 forks source link

Configure husky #825

Open VladimirShaitan opened 1 month ago

VladimirShaitan commented 1 month ago

Треба налаштувати husky хуки на прекоміт котрі будуть:

  1. Запускати prettier fix
  2. Запускати eslint fix

Не давати робити push поки проблеми не будуть виправлені

VladimirShaitan commented 3 days ago

Привіт @BhdnS

ESLINT

npm install eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks --save-dev

.eslintrc

{
  "extends": ["airbnb"],
  "env": {
    "browser": true,
    "es2021": true,
    "node": true
  },
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "rules": {
    "react/jsx-props-no-spreading": "off",
    "react/jsx-filename-extension": [
      "warn",
      { "extensions": [".jsx", ".js"] }
    ],
    "import/prefer-default-export": "off"
  }
}

.eslintignore

node_modules/
build/
dist/

PRETTIER

npm install --save-dev prettier eslint-config-prettier eslint-plugin-prettier

Інтеграція з eslint Треба оновити .eslintrc

{
  "extends": [
    "airbnb",
    "plugin:prettier/recommended"
  ],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error",
    "react/react-in-jsx-scope": "off",
    "react/jsx-props-no-spreading": "off",
    "import/prefer-default-export": "off"
  }
}

.prettierrc

{
  "singleQuote": true,
  "trailingComma": "es5",
  "arrowParens": "always",
  "printWidth": 80
}

.prettierignore

node_modules/
build/
dist/
BhdnS commented 2 days ago

@VladimirShaitan 'react/jsx-filename-extension': ['warn', { extensions: ['.jsx', '.js'] }], Я думаю лучше убрать это правило, файлы с JSX должны быть с расширением jsx "printWidth": 80 - тоже довольно мало.

Там пул реквест обновил