Everyone's still eating: building Notion's design system | Config 2026
- 디자인시스템 마이그레이션을 식사중일때 테이블보를 빼고 새로운 테이블보를 넣는것으로 표현 ㅋㅋ
- style 속성을 lint로 명시적으로 금지했더니 AI가 ref를 사용해서 처리
- AI는 저항이 적은 경로를 선택함 -> 올바른 방법을 가장 쉬운 방법으로 만들기
-
노션에서도 lint를 활용해서 info -> warning -> error의 순서로 중요도를 나눠서 제한
-
- lint를 설정하고 현재 error 갯수를 baseline으로 잡는다
- baseline을 넘어가면 그건 내가 만든 오류, 기존 오류를 수정하면 그에 따라 baseline도 내려간다
- 새로운 오류의 발생은 막으면서, 지금 당장 릴리즈를 막지는 않으면서, 점진적으로 오류의 갯수를 줄여갈 수 있음
- 규칙 개수만 추적하면 하나 삭제하고 하나 추가한걸 모르지 않나 싶었는데, 파일/규칙/개수를 추적함으로써 해결
- 같은 파일 안에서 하나를 없애고 하나를 추가하면 감지하지 못하긴 하지만 .. (관련 이슈)
LiveWikiEveryone's still eating: building Notion's design system | Config 2026디자인 시스템은 단순히 컴포넌트 라이브러리가 아니라 제품의 정체성을 정의하고 구성원들이 합의한 공유된 결정들의 집합입니다.GitHubGitHub - justjake/eslint-seatbelt: Gradually tighten ESLint rules in your codebaseGradually tighten ESLint rules in your codebase. Contribute to justjake/eslint-seatbelt development by creating an account on GitHub.GitHubRatchet tracks a count per (file, rule), not per-violation identity -- a same-count swap is invisible · Issue #30 · justjake/eslint-seatbeltRepro (from source/tests, described below -- I haven't run this against a real project, happy to if useful): Step 1) src/file.ts has 5 no-explicit-any violations at lines 10, 20, 30, 40, 50. Seatbelt records: "src/file.ts" "@typescript-e...NotionCustom ESLint ratcheting: how Notion modernizes code without slowing down developmentDiscover how Notion's innovative ratcheting system with custom ESLint rules gradually modernizes code, eliminates technical debt, and maintains high quality standards without sacrificing development speed or overwhelming engineers
