@allgemein/moduls 1.6.6 → 1.7.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.
- package/Constants.js +1 -2
- package/Constants.js.map +1 -1
- package/LICENSE +2 -2
- package/README.md +0 -1
- package/browser.js +1 -2
- package/browser.js.map +1 -1
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/loader/AbstractModuleHandle.js +1 -2
- package/loader/AbstractModuleHandle.js.map +1 -1
- package/loader/AbstractModuleLoader.js +22 -34
- package/loader/AbstractModuleLoader.js.map +1 -1
- package/loader/IModuleLoader.js +1 -2
- package/loader/IModuleLoader.js.map +1 -1
- package/loader/IModuleOptions.js +1 -2
- package/loader/IModuleOptions.js.map +1 -1
- package/loader/classes/ClassesHandle.js +1 -2
- package/loader/classes/ClassesHandle.js.map +1 -1
- package/loader/classes/ClassesLoader.d.ts +3 -2
- package/loader/classes/ClassesLoader.js +66 -86
- package/loader/classes/ClassesLoader.js.map +1 -1
- package/loader/classes/IClassesLoader.js +1 -2
- package/loader/classes/IClassesLoader.js.map +1 -1
- package/loader/classes/IClassesOptions.js +1 -2
- package/loader/classes/IClassesOptions.js.map +1 -1
- package/loader/require/IRequireLoader.js +1 -2
- package/loader/require/IRequireLoader.js.map +1 -1
- package/loader/require/IRequireOptions.js +1 -2
- package/loader/require/IRequireOptions.js.map +1 -1
- package/loader/require/RequireHandle.js +1 -2
- package/loader/require/RequireHandle.js.map +1 -1
- package/loader/require/RequireLoader.js +69 -85
- package/loader/require/RequireLoader.js.map +1 -1
- package/loader/settings/ISettingsLoader.js +1 -2
- package/loader/settings/ISettingsLoader.js.map +1 -1
- package/loader/settings/ISettingsOptions.js +1 -2
- package/loader/settings/ISettingsOptions.js.map +1 -1
- package/loader/settings/SettingsHandle.js +1 -2
- package/loader/settings/SettingsHandle.js.map +1 -1
- package/loader/settings/SettingsLoader.js +21 -33
- package/loader/settings/SettingsLoader.js.map +1 -1
- package/package.json +8 -40
- package/registry/Constants.js +1 -2
- package/registry/Constants.js.map +1 -1
- package/registry/ICache.js +1 -2
- package/registry/ICache.js.map +1 -1
- package/registry/IModuleRegistry.js +1 -2
- package/registry/IModuleRegistry.js.map +1 -1
- package/registry/IModuleRegistryOptions.d.ts +0 -1
- package/registry/IModuleRegistryOptions.js +1 -2
- package/registry/IModuleRegistryOptions.js.map +1 -1
- package/registry/ISubModule.js +1 -2
- package/registry/ISubModule.js.map +1 -1
- package/registry/ModuleDescriptor.js +1 -2
- package/registry/ModuleDescriptor.js.map +1 -1
- package/registry/ModuleRegistry.js +66 -86
- package/registry/ModuleRegistry.js.map +1 -1
- package/utils/Helper.d.ts +0 -1
- package/utils/Helper.js +121 -155
- package/utils/Helper.js.map +1 -1
- package/utils/INpmlsOptions.d.ts +4 -0
- package/utils/INpmlsOptions.js +1 -2
- package/utils/INpmlsOptions.js.map +1 -1
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ModuleRegistry = void 0;
|
|
13
4
|
const lodash_1 = require("lodash");
|
|
@@ -49,29 +40,27 @@ class ModuleRegistry {
|
|
|
49
40
|
getOptions() {
|
|
50
41
|
return this.options();
|
|
51
42
|
}
|
|
52
|
-
rebuild() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
to_register.push(__modul);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
_modul.multi_implements = true;
|
|
68
|
-
// TODO: if module already exists check version and replace them
|
|
69
|
-
}
|
|
43
|
+
async rebuild() {
|
|
44
|
+
ModuleDescriptor_1.ModuleDescriptor.INC = 0;
|
|
45
|
+
this._modules = [];
|
|
46
|
+
let modules_lists = await Promise.all((0, lodash_1.map)(this.paths, this._scan_module_path.bind(this)));
|
|
47
|
+
let to_register = [];
|
|
48
|
+
let one_list = [].concat(...modules_lists);
|
|
49
|
+
for (let __modul of one_list) {
|
|
50
|
+
let _modul = (0, lodash_1.find)(to_register, function (_x) {
|
|
51
|
+
return _x.name === __modul.name;
|
|
52
|
+
});
|
|
53
|
+
if (!_modul) {
|
|
54
|
+
to_register.push(__modul);
|
|
70
55
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
56
|
+
else {
|
|
57
|
+
_modul.multi_implements = true;
|
|
58
|
+
// TODO: if module already exists check version and replace them
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// await Promise.all(map(modules, this.load.bind(this)));
|
|
62
|
+
this._build_registry(to_register);
|
|
63
|
+
return this;
|
|
75
64
|
}
|
|
76
65
|
modules() {
|
|
77
66
|
return this._modules;
|
|
@@ -79,51 +68,49 @@ class ModuleRegistry {
|
|
|
79
68
|
getModules() {
|
|
80
69
|
return this.modules();
|
|
81
70
|
}
|
|
82
|
-
_scan_module_path(node_modules_dir) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
packageJsons = yield this.getCache().get(cacheKey);
|
|
89
|
-
}
|
|
90
|
-
catch (e) {
|
|
91
|
-
}
|
|
71
|
+
async _scan_module_path(node_modules_dir) {
|
|
72
|
+
const cacheKey = [ModuleRegistry.name.toLowerCase(), 'scan_modul_path', base_1.CryptUtils.shorthash(node_modules_dir)].join('--');
|
|
73
|
+
let packageJsons = null;
|
|
74
|
+
if (this.hasCache()) {
|
|
75
|
+
try {
|
|
76
|
+
packageJsons = await this.getCache().get(cacheKey);
|
|
92
77
|
}
|
|
93
|
-
|
|
94
|
-
filter: this._options.packageFilter,
|
|
95
|
-
depth: this._options.depth,
|
|
96
|
-
subModulePaths: this._options.pattern,
|
|
97
|
-
};
|
|
98
|
-
if (this._options.exclude) {
|
|
99
|
-
options.exclude = this._options.exclude;
|
|
78
|
+
catch (e) {
|
|
100
79
|
}
|
|
101
|
-
|
|
102
|
-
|
|
80
|
+
}
|
|
81
|
+
let options = {
|
|
82
|
+
filter: this._options.packageFilter,
|
|
83
|
+
depth: this._options.depth,
|
|
84
|
+
subModulePaths: this._options.pattern,
|
|
85
|
+
};
|
|
86
|
+
if (this._options.exclude) {
|
|
87
|
+
options.exclude = this._options.exclude;
|
|
88
|
+
}
|
|
89
|
+
if (this._options.include) {
|
|
90
|
+
options.include = this._options.include;
|
|
91
|
+
}
|
|
92
|
+
if ((0, lodash_1.isNull)(packageJsons)) {
|
|
93
|
+
packageJsons = [];
|
|
94
|
+
if (base_1.PlatformUtils.fileExist(base_1.PlatformUtils.join(node_modules_dir, Constants_2.C_PACKAGE_JSON))) {
|
|
95
|
+
options.depth++;
|
|
96
|
+
let dirname = base_1.PlatformUtils.dirname(node_modules_dir);
|
|
97
|
+
let basename = base_1.PlatformUtils.basename(node_modules_dir);
|
|
98
|
+
// TODO!!!!
|
|
99
|
+
packageJsons = await Helper_1.Helper.lookupNpmInDirectory(dirname, basename, [], options);
|
|
103
100
|
}
|
|
104
|
-
|
|
105
|
-
packageJsons =
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// TODO!!!!
|
|
111
|
-
packageJsons = yield Helper_1.Helper.lookupNpmInDirectory(dirname, basename, [], options);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
packageJsons = yield Helper_1.Helper.npmls(node_modules_dir, options);
|
|
101
|
+
else {
|
|
102
|
+
packageJsons = await Helper_1.Helper.npmls(node_modules_dir, options);
|
|
103
|
+
}
|
|
104
|
+
if (this.hasCache() && packageJsons) {
|
|
105
|
+
try {
|
|
106
|
+
this.getCache().set(cacheKey, packageJsons);
|
|
115
107
|
}
|
|
116
|
-
|
|
117
|
-
try {
|
|
118
|
-
this.getCache().set(cacheKey, packageJsons);
|
|
119
|
-
}
|
|
120
|
-
catch (e) {
|
|
121
|
-
}
|
|
108
|
+
catch (e) {
|
|
122
109
|
}
|
|
123
110
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
111
|
+
}
|
|
112
|
+
return (0, lodash_1.map)(packageJsons, (module) => {
|
|
113
|
+
return ModuleDescriptor_1.ModuleDescriptor.fromOptions(module);
|
|
127
114
|
});
|
|
128
115
|
}
|
|
129
116
|
_build_registry(modules) {
|
|
@@ -178,29 +165,22 @@ class ModuleRegistry {
|
|
|
178
165
|
});
|
|
179
166
|
return this._modules;
|
|
180
167
|
}
|
|
181
|
-
loader(loaderClazz, options) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
return instance;
|
|
186
|
-
});
|
|
168
|
+
async loader(loaderClazz, options) {
|
|
169
|
+
let instance = Reflect.construct(loaderClazz, [this, options]);
|
|
170
|
+
await instance.load(this.modules());
|
|
171
|
+
return instance;
|
|
187
172
|
}
|
|
188
173
|
createRequireLoader(options) {
|
|
189
174
|
return this.loader(RequireLoader_1.RequireLoader, options);
|
|
190
175
|
}
|
|
191
|
-
createClassesLoader(options) {
|
|
192
|
-
return
|
|
193
|
-
return this.loader(ClassesLoader_1.ClassesLoader, options);
|
|
194
|
-
});
|
|
176
|
+
async createClassesLoader(options) {
|
|
177
|
+
return this.loader(ClassesLoader_1.ClassesLoader, options);
|
|
195
178
|
}
|
|
196
|
-
createSettingsLoader(options) {
|
|
197
|
-
return
|
|
198
|
-
return this.loader(SettingsLoader_1.SettingsLoader, options);
|
|
199
|
-
});
|
|
179
|
+
async createSettingsLoader(options) {
|
|
180
|
+
return this.loader(SettingsLoader_1.SettingsLoader, options);
|
|
200
181
|
}
|
|
201
182
|
save() {
|
|
202
183
|
}
|
|
203
184
|
}
|
|
204
185
|
exports.ModuleRegistry = ModuleRegistry;
|
|
205
|
-
|
|
206
|
-
//# sourceMappingURL=ModuleRegistry.js.map
|
|
186
|
+
//# sourceMappingURL=ModuleRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/registry/ModuleRegistry.ts"],"names":[],"mappings":"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","file":"ModuleRegistry.js","sourcesContent":["import {concat, defaults, filter, find, isNull, map, uniq, values} from 'lodash';\nimport {ModuleDescriptor} from './ModuleDescriptor';\nimport {Helper} from '../utils/Helper';\nimport {IModuleRegistryOptions} from './IModuleRegistryOptions';\nimport {CryptUtils, PlatformUtils} from '@allgemein/base';\nimport {INpmlsOptions} from '../utils/INpmlsOptions';\nimport {IRequireOptions} from '../loader/require/IRequireOptions';\nimport {RequireLoader} from '../loader/require/RequireLoader';\nimport {ClassesLoader} from '../loader/classes/ClassesLoader';\nimport {IClassesOptions} from '../loader/classes/IClassesOptions';\nimport {ISettingsOptions} from '../loader/settings/ISettingsOptions';\nimport {SettingsLoader} from '../loader/settings/SettingsLoader';\nimport {MODUL_REGISTRY_DEFAULT_OPTIONS} from './Constants';\nimport {IModuleRegistry} from './IModuleRegistry';\nimport {IModuleLoader} from '../loader/IModuleLoader';\nimport {C_NODE_MODULES, C_PACKAGE_JSON} from '../Constants';\n\n\nexport class ModuleRegistry implements IModuleRegistry {\n\n private readonly _options: IModuleRegistryOptions;\n\n private _modules: ModuleDescriptor[] = [];\n\n paths: string[] = [];\n\n\n constructor(options: IModuleRegistryOptions) {\n defaults(options, MODUL_REGISTRY_DEFAULT_OPTIONS);\n this._modules = [];\n this._options = options;\n this.paths = options.paths; // Helper.checkPaths(options.paths || []);\n this._options.depth = this._options.depth || 2;\n this._options.pattern.unshift(C_NODE_MODULES);\n this._options.pattern = uniq(this._options.pattern);\n }\n\n\n /**\n * Check if cache is present\n */\n hasCache() {\n return !!this._options.cache;\n }\n\n /**\n * Return the cache object\n */\n getCache() {\n return this._options.cache;\n }\n\n options() {\n return this._options;\n }\n\n getOptions() {\n return this.options();\n }\n\n\n async rebuild(): Promise<IModuleRegistry> {\n ModuleDescriptor.INC = 0;\n this._modules = [];\n\n let modules_lists = await Promise.all(\n map(this.paths, this._scan_module_path.bind(this))\n );\n\n let to_register = [];\n let one_list = [].concat(...modules_lists);\n\n for (let __modul of one_list) {\n let _modul = find(to_register, function (_x) {\n return _x.name === __modul.name;\n });\n\n if (!_modul) {\n to_register.push(__modul);\n } else {\n _modul.multi_implements = true;\n // TODO: if module already exists check version and replace them\n }\n }\n\n // await Promise.all(map(modules, this.load.bind(this)));\n this._build_registry(to_register);\n return this;\n }\n\n modules(): ModuleDescriptor[] {\n return this._modules;\n }\n\n getModules() {\n return this.modules();\n }\n\n\n private async _scan_module_path(node_modules_dir: string): Promise<ModuleDescriptor[]> {\n\n const cacheKey = [ModuleRegistry.name.toLowerCase(), 'scan_modul_path', CryptUtils.shorthash(node_modules_dir)].join('--');\n let packageJsons = null;\n if (this.hasCache()) {\n try {\n packageJsons = await this.getCache().get(cacheKey);\n } catch (e) {\n }\n }\n\n let options: INpmlsOptions = {\n filter: this._options.packageFilter,\n depth: this._options.depth,\n subModulePaths: this._options.pattern,\n };\n if (this._options.exclude) {\n options.exclude = this._options.exclude;\n }\n if (this._options.include) {\n options.include = this._options.include;\n }\n\n if (isNull(packageJsons)) {\n packageJsons = [];\n if (PlatformUtils.fileExist(PlatformUtils.join(node_modules_dir, C_PACKAGE_JSON))) {\n options.depth++;\n let dirname = PlatformUtils.dirname(node_modules_dir);\n let basename = PlatformUtils.basename(node_modules_dir);\n // TODO!!!!\n packageJsons = await Helper.lookupNpmInDirectory(dirname, basename, [], options);\n } else {\n packageJsons = await Helper.npmls(node_modules_dir, options);\n }\n\n if (this.hasCache() && packageJsons) {\n try {\n this.getCache().set(cacheKey, packageJsons);\n } catch (e) {\n\n }\n }\n }\n\n return map(packageJsons, (module: any) => {\n return ModuleDescriptor.fromOptions(module);\n });\n }\n\n\n private _build_registry(modules: ModuleDescriptor[]) {\n this._modules = modules;\n\n for (let _modul of this._modules) {\n let dependencies = concat([], Object.keys(_modul.dependencies), Object.keys(_modul.peerDependencies));\n let submoduls: string[] = [];\n map(values(_modul.sub_modules), v => {\n submoduls.push(...v.modules);\n });\n\n let children = filter(this._modules, function (_x) {\n return dependencies.indexOf(_x.name) > -1;\n });\n\n for (let _dep_modul of children) {\n _modul.child_modules.push(_dep_modul.name);\n }\n _modul.child_modules = uniq(_modul.child_modules);\n\n let submodules = filter(this._modules, (_x) => {\n return submoduls.indexOf(_x.name) > -1;\n });\n\n submodules.forEach((m) => {\n m.submodule = true;\n });\n\n }\n\n this._modules.sort((a: ModuleDescriptor, b: ModuleDescriptor) => {\n return a.child_modules.length - b.child_modules.length;\n });\n\n for (let first of this._modules) {\n\n let dependents = filter(this._modules, function (other) {\n if (other.name == first.name) {\n return false;\n }\n\n if (other.child_modules.indexOf(first.name) > -1) {\n return true;\n }\n return false;\n });\n\n if (dependents.length) {\n for (let x of dependents) {\n x.weight += (first.weight + 1);\n }\n } else {\n // ???\n }\n }\n\n this._modules.sort((a, b) => {\n if (a.weight === b.weight) {\n return a.name.localeCompare(b.name);\n }\n return a.weight - b.weight;\n });\n\n return this._modules;\n }\n\n\n async loader<T extends IModuleLoader<any>, OPT>(loaderClazz: Function, options?: OPT): Promise<T> {\n let instance = <T>Reflect.construct(loaderClazz, [this, options]);\n await instance.load(this.modules());\n return instance;\n }\n\n createRequireLoader(options?: IRequireOptions): Promise<RequireLoader> {\n return this.loader<RequireLoader, IRequireOptions>(RequireLoader, options);\n }\n\n async createClassesLoader(options?: IClassesOptions): Promise<ClassesLoader> {\n return this.loader<ClassesLoader, IClassesOptions>(ClassesLoader, options);\n }\n\n async createSettingsLoader(options?: ISettingsOptions): Promise<SettingsLoader> {\n return this.loader<SettingsLoader, ISettingsOptions>(SettingsLoader, options);\n }\n\n\n save(){\n\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"file":"ModuleRegistry.js","sourceRoot":"","sources":["../../../src/registry/ModuleRegistry.ts"],"names":[],"mappings":";;;AAAA,mCAAiF;AACjF,yDAAoD;AACpD,4CAAuC;AAEvC,0CAA0D;AAG1D,mEAA8D;AAC9D,mEAA8D;AAG9D,sEAAiE;AACjE,2CAA2D;AAG3D,4CAA4D;AAG5D,MAAa,cAAc;IASzB,YAAY,OAA+B;QALnC,aAAQ,GAAuB,EAAE,CAAC;QAE1C,UAAK,GAAa,EAAE,CAAC;QAInB,IAAA,iBAAQ,EAAC,OAAO,EAAE,0CAA8B,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,0CAA0C;QACtE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,0BAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAA,aAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAGD;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAGD,KAAK,CAAC,OAAO;QACX,mCAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAA,YAAG,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;QAEF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC;QAE3C,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,MAAM,GAAG,IAAA,aAAI,EAAC,WAAW,EAAE,UAAU,EAAE;gBACzC,OAAO,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,gEAAgE;YAClE,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAGO,KAAK,CAAC,iBAAiB,CAAC,gBAAwB;QAEtD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,iBAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3H,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAkB;YAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;SACtC,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,IAAI,IAAA,eAAM,EAAC,YAAY,CAAC,EAAE,CAAC;YACzB,YAAY,GAAG,EAAE,CAAC;YAClB,IAAI,oBAAa,CAAC,SAAS,CAAC,oBAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,0BAAc,CAAC,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,OAAO,GAAG,oBAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACtD,IAAI,QAAQ,GAAG,oBAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACxD,WAAW;gBACX,YAAY,GAAG,MAAM,eAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,eAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC9C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;gBAEb,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAA,YAAG,EAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;YACvC,OAAO,mCAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAGO,eAAe,CAAC,OAA2B;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,YAAY,GAAG,IAAA,eAAM,EAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtG,IAAI,SAAS,GAAa,EAAE,CAAC;YAC7B,IAAA,YAAG,EAAC,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE;gBAClC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;gBAC/C,OAAO,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,KAAK,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,aAAa,GAAG,IAAA,aAAI,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,UAAU,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;QAEL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;YAC9D,OAAO,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhC,IAAI,UAAU,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK;gBACpD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;oBACzB,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAoC,WAAqB,EAAE,OAAa;QAClF,IAAI,QAAQ,GAAM,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mBAAmB,CAAC,OAAyB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAiC,6BAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAyB;QACjD,OAAO,IAAI,CAAC,MAAM,CAAiC,6BAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QACnD,OAAO,IAAI,CAAC,MAAM,CAAmC,+BAAc,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAGD,IAAI;IAEJ,CAAC;CACF;AA3ND,wCA2NC"}
|
package/utils/Helper.d.ts
CHANGED
package/utils/Helper.js
CHANGED
|
@@ -1,34 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.Helper = void 0;
|
|
13
4
|
const fs_1 = require("fs");
|
|
14
5
|
const path_1 = require("path");
|
|
15
6
|
const lodash_1 = require("lodash");
|
|
16
7
|
const base_1 = require("@allgemein/base");
|
|
17
|
-
const
|
|
8
|
+
const glob_1 = require("glob");
|
|
18
9
|
const micromatch_1 = require("micromatch");
|
|
19
10
|
const Constants_1 = require("../Constants");
|
|
20
11
|
class Helper {
|
|
21
12
|
static glob(lib_path) {
|
|
22
|
-
return
|
|
23
|
-
glob(lib_path, ((err, matches) => {
|
|
24
|
-
if (err) {
|
|
25
|
-
reject(err);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
resolve(matches);
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
31
|
-
});
|
|
13
|
+
return (0, glob_1.glob)(lib_path);
|
|
32
14
|
}
|
|
33
15
|
static readFile(file) {
|
|
34
16
|
return new Promise((resolve, reject) => {
|
|
@@ -65,161 +47,146 @@ class Helper {
|
|
|
65
47
|
static ucfirst(word) {
|
|
66
48
|
return word[0].toUpperCase() + word.substring(1).toLowerCase();
|
|
67
49
|
}
|
|
68
|
-
static readdir(dir) {
|
|
69
|
-
return
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
static stat(dir) {
|
|
83
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
return new Promise((resolve, reject) => {
|
|
85
|
-
(0, fs_1.stat)(dir, (err, stats) => {
|
|
86
|
-
if (err) {
|
|
87
|
-
reject(err);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
resolve(stats);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
50
|
+
static async readdir(dir) {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
(0, fs_1.readdir)(dir, (err, files) => {
|
|
53
|
+
if (err) {
|
|
54
|
+
reject(err);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
resolve(files);
|
|
58
|
+
}
|
|
93
59
|
});
|
|
94
60
|
});
|
|
95
61
|
}
|
|
96
|
-
static
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return [];
|
|
102
|
-
}
|
|
103
|
-
options.level = inc + 1;
|
|
104
|
-
let modules = [];
|
|
105
|
-
let directories = yield this.getValidDirectories(node_modules_dir, options);
|
|
106
|
-
yield Promise.all((0, lodash_1.map)(directories, (directory) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
if (/^@/.test(directory)) {
|
|
108
|
-
// is grouped
|
|
109
|
-
let _grouped_node_modules_dir = base_1.PlatformUtils.join(node_modules_dir, directory);
|
|
110
|
-
let _directories = yield this.getValidDirectories(_grouped_node_modules_dir, options);
|
|
111
|
-
return Promise.all((0, lodash_1.map)(_directories, (_directory) => __awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
_directory = base_1.PlatformUtils.join(directory, _directory);
|
|
113
|
-
return Helper.lookupNpmInDirectory(node_modules_dir, _directory, modules, options);
|
|
114
|
-
})));
|
|
62
|
+
static async stat(dir) {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
(0, fs_1.stat)(dir, (err, stats) => {
|
|
65
|
+
if (err) {
|
|
66
|
+
reject(err);
|
|
115
67
|
}
|
|
116
68
|
else {
|
|
117
|
-
|
|
69
|
+
resolve(stats);
|
|
118
70
|
}
|
|
119
|
-
})
|
|
120
|
-
return modules;
|
|
71
|
+
});
|
|
121
72
|
});
|
|
122
73
|
}
|
|
123
|
-
static
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
74
|
+
static async npmls(node_modules_dir, options = { depth: 1, level: 0 }) {
|
|
75
|
+
let depth = options.depth;
|
|
76
|
+
let inc = options.level;
|
|
77
|
+
if (inc >= depth) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
options.level = inc + 1;
|
|
81
|
+
let modules = [];
|
|
82
|
+
let directories = await this.getValidDirectories(node_modules_dir, options);
|
|
83
|
+
await Promise.all((0, lodash_1.map)(directories, async (directory) => {
|
|
84
|
+
if (/^@/.test(directory)) {
|
|
85
|
+
// is grouped
|
|
86
|
+
let _grouped_node_modules_dir = base_1.PlatformUtils.join(node_modules_dir, directory);
|
|
87
|
+
let _directories = await this.getValidDirectories(_grouped_node_modules_dir, options);
|
|
88
|
+
return Promise.all((0, lodash_1.map)(_directories, async (_directory) => {
|
|
89
|
+
_directory = base_1.PlatformUtils.join(directory, _directory);
|
|
90
|
+
return Helper.lookupNpmInDirectory(node_modules_dir, _directory, modules, options);
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return Helper.lookupNpmInDirectory(node_modules_dir, directory, modules, options);
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
return modules;
|
|
98
|
+
}
|
|
99
|
+
static async getValidDirectories(node_modules_dir, options) {
|
|
100
|
+
let directories = await this.readdir(node_modules_dir);
|
|
101
|
+
if ((0, lodash_1.has)(options, 'exclude') || (0, lodash_1.has)(options, 'include')) {
|
|
102
|
+
if ((0, lodash_1.has)(options, 'include') && !(0, lodash_1.isEmpty)(options.include)) {
|
|
103
|
+
let includes = [];
|
|
104
|
+
for (const entry of options.include || []) {
|
|
105
|
+
includes = includes.concat(directories.filter((path => {
|
|
141
106
|
const _resolve = (0, path_1.join)(node_modules_dir, path);
|
|
142
|
-
return (0, micromatch_1.isMatch)(_resolve, entry);
|
|
143
|
-
|
|
144
|
-
}));
|
|
107
|
+
return (0, micromatch_1.isMatch)(_resolve, entry, options.matcherOptions || { dot: true });
|
|
108
|
+
})));
|
|
145
109
|
}
|
|
110
|
+
directories = includes;
|
|
146
111
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
let _path = (0, path_1.join)(node_modules_dir, directory);
|
|
153
|
-
if (!(0, fs_1.existsSync)((0, path_1.join)(_path, Constants_1.C_PACKAGE_JSON))) {
|
|
154
|
-
return;
|
|
112
|
+
for (const entry of options.exclude || []) {
|
|
113
|
+
(0, lodash_1.remove)(directories, (path => {
|
|
114
|
+
const _resolve = (0, path_1.join)(node_modules_dir, path);
|
|
115
|
+
return (0, micromatch_1.isMatch)(_resolve, entry, options.matcherOptions || { dot: true });
|
|
116
|
+
}));
|
|
155
117
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
118
|
+
}
|
|
119
|
+
return directories;
|
|
120
|
+
}
|
|
121
|
+
static async lookupNpmInDirectory(node_modules_dir, directory, modules = [], options) {
|
|
122
|
+
let _path = (0, path_1.join)(node_modules_dir, directory);
|
|
123
|
+
if (!(0, fs_1.existsSync)((0, path_1.join)(_path, Constants_1.C_PACKAGE_JSON))) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
let package_json = await this.getPackageJson(_path);
|
|
127
|
+
let modul_exists = (0, lodash_1.find)(modules, x => x.name == directory);
|
|
128
|
+
if (modul_exists) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
package_json.path = base_1.PlatformUtils.pathResolve(_path);
|
|
132
|
+
package_json.child_modules = [];
|
|
133
|
+
package_json.sub_modules = {};
|
|
134
|
+
if (options && options.filter) {
|
|
135
|
+
if (!options.filter(package_json)) {
|
|
159
136
|
return;
|
|
160
137
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
138
|
+
}
|
|
139
|
+
modules.push(package_json);
|
|
140
|
+
if (options.subModulePaths) {
|
|
141
|
+
// look in subpath like "node_modules"
|
|
142
|
+
let results = await Promise.all((0, lodash_1.map)(options.subModulePaths, subpath => {
|
|
143
|
+
return this.look(_path, subpath, modules, options);
|
|
144
|
+
}));
|
|
145
|
+
for (let res of results) {
|
|
146
|
+
if (res.subpath === Constants_1.C_NODE_MODULES) {
|
|
147
|
+
package_json.has_node_modules = res.has_modules;
|
|
148
|
+
package_json.child_modules = res.child_modules;
|
|
167
149
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
return this.look(_path, subpath, modules, options);
|
|
174
|
-
}));
|
|
175
|
-
for (let res of results) {
|
|
176
|
-
if (res.subpath === Constants_1.C_NODE_MODULES) {
|
|
177
|
-
package_json.has_node_modules = res.has_modules;
|
|
178
|
-
package_json.child_modules = res.child_modules;
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
package_json.sub_modules[res.subpath] = {
|
|
182
|
-
has_modules: res.has_modules,
|
|
183
|
-
modules: res.child_modules
|
|
184
|
-
};
|
|
185
|
-
}
|
|
150
|
+
else {
|
|
151
|
+
package_json.sub_modules[res.subpath] = {
|
|
152
|
+
has_modules: res.has_modules,
|
|
153
|
+
modules: res.child_modules
|
|
154
|
+
};
|
|
186
155
|
}
|
|
187
156
|
}
|
|
188
|
-
|
|
189
|
-
|
|
157
|
+
}
|
|
158
|
+
return modules;
|
|
190
159
|
}
|
|
191
|
-
static look(_path, subpath, modules = [], options) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
modules.push(_x);
|
|
213
|
-
}
|
|
160
|
+
static async look(_path, subpath, modules = [], options) {
|
|
161
|
+
// FIXME detect the node_modules path
|
|
162
|
+
let _new_node_module_dir = (0, path_1.join)(_path, subpath);
|
|
163
|
+
let info = {
|
|
164
|
+
subpath: subpath,
|
|
165
|
+
has_modules: false,
|
|
166
|
+
child_modules: []
|
|
167
|
+
};
|
|
168
|
+
if (base_1.PlatformUtils.fileExist(_new_node_module_dir)) {
|
|
169
|
+
try {
|
|
170
|
+
let stat = await this.stat(_new_node_module_dir);
|
|
171
|
+
if (stat && stat.isDirectory()) {
|
|
172
|
+
let _modules = await this.npmls(_new_node_module_dir, options);
|
|
173
|
+
info.has_modules = true;
|
|
174
|
+
for (let _x of _modules) {
|
|
175
|
+
info.child_modules.push(_x.name);
|
|
176
|
+
let _modul_exists = modules.find(function (_m) {
|
|
177
|
+
return _m.name == _x.name;
|
|
178
|
+
});
|
|
179
|
+
if (!_modul_exists) {
|
|
180
|
+
modules.push(_x);
|
|
214
181
|
}
|
|
215
182
|
}
|
|
216
183
|
}
|
|
217
|
-
catch (err) {
|
|
218
|
-
console.error(err);
|
|
219
|
-
}
|
|
220
184
|
}
|
|
221
|
-
|
|
222
|
-
|
|
185
|
+
catch (err) {
|
|
186
|
+
console.error(err);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return info;
|
|
223
190
|
}
|
|
224
191
|
static checkPaths(paths) {
|
|
225
192
|
let ret_paths = [];
|
|
@@ -249,5 +216,4 @@ class Helper {
|
|
|
249
216
|
}
|
|
250
217
|
}
|
|
251
218
|
exports.Helper = Helper;
|
|
252
|
-
|
|
253
|
-
//# sourceMappingURL=Helper.js.map
|
|
219
|
+
//# sourceMappingURL=Helper.js.map
|
package/utils/Helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/Helper.ts"],"names":[],"mappings":"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","file":"Helper.js","sourcesContent":["import {existsSync, readdir, readFile, stat, Stats} from 'fs';\nimport {join, resolve} from 'path';\nimport {find, has, isEmpty, map, remove} from 'lodash';\nimport {PlatformUtils} from '@allgemein/base';\nimport {INpmlsOptions} from './INpmlsOptions';\nimport {ISubModule} from '../registry/ISubModule';\nimport * as glob from 'glob';\nimport {isMatch} from 'micromatch';\nimport {C_NODE_MODULES, C_PACKAGE_JSON} from '../Constants';\n\n\nexport class Helper {\n\n static glob(lib_path: string): Promise<string[]> {\n return new Promise((resolve, reject) => {\n glob(lib_path, ((err, matches: string[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(matches);\n }\n }));\n });\n }\n\n static readFile(file: string): Promise<Buffer> {\n return new Promise((resolve, reject) => {\n if (existsSync(file)) {\n readFile(file, (err, buf) => {\n if (err) {\n reject(err);\n } else {\n try {\n resolve(buf);\n } catch (err) {\n reject(err);\n }\n }\n });\n } else {\n reject(new Error('cant find file ' + file));\n }\n });\n\n }\n\n static getPackageJson(_path: string): Promise<any> {\n if (!/package\\.json$/.test(_path)) {\n _path = join(_path, C_PACKAGE_JSON);\n }\n return this.readFile(_path).then(buf => {\n let data = buf.toString('utf8');\n let json = JSON.parse(data);\n return json;\n });\n }\n\n static ucfirst(word: string): string {\n return word[0].toUpperCase() + word.substring(1).toLowerCase();\n }\n\n static async readdir(dir: string): Promise<string[]> {\n return new Promise<string[]>((resolve, reject) => {\n readdir(dir, (err: NodeJS.ErrnoException, files: string[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(files);\n }\n });\n });\n }\n\n static async stat(dir: string): Promise<Stats> {\n return new Promise<Stats>((resolve, reject) => {\n stat(dir, (err: NodeJS.ErrnoException, stats: Stats) => {\n if (err) {\n reject(err);\n } else {\n resolve(stats);\n }\n });\n });\n }\n\n\n static async npmls(node_modules_dir: string, options: INpmlsOptions = {depth: 1, level: 0}): Promise<any[]> {\n let depth = options.depth;\n let inc = options.level;\n\n if (inc >= depth) {\n return [];\n }\n\n options.level = inc + 1;\n\n let modules: any[] = [];\n let directories = await this.getValidDirectories(node_modules_dir, options);\n await Promise.all(map(directories, async (directory: string) => {\n if (/^@/.test(directory)) {\n // is grouped\n let _grouped_node_modules_dir = PlatformUtils.join(node_modules_dir, directory);\n let _directories = await this.getValidDirectories(_grouped_node_modules_dir, options);\n return Promise.all(map(_directories, async (_directory: string) => {\n _directory = PlatformUtils.join(directory, _directory);\n return Helper.lookupNpmInDirectory(node_modules_dir, _directory, modules, options);\n }));\n } else {\n return Helper.lookupNpmInDirectory(node_modules_dir, directory, modules, options);\n }\n\n }));\n return modules;\n }\n\n static async getValidDirectories(node_modules_dir: string, options: INpmlsOptions) {\n let directories = await this.readdir(node_modules_dir);\n if (has(options, 'exclude') || has(options, 'include')) {\n\n if (has(options, 'include') && !isEmpty(options.include)) {\n let includes: string[] = [];\n for (const entry of options.include || []) {\n // const pattern = new Minimatch(entry);\n includes = includes.concat(\n directories.filter((path => {\n const _resolve = join(node_modules_dir, path);\n return isMatch(_resolve, entry);\n }))\n );\n }\n directories = includes;\n }\n\n for (const entry of options.exclude || []) {\n // const pattern = new Minimatch(entry);\n remove(directories, (path => {\n const _resolve = join(node_modules_dir, path);\n return isMatch(_resolve, entry);\n // return pattern.match(_resolve);\n }));\n }\n }\n return directories;\n }\n\n\n static async lookupNpmInDirectory(node_modules_dir: string, directory: string, modules: any[] = [], options?: INpmlsOptions): Promise<any> {\n let _path = join(node_modules_dir, directory);\n if (!existsSync(join(_path, C_PACKAGE_JSON))) {\n return;\n }\n\n let package_json = await this.getPackageJson(_path);\n let modul_exists = find(modules, x => x.name == directory);\n\n if (modul_exists) {\n return;\n }\n\n package_json.path = PlatformUtils.pathResolve(_path);\n package_json.child_modules = [];\n package_json.sub_modules = {};\n\n if (options && options.filter) {\n if (!options.filter(package_json)) {\n return;\n }\n }\n modules.push(package_json);\n\n if (options.subModulePaths) {\n // look in subpath like \"node_modules\"\n let results = await Promise.all(map(options.subModulePaths, subpath => {\n return this.look(_path, subpath, modules, options);\n }));\n\n for (let res of results) {\n if (res.subpath === C_NODE_MODULES) {\n package_json.has_node_modules = res.has_modules;\n package_json.child_modules = res.child_modules;\n } else {\n package_json.sub_modules[res.subpath] = <ISubModule>{\n has_modules: res.has_modules,\n modules: res.child_modules\n };\n }\n }\n }\n return modules;\n }\n\n\n static async look(_path: string, subpath: string, modules: any[] = [], options?: INpmlsOptions) {\n // FIXME detect the node_modules path\n let _new_node_module_dir = join(_path, subpath);\n let info: { subpath: string, has_modules: boolean, child_modules: string[] } = {\n subpath: subpath,\n has_modules: false,\n child_modules: []\n };\n if (PlatformUtils.fileExist(_new_node_module_dir)) {\n try {\n let stat = await this.stat(_new_node_module_dir);\n if (stat && stat.isDirectory()) {\n let _modules = await this.npmls(_new_node_module_dir, options);\n info.has_modules = true;\n for (let _x of _modules) {\n info.child_modules.push(_x.name);\n let _modul_exists = modules.find(function (_m) {\n return _m.name == _x.name;\n });\n if (!_modul_exists) {\n modules.push(_x);\n }\n }\n }\n } catch (err) {\n console.error(err);\n }\n }\n\n return info;\n }\n\n static checkPaths(paths: string[]) {\n let ret_paths = [];\n for (let _path of paths) {\n _path = resolve(_path);\n let _try_path = join(_path, C_NODE_MODULES);\n let _try_package = join(_path, C_PACKAGE_JSON);\n if (existsSync(_path)) {\n if (existsSync(_try_package) && existsSync(_try_path)) {\n _path = _try_path;\n }\n } else {\n throw new Error('checking path ' + _path + ' doesn\\'t exists');\n }\n ret_paths.push(_path);\n }\n return ret_paths;\n }\n\n\n /**\n * Checks if x is an glob pattern\n *\n * @param x\n */\n static isGlobPattern(x: string) {\n return /\\+|\\.|\\(|\\||\\)|\\*/.test(x);\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"file":"Helper.js","sourceRoot":"","sources":["../../../src/utils/Helper.ts"],"names":[],"mappings":"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"}
|
package/utils/INpmlsOptions.d.ts
CHANGED
package/utils/INpmlsOptions.js
CHANGED