Skip to content

[cli] page 생성기가 현재 meta-vite defineRoute 계약이 아닌 구형 라우트 설정을 방출함 #695

Description

@kang-heewon

Problem

croco create page 계열 템플릿이 현재 meta-vitedefineRoute/PageRouteDefinition 계약이 아니라 frontend-react/React Router 기반의 구형 설정을 생성합니다. 같은 저장소 안의 최신 앱 템플릿과 CLI 생성물이 서로 다른 라우트 모델을 가리켜 인지부하와 유지보수 비용이 커집니다.

Evidence

  • packages/cli/src/templates/pageTsx.ts:29-37createIsomorphicPageConfigRouteObject 기반 설정을 생성합니다.
  • packages/cli/src/templates/pageRoute.ts:20-27createCrocoPageConfig 기반 routeConfig 객체를 생성합니다.
  • packages/meta-vite/src/index.ts:49-65는 현재 라우트 API로 defineRoute, PageRouteDefinition, RenderRouteComponentProps를 export합니다.
  • packages/create-croco-app/templates/container-fullstack/apps/console-web/pages/route.tsssr-lambda/.../route.tsdefineRoute를 사용합니다.

Desired Outcome

새 page 생성기는 현재 presentation/meta-vite 라우트 계약과 맞는 파일을 생성해야 합니다. 구형 API가 유지되어야 한다면 명시적인 legacy 모드로 분리되어야 합니다.

Suggested Approach

  • CLI page 템플릿을 defineRoute 기반으로 갱신합니다.
  • legacy frontend-react 라우트가 필요하면 명령 옵션 또는 별도 템플릿으로 분리합니다.
  • create-croco-app 라우트 템플릿과 CLI page 템플릿의 공통 계약을 문서화합니다.

Acceptance Criteria

  • 기본 croco create page 결과가 meta-vite의 현재 공개 API만 사용합니다.
  • 최신 앱 템플릿과 CLI page 생성 결과의 route shape가 일치합니다.
  • 구형 라우트 API 사용 여부가 테스트/문서에서 명확히 분리됩니다.

Validation

  • pnpm test --filter=@croco/cli
  • pnpm typecheck --filter=@croco/meta-vite
  • 생성 page fixture typecheck

Metadata

Metadata

Assignees

Labels

P2Priority 2 issuetech-debtTechnical debt

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions