@magic-xpa/cli 4.1201.0-dev4121.254 → 4.1201.0-dev4121.263

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 (183) hide show
  1. package/README.md +28 -28
  2. package/index.js.map +1 -1
  3. package/index.ts +1 -1
  4. package/package.json +1 -1
  5. package/src/collection.json +75 -75
  6. package/src/public_api.js.map +1 -1
  7. package/src/public_api.ts +5 -5
  8. package/src/schematics/magic-utils/config.js.map +1 -1
  9. package/src/schematics/magic-utils/config.ts +68 -68
  10. package/src/schematics/magic-utils/env.js.map +1 -1
  11. package/src/schematics/magic-utils/env.ts +50 -50
  12. package/src/schematics/magic-utils/manifest.js.map +1 -1
  13. package/src/schematics/magic-utils/manifest.ts +46 -46
  14. package/src/schematics/magic-utils/metadata.class.js.map +1 -1
  15. package/src/schematics/magic-utils/metadata.class.ts +159 -159
  16. package/src/schematics/magic-utils/rules/generate.rule.js.map +1 -1
  17. package/src/schematics/magic-utils/rules/generate.rule.ts +61 -61
  18. package/src/schematics/magic-utils/rules/init-add-modules.rule.js.map +1 -1
  19. package/src/schematics/magic-utils/rules/init-add-modules.rule.ts +360 -360
  20. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js.map +1 -1
  21. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.ts +19 -19
  22. package/src/schematics/magic-utils/rules/magic-option.scheme.js.map +1 -1
  23. package/src/schematics/magic-utils/rules/magic-option.scheme.ts +24 -24
  24. package/src/schematics/magic-utils/utils.js.map +1 -1
  25. package/src/schematics/magic-utils/utils.ts +134 -134
  26. package/src/schematics/mg-Install-prerequisites/index.js.map +1 -1
  27. package/src/schematics/mg-Install-prerequisites/index.ts +30 -30
  28. package/src/schematics/mg-Install-prerequisites/schema.json +14 -14
  29. package/src/schematics/mg-add/files/src/app/app.component.html +17 -17
  30. package/src/schematics/mg-add/files/src/app/app.routes.ts +14 -14
  31. package/src/schematics/mg-add/files/src/app/magic/component-list.g.ts +9 -9
  32. package/src/schematics/mg-add/files/src/magic-styles.css +131 -131
  33. package/src/schematics/mg-add/schema.json +29 -29
  34. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js.map +1 -1
  35. package/src/schematics/mg-add/utils/add-declaration-to-root-module.ts +12 -12
  36. package/src/schematics/mg-add/webModule/app.routes.ts +14 -14
  37. package/src/schematics/mg-add-tasks/index.js.map +1 -1
  38. package/src/schematics/mg-add-tasks/index.ts +53 -53
  39. package/src/schematics/mg-add-tasks/schema.json +41 -41
  40. package/src/schematics/mg-delete-files/index.js.map +1 -1
  41. package/src/schematics/mg-delete-files/index.ts +12 -12
  42. package/src/schematics/mg-delete-files/schema.json +14 -14
  43. package/src/schematics/mg-gen-module/index.js.map +1 -1
  44. package/src/schematics/mg-gen-module/index.ts +14 -14
  45. package/src/schematics/mg-gen-module/schema.json +24 -24
  46. package/src/schematics/mg-generate/index.js.map +1 -1
  47. package/src/schematics/mg-generate/index.ts +12 -12
  48. package/src/schematics/mg-generate/schema.json +34 -34
  49. package/src/schematics/mg-install/index.js.map +1 -1
  50. package/src/schematics/mg-install/index.ts +37 -37
  51. package/src/schematics/mg-install/schema.json +24 -24
  52. package/src/schematics/mg-routes/schema.json +14 -14
  53. package/src/schematics/mg-single-control/schema.json +24 -24
  54. package/src/schematics/utils/ast.js.map +1 -1
  55. package/src/schematics/utils/ast.ts +103 -103
  56. package/src/schematics/utils/devkit-utils/README.md +1 -1
  57. package/src/schematics/utils/devkit-utils/ast-utils.js.map +1 -1
  58. package/src/schematics/utils/devkit-utils/ast-utils.ts +570 -570
  59. package/src/schematics/utils/devkit-utils/ast-utils_old.js.map +1 -1
  60. package/src/schematics/utils/devkit-utils/ast-utils_old.ts +478 -478
  61. package/src/schematics/utils/devkit-utils/change.js.map +1 -1
  62. package/src/schematics/utils/devkit-utils/change.ts +127 -127
  63. package/src/schematics/utils/devkit-utils/component.js.map +1 -1
  64. package/src/schematics/utils/devkit-utils/component.ts +136 -136
  65. package/src/schematics/utils/devkit-utils/config.js.map +1 -1
  66. package/src/schematics/utils/devkit-utils/config.ts +120 -120
  67. package/src/schematics/utils/devkit-utils/find-module.js.map +1 -1
  68. package/src/schematics/utils/devkit-utils/find-module.ts +108 -108
  69. package/src/schematics/utils/devkit-utils/ng-ast-utils.js.map +1 -1
  70. package/src/schematics/utils/devkit-utils/ng-ast-utils.ts +84 -84
  71. package/src/schematics/utils/devkit-utils/parse-name.js.map +1 -1
  72. package/src/schematics/utils/devkit-utils/parse-name.ts +24 -24
  73. package/src/schematics/utils/devkit-utils/route-utils.js.map +1 -1
  74. package/src/schematics/utils/devkit-utils/route-utils.ts +180 -180
  75. package/src/schematics/utils/devkit-utils/validation.js +1 -1
  76. package/src/schematics/utils/devkit-utils/validation.js.map +1 -1
  77. package/src/schematics/utils/devkit-utils/validation.ts +16 -16
  78. package/src/schematics/utils/html.js.map +1 -1
  79. package/src/schematics/utils/html.ts +63 -63
  80. package/src/schematics/utils/lib-versions.js.map +1 -1
  81. package/src/schematics/utils/lib-versions.ts +3 -3
  82. package/src/schematics/utils/package.js.map +1 -1
  83. package/src/schematics/utils/package.ts +22 -22
  84. package/src/schematics/utils/testing.js.map +1 -1
  85. package/src/schematics/utils/testing.ts +25 -25
  86. package/src/types/enums/Enums.js.map +1 -1
  87. package/src/types/enums/Enums.ts +2063 -2063
  88. package/src/types/enums/generated-file-types.enum.js.map +1 -1
  89. package/src/types/enums/generated-file-types.enum.ts +6 -6
  90. package/src/types/enums/horizontal-alignments.enum.js.map +1 -1
  91. package/src/types/enums/horizontal-alignments.enum.ts +6 -6
  92. package/src/types/enums/themes.enum.js.map +1 -1
  93. package/src/types/enums/themes.enum.ts +6 -6
  94. package/src/types/index.js.map +1 -1
  95. package/src/types/index.ts +8 -8
  96. package/src/types/interfaces/app.js.map +1 -1
  97. package/src/types/interfaces/app.ts +89 -89
  98. package/src/types/interfaces/control.js.map +1 -1
  99. package/src/types/interfaces/control.ts +106 -106
  100. package/src/types/interfaces/template.config.js.map +1 -1
  101. package/src/types/interfaces/template.config.ts +11 -11
  102. package/templates/angular/src/app/app.component.html.ejs +17 -17
  103. package/templates/angular/src/app/cmp-array.ejs +3 -3
  104. package/templates/angular/src/app/cmp-hash.ejs +3 -3
  105. package/templates/angular/src/app/component-list.g.ts +21 -21
  106. package/templates/angular/src/app.component.ts +16 -16
  107. package/templates/angular/src/app.module.ts +70 -70
  108. package/templates/angular/src/app.routes.ts +73 -73
  109. package/templates/angular/src/styles/app.css +5 -5
  110. package/templates/attributes/button_attributes.ejs +2 -2
  111. package/templates/attributes/common/base/class.ejs +6 -6
  112. package/templates/attributes/common/base/control_type.ejs +53 -53
  113. package/templates/attributes/common/base/enabled.ejs +9 -9
  114. package/templates/attributes/common/base/imageFileName.ejs +3 -3
  115. package/templates/attributes/common/base/no_control_class.ejs +3 -3
  116. package/templates/attributes/common/base/rtol.ejs +3 -3
  117. package/templates/attributes/common/base/tabindex.ejs +11 -11
  118. package/templates/attributes/common/base/testingId.ejs +8 -8
  119. package/templates/attributes/common/base/tooltip.ejs +7 -7
  120. package/templates/attributes/common/base/visible.ejs +6 -6
  121. package/templates/attributes/common/base/wallpaper.ejs +3 -3
  122. package/templates/attributes/common/base_attributes.ejs +10 -10
  123. package/templates/attributes/common/container_attributes.ejs +6 -6
  124. package/templates/attributes/common/control_attributes.ejs +3 -3
  125. package/templates/attributes/common/format.ejs +5 -5
  126. package/templates/attributes/common/input/hint.ejs +13 -13
  127. package/templates/attributes/common/input/multiline_edit.ejs +3 -3
  128. package/templates/attributes/common/input/must_input.ejs +8 -8
  129. package/templates/attributes/common/input/password_edit.ejs +7 -7
  130. package/templates/attributes/common/input/row_editing_input_attributes.ejs +6 -6
  131. package/templates/attributes/common/input/validation.ejs +5 -5
  132. package/templates/attributes/common/input_attributes.ejs +4 -4
  133. package/templates/attributes/common/no_control_base_attributes.ejs +4 -4
  134. package/templates/attributes/common/row_editing_button_attributes.ejs +10 -10
  135. package/templates/component/view.component.html +14 -14
  136. package/templates/component/view.component.ts +136 -136
  137. package/templates/themes/basicHTML/Code/theme.module.ts +10 -10
  138. package/templates/themes/basicHTML/combobox.ejs +37 -37
  139. package/templates/themes/basicHTML/edit.ejs +169 -169
  140. package/templates/themes/basicHTML/form.ejs +4 -4
  141. package/templates/themes/basicHTML/group.ejs +4 -4
  142. package/templates/themes/basicHTML/image.ejs +6 -6
  143. package/templates/themes/basicHTML/label.ejs +11 -11
  144. package/templates/themes/basicHTML/listbox.ejs +21 -21
  145. package/templates/themes/basicHTML/push-button.ejs +28 -28
  146. package/templates/themes/basicHTML/radio.ejs +20 -20
  147. package/templates/themes/basicHTML/subform.ejs +6 -6
  148. package/templates/themes/basicHTML/tab.ejs +31 -31
  149. package/templates/themes/basicHTML/tabpage.ejs +5 -5
  150. package/templates/themes/basicHiddenHTML/Code/theme.module.ts +10 -10
  151. package/templates/themes/basicHiddenHTML/combobox.ejs +5 -5
  152. package/templates/themes/basicHiddenHTML/form.ejs +3 -3
  153. package/templates/themes/basicHiddenHTML/group.ejs +2 -2
  154. package/templates/themes/basicHiddenHTML/image.ejs +4 -4
  155. package/templates/themes/basicHiddenHTML/label.ejs +1 -1
  156. package/templates/themes/basicHiddenHTML/listbox.ejs +8 -8
  157. package/templates/themes/basicHiddenHTML/push-button.ejs +26 -26
  158. package/templates/themes/basicHiddenHTML/radio.ejs +17 -17
  159. package/templates/themes/basicHiddenHTML/tab.ejs +13 -13
  160. package/templates/themes/basicHiddenHTML/table.ejs +18 -18
  161. package/templates/themes/basicHiddenHTML/tabpage.ejs +2 -2
  162. package/templates/themes/container.ejs +26 -26
  163. package/templates/themes/control.ejs +52 -52
  164. package/templates/themes/editTypeSelector.ejs +1 -1
  165. package/templates/themes/material/Code/theme.module.ts +68 -68
  166. package/templates/themes/material/base_attributes_date.ejs +8 -8
  167. package/templates/themes/material/combobox.ejs +58 -58
  168. package/templates/themes/material/edit.ejs +204 -204
  169. package/templates/themes/material/group.ejs +3 -3
  170. package/templates/themes/material/listbox.ejs +22 -22
  171. package/templates/themes/material/push-button.ejs +28 -28
  172. package/templates/themes/material/radio.ejs +22 -22
  173. package/templates/themes/material/subform.ejs +8 -8
  174. package/templates/themes/material/tab.ejs +19 -19
  175. package/templates/themes/router_outlet.ejs +5 -5
  176. package/templates/themes/table/HTMLTable/table.ejs +37 -37
  177. package/templates/themes/table/grid/additionalComponentCode.ejs +26 -26
  178. package/templates/themes/table/grid/additionalIncludes.ejs +1 -1
  179. package/templates/themes/table/grid/table.ejs +37 -37
  180. package/templates/themes/table/repeatable/column.ejs +11 -11
  181. package/templates/themes/table/repeatable/table.ejs +28 -28
  182. package/templates/themes/tableTypeSelector.ejs +21 -21
  183. package/tsconfig.json +36 -36
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.class.js","sourceRoot":"","sources":["metadata.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { AppConfig, ComponentId, Route, RouteTable } from \"../../types/interfaces/app\";\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\nimport { Project } from \"../utils/devkit-utils/config\";\nimport { env, GEN_FOLDER, METADATA_DIR } from \"./env\";\nimport { Manifest } from \"./manifest\";\nimport { getProject, readJson } from \"./utils\";\n\n\nexport class MagicPaths {\n\n // return the current module path\n // for example : for module \"WebModule1\" it returns 'src/app/magic/WebModule1'\n currentModulePath(module_name:string) {\n if (module_name !== \"\") {\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;\n }\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;\n\n\n }\n\n // return the destanation path for create the component\n // for example : for module \"WebModule1\" component \"WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'\n getDestPathForComponent(module_name:string, componentPath:string) {\n return `${this.currentModulePath(module_name)}/${componentPath}`;\n }\n\n getJsonPathForComponent(cmpJsonPath:string) {\n return `${this.metadataFolderPath}/${cmpJsonPath}.json`;\n }\n\n getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {\n let relativePathForComponentInModule = `${cmpJsonPath}`;\n if (module_name !== \"\")\n relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;\n\n return relativePathForComponentInModule;\n }\n\n getRoutePathForWebModule(module_name:string) {\n\n if (module_name == \"\")\n return this.appRoutesPath;\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;\n }\n get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }\n get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}\n get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}\n get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}\n get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}\n get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}\n get angularJsonPath(){ return `./angular.json`}\n get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}\n\n // get the relative path of module to be used in LazyLoadMap\n magicGenLibModulePath (moduleName){\n\n let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';\n let modulepath = rootPath+`src/app/${GEN_FOLDER}`;\n if (moduleName !== \"\") {\n return `${modulepath}/${moduleName}/magic.gen.lib.module`;\n }\n return `${modulepath}/magic.gen.lib.module`;\n }\n\n // Files under gen folder\n get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}\n\n componentListPathForCurrentModuleName (module_name:string):string{\n return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`\n }\n componentListPath (module_name:string):string{\n\n if (module_name !== \"\"){\n return this.componentListPathForCurrentModuleName(module_name);\n }\n return this.rootMagicComponentListPath;\n }\n\n get rootMagicComponentListPath (){\n\n return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`\n }\n\n get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}\n\n get favIconPath(){ return `./${this.project.root}/public/favicon.ico`; }\n\n get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }\n get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }\n get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }\n get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }\n get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }\n\n constructor(protected project:Project){\n }\n}\n\n\nexport class MagicMetadata {\n\n private _config: AppConfig;\n private _routesTable: RouteTable[];\n private _programListContents: any;\n\n paths: MagicPaths;\n\n get theme() {\n if (!this.options.theme) {\n this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';\n }\n return this.options.theme;\n }\n\n get allow_testing() {\n if (!this.options.allowTesting) {\n this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;\n }\n return this.options.allowTesting;\n }\n get config() {\n if (this._config) return this._config;\n return this.loadConfig();\n }\n\n get programListContents(){\n if(this._programListContents) return this._programListContents;\n return this.loadProgramList();\n }\n\n get routesTable(){\n if (this._routesTable) return this._routesTable;\n return this.loadRoutes();\n }\n\n constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {\n this.paths = new MagicPaths(getProject(host, options.project));\n }\n\n loadConfig() {\n this._config = readJson(this.host, this.paths.configPath);\n return this._config;\n }\n\n loadProgramList(){\n this._programListContents = readJson(this.host, this.paths.programListPath);\n return this._programListContents;\n }\n\n loadRoutes() {\n this._routesTable = readJson(this.host, this.paths.routesPath);\n return this._routesTable;\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"metadata.class.js","sourceRoot":"","sources":["metadata.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport { AppConfig, ComponentId, Route, RouteTable } from \"../../types/interfaces/app\";\r\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\r\nimport { Project } from \"../utils/devkit-utils/config\";\r\nimport { env, GEN_FOLDER, METADATA_DIR } from \"./env\";\r\nimport { Manifest } from \"./manifest\";\r\nimport { getProject, readJson } from \"./utils\";\r\n\r\n\r\nexport class MagicPaths {\r\n\r\n // return the current module path\r\n // for example : for module \"WebModule1\" it returns 'src/app/magic/WebModule1'\r\n currentModulePath(module_name:string) {\r\n if (module_name !== \"\") {\r\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;\r\n }\r\n\r\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;\r\n\r\n\r\n }\r\n\r\n // return the destanation path for create the component\r\n // for example : for module \"WebModule1\" component \"WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'\r\n getDestPathForComponent(module_name:string, componentPath:string) {\r\n return `${this.currentModulePath(module_name)}/${componentPath}`;\r\n }\r\n\r\n getJsonPathForComponent(cmpJsonPath:string) {\r\n return `${this.metadataFolderPath}/${cmpJsonPath}.json`;\r\n }\r\n\r\n getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {\r\n let relativePathForComponentInModule = `${cmpJsonPath}`;\r\n if (module_name !== \"\")\r\n relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;\r\n\r\n return relativePathForComponentInModule;\r\n }\r\n\r\n getRoutePathForWebModule(module_name:string) {\r\n\r\n if (module_name == \"\")\r\n return this.appRoutesPath;\r\n\r\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;\r\n }\r\n get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }\r\n get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}\r\n get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}\r\n get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}\r\n get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}\r\n get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}\r\n get angularJsonPath(){ return `./angular.json`}\r\n get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}\r\n\r\n // get the relative path of module to be used in LazyLoadMap\r\n magicGenLibModulePath (moduleName){\r\n\r\n let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';\r\n let modulepath = rootPath+`src/app/${GEN_FOLDER}`;\r\n if (moduleName !== \"\") {\r\n return `${modulepath}/${moduleName}/magic.gen.lib.module`;\r\n }\r\n return `${modulepath}/magic.gen.lib.module`;\r\n }\r\n\r\n // Files under gen folder\r\n get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}\r\n\r\n componentListPathForCurrentModuleName (module_name:string):string{\r\n return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`\r\n }\r\n componentListPath (module_name:string):string{\r\n\r\n if (module_name !== \"\"){\r\n return this.componentListPathForCurrentModuleName(module_name);\r\n }\r\n return this.rootMagicComponentListPath;\r\n }\r\n\r\n get rootMagicComponentListPath (){\r\n\r\n return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`\r\n }\r\n\r\n get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}\r\n\r\n get favIconPath(){ return `./${this.project.root}/public/favicon.ico`; }\r\n\r\n get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }\r\n get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }\r\n get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }\r\n get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }\r\n get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }\r\n\r\n constructor(protected project:Project){\r\n }\r\n}\r\n\r\n\r\nexport class MagicMetadata {\r\n\r\n private _config: AppConfig;\r\n private _routesTable: RouteTable[];\r\n private _programListContents: any;\r\n\r\n paths: MagicPaths;\r\n\r\n get theme() {\r\n if (!this.options.theme) {\r\n this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';\r\n }\r\n return this.options.theme;\r\n }\r\n\r\n get allow_testing() {\r\n if (!this.options.allowTesting) {\r\n this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;\r\n }\r\n return this.options.allowTesting;\r\n }\r\n get config() {\r\n if (this._config) return this._config;\r\n return this.loadConfig();\r\n }\r\n\r\n get programListContents(){\r\n if(this._programListContents) return this._programListContents;\r\n return this.loadProgramList();\r\n }\r\n\r\n get routesTable(){\r\n if (this._routesTable) return this._routesTable;\r\n return this.loadRoutes();\r\n }\r\n\r\n constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {\r\n this.paths = new MagicPaths(getProject(host, options.project));\r\n }\r\n\r\n loadConfig() {\r\n this._config = readJson(this.host, this.paths.configPath);\r\n return this._config;\r\n }\r\n\r\n loadProgramList(){\r\n this._programListContents = readJson(this.host, this.paths.programListPath);\r\n return this._programListContents;\r\n }\r\n\r\n loadRoutes() {\r\n this._routesTable = readJson(this.host, this.paths.routesPath);\r\n return this._routesTable;\r\n }\r\n}\r\n\r\n\r\n"]}
@@ -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}/public/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}/public/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 +1 @@
1
- {"version":3,"file":"generate.rule.js","sourceRoot":"","sources":["generate.rule.ts"],"names":[],"mappings":";;AAYA,wCAiBC;AAED,4BA6BC;AA5DD,2BAAmC;AACnC,0CAA0C;AAC1C,0CAA2C;AAI3C,kCAAiC;AACjC,gCAA0C;AAC1C,0CAAoE;AAIpE,SAAgB,cAAc,CAAC,MAAe,EAAC,IAAwB;IACrE,MAAM,MAAM,GAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;QACjD,uBAAuB,EAAE,CAAC;QAC1B,kBAAkB,EAAO,CAAC;QAC1B,iBAAiB,EAAQ,wBAAwB;QAChD,aAAa,EAAG,0BAA0B;KAC5C,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,CAAC,0BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM;QACjC,gFAAgF;QAChF,CAAC,0BAAkB,CAAC,EAAE,CAAC,EAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,aAAa,EAAG,0BAA0B,EAAC,CAAC;QACzG,CAAC,0BAAkB,CAAC,MAAM,CAAC,EAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QACnE,CAAC,0BAAkB,CAAC,GAAG,CAAC,EAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAG,CAAC;KAClE,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAoB,EAAC,OAAyB;IACrE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAE,EAAE;QAC9C,GAAG,CAAC,UAAU,CACZ,GAAG,sBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,EACtC,IAAI,CAAC,IAAI,EACT,EAAC,cAAc,EAAG,IAAI,EAAC,EACxB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACb,IAAI,GAAG,EAAE,CAAC;gBAAC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YAEhC,IAAI,CAAC;gBACH,0CAA0C;gBACxC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,GAAG;gBAEH,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAE9C,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC;oBACpB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;gBAC5D,CAAC;qBAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACX,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC;gBACf,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC","sourcesContent":["import * as EJS from \"ejs\";\n//import * as prettier from \"prettier\";\nimport * as jsbeautify from \"js-beautify\";\n\nimport { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\n\nimport { logErr } from \"../Util\";\nimport { MAGIC_CLI_FOLDER } from \"../env\";\nimport { GeneratedFileTypes, TemplateConfig } from \"../../../types\";\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\nimport { prettierConfig } from \"../config\";\n\nexport function createGenFuncs(output : string,type: GeneratedFileTypes ) {\n const htmlFn = jsbeautify.html.bind(this, output, {\n \"max_preserve_newlines\": 0,\n \"wrap_line_length\" : 0,\n \"wrap_attributes\" : \"force-expand-multiline\",\n \"brace_style\" : 'collapse,preserve-inline'\n });\n\n const fnMap = {\n [GeneratedFileTypes.HTML]: htmlFn,\n //[GeneratedFileTypes.TS] : prettier.format.bind(this, output, prettierConfig),\n [GeneratedFileTypes.TS] : jsbeautify.js.bind(this, output, {\"brace_style\" : 'collapse,preserve-inline'}),\n [GeneratedFileTypes.HELPER] : jsbeautify.js.bind(this, output, {}),\n [GeneratedFileTypes.CSS] : jsbeautify.css.bind(this, output, { })\n };\n\n return fnMap[type]();\n}\n\nexport function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{\n return (host:Tree, context: SchematicContext) => {\n EJS.renderFile(\n `${MAGIC_CLI_FOLDER}/${file.template}`,\n file.data,\n {\"rmWhitespace\" : true},\n (err, output) => {\n if (err) { logErr(err); return }\n\n try {\n //if(file.type != GeneratedFileTypes.TS) {\n output = createGenFuncs(output, file.type);\n //}\n\n let path = `${file.destination}/${file.name}`;\n\n if(host.exists(path)){\n host.overwrite(`${file.destination}/${file.name}`, output)\n } else{\n host.create(`${file.destination}/${file.name}`, output);\n }\n }\n catch (err) {\n logErr(output);\n logErr(err);\n }\n });\n return host;\n }\n}\n"]}
1
+ {"version":3,"file":"generate.rule.js","sourceRoot":"","sources":["generate.rule.ts"],"names":[],"mappings":";;AAYA,wCAiBC;AAED,4BA6BC;AA5DD,2BAAmC;AACnC,0CAA0C;AAC1C,0CAA2C;AAI3C,kCAAiC;AACjC,gCAA0C;AAC1C,0CAAoE;AAIpE,SAAgB,cAAc,CAAC,MAAe,EAAC,IAAwB;IACrE,MAAM,MAAM,GAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;QACjD,uBAAuB,EAAE,CAAC;QAC1B,kBAAkB,EAAO,CAAC;QAC1B,iBAAiB,EAAQ,wBAAwB;QAChD,aAAa,EAAG,0BAA0B;KAC5C,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,CAAC,0BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM;QACjC,gFAAgF;QAChF,CAAC,0BAAkB,CAAC,EAAE,CAAC,EAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,aAAa,EAAG,0BAA0B,EAAC,CAAC;QACzG,CAAC,0BAAkB,CAAC,MAAM,CAAC,EAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QACnE,CAAC,0BAAkB,CAAC,GAAG,CAAC,EAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAG,CAAC;KAClE,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAoB,EAAC,OAAyB;IACrE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAE,EAAE;QAC9C,GAAG,CAAC,UAAU,CACZ,GAAG,sBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,EACtC,IAAI,CAAC,IAAI,EACT,EAAC,cAAc,EAAG,IAAI,EAAC,EACxB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACb,IAAI,GAAG,EAAE,CAAC;gBAAC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YAEhC,IAAI,CAAC;gBACH,0CAA0C;gBACxC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,GAAG;gBAEH,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAE9C,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC;oBACpB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;gBAC5D,CAAC;qBAAK,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACX,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC;gBACf,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC","sourcesContent":["import * as EJS from \"ejs\";\r\n//import * as prettier from \"prettier\";\r\nimport * as jsbeautify from \"js-beautify\";\r\n\r\nimport { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\n\r\nimport { logErr } from \"../Util\";\r\nimport { MAGIC_CLI_FOLDER } from \"../env\";\r\nimport { GeneratedFileTypes, TemplateConfig } from \"../../../types\";\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { prettierConfig } from \"../config\";\r\n\r\nexport function createGenFuncs(output : string,type: GeneratedFileTypes ) {\r\n const htmlFn = jsbeautify.html.bind(this, output, {\r\n \"max_preserve_newlines\": 0,\r\n \"wrap_line_length\" : 0,\r\n \"wrap_attributes\" : \"force-expand-multiline\",\r\n \"brace_style\" : 'collapse,preserve-inline'\r\n });\r\n\r\n const fnMap = {\r\n [GeneratedFileTypes.HTML]: htmlFn,\r\n //[GeneratedFileTypes.TS] : prettier.format.bind(this, output, prettierConfig),\r\n [GeneratedFileTypes.TS] : jsbeautify.js.bind(this, output, {\"brace_style\" : 'collapse,preserve-inline'}),\r\n [GeneratedFileTypes.HELPER] : jsbeautify.js.bind(this, output, {}),\r\n [GeneratedFileTypes.CSS] : jsbeautify.css.bind(this, output, { })\r\n };\r\n\r\n return fnMap[type]();\r\n}\r\n\r\nexport function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{\r\n return (host:Tree, context: SchematicContext) => {\r\n EJS.renderFile(\r\n `${MAGIC_CLI_FOLDER}/${file.template}`,\r\n file.data,\r\n {\"rmWhitespace\" : true},\r\n (err, output) => {\r\n if (err) { logErr(err); return }\r\n\r\n try {\r\n //if(file.type != GeneratedFileTypes.TS) {\r\n output = createGenFuncs(output, file.type);\r\n //}\r\n\r\n let path = `${file.destination}/${file.name}`;\r\n\r\n if(host.exists(path)){\r\n host.overwrite(`${file.destination}/${file.name}`, output)\r\n } else{\r\n host.create(`${file.destination}/${file.name}`, output);\r\n }\r\n }\r\n catch (err) {\r\n logErr(output);\r\n logErr(err);\r\n }\r\n });\r\n return host;\r\n }\r\n}\r\n"]}
@@ -1,61 +1,61 @@
1
- import * as EJS from "ejs";
2
- //import * as prettier from "prettier";
3
- import * as jsbeautify from "js-beautify";
4
-
5
- import { Rule, SchematicContext, Tree } from "@angular-devkit/schematics";
6
-
7
- import { logErr } from "../Util";
8
- import { MAGIC_CLI_FOLDER } from "../env";
9
- import { GeneratedFileTypes, TemplateConfig } from "../../../types";
10
- import { MagicOptionScheme } from "./magic-option.scheme";
11
- import { prettierConfig } from "../config";
12
-
13
- export function createGenFuncs(output : string,type: GeneratedFileTypes ) {
14
- const htmlFn = jsbeautify.html.bind(this, output, {
15
- "max_preserve_newlines": 0,
16
- "wrap_line_length" : 0,
17
- "wrap_attributes" : "force-expand-multiline",
18
- "brace_style" : 'collapse,preserve-inline'
19
- });
20
-
21
- const fnMap = {
22
- [GeneratedFileTypes.HTML]: htmlFn,
23
- //[GeneratedFileTypes.TS] : prettier.format.bind(this, output, prettierConfig),
24
- [GeneratedFileTypes.TS] : jsbeautify.js.bind(this, output, {"brace_style" : 'collapse,preserve-inline'}),
25
- [GeneratedFileTypes.HELPER] : jsbeautify.js.bind(this, output, {}),
26
- [GeneratedFileTypes.CSS] : jsbeautify.css.bind(this, output, { })
27
- };
28
-
29
- return fnMap[type]();
30
- }
31
-
32
- export function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{
33
- return (host:Tree, context: SchematicContext) => {
34
- EJS.renderFile(
35
- `${MAGIC_CLI_FOLDER}/${file.template}`,
36
- file.data,
37
- {"rmWhitespace" : true},
38
- (err, output) => {
39
- if (err) { logErr(err); return }
40
-
41
- try {
42
- //if(file.type != GeneratedFileTypes.TS) {
43
- output = createGenFuncs(output, file.type);
44
- //}
45
-
46
- let path = `${file.destination}/${file.name}`;
47
-
48
- if(host.exists(path)){
49
- host.overwrite(`${file.destination}/${file.name}`, output)
50
- } else{
51
- host.create(`${file.destination}/${file.name}`, output);
52
- }
53
- }
54
- catch (err) {
55
- logErr(output);
56
- logErr(err);
57
- }
58
- });
59
- return host;
60
- }
61
- }
1
+ import * as EJS from "ejs";
2
+ //import * as prettier from "prettier";
3
+ import * as jsbeautify from "js-beautify";
4
+
5
+ import { Rule, SchematicContext, Tree } from "@angular-devkit/schematics";
6
+
7
+ import { logErr } from "../Util";
8
+ import { MAGIC_CLI_FOLDER } from "../env";
9
+ import { GeneratedFileTypes, TemplateConfig } from "../../../types";
10
+ import { MagicOptionScheme } from "./magic-option.scheme";
11
+ import { prettierConfig } from "../config";
12
+
13
+ export function createGenFuncs(output : string,type: GeneratedFileTypes ) {
14
+ const htmlFn = jsbeautify.html.bind(this, output, {
15
+ "max_preserve_newlines": 0,
16
+ "wrap_line_length" : 0,
17
+ "wrap_attributes" : "force-expand-multiline",
18
+ "brace_style" : 'collapse,preserve-inline'
19
+ });
20
+
21
+ const fnMap = {
22
+ [GeneratedFileTypes.HTML]: htmlFn,
23
+ //[GeneratedFileTypes.TS] : prettier.format.bind(this, output, prettierConfig),
24
+ [GeneratedFileTypes.TS] : jsbeautify.js.bind(this, output, {"brace_style" : 'collapse,preserve-inline'}),
25
+ [GeneratedFileTypes.HELPER] : jsbeautify.js.bind(this, output, {}),
26
+ [GeneratedFileTypes.CSS] : jsbeautify.css.bind(this, output, { })
27
+ };
28
+
29
+ return fnMap[type]();
30
+ }
31
+
32
+ export function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{
33
+ return (host:Tree, context: SchematicContext) => {
34
+ EJS.renderFile(
35
+ `${MAGIC_CLI_FOLDER}/${file.template}`,
36
+ file.data,
37
+ {"rmWhitespace" : true},
38
+ (err, output) => {
39
+ if (err) { logErr(err); return }
40
+
41
+ try {
42
+ //if(file.type != GeneratedFileTypes.TS) {
43
+ output = createGenFuncs(output, file.type);
44
+ //}
45
+
46
+ let path = `${file.destination}/${file.name}`;
47
+
48
+ if(host.exists(path)){
49
+ host.overwrite(`${file.destination}/${file.name}`, output)
50
+ } else{
51
+ host.create(`${file.destination}/${file.name}`, output);
52
+ }
53
+ }
54
+ catch (err) {
55
+ logErr(output);
56
+ logErr(err);
57
+ }
58
+ });
59
+ return host;
60
+ }
61
+ }