import { type AbsolutePath, type AppRelativePath } from "../utils/path-utils"; /** * Syncer가 관심 가지고 지켜보는 파일들입니다. * 이 파일들에 변경이 생기면 추가적인 작업(이하 "싱크" 또는 "싱크 액션")을 수행합니다. * 이 작업이라 함은 파일 복사 또는 템플릿 렌더링을 통한 code generation을 의미합니다. * * 경로 형식: appRoot 기준 상대 경로 (target 디렉토리로 시작, 예: "api/src/...", "web/src/...") * 사용: getChecksumPatternGroupInAbsolutePath()로 절대 경로 변환 후 glob 사용 * * 두 가지 의미적 영역: * - 입력 (사용자 작성): api 디렉토리에만 위치. 사용자가 직접 편집. * - 출력 (sonamu 생성/복사): api 또는 target 디렉토리에 sonamu가 만들어내는 파일. * * 추적 밖 자산 (부트스트랩 phase에서 매번 보장): * - sonamu.shared.ts: 사용자가 커스터마이즈하는 자산. IfNotExists로 1회 생성 후 손대지 않음. * - entry-server.generated.tsx: 입력 의존 없는 정적 코드. 매번 overwrite generate. * * 위 둘은 sync()의 부트스트랩 phase에서 변경 검출 사이클과 무관하게 보장됩니다. * 추적 사이클 안에서 할 액션이 없는 자산이라 패턴 그룹에 포함되지 않습니다. * * 위치 카테고리는 api/targets/anywhere 헬퍼로 명시적으로 표현합니다. * * FileType은 이 함수의 반환 타입에서 자동 추론됩니다. 키 추가 시 별도 enum/배열을 * 동기화할 필요 없이 여기 한 군데만 수정하면 됩니다. */ export declare function getChecksumPatternGroup(): { config: `${string}/src/${string}` | `${string}/dist/${string}`; entity: `${string}/src/${string}` | `${string}/dist/${string}`; frame: `${string}/src/${string}` | `${string}/dist/${string}`; functions: `${string}/src/${string}` | `${string}/dist/${string}`; model: `${string}/src/${string}` | `${string}/dist/${string}`; types: `${string}/src/${string}` | `${string}/dist/${string}`; workflow: `${string}/src/${string}` | `${string}/dist/${string}`; i18n: `${string}/src/${string}` | `${string}/dist/${string}`; generated: `${string}/src/${string}` | `${string}/dist/${string}`; generatedCopied: `${string}/src/${string}` | `${string}/dist/${string}`; httpGenerated: `${string}/src/${string}` | `${string}/dist/${string}`; servicesGenerated: `${string}/src/${string}` | `${string}/dist/${string}`; sdGenerated: `${string}/src/${string}` | `${string}/dist/${string}`; typesCopied: `${string}/src/${string}` | `${string}/dist/${string}`; functionsCopied: `${string}/src/${string}` | `${string}/dist/${string}`; i18nCopied: `${string}/src/${string}` | `${string}/dist/${string}`; }; /** * FileType은 getChecksumPatternGroup의 반환 객체 키에서 자동 추론됩니다. * 별도 배열/enum 동기화 불필요 — 패턴 그룹 함수가 진실의 단일 원천. */ export type FileType = keyof ReturnType; export type GlobPattern = Record; /** * 빌드 산출물 디렉토리는 alternation 글롭이 의도치 않게 휘말릴 수 있으므로 안전망으로 제외. * Node 내장 fs.glob의 exclude 옵션과 함께 사용합니다. */ export declare const GLOB_EXCLUDE: string[]; /** * appRoot 기준 상대 경로 패턴을 절대 경로 패턴으로 변환합니다. * * @returns 절대 경로 기반 Glob 패턴 맵 */ export declare function getChecksumPatternGroupInAbsolutePath(): GlobPattern; //# sourceMappingURL=file-patterns.d.ts.map