콘텐츠로 이동

identifyWorkspaceEntries

identifyWorkspaceEntries(entries, rootDir): IdentifiedWorkspace[]

Defined in: core/src/workspace.ts:220

entries 를 식별 단계까지만 처리 — cwd/name/source 결정하고 config 로드는 보류.

--workspace=<name> 필터를 config 로드 전에 적용해 비용 큰 TS config self-compile 을 필터링된 N-1 개 entry 에 대해 회피하기 위함. path entry 는 package.json 만 읽어 name 결정 (저렴), glob 은 디렉토리 enumerate.

dedup: 같은 cwd 가 path + glob 양쪽에 매칭되면 첫 번째 (선언 순서) 만 유지. 명시적 path 가 glob 보다 우선하는 자연스러운 의도 — 사용자가 “all packages 중 app 은 특별 설정” 같은 패턴을 쓸 수 있게.

Workspace

loadWorkspace 가 반환한 검증된 entries 배열

string

workspace 파일이 있는 디렉토리 (절대 경로 권장)

IdentifiedWorkspace[]

식별된 워크스페이스 목록 (선언 순서 유지, dedup 적용)

@zntc/core: workspace glob '**' is not supported (got '<pattern>')** glob 사용

@zntc/core: workspace glob with '*' in directory part is not supported (got '<pattern>') — 디렉토리부 wildcard

const ws = await loadWorkspace("zntc.workspace.ts");
const ids = identifyWorkspaceEntries(ws, "/repo");
const target = filterWorkspaces(ids, "my-app");
const resolved = await Promise.all(target.map((w) => loadIdentifiedConfig(w)));