next13-starter
Version:
Start a Next13 Zustand TypeScript project in few second!
137 lines • 3.11 kB
Plain Text
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"import",
"newline",
"prettier"
],
"parserOptions": {
"project": "./tsconfig.json",
"createDefaultProgram": true
},
"env": {
"browser": true,
"node": true,
"es6": true
},
"ignorePatterns": [
"node_modules/"
],
"extends": [
"airbnb-typescript",
"next/core-web-vitals",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended"
],
"rules": {
// 충돌 제거
"consistent-return": "off",
"react/react-in-jsx-scope": "off",
"react/jsx-no-useless-fragment": "off",
"react-hooks/exhaustive-deps": "off",
"react-hooks/rules-of-hooks": "off",
"react/no-children-prop": "off",
"import/no-anonymous-default-export": "off",
"import/no-extraneous-dependencies": "off",
"import/prefer-default-export": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-shadow": "off",
"@typescript-eslint/no-use-before-define": "off",
// 탭 길이 설정
"indent": [
"error",
2,
{
"SwitchCase": 1
}
],
// 세미 콜론
"semi": [
2,
"always"
],
"semi-style": [
"error",
"last"
],
// 파일명 이슈 해결
"react/jsx-filename-extension": [
"warn",
{
"extensions": [
".js",
".ts",
".tsx"
]
}
],
// import 순서
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
"parent",
"sibling",
"index"
],
"pathGroups": [
{
"pattern": "@styles/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@store/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@hooks/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@utils/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@interface/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@constants/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@containers/**",
"group": "internal",
"position": "after"
},
{
"pattern": "@components/**",
"group": "internal",
"position": "after"
}
]
}
],
// 배열,객체,가져오기,내보내기 멀티라인일시 마지막에 콤마
"comma-dangle": [
"error",
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline"
}
]
}
}