deps-conflict-resolver 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,162 @@
1
+ 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-CN7glPbA.js';
2
+ export { D as DepsConflictResolver, c as createResolver } from './resolver-BjbDmC24.js';
3
+
4
+ /**
5
+ * Monorepo/Workspace 相关类型定义
6
+ */
7
+ /**
8
+ * pnpm-workspace.yaml 配置结构
9
+ */
10
+ interface PnpmWorkspaceConfig {
11
+ /**
12
+ * 工作空间包的 glob 模式列表
13
+ */
14
+ packages?: string[];
15
+ /**
16
+ * pnpm catalog 配置(依赖版本共享)
17
+ * @see https://pnpm.io/catalogs
18
+ */
19
+ catalog?: Record<string, string>;
20
+ /**
21
+ * 命名 catalogs
22
+ */
23
+ catalogs?: Record<string, Record<string, string>>;
24
+ }
25
+ /**
26
+ * Workspace 检测结果
27
+ */
28
+ interface WorkspaceDetectionResult {
29
+ /**
30
+ * 是否在 monorepo 中
31
+ */
32
+ isMonorepo: boolean;
33
+ /**
34
+ * Workspace 根目录(monorepo 根)
35
+ */
36
+ workspaceRoot: string | null;
37
+ /**
38
+ * 当前项目在 workspace 中的相对路径
39
+ */
40
+ currentProjectPath?: string;
41
+ /**
42
+ * Workspace 类型
43
+ */
44
+ workspaceType: 'pnpm' | 'yarn' | 'npm' | 'lerna' | 'none';
45
+ /**
46
+ * pnpm catalog 配置(仅 pnpm workspace)
47
+ */
48
+ catalog?: Record<string, string>;
49
+ /**
50
+ * 命名 catalogs(仅 pnpm workspace)
51
+ */
52
+ catalogs?: Record<string, Record<string, string>>;
53
+ }
54
+ /**
55
+ * Catalog 协议解析结果
56
+ */
57
+ interface CatalogResolution {
58
+ /**
59
+ * 原始版本规格(如 "catalog:" 或 "catalog:react17")
60
+ */
61
+ original: string;
62
+ /**
63
+ * 解析后的实际版本范围
64
+ */
65
+ resolved: string | null;
66
+ /**
67
+ * catalog 名称(default 或具体的名称)
68
+ */
69
+ catalogName: string;
70
+ /**
71
+ * 是否解析成功
72
+ */
73
+ success: boolean;
74
+ }
75
+ /**
76
+ * Workspace 级别的别名信息
77
+ */
78
+ interface WorkspaceAliasInfo {
79
+ /**
80
+ * 别名名称(package.json 中的 key)
81
+ */
82
+ aliasName: string;
83
+ /**
84
+ * 目标包的真实名称
85
+ */
86
+ targetPackage: string;
87
+ /**
88
+ * 版本规格
89
+ */
90
+ versionSpec: string;
91
+ /**
92
+ * 定义此别名的包路径
93
+ */
94
+ definedIn: string;
95
+ /**
96
+ * 是否是 workspace 根目录定义的
97
+ */
98
+ isWorkspaceRoot: boolean;
99
+ }
100
+
101
+ /** 版本协议类型 */
102
+ type VersionProtocol = 'catalog' | 'workspace' | 'npm' | 'file' | 'link' | 'portal' | 'normal';
103
+ /**
104
+ * Workspace 检测器
105
+ * 负责检测 monorepo 结构、解析 catalog 协议、查找 workspace 级别别名
106
+ */
107
+ declare class WorkspaceDetector {
108
+ private projectRoot;
109
+ private detectionResult;
110
+ constructor(projectRoot: string);
111
+ /**
112
+ * 获取 workspace 检测结果
113
+ */
114
+ detect(): Promise<WorkspaceDetectionResult>;
115
+ /**
116
+ * 重置缓存
117
+ */
118
+ reset(): void;
119
+ /**
120
+ * 解析 catalog: 协议的版本
121
+ * @param packageName 包名
122
+ * @param versionSpec 版本规格(如 "catalog:" 或 "catalog:react17")
123
+ */
124
+ resolveCatalogVersion(packageName: string, versionSpec: string): Promise<CatalogResolution>;
125
+ /**
126
+ * 解析版本规格(支持各种特殊协议)
127
+ * @param packageName 包名
128
+ * @param versionSpec 版本规格
129
+ * @returns 解析后的普通版本范围,或 null(如无法解析)
130
+ */
131
+ resolveVersionSpec(packageName: string, versionSpec: string): Promise<string | null>;
132
+ /**
133
+ * 判断版本规格的协议类型
134
+ */
135
+ getVersionProtocol(versionSpec: string): VersionProtocol;
136
+ /**
137
+ * 从 workspace 根目录和 catalog 中查找已存在的别名
138
+ */
139
+ findWorkspaceAliases(targetPackage: string): Promise<WorkspaceAliasInfo[]>;
140
+ /**
141
+ * 获取 workspace 根目录
142
+ */
143
+ getWorkspaceRoot(): Promise<string | null>;
144
+ /**
145
+ * 检测 workspace
146
+ */
147
+ private detectWorkspace;
148
+ /**
149
+ * 尝试在指定目录检测 workspace
150
+ */
151
+ private tryDetectWorkspaceAt;
152
+ /**
153
+ * 解析 pnpm-workspace.yaml
154
+ */
155
+ private parsePnpmWorkspaceYaml;
156
+ }
157
+ /**
158
+ * 创建 Workspace 检测器实例
159
+ */
160
+ declare function createWorkspaceDetector(projectRoot: string): WorkspaceDetector;
161
+
162
+ export { type CatalogResolution, type PnpmWorkspaceConfig, type WorkspaceAliasInfo, type WorkspaceDetectionResult, WorkspaceDetector, createWorkspaceDetector };