nodefony 7.0.0-beta.2 → 7.0.0-beta.21

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 (136) hide show
  1. package/CHANGELOG.md +534 -8028
  2. package/README.md +33 -30
  3. package/autoloader.es6 +46 -48
  4. package/builder.es6 +66 -76
  5. package/cli/builder/bundles/bundle.js +57 -63
  6. package/cli/builder/bundles/controller.js +34 -38
  7. package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +11 -12
  8. package/cli/builder/bundles/users-bundle/Command/usersCommand.js +23 -24
  9. package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +25 -30
  10. package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +42 -31
  11. package/cli/builder/bundles/users-bundle/Fixtures/users.js +24 -26
  12. package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +28 -29
  13. package/cli/builder/bundles/users-bundle/Resources/config/config.js +4 -3
  14. package/cli/builder/bundles/users-bundle/Resources/config/routing.js +2 -2
  15. package/cli/builder/bundles/users-bundle/Resources/config/security.js +9 -8
  16. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +3 -3
  17. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +4 -3
  18. package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +74 -75
  19. package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +9 -9
  20. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +13 -13
  21. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +14 -14
  22. package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +13 -15
  23. package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +29 -29
  24. package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +2 -2
  25. package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +34 -36
  26. package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +32 -36
  27. package/cli/builder/bundles/users-bundle/controller/loginController.js +30 -34
  28. package/cli/builder/bundles/users-bundle/controller/usersController.js +54 -60
  29. package/cli/builder/bundles/users-bundle/package.json +27 -25
  30. package/cli/builder/bundles/users-bundle/pnpm-lock.yaml +4262 -0
  31. package/cli/builder/bundles/users-bundle/readme.md +7 -7
  32. package/cli/builder/bundles/users-bundle/services/usersService.js +97 -102
  33. package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +6 -8
  34. package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +9 -10
  35. package/cli/builder/bundles/users-bundle/tests/loginTest.js +119 -70
  36. package/cli/builder/bundles/users-bundle/usersBundle.js +2 -3
  37. package/cli/builder/microService/microService.js +139 -141
  38. package/cli/builder/microService/skeletons/package.json +23 -22
  39. package/cli/builder/project/project.js +228 -181
  40. package/cli/builder/project/skeletons/README.md +33 -30
  41. package/cli/builder/project/skeletons/bin/dev-deploy.sh +5 -0
  42. package/cli/builder/project/skeletons/bin/prod-deploy.sh +3 -0
  43. package/cli/builder/project/skeletons/config/config.js.skeleton +1 -0
  44. package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +41 -17
  45. package/cli/builder/project/skeletons/eslintignore.skeleton +15 -0
  46. package/cli/builder/project/skeletons/eslintrc.js.skeleton +97 -0
  47. package/cli/builder/project/skeletons/gitignore.skeleton +1 -0
  48. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +137 -0
  49. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +97 -0
  50. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +115 -0
  51. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +97 -0
  52. package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -2
  53. package/cli/builder/project/skeletons/package.json.twig +70 -0
  54. package/cli/builder/react/reactBuilder.js +59 -65
  55. package/cli/builder/sandbox/sandBoxBuilder.js +132 -134
  56. package/cli/builder/skeletons/app/appKernel.js +120 -2
  57. package/cli/builder/skeletons/config/config.js +1 -1
  58. package/cli/builder/skeletons/config/nodefony/framework-bundle.js +2 -1
  59. package/cli/builder/skeletons/config/nodefony/http-bundle.js +1 -0
  60. package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +38 -12
  61. package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +21 -2
  62. package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +122 -13
  63. package/cli/builder/skeletons/package.json.twig +57 -0
  64. package/cli/builder/skeletons/unittest/testFile.js +44 -45
  65. package/cli/builder/vue/skeletons/vue.config.js +84 -10
  66. package/cli/builder/vue/vueBuilder.js +116 -114
  67. package/cli/generate/generate.es6 +38 -39
  68. package/cli/install/install.js +45 -58
  69. package/cli/sequelize/sequelize.js +50 -39
  70. package/cli/start.js +353 -347
  71. package/cli/tools/pm2.es6 +55 -57
  72. package/cli/tools/tools.es6 +36 -37
  73. package/cli.es6 +280 -228
  74. package/container.es6 +51 -59
  75. package/error.es6 +25 -27
  76. package/fileClass.es6 +53 -55
  77. package/finder/file.es6 +5 -4
  78. package/finder/fileResult.es6 +23 -22
  79. package/finder/finder2.es6 +46 -54
  80. package/finder.es6 +88 -97
  81. package/kernel/annotations/annotations.es6 +44 -46
  82. package/kernel/api/api.es6 +6 -8
  83. package/kernel/api/graphqlApi.es6 +21 -21
  84. package/kernel/api/jsonApi.es6 +40 -45
  85. package/kernel/api/openApi.es6 +9 -11
  86. package/kernel/api/schemas/openApiSchema.js +61 -32
  87. package/kernel/babylon.es6 +31 -38
  88. package/kernel/bundle.es6 +252 -220
  89. package/kernel/cliKernel.es6 +157 -170
  90. package/kernel/command.es6 +17 -20
  91. package/kernel/commands/nodefonyCommand.es6 +111 -58
  92. package/kernel/commands/tasks/bundlesTask.es6 +14 -19
  93. package/kernel/controllers/controller.es6 +167 -180
  94. package/kernel/fixture.es6 +4 -7
  95. package/kernel/injections/injections.es6 +97 -103
  96. package/kernel/kernel.es6 +476 -384
  97. package/kernel/kernelWatcher.es6 +64 -54
  98. package/kernel/orm/entity.es6 +10 -12
  99. package/kernel/orm/orm.es6 +68 -48
  100. package/kernel/reader.es6 +45 -47
  101. package/kernel/security/encoder.es6 +8 -6
  102. package/kernel/security/factories/factory.es6 +34 -37
  103. package/kernel/security/factories/passeportFactory.es6 +13 -14
  104. package/kernel/security/provider.es6 +11 -13
  105. package/kernel/security/providers/chainProvider.es6 +13 -28
  106. package/kernel/security/providers/memoryProvider.es6 +7 -11
  107. package/kernel/security/providers/providerManager.es6 +11 -14
  108. package/kernel/security/providers/userEntityProvider.es6 +7 -8
  109. package/kernel/security/role.es6 +3 -3
  110. package/kernel/security/secureArea.es6 +143 -149
  111. package/kernel/security/tokens/token.es6 +30 -32
  112. package/kernel/security/user.es6 +19 -19
  113. package/kernel/serviceRealTime.es6 +5 -7
  114. package/kernel/services/connectionsService.es6 +20 -22
  115. package/kernel/services/cron/cronService.es6 +14 -16
  116. package/kernel/task.es6 +20 -26
  117. package/kernel/templates.es6 +4 -5
  118. package/kernel/templating/twig.es6 +56 -47
  119. package/kernel/tests/cliTest.js +7 -11
  120. package/kernel/tests/containerTest.js +25 -37
  121. package/kernel/tests/kernelTest.js +9 -16
  122. package/nodefony.es6 +279 -256
  123. package/notificationsCenter.es6 +28 -20
  124. package/package.json +40 -40
  125. package/protocol.es6 +19 -21
  126. package/protocols/bayeux.es6 +35 -38
  127. package/protocols/jsonRpc/jsonrpc.es6 +12 -14
  128. package/result.es6 +11 -12
  129. package/service.es6 +62 -62
  130. package/syslog/pdu.es6 +99 -91
  131. package/syslog/syslog.es6 +101 -102
  132. package/watcher.es6 +21 -20
  133. package/cli/builder/project/skeletons/jshintignore.skeleton +0 -1
  134. package/cli/builder/project/skeletons/jshintrc.skeleton +0 -60
  135. package/cli/builder/project/skeletons/package.json.skeleton +0 -52
  136. package/cli/builder/skeletons/package.json +0 -61
@@ -1,20 +1,17 @@
1
1
  class Fixture extends nodefony.Service {
2
- constructor(name, container) {
2
+ constructor (name, container) {
3
3
  super(name, container);
4
4
  this.orm = this.kernel.getORM();
5
5
  this.ormName = this.orm.name;
6
6
  }
7
7
 
8
- async run(...args) {
8
+ async run (...args) {
9
9
  return new Promise((resolve) => {
10
- //console.log(...args)
10
+ // console.log(...args)
11
11
  if (this.orm.ready) {
12
12
  return resolve(this.initialize.call(this, ...args));
13
- } else {
14
- this.orm.once("onOrmReady", () => {
15
- return resolve(this.initialize.call(this, ...args));
16
- });
17
13
  }
14
+ this.orm.once("onOrmReady", () => resolve(this.initialize.call(this, ...args)));
18
15
  });
19
16
  }
20
17
  }
@@ -1,5 +1,5 @@
1
1
  // plugin Reader
2
- const pluginReader = function () {
2
+ const pluginReader = (function () {
3
3
  const importXmlConfig = function (file, prefix, callback, parser) {
4
4
  if (parser) {
5
5
  file = this.render(file, parser.data, parser.options);
@@ -8,20 +8,20 @@ const pluginReader = function () {
8
8
  let parameters;
9
9
 
10
10
  this.xmlParser.parseString(file, (err, node) => {
11
- //console.log(require('util').inspect(node, {depth: null}));
12
- //console.log('\n\n');
11
+ // console.log(require('util').inspect(node, {depth: null}));
12
+ // console.log('\n\n');
13
13
  if (err) {
14
- this.log("INJECTION xmlParser.parseString : " + err, 'WARNING');
14
+ this.log(`INJECTION xmlParser.parseString : ${err}`, "WARNING");
15
15
  }
16
16
  if (!node) {
17
17
  return node;
18
18
  }
19
- for (let key in node) {
19
+ for (const key in node) {
20
20
  switch (key) {
21
- case 'parameters':
21
+ case "parameters":
22
22
  parameters = this.xmlToJson.call(this, node[key][0].parameter);
23
23
  break;
24
- case 'services':
24
+ case "services":
25
25
  services = this.xmlToJson.call(this, node[key][0].service);
26
26
  break;
27
27
  }
@@ -32,28 +32,28 @@ const pluginReader = function () {
32
32
  });
33
33
  };
34
34
  const nomarlizeXmlJson = function (services, parameters, callback) {
35
- for (let key in services) {
36
- for (let param in services[key]) {
35
+ for (const key in services) {
36
+ for (const param in services[key]) {
37
37
  let values = null;
38
38
  switch (param) {
39
- case 'argument':
39
+ case "argument":
40
40
  values = [];
41
41
  for (let elm = 0; elm < services[key][param].length; elm++) {
42
42
  if (services[key][param][elm].type && services[key][param][elm].id) {
43
- if (services[key][param][elm].type == 'service') {
44
- values.push('@' + services[key][param][elm].id);
43
+ if (services[key][param][elm].type == "service") {
44
+ values.push(`@${services[key][param][elm].id}`);
45
45
  }
46
46
  }
47
47
  }
48
- services[key]['arguments'] = values;
48
+ services[key].arguments = values;
49
49
  delete services[key][param];
50
50
  break;
51
- case 'property':
51
+ case "property":
52
52
  values = {};
53
53
  for (let elm = 0; elm < services[key][param].length; elm++) {
54
54
  if (services[key][param][elm].type && services[key][param][elm].id && services[key][param][elm].name) {
55
- if (services[key][param][elm].type == 'service') {
56
- values[services[key][param][elm].name] = '@' + services[key][param][elm].id;
55
+ if (services[key][param][elm].type == "service") {
56
+ values[services[key][param][elm].name] = `@${services[key][param][elm].id}`;
57
57
  }
58
58
  }
59
59
  }
@@ -61,21 +61,21 @@ const pluginReader = function () {
61
61
  delete services[key][param];
62
62
  break;
63
63
 
64
- case 'call':
64
+ case "call":
65
65
  values = [];
66
66
  for (let elm = 0; elm < services[key][param].length; elm++) {
67
- let tab = [];
68
- for (let sparam in services[key][param][elm]) {
67
+ const tab = [];
68
+ for (const sparam in services[key][param][elm]) {
69
69
  switch (sparam) {
70
- case 'method':
70
+ case "method":
71
71
  tab[0] = services[key][param][elm][sparam];
72
72
  break;
73
- case 'argument':
74
- let args = [];
73
+ case "argument":
74
+ const args = [];
75
75
  for (let selem = 0; selem < services[key][param][elm][sparam].length; selem++) {
76
76
  if (services[key][param][elm][sparam][selem].type && services[key][param][elm][sparam][selem].id) {
77
- if (services[key][param][elm][sparam][selem].type == 'service') {
78
- args.push('@' + services[key][param][elm][sparam][selem].id);
77
+ if (services[key][param][elm][sparam][selem].type == "service") {
78
+ args.push(`@${services[key][param][elm][sparam][selem].id}`);
79
79
  }
80
80
  }
81
81
  }
@@ -88,7 +88,7 @@ const pluginReader = function () {
88
88
  services[key].calls = values;
89
89
  delete services[key][param];
90
90
  break;
91
- case 'scope':
91
+ case "scope":
92
92
  break;
93
93
  }
94
94
  }
@@ -98,19 +98,19 @@ const pluginReader = function () {
98
98
  }
99
99
  };
100
100
  const renderParameters = function (callback, services, parameters) {
101
- if (parameters && Object.keys(parameters).length > 0 && typeof (services) === 'object' && Object.keys(services).length > 0) {
101
+ if (parameters && Object.keys(parameters).length > 0 && typeof services === "object" && Object.keys(services).length > 0) {
102
102
  services = JSON.parse(this.render(JSON.stringify(services), parameters));
103
103
  }
104
104
  callback(services);
105
105
  };
106
106
  const getServicesXML = function (file, bundle, parser, callback) {
107
- importXmlConfig.call(this, file, '', callback, parser);
107
+ importXmlConfig.call(this, file, "", callback, parser);
108
108
  };
109
109
  const getServicesJSON = function (file, bundle, parser, callback) {
110
110
  if (parser) {
111
111
  file = this.render(file, parser.data, parser.options);
112
112
  }
113
- let json = JSON.parse(file);
113
+ const json = JSON.parse(file);
114
114
  if (callback) {
115
115
  renderParameters.call(this, callback, json.services, json.parameters);
116
116
  }
@@ -119,7 +119,7 @@ const pluginReader = function () {
119
119
  if (parser) {
120
120
  file = this.render(file, parser.data, parser.options);
121
121
  }
122
- let json = yaml.load(file);
122
+ const json = yaml.load(file);
123
123
  if (callback) {
124
124
  renderParameters.call(this, callback, json.services, json.parameters);
125
125
  }
@@ -135,17 +135,18 @@ const pluginReader = function () {
135
135
  xml: getServicesXML,
136
136
  json: getServicesJSON,
137
137
  yml: getServicesYML,
138
- javascript: javascript
138
+ javascript
139
139
  };
140
- }();
140
+ }());
141
141
 
142
142
  const regService = new RegExp("^(.+)Service$");
143
143
  const reg = /constructor\s*\((.*)\)/;
144
+
144
145
  /**
145
146
  * CLASS INJECTOR
146
147
  */
147
148
  class Injector extends nodefony.Service {
148
- constructor(name, service, container) {
149
+ constructor (name, service, container) {
149
150
  super(name, container);
150
151
  this.services = nodefony.services;
151
152
  try {
@@ -154,12 +155,12 @@ class Injector extends nodefony.Service {
154
155
  this.classArgs = Injector.getArguments.call(this.Class);
155
156
  this.injections = this.findInjections(service.arguments);
156
157
  this.calls = this.getServiceCall(service);
157
- this.setParameters("services." + this.name, {
158
+ this.setParameters(`services.${this.name}`, {
158
159
  class: this.Class,
159
160
  name: this.name,
160
161
  scope: this.container.id,
161
- //className: this.className,
162
- //orderArguments: false,
162
+ // className: this.className,
163
+ // orderArguments: false,
163
164
  injections: service.arguments,
164
165
  calls: service.calls
165
166
  });
@@ -169,7 +170,7 @@ class Injector extends nodefony.Service {
169
170
  }
170
171
  }
171
172
 
172
- getServiceClass(service) {
173
+ getServiceClass (service) {
173
174
  let Class = null;
174
175
  switch (nodefony.typeOf(service.class)) {
175
176
  case "array":
@@ -182,15 +183,15 @@ class Injector extends nodefony.Service {
182
183
  Class = this.services[service.class];
183
184
  break;
184
185
  default:
185
- throw new Error("Service Name " + this.className + " bad Class");
186
+ throw new Error(`Service Name ${this.className} bad Class`);
186
187
  }
187
188
  if (!Class) {
188
- throw new Error("Service Name " + this.className + " class not found");
189
+ throw new Error(`Service Name ${this.className} class not found`);
189
190
  }
190
191
  return this.Class = Class;
191
192
  }
192
193
 
193
- getServiceName(Class) {
194
+ getServiceName (Class) {
194
195
  let name = null;
195
196
  if (Class) {
196
197
  name = Class.name;
@@ -198,7 +199,7 @@ class Injector extends nodefony.Service {
198
199
  name = this.Class.name;
199
200
  }
200
201
  if (name) {
201
- let res = regService.exec(name);
202
+ const res = regService.exec(name);
202
203
  if (res) {
203
204
  return this.className = res[1];
204
205
  }
@@ -207,7 +208,7 @@ class Injector extends nodefony.Service {
207
208
  return null;
208
209
  }
209
210
 
210
- getServiceCall(service) {
211
+ getServiceCall (service) {
211
212
  let ele = null;
212
213
  if (service.calls) {
213
214
  ele = {};
@@ -224,7 +225,7 @@ class Injector extends nodefony.Service {
224
225
  args = service.calls[i].arguments;
225
226
  break;
226
227
  default:
227
- this.log(service.calls, 'ERROR');
228
+ this.log(service.calls, "ERROR");
228
229
  throw new Error("Service bad Calls config ");
229
230
  }
230
231
  ele[method] = this.findInjections(args);
@@ -233,16 +234,16 @@ class Injector extends nodefony.Service {
233
234
  return ele;
234
235
  }
235
236
 
236
- startService(restart) {
237
+ async startService (restart) {
237
238
  try {
238
- let instance = this.reflect();
239
+ const instance = await this.reflect();
239
240
  this.set(this.name, instance);
240
241
  if (this.calls) {
241
- for (let call in this.calls) {
242
+ for (const call in this.calls) {
242
243
  if (instance[call]) {
243
- this.call(instance, instance[call], this.calls[call]);
244
+ await this.call(instance, instance[call], this.calls[call]);
244
245
  } else {
245
- this.log('Method ' + call + ' in service ' + this.name + ' not found', "ERROR");
246
+ this.log(`Method ${call} in service ${this.name} not found`, "ERROR");
246
247
  continue;
247
248
  }
248
249
  }
@@ -251,7 +252,7 @@ class Injector extends nodefony.Service {
251
252
  if (restart) {
252
253
  log = "RESTARTED";
253
254
  }
254
- instance.log(log, 'DEBUG');
255
+ instance.log(log, "DEBUG");
255
256
  return instance;
256
257
  } catch (e) {
257
258
  this.log(e, "ERROR");
@@ -259,11 +260,11 @@ class Injector extends nodefony.Service {
259
260
  }
260
261
  }
261
262
 
262
- async restartService() {
263
- this.log("RESTART : " + this.name, "INFO");
263
+ async restartService () {
264
+ this.log(`RESTART : ${this.name}`, "INFO");
264
265
  try {
265
266
  const service = this.get(this.name);
266
- if( service && service.close){
267
+ if (service && service.close) {
267
268
  await service.close();
268
269
  }
269
270
  this.remove(this.name);
@@ -273,35 +274,33 @@ class Injector extends nodefony.Service {
273
274
  }
274
275
  }
275
276
 
276
- static getArguments() {
277
- let str = this.toString();
277
+ static getArguments () {
278
+ const str = this.toString();
278
279
  let m = str.match(reg);
279
280
  if (m) {
280
281
  // case class
281
- m = m[1].replace(/\s/g, '');
282
- return m.split(',');
283
- } else {
284
- // case function
285
- m = str.match(new RegExp(this.name + "\s*\((.*)\)"));
286
- if (m) {
287
- m = m[1].replace(/\s/g, '');
288
- return m.split(',');
289
- } else {
290
- throw new Error("Service :" + this.name + " constructor not find");
291
- }
282
+ m = m[1].replace(/\s/g, "");
283
+ return m.split(",");
292
284
  }
285
+ // case function
286
+ m = str.match(new RegExp(`${this.name}\s*\((.*)\)`));
287
+ if (m) {
288
+ m = m[1].replace(/\s/g, "");
289
+ return m.split(",");
290
+ }
291
+ throw new Error(`Service :${this.name} constructor not find`);
293
292
  }
294
293
 
295
- reflect() {
294
+ async reflect () {
296
295
  try {
297
- return Reflect.construct(this.Class, this.injections);
296
+ return await Reflect.construct(this.Class, this.injections);
298
297
  } catch (e) {
299
- this.log("ERRROR SERVICE CLASS " + this.name + " " + e.message, "ERROR");
298
+ this.log(`ERRROR SERVICE CLASS ${this.name} ${e.message}`, "ERROR");
300
299
  throw e;
301
300
  }
302
301
  }
303
302
 
304
- /*static reflectEs5(Class, args) {
303
+ /* static reflectEs5(Class, args) {
305
304
  try {
306
305
  Array.prototype.unshift.call(args, Class);
307
306
  return new(Function.prototype.bind.apply(Class, args));
@@ -310,7 +309,7 @@ class Injector extends nodefony.Service {
310
309
  throw e;
311
310
  }
312
311
  }*/
313
- call(context, func, args) {
312
+ call (context, func, args) {
314
313
  try {
315
314
  func.apply(context, args);
316
315
  } catch (e) {
@@ -318,21 +317,21 @@ class Injector extends nodefony.Service {
318
317
  }
319
318
  }
320
319
 
321
- findInjections(args) {
322
- let tab = [];
320
+ findInjections (args) {
321
+ const tab = [];
323
322
  if (args instanceof Array) {
324
323
  for (let elm = 0; elm < args.length; elm++) {
325
324
  switch (nodefony.typeOf(args[elm])) {
326
325
  case "string":
327
326
  let name = null;
328
327
  switch (args[elm][0]) {
329
- case '@':
328
+ case "@":
330
329
  name = args[elm].substring(1);
331
- let service = this.get(name);
330
+ const service = this.get(name);
332
331
  if (service) {
333
332
  tab.push(service);
334
333
  } else {
335
- this.log("Injection Service : " + name + " not found !!", "ERROR");
334
+ this.log(`Injection Service : ${name} not found !!`, "ERROR");
336
335
  }
337
336
  break;
338
337
  default:
@@ -352,48 +351,43 @@ class Injector extends nodefony.Service {
352
351
  * CLASS INJECTION
353
352
  */
354
353
  class Injection extends nodefony.Service {
355
-
356
- constructor(container) {
354
+ constructor (container) {
357
355
  super("injection", container, container.get("notificationsCenter"));
358
356
  this.injectors = {};
359
357
 
360
- this.reader = function (context) {
358
+ this.reader = (function (context) {
361
359
  const func = context.get("reader").loadPlugin("injection", pluginReader);
362
360
  return function (result, bundle, parser) {
363
361
  return func(result, bundle, parser, context.nodeReader.bind(context));
364
362
  };
365
- }(this);
363
+ }(this));
366
364
  }
367
365
 
368
- nodeReader(jsonServices) {
369
- for (let lib in jsonServices) {
366
+ async nodeReader (jsonServices) {
367
+ for (const lib in jsonServices) {
370
368
  if (jsonServices[lib].class) {
371
369
  if (jsonServices[lib].environment) {
372
370
  let inject = false;
373
- if (process.env && process.env.NODE_ENV) {
374
- if (nodefony.typeOf(jsonServices[lib].environment) === "array") {
375
- let res = jsonServices[lib].environment.indexOf(process.env.NODE_ENV);
376
- if (res >= 0) {
377
- inject = true;
378
- }
379
- res = jsonServices[lib].environment.indexOf(this.kernel.type);
380
- if (res >= 0) {
381
- inject = true;
382
- }
383
- } else {
384
- if (jsonServices[lib].environment === process.env.NODE_ENV) {
385
- inject = true;
386
- }
371
+ if (nodefony.typeOf(jsonServices[lib].environment) === "array") {
372
+ let res = jsonServices[lib].environment.indexOf(process.env.NODE_ENV);
373
+ if (res >= 0) {
374
+ inject = true;
387
375
  }
388
- if (!inject) {
389
- this.log(`environment : ${process.env.NODE_ENV} BYPASS SERVICE START : ${lib}`, "DEBUG");
390
- continue;
376
+ res = jsonServices[lib].environment.indexOf(this.kernel.type);
377
+ if (res >= 0) {
378
+ inject = true;
391
379
  }
380
+ } else if (jsonServices[lib].environment === process.env.NODE_ENV) {
381
+ inject = true;
382
+ }
383
+ if (!inject) {
384
+ this.log(`environment : ${process.env.NODE_ENV} BYPASS SERVICE START : ${lib}`, "DEBUG");
385
+ continue;
392
386
  }
393
387
  }
394
388
  try {
395
- let injector = this.setInjector(lib, jsonServices[lib]);
396
- injector.startService();
389
+ const injector = this.setInjector(lib, jsonServices[lib]);
390
+ await injector.startService();
397
391
  } catch (e) {
398
392
  throw e;
399
393
  }
@@ -403,12 +397,12 @@ class Injection extends nodefony.Service {
403
397
  }
404
398
  }
405
399
 
406
- setInjector(name, service) {
400
+ setInjector (name, service) {
407
401
  try {
408
- let injector = new Injector(name, service, this.container);
402
+ const injector = new Injector(name, service, this.container);
409
403
  if (this.kernel.environment === "dev" && this.kernel.type !== "CONSOLE") {
410
404
  if (this.injectors[name]) {
411
- this.log("Service name : " + name + " Already exist ", "WARNING");
405
+ this.log(`Service name : ${name} Already exist `, "WARNING");
412
406
  }
413
407
  this.injectors[name] = injector;
414
408
  }
@@ -418,7 +412,7 @@ class Injection extends nodefony.Service {
418
412
  }
419
413
  }
420
414
 
421
- getInjector(name) {
415
+ getInjector (name) {
422
416
  if (this.injectors[name]) {
423
417
  return this.injectors[name];
424
418
  }