From 518a0784eef3dc02da678ca2d916a7901fe1b0f9 Mon Sep 17 00:00:00 2001 From: JiHo Jeon Date: Mon, 6 Jul 2026 16:43:43 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=EB=82=B4=20=EC=9B=8C=ED=81=AC?= =?UTF-8?q?=EC=8A=A4=ED=8E=98=EC=9D=B4=EC=8A=A4=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20Mock=20=EA=B5=AC=ED=98=84=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - get_my_workspaces RPC 반환 형태에 맞춘 entities/workspace (타입/purpose 메타/Mock) - workspace-list 위젯: 카드 리스트 + 빈 상태 - views/workspaces 조립 및 /workspaces 라우트 추가 - shared/lib/date 상대 시간 포맷 유틸 - purpose(team_project/side_project/store/custom) 기반 프론트 표시 매핑, progress는 done/task 계산 --- public/workspaces/empty-workspace.png | Bin 0 -> 91716 bytes src/app/workspaces/page.tsx | 10 +++ .../workspace/api/get-my-workspaces.ts | 51 ++++++++++++++ src/entities/workspace/config/purpose.ts | 33 +++++++++ src/entities/workspace/index.ts | 4 ++ src/entities/workspace/model/types.ts | 17 +++++ src/shared/lib/date.ts | 14 ++++ src/views/workspaces/index.ts | 2 + src/views/workspaces/ui/WorkspacesPage.tsx | 36 ++++++++++ src/widgets/workspace-list/index.ts | 2 + .../workspace-list/ui/EmptyWorkspaces.tsx | 24 +++++++ .../workspace-list/ui/WorkspaceCard.tsx | 63 ++++++++++++++++++ .../workspace-list/ui/WorkspaceList.tsx | 22 ++++++ 13 files changed, 278 insertions(+) create mode 100644 public/workspaces/empty-workspace.png create mode 100644 src/app/workspaces/page.tsx create mode 100644 src/entities/workspace/api/get-my-workspaces.ts create mode 100644 src/entities/workspace/config/purpose.ts create mode 100644 src/entities/workspace/index.ts create mode 100644 src/entities/workspace/model/types.ts create mode 100644 src/shared/lib/date.ts create mode 100644 src/views/workspaces/index.ts create mode 100644 src/views/workspaces/ui/WorkspacesPage.tsx create mode 100644 src/widgets/workspace-list/index.ts create mode 100644 src/widgets/workspace-list/ui/EmptyWorkspaces.tsx create mode 100644 src/widgets/workspace-list/ui/WorkspaceCard.tsx create mode 100644 src/widgets/workspace-list/ui/WorkspaceList.tsx diff --git a/public/workspaces/empty-workspace.png b/public/workspaces/empty-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..88427232824ada0efb43d04b420014159e674475 GIT binary patch literal 91716 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 LE-&_5MBo2^e?U6y literal 0 HcmV?d00001 diff --git a/src/app/workspaces/page.tsx b/src/app/workspaces/page.tsx new file mode 100644 index 0000000..cb8b260 --- /dev/null +++ b/src/app/workspaces/page.tsx @@ -0,0 +1,10 @@ +import type { Metadata } from 'next'; +import { WorkspacesPage } from '@/views/workspaces'; + +export const metadata: Metadata = { + title: '내 워크스페이스 · Syncly', +}; + +export default function Page() { + return ; +} diff --git a/src/entities/workspace/api/get-my-workspaces.ts b/src/entities/workspace/api/get-my-workspaces.ts new file mode 100644 index 0000000..a85bf80 --- /dev/null +++ b/src/entities/workspace/api/get-my-workspaces.ts @@ -0,0 +1,51 @@ +// get_my_workspaces RPC의 Mock 구현 +// 백엔드 준비 시 supabase.rpc('get_my_workspaces') 호출로 교체한다 (반환 shape 동일) +import type { WorkspaceSummary } from '../model/types'; + +// updated_at은 호출 시점 기준 상대값으로 생성해 "최근 활동" 표기가 자연스럽게 유지되도록 한다 +type MockWorkspaceSeed = Omit & { + activityMinutesAgo: number; +}; + +const MOCK_WORKSPACE_SEEDS: MockWorkspaceSeed[] = [ + { + id: 'ws-capstone-design', + name: '캡스톤 디자인 팀', + purpose: 'team_project', + member_count: 5, + task_count: 12, + done_task_count: 7, + activityMinutesAgo: 10, + }, + { + id: 'ws-fitto-app', + name: 'Fitto 앱 개발팀', + purpose: 'side_project', + member_count: 4, + task_count: 24, + done_task_count: 18, + activityMinutesAgo: 60, + }, + { + id: 'ws-cafe-gray', + name: '카페 그레이 운영', + purpose: 'store', + member_count: 6, + task_count: 8, + done_task_count: 5, + activityMinutesAgo: 180, + }, +]; + +export async function getMyWorkspaces(): Promise { + const now = Date.now(); + + return MOCK_WORKSPACE_SEEDS.map(({ activityMinutesAgo, ...summary }) => ({ + ...summary, + progress: + summary.task_count === 0 + ? 0 + : Math.round((summary.done_task_count / summary.task_count) * 100), + updated_at: new Date(now - activityMinutesAgo * 60_000).toISOString(), + })); +} diff --git a/src/entities/workspace/config/purpose.ts b/src/entities/workspace/config/purpose.ts new file mode 100644 index 0000000..49fa84c --- /dev/null +++ b/src/entities/workspace/config/purpose.ts @@ -0,0 +1,33 @@ +// purpose별 표시 정보 — ERD에 템플릿 테이블이 없으므로 라벨/아이콘/포인트 컬러는 프론트에서 매핑한다 +import { GraduationCap, LayoutGrid, ShoppingBag, Zap } from 'lucide-react'; +import type { LucideIcon } from 'lucide-react'; +import type { WorkspacePurpose } from '../model/types'; + +interface WorkspacePurposeMeta { + label: string; + icon: LucideIcon; + gradient: string; +} + +export const WORKSPACE_PURPOSE_META: Record = { + team_project: { + label: '팀 프로젝트', + icon: GraduationCap, + gradient: 'linear-gradient(135deg, #8e51ff 0%, #615fff 100%)', + }, + side_project: { + label: '사이드 프로젝트', + icon: Zap, + gradient: 'linear-gradient(135deg, #2b7fff 0%, #00b8db 100%)', + }, + store: { + label: '매장 운영', + icon: ShoppingBag, + gradient: 'linear-gradient(135deg, #fe9a00 0%, #ff6900 100%)', + }, + custom: { + label: '커스텀', + icon: LayoutGrid, + gradient: 'linear-gradient(135deg, #7b7fa8 0%, #5b4ee8 100%)', + }, +}; diff --git a/src/entities/workspace/index.ts b/src/entities/workspace/index.ts new file mode 100644 index 0000000..8f2bbf3 --- /dev/null +++ b/src/entities/workspace/index.ts @@ -0,0 +1,4 @@ +// workspace 엔티티 Public API +export type { WorkspacePurpose, WorkspaceSummary } from './model/types'; +export { WORKSPACE_PURPOSE_META } from './config/purpose'; +export { getMyWorkspaces } from './api/get-my-workspaces'; diff --git a/src/entities/workspace/model/types.ts b/src/entities/workspace/model/types.ts new file mode 100644 index 0000000..f40e3a3 --- /dev/null +++ b/src/entities/workspace/model/types.ts @@ -0,0 +1,17 @@ +// 워크스페이스 도메인 타입 — Syncly ERD 정합 +// 템플릿 테이블을 두지 않고 workspaces.purpose 값으로 목적을 구분한다 +export type WorkspacePurpose = 'team_project' | 'side_project' | 'store' | 'custom'; + +// get_my_workspaces RPC 반환 형태 +// - *_count와 progress는 서버에서 계산되어 내려온다 (progress = done_task_count / task_count * 100, 미저장) +// - updated_at은 workspaces.updated_at으로, 카드의 "최근 활동" 표기에 사용한다 +export interface WorkspaceSummary { + id: string; + name: string; + purpose: WorkspacePurpose; + member_count: number; + task_count: number; + done_task_count: number; + progress: number; + updated_at: string; +} diff --git a/src/shared/lib/date.ts b/src/shared/lib/date.ts new file mode 100644 index 0000000..5d1e0fc --- /dev/null +++ b/src/shared/lib/date.ts @@ -0,0 +1,14 @@ +// 상대 시간 포맷 — "방금 전 / N분 전 / N시간 전 / N일 전" +export function formatRelativeTime(isoDate: string): string { + const diffMs = Date.now() - new Date(isoDate).getTime(); + const minutes = Math.floor(diffMs / 60_000); + + if (minutes < 1) return '방금 전'; + if (minutes < 60) return `${minutes}분 전`; + + const hours = Math.floor(minutes / 60); + if (hours < 24) return `${hours}시간 전`; + + const days = Math.floor(hours / 24); + return `${days}일 전`; +} diff --git a/src/views/workspaces/index.ts b/src/views/workspaces/index.ts new file mode 100644 index 0000000..18b3db1 --- /dev/null +++ b/src/views/workspaces/index.ts @@ -0,0 +1,2 @@ +// workspaces 뷰의 Public API +export { default as WorkspacesPage } from './ui/WorkspacesPage'; diff --git a/src/views/workspaces/ui/WorkspacesPage.tsx b/src/views/workspaces/ui/WorkspacesPage.tsx new file mode 100644 index 0000000..cc3baf9 --- /dev/null +++ b/src/views/workspaces/ui/WorkspacesPage.tsx @@ -0,0 +1,36 @@ +// 내 워크스페이스 페이지 — 헤더 + 참여 중인 워크스페이스 목록(빈 상태 포함)을 조립한다 +import Link from 'next/link'; +import { Plus } from 'lucide-react'; +import { Plus_Jakarta_Sans } from 'next/font/google'; +import { getMyWorkspaces } from '@/entities/workspace'; +import { WorkspaceList } from '@/widgets/workspace-list'; + +// Figma 지정 폰트 — 한글은 시스템 폰트로 fallback된다 +const jakarta = Plus_Jakarta_Sans({ + subsets: ['latin'], + weight: ['400', '600', '700', '800'], +}); + +export default async function WorkspacesPage() { + const workspaces = await getMyWorkspaces(); + + return ( +
+
+
+
+

내 워크스페이스

+

참여 중인 워크스페이스 목록

+
+ + 새 워크스페이스 + +
+ +
+
+ ); +} diff --git a/src/widgets/workspace-list/index.ts b/src/widgets/workspace-list/index.ts new file mode 100644 index 0000000..1ea2279 --- /dev/null +++ b/src/widgets/workspace-list/index.ts @@ -0,0 +1,2 @@ +// workspace-list 위젯의 Public API +export { default as WorkspaceList } from './ui/WorkspaceList'; diff --git a/src/widgets/workspace-list/ui/EmptyWorkspaces.tsx b/src/widgets/workspace-list/ui/EmptyWorkspaces.tsx new file mode 100644 index 0000000..bc3bb64 --- /dev/null +++ b/src/widgets/workspace-list/ui/EmptyWorkspaces.tsx @@ -0,0 +1,24 @@ +import Image from 'next/image'; + +// 참여 중인 워크스페이스가 없을 때의 빈 상태 +export default function EmptyWorkspaces() { + return ( +
+ +

+ 아직 워크스페이스가 없어요 +

+

+ 팀과 함께 사용할 워크스페이스를 만들어 +
+ 프로젝트를 효율적으로 관리해보세요. +

+
+ ); +} diff --git a/src/widgets/workspace-list/ui/WorkspaceCard.tsx b/src/widgets/workspace-list/ui/WorkspaceCard.tsx new file mode 100644 index 0000000..ea73840 --- /dev/null +++ b/src/widgets/workspace-list/ui/WorkspaceCard.tsx @@ -0,0 +1,63 @@ +import Link from 'next/link'; +import { Check, ChevronRight, Clock, Users } from 'lucide-react'; +import { formatRelativeTime } from '@/shared/lib/date'; +import { WORKSPACE_PURPOSE_META, type WorkspaceSummary } from '@/entities/workspace'; + +interface WorkspaceCardProps { + workspace: WorkspaceSummary; +} + +// 워크스페이스 요약 카드 — 클릭 시 해당 워크스페이스로 이동(상세 대시보드는 별도 이슈, 지금은 라우팅 스텁) +export default function WorkspaceCard({ workspace }: WorkspaceCardProps) { + const { id, name, purpose, member_count, task_count, done_task_count, progress, updated_at } = + workspace; + const meta = WORKSPACE_PURPOSE_META[purpose]; + const PurposeIcon = meta.icon; + + return ( + +
+ +
+
+
+
+

{name}

+

{meta.label}

+
+ +
+
+ + + {member_count}명 + + + + {formatRelativeTime(updated_at)} + + + + {done_task_count}/{task_count} 완료 + +
+
+ 진행률 +
+
+
+ {progress}% +
+
+ + ); +} diff --git a/src/widgets/workspace-list/ui/WorkspaceList.tsx b/src/widgets/workspace-list/ui/WorkspaceList.tsx new file mode 100644 index 0000000..e58ac90 --- /dev/null +++ b/src/widgets/workspace-list/ui/WorkspaceList.tsx @@ -0,0 +1,22 @@ +import type { WorkspaceSummary } from '@/entities/workspace'; +import WorkspaceCard from './WorkspaceCard'; +import EmptyWorkspaces from './EmptyWorkspaces'; + +interface WorkspaceListProps { + workspaces: WorkspaceSummary[]; +} + +// 워크스페이스 목록 — 데이터가 있으면 카드 리스트, 없으면 빈 상태 +export default function WorkspaceList({ workspaces }: WorkspaceListProps) { + if (workspaces.length === 0) { + return ; + } + + return ( +
+ {workspaces.map((workspace) => ( + + ))} +
+ ); +} From a9d9e9d8e529a43ce44b670420f9feab3ef78a78 Mon Sep 17 00:00:00 2001 From: JiHo Jeon Date: Mon, 6 Jul 2026 16:43:57 +0900 Subject: [PATCH 2/5] =?UTF-8?q?chore:=20Tailwind=20spacing=20=ED=94=84?= =?UTF-8?q?=EB=A6=AC=EC=85=8B=20=EA=B2=80=EC=82=AC=20=EA=B2=8C=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gap/p*/m*/space 계열 -[Npx] 임의값을 0.25 프리셋으로 강제하는 check 스크립트 - npm run check 체인에 lint:tw 포함 (eslint로 안 잡히던 규칙을 CI에서 차단) --- package.json | 3 +- scripts/check-tailwind-spacing.mjs | 79 ++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 scripts/check-tailwind-spacing.mjs diff --git a/package.json b/package.json index 822019d..494d2db 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,11 @@ "build": "next build", "start": "next start", "lint": "eslint", + "lint:tw": "node scripts/check-tailwind-spacing.mjs", "typecheck": "tsc --noEmit", "format": "prettier --write .", "format:check": "prettier --check .", - "check": "npm run lint && npm run typecheck && npm run format:check" + "check": "npm run lint && npm run lint:tw && npm run typecheck && npm run format:check" }, "dependencies": { "@hookform/resolvers": "^5.4.0", diff --git a/scripts/check-tailwind-spacing.mjs b/scripts/check-tailwind-spacing.mjs new file mode 100644 index 0000000..80f162e --- /dev/null +++ b/scripts/check-tailwind-spacing.mjs @@ -0,0 +1,79 @@ +/* eslint-disable no-console -- CLI 검사 스크립트로 콘솔 출력이 본 기능이다 */ +// Tailwind spacing 임의값 게이트 +// gap / p* / m* / space 계열에 `-[Npx]`를 쓰면 0.25 단위 프리셋(N÷4)으로 변환하도록 강제한다. +// 이 규칙은 eslint/prettier로 잡히지 않고 editor의 Tailwind IntelliSense 경고로만 뜨므로, +// CI(`npm run check`)에서 막아 누구든 놓치지 않게 한다. +import { readdirSync, readFileSync, statSync } from 'node:fs'; +import { join } from 'node:path'; + +const ROOT = 'src'; + +// spacing scale를 그대로 쓰는 유틸만 대상으로 한다 (width/height/inset 등 치수는 제외) +const SPACING_PREFIXES = [ + 'gap-x', + 'gap-y', + 'gap', + 'px', + 'py', + 'pt', + 'pb', + 'pl', + 'pr', + 'p', + 'mx', + 'my', + 'mt', + 'mb', + 'ml', + 'mr', + 'm', + 'space-x', + 'space-y', +]; + +// 예: gap-[15px], sm:p-[21px], -mt-[8px], group-hover:gap-x-[12px] +const PATTERN = new RegExp( + '(?:^|[\\s"\'\\x60])(?:[a-z][a-z-]*:)*(-?)(' + + SPACING_PREFIXES.join('|') + + ')-\\[(\\d+(?:\\.\\d+)?)px\\]', + 'g', +); + +function walk(dir) { + const files = []; + for (const entry of readdirSync(dir)) { + const full = join(dir, entry); + if (statSync(full).isDirectory()) files.push(...walk(full)); + else if (/\.(ts|tsx|js|jsx)$/.test(entry)) files.push(full); + } + return files; +} + +const violations = []; +for (const file of walk(ROOT)) { + const lines = readFileSync(file, 'utf8').split('\n'); + lines.forEach((line, index) => { + for (const match of line.matchAll(PATTERN)) { + const [, sign, prefix, px] = match; + violations.push({ + file, + line: index + 1, + from: `${sign}${prefix}-[${px}px]`, + to: `${sign}${prefix}-${Number(px) / 4}`, + }); + } + }); +} + +if (violations.length > 0) { + console.error( + '\n✗ Tailwind spacing 임의값이 발견되었습니다. 0.25 단위 프리셋으로 변환하세요 (N÷4):\n', + ); + for (const v of violations) { + console.error(` ${v.file}:${v.line} ${v.from} → ${v.to}`); + } + console.error(`\n총 ${violations.length}건. 예) gap-[15px] → gap-3.75, p-[21px] → p-5.25\n`); + process.exit(1); +} + +console.log('✓ Tailwind spacing 프리셋 검사 통과'); From f9d6df84993966baf62802e1ff52a41dc3d2501e Mon Sep 17 00:00:00 2001 From: JiHo Jeon Date: Mon, 6 Jul 2026 16:48:32 +0900 Subject: [PATCH 3/5] =?UTF-8?q?design:=20=EC=9B=8C=ED=81=AC=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EC=B9=B4=EB=93=9C=20=EB=A9=94?= =?UTF-8?q?=ED=83=80=20=ED=96=89=20=EC=A2=81=EC=9D=80=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20wrap=20=EC=B2=98=EB=A6=AC=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 좁은 화면(~320px)에서 완료 수가 긴 카드의 메타 행이 넘치지 않도록 flex-wrap 적용 --- src/widgets/workspace-list/ui/WorkspaceCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/workspace-list/ui/WorkspaceCard.tsx b/src/widgets/workspace-list/ui/WorkspaceCard.tsx index ea73840..dab6099 100644 --- a/src/widgets/workspace-list/ui/WorkspaceCard.tsx +++ b/src/widgets/workspace-list/ui/WorkspaceCard.tsx @@ -33,7 +33,7 @@ export default function WorkspaceCard({ workspace }: WorkspaceCardProps) {
-
+
{member_count}명 From cd57478bcf528dfc0b0d4d6f055c61517df4ab4f Mon Sep 17 00:00:00 2001 From: JiHo Jeon Date: Mon, 6 Jul 2026 16:50:59 +0900 Subject: [PATCH 4/5] =?UTF-8?q?design:=20=ED=9E=88=EC=96=B4=EB=A1=9C=20?= =?UTF-8?q?=EB=AC=B4=EB=B9=99=20=EA=B7=B8=EB=9D=BC=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EB=B0=B0=EA=B2=BD=20=ED=81=AC=EA=B8=B0=20=EC=9C=A0?= =?UTF-8?q?=ED=8B=B8=EB=A6=AC=ED=8B=B0=EB=A1=9C=20=EC=A0=95=EB=A6=AC=20(#1?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - bg-[length:200%_auto] → bg-size-[200%_auto] (Tailwind v4 유틸리티, 시각 동등) --- src/widgets/landing/landing-hero/ui/HeroSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/landing/landing-hero/ui/HeroSection.tsx b/src/widgets/landing/landing-hero/ui/HeroSection.tsx index 4587bd9..18657af 100644 --- a/src/widgets/landing/landing-hero/ui/HeroSection.tsx +++ b/src/widgets/landing/landing-hero/ui/HeroSection.tsx @@ -39,7 +39,7 @@ export default function HeroSection() { className="relative z-10 flex flex-col gap-0.75 text-4xl leading-[1.4] font-extrabold tracking-[-1.2px] sm:text-5xl" > 협업은 더 가볍게 - + 성과는 더 빠르게 From 3a245d7a18f01c34918f2c25674db6fa823dd035 Mon Sep 17 00:00:00 2001 From: JiHo Jeon Date: Mon, 6 Jul 2026 17:28:18 +0900 Subject: [PATCH 5/5] =?UTF-8?q?fix:=20CodeRabbit=20=EB=A6=AC=EB=B7=B0=20?= =?UTF-8?q?=EB=B0=98=EC=98=81=20=E2=80=94=20=EA=B2=8C=EC=9D=B4=ED=8A=B8=20?= =?UTF-8?q?=EA=B2=AC=EA=B3=A0=ED=99=94=20=EB=B0=8F=20purpose=20=ED=8F=B4?= =?UTF-8?q?=EB=B0=B1=20(#8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 게이트 스크립트: 스캔 전 주석 제거로 주석 내 예시 클래스 오탐 방지 - 게이트 정규식 variant prefix를 유한 반복({0,10})으로 바운딩해 ReDoS 방지 - WorkspaceCard: purpose 미매핑 시 custom으로 폴백 - README 스크립트 표에 lint:tw 반영 --- README.md | 21 ++++++++++--------- scripts/check-tailwind-spacing.mjs | 12 +++++++++-- .../workspace-list/ui/WorkspaceCard.tsx | 3 ++- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ee6cd60..13754e1 100644 --- a/README.md +++ b/README.md @@ -79,16 +79,17 @@ npm run dev ## 스크립트 -| 명령어 | 설명 | -| ---------------------- | ----------------------------------------- | -| `npm run dev` | 개발 서버 실행 | -| `npm run build` | 프로덕션 빌드 | -| `npm run start` | 프로덕션 서버 실행 | -| `npm run lint` | ESLint 검사 | -| `npm run typecheck` | TypeScript 타입 검사 | -| `npm run format` | Prettier 포맷 적용 | -| `npm run format:check` | Prettier 포맷 검사 | -| `npm run check` | lint + typecheck + format:check 일괄 검사 | +| 명령어 | 설명 | +| ---------------------- | --------------------------------------------------- | +| `npm run dev` | 개발 서버 실행 | +| `npm run build` | 프로덕션 빌드 | +| `npm run start` | 프로덕션 서버 실행 | +| `npm run lint` | ESLint 검사 | +| `npm run lint:tw` | Tailwind spacing 임의값 프리셋 검사 | +| `npm run typecheck` | TypeScript 타입 검사 | +| `npm run format` | Prettier 포맷 적용 | +| `npm run format:check` | Prettier 포맷 검사 | +| `npm run check` | lint + lint:tw + typecheck + format:check 일괄 검사 | ## 프로젝트 구조 diff --git a/scripts/check-tailwind-spacing.mjs b/scripts/check-tailwind-spacing.mjs index 80f162e..deaac2d 100644 --- a/scripts/check-tailwind-spacing.mjs +++ b/scripts/check-tailwind-spacing.mjs @@ -33,7 +33,8 @@ const SPACING_PREFIXES = [ // 예: gap-[15px], sm:p-[21px], -mt-[8px], group-hover:gap-x-[12px] const PATTERN = new RegExp( - '(?:^|[\\s"\'\\x60])(?:[a-z][a-z-]*:)*(-?)(' + + // variant prefix는 유한 반복({0,10})으로 바운딩해 중첩 quantifier 백트래킹(ReDoS)을 방지한다 + '(?:^|[\\s"\'\\x60])(?:[a-z][a-z-]*:){0,10}(-?)(' + SPACING_PREFIXES.join('|') + ')-\\[(\\d+(?:\\.\\d+)?)px\\]', 'g', @@ -49,9 +50,16 @@ function walk(dir) { return files; } +// 주석(//, /* */) 안의 예시 클래스가 오탐되지 않도록 스캔 전 주석을 제거한다 (줄 번호는 유지) +function stripComments(source) { + return source + .replace(/\/\*[\s\S]*?\*\//g, (block) => block.replace(/[^\n]/g, ' ')) + .replace(/\/\/[^\n]*/g, ''); +} + const violations = []; for (const file of walk(ROOT)) { - const lines = readFileSync(file, 'utf8').split('\n'); + const lines = stripComments(readFileSync(file, 'utf8')).split('\n'); lines.forEach((line, index) => { for (const match of line.matchAll(PATTERN)) { const [, sign, prefix, px] = match; diff --git a/src/widgets/workspace-list/ui/WorkspaceCard.tsx b/src/widgets/workspace-list/ui/WorkspaceCard.tsx index dab6099..ba04ba7 100644 --- a/src/widgets/workspace-list/ui/WorkspaceCard.tsx +++ b/src/widgets/workspace-list/ui/WorkspaceCard.tsx @@ -11,7 +11,8 @@ interface WorkspaceCardProps { export default function WorkspaceCard({ workspace }: WorkspaceCardProps) { const { id, name, purpose, member_count, task_count, done_task_count, progress, updated_at } = workspace; - const meta = WORKSPACE_PURPOSE_META[purpose]; + // 백엔드 연동 후 DB의 purpose가 유니언과 어긋날 수 있어 custom으로 폴백한다 + const meta = WORKSPACE_PURPOSE_META[purpose] ?? WORKSPACE_PURPOSE_META.custom; const PurposeIcon = meta.icon; return (