export { A as AliasMapping, a as AliasPathMapping, b as AnalysisResult, D as DepsConflictResolverOptions, P as PeerConflict, c as PluginConfig, d as PluginHooks, R as ResolvedOptions } from './config.types-FhZrFXHQ.js'; export { D as DepsConflictResolver, c as createResolver } from './resolver-z_muBpc_.js'; /** * Monorepo/Workspace 相关类型定义 */ /** * pnpm-workspace.yaml 配置结构 */ interface PnpmWorkspaceConfig { /** * 工作空间包的 glob 模式列表 */ packages?: string[]; /** * pnpm catalog 配置(依赖版本共享) * @see https://pnpm.io/catalogs */ catalog?: Record; /** * 命名 catalogs */ catalogs?: Record>; } /** * Workspace 检测结果 */ interface WorkspaceDetectionResult { /** * 是否在 monorepo 中 */ isMonorepo: boolean; /** * Workspace 根目录(monorepo 根) */ workspaceRoot: string | null; /** * 当前项目在 workspace 中的相对路径 */ currentProjectPath?: string; /** * Workspace 类型 */ workspaceType: 'pnpm' | 'yarn' | 'npm' | 'lerna' | 'none'; /** * pnpm catalog 配置(仅 pnpm workspace) */ catalog?: Record; /** * 命名 catalogs(仅 pnpm workspace) */ catalogs?: Record>; } /** * Catalog 协议解析结果 */ interface CatalogResolution { /** * 原始版本规格(如 "catalog:" 或 "catalog:react17") */ original: string; /** * 解析后的实际版本范围 */ resolved: string | null; /** * catalog 名称(default 或具体的名称) */ catalogName: string; /** * 是否解析成功 */ success: boolean; } /** * Workspace 级别的别名信息 */ interface WorkspaceAliasInfo { /** * 别名名称(package.json 中的 key) */ aliasName: string; /** * 目标包的真实名称 */ targetPackage: string; /** * 版本规格 */ versionSpec: string; /** * 定义此别名的包路径 */ definedIn: string; /** * 是否是 workspace 根目录定义的 */ isWorkspaceRoot: boolean; } /** 版本协议类型 */ type VersionProtocol = 'catalog' | 'workspace' | 'npm' | 'file' | 'link' | 'portal' | 'normal'; /** * Workspace 检测器 * 负责检测 monorepo 结构、解析 catalog 协议、查找 workspace 级别别名 */ declare class WorkspaceDetector { private projectRoot; private detectionResult; constructor(projectRoot: string); /** * 获取 workspace 检测结果 */ detect(): WorkspaceDetectionResult; /** * 重置缓存 */ reset(): void; /** * 解析 catalog: 协议的版本 * @param packageName 包名 * @param versionSpec 版本规格(如 "catalog:" 或 "catalog:react17") */ resolveCatalogVersion(packageName: string, versionSpec: string): CatalogResolution; /** * 解析版本规格(支持各种特殊协议) * @param packageName 包名 * @param versionSpec 版本规格 * @returns 解析后的普通版本范围,或 null(如无法解析) */ resolveVersionSpec(packageName: string, versionSpec: string): string | null; /** * 判断版本规格的协议类型 */ getVersionProtocol(versionSpec: string): VersionProtocol; /** * 从 workspace 根目录和 catalog 中查找已存在的别名 */ findWorkspaceAliases(targetPackage: string): WorkspaceAliasInfo[]; /** * 获取 workspace 根目录 */ getWorkspaceRoot(): string | null; /** * 检测 workspace */ private detectWorkspace; /** * 尝试在指定目录检测 workspace */ private tryDetectWorkspaceAt; /** * 解析 pnpm-workspace.yaml */ private parsePnpmWorkspaceYaml; } /** * 创建 Workspace 检测器实例 */ declare function createWorkspaceDetector(projectRoot: string): WorkspaceDetector; export { type CatalogResolution, type PnpmWorkspaceConfig, type WorkspaceAliasInfo, type WorkspaceDetectionResult, WorkspaceDetector, createWorkspaceDetector };