Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b2e37bd
reset
hanseulhee Oct 10, 2023
6f8bbb0
Merge branch 'codeit-bootcamp-frontend:main' into main
hanseulhee Oct 10, 2023
e11e25f
fix: 머지 후 브랜치 삭제 github action 수정
hanseulhee Oct 10, 2023
212e864
env: workflows 폴더로 이동
hanseulhee Oct 10, 2023
4dc5dd0
Merge pull request #237 from hanseulhee/fix-github-actions
withyj-codeit Nov 6, 2023
1a8bc2f
initail commit
626-ju Jun 13, 2025
dbce609
style(global): eslint 및 프리티어 추가 + 포멧팅 수정
626-ju Jun 13, 2025
0d69271
styles(Item): css모듈 클래스 이름 간소화
626-ju Jun 14, 2025
26c5160
Merge branch 'codeit-bootcamp-frontend:main' into React-김성주-sprint6
626-ju Jun 15, 2025
26bcca0
chore(AddItem): css 나누기
Jun 15, 2025
dc15bca
style(global): 포멧팅 수정)
Jun 15, 2025
7c2de2b
refactor(AddItem): tagList 프롭으로 내려주기, useAddItem커스텀 훅 useAddItemFor…
626-ju Jun 16, 2025
212e2c0
fix(AddImageField): 같은 사진 올렸을 때 onChange발생하게 수정
626-ju Jun 16, 2025
b64f8e4
fix(AddImageField): 이미지 삭제 시 에러 문구도 같이 사라지게
626-ju Jun 16, 2025
7f8b35f
refactor(AddImageField): useEffect안에서 set하는 것보다 핸들러에 넣는 게 나을듯
626-ju Jun 16, 2025
5aa6209
feat(Skeleton): suspense사용해보기
626-ju Jun 16, 2025
9af7c46
style(global): 쌍따옴표 홑따옴표로 변경
626-ju Jun 16, 2025
936b468
fix(AddItem): AddDescriptionField, AddImageField css 수정"
626-ju Jun 16, 2025
be47113
fix(Navigation): addItem도 중고마켓에 파란색으로
626-ju Jun 16, 2025
9c63ff5
fix(Header): css 수정
626-ju Jun 16, 2025
8890b7f
refactor(mentor): 메모 다 지우기
626-ju Jun 17, 2025
164a1bf
refactor(mentor): usePagination 훅 내부 불필요한 useMemo제거
626-ju Jun 17, 2025
bc6bb77
refactor(mentor): useLoadItems훅 내부 loadFail 이름 loadFiled로 변경+초기값도 문자열…
626-ju Jun 17, 2025
e296dc6
fix(useLoadItem): loadFailed 초기 값 수정
Jun 18, 2025
f8cd974
refactor(mentor): useSelector패턴 사용하기
Jun 18, 2025
cb251e0
refactor(addItem): addItemStore내부 useAddItemStore로 이름 변경
Jun 19, 2025
3fb15c6
refactor: 미션 1-3 css모듈 클래스이름 간소하게
626-ju Jun 21, 2025
f061871
refactor: 미션4 클래스이름 간결하게
626-ju Jun 22, 2025
4c8caff
chore: ic_heart.png 이미지 교체, vite.config.js alias 추가
626-ju Jun 23, 2025
fd42499
feat: 백링크 아이콘, no-comments이미지 추가
626-ju Jun 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"singleQuote": true,
"endOfLine": "auto"
}
111 changes: 91 additions & 20 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,104 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import pluginJs from '@eslint/js';
import configPrettier from 'eslint-config-prettier';
import pluginImport from 'eslint-plugin-import';
import pluginPrettier from 'eslint-plugin-prettier';
import pluginReact from 'eslint-plugin-react';
import pluginReactHooks from 'eslint-plugin-react-hooks';
import globals from 'globals';

export default [
{ ignores: ['dist'] },
// 1. ESLint 기본 권장 규칙
pluginJs.configs.recommended,

// 2. Prettier 설정 (ESLint와 Prettier 충돌 방지 및 Prettier 규칙 적용)
configPrettier,
{
files: ['**/*.{js,jsx}'],
plugins: {
prettier: pluginPrettier,
},
rules: {
'prettier/prettier': ['error', { endOfLine: 'auto' }], // Prettier 규칙 위반 시 에러 발생
},
},

// 3. React 관련 설정
{
files: ['**/*.{js,jsx}'], // JavaScript 및 JSX 파일에만 적용
plugins: {
react: pluginReact,
'react-hooks': pluginReactHooks,
},
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
ecmaVersion: 2021, // ECMAScript 버전 (ES2021)
sourceType: 'module', // 모듈 사용
parserOptions: {
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
sourceType: 'module',
ecmaFeatures: {
jsx: true, // JSX 지원 활성화
},
},
// 브라우저 및 Node.js 환경 전역 변수 설정
globals: {
...globals.browser,
...globals.node,
},
},
settings: {
react: {
version: 'detect', // React 버전 자동 감지
},
},
rules: {
'quotes': ['error', 'single', { avoidEscape: true }],
'react/react-in-jsx-scope': 'off', // React 17부터 JSX 변환이 자동으로 되므로 제거
'react/prop-types': 'off', // JavaScript에서도 prop-types 사용 여부에 따라 설정 (여기서는 비활성화)
'react/jsx-uses-react': 'off', // New JSX Transform 관련 설정
'react/jsx-key': 'error', // 리스트 렌더링엔 항상 고유한 key 값 사용
'react/destructuring-assignment': ['error', 'always'], // Props 전달은 비구조화 할당
'no-unused-vars': ['error', { args: 'none', ignoreRestSiblings: true }], // ignoreRestSiblings: true는 객체 비구조화 할당에서 나머지가 사용되지 않아도 경고하지 않습니다.
'react/jsx-uses-vars': 'error', // JSX에서 사용되는 변수를 사용된 것으로 간주
'react/jsx-no-undef': 'error', // 정의되지 않은 JSX 컴포넌트 사용 방지
'prefer-arrow-callback': 'error', // 콜백 함수는 화살표 함수로
'func-names': ['error', 'as-needed'], // 필요한 경우에만 함수 이름 허용
},
},

// 4. import/order 플러그인 설정
{
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
import: pluginImport,
},
rules: {
...js.configs.recommended.rules,
...reactHooks.configs.recommended.rules,
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
'import/order': [
'error',
{
groups: [
'builtin',
'external',
'internal',
['parent', 'sibling', 'index'],
'object',
'type',
],
pathGroups: [
{
pattern: 'react',
group: 'external',
position: 'before',
},
{
pattern: '@src/**', // 프로젝트 내 alias 설정 (예: @src/components)
group: 'internal',
position: 'after',
},
],
pathGroupsExcludedImportTypes: ['react'],
'newlines-between': 'never',
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
},
},
]
];
Loading
Loading