@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.
Files changed (63) hide show
  1. package/Constants.js +1 -2
  2. package/Constants.js.map +1 -1
  3. package/LICENSE +2 -2
  4. package/README.md +0 -1
  5. package/browser.js +1 -2
  6. package/browser.js.map +1 -1
  7. package/index.js +1 -2
  8. package/index.js.map +1 -1
  9. package/loader/AbstractModuleHandle.js +1 -2
  10. package/loader/AbstractModuleHandle.js.map +1 -1
  11. package/loader/AbstractModuleLoader.js +22 -34
  12. package/loader/AbstractModuleLoader.js.map +1 -1
  13. package/loader/IModuleLoader.js +1 -2
  14. package/loader/IModuleLoader.js.map +1 -1
  15. package/loader/IModuleOptions.js +1 -2
  16. package/loader/IModuleOptions.js.map +1 -1
  17. package/loader/classes/ClassesHandle.js +1 -2
  18. package/loader/classes/ClassesHandle.js.map +1 -1
  19. package/loader/classes/ClassesLoader.d.ts +3 -2
  20. package/loader/classes/ClassesLoader.js +66 -86
  21. package/loader/classes/ClassesLoader.js.map +1 -1
  22. package/loader/classes/IClassesLoader.js +1 -2
  23. package/loader/classes/IClassesLoader.js.map +1 -1
  24. package/loader/classes/IClassesOptions.js +1 -2
  25. package/loader/classes/IClassesOptions.js.map +1 -1
  26. package/loader/require/IRequireLoader.js +1 -2
  27. package/loader/require/IRequireLoader.js.map +1 -1
  28. package/loader/require/IRequireOptions.js +1 -2
  29. package/loader/require/IRequireOptions.js.map +1 -1
  30. package/loader/require/RequireHandle.js +1 -2
  31. package/loader/require/RequireHandle.js.map +1 -1
  32. package/loader/require/RequireLoader.js +69 -85
  33. package/loader/require/RequireLoader.js.map +1 -1
  34. package/loader/settings/ISettingsLoader.js +1 -2
  35. package/loader/settings/ISettingsLoader.js.map +1 -1
  36. package/loader/settings/ISettingsOptions.js +1 -2
  37. package/loader/settings/ISettingsOptions.js.map +1 -1
  38. package/loader/settings/SettingsHandle.js +1 -2
  39. package/loader/settings/SettingsHandle.js.map +1 -1
  40. package/loader/settings/SettingsLoader.js +21 -33
  41. package/loader/settings/SettingsLoader.js.map +1 -1
  42. package/package.json +8 -40
  43. package/registry/Constants.js +1 -2
  44. package/registry/Constants.js.map +1 -1
  45. package/registry/ICache.js +1 -2
  46. package/registry/ICache.js.map +1 -1
  47. package/registry/IModuleRegistry.js +1 -2
  48. package/registry/IModuleRegistry.js.map +1 -1
  49. package/registry/IModuleRegistryOptions.d.ts +0 -1
  50. package/registry/IModuleRegistryOptions.js +1 -2
  51. package/registry/IModuleRegistryOptions.js.map +1 -1
  52. package/registry/ISubModule.js +1 -2
  53. package/registry/ISubModule.js.map +1 -1
  54. package/registry/ModuleDescriptor.js +1 -2
  55. package/registry/ModuleDescriptor.js.map +1 -1
  56. package/registry/ModuleRegistry.js +66 -86
  57. package/registry/ModuleRegistry.js.map +1 -1
  58. package/utils/Helper.d.ts +0 -1
  59. package/utils/Helper.js +121 -155
  60. package/utils/Helper.js.map +1 -1
  61. package/utils/INpmlsOptions.d.ts +4 -0
  62. package/utils/INpmlsOptions.js +1 -2
  63. 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
- return __awaiter(this, void 0, void 0, function* () {
54
- ModuleDescriptor_1.ModuleDescriptor.INC = 0;
55
- this._modules = [];
56
- let modules_lists = yield Promise.all((0, lodash_1.map)(this.paths, this._scan_module_path.bind(this)));
57
- let to_register = [];
58
- let one_list = [].concat(...modules_lists);
59
- for (let __modul of one_list) {
60
- let _modul = (0, lodash_1.find)(to_register, function (_x) {
61
- return _x.name === __modul.name;
62
- });
63
- if (!_modul) {
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
- // await Promise.all(map(modules, this.load.bind(this)));
72
- this._build_registry(to_register);
73
- return this;
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
- return __awaiter(this, void 0, void 0, function* () {
84
- const cacheKey = [ModuleRegistry.name.toLowerCase(), 'scan_modul_path', base_1.CryptUtils.shorthash(node_modules_dir)].join('--');
85
- let packageJsons = null;
86
- if (this.hasCache()) {
87
- try {
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
- let options = {
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
- if (this._options.include) {
102
- options.include = this._options.include;
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
- if ((0, lodash_1.isNull)(packageJsons)) {
105
- packageJsons = [];
106
- if (base_1.PlatformUtils.fileExist(base_1.PlatformUtils.join(node_modules_dir, Constants_2.C_PACKAGE_JSON))) {
107
- options.depth++;
108
- let dirname = base_1.PlatformUtils.dirname(node_modules_dir);
109
- let basename = base_1.PlatformUtils.basename(node_modules_dir);
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
- if (this.hasCache() && packageJsons) {
117
- try {
118
- this.getCache().set(cacheKey, packageJsons);
119
- }
120
- catch (e) {
121
- }
108
+ catch (e) {
122
109
  }
123
110
  }
124
- return (0, lodash_1.map)(packageJsons, (module) => {
125
- return ModuleDescriptor_1.ModuleDescriptor.fromOptions(module);
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
- return __awaiter(this, void 0, void 0, function* () {
183
- let instance = Reflect.construct(loaderClazz, [this, options]);
184
- yield instance.load(this.modules());
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 __awaiter(this, void 0, void 0, function* () {
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 __awaiter(this, void 0, void 0, function* () {
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":"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"}
package/utils/Helper.d.ts CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  import { Stats } from 'fs';
3
2
  import { INpmlsOptions } from './INpmlsOptions';
4
3
  export declare class Helper {
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 glob = require("glob");
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 new Promise((resolve, reject) => {
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 __awaiter(this, void 0, void 0, function* () {
70
- return new Promise((resolve, reject) => {
71
- (0, fs_1.readdir)(dir, (err, files) => {
72
- if (err) {
73
- reject(err);
74
- }
75
- else {
76
- resolve(files);
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 npmls(node_modules_dir, options = { depth: 1, level: 0 }) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- let depth = options.depth;
99
- let inc = options.level;
100
- if (inc >= depth) {
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
- return Helper.lookupNpmInDirectory(node_modules_dir, directory, modules, options);
69
+ resolve(stats);
118
70
  }
119
- })));
120
- return modules;
71
+ });
121
72
  });
122
73
  }
123
- static getValidDirectories(node_modules_dir, options) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- let directories = yield this.readdir(node_modules_dir);
126
- if ((0, lodash_1.has)(options, 'exclude') || (0, lodash_1.has)(options, 'include')) {
127
- if ((0, lodash_1.has)(options, 'include') && !(0, lodash_1.isEmpty)(options.include)) {
128
- let includes = [];
129
- for (const entry of options.include || []) {
130
- // const pattern = new Minimatch(entry);
131
- includes = includes.concat(directories.filter((path => {
132
- const _resolve = (0, path_1.join)(node_modules_dir, path);
133
- return (0, micromatch_1.isMatch)(_resolve, entry);
134
- })));
135
- }
136
- directories = includes;
137
- }
138
- for (const entry of options.exclude || []) {
139
- // const pattern = new Minimatch(entry);
140
- (0, lodash_1.remove)(directories, (path => {
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
- // return pattern.match(_resolve);
144
- }));
107
+ return (0, micromatch_1.isMatch)(_resolve, entry, options.matcherOptions || { dot: true });
108
+ })));
145
109
  }
110
+ directories = includes;
146
111
  }
147
- return directories;
148
- });
149
- }
150
- static lookupNpmInDirectory(node_modules_dir, directory, modules = [], options) {
151
- return __awaiter(this, void 0, void 0, function* () {
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
- let package_json = yield this.getPackageJson(_path);
157
- let modul_exists = (0, lodash_1.find)(modules, x => x.name == directory);
158
- if (modul_exists) {
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
- package_json.path = base_1.PlatformUtils.pathResolve(_path);
162
- package_json.child_modules = [];
163
- package_json.sub_modules = {};
164
- if (options && options.filter) {
165
- if (!options.filter(package_json)) {
166
- return;
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
- modules.push(package_json);
170
- if (options.subModulePaths) {
171
- // look in subpath like "node_modules"
172
- let results = yield Promise.all((0, lodash_1.map)(options.subModulePaths, subpath => {
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
- return modules;
189
- });
157
+ }
158
+ return modules;
190
159
  }
191
- static look(_path, subpath, modules = [], options) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- // FIXME detect the node_modules path
194
- let _new_node_module_dir = (0, path_1.join)(_path, subpath);
195
- let info = {
196
- subpath: subpath,
197
- has_modules: false,
198
- child_modules: []
199
- };
200
- if (base_1.PlatformUtils.fileExist(_new_node_module_dir)) {
201
- try {
202
- let stat = yield this.stat(_new_node_module_dir);
203
- if (stat && stat.isDirectory()) {
204
- let _modules = yield this.npmls(_new_node_module_dir, options);
205
- info.has_modules = true;
206
- for (let _x of _modules) {
207
- info.child_modules.push(_x.name);
208
- let _modul_exists = modules.find(function (_m) {
209
- return _m.name == _x.name;
210
- });
211
- if (!_modul_exists) {
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
- return info;
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
@@ -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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"}
@@ -11,4 +11,8 @@ export interface INpmlsOptions {
11
11
  * Glob pattern to include some directories.
12
12
  */
13
13
  include?: string[];
14
+ /**
15
+ * Options for micromatch dirname pattern match
16
+ */
17
+ matcherOptions?: any;
14
18
  }
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=INpmlsOptions.js.map
3
+ //# sourceMappingURL=INpmlsOptions.js.map