syncpack: JS모노레포에서 의존성 버전을 일관되게 유지

  1. expo앱은 54 SDK부터 버전이 다르기에 다른 패키지와 TS, react 버전을 다르게 사용

    {
    	"label": "Expo app uses different TypeScript, @types/react, and React versions",
    	"packages": ["@web-memo/app"],
    	"dependencies": ["typescript", "@types/react", "react", "react-dom"],
    	"isIgnored": true
    },
    
  2. shared패키지의 peerDepdencies의 react는 app패키지(react@19)에 지원하기 위해 예외

    {
    	"label": "Shared package supports both React 18 and 19 via peerDeps",
    	"packages": ["@web-memo/shared"],
    	"dependencies": ["react", "react-dom"],
    	"dependencyTypes": ["peer"],
    	"isIgnored": true
    },
    
  3. react, react-dom은 18.3.1로 버전 통일

    {
    	"label": "Use pinned versions for React core",
    	"dependencies": ["react", "react-dom"],
    	"dependencyTypes": ["!peer"],
    	"pinVersion": "18.3.1"
    },
    
  4. 내부 패키지는 workspace:*으로 버전 통일

    {
    	"label": "Use workspace protocol for internal packages",
    	"dependencies": ["@web-memo/**", "@web-memo/**"],
    	"dependencyTypes": ["!peer"],
    	"pinVersion": "workspace:*"
    }