@eggjs/tegg-common-util 3.61.0 → 3.62.1
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.
- package/README.md +138 -3
- package/dist/src/ModuleConfig.d.ts +6 -0
- package/dist/src/ModuleConfig.js +65 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,5 +1,140 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @eggjs/tegg-common-util
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Common utility functions for tegg framework.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## ModuleConfigUtil.deduplicateModules
|
|
6
|
+
|
|
7
|
+
A utility method for deduplicating module references to avoid adding duplicate modules.
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **Path-based deduplication**: Removes modules with duplicate paths
|
|
12
|
+
- **Name-based deduplication**: Removes modules with duplicate names (throws error if found)
|
|
13
|
+
- **Priority handling**: Prioritizes non-optional modules over optional ones
|
|
14
|
+
- **Error handling**: Throws error for duplicate module names with different paths
|
|
15
|
+
- **Simple API**: No complex options, straightforward behavior
|
|
16
|
+
|
|
17
|
+
### API
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
public static deduplicateModules(
|
|
21
|
+
moduleReferences: readonly ModuleReference[]
|
|
22
|
+
): readonly ModuleReference[]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Note**: This method does not accept options parameters. The behavior is fixed and optimized for common use cases.
|
|
26
|
+
|
|
27
|
+
### Behavior
|
|
28
|
+
|
|
29
|
+
1. **Path Deduplication**: If multiple modules have the same path, only one is kept
|
|
30
|
+
2. **Optional Priority**: When paths are the same, non-optional modules are prioritized over optional ones
|
|
31
|
+
3. **Name Validation**: If modules have the same name but different paths, an error is thrown
|
|
32
|
+
4. **First Occurrence**: When both modules have the same optional status, the first occurrence is kept
|
|
33
|
+
|
|
34
|
+
### Usage Examples
|
|
35
|
+
|
|
36
|
+
#### Basic Usage
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
|
|
40
|
+
|
|
41
|
+
const modules = [
|
|
42
|
+
{ name: 'module1', path: '/path/to/module1' },
|
|
43
|
+
{ name: 'module2', path: '/path/to/module2' },
|
|
44
|
+
{ name: 'module1', path: '/different/path/to/module1' }, // Will throw error
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
const result = ModuleConfigUtil.deduplicateModules(modules);
|
|
48
|
+
// Throws Error: Duplicate module name "module1" found
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
#### With Optional Modules
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
const modules = [
|
|
55
|
+
{ name: 'module1', path: '/path/to/module1', optional: true },
|
|
56
|
+
{ name: 'module1', path: '/path/to/module1' }, // Non-optional version
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const result = ModuleConfigUtil.deduplicateModules(modules);
|
|
60
|
+
// Result: 1 module, non-optional version kept
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Path Deduplication
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const modules = [
|
|
67
|
+
{ name: 'module1', path: '/path/to/module1' },
|
|
68
|
+
{ name: 'module2', path: '/path/to/module1' }, // Same path, different name
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const result = ModuleConfigUtil.deduplicateModules(modules);
|
|
72
|
+
// Result: 1 module, first occurrence kept
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Use Cases
|
|
76
|
+
|
|
77
|
+
#### 1. Plugin/Config Module Scanner
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
// In ModuleScanner.loadModuleReferences()
|
|
81
|
+
return ModuleConfigUtil.deduplicateModules(allModuleReferences);
|
|
82
|
+
// Automatically handles deduplication with optimal defaults
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### 2. Standalone Runner
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// In Runner.getModuleReferences()
|
|
89
|
+
return ModuleConfigUtil.deduplicateModules(allModuleReferences);
|
|
90
|
+
// Simple and reliable deduplication
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### 3. Error Handling
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
try {
|
|
97
|
+
const result = ModuleConfigUtil.deduplicateModules(modules);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
if (error.message.includes('Duplicate module name')) {
|
|
100
|
+
// Handle duplicate module name error
|
|
101
|
+
console.error('Configuration error:', error.message);
|
|
102
|
+
}
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Benefits
|
|
108
|
+
|
|
109
|
+
1. **Simplicity**: No complex configuration needed, works out of the box
|
|
110
|
+
2. **Reliability**: Consistent behavior across different use cases
|
|
111
|
+
3. **Performance**: Optimized for common scenarios
|
|
112
|
+
4. **Error Prevention**: Catches configuration errors early
|
|
113
|
+
5. **Maintainability**: Simple API reduces complexity
|
|
114
|
+
|
|
115
|
+
### Migration from Options-based API
|
|
116
|
+
|
|
117
|
+
#### Before (Options-based - Not Available)
|
|
118
|
+
```typescript
|
|
119
|
+
// This API never existed in the actual implementation
|
|
120
|
+
const result = ModuleConfigUtil.deduplicateModules(modules, {
|
|
121
|
+
prioritizeNonOptional: true,
|
|
122
|
+
allowNameDuplicates: false,
|
|
123
|
+
logPrefix: '[tegg/config]',
|
|
124
|
+
logger: customLogger,
|
|
125
|
+
});
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### After (Current Implementation)
|
|
129
|
+
```typescript
|
|
130
|
+
// Current implementation - simple and direct
|
|
131
|
+
const result = ModuleConfigUtil.deduplicateModules(modules);
|
|
132
|
+
// Automatically handles all deduplication logic
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Important Notes
|
|
136
|
+
|
|
137
|
+
- **No Options**: The method signature is fixed and does not accept configuration options
|
|
138
|
+
- **Error on Name Duplicates**: Duplicate names with different paths will cause an error
|
|
139
|
+
- **Automatic Priority**: Non-optional modules are automatically prioritized over optional ones
|
|
140
|
+
- **Path-based Deduplication**: Same path modules are deduplicated with smart priority handling
|
|
@@ -17,4 +17,10 @@ export declare class ModuleConfigUtil {
|
|
|
17
17
|
static readModuleNameSync(moduleDir: string, baseDir?: string): string;
|
|
18
18
|
static loadModuleConfig(moduleDir: string, baseDir?: string, env?: string): Promise<ModuleConfig>;
|
|
19
19
|
static loadModuleConfigSync(moduleDir: string, baseDir?: string, env?: string): ModuleConfig;
|
|
20
|
+
/**
|
|
21
|
+
* 去重模块引用,避免重复添加相同的模块
|
|
22
|
+
* @param moduleReferences 模块引用数组
|
|
23
|
+
* @return 去重后的模块引用数组
|
|
24
|
+
*/
|
|
25
|
+
static deduplicateModules(moduleReferences: readonly ModuleReference[]): readonly ModuleReference[];
|
|
20
26
|
}
|
package/dist/src/ModuleConfig.js
CHANGED
|
@@ -270,6 +270,70 @@ class ModuleConfigUtil {
|
|
|
270
270
|
}
|
|
271
271
|
return target;
|
|
272
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* 去重模块引用,避免重复添加相同的模块
|
|
275
|
+
* @param moduleReferences 模块引用数组
|
|
276
|
+
* @return 去重后的模块引用数组
|
|
277
|
+
*/
|
|
278
|
+
static deduplicateModules(moduleReferences) {
|
|
279
|
+
var _b, _c;
|
|
280
|
+
const moduleMap = new Map();
|
|
281
|
+
const nameMap = new Map();
|
|
282
|
+
for (const moduleRef of moduleReferences) {
|
|
283
|
+
const key = moduleRef.path;
|
|
284
|
+
const existingRef = moduleMap.get(key);
|
|
285
|
+
// 如果路径相同,优先保留非 optional 模块
|
|
286
|
+
if (existingRef) {
|
|
287
|
+
// 优先保留非 optional 模块
|
|
288
|
+
// 将 undefined 视为 false(非可选)
|
|
289
|
+
const existingOptional = (_b = existingRef.optional) !== null && _b !== void 0 ? _b : false;
|
|
290
|
+
const currentOptional = (_c = moduleRef.optional) !== null && _c !== void 0 ? _c : false;
|
|
291
|
+
if (!existingOptional && currentOptional) {
|
|
292
|
+
// 保留现有的非 optional 模块,跳过当前的 optional 模块
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
else if (existingOptional && !currentOptional) {
|
|
296
|
+
// 用非 optional 模块替换现有的 optional 模块
|
|
297
|
+
// 在替换之前,先检查新模块的名称是否与已有的其他模块名称冲突
|
|
298
|
+
if (existingRef.name !== moduleRef.name) {
|
|
299
|
+
const existingByName = nameMap.get(moduleRef.name);
|
|
300
|
+
if (existingByName) {
|
|
301
|
+
// 如果名称重复但路径不同,直接报错
|
|
302
|
+
throw new Error(`Duplicate module name "${moduleRef.name}" found: existing at ${existingByName.path}, duplicate at ${moduleRef.path}`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
// 确保新模块的 optional 属性为 false
|
|
306
|
+
const newModuleRef = {
|
|
307
|
+
...moduleRef,
|
|
308
|
+
optional: false,
|
|
309
|
+
};
|
|
310
|
+
moduleMap.set(key, newModuleRef);
|
|
311
|
+
// 同时更新 nameMap
|
|
312
|
+
if (nameMap.get(existingRef.name) === existingRef) {
|
|
313
|
+
nameMap.delete(existingRef.name);
|
|
314
|
+
}
|
|
315
|
+
// 如果名称不同,需要更新 nameMap
|
|
316
|
+
if (existingRef.name !== newModuleRef.name) {
|
|
317
|
+
nameMap.delete(existingRef.name);
|
|
318
|
+
}
|
|
319
|
+
nameMap.set(newModuleRef.name, newModuleRef);
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
// 如果都是 optional 或都是非 optional,保留第一个
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
// 检查模块名称是否重复
|
|
326
|
+
const existingByName = nameMap.get(moduleRef.name);
|
|
327
|
+
if (existingByName) {
|
|
328
|
+
// 如果名称重复但路径不同,直接报错
|
|
329
|
+
throw new Error(`Duplicate module name "${moduleRef.name}" found: existing at ${existingByName.path}, duplicate at ${moduleRef.path}`);
|
|
330
|
+
}
|
|
331
|
+
// 添加新模块
|
|
332
|
+
moduleMap.set(key, moduleRef);
|
|
333
|
+
nameMap.set(moduleRef.name, moduleRef);
|
|
334
|
+
}
|
|
335
|
+
return Array.from(moduleMap.values());
|
|
336
|
+
}
|
|
273
337
|
}
|
|
274
338
|
exports.ModuleConfigUtil = ModuleConfigUtil;
|
|
275
339
|
_a = ModuleConfigUtil, _ModuleConfigUtil_loadOne = async function _ModuleConfigUtil_loadOne(moduleDir, configName) {
|
|
@@ -319,4 +383,4 @@ _a = ModuleConfigUtil, _ModuleConfigUtil_loadOne = async function _ModuleConfigU
|
|
|
319
383
|
const moduleYamlContent = node_fs_1.default.readFileSync(moduleYamlPath, 'utf8');
|
|
320
384
|
return js_yaml_1.default.safeLoad(moduleYamlContent);
|
|
321
385
|
};
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBaUM7QUFDakMsbURBQW9EO0FBQ3BELDBEQUE2QjtBQUM3QixzREFBNkI7QUFDN0Isb0RBQTRCO0FBQzVCLHNEQUEyQjtBQVMzQixxQ0FBa0M7QUFFbEMsTUFBYSx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGVBQXNDO1FBQ25FLE9BQU8sQ0FBQyxDQUFFLGVBQStDLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsZUFBc0M7UUFDaEUsT0FBTyxDQUFDLENBQUUsZUFBNEMsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBUkQsOERBUUM7QUFFRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQztBQUVGLE1BQWEsZ0JBQWdCO0lBR3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBaUM7UUFDNUQsRUFBZ0IsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQW9DO1FBQ3JGLDJEQUEyRDtRQUMzRCx5RUFBeUU7UUFDekUsTUFBTSxTQUFTLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMzRCxJQUFJLGlCQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FB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
|
|
386
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBaUM7QUFDakMsbURBQW9EO0FBQ3BELDBEQUE2QjtBQUM3QixzREFBNkI7QUFDN0Isb0RBQTRCO0FBQzVCLHNEQUEyQjtBQVMzQixxQ0FBa0M7QUFFbEMsTUFBYSx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGVBQXNDO1FBQ25FLE9BQU8sQ0FBQyxDQUFFLGVBQStDLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsZUFBc0M7UUFDaEUsT0FBTyxDQUFDLENBQUUsZUFBNEMsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBUkQsOERBUUM7QUFFRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQztBQUVGLE1BQWEsZ0JBQWdCO0lBR3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBaUM7UUFDNUQsRUFBZ0IsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQW9DO1FBQ3JGLDJEQUEyRDtRQUMzRCx5RUFBeUU7UUFDekUsTUFBTSxTQUFTLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMzRCxJQUFJLGlCQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-common-util",
|
|
3
3
|
"description": "common util for tegg",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.62.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
7
7
|
"typescript",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"node": ">=14.0.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@eggjs/tegg-types": "^3.
|
|
39
|
+
"@eggjs/tegg-types": "^3.62.1",
|
|
40
40
|
"extend2": "^1.0.0",
|
|
41
41
|
"globby": "^11.1.0",
|
|
42
42
|
"js-yaml": "^3.14.0"
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"ts-node": "^10.9.1",
|
|
53
53
|
"typescript": "^5.0.4"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "cfdf1ca3a8e187679f2046a58258f5104b29a086"
|
|
56
56
|
}
|