Skip to content

fix: remove tracked node_modules files#413

Merged
khwww merged 3 commits intomainfrom
fix/remove-tracked-node-modules
Feb 4, 2026
Merged

fix: remove tracked node_modules files#413
khwww merged 3 commits intomainfrom
fix/remove-tracked-node-modules

Conversation

@khwww
Copy link
Contributor

@khwww khwww commented Feb 3, 2026

작업 내용

node_modules에 대한 추적을 해제하여 .gitignore가 정상 적용되도록 수정했습니다.

특이 사항

리뷰 요구사항 (선택)

@vercel
Copy link

vercel bot commented Feb 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
solid-connect-web-admin Error Error Feb 3, 2026 5:45pm
solid-connection-web Ready Ready Preview, Comment Feb 3, 2026 5:45pm

@coderabbitai
Copy link

coderabbitai bot commented Feb 3, 2026

🎯 Walkthrough

이 풀 요청은 React 타입 시스템을 현대화하는 리팩토링으로, 다음과 같은 변경사항들을 포함합니다:

  1. 의존성 업데이트

    • @types/react를 ^18.2.55에서 18.3.27로 업데이트
    • @types/react-dom 18.3.7 새로 추가
  2. 타입 임포트 정규화

    • React 네임스페이스를 거치지 않고 직접 타입을 임포트하도록 통일 (예: React.RefObjectRefObject)
    • 영향받는 타입: RefObject, MutableRefObject, ReactNode, ChangeEvent
  3. 아이콘 타입 래핑

    • lucide-react 아이콘 컴포넌트들을 ComponentType 타입으로 캐스팅하여 일관성 있는 타입 안전성 제공
  4. TypeScript 설정 강화

    • tsconfig.jsontypestypeRoots 명시적 설정 추가

모든 변경사항은 런타임 동작을 변경하지 않고 오직 타입 선언과 임포트 구조만 조정합니다.

🎯 Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

💡 Suggested reviewers

  • wibaek
🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning PR 제목과 실제 변경 내용 간의 큰 불일치가 있습니다. 제목은 'node_modules 파일 추적 제거'를 언급하지만, 실제 변경사항은 React 타입 정의 업데이트 및 컴포넌트 타입 시그니처 개선입니다. PR 제목을 실제 변경 내용에 맞게 수정하세요. 예: 'refactor: React 타입 import 정리 및 타입 시그니처 개선' 또는 변경사항을 정확히 반영하는 제목으로 변경이 필요합니다.
Description check ⚠️ Warning PR 설명이 실제 변경 내용과 불일치합니다. 설명은 .gitignore 적용 관련 node_modules 추적 해제를 언급하지만, 실제 변경사항은 React 타입 정의 업그레이드 및 타입 시그니처 리팩토링입니다. PR 설명을 실제 변경 내용으로 업데이트하세요: 패키지 의존성 업데이트, 타입 import 추가, 컴포넌트 타입 시그니처 개선 등을 명확히 기술하고, 필요시 '특이 사항'에 마이그레이션 영향을 기술하세요.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/remove-tracked-node-modules

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions github-actions bot added the web label Feb 3, 2026
Copy link
Contributor

@manNomi manNomi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앞으로 이런 pr은 바로 머지 편하게 해주십쇼!
고생많으셨습니다

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/web/src/app/my/modify/_ui/ModifyContent/_ui/ImageInputFiled/_hooks/useImageInputHandler.ts (1)

37-42: ⚠️ Potential issue | 🟡 Minor

1) Object URL 해제가 없어 메모리가 조금씩 샐 수 있어요.
파일을 여러 번 선택하면 createObjectURL이 누적됩니다.
이전 URL을 revoke하고 언마운트 시 정리하는 게 안전합니다.

🧹 정리용 패치 예시
-  const fileInputRef = useRef<HTMLInputElement>(null);
+  const fileInputRef = useRef<HTMLInputElement>(null);
+  const objectUrlRef = useRef<string | null>(null);
@@
   const handleFileChange = (event: ChangeEvent<HTMLInputElement>) => {
     const file = event.target.files?.[0];
     if (file) {
       setFormValue(file); // useController로 폼 값 설정
-      setImagePreviewUrl(URL.createObjectURL(file));
+      if (objectUrlRef.current) URL.revokeObjectURL(objectUrlRef.current);
+      const objectUrl = URL.createObjectURL(file);
+      objectUrlRef.current = objectUrl;
+      setImagePreviewUrl(objectUrl);
     }
   };
+
+  useEffect(() => {
+    return () => {
+      if (objectUrlRef.current) URL.revokeObjectURL(objectUrlRef.current);
+    };
+  }, []);
🤖 Fix all issues with AI agents
In `@apps/web/src/app/`(home)/_ui/NewsSection/_hooks/useSectionHadnler.ts:
- Line 1: 현재 파일의 import 정렬이 맞지 않아 CI의 organizeImports 오류가 발생합니다;
useSectionHadnler.ts의 import 목록(예: useEffect, useRef, useState, type RefObject
from "react")을 자동 정렬 도구로 정렬하거나 수동으로 알파벳/그룹별로 정리해서 불필요한 공백·중복을 제거하고 import 구문이
프로젝트 규칙(타입 import 분리 등)에 맞도록 맞춰 주세요.

In `@apps/web/src/app/layout.tsx`:
- Around line 1-5: Reorder the imports at the top of the file to follow Biome's
default grouping and sorting: group external packages together (e.g., combine
the three "next" imports: next, next/dynamic, next/font/local) and place
React/React types with other external libs (keep "import type { Metadata,
Viewport } from 'next';" and "import dynamic from 'next/dynamic';" and "import
localFont from 'next/font/local';" adjacent), then any local imports afterwards;
ensure each group is alphabetized and same-source imports are adjacent so the
three next-related imports are contiguous.

In
`@apps/web/src/app/my/modify/_ui/ModifyContent/_ui/ImageInputFiled/_hooks/useImageInputHandler.ts`:
- Around line 1-2: The import statements in useImageInputHandler.ts are unsorted
and causing CI warnings; reorder them so they follow the project's import
ordering rule (React imports first, then external libs) — specifically put
`import { useEffect, useRef, useState, type ChangeEvent, type RefObject } from
"react";` before `import { useController, useFormContext } from
"react-hook-form";` (or run your editor's organizeImports/format on the file) to
resolve the warning.

In `@apps/web/src/app/university/application/ScoreSearchBar.tsx`:
- Around line 1-3: 현재 파일 ScoreSearchBar.tsx의 import 정렬이 CI에서 실패하고 있습니다; 외부(react
등) 모듈을 먼저 두고 프로젝트 절대/상대 경로(imports like "@/public/svgs")를 그 다음에 배치하도록 정렬하세요.
구체적으로 IconSearchFilled와 type RefObject의 import 순서를 바꿔 외부 모듈(예: react)의 import를
최상단에 두고 이후에 "@/public/svgs"를 위치시키며, organizeImports 규칙을 따르도록 정렬 도구(또는 IDE의 정리
명령)를 실행해 CI 오류를 제거하세요.

In `@apps/web/src/components/mentor/ChannelSelct/_hooks/useSelectHandler.ts`:
- Around line 1-2: 정리되지 않은 import 순서로 organizeImports 실패가 발생하므로 파일
useSelectHandler.ts의 import 구문을 정렬해 주세요: 외부 패키지들을 먼저 그룹화하고 React 관련(import {
useEffect, useRef, useState, type RefObject } from "react")와 react-hook-form
관련(import { type Control, type FieldValues, useController } from
"react-hook-form")을 알파벳/일관된 규칙으로 정렬하고 타입 전용(import type ...)은 함께 묶어 한 줄 또는 논리적
그룹으로 정리하면 CI의 organizeImports 경고가 해결됩니다.

In `@apps/web/src/components/ui/BottomSheet/hooks/useHandleModal.ts`:
- Around line 1-9: The import list at the top of useHandleModal.ts is failing
the organizeImports lint rule; reorder/group the imports (e.g., alphabetize and
place plain imports before type-only imports or run your editor/tsserver
organize imports) so the import statement for React hooks (useCallback,
useEffect, useMemo, useRef, useState) and the type imports (type
MutableRefObject, type RefObject) follow the project's import ordering
convention and the CI will pass; you can apply your IDE's "Organize Imports" or
run the TypeScript/ESLint fixer to update the import line.

@@ -1,7 +1,7 @@
import { useEffect, useRef, useState } from "react";
import { useEffect, useRef, useState, type RefObject } from "react";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

1) import 정렬로 CI를 살려 주세요.
organizeImports 오류가 떠 있어요.
자동 정렬 한 번 돌리면 바로 잠잠해집니다.

🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: FIXABLE. The imports/exports are not sorted.

🤖 Prompt for AI Agents
In `@apps/web/src/app/`(home)/_ui/NewsSection/_hooks/useSectionHadnler.ts at line
1, 현재 파일의 import 정렬이 맞지 않아 CI의 organizeImports 오류가 발생합니다; useSectionHadnler.ts의
import 목록(예: useEffect, useRef, useState, type RefObject from "react")을 자동 정렬
도구로 정렬하거나 수동으로 알파벳/그룹별로 정리해서 불필요한 공백·중복을 제거하고 import 구문이 프로젝트 규칙(타입 import 분리
등)에 맞도록 맞춰 주세요.

Comment on lines 1 to 5
import type { Metadata, Viewport } from "next";
import type { ReactNode } from "react";
import dynamic from "next/dynamic";
import localFont from "next/font/local";

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

cat -n apps/web/src/app/layout.tsx | head -20

Repository: solid-connection/solid-connect-web

Length of output: 896


🏁 Script executed:

# Find Biome configuration
find . -name "biome.json" -o -name ".biomerc*" -o -name "biome.jsonc" 2>/dev/null

Repository: solid-connection/solid-connect-web

Length of output: 136


🏁 Script executed:

# Check for CI configuration
find . -name ".github" -o -name ".gitlab-ci.yml" -o -name ".circleci" 2>/dev/null | head -5

Repository: solid-connection/solid-connect-web

Length of output: 87


🏁 Script executed:

# Look for organizeImports configuration
rg "organizeImports" --type json

Repository: solid-connection/solid-connect-web

Length of output: 131


🏁 Script executed:

cat apps/web/biome.json

Repository: solid-connection/solid-connect-web

Length of output: 1123


🏁 Script executed:

cat biome.json

Repository: solid-connection/solid-connect-web

Length of output: 2849


🏁 Script executed:

# Check GitHub Actions workflow for CI
find .github/workflows -name "*.yml" -o -name "*.yaml" | xargs cat 2>/dev/null | head -100

Repository: solid-connection/solid-connect-web

Length of output: 2549


🏁 Script executed:

# Search for any import sorting related configs
rg "sortingStrategy|imports" --type json

Repository: solid-connection/solid-connect-web

Length of output: 60


🏁 Script executed:

# Find the base Biome config
find . -path "*/packages/config/biome/base.json"

Repository: solid-connection/solid-connect-web

Length of output: 111


🏁 Script executed:

# Check web app package.json scripts
cat apps/web/package.json | grep -A 20 '"scripts"'

Repository: solid-connection/solid-connect-web

Length of output: 782


🏁 Script executed:

# Check if there's a prettier or biome config with import sorting
rg "import.*sort|sortingStrategy" --type json --type javascript

Repository: solid-connection/solid-connect-web

Length of output: 112


🏁 Script executed:

cat packages/config/biome/base.json

Repository: solid-connection/solid-connect-web

Length of output: 2849


🏁 Script executed:

# Search for organizeImports without language specification
rg "organizeImports" packages/

Repository: solid-connection/solid-connect-web

Length of output: 60


🏁 Script executed:

# Check if organizeImports is mentioned anywhere in biome configs
rg "organizeImports" . --type json

Repository: solid-connection/solid-connect-web

Length of output: 133


🏁 Script executed:

# Check for any recent CI logs or workflow runs that might show organizeImports errors
find .github -type f -name "*.yml" -o -name "*.yaml" | xargs grep -l "organizeImports" 2>/dev/null

Repository: solid-connection/solid-connect-web

Length of output: 62


🏁 Script executed:

# Verify import order by checking Biome's default behavior
# Let's see if there are any other TypeScript/JavaScript files with import patterns
rg "^import type.*from" --max-count 5 -A 2 apps/web/src

Repository: solid-connection/solid-connect-web

Length of output: 50390


🏁 Script executed:

# Check if there's any CI failure logs or configuration that shows import failures
cd apps/web && grep -r "organizeImports" . 2>/dev/null || echo "No organizeImports found in web app"

Repository: solid-connection/solid-connect-web

Length of output: 113


🏁 Script executed:

# Verify Biome's import sorting behavior in the base config
cat packages/config/biome/base.json | grep -A 10 -B 5 "import\|sort"

Repository: solid-connection/solid-connect-web

Length of output: 60


🏁 Script executed:

# Check standard import ordering pattern across the codebase
rg "^import type.*from.*next" -A 3 apps/web/src/app --max-count 3

Repository: solid-connection/solid-connect-web

Length of output: 9952


🏁 Script executed:

# Let me check if there's any recent activity or logs showing actual import-related failures
git log --oneline --all -- apps/web/src/app/layout.tsx | head -5

Repository: solid-connection/solid-connect-web

Length of output: 203


🏁 Script executed:

# Check if there are any TypeScript or linting issues specific to import ordering
rg "noUnusedVariables|noUnusedFunctionParameters" packages/config/biome/base.json

Repository: solid-connection/solid-connect-web

Length of output: 114


Import 순서를 Biome 기본 포맷팅에 맞춰 정리해 주세요.

같은 패키지의 import들을 함께 그룹화하면 더 명확합니다. 현재는 next 관련 import들이 분산되어 있으므로, 같은 출처별로 묶어주면 됩니다.

🧹 정렬 제안
-import type { Metadata, Viewport } from "next";
-import type { ReactNode } from "react";
-import dynamic from "next/dynamic";
-import localFont from "next/font/local";
+import type { Metadata, Viewport } from "next";
+import dynamic from "next/dynamic";
+import localFont from "next/font/local";
+import type { ReactNode } from "react";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import type { Metadata, Viewport } from "next";
import type { ReactNode } from "react";
import dynamic from "next/dynamic";
import localFont from "next/font/local";
import type { Metadata, Viewport } from "next";
import dynamic from "next/dynamic";
import localFont from "next/font/local";
import type { ReactNode } from "react";
🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: FIXABLE. The imports/exports are not sorted.

🤖 Prompt for AI Agents
In `@apps/web/src/app/layout.tsx` around lines 1 - 5, Reorder the imports at the
top of the file to follow Biome's default grouping and sorting: group external
packages together (e.g., combine the three "next" imports: next, next/dynamic,
next/font/local) and place React/React types with other external libs (keep
"import type { Metadata, Viewport } from 'next';" and "import dynamic from
'next/dynamic';" and "import localFont from 'next/font/local';" adjacent), then
any local imports afterwards; ensure each group is alphabetized and same-source
imports are adjacent so the three next-related imports are contiguous.

Comment on lines +1 to 2
import { useEffect, useRef, useState, type ChangeEvent, type RefObject } from "react";
import { useController, useFormContext } from "react-hook-form";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

1) import 정렬로 CI 경고를 없애 주세요.
organizeImports가 실패하고 있어요.
정렬 한 번이면 해결됩니다.

🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: FIXABLE. The imports/exports are not sorted.

🤖 Prompt for AI Agents
In
`@apps/web/src/app/my/modify/_ui/ModifyContent/_ui/ImageInputFiled/_hooks/useImageInputHandler.ts`
around lines 1 - 2, The import statements in useImageInputHandler.ts are
unsorted and causing CI warnings; reorder them so they follow the project's
import ordering rule (React imports first, then external libs) — specifically
put `import { useEffect, useRef, useState, type ChangeEvent, type RefObject }
from "react";` before `import { useController, useFormContext } from
"react-hook-form";` (or run your editor's organizeImports/format on the file) to
resolve the warning.

Comment on lines 1 to 3
import { IconSearchFilled } from "@/public/svgs";
import type { RefObject } from "react";

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

1) import 순서를 정렬해 CI 오류를 없애 주세요.
organizeImports가 실패 중이에요.
외부 모듈을 먼저 두면 통과 가능성이 높습니다.

🧭 정렬 예시
-import { IconSearchFilled } from "@/public/svgs";
-import type { RefObject } from "react";
+import type { RefObject } from "react";
+import { IconSearchFilled } from "@/public/svgs";
🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: The imports and exports are not sorted.

🤖 Prompt for AI Agents
In `@apps/web/src/app/university/application/ScoreSearchBar.tsx` around lines 1 -
3, 현재 파일 ScoreSearchBar.tsx의 import 정렬이 CI에서 실패하고 있습니다; 외부(react 등) 모듈을 먼저 두고
프로젝트 절대/상대 경로(imports like "@/public/svgs")를 그 다음에 배치하도록 정렬하세요. 구체적으로
IconSearchFilled와 type RefObject의 import 순서를 바꿔 외부 모듈(예: react)의 import를 최상단에 두고
이후에 "@/public/svgs"를 위치시키며, organizeImports 규칙을 따르도록 정렬 도구(또는 IDE의 정리 명령)를 실행해
CI 오류를 제거하세요.

Comment on lines +1 to 2
import { useEffect, useRef, useState, type RefObject } from "react";
import { type Control, type FieldValues, useController } from "react-hook-form";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

1) import 정렬 이슈를 정리해 주세요.
organizeImports 실패가 보고되어 있어요.
정렬 한 번 돌리면 CI가 웃습니다.

🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: The imports and exports are not sorted.

🤖 Prompt for AI Agents
In `@apps/web/src/components/mentor/ChannelSelct/_hooks/useSelectHandler.ts`
around lines 1 - 2, 정리되지 않은 import 순서로 organizeImports 실패가 발생하므로 파일
useSelectHandler.ts의 import 구문을 정렬해 주세요: 외부 패키지들을 먼저 그룹화하고 React 관련(import {
useEffect, useRef, useState, type RefObject } from "react")와 react-hook-form
관련(import { type Control, type FieldValues, useController } from
"react-hook-form")을 알파벳/일관된 규칙으로 정렬하고 타입 전용(import type ...)은 함께 묶어 한 줄 또는 논리적
그룹으로 정리하면 CI의 organizeImports 경고가 해결됩니다.

Comment on lines +1 to +9
import {
useCallback,
useEffect,
useMemo,
useRef,
useState,
type MutableRefObject,
type RefObject,
} from "react";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

1) import 정렬을 맞춰 CI를 통과시켜 주세요.
organizeImports 오류가 잡혀 있어요.
자동 정렬로 간단히 해결됩니다.

🧰 Tools
🪛 GitHub Actions: CI

[error] 1-1: assist/source/organizeImports: The imports and exports are not sorted.

🤖 Prompt for AI Agents
In `@apps/web/src/components/ui/BottomSheet/hooks/useHandleModal.ts` around lines
1 - 9, The import list at the top of useHandleModal.ts is failing the
organizeImports lint rule; reorder/group the imports (e.g., alphabetize and
place plain imports before type-only imports or run your editor/tsserver
organize imports) so the import statement for React hooks (useCallback,
useEffect, useMemo, useRef, useState) and the type imports (type
MutableRefObject, type RefObject) follow the project's import ordering
convention and the CI will pass; you can apply your IDE's "Organize Imports" or
run the TypeScript/ESLint fixer to update the import line.

@khwww khwww merged commit c8b506d into main Feb 4, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants