Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
936583a
build: ai를 사용하여 테스트코드 환경 설정
j2h30728 Aug 10, 2025
544f962
build: eslint 설정 세팅
j2h30728 Aug 10, 2025
31bacf0
chore: 해당 기능 주석 추가
j2h30728 Aug 10, 2025
08d5eeb
chore: 린트 및 포맷팅 재설정
j2h30728 Aug 10, 2025
f959f57
feat: 기본 api client 추가
j2h30728 Aug 10, 2025
6ef81d6
chore: 절대경로 세팅
j2h30728 Aug 10, 2025
3bcf96c
feat: entities/comment 생성
j2h30728 Aug 11, 2025
4683758
feat: entities/post 생성
j2h30728 Aug 11, 2025
400273e
feat: entities/user 생성
j2h30728 Aug 11, 2025
363f068
feat: feature/fetch-user-summary 생성
j2h30728 Aug 11, 2025
bbcecb3
feat: fetchUsersSummary로 변경
j2h30728 Aug 11, 2025
3181ace
feat: shared/ui 생성
j2h30728 Aug 11, 2025
cf08b33
feat: apiClient 래핑 함수 추가
j2h30728 Aug 11, 2025
3067318
chore: 테스트 환경 수정
j2h30728 Aug 12, 2025
d3ffa18
feat: entities/comment 수정 및 추가
j2h30728 Aug 12, 2025
7c2d171
feat: entities/post 수정 및 추가
j2h30728 Aug 12, 2025
19692e2
feat: entities/tag 수정 및 추가
j2h30728 Aug 12, 2025
99f56ab
feat: entities/user 수정
j2h30728 Aug 12, 2025
8911b95
feat: feature/comment-lik 생성
j2h30728 Aug 12, 2025
51b1e01
refactor: post manager page 에서 api 호출 부분 전체 변경
j2h30728 Aug 12, 2025
d6115f5
refactor: highlighText 분리
j2h30728 Aug 12, 2025
d6c6e07
chore: fetch -> get 워딩 변경
j2h30728 Aug 12, 2025
3da8934
feat: pagination response타입 생성 및 getPosts 교체
j2h30728 Aug 12, 2025
642952d
refactor: posts manager page 내의 타입 정리
j2h30728 Aug 12, 2025
ad2a220
feat: feature/search-posts 생성 및 교체
j2h30728 Aug 12, 2025
54e7e5c
build: zustand 설치
j2h30728 Aug 12, 2025
e52a098
build: tanstack-query 설치
j2h30728 Aug 12, 2025
e4fb71b
feat: app router 세팅
j2h30728 Aug 12, 2025
b6b528a
feat: shared/ui/layout 생성
j2h30728 Aug 12, 2025
90cb60e
feat: queryprovider 추가
j2h30728 Aug 12, 2025
bc383aa
chore: msw api 스펙 수정
j2h30728 Aug 13, 2025
139a597
feat: entities/post 수정
j2h30728 Aug 13, 2025
abc3fb3
feat: feature/post 관련crud, 필터 기능 수정 및 생성
j2h30728 Aug 13, 2025
da1347c
feat: feature/comment-like 생성
j2h30728 Aug 13, 2025
6738ccf
feat: feature/get-tags 생성
j2h30728 Aug 13, 2025
81d01bc
feat: widgets/posts-with-users 생성
j2h30728 Aug 13, 2025
e43da92
feat: PostManagerPage 에 feature, widget 적용
j2h30728 Aug 13, 2025
c020b7f
fix: 정렬 필드명 변경
j2h30728 Aug 14, 2025
f472667
feat: posts types 변경
j2h30728 Aug 14, 2025
89262bd
feat: commen types 변경
j2h30728 Aug 14, 2025
cee9e82
feat: feature/comment 관련 curd 생성
j2h30728 Aug 14, 2025
09e6bc5
feat: post manager page에서 comment 부분 교체
j2h30728 Aug 14, 2025
c19d228
feat: feature/getUserById 생성
j2h30728 Aug 14, 2025
09c4f66
feat: post manager page에서 user 부분 교체
j2h30728 Aug 14, 2025
762a2e8
feat: useDebounceValue 훅 생성 및 적용
j2h30728 Aug 14, 2025
c07db41
feat: tag, pagination 컴포넌트 생성
j2h30728 Aug 14, 2025
dbe2fa3
feat: modal store 생성
j2h30728 Aug 14, 2025
76235a0
feat: useModal훅 생성
j2h30728 Aug 14, 2025
5086815
feat: add post modal, edit post modal 생성
j2h30728 Aug 14, 2025
9843963
feat: post detail modal 생성
j2h30728 Aug 14, 2025
22e8e55
feat: user profile modal 생성
j2h30728 Aug 14, 2025
c1e0315
feat: add comment, edit comment modal 생성
j2h30728 Aug 14, 2025
b81e1be
chore: 테스트코드 조정
j2h30728 Aug 14, 2025
b1cbfdb
feat: 모달 위젯 분리
j2h30728 Aug 14, 2025
f9fcb06
feat: post table 컴포넌트 생성 및 교체
j2h30728 Aug 14, 2025
a2a5490
chore: 훅 이름 변경
j2h30728 Aug 14, 2025
4d8fc9a
feat: post filter 생성 및 교체
j2h30728 Aug 14, 2025
b16d6c6
refactor: props 를 컴포넌트 내부로 이동
j2h30728 Aug 14, 2025
a71e3aa
feat: 모달 구조 변경
j2h30728 Aug 14, 2025
228b9e5
chore: edit에서 update로 워딩 변경
j2h30728 Aug 14, 2025
e72b0da
chore: 주석 제거
j2h30728 Aug 14, 2025
c6f9367
chore: 배포 세팅
j2h30728 Aug 14, 2025
ef920da
fix: 스타일 수정 및 api호출 부분 수정
j2h30728 Aug 15, 2025
9c6643c
chore: tasntack-qeury devtools 설치
j2h30728 Aug 15, 2025
4fac550
chore: 사용하지 않는 코드 정리
j2h30728 Aug 15, 2025
1d9c812
feat: 파일 경로 변경
j2h30728 Aug 15, 2025
ef151de
chore: 파일 경로 변경
j2h30728 Aug 15, 2025
92d12e1
refactor: loader, error 표시
j2h30728 Aug 15, 2025
d0e64ea
refactor: type, interface 통일
j2h30728 Aug 15, 2025
b188f75
refactor: 베럴파일 조정 및 import 경로 수정
j2h30728 Aug 15, 2025
5cbb67e
chore: 폴더 이름 변경
j2h30728 Aug 15, 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
62 changes: 48 additions & 14 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,62 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'
// eslint.config.js
import js from "@eslint/js"
import perfectionist from "eslint-plugin-perfectionist"
import reactHooks from "eslint-plugin-react-hooks"
import reactRefresh from "eslint-plugin-react-refresh"
import globals from "globals"
import tseslint from "typescript-eslint"

export default tseslint.config(
{ ignores: ['dist'] },
{ ignores: ["dist"] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
extends: [js.configs.recommended, ...tseslint.configs.recommended, perfectionist.configs["recommended-natural"]],
files: ["**/*.{ts,tsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
"react-hooks": reactHooks,
"react-refresh": reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
// ... 기존 규칙들

// Perfectionist 규칙 커스터마이징
"perfectionist/sort-imports": [
"error",
{
type: "natural",
order: "asc",
groups: [
"builtin",
"external",
"internal-type",
"internal",
["parent-type", "sibling-type", "index-type"],
["parent", "sibling", "index"],
"object",
"unknown",
],
customGroups: {
value: {
"react": ["^react$", "^react-.+"],
"@app": "^@/app",
"@pages": "^@/pages",
"@widgets": "^@/widgets",
"@features": "^@/features",
"@entities": "^@/entities",
"@shared": "^@/shared",
},
},
newlinesBetween: "always",
},
],
"perfectionist/sort-named-imports": ["error", { type: "natural" }],
"perfectionist/sort-exports": ["error", { type: "natural" }],
"perfectionist/sort-object-types": ["error", { type: "natural" }],
"perfectionist/sort-interfaces": ["error", { type: "natural" }],
"perfectionist/sort-jsx-props": ["error", { type: "natural" }],
},
},
)
21 changes: 19 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,45 @@
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"lint:fix": "eslint . --ext ts,tsx --fix",
"preview": "vite preview",
"test": "vitest",
"coverage": "vitest run --coverage"
"test:ui": "vitest --ui",
"coverage": "vitest run --coverage",
"deploy": "pnpm build && gh-pages -d dist"
},
"dependencies": {
"@tanstack/react-query": "^5.85.0",
"@tanstack/react-query-devtools": "^5.85.3",
"react": "^19.1.1",
"react-dom": "^19.1.1"
"react-dom": "^19.1.1",
"zustand": "^5.0.7"
},
"devDependencies": {
"@eslint/js": "^9.33.0",
"@feature-sliced/eslint-config": "^0.1.1",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-select": "^2.2.5",
"@testing-library/jest-dom": "^6.6.4",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^24.2.1",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
"@typescript-eslint/eslint-plugin": "^8.39.0",
"@typescript-eslint/parser": "^8.39.0",
"@vitejs/plugin-react": "^5.0.0",
"@vitest/coverage-v8": "3.2.4",
"@vitest/ui": "3.2.4",
"axios": "^1.11.0",
"class-variance-authority": "^0.7.1",
"eslint": "^9.33.0",
"eslint-plugin-boundaries": "^5.0.1",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-perfectionist": "^4.15.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.20",
"gh-pages": "^6.3.0",
"globals": "^16.3.0",
"jsdom": "^26.1.0",
"lucide-react": "^0.539.0",
Expand All @@ -39,6 +55,7 @@
"typescript": "~5.9.2",
"typescript-eslint": "^8.39.0",
"vite": "^7.1.1",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4",
"vitest-browser-react": "^1.0.1"
}
Expand Down
Loading