Skip to content

Commit 0e5d117

Browse files
authored
ci(workflow): add mapping relationship between child components and parent components and optimize component detection logic (#3338)
1 parent 6a2fd6b commit 0e5d117

File tree

1 file changed

+54
-2
lines changed

1 file changed

+54
-2
lines changed

.github/workflows/test-e2e-pr.yml

+54-2
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,45 @@ jobs:
6767
}
6868
];
6969
70+
// 定义子组件到父组件的映射关系
71+
const subComponentMapping = {
72+
'picker': 'date-picker', // picker子组件映射到date-picker
73+
'form-item': 'form', // form-item子组件映射到form
74+
'grid-toolbar': 'grid', // grid-toolbar子组件映射到grid
75+
'calendar-bar': 'calendar', // calendar-bar子组件映射到calendar
76+
'carousel-item': 'carousel', // carousel-item子组件映射到carousel,
77+
'cascader-menu': 'cascader', // cascader-menu子组件映射到cascader
78+
'cascader-node': 'cascader', // cascader-node子组件映射到cascader
79+
'cascader-panel': 'cascader', // cascader-panel子组件映射到cascader
80+
'checkbox-button': 'checkbox', // checkbox-button子组件映射到checkbox
81+
'checkbox-group': 'checkbox', // checkbox-group子组件映射到checkbox
82+
'radio-button': 'radio', // radio-button子组件映射到radio
83+
'radio-group': 'radio', // radio-group子组件映射到radio,
84+
'collapse-item': 'collapse', // collapse-item子组件映射到collapse
85+
'date-range': 'date-picker', // date-range子组件映射到date-picker
86+
'date-table': 'date-picker', // date-table子组件映射到date-picker
87+
'month-range': 'date-picker', // month-range子组件映射到date-picker
88+
'month-table': 'date-picker', // month-table子组件映射到date-picker
89+
'quarter-panel': 'date-picker', // quarter-panel子组件映射到date-picker
90+
'year-range': 'date-picker', // year-range子组件映射到date-picker
91+
'year-table': 'date-picker', // year-table子组件映射到date-picker
92+
'dropdown-item': 'dropdown', // dropdown-item子组件映射到dropdown
93+
'dropdown-menu': 'dropdown', // dropdown-menu子组件映射到dropdown
94+
'image-viewer': 'image', // image-viewer子组件映射到image
95+
'option': 'select', // option子组件映射到select
96+
'option-group': 'select', // option-group子组件映射到select
97+
'select-dropdown': 'select', // select-dropdown子组件映射到select
98+
'pager-item': 'pager', // pager-item子组件映射到pager
99+
'skeleton-item': 'skeleton', // skeleton-item子组件映射到skeleton
100+
'tab-item': 'tabs', // tab-item子组件映射到tabs
101+
'time-range': 'time-picker', // time-range子组件映射到time-picker
102+
'time-panel': 'time-picker', // time-panel子组件映射到time-picker
103+
'time-spinner': 'time-picker', // time-spinner子组件映射到time-picker
104+
'timeline-item': 'timeline', // timeline-item子组件映射到timeline
105+
'tree-node': 'tree', // tree-node子组件映射到tree
106+
'transfer-panel': 'transfer', // transfer-panel子组件映射到transfer
107+
};
108+
70109
// 从文件路径中提取组件名称
71110
const components = new Set();
72111
const detectedComponents = {}; // 用于记录检测到的组件和相关文件
@@ -89,7 +128,13 @@ jobs:
89128
const match = file.match(rule.pattern);
90129
if (match && match[rule.group]) {
91130
matched = true;
92-
const componentName = match[rule.group];
131+
let componentName = match[rule.group];
132+
133+
// 检查是否是需要映射的子组件
134+
if (subComponentMapping[componentName]) {
135+
console.log(`检测到子组件 ${componentName},映射到父组件 ${subComponentMapping[componentName]}`);
136+
componentName = subComponentMapping[componentName];
137+
}
93138
94139
// 记录找到的组件
95140
components.add(componentName);
@@ -127,7 +172,14 @@ jobs:
127172
128173
if (possibleComponentNames.length > 0) {
129174
// 使用最后一个可能的组件名(通常最具体)
130-
const componentName = possibleComponentNames[possibleComponentNames.length - 1];
175+
let componentName = possibleComponentNames[possibleComponentNames.length - 1];
176+
177+
// 检查是否是需要映射的子组件
178+
if (subComponentMapping[componentName]) {
179+
console.log(`检测到子组件 ${componentName},映射到父组件 ${subComponentMapping[componentName]}`);
180+
componentName = subComponentMapping[componentName];
181+
}
182+
131183
components.add(componentName);
132184
133185
if (!detectedComponents[componentName]) {

0 commit comments

Comments
 (0)