@magic-xpa/cli 4.1000.0 → 4.1100.0-dev000.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 (307) hide show
  1. package/README.md +28 -28
  2. package/index.d.ts +1 -1
  3. package/index.js +4 -4
  4. package/index.js.map +1 -1
  5. package/index.ts +1 -1
  6. package/package.json +2 -2
  7. package/src/collection.json +75 -75
  8. package/src/public_api.d.ts +3 -3
  9. package/src/public_api.js +6 -6
  10. package/src/public_api.js.map +1 -1
  11. package/src/public_api.ts +5 -5
  12. package/src/schematics/magic-utils/Util.d.ts +6 -6
  13. package/src/schematics/magic-utils/Util.js +26 -26
  14. package/src/schematics/magic-utils/Util.js.map +1 -1
  15. package/src/schematics/magic-utils/config.d.ts +12 -12
  16. package/src/schematics/magic-utils/config.js +56 -56
  17. package/src/schematics/magic-utils/config.js.map +1 -1
  18. package/src/schematics/magic-utils/config.ts +68 -68
  19. package/src/schematics/magic-utils/env.d.ts +23 -23
  20. package/src/schematics/magic-utils/env.js +39 -39
  21. package/src/schematics/magic-utils/env.js.map +1 -1
  22. package/src/schematics/magic-utils/env.ts +50 -50
  23. package/src/schematics/magic-utils/manifest.d.ts +11 -11
  24. package/src/schematics/magic-utils/manifest.js +40 -40
  25. package/src/schematics/magic-utils/manifest.js.map +1 -1
  26. package/src/schematics/magic-utils/manifest.ts +46 -46
  27. package/src/schematics/magic-utils/metadata.class.d.ts +51 -51
  28. package/src/schematics/magic-utils/metadata.class.js +124 -124
  29. package/src/schematics/magic-utils/metadata.class.js.map +1 -1
  30. package/src/schematics/magic-utils/metadata.class.ts +159 -159
  31. package/src/schematics/magic-utils/process-json.d.ts +2 -2
  32. package/src/schematics/magic-utils/process-json.js +157 -158
  33. package/src/schematics/magic-utils/process-json.js.map +1 -1
  34. package/src/schematics/magic-utils/rules/build-control.rule.d.ts +5 -5
  35. package/src/schematics/magic-utils/rules/build-control.rule.js +73 -74
  36. package/src/schematics/magic-utils/rules/build-control.rule.js.map +1 -1
  37. package/src/schematics/magic-utils/rules/build-view.rule.d.ts +3 -3
  38. package/src/schematics/magic-utils/rules/build-view.rule.js +82 -80
  39. package/src/schematics/magic-utils/rules/build-view.rule.js.map +1 -1
  40. package/src/schematics/magic-utils/rules/build-view.rule.ts +4 -0
  41. package/src/schematics/magic-utils/rules/component-list.rule.d.ts +3 -3
  42. package/src/schematics/magic-utils/rules/component-list.rule.js +316 -317
  43. package/src/schematics/magic-utils/rules/component-list.rule.js.map +1 -1
  44. package/src/schematics/magic-utils/rules/generate.rule.d.ts +5 -5
  45. package/src/schematics/magic-utils/rules/generate.rule.js +53 -54
  46. package/src/schematics/magic-utils/rules/generate.rule.js.map +1 -1
  47. package/src/schematics/magic-utils/rules/generate.rule.ts +61 -61
  48. package/src/schematics/magic-utils/rules/init-add-modules.rule.d.ts +12 -12
  49. package/src/schematics/magic-utils/rules/init-add-modules.rule.js +295 -296
  50. package/src/schematics/magic-utils/rules/init-add-modules.rule.js.map +1 -1
  51. package/src/schematics/magic-utils/rules/init-add-modules.rule.ts +360 -360
  52. package/src/schematics/magic-utils/rules/init-gen-components.rule.d.ts +4 -4
  53. package/src/schematics/magic-utils/rules/init-gen-components.rule.js +65 -66
  54. package/src/schematics/magic-utils/rules/init-gen-components.rule.js.map +1 -1
  55. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.d.ts +3 -3
  56. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js +17 -18
  57. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js.map +1 -1
  58. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.ts +19 -19
  59. package/src/schematics/magic-utils/rules/load-views-gen.rule.d.ts +3 -3
  60. package/src/schematics/magic-utils/rules/load-views-gen.rule.js +28 -29
  61. package/src/schematics/magic-utils/rules/load-views-gen.rule.js.map +1 -1
  62. package/src/schematics/magic-utils/rules/magic-option.scheme.d.ts +22 -21
  63. package/src/schematics/magic-utils/rules/magic-option.scheme.js +2 -2
  64. package/src/schematics/magic-utils/rules/magic-option.scheme.js.map +1 -1
  65. package/src/schematics/magic-utils/rules/magic-option.scheme.ts +24 -23
  66. package/src/schematics/magic-utils/utils.d.ts +12 -12
  67. package/src/schematics/magic-utils/utils.js +116 -117
  68. package/src/schematics/magic-utils/utils.js.map +1 -1
  69. package/src/schematics/magic-utils/utils.ts +134 -134
  70. package/src/schematics/mg-Install-prerequisites/index.d.ts +3 -3
  71. package/src/schematics/mg-Install-prerequisites/index.js +24 -25
  72. package/src/schematics/mg-Install-prerequisites/index.js.map +1 -1
  73. package/src/schematics/mg-Install-prerequisites/index.ts +30 -30
  74. package/src/schematics/mg-Install-prerequisites/schema.json +14 -14
  75. package/src/schematics/mg-add/files/src/app/app.component.html +17 -17
  76. package/src/schematics/mg-add/files/src/app/app.routes.ts +14 -14
  77. package/src/schematics/mg-add/files/src/app/magic/component-list.g.ts +9 -9
  78. package/src/schematics/mg-add/files/src/app/magic/lazy-loader.service.ts +2 -1
  79. package/src/schematics/mg-add/files/src/app/magic/magic.gen.lib.module.ts +19 -19
  80. package/src/schematics/mg-add/files/src/magic-styles.css +131 -131
  81. package/src/schematics/mg-add/index.d.ts +3 -3
  82. package/src/schematics/mg-add/index.js +150 -151
  83. package/src/schematics/mg-add/index.js.map +1 -1
  84. package/src/schematics/mg-add/schema.json +29 -29
  85. package/src/schematics/mg-add/utils/add-declaration-to-root-module.d.ts +2 -2
  86. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js +10 -11
  87. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js.map +1 -1
  88. package/src/schematics/mg-add/utils/add-declaration-to-root-module.ts +12 -12
  89. package/src/schematics/mg-add/webModule/app.routes.ts +14 -14
  90. package/src/schematics/mg-add-tasks/index.d.ts +3 -3
  91. package/src/schematics/mg-add-tasks/index.js +29 -30
  92. package/src/schematics/mg-add-tasks/index.js.map +1 -1
  93. package/src/schematics/mg-add-tasks/index.ts +53 -53
  94. package/src/schematics/mg-add-tasks/schema.json +41 -41
  95. package/src/schematics/mg-delete-files/index.d.ts +3 -3
  96. package/src/schematics/mg-delete-files/index.js +12 -13
  97. package/src/schematics/mg-delete-files/index.js.map +1 -1
  98. package/src/schematics/mg-delete-files/index.ts +12 -12
  99. package/src/schematics/mg-delete-files/schema.json +14 -14
  100. package/src/schematics/mg-gen-module/index.d.ts +3 -3
  101. package/src/schematics/mg-gen-module/index.js +14 -15
  102. package/src/schematics/mg-gen-module/index.js.map +1 -1
  103. package/src/schematics/mg-gen-module/index.ts +14 -14
  104. package/src/schematics/mg-gen-module/schema.json +24 -24
  105. package/src/schematics/mg-generate/index.d.ts +3 -3
  106. package/src/schematics/mg-generate/index.js +12 -13
  107. package/src/schematics/mg-generate/index.js.map +1 -1
  108. package/src/schematics/mg-generate/index.ts +12 -12
  109. package/src/schematics/mg-generate/schema.json +34 -34
  110. package/src/schematics/mg-generate-component/index.d.ts +3 -3
  111. package/src/schematics/mg-generate-component/index.js +34 -35
  112. package/src/schematics/mg-generate-component/index.js.map +1 -1
  113. package/src/schematics/mg-generate-component/schema.json +6 -0
  114. package/src/schematics/mg-install/index.d.ts +3 -3
  115. package/src/schematics/mg-install/index.js +29 -30
  116. package/src/schematics/mg-install/index.js.map +1 -1
  117. package/src/schematics/mg-install/index.ts +37 -37
  118. package/src/schematics/mg-install/schema.json +24 -24
  119. package/src/schematics/mg-routes/index.d.ts +6 -6
  120. package/src/schematics/mg-routes/index.js +62 -63
  121. package/src/schematics/mg-routes/index.js.map +1 -1
  122. package/src/schematics/mg-routes/schema.json +14 -14
  123. package/src/schematics/mg-single-control/index.d.ts +3 -3
  124. package/src/schematics/mg-single-control/index.js +28 -29
  125. package/src/schematics/mg-single-control/index.js.map +1 -1
  126. package/src/schematics/mg-single-control/schema.json +24 -24
  127. package/src/schematics/utils/ast.d.ts +21 -21
  128. package/src/schematics/utils/ast.js +90 -91
  129. package/src/schematics/utils/ast.js.map +1 -1
  130. package/src/schematics/utils/ast.ts +103 -103
  131. package/src/schematics/utils/devkit-utils/README.md +1 -1
  132. package/src/schematics/utils/devkit-utils/ast-utils.d.ts +87 -87
  133. package/src/schematics/utils/devkit-utils/ast-utils.js +489 -490
  134. package/src/schematics/utils/devkit-utils/ast-utils.js.map +1 -1
  135. package/src/schematics/utils/devkit-utils/ast-utils.ts +570 -570
  136. package/src/schematics/utils/devkit-utils/ast-utils_old.d.ts +68 -68
  137. package/src/schematics/utils/devkit-utils/ast-utils_old.js +419 -420
  138. package/src/schematics/utils/devkit-utils/ast-utils_old.js.map +1 -1
  139. package/src/schematics/utils/devkit-utils/ast-utils_old.ts +478 -478
  140. package/src/schematics/utils/devkit-utils/change.d.ts +66 -66
  141. package/src/schematics/utils/devkit-utils/change.js +94 -94
  142. package/src/schematics/utils/devkit-utils/change.js.map +1 -1
  143. package/src/schematics/utils/devkit-utils/change.ts +127 -127
  144. package/src/schematics/utils/devkit-utils/component.d.ts +2 -2
  145. package/src/schematics/utils/devkit-utils/component.js +96 -97
  146. package/src/schematics/utils/devkit-utils/component.js.map +1 -1
  147. package/src/schematics/utils/devkit-utils/component.ts +136 -136
  148. package/src/schematics/utils/devkit-utils/config.d.ts +78 -78
  149. package/src/schematics/utils/devkit-utils/config.js +52 -52
  150. package/src/schematics/utils/devkit-utils/config.js.map +1 -1
  151. package/src/schematics/utils/devkit-utils/config.ts +120 -120
  152. package/src/schematics/utils/devkit-utils/find-module.d.ts +28 -28
  153. package/src/schematics/utils/devkit-utils/find-module.js +92 -93
  154. package/src/schematics/utils/devkit-utils/find-module.js.map +1 -1
  155. package/src/schematics/utils/devkit-utils/find-module.ts +108 -108
  156. package/src/schematics/utils/devkit-utils/ng-ast-utils.d.ts +5 -5
  157. package/src/schematics/utils/devkit-utils/ng-ast-utils.js +73 -74
  158. package/src/schematics/utils/devkit-utils/ng-ast-utils.js.map +1 -1
  159. package/src/schematics/utils/devkit-utils/ng-ast-utils.ts +84 -84
  160. package/src/schematics/utils/devkit-utils/parse-name.d.ts +13 -13
  161. package/src/schematics/utils/devkit-utils/parse-name.js +19 -20
  162. package/src/schematics/utils/devkit-utils/parse-name.js.map +1 -1
  163. package/src/schematics/utils/devkit-utils/parse-name.ts +24 -24
  164. package/src/schematics/utils/devkit-utils/route-utils.d.ts +20 -20
  165. package/src/schematics/utils/devkit-utils/route-utils.js +133 -134
  166. package/src/schematics/utils/devkit-utils/route-utils.js.map +1 -1
  167. package/src/schematics/utils/devkit-utils/route-utils.ts +180 -180
  168. package/src/schematics/utils/devkit-utils/validation.d.ts +1 -1
  169. package/src/schematics/utils/devkit-utils/validation.js +18 -19
  170. package/src/schematics/utils/devkit-utils/validation.js.map +1 -1
  171. package/src/schematics/utils/devkit-utils/validation.ts +16 -16
  172. package/src/schematics/utils/html.d.ts +18 -18
  173. package/src/schematics/utils/html.js +59 -60
  174. package/src/schematics/utils/html.js.map +1 -1
  175. package/src/schematics/utils/html.ts +63 -63
  176. package/src/schematics/utils/lib-versions.d.ts +3 -3
  177. package/src/schematics/utils/lib-versions.js +6 -6
  178. package/src/schematics/utils/lib-versions.js.map +1 -1
  179. package/src/schematics/utils/lib-versions.ts +3 -3
  180. package/src/schematics/utils/package.d.ts +5 -5
  181. package/src/schematics/utils/package.js +20 -21
  182. package/src/schematics/utils/package.js.map +1 -1
  183. package/src/schematics/utils/package.ts +22 -22
  184. package/src/schematics/utils/testing.d.ts +5 -5
  185. package/src/schematics/utils/testing.js +26 -27
  186. package/src/schematics/utils/testing.js.map +1 -1
  187. package/src/schematics/utils/testing.ts +25 -25
  188. package/src/types/enums/Enums.d.ts +1646 -1646
  189. package/src/types/enums/Enums.js +1862 -1862
  190. package/src/types/enums/Enums.js.map +1 -1
  191. package/src/types/enums/Enums.ts +2063 -2063
  192. package/src/types/enums/generated-file-types.enum.d.ts +6 -6
  193. package/src/types/enums/generated-file-types.enum.js +10 -10
  194. package/src/types/enums/generated-file-types.enum.js.map +1 -1
  195. package/src/types/enums/generated-file-types.enum.ts +6 -6
  196. package/src/types/enums/horizontal-alignments.enum.d.ts +5 -5
  197. package/src/types/enums/horizontal-alignments.enum.js +9 -9
  198. package/src/types/enums/horizontal-alignments.enum.js.map +1 -1
  199. package/src/types/enums/horizontal-alignments.enum.ts +6 -6
  200. package/src/types/enums/themes.enum.d.ts +6 -6
  201. package/src/types/enums/themes.enum.js +10 -10
  202. package/src/types/enums/themes.enum.js.map +1 -1
  203. package/src/types/enums/themes.enum.ts +6 -6
  204. package/src/types/index.d.ts +7 -7
  205. package/src/types/index.js +10 -10
  206. package/src/types/index.js.map +1 -1
  207. package/src/types/index.ts +8 -8
  208. package/src/types/interfaces/app.d.ts +53 -53
  209. package/src/types/interfaces/app.js +9 -9
  210. package/src/types/interfaces/app.js.map +1 -1
  211. package/src/types/interfaces/app.ts +89 -89
  212. package/src/types/interfaces/control.d.ts +82 -82
  213. package/src/types/interfaces/control.js +2 -2
  214. package/src/types/interfaces/control.js.map +1 -1
  215. package/src/types/interfaces/control.ts +106 -106
  216. package/src/types/interfaces/env.interface.d.ts +19 -19
  217. package/src/types/interfaces/env.interface.js +10 -10
  218. package/src/types/interfaces/template.config.d.ts +8 -8
  219. package/src/types/interfaces/template.config.js +2 -2
  220. package/src/types/interfaces/template.config.js.map +1 -1
  221. package/src/types/interfaces/template.config.ts +11 -11
  222. package/templates/angular/src/app/app.component.html.ejs +17 -17
  223. package/templates/angular/src/app/cmp-array.ejs +3 -3
  224. package/templates/angular/src/app/cmp-hash.ejs +3 -3
  225. package/templates/angular/src/app/component-list.g.ts +21 -21
  226. package/templates/angular/src/app.component.ts +14 -14
  227. package/templates/angular/src/app.module.ts +70 -70
  228. package/templates/angular/src/app.routes.ts +73 -73
  229. package/templates/angular/src/styles/app.css +5 -5
  230. package/templates/attributes/button_attributes.ejs +2 -2
  231. package/templates/attributes/common/base/class.ejs +6 -6
  232. package/templates/attributes/common/base/control_type.ejs +53 -53
  233. package/templates/attributes/common/base/enabled.ejs +9 -9
  234. package/templates/attributes/common/base/imageFileName.ejs +3 -3
  235. package/templates/attributes/common/base/no_control_class.ejs +3 -3
  236. package/templates/attributes/common/base/rtol.ejs +3 -3
  237. package/templates/attributes/common/base/tabindex.ejs +11 -11
  238. package/templates/attributes/common/base/testingId.ejs +8 -8
  239. package/templates/attributes/common/base/tooltip.ejs +7 -7
  240. package/templates/attributes/common/base/visible.ejs +6 -6
  241. package/templates/attributes/common/base/wallpaper.ejs +3 -3
  242. package/templates/attributes/common/base_attributes.ejs +10 -10
  243. package/templates/attributes/common/container_attributes.ejs +6 -6
  244. package/templates/attributes/common/control_attributes.ejs +3 -3
  245. package/templates/attributes/common/format.ejs +5 -5
  246. package/templates/attributes/common/input/hint.ejs +13 -13
  247. package/templates/attributes/common/input/multiline_edit.ejs +3 -3
  248. package/templates/attributes/common/input/must_input.ejs +8 -8
  249. package/templates/attributes/common/input/password_edit.ejs +7 -7
  250. package/templates/attributes/common/input/row_editing_input_attributes.ejs +6 -6
  251. package/templates/attributes/common/input/validation.ejs +5 -5
  252. package/templates/attributes/common/input_attributes.ejs +4 -4
  253. package/templates/attributes/common/no_control_base_attributes.ejs +4 -4
  254. package/templates/attributes/common/row_editing_button_attributes.ejs +10 -10
  255. package/templates/component/view.component.html +14 -14
  256. package/templates/component/view.component.ts +123 -122
  257. package/templates/themes/basicHTML/Code/theme.module.ts +10 -10
  258. package/templates/themes/basicHTML/checkbox.ejs +1 -1
  259. package/templates/themes/basicHTML/combobox.ejs +37 -37
  260. package/templates/themes/basicHTML/edit.ejs +169 -168
  261. package/templates/themes/basicHTML/form.ejs +4 -4
  262. package/templates/themes/basicHTML/group.ejs +4 -4
  263. package/templates/themes/basicHTML/image.ejs +6 -6
  264. package/templates/themes/basicHTML/label.ejs +11 -11
  265. package/templates/themes/basicHTML/listbox.ejs +21 -21
  266. package/templates/themes/basicHTML/push-button.ejs +28 -28
  267. package/templates/themes/basicHTML/radio.ejs +20 -20
  268. package/templates/themes/basicHTML/subform.ejs +6 -6
  269. package/templates/themes/basicHTML/tab.ejs +31 -31
  270. package/templates/themes/basicHTML/tabpage.ejs +5 -5
  271. package/templates/themes/basicHiddenHTML/Code/theme.module.ts +10 -10
  272. package/templates/themes/basicHiddenHTML/combobox.ejs +5 -5
  273. package/templates/themes/basicHiddenHTML/form.ejs +3 -3
  274. package/templates/themes/basicHiddenHTML/group.ejs +2 -2
  275. package/templates/themes/basicHiddenHTML/image.ejs +4 -4
  276. package/templates/themes/basicHiddenHTML/label.ejs +1 -1
  277. package/templates/themes/basicHiddenHTML/listbox.ejs +8 -8
  278. package/templates/themes/basicHiddenHTML/push-button.ejs +26 -26
  279. package/templates/themes/basicHiddenHTML/radio.ejs +17 -17
  280. package/templates/themes/basicHiddenHTML/tab.ejs +13 -13
  281. package/templates/themes/basicHiddenHTML/table.ejs +18 -18
  282. package/templates/themes/basicHiddenHTML/tabpage.ejs +2 -2
  283. package/templates/themes/container.ejs +26 -26
  284. package/templates/themes/control.ejs +52 -52
  285. package/templates/themes/editTypeSelector.ejs +1 -1
  286. package/templates/themes/material/Code/theme.module.ts +68 -68
  287. package/templates/themes/material/base_attributes_date.ejs +8 -8
  288. package/templates/themes/material/checkbox.ejs +1 -1
  289. package/templates/themes/material/combobox.ejs +43 -43
  290. package/templates/themes/material/edit.ejs +204 -204
  291. package/templates/themes/material/group.ejs +3 -3
  292. package/templates/themes/material/listbox.ejs +22 -23
  293. package/templates/themes/material/push-button.ejs +28 -28
  294. package/templates/themes/material/radio.ejs +22 -22
  295. package/templates/themes/material/subform.ejs +8 -8
  296. package/templates/themes/material/tab.ejs +19 -19
  297. package/templates/themes/router_outlet.ejs +5 -5
  298. package/templates/themes/table/HTMLTable/columnHeader.ejs +3 -1
  299. package/templates/themes/table/HTMLTable/table.ejs +37 -37
  300. package/templates/themes/table/grid/additionalComponentCode.ejs +26 -26
  301. package/templates/themes/table/grid/additionalIncludes.ejs +1 -1
  302. package/templates/themes/table/grid/column.ejs +3 -1
  303. package/templates/themes/table/grid/table.ejs +37 -37
  304. package/templates/themes/table/repeatable/column.ejs +11 -11
  305. package/templates/themes/table/repeatable/table.ejs +28 -28
  306. package/templates/themes/tableTypeSelector.ejs +21 -21
  307. package/tsconfig.json +36 -36
@@ -1,297 +1,296 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addRouteFileToModuleFile = exports.createRoute = exports.checkAndCreateRouteForModule = exports.generateWebModules = exports.generateWebModule = exports.checkAndCreateModule = exports.getDestinationModulePathByWebModuleName = exports.updateWebModuleFileWithNewClassName = exports.overwriteWebModuleFileName = exports.initGenModules = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const env_1 = require("../env");
6
- const Util_1 = require("../Util");
7
- const ast_1 = require("../../utils/ast");
8
- const env_interface_1 = require("../../../types/interfaces/env.interface");
9
- //-------------------------------------------------------------------------------------------------
10
- // init generate module into env.modulesGen
11
- //-------------------------------------------------------------------------------------------------
12
- function initGenModules(options, generateViaCLI = false) {
13
- return (tree, context) => {
14
- let metadata = env_1.env.metadata;
15
- let programList = env_1.env.programList;
16
- env_1.env.modulesGen = [];
17
- let web_modules = metadata.config.web_modules;
18
- if (generateViaCLI) {
19
- let programListString = JSON.stringify(programList.programListContents);
20
- // Validate whether the component is valid
21
- if (programListString.includes(options.component)) {
22
- let moduleInfo = new env_interface_1.ModuleInfo(options.module, options.loadOnDemand);
23
- env_1.env.modulesGen.push(moduleInfo);
24
- }
25
- else {
26
- (0, Util_1.LogLn)(`Invalid component ${options.component} to generate.`);
27
- }
28
- }
29
- else {
30
- // Generate only one module from --module=xxxx
31
- if (options.module) {
32
- let moduleInfo = new env_interface_1.ModuleInfo(options.module, options.loadOnDemand);
33
- env_1.env.modulesGen.push(moduleInfo);
34
- }
35
- else {
36
- // Generate list of components from config.json, properties web_modules.module_name
37
- for (let modulePath of web_modules) {
38
- //LogLn(` Web Module name: [${modulePath.module_name}] IsLoadOnDemand? [${modulePath.load_on_demand}]`);
39
- let moduleInfo = new env_interface_1.ModuleInfo(modulePath.module_name, modulePath.load_on_demand);
40
- env_1.env.modulesGen.push(moduleInfo);
41
- }
42
- }
43
- }
44
- if (!generateViaCLI)
45
- (0, Util_1.LogLn)(` Number of modules to be check for generate: ${web_modules.length}`);
46
- return tree;
47
- };
48
- }
49
- exports.initGenModules = initGenModules;
50
- //-------------------------------------------------------------------------------------------------
51
- // overwrite the web module file name with the new content
52
- //-------------------------------------------------------------------------------------------------
53
- function overwriteWebModuleFileName(options, moduleNameFileName, content) {
54
- return (tree, _context) => {
55
- if (!tree.exists(moduleNameFileName)) {
56
- (0, Util_1.LogLn)(` [>Error] File cannot be overwrite, The file is not exist !!! : ${moduleNameFileName}`);
57
- }
58
- tree.overwrite(moduleNameFileName, content);
59
- return tree;
60
- };
61
- }
62
- exports.overwriteWebModuleFileName = overwriteWebModuleFileName;
63
- //-------------------------------------------------------------------------------------------------
64
- // update the the web module file name with the new class name
65
- //-------------------------------------------------------------------------------------------------
66
- function updateWebModuleFileWithNewClassName(options, webModuleName) {
67
- return (tree, context) => {
68
- let rules = [];
69
- const origModuleFileName = getWebModuleFullFileName(webModuleName);
70
- // create new class name for "web Module Name"
71
- let newClassModuleName = getWebModuleClass(webModuleName);
72
- //read the exist module file name
73
- const text = tree.read(origModuleFileName);
74
- if (text === null) {
75
- throw new schematics_1.SchematicsException(`File ${origModuleFileName} does not exist.`);
76
- }
77
- let sourceText = text.toString('utf-8');
78
- if (sourceText !== "") {
79
- let newsourceText = sourceText.replace(`MagicGenLibModule`, newClassModuleName);
80
- rules.push(overwriteWebModuleFileName(options, origModuleFileName, newsourceText));
81
- }
82
- return (0, schematics_1.chain)(rules)(tree, context);
83
- };
84
- }
85
- exports.updateWebModuleFileWithNewClassName = updateWebModuleFileWithNewClassName;
86
- //-------------------------------------------------------------------------------------------------
87
- // copy the two default files into the web module path
88
- //-------------------------------------------------------------------------------------------------
89
- function copyDefaultMagicFilesToWebModule(options, webModuleName) {
90
- return (tree, context) => {
91
- const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);
92
- return (0, schematics_1.chain)([
93
- (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
94
- (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./../mg-add/files/src/app/magic/`), [
95
- (0, schematics_1.move)(webModulePath)
96
- ]), schematics_1.MergeStrategy.AllowCreationConflict)
97
- ]))
98
- ])(tree, context);
99
- };
100
- }
101
- //-------------------------------------------------------------------------------------------------
102
- // delete LazyLoadService for non root modules
103
- //-------------------------------------------------------------------------------------------------
104
- function deleteLazyLoadService(webModuleName) {
105
- return (tree) => {
106
- const lazyLoaderServicePath = getDestinationModulePathByWebModuleName(webModuleName) + '/lazy-loader.service.ts';
107
- if (webModuleName != '') {
108
- if (!tree.exists(lazyLoaderServicePath)) {
109
- (0, Util_1.LogLn)(` [>Error] File cannot be overwrite, The file is not exist !!! :lazyLoaderServicePath`);
110
- }
111
- tree.delete(lazyLoaderServicePath);
112
- return tree;
113
- }
114
- };
115
- }
116
- //-------------------------------------------------------------------------------------------------
117
- // get destination path according to the send webModuleName
118
- //-------------------------------------------------------------------------------------------------
119
- function getDestinationModulePathByWebModuleName(webModuleName) {
120
- const newDestModulePath = `${env_1.env.metadata.paths.rootMagicGenFolder}/${env_1.GEN_FOLDER}/${webModuleName}`;
121
- return newDestModulePath;
122
- }
123
- exports.getDestinationModulePathByWebModuleName = getDestinationModulePathByWebModuleName;
124
- //-------------------------------------------------------------------------------------------------
125
- // get web module full file name according to the send webModuleName
126
- //-------------------------------------------------------------------------------------------------
127
- function getWebModuleFullFileName(webModuleName) {
128
- // calc the path of new the module
129
- const newDestModulePath = getDestinationModulePathByWebModuleName(webModuleName);
130
- return `${newDestModulePath}/magic.gen.lib.module.ts`;
131
- }
132
- //-------------------------------------------------------------------------------------------------
133
- // get web module class according to the send webModuleName
134
- //-------------------------------------------------------------------------------------------------
135
- function getWebModuleClass(webModuleName) {
136
- return `Magic` + webModuleName + `Module`;
137
- }
138
- //-------------------------------------------------------------------------------------------------
139
- // add magic module to app module
140
- //-------------------------------------------------------------------------------------------------
141
- function addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName) {
142
- return (tree, context) => {
143
- const project = env_1.env.project;
144
- (0, Util_1.LogLn)(` [>] add New Web Module :[${moduleName}] `);
145
- (0, Util_1.LogLn)(` [>] from :[${srcModuleName}]`);
146
- (0, Util_1.LogLn)(` [>] To App Module :[${modulePath}]`);
147
- (0, ast_1.addModuleImportToModule)(tree, modulePath, // for now we will update env.metadata.paths.magicGenLibModule
148
- moduleName, // 'MagicXXXModule',
149
- srcModuleName);
150
- return tree;
151
- };
152
- }
153
- //-------------------------------------------------------------------------------------------------
154
- // create module
155
- //-------------------------------------------------------------------------------------------------
156
- function checkAndCreateModule(options, webModuleName, loadOnDemand) {
157
- return (tree, context) => {
158
- let rules = [];
159
- const webModuleFullFileName = getWebModuleFullFileName(webModuleName);
160
- // only if not exist create the new 2 files magic.gen.lib.module.ts & component-list.g.ts
161
- if (!tree.exists(webModuleFullFileName)) {
162
- rules.push(copyDefaultMagicFilesToWebModule(options, webModuleName));
163
- rules.push(updateWebModuleFileWithNewClassName(tree, webModuleName));
164
- rules.push(deleteLazyLoadService(webModuleName));
165
- // for NON load on demand we need to update magic root module
166
- if (!loadOnDemand) {
167
- const newDestModulePath = `./${webModuleName}/magic.gen.lib.module`;
168
- const webModuleClass = getWebModuleClass(webModuleName);
169
- rules.push(addMagicModuleToAppModule(options, env_1.env.metadata.paths.magicGenLibModule, webModuleClass, newDestModulePath));
170
- }
171
- return (0, schematics_1.chain)(rules)(tree, context);
172
- }
173
- ;
174
- };
175
- }
176
- exports.checkAndCreateModule = checkAndCreateModule;
177
- //-------------------------------------------------------------------------------------------------
178
- // check if module is exist, only if not exist create the web module
179
- //-------------------------------------------------------------------------------------------------
180
- function generateWebModule(options, webModuleName, loadOnDemand) {
181
- return (tree, context) => {
182
- let rules = [];
183
- (0, Util_1.LogLn)(` [>]Handling Web Module named: [${webModuleName}] isLoadOnDemand: [${loadOnDemand}]`);
184
- rules.push(checkAndCreateModule(options, webModuleName, loadOnDemand));
185
- rules.push(checkAndCreateRouteForModule(options, webModuleName, loadOnDemand));
186
- return (0, schematics_1.chain)(rules)(tree, context);
187
- };
188
- }
189
- exports.generateWebModule = generateWebModule;
190
- //-------------------------------------------------------------------------------------------------
191
- // generate all the modules in env.modulesGen
192
- //-------------------------------------------------------------------------------------------------
193
- function generateWebModules(options, generateViaCLI = false) {
194
- return (tree, context) => {
195
- let rules = [];
196
- for (let webModuleInfo of env_1.env.modulesGen) {
197
- if (webModuleInfo.moduleName !== undefined && webModuleInfo.moduleName !== "") {
198
- if (generateViaCLI) {
199
- if (webModuleInfo.moduleName === options.module) {
200
- rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));
201
- }
202
- }
203
- else {
204
- rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));
205
- }
206
- }
207
- }
208
- return (0, schematics_1.chain)(rules)(tree, context);
209
- };
210
- }
211
- exports.generateWebModules = generateWebModules;
212
- //-------------------------------------------------------------------------------------------------
213
- // check if module is exist, only if not exist create the web module
214
- //-------------------------------------------------------------------------------------------------
215
- function checkAndCreateRouteForModule(options, webModuleName, loadOnDemand) {
216
- return (tree, context) => {
217
- let rules = [];
218
- if (loadOnDemand) {
219
- const newDestRoutePathForModule = env_1.env.metadata.paths.getRoutePathForWebModule(webModuleName);
220
- // only if file not exist then copy the default route
221
- if (!tree.exists(newDestRoutePathForModule)) {
222
- rules.push(createRoute(options, webModuleName));
223
- }
224
- else {
225
- // if file exist then only update the magic.gen.lib.module.ts
226
- rules.push(addRouteFileToModuleFile(options, webModuleName));
227
- }
228
- }
229
- return (0, schematics_1.chain)(rules)(tree, context);
230
- };
231
- }
232
- exports.checkAndCreateRouteForModule = checkAndCreateRouteForModule;
233
- //-------------------------------------------------------------------------------------------------
234
- // create route for module
235
- //-------------------------------------------------------------------------------------------------
236
- function createRoute(options, webModuleName) {
237
- return (tree, context) => {
238
- let rules = [];
239
- rules.push(copyDefaultRouteMagicFilesToWebModule(options, webModuleName));
240
- // --------------------------------------------------------
241
- // // generate the route for module /////
242
- // let routeItem : RouteTable = new RouteTable();
243
- // routeItem.module_name = webModuleName;
244
- //
245
- // let route:Route = new Route();
246
- // route.ModuleName = webModuleName;
247
- // route.OutletName="";
248
- // route.RouteName="";
249
- // route.children=null;
250
- //
251
- // routeItem.routesArray = [route];
252
- // rules.push(genRouteFile(options, routeItem ));
253
- // --------------------------------------------------------
254
- // update the new MagicRoutingModule in file magic.gen.lib.module.ts of the module
255
- rules.push(addRouteFileToModuleFile(options, webModuleName));
256
- return (0, schematics_1.chain)(rules)(tree, context);
257
- };
258
- }
259
- exports.createRoute = createRoute;
260
- //-------------------------------------------------------------------------------------------------
261
- // create route for module
262
- //-------------------------------------------------------------------------------------------------
263
- function addRouteFileToModuleFile(options, webModuleName) {
264
- return (tree, context) => {
265
- let rules = [];
266
- const modulePath = getWebModuleFullFileName(webModuleName); // get the magic.gen.lib.module.ts according to the module name
267
- const moduleName = `MagicRoutingModule`; //for now it will be the same for all modules ... getWebModuleClass(webModuleName);
268
- const srcModuleName = `./app.routes`;
269
- rules.push(addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName));
270
- return (0, schematics_1.chain)(rules)(tree, context);
271
- };
272
- }
273
- exports.addRouteFileToModuleFile = addRouteFileToModuleFile;
274
- //-------------------------------------------------------------------------------------------------
275
- // copy the two default files into the web module path
276
- //-------------------------------------------------------------------------------------------------
277
- function copyDefaultRouteMagicFilesToWebModule(options, webModuleName) {
278
- return (tree, context) => {
279
- const routeFileForWebModulePath = env_1.env.metadata.paths.getRoutePathForWebModule(webModuleName);
280
- if (tree.exists(routeFileForWebModulePath)) {
281
- let rules = [];
282
- return (0, schematics_1.chain)(rules)(tree, context);
283
- }
284
- else {
285
- const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);
286
- (0, Util_1.LogLn)(`[ >] copy default Route file to webModule [${webModuleName}]`);
287
- return (0, schematics_1.chain)([
288
- (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
289
- (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./../mg-add/webModule/`), [
290
- (0, schematics_1.move)(webModulePath)
291
- ]), schematics_1.MergeStrategy.AllowCreationConflict)
292
- ]))
293
- ])(tree, context);
294
- }
295
- };
296
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initGenModules = initGenModules;
4
+ exports.overwriteWebModuleFileName = overwriteWebModuleFileName;
5
+ exports.updateWebModuleFileWithNewClassName = updateWebModuleFileWithNewClassName;
6
+ exports.getDestinationModulePathByWebModuleName = getDestinationModulePathByWebModuleName;
7
+ exports.checkAndCreateModule = checkAndCreateModule;
8
+ exports.generateWebModule = generateWebModule;
9
+ exports.generateWebModules = generateWebModules;
10
+ exports.checkAndCreateRouteForModule = checkAndCreateRouteForModule;
11
+ exports.createRoute = createRoute;
12
+ exports.addRouteFileToModuleFile = addRouteFileToModuleFile;
13
+ const schematics_1 = require("@angular-devkit/schematics");
14
+ const env_1 = require("../env");
15
+ const Util_1 = require("../Util");
16
+ const ast_1 = require("../../utils/ast");
17
+ const env_interface_1 = require("../../../types/interfaces/env.interface");
18
+ //-------------------------------------------------------------------------------------------------
19
+ // init generate module into env.modulesGen
20
+ //-------------------------------------------------------------------------------------------------
21
+ function initGenModules(options, generateViaCLI = false) {
22
+ return (tree, context) => {
23
+ let metadata = env_1.env.metadata;
24
+ let programList = env_1.env.programList;
25
+ env_1.env.modulesGen = [];
26
+ let web_modules = metadata.config.web_modules;
27
+ if (generateViaCLI) {
28
+ let programListString = JSON.stringify(programList.programListContents);
29
+ // Validate whether the component is valid
30
+ if (programListString.includes(options.component)) {
31
+ let moduleInfo = new env_interface_1.ModuleInfo(options.module, options.loadOnDemand);
32
+ env_1.env.modulesGen.push(moduleInfo);
33
+ }
34
+ else {
35
+ (0, Util_1.LogLn)(`Invalid component ${options.component} to generate.`);
36
+ }
37
+ }
38
+ else {
39
+ // Generate only one module from --module=xxxx
40
+ if (options.module) {
41
+ let moduleInfo = new env_interface_1.ModuleInfo(options.module, options.loadOnDemand);
42
+ env_1.env.modulesGen.push(moduleInfo);
43
+ }
44
+ else {
45
+ // Generate list of components from config.json, properties web_modules.module_name
46
+ for (let modulePath of web_modules) {
47
+ //LogLn(` Web Module name: [${modulePath.module_name}] IsLoadOnDemand? [${modulePath.load_on_demand}]`);
48
+ let moduleInfo = new env_interface_1.ModuleInfo(modulePath.module_name, modulePath.load_on_demand);
49
+ env_1.env.modulesGen.push(moduleInfo);
50
+ }
51
+ }
52
+ }
53
+ if (!generateViaCLI)
54
+ (0, Util_1.LogLn)(` Number of modules to be check for generate: ${web_modules.length}`);
55
+ return tree;
56
+ };
57
+ }
58
+ //-------------------------------------------------------------------------------------------------
59
+ // overwrite the web module file name with the new content
60
+ //-------------------------------------------------------------------------------------------------
61
+ function overwriteWebModuleFileName(options, moduleNameFileName, content) {
62
+ return (tree, _context) => {
63
+ if (!tree.exists(moduleNameFileName)) {
64
+ (0, Util_1.LogLn)(` [>Error] File cannot be overwrite, The file is not exist !!! : ${moduleNameFileName}`);
65
+ }
66
+ tree.overwrite(moduleNameFileName, content);
67
+ return tree;
68
+ };
69
+ }
70
+ //-------------------------------------------------------------------------------------------------
71
+ // update the the web module file name with the new class name
72
+ //-------------------------------------------------------------------------------------------------
73
+ function updateWebModuleFileWithNewClassName(options, webModuleName) {
74
+ return (tree, context) => {
75
+ let rules = [];
76
+ const origModuleFileName = getWebModuleFullFileName(webModuleName);
77
+ // create new class name for "web Module Name"
78
+ let newClassModuleName = getWebModuleClass(webModuleName);
79
+ //read the exist module file name
80
+ const text = tree.read(origModuleFileName);
81
+ if (text === null) {
82
+ throw new schematics_1.SchematicsException(`File ${origModuleFileName} does not exist.`);
83
+ }
84
+ let sourceText = text.toString('utf-8');
85
+ if (sourceText !== "") {
86
+ let newsourceText = sourceText.replace(`MagicGenLibModule`, newClassModuleName);
87
+ rules.push(overwriteWebModuleFileName(options, origModuleFileName, newsourceText));
88
+ }
89
+ return (0, schematics_1.chain)(rules)(tree, context);
90
+ };
91
+ }
92
+ //-------------------------------------------------------------------------------------------------
93
+ // copy the two default files into the web module path
94
+ //-------------------------------------------------------------------------------------------------
95
+ function copyDefaultMagicFilesToWebModule(options, webModuleName) {
96
+ return (tree, context) => {
97
+ const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);
98
+ return (0, schematics_1.chain)([
99
+ (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
100
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./../mg-add/files/src/app/magic/`), [
101
+ (0, schematics_1.move)(webModulePath)
102
+ ]), schematics_1.MergeStrategy.AllowCreationConflict)
103
+ ]))
104
+ ])(tree, context);
105
+ };
106
+ }
107
+ //-------------------------------------------------------------------------------------------------
108
+ // delete LazyLoadService for non root modules
109
+ //-------------------------------------------------------------------------------------------------
110
+ function deleteLazyLoadService(webModuleName) {
111
+ return (tree) => {
112
+ const lazyLoaderServicePath = getDestinationModulePathByWebModuleName(webModuleName) + '/lazy-loader.service.ts';
113
+ if (webModuleName != '') {
114
+ if (!tree.exists(lazyLoaderServicePath)) {
115
+ (0, Util_1.LogLn)(` [>Error] File cannot be overwrite, The file is not exist !!! :lazyLoaderServicePath`);
116
+ }
117
+ tree.delete(lazyLoaderServicePath);
118
+ return tree;
119
+ }
120
+ };
121
+ }
122
+ //-------------------------------------------------------------------------------------------------
123
+ // get destination path according to the send webModuleName
124
+ //-------------------------------------------------------------------------------------------------
125
+ function getDestinationModulePathByWebModuleName(webModuleName) {
126
+ const newDestModulePath = `${env_1.env.metadata.paths.rootMagicGenFolder}/${env_1.GEN_FOLDER}/${webModuleName}`;
127
+ return newDestModulePath;
128
+ }
129
+ //-------------------------------------------------------------------------------------------------
130
+ // get web module full file name according to the send webModuleName
131
+ //-------------------------------------------------------------------------------------------------
132
+ function getWebModuleFullFileName(webModuleName) {
133
+ // calc the path of new the module
134
+ const newDestModulePath = getDestinationModulePathByWebModuleName(webModuleName);
135
+ return `${newDestModulePath}/magic.gen.lib.module.ts`;
136
+ }
137
+ //-------------------------------------------------------------------------------------------------
138
+ // get web module class according to the send webModuleName
139
+ //-------------------------------------------------------------------------------------------------
140
+ function getWebModuleClass(webModuleName) {
141
+ return `Magic` + webModuleName + `Module`;
142
+ }
143
+ //-------------------------------------------------------------------------------------------------
144
+ // add magic module to app module
145
+ //-------------------------------------------------------------------------------------------------
146
+ function addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName) {
147
+ return (tree, context) => {
148
+ const project = env_1.env.project;
149
+ (0, Util_1.LogLn)(` [>] add New Web Module :[${moduleName}] `);
150
+ (0, Util_1.LogLn)(` [>] from :[${srcModuleName}]`);
151
+ (0, Util_1.LogLn)(` [>] To App Module :[${modulePath}]`);
152
+ (0, ast_1.addModuleImportToModule)(tree, modulePath, // for now we will update env.metadata.paths.magicGenLibModule
153
+ moduleName, // 'MagicXXXModule',
154
+ srcModuleName);
155
+ return tree;
156
+ };
157
+ }
158
+ //-------------------------------------------------------------------------------------------------
159
+ // create module
160
+ //-------------------------------------------------------------------------------------------------
161
+ function checkAndCreateModule(options, webModuleName, loadOnDemand) {
162
+ return (tree, context) => {
163
+ let rules = [];
164
+ const webModuleFullFileName = getWebModuleFullFileName(webModuleName);
165
+ // only if not exist create the new 2 files magic.gen.lib.module.ts & component-list.g.ts
166
+ if (!tree.exists(webModuleFullFileName)) {
167
+ rules.push(copyDefaultMagicFilesToWebModule(options, webModuleName));
168
+ rules.push(updateWebModuleFileWithNewClassName(tree, webModuleName));
169
+ rules.push(deleteLazyLoadService(webModuleName));
170
+ // for NON load on demand we need to update magic root module
171
+ if (!loadOnDemand) {
172
+ const newDestModulePath = `./${webModuleName}/magic.gen.lib.module`;
173
+ const webModuleClass = getWebModuleClass(webModuleName);
174
+ rules.push(addMagicModuleToAppModule(options, env_1.env.metadata.paths.magicGenLibModule, webModuleClass, newDestModulePath));
175
+ }
176
+ return (0, schematics_1.chain)(rules)(tree, context);
177
+ }
178
+ ;
179
+ };
180
+ }
181
+ //-------------------------------------------------------------------------------------------------
182
+ // check if module is exist, only if not exist create the web module
183
+ //-------------------------------------------------------------------------------------------------
184
+ function generateWebModule(options, webModuleName, loadOnDemand) {
185
+ return (tree, context) => {
186
+ let rules = [];
187
+ (0, Util_1.LogLn)(` [>]Handling Web Module named: [${webModuleName}] isLoadOnDemand: [${loadOnDemand}]`);
188
+ rules.push(checkAndCreateModule(options, webModuleName, loadOnDemand));
189
+ rules.push(checkAndCreateRouteForModule(options, webModuleName, loadOnDemand));
190
+ return (0, schematics_1.chain)(rules)(tree, context);
191
+ };
192
+ }
193
+ //-------------------------------------------------------------------------------------------------
194
+ // generate all the modules in env.modulesGen
195
+ //-------------------------------------------------------------------------------------------------
196
+ function generateWebModules(options, generateViaCLI = false) {
197
+ return (tree, context) => {
198
+ let rules = [];
199
+ for (let webModuleInfo of env_1.env.modulesGen) {
200
+ if (webModuleInfo.moduleName !== undefined && webModuleInfo.moduleName !== "") {
201
+ if (generateViaCLI) {
202
+ if (webModuleInfo.moduleName === options.module) {
203
+ rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));
204
+ }
205
+ }
206
+ else {
207
+ rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));
208
+ }
209
+ }
210
+ }
211
+ return (0, schematics_1.chain)(rules)(tree, context);
212
+ };
213
+ }
214
+ //-------------------------------------------------------------------------------------------------
215
+ // check if module is exist, only if not exist create the web module
216
+ //-------------------------------------------------------------------------------------------------
217
+ function checkAndCreateRouteForModule(options, webModuleName, loadOnDemand) {
218
+ return (tree, context) => {
219
+ let rules = [];
220
+ if (loadOnDemand) {
221
+ const newDestRoutePathForModule = env_1.env.metadata.paths.getRoutePathForWebModule(webModuleName);
222
+ // only if file not exist then copy the default route
223
+ if (!tree.exists(newDestRoutePathForModule)) {
224
+ rules.push(createRoute(options, webModuleName));
225
+ }
226
+ else {
227
+ // if file exist then only update the magic.gen.lib.module.ts
228
+ rules.push(addRouteFileToModuleFile(options, webModuleName));
229
+ }
230
+ }
231
+ return (0, schematics_1.chain)(rules)(tree, context);
232
+ };
233
+ }
234
+ //-------------------------------------------------------------------------------------------------
235
+ // create route for module
236
+ //-------------------------------------------------------------------------------------------------
237
+ function createRoute(options, webModuleName) {
238
+ return (tree, context) => {
239
+ let rules = [];
240
+ rules.push(copyDefaultRouteMagicFilesToWebModule(options, webModuleName));
241
+ // --------------------------------------------------------
242
+ // // generate the route for module /////
243
+ // let routeItem : RouteTable = new RouteTable();
244
+ // routeItem.module_name = webModuleName;
245
+ //
246
+ // let route:Route = new Route();
247
+ // route.ModuleName = webModuleName;
248
+ // route.OutletName="";
249
+ // route.RouteName="";
250
+ // route.children=null;
251
+ //
252
+ // routeItem.routesArray = [route];
253
+ // rules.push(genRouteFile(options, routeItem ));
254
+ // --------------------------------------------------------
255
+ // update the new MagicRoutingModule in file magic.gen.lib.module.ts of the module
256
+ rules.push(addRouteFileToModuleFile(options, webModuleName));
257
+ return (0, schematics_1.chain)(rules)(tree, context);
258
+ };
259
+ }
260
+ //-------------------------------------------------------------------------------------------------
261
+ // create route for module
262
+ //-------------------------------------------------------------------------------------------------
263
+ function addRouteFileToModuleFile(options, webModuleName) {
264
+ return (tree, context) => {
265
+ let rules = [];
266
+ const modulePath = getWebModuleFullFileName(webModuleName); // get the magic.gen.lib.module.ts according to the module name
267
+ const moduleName = `MagicRoutingModule`; //for now it will be the same for all modules ... getWebModuleClass(webModuleName);
268
+ const srcModuleName = `./app.routes`;
269
+ rules.push(addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName));
270
+ return (0, schematics_1.chain)(rules)(tree, context);
271
+ };
272
+ }
273
+ //-------------------------------------------------------------------------------------------------
274
+ // copy the two default files into the web module path
275
+ //-------------------------------------------------------------------------------------------------
276
+ function copyDefaultRouteMagicFilesToWebModule(options, webModuleName) {
277
+ return (tree, context) => {
278
+ const routeFileForWebModulePath = env_1.env.metadata.paths.getRoutePathForWebModule(webModuleName);
279
+ if (tree.exists(routeFileForWebModulePath)) {
280
+ let rules = [];
281
+ return (0, schematics_1.chain)(rules)(tree, context);
282
+ }
283
+ else {
284
+ const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);
285
+ (0, Util_1.LogLn)(`[ >] copy default Route file to webModule [${webModuleName}]`);
286
+ return (0, schematics_1.chain)([
287
+ (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
288
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(`./../mg-add/webModule/`), [
289
+ (0, schematics_1.move)(webModulePath)
290
+ ]), schematics_1.MergeStrategy.AllowCreationConflict)
291
+ ]))
292
+ ])(tree, context);
293
+ }
294
+ };
295
+ }
297
296
  //# sourceMappingURL=init-add-modules.rule.js.map