Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8c9f691
README.md ํŒŒ์ผ์˜ ์ œ๋ชฉ์„ '7์ฃผ์ฐจ ํ…Œ์ŠคํŠธ ๊ณผ์ œ(๋ฐ•์ค€ํ˜•)'์œผ๋กœ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
BBAK-jun Aug 16, 2025
5ee790e
useCalendarView ๋ฐ useSearch ํ›…์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •, ์ด๋ฒคํŠธ ํ•„ํ„ฐ๋ง ๋กœ์ง ๊ฐœ์„ 
BBAK-jun Aug 16, 2025
be984c5
useCalendarView ๋ฐ useSearch ํ›…์˜ ์ดˆ๊ธฐ ์ƒํƒœ ๊ฒ€์ฆ ๋ฐ ๊ฒ€์ƒ‰์–ด ์ฒ˜๋ฆฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ถ”๊ฐ€, ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ โ€ฆ
BBAK-jun Aug 17, 2025
d43c6a4
docs(dateUtils): add JSDoc documentation for date utility functions
BBAK-jun Aug 17, 2025
4015710
docs(eventUtils): add JSDoc documentation for event utility functions
BBAK-jun Aug 17, 2025
a61df35
docs(timeValidation): add JSDoc documentation for time validation funโ€ฆ
BBAK-jun Aug 17, 2025
8684e86
docs(eventOverlap): add JSDoc documentation for event overlap utilityโ€ฆ
BBAK-jun Aug 17, 2025
8a73814
docs(fetchHolidays): add JSDoc documentation for holiday API function
BBAK-jun Aug 17, 2025
ddc7771
docs(notificationUtils): add remaining test files and utility updates
BBAK-jun Aug 17, 2025
b4953cb
test: update test files to follow DAMP testing principles
BBAK-jun Aug 17, 2025
e46a411
test: useCalendarView ํ…Œ์ŠคํŠธ์—์„œ assertDate ์‚ฌ์šฉ์œผ๋กœ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
BBAK-jun Aug 18, 2025
93269b1
test: useCalendarView ๋ฐ useSearch ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— skip ์ถ”๊ฐ€
BBAK-jun Aug 20, 2025
ffdbf15
ํŒจํ‚ค์ง€: @eslint/js ์˜์กด์„ฑ ์ถ”๊ฐ€
BBAK-jun Aug 20, 2025
554ef2f
์ปดํฌ๋„ŒํŠธ ๋ฆฌํŒฉํ† ๋ง: ์ด๋ฒคํŠธ ๊ด€๋ฆฌ UI ๊ตฌ์„ฑ ์š”์†Œ ์ถ”๊ฐ€
BBAK-jun Aug 20, 2025
fa5152d
test: useEventOperations ํ›…์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ถ”๊ฐ€ ๋ฐ ๊ฐœ์„ 
BBAK-jun Aug 20, 2025
0566bbc
์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋ฐ ํ…Œ์ŠคํŠธ ์Šคํ† ์–ด ๊ตฌํ˜„
BBAK-jun Aug 21, 2025
db32305
ํ…Œ์ŠคํŠธ: ์ผ์ • ์ถ”๊ฐ€/์ˆ˜์ • ๋ฐ ์‚ญ์ œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
BBAK-jun Aug 21, 2025
e954d37
docs: add project-specific testing guidelines and commit message rules
BBAK-jun Aug 21, 2025
0cc541d
feat: add notification alert and overlapping dialog components
BBAK-jun Aug 21, 2025
add06b7
feat: add hooks index file for centralized exports
BBAK-jun Aug 21, 2025
51dd559
feat: add utility functions for date handling, event operations, and โ€ฆ
BBAK-jun Aug 21, 2025
ee737c5
refactor: migrate useEventForm to Valtio for shared state management
BBAK-jun Aug 21, 2025
d28e661
refactor: migrate useEventOperations to Valtio and add useEvents seleโ€ฆ
BBAK-jun Aug 21, 2025
570830d
refactor: remove prop drilling by direct hook consumption in form andโ€ฆ
BBAK-jun Aug 21, 2025
d1b00c5
refactor: simplify App component by removing event operations prop drโ€ฆ
BBAK-jun Aug 21, 2025
54c6541
feat: add calendar view section and update component exports
BBAK-jun Aug 21, 2025
bfdcbcd
feat: add useNotifications and useSearch hooks for event management
BBAK-jun Aug 21, 2025
370e343
feat: wrap SnackbarProvider with OverlayProvider and update event proโ€ฆ
BBAK-jun Aug 21, 2025
b805fde
feat: ESLint ์„ค์ • ๋ณ€๊ฒฝ ๋ฐ ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ์ถ”๊ฐ€
BBAK-jun Aug 21, 2025
c98d169
refactor: useCallback์œผ๋กœ checkUpcomingEvents ์ตœ์ ํ™” ๋ฐ useEffect ์˜์กด์„ฑ ์ˆ˜์ •
BBAK-jun Aug 21, 2025
b6b72a7
refactor: createTestEvent ํ—ฌํผ ํ•จ์ˆ˜ ์‚ฌ์šฉ์œผ๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ ๋ฐ ์ค‘๋ณต ์ œ๊ฑฐ
BBAK-jun Aug 21, 2025
0807f73
test: skip๋œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ดˆ๊ธฐ ์ƒํƒœ ๋ฐ ๋‚ ์งœ ๋ณ€๊ฒฝ ๊ฒ€์ฆ ๊ฐ•ํ™”
BBAK-jun Aug 21, 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
119 changes: 119 additions & 0 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์ฒ ํ•™ ๋ฐ ๊ฐ€์ด๋“œ๋ผ์ธ

## ํ•ต์‹ฌ ์ฒ ํ•™
- **์ข‹์€ ํ…Œ์ŠคํŠธ์ฝ”๋“œ = ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…์„ธ์„œ**: ๊ธฐ๋Šฅ์˜ ์˜๋„์™€ ๊ธฐ๋Œ€ ๋™์ž‘์„ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ณ , ๋ฆฌํŒฉํ„ฐ๋ง์—๋„ ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•จ
- **๊ฐ€๋…์„ฑ๊ณผ ์•ˆ์ •์„ฑ์ด ์ตœ์šฐ์„ **: DRY๋ณด๋‹ค DAMP(Descriptive And Meaningful Phrases) ์›์น™์„ ๋”ฐ๋ฆ„
- **ํ–‰์œ„ ์ค‘์‹ฌ ๊ฒ€์ฆ**: ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ์ด ์•„๋‹Œ ๊ด€์ฐฐ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€์ฆ

## ๊ตฌ์ฒด์  ์›์น™

### 1. ์˜๋„ ์šฐ์„  ๊ฐ€๋…์„ฑ
- ํ…Œ์ŠคํŠธ ์ด๋ฆ„์€ ๋ฌธ์žฅํ˜•์œผ๋กœ ์ž‘์„ฑ (๋ฌด์—‡์„/์–ธ์ œ/์–ด๋–ป๊ฒŒ)
- AAA(Arrange-Act-Assert) ๋˜๋Š” Given-When-Then ๊ตฌ์กฐ ์‚ฌ์šฉ
- ์ตœ์†Œํ•œ์˜ ์ œ์–ด ํ๋ฆ„(if/loop)๋งŒ ์‚ฌ์šฉ
- ๊ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์ž์‹ ์ด ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ๋“œ๋Ÿฌ๋‚ด์•ผ ํ•จ

### 2. ์˜๋ฏธ ์žˆ๋Š” ์ค‘๋ณต ํ—ˆ์šฉ (DAMP ์›์น™)
- **ํ—ˆ์šฉ๋˜๋Š” ์ค‘๋ณต**: ๊ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์ž์‹ ์˜ ๋งฅ๋ฝ๊ณผ ๊ธฐ๋Œ€๊ฐ’์„ ์Šค์Šค๋กœ ๋“œ๋Ÿฌ๋‚ผ ๋•Œ
- **๊ธˆ์ง€๋˜๋Š” ์ค‘๋ณต**: ์˜๋„๋ฅผ ํ๋ฆฌ๊ฑฐ๋‚˜ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ๋งŒ ๋Š˜๋ฆฌ๋Š” ๊ฒฝ์šฐ
- ๊ณผ๋„ํ•œ ํ—ฌํผ/์ถ”์ƒํ™”๋Š” ์ž์ œ - ํ…Œ์ŠคํŠธ ์ŠคํŽ™์ด ํ—ฌํผ ๋’ค์— ์ˆจ๊ฒจ์ง€๋ฉด ์•ˆ๋จ
- ๊ธฐ๋Œ€๊ฐ’์€ ํ…Œ์ŠคํŠธ ๋‚ด์—์„œ "๊ทธ๋Œ€๋กœ" ๋ช…์‹œํ•˜์—ฌ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋ƒ„

### 3. ๊ตฌํ˜„ ๋””ํ…Œ์ผ ๋น„์˜์กด
- ๋‚ด๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ํšŸ์ˆ˜, ๊ตฌ์ฒด์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋น„๊ณต๊ฐœ ์ƒํƒœ ๊ฒ€์ฆ ๊ธˆ์ง€
- ๊ฒฐ๊ณผ/ํ™”๋ฉด/์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ๊ด€์ฐฐ ๊ฐ€๋Šฅํ•œ ๋™์ž‘๋งŒ ๊ฒ€์ฆ
- ์ฝ”๋“œ๊ฐ€ ๋ฆฌํŒฉํ„ฐ๋ง๋˜์–ด๋„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊นจ์ง€์ง€ ์•Š์•„์•ผ ํ•จ

### 4. ๊ฒฐ์ •๋ก ์ ์ด๊ณ  ๊ณ ๋ฆฝ๋œ ํ…Œ์ŠคํŠธ
- ์‹œ๊ฐ„/๋žœ๋ค/๋„คํŠธ์›Œํฌ ๋“ฑ ์™ธ๋ถ€ ์š”์ธ ์ œ์–ด๋กœ Flaky ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ
- ํ…Œ์ŠคํŠธ ๊ฐ„ ์ƒํƒœ ๊ณต์œ  ๊ธˆ์ง€
- ๊ฐ ํ…Œ์ŠคํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ

### 5. ๋‹จ์ผ ์‹คํŒจ ์›์น™
- ํ•œ ํ…Œ์ŠคํŠธ๋Š” ํ•œ ํ–‰๋™ ๋‹จ์œ„๋งŒ ๊ฒ€์ฆ
- ์—ฌ๋Ÿฌ ๋‹จ์–ธ๋ฌธ์€ ๋™์ผ ํ–‰๋™์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๊ฒ€์ฆํ•  ๋•Œ๋งŒ ํ—ˆ์šฉ
- ํ•˜๋‚˜์˜ ๋ช…ํ™•ํ•œ ์ด์œ ๋กœ๋งŒ ์‹คํŒจํ•ด์•ผ ํ•จ

### 6. ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด์„ฑ
- ํ•„์š” ์ด์ƒ์˜ ๊ธ€๋กœ๋ฒŒ ํ›…/ํ”ฝ์Šค์ฒ˜ ์ง€์–‘
- "์ค‘๋ณต์ด ์˜๋ฏธ๋ฅผ ์ค„ ๋•Œ๋Š” ์ธ๋ผ์ธ", "๋…ธ์ด์ฆˆ์ผ ๋•Œ๋งŒ ๋นŒ๋”/ํ—ฌํผ ์‚ฌ์šฉ"
- ํ…Œ์ŠคํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ์ตœ์†Œํ™”

### 7. ์ ์ ˆํ•œ ํ…Œ์ŠคํŠธ ์กฐํ•ฉ
- ๋‹จ์œ„ ํ…Œ์ŠคํŠธ: ๋น ๋ฅด๊ณ  ์ด˜์ด˜ํ•˜๊ฒŒ
- ํ†ตํ•ฉ/E2E ํ…Œ์ŠคํŠธ: ์ ์ ˆํ•œ ์ˆ˜์ค€์œผ๋กœ
- ํŒ€๊ณผ ๋„๋ฉ”์ธ์— ๋งž๋Š” ํ…Œ์ŠคํŠธ ํ”ผ๋ผ๋ฏธ๋“œ/ํŠธ๋กœํ”ผ ๊ตฌ์„ฑ

### 8. ๊ฒฌ๊ณ ํ•œ ๋‹จ์–ธ
- ์Šค๋ƒ…์ƒท ํ…Œ์ŠคํŠธ ๋‚จ์šฉ ๊ธˆ์ง€, ๊ผญ ํ•„์š”ํ•œ ํ˜•ํƒœ๋งŒ ์‚ฌ์šฉ
- ์ค‘์š”ํ•œ ์†์„ฑ๋งŒ ๋ช…์‹œ์ ์œผ๋กœ `toEqual`/์ปค์Šคํ…€ ๋งค์ฒ˜๋กœ ๊ฒ€์ฆ
- ์˜๋ฏธ ์žˆ๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ œ๊ณต

### 9. ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ˆ˜๋‹จ
- ์ˆซ์ž ์ž์ฒด๊ฐ€ ๋ชฉํ‘œ๊ฐ€ ์•„๋‹˜
- ํ•ต์‹ฌ ์‹œ๋‚˜๋ฆฌ์˜ค/๊ฒฝ๊ณ„๊ฐ’/ํšŒ๊ท€ ์ผ€์ด์Šค๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ปค๋ฒ„
- ์˜๋ฏธ ์žˆ๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋†’์€ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ƒ„

## ํ…Œ์ŠคํŠธ ์Šค๋ฉœ ๊ฐ์ง€ ๋ฐ ๋ฆฌํŒฉํ„ฐ๋ง ๋Œ€์ƒ

### ์ฆ‰์‹œ ๋ฆฌํŒฉํ„ฐ๋งํ•ด์•ผ ํ•˜๋Š” ์Šค๋ฉœ๋“ค
- `sleep`์ด๋‚˜ ์ž„์˜์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์‚ฌ์šฉ
- ๋žœ๋ค ๊ฐ’์— ์˜์กดํ•˜๋Š” ํ…Œ์ŠคํŠธ
- ๊ณผ๋„ํ•œ ๋ชฉ(Mock) ์ฒด์ด๋‹
- ๋งˆ๋ฒ• ๊ฐ™์€ ํ”ฝ์Šค์ฒ˜๋‚˜ ์ „์—ญ ์ƒํƒœ
- ์ง€๋‚˜์นœ DRY๋กœ ์ธํ•œ ๊ฐ€๋…์„ฑ ์ €ํ•˜
- ์• ๋งคํ•˜๊ฑฐ๋‚˜ ์˜๋ฏธ ์—†๋Š” ํ…Œ์ŠคํŠธ ์ด๋ฆ„
- ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ์— ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ํ…Œ์ŠคํŠธ

## ์ฝ”๋“œ ์˜ˆ์‹œ

### โœ… ์„ ํ˜ธํ•˜๋Š” ์Šคํƒ€์ผ (์˜๋ฏธ ์žˆ๋Š” ์ค‘๋ณต)
```typescript
it('๊ฒ€์ƒ‰์–ด "Event"๋Š” ์ฃผ๊ฐ„ ๋ทฐ์—์„œ 2025-07-01~07-07 ๋ฒ”์œ„์˜ ๋งค์นญ ์ด๋ฒคํŠธ๋งŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค', () => {
const result = getFilteredEvents(events, 'Event', new Date('2025-07-01'), 'week');

expect(result).toEqual([
{
id: '1',
title: 'Event 1',
date: '2025-07-01',
// ... ๋ช…์‹œ์ ์ธ ๊ธฐ๋Œ€๊ฐ’
},
{
id: '2',
title: 'Event 2',
date: '2025-07-02',
// ... ๋ช…์‹œ์ ์ธ ๊ธฐ๋Œ€๊ฐ’
}
]);
});
```

### โŒ ๋น„์„ ํ˜ธํ•˜๋Š” ์Šคํƒ€์ผ (๊ณผ๋„ํ•œ ์ถ”์ƒํ™”)
```typescript
it('๊ฒ€์ƒ‰ ํ•„ํ„ฐ๊ฐ€ ๋™์ž‘ํ•œ๋‹ค', () => {
const result = runSearchHelper('Event', '2025-07-01', 'week');
expectIds(result).toEqual(['1', '2']); // ์ŠคํŽ™์ด ํ—ฌํผ ๋’ค์— ์ˆจ์Œ
});
```

## ํ—ฌํผ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ๋ผ์ธ

### ํ—ฌํผ๋ฅผ ๋งŒ๋“ค์–ด๋„ ๋˜๋Š” ๊ฒฝ์šฐ
- ๋ฐ˜๋ณต๋˜๋Š” ๋„๋ฉ”์ธ ๊ฐ์ฒด ์ƒ์„ฑ (๋นŒ๋” ํŒจํ„ด)
- ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ปค์Šคํ…€ ๋งค์ฒ˜
- ๋ณต์žกํ•œ ์…‹์—…์ด ํ…Œ์ŠคํŠธ ์˜๋„๋ฅผ ๊ฐ€๋ฆฌ๋Š” ๊ฒฝ์šฐ

### ํ—ฌํผ๋ฅผ ๋งŒ๋“ค์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
- ๋‹จ์ˆœํ•œ ์ค‘๋ณต ์ œ๊ฑฐ๋งŒ์ด ๋ชฉ์ ์ธ ๊ฒฝ์šฐ
- ํ…Œ์ŠคํŠธ์˜ ๊ธฐ๋Œ€๊ฐ’์ด๋‚˜ ํ•ต์‹ฌ ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๊ฒฝ์šฐ
- ํ—ฌํผ๊ฐ€ ํ…Œ์ŠคํŠธ๋ณด๋‹ค ๋ณต์žกํ•ด์ง€๋Š” ๊ฒฝ์šฐ

## ์ด ํ”„๋กœ์ ํŠธ ์ ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ
- ๊ธฐ๋Œ€ ๊ฐ์ฒด๋ฅผ ํ…Œ์ŠคํŠธ ์•ˆ์—์„œ "๊ทธ๋Œ€๋กœ" ๋ช…์‹œํ•˜์—ฌ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ผ ๊ฒƒ
- ๋‚ด๋ถ€ ๊ตฌํ˜„์ด ๋ฐ”๋€Œ์–ด๋„ ํ†ต๊ณผํ•ด์•ผ ํ•˜๋Š” "ํ–‰๋™"์„ ์ฃผ ๋‹จ์–ธ ๋Œ€์ƒ์œผ๋กœ ํ•  ๊ฒƒ
- ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์–ด๋–ค ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ฒ€์ฆํ•˜๋Š”์ง€ ์ด๋ฆ„๋งŒ ๋ด๋„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ์ž‘์„ฑํ•  ๊ฒƒ

---

**๊ธฐ์–ตํ•  ๊ฒƒ: ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์„ค๊ณ„ ์˜๋„๋ฅผ ์˜คํ•ด ์—†์ด ํŒŒ์•…ํ•˜๊ณ , ์ฝ”๋“œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•ฉ๋ฆฌ์ ์ธ ์ด์œ ๋กœ ์‹คํŒจ/์„ฑ๊ณตํ•˜๋„๋ก ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ**
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 7์ฃผ์ฐจ ํ…Œ์ŠคํŠธ ๊ณผ์ œ
# 7์ฃผ์ฐจ ํ…Œ์ŠคํŠธ ๊ณผ์ œ(๋ฐ•์ค€ํ˜•)

## ๋‚œ์ด๋„ ์„ ํƒ ๊ฐ€์ด๋“œ

Expand Down
3 changes: 2 additions & 1 deletion eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ export default [
...typescriptPlugin.configs.recommended.rules,

// ESLint rules
'no-unused-vars': 'warn',
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': ['error'],

// React rules
'react/prop-types': 'off',
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,17 @@
"dependencies": {
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
"@eslint/js": "^9.33.0",
"@mui/icons-material": "7.2.0",
"@mui/material": "7.2.0",
"express": "^4.19.2",
"framer-motion": "^12.23.0",
"msw": "^2.10.3",
"notistack": "^3.0.2",
"overlay-kit": "^1.8.4",
"react": "19.1.0",
"react-dom": "19.1.0"
"react-dom": "19.1.0",
"valtio": "^2.1.7"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.6.3",
Expand Down
50 changes: 50 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading