@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,159 +1,159 @@
1
- import { SchematicContext, Tree } from "@angular-devkit/schematics";
2
- import { AppConfig, ComponentId, Route, RouteTable } from "../../types/interfaces/app";
3
- import { MagicOptionScheme } from "./rules/magic-option.scheme";
4
- import { Project } from "../utils/devkit-utils/config";
5
- import { env, GEN_FOLDER, METADATA_DIR } from "./env";
6
- import { Manifest } from "./manifest";
7
- import { getProject, readJson } from "./utils";
8
-
9
-
10
- export class MagicPaths {
11
-
12
- // return the current module path
13
- // for example : for module "WebModule1" it returns 'src/app/magic/WebModule1'
14
- currentModulePath(module_name:string) {
15
- if (module_name !== "") {
16
- return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;
17
- }
18
-
19
- return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;
20
-
21
-
22
- }
23
-
24
- // return the destanation path for create the component
25
- // for example : for module "WebModule1" component "WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'
26
- getDestPathForComponent(module_name:string, componentPath:string) {
27
- return `${this.currentModulePath(module_name)}/${componentPath}`;
28
- }
29
-
30
- getJsonPathForComponent(cmpJsonPath:string) {
31
- return `${this.metadataFolderPath}/${cmpJsonPath}.json`;
32
- }
33
-
34
- getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {
35
- let relativePathForComponentInModule = `${cmpJsonPath}`;
36
- if (module_name !== "")
37
- relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;
38
-
39
- return relativePathForComponentInModule;
40
- }
41
-
42
- getRoutePathForWebModule(module_name:string) {
43
-
44
- if (module_name == "")
45
- return this.appRoutesPath;
46
-
47
- return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;
48
- }
49
- get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }
50
- get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}
51
- get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}
52
- get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}
53
- get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}
54
- get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}
55
- get angularJsonPath(){ return `./angular.json`}
56
- get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}
57
-
58
- // get the relative path of module to be used in LazyLoadMap
59
- magicGenLibModulePath (moduleName){
60
-
61
- let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';
62
- let modulepath = rootPath+`src/app/${GEN_FOLDER}`;
63
- if (moduleName !== "") {
64
- return `${modulepath}/${moduleName}/magic.gen.lib.module`;
65
- }
66
- return `${modulepath}/magic.gen.lib.module`;
67
- }
68
-
69
- // Files under gen folder
70
- get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}
71
-
72
- componentListPathForCurrentModuleName (module_name:string):string{
73
- return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`
74
- }
75
- componentListPath (module_name:string):string{
76
-
77
- if (module_name !== ""){
78
- return this.componentListPathForCurrentModuleName(module_name);
79
- }
80
- return this.rootMagicComponentListPath;
81
- }
82
-
83
- get rootMagicComponentListPath (){
84
-
85
- return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`
86
- }
87
-
88
- get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}
89
-
90
- get favIconPath(){ return `./${this.project.root}/src/favicon.ico`; }
91
-
92
- get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }
93
- get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }
94
- get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }
95
- get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }
96
- get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }
97
-
98
- constructor(protected project:Project){
99
- }
100
- }
101
-
102
-
103
- export class MagicMetadata {
104
-
105
- private _config: AppConfig;
106
- private _routesTable: RouteTable[];
107
- private _programListContents: any;
108
-
109
- paths: MagicPaths;
110
-
111
- get theme() {
112
- if (!this.options.theme) {
113
- this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';
114
- }
115
- return this.options.theme;
116
- }
117
-
118
- get allow_testing() {
119
- if (!this.options.allowTesting) {
120
- this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;
121
- }
122
- return this.options.allowTesting;
123
- }
124
- get config() {
125
- if (this._config) return this._config;
126
- return this.loadConfig();
127
- }
128
-
129
- get programListContents(){
130
- if(this._programListContents) return this._programListContents;
131
- return this.loadProgramList();
132
- }
133
-
134
- get routesTable(){
135
- if (this._routesTable) return this._routesTable;
136
- return this.loadRoutes();
137
- }
138
-
139
- constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {
140
- this.paths = new MagicPaths(getProject(host, options.project));
141
- }
142
-
143
- loadConfig() {
144
- this._config = readJson(this.host, this.paths.configPath);
145
- return this._config;
146
- }
147
-
148
- loadProgramList(){
149
- this._programListContents = readJson(this.host, this.paths.programListPath);
150
- return this._programListContents;
151
- }
152
-
153
- loadRoutes() {
154
- this._routesTable = readJson(this.host, this.paths.routesPath);
155
- return this._routesTable;
156
- }
157
- }
158
-
159
-
1
+ import { SchematicContext, Tree } from "@angular-devkit/schematics";
2
+ import { AppConfig, ComponentId, Route, RouteTable } from "../../types/interfaces/app";
3
+ import { MagicOptionScheme } from "./rules/magic-option.scheme";
4
+ import { Project } from "../utils/devkit-utils/config";
5
+ import { env, GEN_FOLDER, METADATA_DIR } from "./env";
6
+ import { Manifest } from "./manifest";
7
+ import { getProject, readJson } from "./utils";
8
+
9
+
10
+ export class MagicPaths {
11
+
12
+ // return the current module path
13
+ // for example : for module "WebModule1" it returns 'src/app/magic/WebModule1'
14
+ currentModulePath(module_name:string) {
15
+ if (module_name !== "") {
16
+ return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;
17
+ }
18
+
19
+ return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;
20
+
21
+
22
+ }
23
+
24
+ // return the destanation path for create the component
25
+ // for example : for module "WebModule1" component "WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'
26
+ getDestPathForComponent(module_name:string, componentPath:string) {
27
+ return `${this.currentModulePath(module_name)}/${componentPath}`;
28
+ }
29
+
30
+ getJsonPathForComponent(cmpJsonPath:string) {
31
+ return `${this.metadataFolderPath}/${cmpJsonPath}.json`;
32
+ }
33
+
34
+ getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {
35
+ let relativePathForComponentInModule = `${cmpJsonPath}`;
36
+ if (module_name !== "")
37
+ relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;
38
+
39
+ return relativePathForComponentInModule;
40
+ }
41
+
42
+ getRoutePathForWebModule(module_name:string) {
43
+
44
+ if (module_name == "")
45
+ return this.appRoutesPath;
46
+
47
+ return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;
48
+ }
49
+ get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }
50
+ get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}
51
+ get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}
52
+ get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}
53
+ get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}
54
+ get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}
55
+ get angularJsonPath(){ return `./angular.json`}
56
+ get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}
57
+
58
+ // get the relative path of module to be used in LazyLoadMap
59
+ magicGenLibModulePath (moduleName){
60
+
61
+ let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';
62
+ let modulepath = rootPath+`src/app/${GEN_FOLDER}`;
63
+ if (moduleName !== "") {
64
+ return `${modulepath}/${moduleName}/magic.gen.lib.module`;
65
+ }
66
+ return `${modulepath}/magic.gen.lib.module`;
67
+ }
68
+
69
+ // Files under gen folder
70
+ get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}
71
+
72
+ componentListPathForCurrentModuleName (module_name:string):string{
73
+ return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`
74
+ }
75
+ componentListPath (module_name:string):string{
76
+
77
+ if (module_name !== ""){
78
+ return this.componentListPathForCurrentModuleName(module_name);
79
+ }
80
+ return this.rootMagicComponentListPath;
81
+ }
82
+
83
+ get rootMagicComponentListPath (){
84
+
85
+ return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`
86
+ }
87
+
88
+ get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}
89
+
90
+ get favIconPath(){ return `./${this.project.root}/src/favicon.ico`; }
91
+
92
+ get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }
93
+ get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }
94
+ get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }
95
+ get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }
96
+ get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }
97
+
98
+ constructor(protected project:Project){
99
+ }
100
+ }
101
+
102
+
103
+ export class MagicMetadata {
104
+
105
+ private _config: AppConfig;
106
+ private _routesTable: RouteTable[];
107
+ private _programListContents: any;
108
+
109
+ paths: MagicPaths;
110
+
111
+ get theme() {
112
+ if (!this.options.theme) {
113
+ this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';
114
+ }
115
+ return this.options.theme;
116
+ }
117
+
118
+ get allow_testing() {
119
+ if (!this.options.allowTesting) {
120
+ this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;
121
+ }
122
+ return this.options.allowTesting;
123
+ }
124
+ get config() {
125
+ if (this._config) return this._config;
126
+ return this.loadConfig();
127
+ }
128
+
129
+ get programListContents(){
130
+ if(this._programListContents) return this._programListContents;
131
+ return this.loadProgramList();
132
+ }
133
+
134
+ get routesTable(){
135
+ if (this._routesTable) return this._routesTable;
136
+ return this.loadRoutes();
137
+ }
138
+
139
+ constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {
140
+ this.paths = new MagicPaths(getProject(host, options.project));
141
+ }
142
+
143
+ loadConfig() {
144
+ this._config = readJson(this.host, this.paths.configPath);
145
+ return this._config;
146
+ }
147
+
148
+ loadProgramList(){
149
+ this._programListContents = readJson(this.host, this.paths.programListPath);
150
+ return this._programListContents;
151
+ }
152
+
153
+ loadRoutes() {
154
+ this._routesTable = readJson(this.host, this.paths.routesPath);
155
+ return this._routesTable;
156
+ }
157
+ }
158
+
159
+
@@ -1,2 +1,2 @@
1
- import { AppJson } from '../../types/index';
2
- export declare function processJson(appJson: AppJson): AppJson;
1
+ import { AppJson } from '../../types/index';
2
+ export declare function processJson(appJson: AppJson): AppJson;