Conversation
There was a problem hiding this comment.
Code Review
This pull request adds Simplified Chinese (zh-Hans) translations for the express-cargo documentation, including configuration updates and localized markdown files. The review feedback highlights several errors in the documentation examples, such as the use of an unsupported @isnotempty decorator, missing @type decorators for nested object bindings, and an unresolved import of a non-existent error handler in the getting started guide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| class ProductQuery { | ||
| @Query('q') | ||
| @Transform((value: string) => value.toLowerCase().trim()) | ||
| @IsNotEmpty() |
There was a problem hiding this comment.
validators.md 문서에 정의된 내장 검증기 목록에는 @IsNotEmpty가 포함되어 있지 않습니다. express-cargo에서 지원하지 않는 데코레이터일 가능성이 높으므로, 문자열이 비어있지 않음을 검증하려면 대신 @MinLength(1)을 사용하거나 해당 데코레이터를 제거하는 것이 좋습니다.
| @IsNotEmpty() | |
| @MinLength(1) |
References
- Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)
| @Body('profile') | ||
| profile!: Profile |
There was a problem hiding this comment.
type-and-polymorphism.md 문서에 따르면, 중첩된 객체를 실제 클래스 인스턴스로 변환하고 재귀적 검증 및 타입 변환을 지원하려면 @Type 데코레이터가 필요합니다. 예제 코드의 정확성을 위해 @Type(() => Profile) 데코레이터를 추가하고, 상단의 express-cargo 임포트문에 Type을 추가해 주세요.
| @Body('profile') | |
| profile!: Profile | |
| @Body('profile') | |
| @Type(() => Profile) | |
| profile!: Profile |
References
- Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)
| @Body('user') | ||
| user!: UserInfoRequest |
There was a problem hiding this comment.
중첩된 user 객체가 실제 UserInfoRequest 클래스의 인스턴스로 올바르게 변환되고 내부 검증 규칙(예: @Prefix('user-'))이 적용되려면 @Type 데코레이터가 필요합니다. @Type(() => UserInfoRequest)를 추가하고, 상단의 express-cargo 임포트문에 Type을 추가해 주세요.
| @Body('user') | |
| user!: UserInfoRequest | |
| @Body('user') | |
| @Type(() => UserInfoRequest) | |
| user!: UserInfoRequest |
References
- Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)
|
|
||
| ```typescript | ||
| import express from 'express' | ||
| import { bindingCargo, getCargo, Body, Query, Header, Params, Min, Max, Equal, NotEqual, Prefix, Suffix } from 'express-cargo' |
There was a problem hiding this comment.
getting-started.md 가이드에서 errorHandlerRouter를 ./errorHandler에서 가져오고 있지만, 이 파일의 구현이나 설명이 가이드에 포함되어 있지 않습니다. 이 코드를 그대로 복사하여 실행하는 사용자는 모듈을 찾을 수 없다는 오류(Cannot find module './errorHandler')를 겪게 됩니다. 가이드를 자급자족할 수 있도록 외부 파일 임포트 대신 인라인 에러 핸들러를 사용하거나, ./errorHandler 파일의 구현 예시를 추가하는 것을 권장합니다.
References
- Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)
Apply PR review feedback to English and zh-Hans docs so examples remain copyable and nested DTO examples show explicit type helpers. Constraint: Review feedback targeted zh-Hans docs, but English source docs must stay aligned with localized examples. Rejected: Leaving English source stale | would preserve broken source examples and let translation drift return. Confidence: high Scope-risk: narrow Directive: Keep localized API snippets synchronized with source docs when correcting decorator examples. Tested: pnpm --filter docs typecheck; pnpm --filter docs exec docusaurus build --locale en; pnpm --filter docs exec docusaurus build --locale zh-Hans Not-tested: full all-locale Docusaurus build
|
gemini가 언급한 부분들 다른 언어 문서에도 동일하게 되어 있을 것 같아서 추후 수정해야겠네요! |
No description provided.