프로젝트 기술
- Typescript
- Storybook
- Context API ⇒ 전역 상태가 많아지면 한번 더 논의
- React-query
- Design Framework ⇒ mui
Eslint
// rules 'prettier/prettier': 0, // 선언만 하고 사용 안한 변수 경고 'no-unused-vars': 1, // 콘솔 경고 'no-console': 1, // import 확장자 off 'import/extensions': [0], // import ts 관련 'import/no-unresolved': 0, // 1개만 export 할때 에러 => 경고 'import/prefer-default-export': 1, // jsx문법은 jsx파일에서만 사용해야 한다는 에러 => tsx 허용 'react/jsx-filename-extension': ['error', { extensions: ['.tsx'] }], // 삼항 연산자 금지 => 무시해서 허용 'no-nested-ternary': 0, // storybook overrides: [ { files: ['.stories.js', '.stories.jsx', '.stories.ts', '.stories.tsx'], rules: { 'react/jsx-props-no-spreading': 0, }, }, ],
airbnb, standard 등 유명 lint를 하나 정하고, 각자 필요한 rule 추가 예정
Eslint 수정 제안
rules: { // 기존에 그냥 'off' "import/extensions": [ "error", "ignorePackages", { ts: "never", tsx: "never", }, ], // 화살표 함수, 함수 선언, 함수 표현 등 컴포넌트 선언 코드를 통일할 수 있음 "react/function-component-definition": [ 2, { namedComponents: "arrow-function" }, ], } /* 기존의 'import/no-unresolved': 0를 제거하고 'npm i -D eslint-import-resolver-typescript' 설치 후 아래와 같이 셋팅하면 관련 에러가 발생하지 않습니다 */ settings: { "import/resolver": { typescript: {}, }, },