내 포매터 린터 일관성 봐줘
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