Repository navigation
[DONE] Lab 밖 CSS 모듈 다섯에서 아무 컴포넌트도 읽지 않는 클래스 23개가 빠지고, 시험이 사이트 전체의 CSS 모듈을 본다 - #251
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DU1iNPYKhr4f79Z8KHxqj8
…for them Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DU1iNPYKhr4f79Z8KHxqj8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DU1iNPYKhr4f79Z8KHxqj8
patternflow-bot
marked this pull request as ready for review
October 25, 2026 07:53
engmung
pushed a commit
to engmung/Patternflow
that referenced
this pull request
Oct 25, 2026
engmung
pushed a commit
to engmung/Patternflow
that referenced
this pull request
Oct 25, 2026
10 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ops / https://claude.ai/code/session_01DU1iNPYKhr4f79Z8KHxqj8
로드맵, 커뮤니티, 가이드, Build 탭의 CSS 모듈 다섯에서 어느 컴포넌트도 읽지 않던 클래스 23개와 그 규칙 30개를 걷었어요. 화면은 그대로이고, 이제 사이트의 CSS 모듈 48개 어디에 그런 클래스가 생겨도 시험이 빨개져요.
좋아지는 것: 없음
체크리스트
8 과 지시 6, 7 은 바퀴 91100 이 맡았고, 남은 줄 9~15 가운데 맨 위가 9c4ca454에서 23개, 표와 같음@keyframes draw와 변수 셋도src/의 CSS 모듈 48개를 보고,.zzDead {}에 빨개지는지1331acd([DONE] 연구 페이지에 기사 여행과 FPUT 되돌아옴을 포함한 수학 다섯과 박쥐 떼와 번개 흉가를 포함한 할로윈 다섯이 서고, 패턴 하나뿐이던 지도 칸 둘에 둘째가 선다 #245,incoming/pattern-study/만) merge,4acaac7에서 Drift checks 와 Web CI 초록한 일
app/roadmap/Roadmap.module.css에서 11개를 걷었어요.legend,legendItem,legendDrag,swatchDone,swatchPlanned,swatchDep,zoomGroup,zoomBtn,zoomVal,mapCaption은 규칙째 빠지고,gridLine은.gridLine, .gridLineHorizontal에서 이름만 뺐어요.components/community/Community.module.css에서 9개를 걷었어요. 「Sign-in gate」 덩어리(gatePanel,gateText,gateTitle,gateSub),sectionLink,btnLink,freshStrip(그@media두 블록까지),introRow(900px 아래 블록 안의 규칙까지),composerCount예요.btnAccentLink주석이 「The accent weight of the same thing」 으로btnLink를 가리켜서,btnLink주석에 있던 까닭(기기 주소로 나가니 진짜 링크)을btnAccentLink주석 안으로 옮겼어요.components/community/Atlas.module.css의panelWell,components/guide/desk/Desk.module.css의appEmpty,components/sections/BuildPanel.module.css의note예요.components/guide/Guide.module.css의@keyframes draw도 걷었어요. 모듈의 keyframe 은 그 파일 안에서만 부를 수 있는데 그 파일 어디도draw를 부르지 않아요. 아무도var()로 읽지 않는--cw-hair(ConsoleWindow.module.css),--d-hair(Desk.module.css),--lw-chrome-2(LabWindow.module.css)도 빠졌어요.labCss.test.ts의 「define no class that no component uses」 를 새src/cssModules.test.ts로 옮겨src/의*.module.css48개를 다 보게 했어요. 셈 도우미(readers,bareCss)는labCss.test.ts의 다른 두 시험도 써서web/test/cssModules.ts로 꺼냈어요.test/setup.ts옆이에요.import styles from './X.module.css'처럼 홑따옴표로 불러서, 겹따옴표만 찾던 셈은 187개를 죽었다고 했어요.:global(.pf-kicker)와:global(.guide-knob-tag)안의 이름은 페이지 것이라 모듈이 정의한 이름에서 빼요. 이 둘을 고치니 23개가 남아 표와 같았어요.styles["a-b"]처럼 하이픈 든 이름으로 읽는 것도 받게 했는데, 오늘 그렇게 읽는 파일은 없어요.CSS 는 241줄 빠지고 1줄 들어왔어요. 들어온 1줄은
btnAccentLink주석이에요.증거
다시 센 것(dev
c4ca454,src/의 CSS 모듈 48개, 이 브랜치의 시험과 같은 셈):시험이 정말 잡는지: CSS 여덟 파일을 dev 판으로 되돌리고
PatternPanel.module.css끝에.zzDead {}를 넣어npx vitest run src/cssModules.test.ts를 돌렸어요.되돌린 뒤엔
src/cssModules.test.ts와labCss.test.ts가Tests 16 passed (16)이에요.화면이 그대로인지:
COMMUNITY_ENABLED=1과 스크래치의 빈 DB 로 빌드해next start하고, Chromium 으로/roadmap,/community,/community/atlas,/guide/make,/build를 390×844(터치)와 1440×900 에서reducedMotion: "reduce"로 열었어요. 요소마다getComputedStyle의 모든 속성과::before,::after를 정렬해 모았어요. dev 를 두 번 찍어 0 차이부터 봤어요.--d-hair와--lw-chrome-2는 Desk 와 Lab 창의 뿌리에 정의돼 있어서 그 아래 요소가 다 물려받았어요. 걷으니 그 요소들의 계산된 스타일에서 그 이름 하나가 빠진 것이 294개 가운데 290개예요. 나머지 넷은 CSS 묶음의 이름(해시)이 바뀌며<head>의<link>와<script>순서가 바뀐 거라 그려지는 요소가 아니에요.CSS 크기(
.next/static/chunks/*.css전부): 460,558 B 에서 457,281 B 로 3,277 B 줄었어요. 파일마다 gzip 한 합은 77,083 B 에서 76,618 B 예요.다섯 검사(
web/, 끝줄):dev 를 merge 한
4acaac7의 GitHub 검사:그 앞
95bcc5f(시험 머리 주석만 고친 커밋)의 Web CI 는 Build 단계에서layout.tsx의 Newsreader 글꼴을 Google Fonts 에서 받다가 「next/font/google queries have exactly one entry」 로 빨갰어요. 코드가 같은b951920은 초록이었고, 실패한 잡을 한 번 다시 돌리니 초록이었어요.화면을 바꾸지 않아서 PR 에 사진은 싣지 않았어요.
실행법
cd web npx vitest run src/cssModules.test.ts src/app/pattern-lab/labCss.test.ts가정
src/cssModules.test.ts와labCss.test.ts를 넓히는 것을 둘 다 열어 뒀어요. 사이트 전체를 보는 시험이 Lab 폴더에 있으면 찾기 어려워서 새 파일로 옮겼어요. 도우미를 꺼낸web/test/cssModules.ts는vitest.config.ts의include(src/**/*.test.{ts,tsx}) 밖이라 시험으로 돌지 않고,tsconfig.json의**/*.ts와eslint는 읽어요./community는 빈 DB 로 열었어요. 카드가 없어서 카드 안의 요소는 이 비교에 들지 않아요. 걷은 클래스는 어느 컴포넌트도 읽지 않으니 카드가 있어도 붙을 곳이 없어요.BETTER_AUTH_SECRET없이COMMUNITY_ENABLED=1로 띄우면/community가 500 이라, 잴 때만 스크래치 값 하나를 줬어요. 코드나 설정 파일은 그대로예요.Changelog
Web
web/src, not only the Lab's.경험
언제: 바퀴 컨테이너에서 빌드한 사이트의
/community쪽을 열어 찍거나 스타일을 잴 때교훈:
COMMUNITY_ENABLED=1과 스크래치COMMUNITY_DB_PATH에BETTER_AUTH_SECRET을 아무 긴 값으로 같이 줘야 빈 DB 로 200 이 나와요근거: #251 에서 두 깃발만 주고
next start하니/community와/community/atlas가 BetterAuthError(default secret)로 500 이었고, 비밀값 하나를 더하니 둘 다 200 이었어요바퀴
바퀴 101 · 후보 9 「Lab 밖 CSS 모듈 다섯에서 아무 컴포넌트도 읽지 않는 클래스 23개가 빠지고, 시험이 사이트 전체의 CSS 모듈을 본다」
다음 바퀴
globals.css에 남은 안 쓰는 규칙 70개와 그것만 쓰던 애니메이션 둘, 변수 넷. 바퀴 100 이 같은 파일의 Inside 덩어리를 걷은 셈 그대로예요.s * 6,s * 8열 곳. 1위와 같은 knip 방법이에요.tsconfig.json에verbatimModuleSyntax와allowUnreachableCode: false. 고칠 곳이 열한 곳이라 한 바퀴에 맞아요.https://claude.ai/code/session_01DU1iNPYKhr4f79Z8KHxqj8
Generated by Claude Code