포매터, 린터 config

지인·2024년 9월 5일
0

내 포매터 린터 일관성 봐줘

eslint

{
  "root": true,
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:react-hooks/recommended",
    "plugin:@typescript-eslint/recommended",
    "next/core-web-vitals",
    "standard",
    "prettier"
  ],
  "settings": {
    "react": {
      "version": "detect"
    },
    "import/resolver": {
      "node": {
        "paths": ["src"]
      }
    }
  },
  "env": {
    "browser": true,
    "es2023": true,
    "node": true
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": ["./tsconfig.json"],
    "ecmaVersion": 2023,
    "ecmaFeatures": {
      "jsx": true
    },
    "sourceType": "module"
  },
  "plugins": ["@typescript-eslint", "react"],
  "overrides": [
    {
      "files": ["src/**/*.{ts,tsx}"],
      "rules": {
        "semi": ["warn", "never"],
        "react/jsx-uses-vars": "error",
        "react/jsx-key": "error",
        "react/prop-types": "off",
        "@typescript-eslint/strict-boolean-expressions": "off",
        "@typescript-eslint/no-explicit-any": "warn"
      }
    }
  ]
}

prettier

{
  "trailingComma": "all",
  "tabWidth": 2,
  "endOfLine": "lf",
  "arrowParens": "always",
  "singleQuote": true,
  "semi": false,
  "plugins": ["@trivago/prettier-plugin-sort-imports"],
  "importOrder": [
    "^@utils/(.*)$",
    "^@apis/(.*)$",
    "^@hooks/(.*)$",
    "^@recoils/(.*)$",
    "^@pages/(.*)$",
    "^@base/(.*)$",
    "^@common/(.*)$",
    "^@components/(.*)$",
    "^@styles/(.*)$",
    "^[./]"
  ],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true
}

stylelint

{
  "extends": ["stylelint-config-standard", "stylelint-config-recommended-scss", "stylelint-prettier/recommended"],
  "plugins": ["stylelint-scss", "stylelint-prettier"],
  "rules": {
    "prettier/prettier": true,
    "scss/at-rule-no-unknown": [
      true,
      {
        "ignoreAtRules": ["extend", "include", "mixin"]
      }
    ]
  }
}

editorconfig

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 120
tab_width = 2

[{*.ats,*.cts,*.mts,*.ts}]
indent_size = 2
tab_width = 2

[{*.cjs,*.js}]
indent_size = 2
tab_width = 2

[{*.har,*.jsb2,*.jsb3,*.json,*.jsonc,*.postman_collection,*.postman_environment,.babelrc,.eslintrc,.prettierrc,.stylelintrc,.ws-context,jest.config}]
indent_size = 2

[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
indent_size = 2
tab_width = 2

[{*.http,*.rest}]
indent_size = 0

0개의 댓글