@eggjs/tegg-common-util 3.19.0 → 3.21.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.
@@ -1,4 +1,5 @@
1
1
  export interface ModuleReference {
2
+ name: string;
2
3
  path: string;
3
4
  }
4
5
  export interface InlineModuleReferenceConfig {
@@ -20,19 +21,20 @@ export interface ReadModuleReferenceOptions {
20
21
  extraFilePattern?: string[];
21
22
  }
22
23
  export declare class ModuleConfigUtil {
23
- static moduleYamlPath(modulePath: string): string;
24
- static moduleJsonPath(modulePath: string): string;
24
+ static moduleYamlPath(modulePath: string, env?: string): string;
25
+ static moduleJsonPath(modulePath: string, env?: string): string;
25
26
  static readModuleReference(baseDir: string, options?: ReadModuleReferenceOptions): readonly ModuleReference[];
26
27
  private static readModuleReferenceFromModuleJson;
27
28
  private static readModuleReferenceFromScan;
28
29
  static readModuleFromNodeModules(baseDir: string): ModuleReference[];
29
30
  static resolveModuleDir(moduleDir: string, baseDir?: string): string;
31
+ private static getModuleName;
30
32
  static readModuleName(baseDir: string, moduleDir: string): Promise<string>;
31
33
  static readModuleNameSync(moduleDir: string, baseDir?: string): string;
32
- static loadModuleConfig(moduleDir: string, baseDir?: string): Promise<ModuleConfig | undefined>;
34
+ static loadModuleConfig(moduleDir: string, baseDir?: string, env?: string): Promise<ModuleConfig | undefined>;
33
35
  private static loadModuleJson;
34
36
  private static loadModuleYaml;
35
- static loadModuleConfigSync(moduleDir: string, baseDir?: string): ModuleConfig | undefined;
37
+ static loadModuleConfigSync(moduleDir: string, baseDir?: string, env?: string): ModuleConfig | undefined;
36
38
  private static loadModuleJsonSync;
37
39
  private static loadModuleYamlSync;
38
40
  }
@@ -33,6 +33,7 @@ const fs_1 = __importStar(require("fs"));
33
33
  const path_1 = __importDefault(require("path"));
34
34
  const globby_1 = __importDefault(require("globby"));
35
35
  const FSUtil_1 = require("./FSUtil");
36
+ const extend2_1 = __importDefault(require("extend2"));
36
37
  class ModuleReferenceConfigHelp {
37
38
  static isInlineModuleReference(moduleReference) {
38
39
  return !!moduleReference.path;
@@ -46,10 +47,16 @@ const DEFAULT_READ_MODULE_REF_OPTS = {
46
47
  deep: 10,
47
48
  };
48
49
  class ModuleConfigUtil {
49
- static moduleYamlPath(modulePath) {
50
+ static moduleYamlPath(modulePath, env) {
51
+ if (env) {
52
+ return path_1.default.join(modulePath, `module.${env}.yml`);
53
+ }
50
54
  return path_1.default.join(modulePath, 'module.yml');
51
55
  }
52
- static moduleJsonPath(modulePath) {
56
+ static moduleJsonPath(modulePath, env) {
57
+ if (env) {
58
+ return path_1.default.join(modulePath, `module.${env}.json`);
59
+ }
53
60
  return path_1.default.join(modulePath, 'module.json');
54
61
  }
55
62
  static readModuleReference(baseDir, options) {
@@ -73,13 +80,17 @@ class ModuleConfigUtil {
73
80
  // path.posix for windows keep path as foo/package.json
74
81
  const pkgJson = path_1.default.posix.join(moduleReferenceConfig.package, 'package.json');
75
82
  const file = require.resolve(pkgJson, options);
83
+ const modulePath = path_1.default.dirname(file);
76
84
  moduleReference = {
77
- path: path_1.default.dirname(file),
85
+ path: modulePath,
86
+ name: ModuleConfigUtil.readModuleNameSync(modulePath),
78
87
  };
79
88
  }
80
89
  else if (ModuleReferenceConfigHelp.isInlineModuleReference(moduleReferenceConfig)) {
90
+ const modulePath = path_1.default.join(configDir, moduleReferenceConfig.path);
81
91
  moduleReference = {
82
- path: path_1.default.join(configDir, moduleReferenceConfig.path),
92
+ path: modulePath,
93
+ name: ModuleConfigUtil.readModuleNameSync(modulePath),
83
94
  };
84
95
  }
85
96
  else {
@@ -121,14 +132,16 @@ class ModuleConfigUtil {
121
132
  continue;
122
133
  }
123
134
  moduleDirSet.add(moduleDir);
135
+ let name;
124
136
  try {
125
- this.readModuleNameSync(moduleDir);
137
+ name = this.readModuleNameSync(moduleDir);
126
138
  }
127
139
  catch (_) {
128
140
  continue;
129
141
  }
130
142
  ref.push({
131
143
  path: moduleDir,
144
+ name,
132
145
  });
133
146
  }
134
147
  const moduleReferences = this.readModuleFromNodeModules(baseDir);
@@ -141,6 +154,7 @@ class ModuleConfigUtil {
141
154
  });
142
155
  ref.push({
143
156
  path: moduleReference.path,
157
+ name: moduleReference.name,
144
158
  });
145
159
  }
146
160
  return ref;
@@ -168,11 +182,11 @@ class ModuleConfigUtil {
168
182
  const absolutePkgPath = path_1.default.dirname(packageJsonPath);
169
183
  const realPkgPath = fs_1.default.realpathSync(absolutePkgPath);
170
184
  try {
171
- if (this.readModuleNameSync(realPkgPath)) {
172
- ref.push({
173
- path: realPkgPath,
174
- });
175
- }
185
+ const name = this.readModuleNameSync(realPkgPath);
186
+ ref.push({
187
+ path: realPkgPath,
188
+ name,
189
+ });
176
190
  }
177
191
  catch (_) {
178
192
  continue;
@@ -187,30 +201,40 @@ class ModuleConfigUtil {
187
201
  (0, assert_1.default)(baseDir, 'baseDir is required');
188
202
  return path_1.default.join(baseDir, 'config', moduleDir);
189
203
  }
204
+ static getModuleName(pkg) {
205
+ (0, assert_1.default)(pkg.eggModule && pkg.eggModule.name, 'eggModule.name not found in package.json');
206
+ return pkg.eggModule.name;
207
+ }
190
208
  static async readModuleName(baseDir, moduleDir) {
191
209
  moduleDir = ModuleConfigUtil.resolveModuleDir(moduleDir, baseDir);
192
210
  const pkgContent = await fs_1.promises.readFile(path_1.default.join(moduleDir, 'package.json'), 'utf8');
193
211
  const pkg = JSON.parse(pkgContent);
194
- (0, assert_1.default)(pkg.eggModule && pkg.eggModule.name, 'eggModule.name not found in package.json');
195
- return pkg.eggModule.name;
212
+ return ModuleConfigUtil.getModuleName(pkg);
196
213
  }
197
214
  static readModuleNameSync(moduleDir, baseDir) {
198
215
  moduleDir = ModuleConfigUtil.resolveModuleDir(moduleDir, baseDir);
199
216
  const pkgContent = fs_1.default.readFileSync(path_1.default.join(moduleDir, 'package.json'), 'utf8');
200
217
  const pkg = JSON.parse(pkgContent);
201
- (0, assert_1.default)(pkg.eggModule && pkg.eggModule.name, 'eggModule.name not found in package.json');
202
- return pkg.eggModule.name;
218
+ return ModuleConfigUtil.getModuleName(pkg);
203
219
  }
204
- static async loadModuleConfig(moduleDir, baseDir) {
220
+ static async loadModuleConfig(moduleDir, baseDir, env) {
205
221
  moduleDir = ModuleConfigUtil.resolveModuleDir(moduleDir, baseDir);
206
- const yamlConfig = await ModuleConfigUtil.loadModuleYaml(moduleDir);
207
- if (yamlConfig) {
208
- return yamlConfig;
222
+ let defaultConfig = await ModuleConfigUtil.loadModuleYaml(moduleDir);
223
+ if (!defaultConfig) {
224
+ defaultConfig = await ModuleConfigUtil.loadModuleJson(moduleDir);
209
225
  }
210
- return await ModuleConfigUtil.loadModuleJson(moduleDir);
226
+ let envConfig;
227
+ if (env) {
228
+ envConfig = await ModuleConfigUtil.loadModuleYaml(moduleDir, env);
229
+ if (!envConfig) {
230
+ envConfig = await ModuleConfigUtil.loadModuleJson(moduleDir, env);
231
+ }
232
+ }
233
+ (0, extend2_1.default)(true, defaultConfig, envConfig);
234
+ return defaultConfig;
211
235
  }
212
- static async loadModuleJson(moduleDir) {
213
- const moduleJsonPath = ModuleConfigUtil.moduleJsonPath(moduleDir);
236
+ static async loadModuleJson(moduleDir, env) {
237
+ const moduleJsonPath = ModuleConfigUtil.moduleJsonPath(moduleDir, env);
214
238
  const moduleJsonPathExists = await FSUtil_1.FSUtil.fileExists(moduleJsonPath);
215
239
  if (!moduleJsonPathExists) {
216
240
  return;
@@ -219,8 +243,8 @@ class ModuleConfigUtil {
219
243
  const moduleJson = JSON.parse(moduleJsonContent);
220
244
  return moduleJson.config;
221
245
  }
222
- static async loadModuleYaml(moduleDir) {
223
- const moduleYamlPath = ModuleConfigUtil.moduleYamlPath(moduleDir);
246
+ static async loadModuleYaml(moduleDir, env) {
247
+ const moduleYamlPath = ModuleConfigUtil.moduleYamlPath(moduleDir, env);
224
248
  const moduleYamlPathExists = await FSUtil_1.FSUtil.fileExists(moduleYamlPath);
225
249
  if (!moduleYamlPathExists) {
226
250
  return;
@@ -228,16 +252,24 @@ class ModuleConfigUtil {
228
252
  const moduleYamlContent = await fs_1.promises.readFile(moduleYamlPath, 'utf8');
229
253
  return js_yaml_1.default.safeLoad(moduleYamlContent);
230
254
  }
231
- static loadModuleConfigSync(moduleDir, baseDir) {
255
+ static loadModuleConfigSync(moduleDir, baseDir, env) {
232
256
  moduleDir = ModuleConfigUtil.resolveModuleDir(moduleDir, baseDir);
233
- const yamlConfig = ModuleConfigUtil.loadModuleYamlSync(moduleDir);
234
- if (yamlConfig) {
235
- return yamlConfig;
257
+ let defaultConfig = ModuleConfigUtil.loadModuleYamlSync(moduleDir);
258
+ if (!defaultConfig) {
259
+ defaultConfig = ModuleConfigUtil.loadModuleJsonSync(moduleDir);
260
+ }
261
+ let envConfig;
262
+ if (env) {
263
+ envConfig = ModuleConfigUtil.loadModuleYamlSync(moduleDir, env);
264
+ if (!envConfig) {
265
+ envConfig = ModuleConfigUtil.loadModuleJsonSync(moduleDir, env);
266
+ }
236
267
  }
237
- return ModuleConfigUtil.loadModuleJsonSync(moduleDir);
268
+ (0, extend2_1.default)(true, defaultConfig, envConfig);
269
+ return defaultConfig;
238
270
  }
239
- static loadModuleJsonSync(moduleDir) {
240
- const moduleJsonPath = ModuleConfigUtil.moduleJsonPath(moduleDir);
271
+ static loadModuleJsonSync(moduleDir, env) {
272
+ const moduleJsonPath = ModuleConfigUtil.moduleJsonPath(moduleDir, env);
241
273
  const moduleJsonPathExists = fs_1.default.existsSync(moduleJsonPath);
242
274
  if (!moduleJsonPathExists) {
243
275
  return;
@@ -246,8 +278,8 @@ class ModuleConfigUtil {
246
278
  const moduleJson = JSON.parse(moduleJsonContent);
247
279
  return moduleJson.config;
248
280
  }
249
- static loadModuleYamlSync(moduleDir) {
250
- const moduleYamlPath = ModuleConfigUtil.moduleYamlPath(moduleDir);
281
+ static loadModuleYamlSync(moduleDir, env) {
282
+ const moduleYamlPath = ModuleConfigUtil.moduleYamlPath(moduleDir, env);
251
283
  const moduleYamlPathExists = fs_1.default.existsSync(moduleYamlPath);
252
284
  if (!moduleYamlPathExists) {
253
285
  return;
@@ -257,4 +289,4 @@ class ModuleConfigUtil {
257
289
  }
258
290
  }
259
291
  exports.ModuleConfigUtil = ModuleConfigUtil;
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixzREFBMkI7QUFDM0IseUNBQStDO0FBQy9DLGdEQUF3QjtBQUN4QixvREFBNEI7QUFDNUIscUNBQWtDO0FBZ0JsQyxNQUFhLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsZUFBc0M7UUFDbkUsT0FBTyxDQUFDLENBQUUsZUFBK0MsQ0FBQyxJQUFJLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxlQUFzQztRQUNoRSxPQUFPLENBQUMsQ0FBRSxlQUE0QyxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQWFELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBRUYsTUFBYSxnQkFBZ0I7SUFDcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQjtRQUM3QyxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtCO1FBQzdDLE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsT0FBb0M7UUFDckYsMkRBQTJEO1FBQzNELHlFQUF5RTtRQUN6RSxNQUFNLFNBQVMsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztR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
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixzREFBMkI7QUFDM0IseUNBQStDO0FBQy9DLGdEQUF3QjtBQUN4QixvREFBNEI7QUFDNUIscUNBQWtDO0FBQ2xDLHNEQUE2QjtBQWlCN0IsTUFBYSx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGVBQXNDO1FBQ25FLE9BQU8sQ0FBQyxDQUFFLGVBQStDLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsZUFBc0M7UUFDaEUsT0FBTyxDQUFDLENBQUUsZUFBNEMsQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBUkQsOERBUUM7QUFhRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQztBQUVGLE1BQWEsZ0JBQWdCO0lBQ3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBa0IsRUFBRSxHQUFZO1FBQzNELElBQUksR0FBRyxFQUFFO1lBQ1AsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtCLEVBQUUsR0FBWTtRQUMzRCxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FB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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const __1 = require("..");
7
+ const assert_1 = __importDefault(require("assert"));
8
+ describe('test/MapUtil.test.ts', () => {
9
+ it('should set value if key not exists', () => {
10
+ const map = new Map();
11
+ const key = 'test_key';
12
+ const val = 'test_val';
13
+ const getVal = __1.MapUtil.getOrStore(map, key, val);
14
+ (0, assert_1.default)(getVal === val);
15
+ (0, assert_1.default)(map.has(key));
16
+ });
17
+ it('should not set value if key exits', () => {
18
+ const map = new Map();
19
+ const key = 'test_key';
20
+ const val = 'test_val';
21
+ map.set(key, val);
22
+ const initVal = 'test_val2333';
23
+ const getVal = __1.MapUtil.getOrStore(map, key, initVal);
24
+ (0, assert_1.default)(initVal !== getVal);
25
+ (0, assert_1.default)(getVal === val);
26
+ });
27
+ });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFwVXRpbC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9NYXBVdGlsLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwQkFBNkI7QUFDN0Isb0RBQTRCO0FBRTVCLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsV0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUEsZ0JBQU0sRUFBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBQSxnQkFBTSxFQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRyxXQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBQSxnQkFBTSxFQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFBLGdCQUFNLEVBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const ModuleConfig_1 = require("../src/ModuleConfig");
9
+ describe('test/ModuleConfig.test.ts', () => {
10
+ describe('load yaml config', () => {
11
+ it('should work', () => {
12
+ const config = ModuleConfig_1.ModuleConfigUtil.loadModuleConfigSync(path_1.default.join(__dirname, './fixtures/modules/foo-yaml'));
13
+ assert_1.default.deepStrictEqual(config, { mysql: { host: '127.0.0.1' } });
14
+ });
15
+ });
16
+ describe('load module reference', () => {
17
+ describe('module.json not exits', () => {
18
+ it('should work', () => {
19
+ const fixturesPath = path_1.default.join(__dirname, './fixtures/apps/app-with-no-module-json');
20
+ const ref = ModuleConfig_1.ModuleConfigUtil.readModuleReference(fixturesPath);
21
+ assert_1.default.deepStrictEqual(ref, [
22
+ { path: path_1.default.join(fixturesPath, 'app/module-a') },
23
+ { path: path_1.default.join(fixturesPath, 'app/module-b') },
24
+ { path: path_1.default.join(fixturesPath, 'app/module-b/test/fixtures/module-e') },
25
+ { path: path_1.default.join(fixturesPath, 'node_modules/module-c') },
26
+ ]);
27
+ });
28
+ it('duplicated module', () => {
29
+ const fixturesPath = path_1.default.join(__dirname, './fixtures/apps/app-with-no-module-json-duplicated');
30
+ assert_1.default.throws(() => { ModuleConfig_1.ModuleConfigUtil.readModuleReference(fixturesPath); }, /duplicate import of module reference/, 'did not throw with expected message');
31
+ });
32
+ describe('has symlink', () => {
33
+ it('should work', () => {
34
+ const fixturesPath = path_1.default.join(__dirname, './fixtures/apps/app-with-symlink');
35
+ const ref = ModuleConfig_1.ModuleConfigUtil.readModuleReference(fixturesPath);
36
+ assert_1.default.deepStrictEqual(ref, [
37
+ { path: path_1.default.join(fixturesPath, 'app/module-a') },
38
+ ]);
39
+ });
40
+ });
41
+ });
42
+ describe('module.json exits', () => {
43
+ it('should work', () => {
44
+ const fixturesPath = path_1.default.join(__dirname, './fixtures/apps/app-with-module-json');
45
+ const ref = ModuleConfig_1.ModuleConfigUtil.readModuleReference(fixturesPath);
46
+ assert_1.default.deepStrictEqual(ref, [
47
+ { path: path_1.default.join(fixturesPath, 'app/module-a') },
48
+ { path: path_1.default.join(fixturesPath, 'app/module-b') },
49
+ ]);
50
+ });
51
+ });
52
+ describe('module.json has pkg', () => {
53
+ it('should work', () => {
54
+ const fixturesPath = path_1.default.join(__dirname, './fixtures/apps/app-with-module-pkg-json');
55
+ const ref = ModuleConfig_1.ModuleConfigUtil.readModuleReference(fixturesPath, {
56
+ cwd: fixturesPath,
57
+ });
58
+ assert_1.default.deepStrictEqual(ref, [
59
+ { path: path_1.default.join(fixturesPath, 'node_modules/module-a') },
60
+ ]);
61
+ });
62
+ });
63
+ });
64
+ describe('read package dependencies', () => {
65
+ it('should success if package.json not exist', async () => {
66
+ const dir = path_1.default.resolve(__dirname, './fixtures/monorepo/foo');
67
+ const ret = ModuleConfig_1.ModuleConfigUtil.readModuleFromNodeModules(dir);
68
+ assert_1.default.deepStrictEqual(ret, []);
69
+ });
70
+ it('should success whether dependencies entry has exported package.json', async () => {
71
+ const dir = path_1.default.resolve(__dirname, './fixtures/monorepo/packages/d');
72
+ const ret = ModuleConfig_1.ModuleConfigUtil.readModuleFromNodeModules(dir);
73
+ assert_1.default.deepStrictEqual(ret, [{
74
+ path: path_1.default.resolve(__dirname, './fixtures/monorepo/packages/d/node_modules/e'),
75
+ }]);
76
+ });
77
+ it('should read dependencies from self node_modules', async () => {
78
+ const dir = path_1.default.resolve(__dirname, './fixtures/monorepo/packages/a');
79
+ const ret = ModuleConfig_1.ModuleConfigUtil.readModuleFromNodeModules(dir);
80
+ assert_1.default.deepStrictEqual(ret, [{
81
+ path: path_1.default.resolve(__dirname, './fixtures/monorepo/packages/a/node_modules/c'),
82
+ }]);
83
+ });
84
+ it('should read dependencies from parent node_modules', async () => {
85
+ const dir = path_1.default.resolve(__dirname, './fixtures/monorepo/packages/b');
86
+ const ret = ModuleConfig_1.ModuleConfigUtil.readModuleFromNodeModules(dir);
87
+ assert_1.default.deepStrictEqual(ret, [{
88
+ path: path_1.default.resolve(__dirname, './fixtures/monorepo/packages/a'),
89
+ }]);
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L01vZHVsZUNvbmZpZy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLGdEQUF3QjtBQUN4QixzREFBdUQ7QUFFdkQsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLCtCQUFnQixDQUFDLG9CQUFvQixDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQztZQUMxRyxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQ3JDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7WUFDckMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHlDQUF5QyxDQUFDLENBQUM7Z0JBQ3JGLE1BQU0sR0FBRyxHQUFHLCtCQUFnQixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7b0JBQzFCLEVBQUUsSUFBSSxFQUFFLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxFQUFFO29CQUNqRCxFQUFFLElBQUksRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFD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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const __1 = require("..");
7
+ const assert_1 = __importDefault(require("assert"));
8
+ describe('test/NameUtil.test.ts', () => {
9
+ it('should work', () => {
10
+ class Hello {
11
+ }
12
+ const name = __1.NameUtil.getClassName(Hello);
13
+ (0, assert_1.default)(name === 'hello');
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvTmFtZVV0aWwudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBCQUE4QjtBQUM5QixvREFBNEI7QUFFNUIsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUNyQixNQUFNLEtBQUs7U0FBRztRQUNkLE1BQU0sSUFBSSxHQUFHLFlBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBQSxnQkFBTSxFQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const __1 = require("..");
8
+ describe('test/ObjectUtil.test.ts', () => {
9
+ it('should work', () => {
10
+ function mockFunction(/* test */ ctx, foo, bar = '233') {
11
+ // test
12
+ console.log(ctx, foo, bar);
13
+ }
14
+ const argNames = __1.ObjectUtils.getFunctionArgNameList(mockFunction);
15
+ assert_1.default.deepStrictEqual(argNames, ['ctx', 'foo', 'bar']);
16
+ });
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0VXRpbC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9PYmplY3RVdGlsLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMEJBQWlDO0FBRWpDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDckIsU0FBUyxZQUFZLENBQUMsVUFBVSxDQUFBLEdBQVcsRUFBRSxHQUFXLEVBQUUsR0FBRyxHQUFHLEtBQUs7WUFDbkUsT0FBTztZQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsZUFBVyxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLGdCQUFNLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const Graph_1 = require("../src/Graph");
8
+ describe('test/LoadUnit/Graph.test.ts', () => {
9
+ class GraphNodeVal {
10
+ constructor(id) {
11
+ this.id = id;
12
+ }
13
+ toString() {
14
+ return `id:${this.id}`;
15
+ }
16
+ }
17
+ describe('hasLoop', () => {
18
+ it('if has loop, should return path', () => {
19
+ const graph = new Graph_1.Graph();
20
+ const node1 = new Graph_1.GraphNode(new GraphNodeVal('1'));
21
+ const node2 = new Graph_1.GraphNode(new GraphNodeVal('2'));
22
+ const node3 = new Graph_1.GraphNode(new GraphNodeVal('3'));
23
+ const node4 = new Graph_1.GraphNode(new GraphNodeVal('4'));
24
+ const node5 = new Graph_1.GraphNode(new GraphNodeVal('5'));
25
+ graph.addVertex(node2);
26
+ graph.addVertex(node3);
27
+ graph.addVertex(node1);
28
+ graph.addVertex(node4);
29
+ graph.addVertex(node5);
30
+ graph.addEdge(node1, node5);
31
+ graph.addEdge(node1, node2);
32
+ graph.addEdge(node2, node3);
33
+ graph.addEdge(node3, node1);
34
+ const loopPath = graph.loopPath();
35
+ (0, assert_1.default)(loopPath.toString() === 'id:2 -> id:3 -> id:1 -> id:2');
36
+ });
37
+ it('if do not has loop, should return undefined', () => {
38
+ const graph = new Graph_1.Graph();
39
+ const node1 = new Graph_1.GraphNode({ id: '1' });
40
+ const node2 = new Graph_1.GraphNode({ id: '2' });
41
+ const node3 = new Graph_1.GraphNode({ id: '3' });
42
+ const node4 = new Graph_1.GraphNode({ id: '4' });
43
+ const node5 = new Graph_1.GraphNode({ id: '5' });
44
+ graph.addVertex(node2);
45
+ graph.addVertex(node3);
46
+ graph.addVertex(node1);
47
+ graph.addVertex(node4);
48
+ graph.addVertex(node5);
49
+ graph.addEdge(node1, node5);
50
+ graph.addEdge(node1, node2);
51
+ graph.addEdge(node2, node3);
52
+ graph.addEdge(node3, node4);
53
+ const loopPath = graph.loopPath();
54
+ (0, assert_1.default)(!loopPath);
55
+ });
56
+ });
57
+ describe('sort', () => {
58
+ it('can not access vertex should at first', () => {
59
+ const graph = new Graph_1.Graph();
60
+ const node1 = new Graph_1.GraphNode({ id: '1' });
61
+ const node2 = new Graph_1.GraphNode({ id: '2' });
62
+ const node3 = new Graph_1.GraphNode({ id: '3' });
63
+ graph.addVertex(node1);
64
+ graph.addVertex(node2);
65
+ graph.addVertex(node3);
66
+ graph.addEdge(node2, node3);
67
+ const sortRes = graph.sort();
68
+ (0, assert_1.default)(sortRes[0] === node1);
69
+ });
70
+ it('should have reverse order with access direct', () => {
71
+ const graph = new Graph_1.Graph();
72
+ const node1 = new Graph_1.GraphNode({ id: '1' });
73
+ const node2 = new Graph_1.GraphNode({ id: '2' });
74
+ const node3 = new Graph_1.GraphNode({ id: '3' });
75
+ const node4 = new Graph_1.GraphNode({ id: '4' });
76
+ const node5 = new Graph_1.GraphNode({ id: '5' });
77
+ graph.addVertex(node1);
78
+ graph.addVertex(node2);
79
+ graph.addVertex(node3);
80
+ graph.addVertex(node4);
81
+ graph.addVertex(node5);
82
+ graph.addEdge(node1, node2);
83
+ graph.addEdge(node2, node5);
84
+ graph.addEdge(node3, node4);
85
+ graph.addEdge(node4, node5);
86
+ const sortRes = graph.sort();
87
+ assert_1.default.deepStrictEqual(sortRes, [
88
+ node5,
89
+ node2,
90
+ node1,
91
+ node4,
92
+ node3,
93
+ ]);
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9HcmFwaC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9Qcm90b0dyYXBoLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsd0NBQThEO0FBRTlELFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7SUFDM0MsTUFBTSxZQUFZO1FBR2hCLFlBQVksRUFBVTtZQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFFRCxRQUFRO1lBQ04sT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN6QixDQUFDO0tBQ0Y7SUFFRCxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtRQUN2QixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7WUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXZCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTVCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFBLGdCQUFNLEVBQUMsUUFBUyxDQUFDLFFBQVEsRUFBRSxLQUFLLDhCQUE4QixDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO1lBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7WUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxpQkFBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXZCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTVCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFBLGdCQUFNLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDcEIsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtZQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQUssRUFBRSxDQUFDO1lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFBLGdCQUFNLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtZQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQUssRUFBRSxDQUFDO1lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksaUJBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0IsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFO2dCQUM5QixLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsS0FBSztnQkFDTCxLQUFLO2dCQUNMLEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
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.19.0",
4
+ "version": "3.21.0",
5
5
  "keywords": [
6
6
  "egg",
7
7
  "typescript",
@@ -36,6 +36,7 @@
36
36
  "node": ">=14.0.0"
37
37
  },
38
38
  "dependencies": {
39
+ "extend2": "^1.0.0",
39
40
  "globby": "^11.1.0",
40
41
  "js-yaml": "^3.14.0"
41
42
  },
@@ -50,5 +51,5 @@
50
51
  "ts-node": "^10.9.1",
51
52
  "typescript": "^5.0.4"
52
53
  },
53
- "gitHead": "398549c20d57772a87f669cb4f817f37ce92a9c4"
54
+ "gitHead": "7bd1891af05dc144a2b8521efe851c778c16cebb"
54
55
  }