Skip to content

fix: remove vulnerable frontend CLI dependency - #133

Closed
seonghobae wants to merge 2 commits into
masterfrom
fix/frontend-dependabot-alerts-20260511
Closed

fix: remove vulnerable frontend CLI dependency#133
seonghobae wants to merge 2 commits into
masterfrom
fix/frontend-dependabot-alerts-20260511

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • Remove the unused shadcn CLI package from frontend runtime dependencies.
  • Keep the tiny Tailwind helper CSS in-tree and import it locally so the build no longer depends on shadcn/tailwind.css.
  • Remove the transitive dependency tree that introduced Dependabot alerts for fast-uri, hono, and ip-address, plus the node-domexception install deprecation warning.

Verification

  • npm audit --package-lock-only --omit=dev --audit-level=moderate
  • npm ci
  • npm test
  • npm run lint
  • npm run build
  • git diff --check

Evidence

  • Local lockfile check reports shadcn, fast-uri, hono, express-rate-limit, ip-address, and node-domexception are not present in package-lock.json.
  • Verification completed without npm warning/deprecation output after removing shadcn.

Release program linkage

Known external blocker

@coderabbitai

coderabbitai Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b8b310a2-ff2c-4b1a-a16c-5d7de82ad794

📥 Commits

Reviewing files that changed from the base of the PR and between f0f6e0b and e3c2f7b.

📒 Files selected for processing (1)
  • frontend/src/app/shadcn-tailwind.css

📝 Walkthrough

Summary by CodeRabbit

변경 사항

  • Chores
    • 외부 스타일 라이브러리 의존성을 제거하고 스타일링을 로컬로 통합했습니다.
  • Style
    • 전역 스타일을 재구성하고 컴포넌트 상태/방향 처리를 위한 스타일 변형과 스크롤바 숨김 등 UI 유틸리티를 추가하여 일관된 시각적 동작을 개선했습니다.

Walkthrough

외부 shadcn 패키지를 제거하고, 그 Tailwind primitives(애니메이션 키프레임, 데이터-속성 변형, no-scrollbar 유틸리티)를 frontend/src/app/shadcn-tailwind.css로 로컬화한 뒤 globals.css import를 로컬 파일로 전환합니다.

변경 사항

Shadcn 패키지 로컬화

Layer / File(s) Summary
Tailwind 테마 및 유틸리티
frontend/src/app/shadcn-tailwind.css
Accordion 키프레임(accordion-down, accordion-up), 데이터-속성 기반 커스텀 변형(data-open, data-closed, data-checked, data-unchecked, data-selected, data-disabled, data-active, data-horizontal, data-vertical) 및 no-scrollbar 유틸리티를 추가합니다.
스타일시트 통합
frontend/src/app/globals.css
CSS import 경로를 shadcn/tailwind.css에서 ./shadcn-tailwind.css로 변경합니다.
의존성 제거
frontend/package.json
dependencies에서 shadcn (^4.5.0) 항목을 제거합니다.

예상 코드 리뷰 난이도

🎯 2 (단순) | ⏱️ ~10분

나는 당근을 씹으며 말하네 🥕
작은 파일 하나 손에 쥐고
외부 짐 덜어내니 가벼워졌네
로컬 스타일이 길을 만들고
앱은 같은 모습으로 빛나네 ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: removing the vulnerable shadcn CLI dependency from frontend runtime dependencies, which is the primary objective of the changeset.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, detailing why the shadcn dependency was removed, what was changed, verification steps performed, and the impact on dependency management.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/frontend-dependabot-alerts-20260511

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented May 10, 2026

Copy link
Copy Markdown

Greptile Summary

  • shadcn CLI 패키지를 런타임 의존성에서 제거하고, 필요한 CSS(@keyframes, @custom-variant, @utility)를 shadcn-tailwind.css로 인-트리 복사하여 Dependabot 취약점 경고(fast-uri, hono, ip-address)와 node-domexception 설치 경고를 해소합니다.
  • package-lock.json에서 shadcn을 통해 런타임으로 포함되던 Babel 패키지들이 "dev": true로 올바르게 재분류되어 프로덕션 번들 노출이 줄어듭니다.
  • 아코디언 CSS 변수 폴백 체인(--radix-accordion-content-height → --accordion-panel-height → auto)의 의도가 파일 상단 주석으로 명확히 문서화되어 있어 유지보수 부담이 낮습니다.

Confidence Score: 5/5

머지에 안전합니다. 변경 범위가 명확히 의존성 제거와 CSS 인-트리 복사에 한정되어 있으며, 기존 기능을 훼손하지 않습니다.

P1 이상의 이슈가 없습니다. shadcn 제거 → CSS 로컬 복사 → lock 파일 정리로 이어지는 변경이 일관되고 검증 스텝(audit, ci, test, lint, build)도 PR 설명에 명시되어 있습니다.

특별히 주의가 필요한 파일 없음.

Important Files Changed

Filename Overview
frontend/package.json shadcn 런타임 의존성 한 줄만 제거 — 나머지 의존성 목록은 변경 없음
frontend/src/app/globals.css shadcn/tailwind.css 외부 임포트를 ./shadcn-tailwind.css 로컬 파일 임포트로 교체 — 정확하고 간결한 변경
frontend/src/app/shadcn-tailwind.css shadcn@4.5.0 dist/tailwind.css의 인-트리 복사본 추가; 아코디언 폴백 체인 의도가 헤더 주석으로 명확히 문서화됨
frontend/package-lock.json shadcn 및 하위 트리(fast-uri, hono, ip-address 등) 제거, shadcn을 통해 런타임으로 끌려들어오던 Babel 패키지들이 "dev": true로 올바르게 재분류됨

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["globals.css"] -->|"@import './shadcn-tailwind.css' (변경 후)"| B["shadcn-tailwind.css\n(인-트리 복사본)"]
    A -->|"@import 'tailwindcss'"| C["tailwindcss"]
    A -->|"@import 'tw-animate-css'"| D["tw-animate-css"]
    E["package.json (이전)"] -->|"runtime dep"| F["shadcn@4.5.0"]
    F --> G["fast-uri ⚠️"]
    F --> H["hono ⚠️"]
    F --> I["ip-address ⚠️"]
    F --> J["node-domexception 🚫"]
    L["package.json (이후)"] -->|"제거됨"| M["🗑️ shadcn 및 취약 트리"]
    L -->|"로컬 CSS"| B
Loading

Reviews (2): Last reviewed commit: "docs: clarify local shadcn Tailwind sour..." | Re-trigger Greptile

Comment thread frontend/src/app/shadcn-tailwind.css
@seonghobae

Copy link
Copy Markdown
Contributor Author

이 PR의 목적(프론트엔드 취약 의존성 제거)은 후속 보안 리메디에이션 및 릴리스 작업에 의해 supersede 되었습니다. 최신 릴리스 기준은 v0.13.0 입니다.

@seonghobae seonghobae closed this May 13, 2026
auto-merge was automatically disabled May 13, 2026 04:54

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant