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
package/builder.es6 CHANGED
@@ -1,6 +1,5 @@
1
1
  class Builder extends nodefony.Service {
2
-
3
- constructor(cli, cmd, args) {
2
+ constructor (cli, cmd, args) {
4
3
  super("BUILDER", cli.container, cli.notificationsCenter);
5
4
  this.cli = cli;
6
5
  this.twig = twig;
@@ -11,7 +10,7 @@ class Builder extends nodefony.Service {
11
10
  this.force = false;
12
11
  this.twigOptions = {
13
12
  views: process.cwd(),
14
- 'twig options': {
13
+ "twig options": {
15
14
  async: false,
16
15
  cache: false
17
16
  }
@@ -19,62 +18,55 @@ class Builder extends nodefony.Service {
19
18
  this.response = nodefony.extend(true, {}, this.cli.response);
20
19
  }
21
20
 
22
- setLocation(location) {
21
+ setLocation (location) {
23
22
  if (location instanceof nodefony.fileClass) {
24
23
  return this.location = location.path;
25
24
  }
26
25
  return this.location = path.resolve(location);
27
26
  }
28
27
 
29
- setEnv(env) {
28
+ setEnv (env) {
30
29
  process.env.NODE_ENV = env || "development";
31
30
  }
32
31
 
33
- async run(interactive) {
32
+ async run (interactive) {
34
33
  if (interactive) {
35
34
  this.interactive = interactive;
36
35
  return this.interaction()
37
36
  .then((response) => {
38
- //this.log(this.response, "WARNING")
37
+ // this.log(this.response, "WARNING")
39
38
  nodefony.extend(true, this.response, response);
40
- //this.log(this.response)
39
+ // this.log(this.response)
41
40
  nodefony.extend(true, this.cli.response, this.response);
42
- //this.log(this.cli.response,"CRITIC")
41
+ // this.log(this.cli.response,"CRITIC")
43
42
  return this.generate(response, this.force)
44
- .then((response) => {
45
- return {
46
- response: response,
47
- builder: this
48
- };
49
- })
50
- .catch(e => {
43
+ .then((response) => ({
44
+ response,
45
+ builder: this
46
+ }))
47
+ .catch((e) => {
51
48
  throw e;
52
49
  });
53
50
  })
54
- .catch(e => {
55
- throw e;
56
- });
57
- } else {
58
- return this.generate(null, this.force)
59
- .then((response) => {
60
- return {
61
- response: response,
62
- builder: this
63
- };
64
- })
65
- .catch(e => {
51
+ .catch((e) => {
66
52
  throw e;
67
53
  });
68
54
  }
55
+ return this.generate(null, this.force)
56
+ .then((response) => ({
57
+ response,
58
+ builder: this
59
+ }))
60
+ .catch((e) => {
61
+ throw e;
62
+ });
69
63
  }
70
64
 
71
- interaction() {
72
- return new Promise(resolve => {
73
- return resolve(this.cli.response);
74
- });
65
+ interaction () {
66
+ return new Promise((resolve) => resolve(this.cli.response));
75
67
  }
76
68
 
77
- generate(response, force = false) {
69
+ generate (response, force = false) {
78
70
  return new Promise((resolve, reject) => {
79
71
  try {
80
72
  if (this.createBuilder) {
@@ -88,7 +80,7 @@ class Builder extends nodefony.Service {
88
80
  });
89
81
  }
90
82
 
91
- buildFront(response, Path) {
83
+ buildFront (response, Path) {
92
84
  this.Front = null;
93
85
  switch (response.front) {
94
86
  case "vue":
@@ -97,13 +89,13 @@ class Builder extends nodefony.Service {
97
89
  case "react":
98
90
  this.Front = new nodefony.builders.react(this.cli, this.cmd, this.args, response);
99
91
  break;
100
- case 'electron':
92
+ case "electron":
101
93
  this.Front = null;
102
94
  break;
103
- case 'api':
95
+ case "api":
104
96
  this.Front = null;
105
97
  break;
106
- case 'sandbox':
98
+ case "sandbox":
107
99
  default:
108
100
  this.Front = new nodefony.builders.sandbox(this.cli, this.cmd, this.args, response);
109
101
  break;
@@ -112,12 +104,12 @@ class Builder extends nodefony.Service {
112
104
  return this.Front;
113
105
  }
114
106
 
115
- async removeInteractivePath(file) {
107
+ async removeInteractivePath (file) {
116
108
  return this.cli.prompt([{
117
- type: 'confirm',
118
- name: 'remove',
119
- message: `Do You Want Remove : ${file}?`,
120
- default: false
109
+ type: "confirm",
110
+ name: "remove",
111
+ message: `Do You Want Remove : ${file}?`,
112
+ default: false
121
113
  }])
122
114
  .then((response) => {
123
115
  if (response.remove) {
@@ -133,12 +125,13 @@ class Builder extends nodefony.Service {
133
125
  } else {
134
126
  return response;
135
127
  }
136
- }).catch(e => {
128
+ })
129
+ .catch((e) => {
137
130
  throw e;
138
131
  });
139
132
  }
140
133
 
141
- buildSkeleton(skeleton, parse = true, obj = {}, callback = null) {
134
+ buildSkeleton (skeleton, parse = true, obj = {}, callback = null) {
142
135
  let skelete = null;
143
136
  if (!callback) {
144
137
  return new Promise((resolve, reject) => {
@@ -159,7 +152,7 @@ class Builder extends nodefony.Service {
159
152
  });
160
153
  } else {
161
154
  fs.readFile(skelete.path, {
162
- encoding: 'utf8'
155
+ encoding: "utf8"
163
156
  }, (error, result) => {
164
157
  if (error) {
165
158
  return reject(error);
@@ -168,7 +161,7 @@ class Builder extends nodefony.Service {
168
161
  });
169
162
  }
170
163
  } else {
171
- let error = new Error(" skeleton must be file !!! : " + skelete.path);
164
+ const error = new Error(` skeleton must be file !!! : ${skelete.path}`);
172
165
  return reject(error);
173
166
  }
174
167
  } catch (e) {
@@ -188,11 +181,11 @@ class Builder extends nodefony.Service {
188
181
  this.twig.renderFile(skelete.path, obj, callback);
189
182
  } else {
190
183
  callback(null, fs.readFileSync(skelete.path, {
191
- encoding: 'utf8'
184
+ encoding: "utf8"
192
185
  }));
193
186
  }
194
187
  } else {
195
- throw new Error(" skeleton must be file !!! : " + skelete.path);
188
+ throw new Error(` skeleton must be file !!! : ${skelete.path}`);
196
189
  }
197
190
  } catch (e) {
198
191
  this.log(e, "ERROR");
@@ -200,7 +193,7 @@ class Builder extends nodefony.Service {
200
193
  return skelete;
201
194
  }
202
195
 
203
- build(obj, parent, force) {
196
+ build (obj, parent, force) {
204
197
  let child = null;
205
198
  try {
206
199
  if (!(parent instanceof nodefony.fileClass)) {
@@ -220,8 +213,8 @@ class Builder extends nodefony.Service {
220
213
  break;
221
214
  case "object":
222
215
  let name = null;
223
- for (let ele in obj) {
224
- let value = obj[ele];
216
+ for (const ele in obj) {
217
+ const value = obj[ele];
225
218
  switch (ele) {
226
219
  case "name":
227
220
  name = value;
@@ -230,12 +223,12 @@ class Builder extends nodefony.Service {
230
223
  switch (value) {
231
224
  case "directory":
232
225
  try {
233
- let directory = path.resolve(parent.path, name);
226
+ const directory = path.resolve(parent.path, name);
234
227
  child = this.cli.createDirectory(directory, 0o755, (ele) => {
235
228
  if (force) {
236
- this.log("Force Create Directory :" + ele.name);
229
+ this.log(`Force Create Directory :${ele.name}`);
237
230
  } else {
238
- this.log("Create Directory :" + ele.name);
231
+ this.log(`Create Directory :${ele.name}`);
239
232
  }
240
233
  if (obj.chmod) {
241
234
  this.cli.chmod(obj.chmod, directory);
@@ -248,9 +241,9 @@ class Builder extends nodefony.Service {
248
241
  break;
249
242
  case "file":
250
243
  try {
251
- let file = path.resolve(parent.path, name);
244
+ const file = path.resolve(parent.path, name);
252
245
  this.createFile(file, obj.skeleton, obj.parse, obj.params, (ele) => {
253
- this.log("Create File :" + ele.name);
246
+ this.log(`Create File :${ele.name}`);
254
247
  });
255
248
  if (obj.chmod) {
256
249
  this.cli.chmod(obj.chmod, file);
@@ -263,11 +256,11 @@ class Builder extends nodefony.Service {
263
256
  case "symlink":
264
257
  try {
265
258
  if (force) {
266
- this.cli.ln('-sf', path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
259
+ this.cli.ln("-sf", path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
267
260
  } else {
268
- this.cli.ln('-s', path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
261
+ this.cli.ln("-s", path.resolve(parent.path, obj.params.source), path.resolve(parent.path, obj.params.dest));
269
262
  }
270
- this.log("Create symbolic link :" + obj.name);
263
+ this.log(`Create symbolic link :${obj.name}`);
271
264
  } catch (e) {
272
265
  this.log(e, "ERROR");
273
266
  throw e;
@@ -275,13 +268,13 @@ class Builder extends nodefony.Service {
275
268
  break;
276
269
  case "copy":
277
270
  try {
278
- let file = path.resolve(parent.path, name);
271
+ const file = path.resolve(parent.path, name);
279
272
  if (obj.params && obj.params.recurse) {
280
273
  this.cli.cp("-R", obj.path, file);
281
274
  } else {
282
275
  this.cli.cp("-f", obj.path, file);
283
276
  }
284
- this.log("Copy :" + obj.name);
277
+ this.log(`Copy :${obj.name}`);
285
278
  if (obj.chmod) {
286
279
  this.cli.chmod(obj.chmod, file);
287
280
  }
@@ -313,7 +306,7 @@ class Builder extends nodefony.Service {
313
306
  return child;
314
307
  }
315
308
 
316
- createFile(myPath, skeleton, parse = true, params = {}, callback = null) {
309
+ createFile (myPath, skeleton, parse = true, params = {}, callback = null) {
317
310
  if (!callback) {
318
311
  return new Promise((resolve, reject) => {
319
312
  if (skeleton) {
@@ -328,20 +321,17 @@ class Builder extends nodefony.Service {
328
321
  return resolve(new nodefony.fileClass(myPath));
329
322
  });
330
323
  })
331
- .catch((e) => {
332
- return reject(e);
333
- });
334
- } else {
335
- let data = " ";
336
- fs.writeFile(myPath, data, {
337
- mode: params.mode || "644"
338
- }, (err) => {
339
- if (err) {
340
- return reject(err);
341
- }
342
- return resolve(new nodefony.fileClass(myPath));
343
- });
324
+ .catch((e) => reject(e));
344
325
  }
326
+ const data = " ";
327
+ fs.writeFile(myPath, data, {
328
+ mode: params.mode || "644"
329
+ }, (err) => {
330
+ if (err) {
331
+ return reject(err);
332
+ }
333
+ return resolve(new nodefony.fileClass(myPath));
334
+ });
345
335
  });
346
336
  }
347
337
  if (skeleton) {
@@ -360,7 +350,7 @@ class Builder extends nodefony.Service {
360
350
  }
361
351
  });
362
352
  } else {
363
- let data = " ";
353
+ const data = " ";
364
354
  try {
365
355
  fs.writeFileSync(myPath, data, {
366
356
  mode: params.mode || "644"
@@ -1,16 +1,15 @@
1
1
  const regBundleName = /^(\w+)-bundle[\.js]{0,3}$|^(\w+)[Bb]undle[\.js]{0,3}$/;
2
2
 
3
3
  class generateBundle extends nodefony.Builder {
4
-
5
- constructor(cli, cmd, args) {
4
+ constructor (cli, cmd, args) {
6
5
  super(cli, cmd, args);
7
6
  this.name = null;
8
7
  this.location = null;
9
8
  this.pathSkeleton = path.resolve(__dirname, "skeletons");
10
9
  if (this.cmd === "generate:bundles" || this.cmd === "create:bundles") {
11
10
  if (args && args[0]) {
12
- //this.name = args[0];
13
- //this.cli.response.name = args[0];
11
+ // this.name = args[0];
12
+ // this.cli.response.name = args[0];
14
13
  if (args[1]) {
15
14
  this.setLocation(args[1]);
16
15
  this.checkPath(args[0], args[1]);
@@ -47,39 +46,33 @@ class generateBundle extends nodefony.Builder {
47
46
  this.setEnv();
48
47
  }
49
48
 
50
- generate(response) {
49
+ generate (response) {
51
50
  return super.generate(response)
52
- .then(() => {
53
- return this.buildFront(this.response, this.path)
54
- .run(this.cli.interactive)
55
- .then((bundle) => {
56
- return this.install()
57
- .then(() => {
58
- return bundle.response;
59
- })
60
- .catch((e) => {
61
- throw e;
62
- });
63
- })
51
+ .then(() => this.buildFront(this.response, this.path)
52
+ .run(this.cli.interactive)
53
+ .then((bundle) => this.install()
54
+ .then(() => bundle.response)
64
55
  .catch((e) => {
65
56
  throw e;
66
- });
67
- });
57
+ }))
58
+ .catch((e) => {
59
+ throw e;
60
+ }));
68
61
  }
69
62
 
70
- async interaction() {
63
+ async interaction () {
71
64
  this.cli.reset();
72
65
  await this.cli.showAsciify("Generate Bundle");
73
- let prompt = [{
74
- type: 'input',
75
- name: 'name',
66
+ const prompt = [{
67
+ type: "input",
68
+ name: "name",
76
69
  default: this.name || "",
77
- message: 'Enter Bundle Name',
70
+ message: "Enter Bundle Name",
78
71
  validate: (value) => {
79
72
  if (value && value !== "nodefony") {
80
- let res = this.checkExist(value);
73
+ const res = this.checkExist(value);
81
74
  if (res) {
82
- return "Bundle already exist " + value;
75
+ return `Bundle already exist ${value}`;
83
76
  }
84
77
  this.name = value;
85
78
  return true;
@@ -87,23 +80,23 @@ class generateBundle extends nodefony.Builder {
87
80
  return `${value} Unauthorised Please enter a valid Bundle name`;
88
81
  }
89
82
  }, {
90
- type: 'input',
91
- name: 'location',
83
+ type: "input",
84
+ name: "location",
92
85
  default: this.location,
93
- message: 'Enter Bundle Path',
86
+ message: "Enter Bundle Path",
94
87
  validate: (value) => {
95
88
  if (value) {
96
89
  this.checkPath(this.name, value);
97
90
  return true;
98
91
  }
99
- return 'Please enter a valid Bundle Path';
92
+ return "Please enter a valid Bundle Path";
100
93
  }
101
94
  }, {
102
- type: 'list',
103
- name: 'front',
95
+ type: "list",
96
+ name: "front",
104
97
  default: 0,
105
98
  pageSize: 10,
106
- //choices: ["Sandbox (without Front framwork)", "Vue.js", "React"],
99
+ // choices: ["Sandbox (without Front framwork)", "Vue.js", "React"],
107
100
  choices: [{
108
101
  name: "Sandbox (without Front framwork)"
109
102
  }, {
@@ -114,7 +107,7 @@ class generateBundle extends nodefony.Builder {
114
107
  name: "Api",
115
108
  disabled: true
116
109
  }],
117
- message: 'Choose Bundle Type (Mapping Front Framework in Bundle) :',
110
+ message: "Choose Bundle Type (Mapping Front Framework in Bundle) :",
118
111
  filter: (value) => {
119
112
  let front = null;
120
113
  switch (value) {
@@ -125,10 +118,10 @@ class generateBundle extends nodefony.Builder {
125
118
  front = "vue";
126
119
  break;
127
120
  case "React":
128
- front = 'react';
121
+ front = "react";
129
122
  break;
130
123
  case "Api":
131
- front = 'api';
124
+ front = "api";
132
125
  break;
133
126
  default:
134
127
  front = value;
@@ -146,36 +139,38 @@ class generateBundle extends nodefony.Builder {
146
139
  if (myresponse.remove) {
147
140
  return response;
148
141
  }
149
- let error = new Error(`${this.path} Already exist`);
142
+ const error = new Error(`${this.path} Already exist`);
150
143
  error.code = 0;
151
144
  throw error;
152
- }).catch((e) => {
145
+ })
146
+ .catch((e) => {
153
147
  throw e;
154
148
  });
155
149
  }
156
150
  return response;
157
- }).catch(e => {
151
+ })
152
+ .catch((e) => {
158
153
  throw e;
159
154
  });
160
155
  }
161
156
 
162
- getBundle(name) {
163
- let bundle = this.checkExist(name);
157
+ getBundle (name) {
158
+ const bundle = this.checkExist(name);
164
159
  if (!bundle) {
165
- throw new Error("bundle " + name + " don't exist ");
160
+ throw new Error(`bundle ${name} don't exist `);
166
161
  }
167
162
  this.setPath(null, bundle);
168
163
  return bundle;
169
164
  }
170
165
 
171
- checkExist(name) {
166
+ checkExist (name) {
172
167
  if (this.cli.kernel) {
173
- let bundle = this.cli.kernel.getBundle(name);
168
+ const bundle = this.cli.kernel.getBundle(name);
174
169
  if (bundle) {
175
170
  return bundle;
176
171
  }
177
172
  try {
178
- let bundleName = this.cli.kernel.getBundleName(name);
173
+ const bundleName = this.cli.kernel.getBundleName(name);
179
174
  if (bundleName) {
180
175
  return this.cli.kernel.getBundle(bundleName);
181
176
  }
@@ -187,13 +182,13 @@ class generateBundle extends nodefony.Builder {
187
182
  return null;
188
183
  }
189
184
 
190
- setPath(Path, bundle) {
185
+ setPath (Path, bundle) {
191
186
  if (bundle) {
192
187
  this.name = bundle.bundleName;
193
188
  this.shortName = bundle.name;
194
189
  this.location = bundle.location;
195
190
  this.bundlePath = bundle.path;
196
- this.bundleFile = path.resolve(this.bundlePath, this.shortName + "Bundle.js");
191
+ this.bundleFile = path.resolve(this.bundlePath, `${this.shortName}Bundle.js`);
197
192
  } else {
198
193
  if (Path instanceof nodefony.fileClass) {
199
194
  this.location = Path.path;
@@ -204,7 +199,7 @@ class generateBundle extends nodefony.Builder {
204
199
  this.location = Path;
205
200
  }
206
201
  this.bundlePath = path.resolve(this.location, this.name);
207
- this.bundleFile = path.resolve(this.bundlePath, this.shortName + "Bundle.js");
202
+ this.bundleFile = path.resolve(this.bundlePath, `${this.shortName}Bundle.js`);
208
203
  }
209
204
  nodefony.extend(this.response, {
210
205
  bundleName: this.name,
@@ -214,16 +209,16 @@ class generateBundle extends nodefony.Builder {
214
209
  });
215
210
  }
216
211
 
217
- checkPath(name, Path) {
212
+ checkPath (name, Path) {
218
213
  if (!name) {
219
214
  if (!this.name) {
220
215
  throw new Error("No bundle name");
221
216
  }
222
217
  name = this.name;
223
218
  }
224
- let bundle = this.checkExist(name);
219
+ const bundle = this.checkExist(name);
225
220
  if (bundle) {
226
- throw new Error("Bundle already exist " + name);
221
+ throw new Error(`Bundle already exist ${name}`);
227
222
  }
228
223
  this.shortName = name;
229
224
  let res = regBundleName.exec(name);
@@ -231,12 +226,12 @@ class generateBundle extends nodefony.Builder {
231
226
  this.shortName = res[1];
232
227
  this.name = name;
233
228
  } else {
234
- this.name = name + "-bundle";
229
+ this.name = `${name}-bundle`;
235
230
  res = regBundleName.exec(this.name);
236
231
  if (res) {
237
232
  this.shortName = res[1];
238
233
  } else {
239
- throw new Error("Bad bundle name :" + this.name);
234
+ throw new Error(`Bad bundle name :${this.name}`);
240
235
  }
241
236
  }
242
237
  try {
@@ -247,7 +242,7 @@ class generateBundle extends nodefony.Builder {
247
242
  }
248
243
  }
249
244
 
250
- createBuilder() {
245
+ createBuilder () {
251
246
  try {
252
247
  return {
253
248
  name: this.name,
@@ -259,7 +254,7 @@ class generateBundle extends nodefony.Builder {
259
254
  }
260
255
  }
261
256
 
262
- install() {
257
+ install () {
263
258
  try {
264
259
  let json = null;
265
260
  let configPath = null;
@@ -291,11 +286,11 @@ class generateBundle extends nodefony.Builder {
291
286
  json.system.bundles[this.name] = `file:${this.bundlePath}`;
292
287
  }
293
288
  fs.writeFileSync(configPath, yaml.dump(json), {
294
- encoding: 'utf8'
289
+ encoding: "utf8"
295
290
  });
296
291
 
297
292
  try {
298
- let file = new nodefony.fileClass(this.bundleFile);
293
+ const file = new nodefony.fileClass(this.bundleFile);
299
294
  if (this.cli.kernel) {
300
295
  this.cli.kernel.loadBundle(file);
301
296
  }
@@ -311,23 +306,22 @@ class generateBundle extends nodefony.Builder {
311
306
  }
312
307
  }
313
308
 
314
- static controller(cli) {
315
- let controller = require(path.resolve(__dirname, "controller.js"));
309
+ static controller (cli) {
310
+ const controller = require(path.resolve(__dirname, "controller.js"));
316
311
  return new controller(cli);
317
312
  }
318
313
 
319
- static service() {
314
+ static service () {
320
315
 
321
316
  }
322
317
 
323
- static entity() {
318
+ static entity () {
324
319
 
325
320
  }
326
321
 
327
- static command() {
322
+ static command () {
328
323
 
329
324
  }
330
-
331
325
  }
332
326
 
333
327
  nodefony.builders.bundle = generateBundle;