@magic-xpa/cli 4.1200.0-dev4120.4 → 4.1200.0-dev4120.40

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 (86) hide show
  1. package/package.json +1 -1
  2. package/src/schematics/magic-utils/Util.js +4 -4
  3. package/src/schematics/magic-utils/Util.js.map +1 -1
  4. package/src/schematics/magic-utils/config.js +2 -2
  5. package/src/schematics/magic-utils/config.js.map +1 -1
  6. package/src/schematics/magic-utils/env.js +3 -3
  7. package/src/schematics/magic-utils/env.js.map +1 -1
  8. package/src/schematics/magic-utils/env.ts +3 -3
  9. package/src/schematics/magic-utils/manifest.js.map +1 -1
  10. package/src/schematics/magic-utils/metadata.class.js +1 -1
  11. package/src/schematics/magic-utils/metadata.class.js.map +1 -1
  12. package/src/schematics/magic-utils/metadata.class.ts +1 -1
  13. package/src/schematics/magic-utils/process-json.js +1 -2
  14. package/src/schematics/magic-utils/process-json.js.map +1 -1
  15. package/src/schematics/magic-utils/rules/build-control.rule.js +2 -3
  16. package/src/schematics/magic-utils/rules/build-control.rule.js.map +1 -1
  17. package/src/schematics/magic-utils/rules/build-view.rule.js +1 -2
  18. package/src/schematics/magic-utils/rules/build-view.rule.js.map +1 -1
  19. package/src/schematics/magic-utils/rules/component-list.rule.js +1 -2
  20. package/src/schematics/magic-utils/rules/component-list.rule.js.map +1 -1
  21. package/src/schematics/magic-utils/rules/generate.rule.js +2 -3
  22. package/src/schematics/magic-utils/rules/generate.rule.js.map +1 -1
  23. package/src/schematics/magic-utils/rules/init-add-modules.rule.js +10 -11
  24. package/src/schematics/magic-utils/rules/init-add-modules.rule.js.map +1 -1
  25. package/src/schematics/magic-utils/rules/init-gen-components.rule.js +2 -3
  26. package/src/schematics/magic-utils/rules/init-gen-components.rule.js.map +1 -1
  27. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js +1 -2
  28. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js.map +1 -1
  29. package/src/schematics/magic-utils/rules/load-views-gen.rule.js +1 -2
  30. package/src/schematics/magic-utils/rules/load-views-gen.rule.js.map +1 -1
  31. package/src/schematics/magic-utils/utils.js +9 -10
  32. package/src/schematics/magic-utils/utils.js.map +1 -1
  33. package/src/schematics/mg-Install-prerequisites/index.js +1 -2
  34. package/src/schematics/mg-Install-prerequisites/index.js.map +1 -1
  35. package/src/schematics/mg-add/index.js +5 -4
  36. package/src/schematics/mg-add/index.js.map +1 -1
  37. package/src/schematics/mg-add/index.ts +4 -2
  38. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js +1 -2
  39. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js.map +1 -1
  40. package/src/schematics/mg-add-tasks/index.js +1 -2
  41. package/src/schematics/mg-add-tasks/index.js.map +1 -1
  42. package/src/schematics/mg-delete-files/index.js +1 -2
  43. package/src/schematics/mg-delete-files/index.js.map +1 -1
  44. package/src/schematics/mg-gen-module/index.js +1 -2
  45. package/src/schematics/mg-gen-module/index.js.map +1 -1
  46. package/src/schematics/mg-generate/index.js +1 -2
  47. package/src/schematics/mg-generate/index.js.map +1 -1
  48. package/src/schematics/mg-generate-component/index.js +1 -2
  49. package/src/schematics/mg-generate-component/index.js.map +1 -1
  50. package/src/schematics/mg-install/index.js +1 -2
  51. package/src/schematics/mg-install/index.js.map +1 -1
  52. package/src/schematics/mg-routes/index.js +5 -6
  53. package/src/schematics/mg-routes/index.js.map +1 -1
  54. package/src/schematics/mg-single-control/index.js +1 -2
  55. package/src/schematics/mg-single-control/index.js.map +1 -1
  56. package/src/schematics/utils/ast.js +6 -7
  57. package/src/schematics/utils/ast.js.map +1 -1
  58. package/src/schematics/utils/devkit-utils/ast-utils.js +16 -17
  59. package/src/schematics/utils/devkit-utils/ast-utils.js.map +1 -1
  60. package/src/schematics/utils/devkit-utils/ast-utils_old.js +14 -15
  61. package/src/schematics/utils/devkit-utils/ast-utils_old.js.map +1 -1
  62. package/src/schematics/utils/devkit-utils/change.js.map +1 -1
  63. package/src/schematics/utils/devkit-utils/component.js +1 -2
  64. package/src/schematics/utils/devkit-utils/component.js.map +1 -1
  65. package/src/schematics/utils/devkit-utils/config.js +3 -3
  66. package/src/schematics/utils/devkit-utils/config.js.map +1 -1
  67. package/src/schematics/utils/devkit-utils/find-module.js +3 -4
  68. package/src/schematics/utils/devkit-utils/find-module.js.map +1 -1
  69. package/src/schematics/utils/devkit-utils/ng-ast-utils.js +3 -4
  70. package/src/schematics/utils/devkit-utils/ng-ast-utils.js.map +1 -1
  71. package/src/schematics/utils/devkit-utils/parse-name.js +1 -2
  72. package/src/schematics/utils/devkit-utils/parse-name.js.map +1 -1
  73. package/src/schematics/utils/devkit-utils/route-utils.js +2 -3
  74. package/src/schematics/utils/devkit-utils/route-utils.js.map +1 -1
  75. package/src/schematics/utils/devkit-utils/validation.js +1 -2
  76. package/src/schematics/utils/devkit-utils/validation.js.map +1 -1
  77. package/src/schematics/utils/html.js +2 -3
  78. package/src/schematics/utils/html.js.map +1 -1
  79. package/src/schematics/utils/package.js +1 -2
  80. package/src/schematics/utils/package.js.map +1 -1
  81. package/src/schematics/utils/testing.js +1 -2
  82. package/src/schematics/utils/testing.js.map +1 -1
  83. package/src/types/enums/Enums.d.ts +4 -4
  84. package/templates/angular/src/app.component.ts +4 -2
  85. package/templates/component/view.component.ts +1 -0
  86. /package/src/schematics/mg-add/files/{src → public}/favicon.ico +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generate.rule.js","sourceRoot":"","sources":["generate.rule.ts"],"names":[],"mappings":";;;AAAA,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;AAjBD,wCAiBC;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;gBAAE,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;gBAAC,OAAM;aAAE;YAEhC,IAAI;gBACF,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;oBACnB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;iBAC3D;qBAAK;oBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;iBACzD;aACF;YACD,OAAO,GAAG,EAAE;gBACV,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC;gBACf,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AA7BD,4BA6BC","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\";\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,6 +1,15 @@
1
1
  "use strict";
2
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;
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;
4
13
  const schematics_1 = require("@angular-devkit/schematics");
5
14
  const env_1 = require("../env");
6
15
  const Util_1 = require("../Util");
@@ -46,7 +55,6 @@ function initGenModules(options, generateViaCLI = false) {
46
55
  return tree;
47
56
  };
48
57
  }
49
- exports.initGenModules = initGenModules;
50
58
  //-------------------------------------------------------------------------------------------------
51
59
  // overwrite the web module file name with the new content
52
60
  //-------------------------------------------------------------------------------------------------
@@ -59,7 +67,6 @@ function overwriteWebModuleFileName(options, moduleNameFileName, content) {
59
67
  return tree;
60
68
  };
61
69
  }
62
- exports.overwriteWebModuleFileName = overwriteWebModuleFileName;
63
70
  //-------------------------------------------------------------------------------------------------
64
71
  // update the the web module file name with the new class name
65
72
  //-------------------------------------------------------------------------------------------------
@@ -82,7 +89,6 @@ function updateWebModuleFileWithNewClassName(options, webModuleName) {
82
89
  return (0, schematics_1.chain)(rules)(tree, context);
83
90
  };
84
91
  }
85
- exports.updateWebModuleFileWithNewClassName = updateWebModuleFileWithNewClassName;
86
92
  //-------------------------------------------------------------------------------------------------
87
93
  // copy the two default files into the web module path
88
94
  //-------------------------------------------------------------------------------------------------
@@ -120,7 +126,6 @@ function getDestinationModulePathByWebModuleName(webModuleName) {
120
126
  const newDestModulePath = `${env_1.env.metadata.paths.rootMagicGenFolder}/${env_1.GEN_FOLDER}/${webModuleName}`;
121
127
  return newDestModulePath;
122
128
  }
123
- exports.getDestinationModulePathByWebModuleName = getDestinationModulePathByWebModuleName;
124
129
  //-------------------------------------------------------------------------------------------------
125
130
  // get web module full file name according to the send webModuleName
126
131
  //-------------------------------------------------------------------------------------------------
@@ -173,7 +178,6 @@ function checkAndCreateModule(options, webModuleName, loadOnDemand) {
173
178
  ;
174
179
  };
175
180
  }
176
- exports.checkAndCreateModule = checkAndCreateModule;
177
181
  //-------------------------------------------------------------------------------------------------
178
182
  // check if module is exist, only if not exist create the web module
179
183
  //-------------------------------------------------------------------------------------------------
@@ -186,7 +190,6 @@ function generateWebModule(options, webModuleName, loadOnDemand) {
186
190
  return (0, schematics_1.chain)(rules)(tree, context);
187
191
  };
188
192
  }
189
- exports.generateWebModule = generateWebModule;
190
193
  //-------------------------------------------------------------------------------------------------
191
194
  // generate all the modules in env.modulesGen
192
195
  //-------------------------------------------------------------------------------------------------
@@ -208,7 +211,6 @@ function generateWebModules(options, generateViaCLI = false) {
208
211
  return (0, schematics_1.chain)(rules)(tree, context);
209
212
  };
210
213
  }
211
- exports.generateWebModules = generateWebModules;
212
214
  //-------------------------------------------------------------------------------------------------
213
215
  // check if module is exist, only if not exist create the web module
214
216
  //-------------------------------------------------------------------------------------------------
@@ -229,7 +231,6 @@ function checkAndCreateRouteForModule(options, webModuleName, loadOnDemand) {
229
231
  return (0, schematics_1.chain)(rules)(tree, context);
230
232
  };
231
233
  }
232
- exports.checkAndCreateRouteForModule = checkAndCreateRouteForModule;
233
234
  //-------------------------------------------------------------------------------------------------
234
235
  // create route for module
235
236
  //-------------------------------------------------------------------------------------------------
@@ -256,7 +257,6 @@ function createRoute(options, webModuleName) {
256
257
  return (0, schematics_1.chain)(rules)(tree, context);
257
258
  };
258
259
  }
259
- exports.createRoute = createRoute;
260
260
  //-------------------------------------------------------------------------------------------------
261
261
  // create route for module
262
262
  //-------------------------------------------------------------------------------------------------
@@ -270,7 +270,6 @@ function addRouteFileToModuleFile(options, webModuleName) {
270
270
  return (0, schematics_1.chain)(rules)(tree, context);
271
271
  };
272
272
  }
273
- exports.addRouteFileToModuleFile = addRouteFileToModuleFile;
274
273
  //-------------------------------------------------------------------------------------------------
275
274
  // copy the two default files into the web module path
276
275
  //-------------------------------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"init-add-modules.rule.js","sourceRoot":"","sources":["init-add-modules.rule.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n apply, branchAndMerge,\n chain,\n MergeStrategy, mergeWith,\n move,\n Rule,\n SchematicContext, SchematicsException,\n Tree,\n url\n} from \"@angular-devkit/schematics\";\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\nimport {env, GEN_FOLDER, GEN_LAZY_LOAD_MODULES_ARRAY} from \"../env\";\nimport { LogLn } from \"../Util\";\nimport { Route, RouteTable, webModuleItem } from \"../../../types/interfaces/app\";\nimport {addModuleImportToModule, getSourceFile} from \"../../utils/ast\";\nimport { ModuleInfo } from \"../../../types/interfaces/env.interface\";\n\nimport {findNodes} from \"../../utils/devkit-utils/ast-utils\";\nimport * as ts from \"typescript\";\n//-------------------------------------------------------------------------------------------------\n// init generate module into env.modulesGen\n//-------------------------------------------------------------------------------------------------\nexport function initGenModules(options: MagicOptionScheme, generateViaCLI:boolean = false): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let metadata = env.metadata;\n let programList = env.programList;\n env.modulesGen = [];\n let web_modules:webModuleItem [] = metadata.config.web_modules;\n\n if(generateViaCLI){\n let programListString = JSON.stringify(programList.programListContents);\n\n // Validate whether the component is valid\n if(programListString.includes(options.component)){\n let moduleInfo: ModuleInfo = new ModuleInfo(options.module, options.loadOnDemand);\n env.modulesGen.push(moduleInfo)\n }else{\n LogLn(`Invalid component ${options.component} to generate.`);\n }\n }else{\n // Generate only one module from --module=xxxx\n if (options.module) {\n let moduleInfo : ModuleInfo = new ModuleInfo(options.module, options.loadOnDemand);\n env.modulesGen.push(moduleInfo)\n } else {\n\n // Generate list of components from config.json, properties web_modules.module_name\n for (let modulePath of web_modules) {\n //LogLn(` Web Module name: [${modulePath.module_name}] IsLoadOnDemand? [${modulePath.load_on_demand}]`);\n let moduleInfo : ModuleInfo = new ModuleInfo(modulePath.module_name, modulePath.load_on_demand);\n env.modulesGen.push(moduleInfo);\n }\n }\n }\n if(!generateViaCLI)\n LogLn(` Number of modules to be check for generate: ${web_modules.length}`);\n return tree;\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// overwrite the web module file name with the new content\n//-------------------------------------------------------------------------------------------------\nexport function overwriteWebModuleFileName(options: any, moduleNameFileName:string, content:string): Rule {\n return (tree: Tree, _context: SchematicContext) => {\n\n if(!tree.exists(moduleNameFileName)){\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! : ${moduleNameFileName}`);\n }\n\n tree.overwrite(moduleNameFileName, content);\n return tree;\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// update the the web module file name with the new class name\n//-------------------------------------------------------------------------------------------------\nexport function updateWebModuleFileWithNewClassName(options: any, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let rules:Rule[] = [];\n\n const origModuleFileName = getWebModuleFullFileName(webModuleName)\n\n // create new class name for \"web Module Name\"\n let newClassModuleName = getWebModuleClass(webModuleName );\n\n //read the exist module file name\n const text = tree.read(origModuleFileName);\n\n if (text === null) {\n throw new SchematicsException(`File ${origModuleFileName} does not exist.`);\n }\n let sourceText = text.toString('utf-8');\n\n if (sourceText !== \"\") {\n let newsourceText: string = sourceText.replace(`MagicGenLibModule`, newClassModuleName);\n rules.push(overwriteWebModuleFileName(options, origModuleFileName, newsourceText));\n\n }\n return chain(rules)(tree, context);\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// copy the two default files into the web module path\n//-------------------------------------------------------------------------------------------------\nfunction copyDefaultMagicFilesToWebModule(options:MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree,context:SchematicContext) => {\n const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url(`./../mg-add/files/src/app/magic/`), [\n\n move(webModulePath)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(tree,context);\n }\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// delete LazyLoadService for non root modules\n//-------------------------------------------------------------------------------------------------\nfunction deleteLazyLoadService( webModuleName:string): Rule {\n return (tree: Tree) => {\n const lazyLoaderServicePath = getDestinationModulePathByWebModuleName(webModuleName) + '/lazy-loader.service.ts';\n\n if(webModuleName != '') {\n if (!tree.exists(lazyLoaderServicePath)) {\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! :lazyLoaderServicePath`);\n }\n\n tree.delete(lazyLoaderServicePath);\n return tree;\n }\n }\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// get destination path according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nexport function getDestinationModulePathByWebModuleName(webModuleName:string):string {\n const newDestModulePath = `${env.metadata.paths.rootMagicGenFolder}/${GEN_FOLDER}/${webModuleName}`;\n return newDestModulePath;\n}\n\n//-------------------------------------------------------------------------------------------------\n// get web module full file name according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nfunction getWebModuleFullFileName(webModuleName:string):string {\n// calc the path of new the module\n const newDestModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n return `${newDestModulePath}/magic.gen.lib.module.ts`;\n}\n\n//-------------------------------------------------------------------------------------------------\n// get web module class according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nfunction getWebModuleClass(webModuleName:string):string {\n return `Magic` + webModuleName + `Module`;\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// add magic module to app module\n//-------------------------------------------------------------------------------------------------\nfunction addMagicModuleToAppModule(options: MagicOptionScheme, modulePath:string, moduleName:string, srcModuleName:string) : Rule {\n return (tree: Tree , context : SchematicContext)=>{\n const project = env.project;\n\n LogLn(` [>] add New Web Module :[${moduleName}] `);\n LogLn(` [>] from :[${srcModuleName}]`);\n LogLn(` [>] To App Module :[${modulePath}]`);\n addModuleImportToModule(\n tree,\n modulePath, // for now we will update env.metadata.paths.magicGenLibModule\n moduleName, // 'MagicXXXModule',\n srcModuleName, // `./XXX/magic.gen.lib.module`\n );\n return tree;\n }\n}\n\n//-------------------------------------------------------------------------------------------------\n// create module\n//-------------------------------------------------------------------------------------------------\nexport function checkAndCreateModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand: boolean ): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules: Rule[] = [];\n const webModuleFullFileName = getWebModuleFullFileName(webModuleName);\n // only if not exist create the new 2 files magic.gen.lib.module.ts & component-list.g.ts\n if (!tree.exists(webModuleFullFileName)) {\n rules.push(copyDefaultMagicFilesToWebModule(options, webModuleName));\n rules.push(updateWebModuleFileWithNewClassName(tree, webModuleName));\n rules.push(deleteLazyLoadService(webModuleName));\n // for NON load on demand we need to update magic root module\n if (!loadOnDemand) {\n const newDestModulePath = `./${webModuleName}/magic.gen.lib.module`;\n const webModuleClass = getWebModuleClass(webModuleName);\n rules.push(addMagicModuleToAppModule(options, env.metadata.paths.magicGenLibModule, webModuleClass, newDestModulePath));\n }\n return chain(rules)(tree, context);\n }\n ;\n }\n}\n\n//-------------------------------------------------------------------------------------------------\n// check if module is exist, only if not exist create the web module\n//-------------------------------------------------------------------------------------------------\nexport function generateWebModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand:boolean ): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n LogLn(` [>]Handling Web Module named: [${webModuleName}] isLoadOnDemand: [${loadOnDemand}]`);\n rules.push(checkAndCreateModule(options, webModuleName, loadOnDemand));\n rules.push(checkAndCreateRouteForModule(options, webModuleName, loadOnDemand));\n\n return chain(rules)(tree,context);\n };\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// generate all the modules in env.modulesGen\n//-------------------------------------------------------------------------------------------------\nexport function generateWebModules(options: MagicOptionScheme, generateViaCLI:boolean = false): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n for (let webModuleInfo of env.modulesGen){\n if (webModuleInfo.moduleName !== undefined && webModuleInfo.moduleName !== \"\") {\n if (generateViaCLI) {\n if (webModuleInfo.moduleName === options.module) {\n rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\n }\n }else{\n rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\n }\n }\n }\n\n return chain(rules)(tree,context);\n };\n}\n\n\n\n//-------------------------------------------------------------------------------------------------\n// check if module is exist, only if not exist create the web module\n//-------------------------------------------------------------------------------------------------\nexport function checkAndCreateRouteForModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand :boolean): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n if (loadOnDemand) {\n const newDestRoutePathForModule = env.metadata.paths.getRoutePathForWebModule(webModuleName);\n\n // only if file not exist then copy the default route\n if (!tree.exists(newDestRoutePathForModule)) {\n rules.push(createRoute(options, webModuleName));\n }\n else{\n // if file exist then only update the magic.gen.lib.module.ts\n rules.push(addRouteFileToModuleFile(options, webModuleName));\n }\n }\n return chain(rules)(tree,context);\n };\n}\n\n\n\n//-------------------------------------------------------------------------------------------------\n// create route for module\n//-------------------------------------------------------------------------------------------------\nexport function createRoute(options: MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n rules.push(copyDefaultRouteMagicFilesToWebModule(options, webModuleName));\n // --------------------------------------------------------\n // // generate the route for module /////\n // let routeItem : RouteTable = new RouteTable();\n // routeItem.module_name = webModuleName;\n //\n // let route:Route = new Route();\n // route.ModuleName = webModuleName;\n // route.OutletName=\"\";\n // route.RouteName=\"\";\n // route.children=null;\n //\n // routeItem.routesArray = [route];\n // rules.push(genRouteFile(options, routeItem ));\n // --------------------------------------------------------\n // update the new MagicRoutingModule in file magic.gen.lib.module.ts of the module\n\n\n rules.push(addRouteFileToModuleFile(options, webModuleName));\n\n return chain(rules)(tree,context);\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// create route for module\n//-------------------------------------------------------------------------------------------------\nexport function addRouteFileToModuleFile(options: MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n const modulePath = getWebModuleFullFileName(webModuleName); // get the magic.gen.lib.module.ts according to the module name\n const moduleName = `MagicRoutingModule`;//for now it will be the same for all modules ... getWebModuleClass(webModuleName);\n const srcModuleName = `./app.routes`;\n\n rules.push(addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName));\n\n return chain(rules)(tree,context);\n };\n}\n//-------------------------------------------------------------------------------------------------\n// copy the two default files into the web module path\n//-------------------------------------------------------------------------------------------------\nfunction copyDefaultRouteMagicFilesToWebModule(options:MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree,context:SchematicContext) => {\n const routeFileForWebModulePath = env.metadata.paths.getRoutePathForWebModule(webModuleName);\n\n\n if(tree.exists(routeFileForWebModulePath))\n {\n let rules:Rule[] = [];\n return chain(rules)(tree,context);\n }\n else\n {\n const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n LogLn(`[ >] copy default Route file to webModule [${webModuleName}]`)\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url(`./../mg-add/webModule/`), [\n\n move(webModulePath)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(tree,context);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"init-add-modules.rule.js","sourceRoot":"","sources":["init-add-modules.rule.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n apply, branchAndMerge,\n chain,\n MergeStrategy, mergeWith,\n move,\n Rule,\n SchematicContext, SchematicsException,\n Tree,\n url\n} from \"@angular-devkit/schematics\";\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\nimport {env, GEN_FOLDER, GEN_LAZY_LOAD_MODULES_ARRAY} from \"../env\";\nimport { LogLn } from \"../Util\";\nimport { Route, RouteTable, webModuleItem } from \"../../../types/interfaces/app\";\nimport {addModuleImportToModule, getSourceFile} from \"../../utils/ast\";\nimport { ModuleInfo } from \"../../../types/interfaces/env.interface\";\n\nimport {findNodes} from \"../../utils/devkit-utils/ast-utils\";\nimport * as ts from \"typescript\";\n//-------------------------------------------------------------------------------------------------\n// init generate module into env.modulesGen\n//-------------------------------------------------------------------------------------------------\nexport function initGenModules(options: MagicOptionScheme, generateViaCLI:boolean = false): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let metadata = env.metadata;\n let programList = env.programList;\n env.modulesGen = [];\n let web_modules:webModuleItem [] = metadata.config.web_modules;\n\n if(generateViaCLI){\n let programListString = JSON.stringify(programList.programListContents);\n\n // Validate whether the component is valid\n if(programListString.includes(options.component)){\n let moduleInfo: ModuleInfo = new ModuleInfo(options.module, options.loadOnDemand);\n env.modulesGen.push(moduleInfo)\n }else{\n LogLn(`Invalid component ${options.component} to generate.`);\n }\n }else{\n // Generate only one module from --module=xxxx\n if (options.module) {\n let moduleInfo : ModuleInfo = new ModuleInfo(options.module, options.loadOnDemand);\n env.modulesGen.push(moduleInfo)\n } else {\n\n // Generate list of components from config.json, properties web_modules.module_name\n for (let modulePath of web_modules) {\n //LogLn(` Web Module name: [${modulePath.module_name}] IsLoadOnDemand? [${modulePath.load_on_demand}]`);\n let moduleInfo : ModuleInfo = new ModuleInfo(modulePath.module_name, modulePath.load_on_demand);\n env.modulesGen.push(moduleInfo);\n }\n }\n }\n if(!generateViaCLI)\n LogLn(` Number of modules to be check for generate: ${web_modules.length}`);\n return tree;\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// overwrite the web module file name with the new content\n//-------------------------------------------------------------------------------------------------\nexport function overwriteWebModuleFileName(options: any, moduleNameFileName:string, content:string): Rule {\n return (tree: Tree, _context: SchematicContext) => {\n\n if(!tree.exists(moduleNameFileName)){\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! : ${moduleNameFileName}`);\n }\n\n tree.overwrite(moduleNameFileName, content);\n return tree;\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// update the the web module file name with the new class name\n//-------------------------------------------------------------------------------------------------\nexport function updateWebModuleFileWithNewClassName(options: any, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let rules:Rule[] = [];\n\n const origModuleFileName = getWebModuleFullFileName(webModuleName)\n\n // create new class name for \"web Module Name\"\n let newClassModuleName = getWebModuleClass(webModuleName );\n\n //read the exist module file name\n const text = tree.read(origModuleFileName);\n\n if (text === null) {\n throw new SchematicsException(`File ${origModuleFileName} does not exist.`);\n }\n let sourceText = text.toString('utf-8');\n\n if (sourceText !== \"\") {\n let newsourceText: string = sourceText.replace(`MagicGenLibModule`, newClassModuleName);\n rules.push(overwriteWebModuleFileName(options, origModuleFileName, newsourceText));\n\n }\n return chain(rules)(tree, context);\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// copy the two default files into the web module path\n//-------------------------------------------------------------------------------------------------\nfunction copyDefaultMagicFilesToWebModule(options:MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree,context:SchematicContext) => {\n const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url(`./../mg-add/files/src/app/magic/`), [\n\n move(webModulePath)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(tree,context);\n }\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// delete LazyLoadService for non root modules\n//-------------------------------------------------------------------------------------------------\nfunction deleteLazyLoadService( webModuleName:string): Rule {\n return (tree: Tree) => {\n const lazyLoaderServicePath = getDestinationModulePathByWebModuleName(webModuleName) + '/lazy-loader.service.ts';\n\n if(webModuleName != '') {\n if (!tree.exists(lazyLoaderServicePath)) {\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! :lazyLoaderServicePath`);\n }\n\n tree.delete(lazyLoaderServicePath);\n return tree;\n }\n }\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// get destination path according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nexport function getDestinationModulePathByWebModuleName(webModuleName:string):string {\n const newDestModulePath = `${env.metadata.paths.rootMagicGenFolder}/${GEN_FOLDER}/${webModuleName}`;\n return newDestModulePath;\n}\n\n//-------------------------------------------------------------------------------------------------\n// get web module full file name according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nfunction getWebModuleFullFileName(webModuleName:string):string {\n// calc the path of new the module\n const newDestModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n return `${newDestModulePath}/magic.gen.lib.module.ts`;\n}\n\n//-------------------------------------------------------------------------------------------------\n// get web module class according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\nfunction getWebModuleClass(webModuleName:string):string {\n return `Magic` + webModuleName + `Module`;\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// add magic module to app module\n//-------------------------------------------------------------------------------------------------\nfunction addMagicModuleToAppModule(options: MagicOptionScheme, modulePath:string, moduleName:string, srcModuleName:string) : Rule {\n return (tree: Tree , context : SchematicContext)=>{\n const project = env.project;\n\n LogLn(` [>] add New Web Module :[${moduleName}] `);\n LogLn(` [>] from :[${srcModuleName}]`);\n LogLn(` [>] To App Module :[${modulePath}]`);\n addModuleImportToModule(\n tree,\n modulePath, // for now we will update env.metadata.paths.magicGenLibModule\n moduleName, // 'MagicXXXModule',\n srcModuleName, // `./XXX/magic.gen.lib.module`\n );\n return tree;\n }\n}\n\n//-------------------------------------------------------------------------------------------------\n// create module\n//-------------------------------------------------------------------------------------------------\nexport function checkAndCreateModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand: boolean ): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules: Rule[] = [];\n const webModuleFullFileName = getWebModuleFullFileName(webModuleName);\n // only if not exist create the new 2 files magic.gen.lib.module.ts & component-list.g.ts\n if (!tree.exists(webModuleFullFileName)) {\n rules.push(copyDefaultMagicFilesToWebModule(options, webModuleName));\n rules.push(updateWebModuleFileWithNewClassName(tree, webModuleName));\n rules.push(deleteLazyLoadService(webModuleName));\n // for NON load on demand we need to update magic root module\n if (!loadOnDemand) {\n const newDestModulePath = `./${webModuleName}/magic.gen.lib.module`;\n const webModuleClass = getWebModuleClass(webModuleName);\n rules.push(addMagicModuleToAppModule(options, env.metadata.paths.magicGenLibModule, webModuleClass, newDestModulePath));\n }\n return chain(rules)(tree, context);\n }\n ;\n }\n}\n\n//-------------------------------------------------------------------------------------------------\n// check if module is exist, only if not exist create the web module\n//-------------------------------------------------------------------------------------------------\nexport function generateWebModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand:boolean ): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n LogLn(` [>]Handling Web Module named: [${webModuleName}] isLoadOnDemand: [${loadOnDemand}]`);\n rules.push(checkAndCreateModule(options, webModuleName, loadOnDemand));\n rules.push(checkAndCreateRouteForModule(options, webModuleName, loadOnDemand));\n\n return chain(rules)(tree,context);\n };\n}\n\n\n//-------------------------------------------------------------------------------------------------\n// generate all the modules in env.modulesGen\n//-------------------------------------------------------------------------------------------------\nexport function generateWebModules(options: MagicOptionScheme, generateViaCLI:boolean = false): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n for (let webModuleInfo of env.modulesGen){\n if (webModuleInfo.moduleName !== undefined && webModuleInfo.moduleName !== \"\") {\n if (generateViaCLI) {\n if (webModuleInfo.moduleName === options.module) {\n rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\n }\n }else{\n rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\n }\n }\n }\n\n return chain(rules)(tree,context);\n };\n}\n\n\n\n//-------------------------------------------------------------------------------------------------\n// check if module is exist, only if not exist create the web module\n//-------------------------------------------------------------------------------------------------\nexport function checkAndCreateRouteForModule(options: MagicOptionScheme, webModuleName:string, loadOnDemand :boolean): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n if (loadOnDemand) {\n const newDestRoutePathForModule = env.metadata.paths.getRoutePathForWebModule(webModuleName);\n\n // only if file not exist then copy the default route\n if (!tree.exists(newDestRoutePathForModule)) {\n rules.push(createRoute(options, webModuleName));\n }\n else{\n // if file exist then only update the magic.gen.lib.module.ts\n rules.push(addRouteFileToModuleFile(options, webModuleName));\n }\n }\n return chain(rules)(tree,context);\n };\n}\n\n\n\n//-------------------------------------------------------------------------------------------------\n// create route for module\n//-------------------------------------------------------------------------------------------------\nexport function createRoute(options: MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n rules.push(copyDefaultRouteMagicFilesToWebModule(options, webModuleName));\n // --------------------------------------------------------\n // // generate the route for module /////\n // let routeItem : RouteTable = new RouteTable();\n // routeItem.module_name = webModuleName;\n //\n // let route:Route = new Route();\n // route.ModuleName = webModuleName;\n // route.OutletName=\"\";\n // route.RouteName=\"\";\n // route.children=null;\n //\n // routeItem.routesArray = [route];\n // rules.push(genRouteFile(options, routeItem ));\n // --------------------------------------------------------\n // update the new MagicRoutingModule in file magic.gen.lib.module.ts of the module\n\n\n rules.push(addRouteFileToModuleFile(options, webModuleName));\n\n return chain(rules)(tree,context);\n };\n}\n\n//-------------------------------------------------------------------------------------------------\n// create route for module\n//-------------------------------------------------------------------------------------------------\nexport function addRouteFileToModuleFile(options: MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree, context: SchematicContext) => {\n\n let rules:Rule[] = [];\n\n const modulePath = getWebModuleFullFileName(webModuleName); // get the magic.gen.lib.module.ts according to the module name\n const moduleName = `MagicRoutingModule`;//for now it will be the same for all modules ... getWebModuleClass(webModuleName);\n const srcModuleName = `./app.routes`;\n\n rules.push(addMagicModuleToAppModule(options, modulePath, moduleName, srcModuleName));\n\n return chain(rules)(tree,context);\n };\n}\n//-------------------------------------------------------------------------------------------------\n// copy the two default files into the web module path\n//-------------------------------------------------------------------------------------------------\nfunction copyDefaultRouteMagicFilesToWebModule(options:MagicOptionScheme, webModuleName:string): Rule {\n return (tree: Tree,context:SchematicContext) => {\n const routeFileForWebModulePath = env.metadata.paths.getRoutePathForWebModule(webModuleName);\n\n\n if(tree.exists(routeFileForWebModulePath))\n {\n let rules:Rule[] = [];\n return chain(rules)(tree,context);\n }\n else\n {\n const webModulePath = getDestinationModulePathByWebModuleName(webModuleName);\n LogLn(`[ >] copy default Route file to webModule [${webModuleName}]`)\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url(`./../mg-add/webModule/`), [\n\n move(webModulePath)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(tree,context);\n }\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initGenComponentsFromList = exports.initAndGenComponentsForModule = void 0;
3
+ exports.initAndGenComponentsForModule = initAndGenComponentsForModule;
4
+ exports.initGenComponentsFromList = initGenComponentsFromList;
4
5
  const schematics_1 = require("@angular-devkit/schematics");
5
6
  const env_1 = require("../env");
6
7
  const load_views_gen_rule_1 = require("./load-views-gen.rule");
@@ -44,7 +45,6 @@ function initAndGenComponentsForModule(options, shouldBuildAndUpdateModule, gene
44
45
  return (0, schematics_1.chain)(rules)(tree, context);
45
46
  };
46
47
  }
47
- exports.initAndGenComponentsForModule = initAndGenComponentsForModule;
48
48
  function initGenComponentsFromList(options, module_name, component, form_files) {
49
49
  return (host, context) => {
50
50
  let metadata = env_1.env.metadata;
@@ -63,5 +63,4 @@ function initGenComponentsFromList(options, module_name, component, form_files)
63
63
  return host;
64
64
  };
65
65
  }
66
- exports.initGenComponentsFromList = initGenComponentsFromList;
67
66
  //# sourceMappingURL=init-gen-components.rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-gen-components.rule.js","sourceRoot":"","sources":["init-gen-components.rule.ts"],"names":[],"mappings":"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","sourcesContent":["import { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { env } from \"../env\";\r\nimport { loadViewsToGen } from \"./load-views-gen.rule\";\r\nimport { buildViews } from \"./build-view.rule\";\r\nimport { componentlistGen } from \"./component-list.rule\";\r\nimport { generateWebModules, initGenModules } from \"./init-add-modules.rule\";\r\nimport { displayMessge } from \"../utils\";\r\nimport {LogLn} from \"../Util\";\r\n\r\nexport function initAndGenComponentsForModule(options: MagicOptionScheme, shouldBuildAndUpdateModule: boolean, generateViaCLI: boolean = false): Rule {\r\n return (tree: Tree, context: SchematicContext) => {\r\n let metadata = env.metadata;\r\n env.componentsGen = [];\r\n let rules:Rule[] = [];\r\n\r\n rules.push(displayMessge(options, \" ********************************* START GENERATE *********************************\"))\r\n // if we need to build and update module , first generate(if needed) the modules\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(initGenModules (options, generateViaCLI));\r\n rules.push(generateWebModules(options, generateViaCLI));\r\n }\r\n\r\n // TO DO: Following code can be simplified.\r\n if(generateViaCLI){\r\n const componentsArray = [options.component];\r\n rules.push(initGenComponentsFromList(options, options.module, options.component, componentsArray));\r\n rules.push(loadViewsToGen(options));\r\n\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(buildViews(options, options.module));\r\n rules.push(componentlistGen(options, options.module, options.loadOnDemand));\r\n }\r\n }else{\r\n for (let moduleJsonPath of metadata.config.web_modules) {\r\n rules.push(displayMessge(options, ` ****** Start Web Module name : [${moduleJsonPath.module_name}] *******`))\r\n\r\n rules.push(initGenComponentsFromList(options, moduleJsonPath.module_name, options.component, moduleJsonPath.form_files));\r\n rules.push(loadViewsToGen(options));\r\n\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(buildViews(options, moduleJsonPath.module_name));\r\n rules.push(componentlistGen(options, moduleJsonPath.module_name, moduleJsonPath.load_on_demand));\r\n }\r\n }\r\n }\r\n\r\n rules.push(displayMessge(options, \" ********************************* E N D GENERATE *********************************\"))\r\n return chain(rules)(tree, context);\r\n };\r\n}\r\n\r\n\r\nexport function initGenComponentsFromList(options: MagicOptionScheme, module_name:string, component: string, form_files: string[]): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n let metadata = env.metadata;\r\n env.componentsGen = [];\r\n\r\n // Generate only one component from --component=xxxx\r\n if (component) {\r\n env.componentsGen.push(component)\r\n } else {\r\n\r\n // Generate list of components from config.json, properties form_views.\r\n for (let cmpJsonPath of form_files) {\r\n\r\n let JsonRelativePath = env.metadata.paths.getRelativePathForComponentInModule(module_name, cmpJsonPath);\r\n\r\n env.componentsGen.push(JsonRelativePath);\r\n }\r\n }\r\n return host;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"init-gen-components.rule.js","sourceRoot":"","sources":["init-gen-components.rule.ts"],"names":[],"mappings":"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","sourcesContent":["import { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { env } from \"../env\";\r\nimport { loadViewsToGen } from \"./load-views-gen.rule\";\r\nimport { buildViews } from \"./build-view.rule\";\r\nimport { componentlistGen } from \"./component-list.rule\";\r\nimport { generateWebModules, initGenModules } from \"./init-add-modules.rule\";\r\nimport { displayMessge } from \"../utils\";\r\nimport {LogLn} from \"../Util\";\r\n\r\nexport function initAndGenComponentsForModule(options: MagicOptionScheme, shouldBuildAndUpdateModule: boolean, generateViaCLI: boolean = false): Rule {\r\n return (tree: Tree, context: SchematicContext) => {\r\n let metadata = env.metadata;\r\n env.componentsGen = [];\r\n let rules:Rule[] = [];\r\n\r\n rules.push(displayMessge(options, \" ********************************* START GENERATE *********************************\"))\r\n // if we need to build and update module , first generate(if needed) the modules\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(initGenModules (options, generateViaCLI));\r\n rules.push(generateWebModules(options, generateViaCLI));\r\n }\r\n\r\n // TO DO: Following code can be simplified.\r\n if(generateViaCLI){\r\n const componentsArray = [options.component];\r\n rules.push(initGenComponentsFromList(options, options.module, options.component, componentsArray));\r\n rules.push(loadViewsToGen(options));\r\n\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(buildViews(options, options.module));\r\n rules.push(componentlistGen(options, options.module, options.loadOnDemand));\r\n }\r\n }else{\r\n for (let moduleJsonPath of metadata.config.web_modules) {\r\n rules.push(displayMessge(options, ` ****** Start Web Module name : [${moduleJsonPath.module_name}] *******`))\r\n\r\n rules.push(initGenComponentsFromList(options, moduleJsonPath.module_name, options.component, moduleJsonPath.form_files));\r\n rules.push(loadViewsToGen(options));\r\n\r\n if (shouldBuildAndUpdateModule) {\r\n rules.push(buildViews(options, moduleJsonPath.module_name));\r\n rules.push(componentlistGen(options, moduleJsonPath.module_name, moduleJsonPath.load_on_demand));\r\n }\r\n }\r\n }\r\n\r\n rules.push(displayMessge(options, \" ********************************* E N D GENERATE *********************************\"))\r\n return chain(rules)(tree, context);\r\n };\r\n}\r\n\r\n\r\nexport function initGenComponentsFromList(options: MagicOptionScheme, module_name:string, component: string, form_files: string[]): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n let metadata = env.metadata;\r\n env.componentsGen = [];\r\n\r\n // Generate only one component from --component=xxxx\r\n if (component) {\r\n env.componentsGen.push(component)\r\n } else {\r\n\r\n // Generate list of components from config.json, properties form_views.\r\n for (let cmpJsonPath of form_files) {\r\n\r\n let JsonRelativePath = env.metadata.paths.getRelativePathForComponentInModule(module_name, cmpJsonPath);\r\n\r\n env.componentsGen.push(JsonRelativePath);\r\n }\r\n }\r\n return host;\r\n };\r\n}\r\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initMagicMetadata = void 0;
3
+ exports.initMagicMetadata = initMagicMetadata;
4
4
  const metadata_class_1 = require("../metadata.class");
5
5
  const env_1 = require("../env");
6
6
  const config_1 = require("../../utils/devkit-utils/config");
@@ -15,5 +15,4 @@ function initMagicMetadata(options) {
15
15
  return host;
16
16
  };
17
17
  }
18
- exports.initMagicMetadata = initMagicMetadata;
19
18
  //# sourceMappingURL=init-magic-metadata.rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-magic-metadata.rule.js","sourceRoot":"","sources":["init-magic-metadata.rule.ts"],"names":[],"mappings":";;;AACA,sDAAkD;AAClD,gCAA6B;AAC7B,4DAAwF;AAIxF,SAAgB,iBAAiB,CAAC,OAAyB;IACzD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAC,EAAE;QAC9C,IAAI,CAAC,SAAG,CAAC,QAAQ,EAAG;YAClB,SAAG,CAAC,SAAS,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;YACnC,SAAG,CAAC,OAAO,GAAK,IAAA,gCAAuB,EAAC,SAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxE,SAAG,CAAC,QAAQ,GAAI,IAAI,8BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,SAAG,CAAC,WAAW,GAAG,IAAI,8BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAVD,8CAUC","sourcesContent":["import { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { MagicMetadata } from \"../metadata.class\";\nimport { env } from \"../env\";\nimport { getProjectFromWorkspace, getWorkspace } from \"../../utils/devkit-utils/config\";\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\n\n\nexport function initMagicMetadata(options:MagicOptionScheme) : Rule {\n return (host: Tree, context: SchematicContext)=>{\n if( !env.metadata ) {\n env.workspace = getWorkspace(host);\n env.project = getProjectFromWorkspace(env.workspace, options.project);\n env.metadata = new MagicMetadata(host, context, options);\n env.programList = new MagicMetadata(host, context, options);\n }\n return host;\n }\n}\n\n"]}
1
+ {"version":3,"file":"init-magic-metadata.rule.js","sourceRoot":"","sources":["init-magic-metadata.rule.ts"],"names":[],"mappings":";;AAOA,8CAUC;AAhBD,sDAAkD;AAClD,gCAA6B;AAC7B,4DAAwF;AAIxF,SAAgB,iBAAiB,CAAC,OAAyB;IACzD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAC,EAAE;QAC9C,IAAI,CAAC,SAAG,CAAC,QAAQ,EAAG,CAAC;YACnB,SAAG,CAAC,SAAS,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;YACnC,SAAG,CAAC,OAAO,GAAK,IAAA,gCAAuB,EAAC,SAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxE,SAAG,CAAC,QAAQ,GAAI,IAAI,8BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,SAAG,CAAC,WAAW,GAAG,IAAI,8BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC","sourcesContent":["import { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { MagicMetadata } from \"../metadata.class\";\nimport { env } from \"../env\";\nimport { getProjectFromWorkspace, getWorkspace } from \"../../utils/devkit-utils/config\";\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\n\n\nexport function initMagicMetadata(options:MagicOptionScheme) : Rule {\n return (host: Tree, context: SchematicContext)=>{\n if( !env.metadata ) {\n env.workspace = getWorkspace(host);\n env.project = getProjectFromWorkspace(env.workspace, options.project);\n env.metadata = new MagicMetadata(host, context, options);\n env.programList = new MagicMetadata(host, context, options);\n }\n return host;\n }\n}\n\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadViewsToGen = void 0;
3
+ exports.loadViewsToGen = loadViewsToGen;
4
4
  const utils_1 = require("../utils");
5
5
  const env_1 = require("../env");
6
6
  const Util_1 = require("../Util");
@@ -26,5 +26,4 @@ function loadViewsToGen(options) {
26
26
  return host;
27
27
  };
28
28
  }
29
- exports.loadViewsToGen = loadViewsToGen;
30
29
  //# sourceMappingURL=load-views-gen.rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-views-gen.rule.js","sourceRoot":"","sources":["load-views-gen.rule.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AACpC,gCAA6B;AAC7B,kCAAqC;AAErC,kDAA8C;AAG9C,SAAgB,cAAc,CAAC,OAA0B;IACvD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAE9B,SAAG,CAAC,GAAG,GAAG;YACR,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,IAAA,YAAK,EAAC,oCAAoC,CAAC,CAAC;QAC5C,SAAG,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtE,IAAA,YAAK,EAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAA,YAAK,EAAC,yCAAyC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACvF,SAAG,CAAC,GAAG,GAAG,IAAA,0BAAW,EAAC,SAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAtBD,wCAsBC","sourcesContent":["import { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport { readJson } from \"../utils\";\r\nimport { env } from \"../env\";\r\nimport { Log, LogLn } from \"../Util\";\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { processJson } from \"../process-json\";\r\n\r\n\r\nexport function loadViewsToGen(options: MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const metadata = env.metadata;\r\n\r\n env.app = {\r\n name: options.project,\r\n suffix: \"mga\",\r\n views: []\r\n };\r\n\r\n LogLn(`*** Step 1: Loading JSON files ***`);\r\n env.componentsGen.forEach(cmpJsonPath => {\r\n cmpJsonPath = env.metadata.paths.getJsonPathForComponent(cmpJsonPath);\r\n LogLn(`[>] Loading JSON file ${cmpJsonPath}`);\r\n let view = readJson(host, cmpJsonPath);\r\n env.app.views.push(view);\r\n });\r\n LogLn(`*** Step 2: Processing JSON files - (${env.app.views.length} components) ***`);\r\n env.app = processJson(env.app);\r\n //console.log(`Number of app.views to generate: ${env.app.views.length}`);\r\n return host;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"load-views-gen.rule.js","sourceRoot":"","sources":["load-views-gen.rule.ts"],"names":[],"mappings":";;AAQA,wCAsBC;AA7BD,oCAAoC;AACpC,gCAA6B;AAC7B,kCAAqC;AAErC,kDAA8C;AAG9C,SAAgB,cAAc,CAAC,OAA0B;IACvD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAE9B,SAAG,CAAC,GAAG,GAAG;YACR,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,IAAA,YAAK,EAAC,oCAAoC,CAAC,CAAC;QAC5C,SAAG,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtE,IAAA,YAAK,EAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAA,YAAK,EAAC,yCAAyC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACvF,SAAG,CAAC,GAAG,GAAG,IAAA,0BAAW,EAAC,SAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport { readJson } from \"../utils\";\r\nimport { env } from \"../env\";\r\nimport { Log, LogLn } from \"../Util\";\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { processJson } from \"../process-json\";\r\n\r\n\r\nexport function loadViewsToGen(options: MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const metadata = env.metadata;\r\n\r\n env.app = {\r\n name: options.project,\r\n suffix: \"mga\",\r\n views: []\r\n };\r\n\r\n LogLn(`*** Step 1: Loading JSON files ***`);\r\n env.componentsGen.forEach(cmpJsonPath => {\r\n cmpJsonPath = env.metadata.paths.getJsonPathForComponent(cmpJsonPath);\r\n LogLn(`[>] Loading JSON file ${cmpJsonPath}`);\r\n let view = readJson(host, cmpJsonPath);\r\n env.app.views.push(view);\r\n });\r\n LogLn(`*** Step 2: Processing JSON files - (${env.app.views.length} components) ***`);\r\n env.app = processJson(env.app);\r\n //console.log(`Number of app.views to generate: ${env.app.views.length}`);\r\n return host;\r\n };\r\n}\r\n"]}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addImportTSModule = exports.getMagicConfig = exports.readJson = exports.getProject = exports.deleteMagicMetadataFolder = exports.deleteMagicFolder = exports.deleteMagicFiles = exports.copyMagicFiles = exports.displayMessge = void 0;
3
+ exports.displayMessge = displayMessge;
4
+ exports.copyMagicFiles = copyMagicFiles;
5
+ exports.deleteMagicFiles = deleteMagicFiles;
6
+ exports.deleteMagicFolder = deleteMagicFolder;
7
+ exports.deleteMagicMetadataFolder = deleteMagicMetadataFolder;
8
+ exports.getProject = getProject;
9
+ exports.readJson = readJson;
10
+ exports.getMagicConfig = getMagicConfig;
11
+ exports.addImportTSModule = addImportTSModule;
4
12
  const config_1 = require("../utils/devkit-utils/config");
5
13
  const schematics_1 = require("@angular-devkit/schematics");
6
14
  const env_1 = require("./env");
@@ -13,7 +21,6 @@ function displayMessge(options, message) {
13
21
  return host;
14
22
  };
15
23
  }
16
- exports.displayMessge = displayMessge;
17
24
  function copyMagicFiles(options) {
18
25
  return (host, context) => {
19
26
  const project = getProject(host, options.project);
@@ -29,7 +36,6 @@ function copyMagicFiles(options) {
29
36
  ])(host, context);
30
37
  };
31
38
  }
32
- exports.copyMagicFiles = copyMagicFiles;
33
39
  function deleteMagicFiles(option) {
34
40
  return (host) => {
35
41
  const metadta = env_1.env.metadata;
@@ -51,7 +57,6 @@ function deleteMagicFiles(option) {
51
57
  return host;
52
58
  };
53
59
  }
54
- exports.deleteMagicFiles = deleteMagicFiles;
55
60
  function deleteMagicFolder(option) {
56
61
  return (host) => {
57
62
  const metadta = env_1.env.metadata;
@@ -63,7 +68,6 @@ function deleteMagicFolder(option) {
63
68
  return host;
64
69
  };
65
70
  }
66
- exports.deleteMagicFolder = deleteMagicFolder;
67
71
  function deleteMagicMetadataFolder(option) {
68
72
  return (host) => {
69
73
  const metadta = env_1.env.metadata;
@@ -75,13 +79,11 @@ function deleteMagicMetadataFolder(option) {
75
79
  return host;
76
80
  };
77
81
  }
78
- exports.deleteMagicMetadataFolder = deleteMagicMetadataFolder;
79
82
  function getProject(host, projectName) {
80
83
  const workspace = (0, config_1.getWorkspace)(host);
81
84
  const project = (0, config_1.getProjectFromWorkspace)(workspace, projectName);
82
85
  return project;
83
86
  }
84
- exports.getProject = getProject;
85
87
  function readJson(host, path) {
86
88
  const source = host.read(path);
87
89
  let file = null;
@@ -91,7 +93,6 @@ function readJson(host, path) {
91
93
  }
92
94
  return file;
93
95
  }
94
- exports.readJson = readJson;
95
96
  function getMagicConfig(host, project) {
96
97
  let path = `${project.root}/${env_1.METADATA_DIR}/config.json`;
97
98
  const source = host.read(path);
@@ -102,7 +103,6 @@ function getMagicConfig(host, project) {
102
103
  const config = JSON.parse(sourceText);
103
104
  return config;
104
105
  }
105
- exports.getMagicConfig = getMagicConfig;
106
106
  function addImportTSModule(path, name, from) {
107
107
  return (host, context) => {
108
108
  let moduleSource = (0, ast_1.getSourceFile)(host, path);
@@ -114,5 +114,4 @@ function addImportTSModule(path, name, from) {
114
114
  host.commitUpdate(recorder);
115
115
  };
116
116
  }
117
- exports.addImportTSModule = addImportTSModule;
118
117
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getProjectFromWorkspace, getWorkspace, Project } from \"../utils/devkit-utils/config\";\nimport {\n apply,\n branchAndMerge,\n chain,\n MergeStrategy,\n mergeWith,\n move,\n Rule,\n SchematicContext, template,\n Tree,\n url\n} from \"@angular-devkit/schematics\";\nimport { env, METADATA_DIR } from \"./env\";\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\nimport { insertImport } from \"../utils/devkit-utils/route-utils\";\nimport { getSourceFile } from \"../utils/ast\";\nimport { InsertChange } from \"../utils/devkit-utils/change\";\nimport { MagicMetadata } from \"./metadata.class\";\nimport { LogLn } from \"./Util\";\n\nexport function displayMessge(options:MagicOptionScheme, message:string) : Rule {\n return (host: Tree, context: SchematicContext)=>{\n\n LogLn(`[>] ${message}`);\n return host;\n }\n}\n\n\nexport function copyMagicFiles(options:MagicOptionScheme): Rule {\n return (host: Tree,context:SchematicContext) => {\n const project = getProject(host, options.project);\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url('./files'), [\n template({\n skipHelp: options.skipHelp,\n }),\n move(project.root)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(host,context);\n }\n}\nexport function deleteMagicFiles(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n let files = [\n metadta.paths.appComponentPath,\n metadta.paths.appRoutesPath,\n metadta.paths.executionPath,\n metadta.paths.magicStylePath,\n\n // Magic Generate folder\n metadta.paths.rootMagicComponentListPath,\n metadta.paths.magicGenLibModule,\n metadta.paths.favIconPath\n ];\n for (let file of files)\t{\n if (host.exists(file)) {\n host.delete(file);\n }\n }\n return host;\n };\n\n}\nexport function deleteMagicFolder(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n const path = metadta.paths.magicGenFolderPath;\n //rimraf(path);\n host.getDir(path).visit( filePath => {\n host.delete(filePath);\n });\n return host;\n };\n\n}\nexport function deleteMagicMetadataFolder(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n const path = metadta.paths.metadataFolderPath;\n\n //rimraf(path);\n host.getDir(path).visit( filePath => {\n host.delete(filePath);\n });\n return host;\n };\n\n}\n\nexport function getProject(host: Tree, projectName: string): Project {\n const workspace = getWorkspace(host);\n const project = getProjectFromWorkspace(workspace, projectName);\n return project;\n}\nexport function readJson(host:Tree,path:string) {\n const source = host.read(path);\n let file = null;\n if (source) {\n const sourceText = source.toString(\"utf-8\");\n file = JSON.parse(sourceText);\n }\n return file;\n}\nexport function getMagicConfig(host: Tree, project: Project) {\n let path = `${project.root}/${METADATA_DIR}/config.json`;\n const source = host.read(path);\n if (!source) { return; }\n\n const sourceText = source.toString(\"utf-8\");\n const config = JSON.parse(sourceText);\n\n return config;\n}\n\nexport function addImportTSModule(path:string,name:string,from:string) : Rule {\n return (host: Tree, context:SchematicContext) => {\n\n let moduleSource = getSourceFile(host, path);\n\n const recorder = host.beginUpdate(path);\n\n const routesChange =insertImport(moduleSource, path, name,from) as InsertChange;\n if (routesChange.toAdd) {\n recorder.insertLeft(routesChange.pos, routesChange.toAdd);\n }\n host.commitUpdate(recorder);\n }\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getProjectFromWorkspace, getWorkspace, Project } from \"../utils/devkit-utils/config\";\nimport {\n apply,\n branchAndMerge,\n chain,\n MergeStrategy,\n mergeWith,\n move,\n Rule,\n SchematicContext, template,\n Tree,\n url\n} from \"@angular-devkit/schematics\";\nimport { env, METADATA_DIR } from \"./env\";\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\nimport { insertImport } from \"../utils/devkit-utils/route-utils\";\nimport { getSourceFile } from \"../utils/ast\";\nimport { InsertChange } from \"../utils/devkit-utils/change\";\nimport { MagicMetadata } from \"./metadata.class\";\nimport { LogLn } from \"./Util\";\n\nexport function displayMessge(options:MagicOptionScheme, message:string) : Rule {\n return (host: Tree, context: SchematicContext)=>{\n\n LogLn(`[>] ${message}`);\n return host;\n }\n}\n\n\nexport function copyMagicFiles(options:MagicOptionScheme): Rule {\n return (host: Tree,context:SchematicContext) => {\n const project = getProject(host, options.project);\n return chain([\n branchAndMerge(chain([\n mergeWith(\n apply(url('./files'), [\n template({\n skipHelp: options.skipHelp,\n }),\n move(project.root)\n ]), MergeStrategy.AllowCreationConflict)\n ]))\n ])(host,context);\n }\n}\nexport function deleteMagicFiles(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n let files = [\n metadta.paths.appComponentPath,\n metadta.paths.appRoutesPath,\n metadta.paths.executionPath,\n metadta.paths.magicStylePath,\n\n // Magic Generate folder\n metadta.paths.rootMagicComponentListPath,\n metadta.paths.magicGenLibModule,\n metadta.paths.favIconPath\n ];\n for (let file of files)\t{\n if (host.exists(file)) {\n host.delete(file);\n }\n }\n return host;\n };\n\n}\nexport function deleteMagicFolder(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n const path = metadta.paths.magicGenFolderPath;\n //rimraf(path);\n host.getDir(path).visit( filePath => {\n host.delete(filePath);\n });\n return host;\n };\n\n}\nexport function deleteMagicMetadataFolder(option:MagicOptionScheme): Rule {\n return (host: Tree) => {\n const metadta = env.metadata;\n const path = metadta.paths.metadataFolderPath;\n\n //rimraf(path);\n host.getDir(path).visit( filePath => {\n host.delete(filePath);\n });\n return host;\n };\n\n}\n\nexport function getProject(host: Tree, projectName: string): Project {\n const workspace = getWorkspace(host);\n const project = getProjectFromWorkspace(workspace, projectName);\n return project;\n}\nexport function readJson(host:Tree,path:string) {\n const source = host.read(path);\n let file = null;\n if (source) {\n const sourceText = source.toString(\"utf-8\");\n file = JSON.parse(sourceText);\n }\n return file;\n}\nexport function getMagicConfig(host: Tree, project: Project) {\n let path = `${project.root}/${METADATA_DIR}/config.json`;\n const source = host.read(path);\n if (!source) { return; }\n\n const sourceText = source.toString(\"utf-8\");\n const config = JSON.parse(sourceText);\n\n return config;\n}\n\nexport function addImportTSModule(path:string,name:string,from:string) : Rule {\n return (host: Tree, context:SchematicContext) => {\n\n let moduleSource = getSourceFile(host, path);\n\n const recorder = host.beginUpdate(path);\n\n const routesChange =insertImport(moduleSource, path, name,from) as InsertChange;\n if (routesChange.toAdd) {\n recorder.insertLeft(routesChange.pos, routesChange.toAdd);\n }\n host.commitUpdate(recorder);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mgInstallPrerequisites = void 0;
3
+ exports.mgInstallPrerequisites = mgInstallPrerequisites;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const init_magic_metadata_rule_1 = require("../magic-utils/rules/init-magic-metadata.rule");
6
6
  const tasks_1 = require("@angular-devkit/schematics/tasks");
@@ -12,7 +12,6 @@ function mgInstallPrerequisites(options) {
12
12
  installPrerequisitesSaveDev(options)
13
13
  ]);
14
14
  }
15
- exports.mgInstallPrerequisites = mgInstallPrerequisites;
16
15
  function installPrerequisitesSaveDev(option) {
17
16
  return (host, context) => {
18
17
  for (let dep of env_1.devDependencies) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,2DAAiF;AACjF,4FAAmF;AACnF,4DAA0E;AAC1E,4CAAmE;AACnE,8CAA2D;AAG3D,SAAgB,sBAAsB,CAAC,OAAyB;IAC9D,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,4CAAiB,EAAa,OAAO,CAAC;QACtC,2BAA2B,CAAG,OAAO,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AALD,wDAKC;AAGD,SAAS,2BAA2B,CAAC,MAAwB;IAC3D,OAAO,CAAC,IAAU,EAAE,OAAwB,EAAE,EAAE;QAC5C,KAAK,IAAI,GAAG,IAAI,qBAAe,EAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAA,iCAAuB,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;SACzE;QAED,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { initMagicMetadata} from \"../magic-utils/rules/init-magic-metadata.rule\";\nimport { NodePackageInstallTask } from \"@angular-devkit/schematics/tasks\";\nimport { dependencies, devDependencies } from \"../magic-utils/env\";\nimport { addPackageToPackageJson } from \"../utils/package\";\nimport { MagicOptionScheme } from \"../magic-utils/rules/magic-option.scheme\";\n\nexport function mgInstallPrerequisites(options:MagicOptionScheme): Rule {\n return chain([\n initMagicMetadata (options),\n installPrerequisitesSaveDev (options)\n ]);\n}\n\n\nfunction installPrerequisitesSaveDev(option:MagicOptionScheme): Rule {\n return (host: Tree, context:SchematicContext) => {\n for (let dep of devDependencies){\n context.logger.info(`[>] Add devDependencies ${dep.name}`);\n addPackageToPackageJson(host, 'devDependencies', dep.name, dep.version);\n }\n\n context.addTask(new NodePackageInstallTask());\n\n return host;\n };\n}\n\n\n\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAOA,wDAKC;AAZD,2DAAiF;AACjF,4FAAmF;AACnF,4DAA0E;AAC1E,4CAAmE;AACnE,8CAA2D;AAG3D,SAAgB,sBAAsB,CAAC,OAAyB;IAC9D,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,4CAAiB,EAAa,OAAO,CAAC;QACtC,2BAA2B,CAAG,OAAO,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAGD,SAAS,2BAA2B,CAAC,MAAwB;IAC3D,OAAO,CAAC,IAAU,EAAE,OAAwB,EAAE,EAAE;QAC5C,KAAK,IAAI,GAAG,IAAI,qBAAe,EAAC,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAA,iCAAuB,EAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { initMagicMetadata} from \"../magic-utils/rules/init-magic-metadata.rule\";\nimport { NodePackageInstallTask } from \"@angular-devkit/schematics/tasks\";\nimport { dependencies, devDependencies } from \"../magic-utils/env\";\nimport { addPackageToPackageJson } from \"../utils/package\";\nimport { MagicOptionScheme } from \"../magic-utils/rules/magic-option.scheme\";\n\nexport function mgInstallPrerequisites(options:MagicOptionScheme): Rule {\n return chain([\n initMagicMetadata (options),\n installPrerequisitesSaveDev (options)\n ]);\n}\n\n\nfunction installPrerequisitesSaveDev(option:MagicOptionScheme): Rule {\n return (host: Tree, context:SchematicContext) => {\n for (let dep of devDependencies){\n context.logger.info(`[>] Add devDependencies ${dep.name}`);\n addPackageToPackageJson(host, 'devDependencies', dep.name, dep.version);\n }\n\n context.addTask(new NodePackageInstallTask());\n\n return host;\n };\n}\n\n\n\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mgAdd = void 0;
3
+ exports.mgAdd = mgAdd;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const tasks_1 = require("@angular-devkit/schematics/tasks");
6
6
  const package_1 = require("./../utils/package");
@@ -30,7 +30,6 @@ function mgAdd(options) {
30
30
  //addMagicDependenciesToPackageJson (options),
31
31
  ]);
32
32
  }
33
- exports.mgAdd = mgAdd;
34
33
  function updateAppComponentHtmlFiles(options) {
35
34
  return (0, generate_rule_1.generate)({
36
35
  template: "./templates/angular/src/app/app.component.html.ejs",
@@ -69,9 +68,11 @@ function updateAngularJsonWithMagicStyle(options) {
69
68
  function updateTsConfigAppJson(option) {
70
69
  return (host, context) => {
71
70
  const tsConfigPath = env_1.env.metadata.paths.tsConfigAppJsonPath;
72
- const tsConfig = host.read(tsConfigPath).toString("utf-8");
71
+ const tsConfig = host.read(tsConfigPath).toString();
73
72
  // extract the comment
74
- let comment = tsConfig.substring(tsConfig.indexOf('/*'), tsConfig.indexOf('*/') + 2);
73
+ let firstIndex = tsConfig.indexOf('*/');
74
+ let secondIndex = tsConfig.indexOf('*/', firstIndex + 2);
75
+ let comment = tsConfig.substring(0, secondIndex + 2);
75
76
  // replace the comment as parsing json with comment throws exception
76
77
  var config = JSON.parse(tsConfig.replace(comment, ''));
77
78
  //Add module files for compilation
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Rule,\r\n chain,\r\n Tree,\r\n SchematicContext\r\n} from \"@angular-devkit/schematics\";\r\nimport {NodePackageInstallTask} from \"@angular-devkit/schematics/tasks\";\r\n\r\nimport {addPackageToPackageJson} from './../utils/package';\r\nimport { dependencies, devDependencies, env} from \"../magic-utils/env\";\r\nimport { addImportTSModule, copyMagicFiles} from \"../magic-utils/utils\";\r\nimport { initMagicMetadata} from \"../magic-utils/rules/init-magic-metadata.rule\";\r\nimport { addModuleImportToRootModule } from \"../utils/ast\";\r\nimport { LogLn } from \"../magic-utils/Util\";\r\nimport { generate } from \"../magic-utils/rules/generate.rule\";\r\nimport { GeneratedFileTypes } from \"../../types/enums/generated-file-types.enum\";\r\nimport { MagicOptionScheme } from \"../magic-utils/rules/magic-option.scheme\";\r\nimport {addProviderToModule, insertImport} from \"../utils/devkit-utils/ast-utils\";\r\nimport * as ts from 'typescript';\r\nimport {InsertChange} from \"../utils/devkit-utils/change\";\r\nexport function mgAdd(options:MagicOptionScheme): Rule {\r\n return chain([\r\n initMagicMetadata (options),\r\n copyMagicFiles (options),\r\n\r\n // handel app.modules.ts\r\n addMagicModuleToAppModule (options),\r\n\r\n // handel Angular.json\r\n updateAngularJsonWithMagicStyle (options),\r\n\r\n updateTsConfigAppJson (options),\r\n\r\n addLazyLoadProvider(),\r\n // handel app.component.html\r\n //updateAppComponentHtmlFiles (options),\r\n\r\n //handel package.Json\r\n //addMagicDependenciesToPackageJson (options),\r\n ]);\r\n}\r\n\r\nfunction updateAppComponentHtmlFiles(options:MagicOptionScheme): Rule {\r\n return generate({\r\n template : \"./templates/angular/src/app/app.component.html.ejs\",\r\n name : \"app.component.html\",\r\n destination : env.metadata.paths.rootMagicGenFolder,\r\n type :GeneratedFileTypes.HTML,\r\n data : {\r\n skipHelp : options.skipHelp\r\n }\r\n },options)\r\n}\r\nfunction updateAngularJsonWithMagicStyle(options:MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const project = env.project;\r\n let isDirty = false;\r\n\r\n let fullPathmagicStylePath = env.metadata.paths.magicStylePath;\r\n if (!project.architect.test.options.styles.includes(fullPathmagicStylePath)) {\r\n context.logger.info(` [>]add file ${fullPathmagicStylePath} to test`);\r\n project.architect.test.options.styles.push(fullPathmagicStylePath);\r\n isDirty = true;\r\n }\r\n\r\n if (!project.architect.build.options.styles.includes(fullPathmagicStylePath)) {\r\n context.logger.info(` [>]add file ${fullPathmagicStylePath} to build`);\r\n project.architect.build.options.styles.push(fullPathmagicStylePath);\r\n isDirty = true;\r\n }\r\n\r\n if(isDirty){\r\n let fullPath = env.metadata.paths.angularJsonPath;\r\n host.overwrite(fullPath, JSON.stringify(env.workspace, null, 2));\r\n }\r\n\r\n return host;\r\n };\r\n}\r\n\r\n// Angular 10 , does not include .ts file for compilation\r\n// So to avoid compilation error , add *.module.ts in includes section\r\nfunction updateTsConfigAppJson (option: MagicOptionScheme): Rule{\r\n return (host: Tree, context: SchematicContext) => {\r\n\r\n const tsConfigPath = env.metadata.paths.tsConfigAppJsonPath;\r\n const tsConfig = host.read(tsConfigPath)!.toString(\"utf-8\");\r\n\r\n // extract the comment\r\n let comment = tsConfig.substring(tsConfig.indexOf('/*'), tsConfig.indexOf('*/') + 2);\r\n\r\n // replace the comment as parsing json with comment throws exception\r\n var config = JSON.parse(tsConfig.replace(comment, ''));\r\n\r\n //Add module files for compilation\r\n if(!config['include'].includes('src/**/*module.ts'))\r\n config['include'].push('src/**/*module.ts');\r\n\r\n // append the comment again and write the file\r\n host.overwrite(tsConfigPath, comment + \"\\n\" + JSON.stringify(config, null , 2));\r\n return host;\r\n }\r\n}\r\n\r\nfunction addMagicDependenciesToPackageJson(option:MagicOptionScheme): Rule {\r\n\treturn (host: Tree, context: SchematicContext) => {\r\n\t if(!option.skipPackageJson){\r\n for (let dep of dependencies){\r\n LogLn(`[>] Add dependencies ${dep.name}`);\r\n addPackageToPackageJson(host, 'dependencies', dep.name, dep.version);\r\n }\r\n /*\r\n // done in pre-install step\r\n for (let dep of devDependencies){\r\n LogLn(`[>] Add devDependencies ${dep.name}`);\r\n addPackageToPackageJson(host, 'devDependencies', dep.name, dep.version);\r\n }\r\n */\r\n }\r\n\r\n\t\tif(!option.skipInstall){\r\n LogLn(`[>] Install dependencies.`);\r\n context.addTask(new NodePackageInstallTask());\r\n }else{\r\n LogLn(`skipIstalls ${dependencies.length} dependencies`);\r\n LogLn(`skipIstalls ${devDependencies.length} devDependencies`);\r\n }\r\n\r\n\t\treturn host;\r\n\t};\r\n}\r\nfunction addMagicModuleToAppModule(options: MagicOptionScheme) : Rule {\r\n return (host: Tree , context : SchematicContext)=>{\r\n const workspace = env.workspace;\r\n const project = env.project;\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'BrowserAnimationsModule',\r\n '@angular/platform-browser/animations',\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'ReactiveFormsModule',\r\n '@angular/forms',\r\n project);\r\n\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicModule',\r\n \"@magic-xpa/angular\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicAngularMaterialModule',\r\n \"@magic-xpa/angular-material-core\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicGenLibModule',\r\n \"./magic/magic.gen.lib.module\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicRoutingModule',\r\n \"./app.routes\",\r\n project);\r\n\r\n\r\n }\r\n}\r\n\r\nfunction addLazyLoadProvider(): Rule {\r\n return (host: Tree) => {\r\n const appmodule = env.metadata.paths.rootMagicGenFolder + '/app.module.ts';\r\n\r\n const lazyLoaderService = 'LazyLoaderService';\r\n const lazyLoaderServicePath = './magic/lazy-loader.service';\r\n\r\n let text = host.read(appmodule);\r\n let sourceText = text.toString('utf-8');\r\n let source = ts.createSourceFile(appmodule, sourceText, ts.ScriptTarget.Latest, true);\r\n let providerChanges = addProviderToModule(source, appmodule, '{ provide: MagicLazyLoaderService, useClass: LazyLoaderService }', lazyLoaderServicePath)\r\n\r\n const providerRecorder = host.beginUpdate(appmodule);\r\n for (const change of providerChanges) {\r\n if (change instanceof InsertChange) {\r\n if (!change.toAdd.includes('import')) // skip import change\r\n providerRecorder.insertLeft(change.pos, change.toAdd);\r\n }\r\n }\r\n host.commitUpdate(providerRecorder);\r\n\r\n const lazyLoaderServiceImport = insertImport(source, appmodule, lazyLoaderService, lazyLoaderServicePath, false);\r\n const lazyLoaderServiceChangesRecorder = host.beginUpdate(appmodule);\r\n if (lazyLoaderServiceImport instanceof InsertChange)\r\n lazyLoaderServiceChangesRecorder.insertLeft(lazyLoaderServiceImport.pos, lazyLoaderServiceImport.toAdd);\r\n host.commitUpdate(lazyLoaderServiceChangesRecorder);\r\n\r\n // add import for MagicLazyLoaderService\r\n const magicLazyLoaderServiceImportChanges: InsertChange = <InsertChange>insertImport(source, appmodule, 'MagicLazyLoaderService', '@magic-xpa/angular', false);\r\n const magicImportChangesRecorder = host.beginUpdate(appmodule);\r\n magicImportChangesRecorder.insertLeft(magicLazyLoaderServiceImportChanges.pos, magicLazyLoaderServiceImportChanges.toAdd)\r\n host.commitUpdate(magicImportChangesRecorder);\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Rule,\r\n chain,\r\n Tree,\r\n SchematicContext\r\n} from \"@angular-devkit/schematics\";\r\nimport {NodePackageInstallTask} from \"@angular-devkit/schematics/tasks\";\r\n\r\nimport {addPackageToPackageJson} from './../utils/package';\r\nimport { dependencies, devDependencies, env} from \"../magic-utils/env\";\r\nimport { addImportTSModule, copyMagicFiles} from \"../magic-utils/utils\";\r\nimport { initMagicMetadata} from \"../magic-utils/rules/init-magic-metadata.rule\";\r\nimport { addModuleImportToRootModule } from \"../utils/ast\";\r\nimport { LogLn } from \"../magic-utils/Util\";\r\nimport { generate } from \"../magic-utils/rules/generate.rule\";\r\nimport { GeneratedFileTypes } from \"../../types/enums/generated-file-types.enum\";\r\nimport { MagicOptionScheme } from \"../magic-utils/rules/magic-option.scheme\";\r\nimport {addProviderToModule, insertImport} from \"../utils/devkit-utils/ast-utils\";\r\nimport * as ts from 'typescript';\r\nimport {InsertChange} from \"../utils/devkit-utils/change\";\r\nexport function mgAdd(options:MagicOptionScheme): Rule {\r\n return chain([\r\n initMagicMetadata (options),\r\n copyMagicFiles (options),\r\n\r\n // handel app.modules.ts\r\n addMagicModuleToAppModule (options),\r\n\r\n // handel Angular.json\r\n updateAngularJsonWithMagicStyle (options),\r\n\r\n updateTsConfigAppJson (options),\r\n\r\n addLazyLoadProvider(),\r\n // handel app.component.html\r\n //updateAppComponentHtmlFiles (options),\r\n\r\n //handel package.Json\r\n //addMagicDependenciesToPackageJson (options),\r\n ]);\r\n}\r\n\r\nfunction updateAppComponentHtmlFiles(options:MagicOptionScheme): Rule {\r\n return generate({\r\n template : \"./templates/angular/src/app/app.component.html.ejs\",\r\n name : \"app.component.html\",\r\n destination : env.metadata.paths.rootMagicGenFolder,\r\n type :GeneratedFileTypes.HTML,\r\n data : {\r\n skipHelp : options.skipHelp\r\n }\r\n },options)\r\n}\r\nfunction updateAngularJsonWithMagicStyle(options:MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const project = env.project;\r\n let isDirty = false;\r\n\r\n let fullPathmagicStylePath = env.metadata.paths.magicStylePath;\r\n if (!project.architect.test.options.styles.includes(fullPathmagicStylePath)) {\r\n context.logger.info(` [>]add file ${fullPathmagicStylePath} to test`);\r\n project.architect.test.options.styles.push(fullPathmagicStylePath);\r\n isDirty = true;\r\n }\r\n\r\n if (!project.architect.build.options.styles.includes(fullPathmagicStylePath)) {\r\n context.logger.info(` [>]add file ${fullPathmagicStylePath} to build`);\r\n project.architect.build.options.styles.push(fullPathmagicStylePath);\r\n isDirty = true;\r\n }\r\n\r\n if(isDirty){\r\n let fullPath = env.metadata.paths.angularJsonPath;\r\n host.overwrite(fullPath, JSON.stringify(env.workspace, null, 2));\r\n }\r\n\r\n return host;\r\n };\r\n}\r\n\r\n// Angular 10 , does not include .ts file for compilation\r\n// So to avoid compilation error , add *.module.ts in includes section\r\nfunction updateTsConfigAppJson (option: MagicOptionScheme): Rule{\r\n return (host: Tree, context: SchematicContext) => {\r\n\r\n const tsConfigPath = env.metadata.paths.tsConfigAppJsonPath;\r\n const tsConfig = host.read(tsConfigPath).toString();\r\n\r\n // extract the comment\r\n let firstIndex = tsConfig.indexOf('*/');\r\n let secondIndex = tsConfig.indexOf('*/', firstIndex + 2);\r\n let comment = tsConfig.substring(0, secondIndex + 2);\r\n\r\n // replace the comment as parsing json with comment throws exception\r\n var config = JSON.parse(tsConfig.replace(comment, ''));\r\n\r\n //Add module files for compilation\r\n if(!config['include'].includes('src/**/*module.ts'))\r\n config['include'].push('src/**/*module.ts');\r\n\r\n // append the comment again and write the file\r\n host.overwrite(tsConfigPath, comment + \"\\n\" + JSON.stringify(config, null , 2));\r\n return host;\r\n }\r\n}\r\n\r\nfunction addMagicDependenciesToPackageJson(option:MagicOptionScheme): Rule {\r\n\treturn (host: Tree, context: SchematicContext) => {\r\n\t if(!option.skipPackageJson){\r\n for (let dep of dependencies){\r\n LogLn(`[>] Add dependencies ${dep.name}`);\r\n addPackageToPackageJson(host, 'dependencies', dep.name, dep.version);\r\n }\r\n /*\r\n // done in pre-install step\r\n for (let dep of devDependencies){\r\n LogLn(`[>] Add devDependencies ${dep.name}`);\r\n addPackageToPackageJson(host, 'devDependencies', dep.name, dep.version);\r\n }\r\n */\r\n }\r\n\r\n\t\tif(!option.skipInstall){\r\n LogLn(`[>] Install dependencies.`);\r\n context.addTask(new NodePackageInstallTask());\r\n }else{\r\n LogLn(`skipIstalls ${dependencies.length} dependencies`);\r\n LogLn(`skipIstalls ${devDependencies.length} devDependencies`);\r\n }\r\n\r\n\t\treturn host;\r\n\t};\r\n}\r\nfunction addMagicModuleToAppModule(options: MagicOptionScheme) : Rule {\r\n return (host: Tree , context : SchematicContext)=>{\r\n const workspace = env.workspace;\r\n const project = env.project;\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'BrowserAnimationsModule',\r\n '@angular/platform-browser/animations',\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'ReactiveFormsModule',\r\n '@angular/forms',\r\n project);\r\n\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicModule',\r\n \"@magic-xpa/angular\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicAngularMaterialModule',\r\n \"@magic-xpa/angular-material-core\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicGenLibModule',\r\n \"./magic/magic.gen.lib.module\",\r\n project);\r\n\r\n addModuleImportToRootModule(\r\n host,\r\n 'MagicRoutingModule',\r\n \"./app.routes\",\r\n project);\r\n\r\n\r\n }\r\n}\r\n\r\nfunction addLazyLoadProvider(): Rule {\r\n return (host: Tree) => {\r\n const appmodule = env.metadata.paths.rootMagicGenFolder + '/app.module.ts';\r\n\r\n const lazyLoaderService = 'LazyLoaderService';\r\n const lazyLoaderServicePath = './magic/lazy-loader.service';\r\n\r\n let text = host.read(appmodule);\r\n let sourceText = text.toString('utf-8');\r\n let source = ts.createSourceFile(appmodule, sourceText, ts.ScriptTarget.Latest, true);\r\n let providerChanges = addProviderToModule(source, appmodule, '{ provide: MagicLazyLoaderService, useClass: LazyLoaderService }', lazyLoaderServicePath)\r\n\r\n const providerRecorder = host.beginUpdate(appmodule);\r\n for (const change of providerChanges) {\r\n if (change instanceof InsertChange) {\r\n if (!change.toAdd.includes('import')) // skip import change\r\n providerRecorder.insertLeft(change.pos, change.toAdd);\r\n }\r\n }\r\n host.commitUpdate(providerRecorder);\r\n\r\n const lazyLoaderServiceImport = insertImport(source, appmodule, lazyLoaderService, lazyLoaderServicePath, false);\r\n const lazyLoaderServiceChangesRecorder = host.beginUpdate(appmodule);\r\n if (lazyLoaderServiceImport instanceof InsertChange)\r\n lazyLoaderServiceChangesRecorder.insertLeft(lazyLoaderServiceImport.pos, lazyLoaderServiceImport.toAdd);\r\n host.commitUpdate(lazyLoaderServiceChangesRecorder);\r\n\r\n // add import for MagicLazyLoaderService\r\n const magicLazyLoaderServiceImportChanges: InsertChange = <InsertChange>insertImport(source, appmodule, 'MagicLazyLoaderService', '@magic-xpa/angular', false);\r\n const magicImportChangesRecorder = host.beginUpdate(appmodule);\r\n magicImportChangesRecorder.insertLeft(magicLazyLoaderServiceImportChanges.pos, magicLazyLoaderServiceImportChanges.toAdd)\r\n host.commitUpdate(magicImportChangesRecorder);\r\n }\r\n}\r\n\r\n"]}
@@ -84,10 +84,12 @@ function updateTsConfigAppJson (option: MagicOptionScheme): Rule{
84
84
  return (host: Tree, context: SchematicContext) => {
85
85
 
86
86
  const tsConfigPath = env.metadata.paths.tsConfigAppJsonPath;
87
- const tsConfig = host.read(tsConfigPath)!.toString("utf-8");
87
+ const tsConfig = host.read(tsConfigPath).toString();
88
88
 
89
89
  // extract the comment
90
- let comment = tsConfig.substring(tsConfig.indexOf('/*'), tsConfig.indexOf('*/') + 2);
90
+ let firstIndex = tsConfig.indexOf('*/');
91
+ let secondIndex = tsConfig.indexOf('*/', firstIndex + 2);
92
+ let comment = tsConfig.substring(0, secondIndex + 2);
91
93
 
92
94
  // replace the comment as parsing json with comment throws exception
93
95
  var config = JSON.parse(tsConfig.replace(comment, ''));