@magic-xpa/cli 4.801.0-dev481.245 → 4.801.0-dev481.253

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 (84) hide show
  1. package/index.js +1 -1
  2. package/index.js.map +1 -1
  3. package/package.json +1 -1
  4. package/src/collection.json +2 -1
  5. package/src/public_api.js +3 -3
  6. package/src/public_api.js.map +1 -1
  7. package/src/schematics/magic-utils/env.js +5 -5
  8. package/src/schematics/magic-utils/env.js.map +1 -1
  9. package/src/schematics/magic-utils/env.ts +5 -5
  10. package/src/schematics/magic-utils/metadata.class.js +3 -3
  11. package/src/schematics/magic-utils/metadata.class.js.map +1 -1
  12. package/src/schematics/magic-utils/process-json.js +4 -4
  13. package/src/schematics/magic-utils/process-json.js.map +1 -1
  14. package/src/schematics/magic-utils/rules/build-control.rule.js +4 -4
  15. package/src/schematics/magic-utils/rules/build-control.rule.js.map +1 -1
  16. package/src/schematics/magic-utils/rules/build-view.rule.js +4 -4
  17. package/src/schematics/magic-utils/rules/build-view.rule.js.map +1 -1
  18. package/src/schematics/magic-utils/rules/component-list.rule.js +29 -50
  19. package/src/schematics/magic-utils/rules/component-list.rule.js.map +1 -1
  20. package/src/schematics/magic-utils/rules/component-list.rule.ts +2 -28
  21. package/src/schematics/magic-utils/rules/generate.rule.js +3 -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 +40 -24
  24. package/src/schematics/magic-utils/rules/init-add-modules.rule.js.map +1 -1
  25. package/src/schematics/magic-utils/rules/init-add-modules.rule.ts +21 -1
  26. package/src/schematics/magic-utils/rules/init-gen-components.rule.js +9 -9
  27. package/src/schematics/magic-utils/rules/init-gen-components.rule.js.map +1 -1
  28. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js +2 -2
  29. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js.map +1 -1
  30. package/src/schematics/magic-utils/rules/load-views-gen.rule.js +5 -5
  31. package/src/schematics/magic-utils/rules/load-views-gen.rule.js.map +1 -1
  32. package/src/schematics/magic-utils/utils.js +10 -10
  33. package/src/schematics/magic-utils/utils.js.map +1 -1
  34. package/src/schematics/mg-Install-prerequisites/index.js +3 -3
  35. package/src/schematics/mg-Install-prerequisites/index.js.map +1 -1
  36. package/src/schematics/mg-Install-prerequisites/schema.json +1 -1
  37. package/src/schematics/mg-add/files/src/app/magic/lazy-loader.service.ts +10 -0
  38. package/src/schematics/mg-add/index.js +52 -16
  39. package/src/schematics/mg-add/index.js.map +1 -1
  40. package/src/schematics/mg-add/index.ts +42 -3
  41. package/src/schematics/mg-add/schema.json +1 -1
  42. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js +2 -2
  43. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js.map +1 -1
  44. package/src/schematics/mg-add-tasks/schema.json +1 -1
  45. package/src/schematics/mg-delete-files/index.js +3 -3
  46. package/src/schematics/mg-delete-files/index.js.map +1 -1
  47. package/src/schematics/mg-delete-files/schema.json +1 -1
  48. package/src/schematics/mg-gen-module/index.js +4 -4
  49. package/src/schematics/mg-gen-module/index.js.map +1 -1
  50. package/src/schematics/mg-gen-module/schema.json +1 -1
  51. package/src/schematics/mg-generate/index.js +3 -3
  52. package/src/schematics/mg-generate/index.js.map +1 -1
  53. package/src/schematics/mg-generate/schema.json +1 -1
  54. package/src/schematics/mg-install/index.js +2 -2
  55. package/src/schematics/mg-install/index.js.map +1 -1
  56. package/src/schematics/mg-install/schema.json +1 -1
  57. package/src/schematics/mg-routes/index.js +6 -6
  58. package/src/schematics/mg-routes/index.js.map +1 -1
  59. package/src/schematics/mg-routes/schema.json +1 -1
  60. package/src/schematics/mg-single-control/index.js +4 -4
  61. package/src/schematics/mg-single-control/index.js.map +1 -1
  62. package/src/schematics/mg-single-control/schema.json +1 -1
  63. package/src/schematics/utils/ast.js +6 -6
  64. package/src/schematics/utils/ast.js.map +1 -1
  65. package/src/schematics/utils/devkit-utils/ast-utils_old.js +2 -2
  66. package/src/schematics/utils/devkit-utils/ast-utils_old.js.map +1 -1
  67. package/src/schematics/utils/devkit-utils/component.js +16 -16
  68. package/src/schematics/utils/devkit-utils/component.js.map +1 -1
  69. package/src/schematics/utils/devkit-utils/find-module.js +11 -11
  70. package/src/schematics/utils/devkit-utils/find-module.js.map +1 -1
  71. package/src/schematics/utils/devkit-utils/ng-ast-utils.js +6 -6
  72. package/src/schematics/utils/devkit-utils/ng-ast-utils.js.map +1 -1
  73. package/src/schematics/utils/devkit-utils/parse-name.js +3 -3
  74. package/src/schematics/utils/devkit-utils/parse-name.js.map +1 -1
  75. package/src/schematics/utils/devkit-utils/route-utils.js +16 -16
  76. package/src/schematics/utils/devkit-utils/route-utils.js.map +1 -1
  77. package/src/schematics/utils/html.js +1 -1
  78. package/src/schematics/utils/html.js.map +1 -1
  79. package/src/schematics/utils/testing.js +1 -1
  80. package/src/schematics/utils/testing.js.map +1 -1
  81. package/src/types/enums/Enums.js +5 -1
  82. package/src/types/enums/Enums.js.map +1 -1
  83. package/src/types/index.js +7 -7
  84. package/src/types/index.js.map +1 -1
@@ -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): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let metadata = env.metadata;\n env.modulesGen = [];\n let web_modules:webModuleItem [] = metadata.config.web_modules;\n\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 LogLn(` Number of modules to be check for generate: ${web_modules.length}`);\n\n\n\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// get destination path according to the send webModuleName\n//-------------------------------------------------------------------------------------------------\n export 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\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): 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 rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\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): Rule {\n return (tree: Tree, context: SchematicContext) => {\n let metadata = env.metadata;\n env.modulesGen = [];\n let web_modules:webModuleItem [] = metadata.config.web_modules;\n\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 LogLn(` Number of modules to be check for generate: ${web_modules.length}`);\n\n\n\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//-------------------------------------------------------------------------------------------------\n export 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): 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 rules.push(generateWebModule(options, webModuleInfo.moduleName, webModuleInfo.loadOnDemand));\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"]}
@@ -110,6 +110,26 @@ function copyDefaultMagicFilesToWebModule(options:MagicOptionScheme, webModuleNa
110
110
  }
111
111
  }
112
112
 
113
+
114
+ //-------------------------------------------------------------------------------------------------
115
+ // delete LazyLoadService for non root modules
116
+ //-------------------------------------------------------------------------------------------------
117
+ function deleteLazyLoadService( webModuleName:string): Rule {
118
+ return (tree: Tree) => {
119
+ const lazyLoaderServicePath = getDestinationModulePathByWebModuleName(webModuleName) + '/lazy-loader.service.ts';
120
+
121
+ if(webModuleName != '') {
122
+ if (!tree.exists(lazyLoaderServicePath)) {
123
+ LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! :lazyLoaderServicePath`);
124
+ }
125
+
126
+ tree.delete(lazyLoaderServicePath);
127
+ return tree;
128
+ }
129
+ }
130
+ }
131
+
132
+
113
133
  //-------------------------------------------------------------------------------------------------
114
134
  // get destination path according to the send webModuleName
115
135
  //-------------------------------------------------------------------------------------------------
@@ -167,7 +187,7 @@ export function checkAndCreateModule(options: MagicOptionScheme, webModuleName:s
167
187
  if (!tree.exists(webModuleFullFileName)) {
168
188
  rules.push(copyDefaultMagicFilesToWebModule(options, webModuleName));
169
189
  rules.push(updateWebModuleFileWithNewClassName(tree, webModuleName));
170
-
190
+ rules.push(deleteLazyLoadService(webModuleName));
171
191
  // for NON load on demand we need to update magic root module
172
192
  if (!loadOnDemand) {
173
193
  const newDestModulePath = `./${webModuleName}/magic.gen.lib.module`;
@@ -13,23 +13,23 @@ function initAndGenComponentsForModule(options, shouldBuildAndUpdateModule) {
13
13
  let metadata = env_1.env.metadata;
14
14
  env_1.env.componentsGen = [];
15
15
  let rules = [];
16
- rules.push(utils_1.displayMessge(options, " ********************************* START GENERATE *********************************"));
16
+ rules.push((0, utils_1.displayMessge)(options, " ********************************* START GENERATE *********************************"));
17
17
  // if we need to build and update module , first generate(if needed) the modules
18
18
  if (shouldBuildAndUpdateModule) {
19
- rules.push(init_add_modules_rule_1.initGenModules(options));
20
- rules.push(init_add_modules_rule_1.generateWebModules(options));
19
+ rules.push((0, init_add_modules_rule_1.initGenModules)(options));
20
+ rules.push((0, init_add_modules_rule_1.generateWebModules)(options));
21
21
  }
22
22
  for (let moduleJsonPath of metadata.config.web_modules) {
23
- rules.push(utils_1.displayMessge(options, ` ****** Start Web Module name : [${moduleJsonPath.module_name}] *******`));
23
+ rules.push((0, utils_1.displayMessge)(options, ` ****** Start Web Module name : [${moduleJsonPath.module_name}] *******`));
24
24
  rules.push(initGenComponentsFromList(options, moduleJsonPath.module_name, options.component, moduleJsonPath.form_files));
25
- rules.push(load_views_gen_rule_1.loadViewsToGen(options));
25
+ rules.push((0, load_views_gen_rule_1.loadViewsToGen)(options));
26
26
  if (shouldBuildAndUpdateModule) {
27
- rules.push(build_view_rule_1.buildViews(options, moduleJsonPath.module_name));
28
- rules.push(component_list_rule_1.componentlistGen(options, moduleJsonPath.module_name, moduleJsonPath.load_on_demand));
27
+ rules.push((0, build_view_rule_1.buildViews)(options, moduleJsonPath.module_name));
28
+ rules.push((0, component_list_rule_1.componentlistGen)(options, moduleJsonPath.module_name, moduleJsonPath.load_on_demand));
29
29
  }
30
30
  }
31
- rules.push(utils_1.displayMessge(options, " ********************************* E N D GENERATE *********************************"));
32
- return schematics_1.chain(rules)(tree, context);
31
+ rules.push((0, utils_1.displayMessge)(options, " ********************************* E N D GENERATE *********************************"));
32
+ return (0, schematics_1.chain)(rules)(tree, context);
33
33
  };
34
34
  }
35
35
  exports.initAndGenComponentsForModule = initAndGenComponentsForModule;
@@ -1 +1 @@
1
- {"version":3,"file":"init-gen-components.rule.js","sourceRoot":"","sources":["init-gen-components.rule.ts"],"names":[],"mappings":";;;AAAA,2DAAiF;AAEjF,gCAA6B;AAC7B,+DAAuD;AACvD,uDAA+C;AAC/C,+DAAyD;AACzD,mEAA6E;AAC7E,oCAAyC;AAGzC,SAAgB,6BAA6B,CAAC,OAA0B,EAAE,0BAAmC;IAC3G,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC5B,SAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAU,EAAE,CAAC;QAEtB,KAAK,CAAC,IAAI,CAAC,qBAAa,CAAC,OAAO,EAAE,wFAAwF,CAAC,CAAC,CAAA;QAC5H,gFAAgF;QAChF,IAAI,0BAA0B,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,sCAAc,CAAE,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,0CAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;SACzC;QAED,KAAK,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;YAEtD,KAAK,CAAC,IAAI,CAAC,qBAAa,CAAC,OAAO,EAAE,gDAAgD,cAAc,CAAC,WAAW,cAAc,CAAC,CAAC,CAAA;YAE5H,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YACzH,KAAK,CAAC,IAAI,CAAC,oCAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpC,IAAI,0BAA0B,EAAE;gBAC9B,KAAK,CAAC,IAAI,CAAC,4BAAU,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,sCAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;aAClG;SACF;QACD,KAAK,CAAC,IAAI,CAAC,qBAAa,CAAC,OAAO,EAAE,wFAAwF,CAAC,CAAC,CAAA;QAC5H,OAAO,kBAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AA5BD,sEA4BC;AAGD,SAAgB,yBAAyB,CAAC,OAA0B,EAAE,WAAkB,EAAE,SAAiB,EAAE,UAAoB;IAC/H,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC5B,SAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QAEvB,oDAAoD;QACpD,IAAI,SAAS,EAAE;YACb,SAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAClC;aAAM;YAEL,uEAAuE;YACvE,KAAK,IAAI,WAAW,IAAI,UAAU,EAAE;gBAElC,IAAI,gBAAgB,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,mCAAmC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAExG,SAAG,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC1C;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AApBD,8DAoBC","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\n\r\n\r\nexport function initAndGenComponentsForModule(options: MagicOptionScheme, shouldBuildAndUpdateModule: boolean): 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));\r\n rules.push(generateWebModules(options));\r\n }\r\n\r\n for (let moduleJsonPath of metadata.config.web_modules) {\r\n\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 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":";;;AAAA,2DAAiF;AAEjF,gCAA6B;AAC7B,+DAAuD;AACvD,uDAA+C;AAC/C,+DAAyD;AACzD,mEAA6E;AAC7E,oCAAyC;AAGzC,SAAgB,6BAA6B,CAAC,OAA0B,EAAE,0BAAmC;IAC3G,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC5B,SAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAU,EAAE,CAAC;QAEtB,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,OAAO,EAAE,wFAAwF,CAAC,CAAC,CAAA;QAC5H,gFAAgF;QAChF,IAAI,0BAA0B,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAA,sCAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;SACzC;QAED,KAAK,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;YAEtD,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,OAAO,EAAE,gDAAgD,cAAc,CAAC,WAAW,cAAc,CAAC,CAAC,CAAA;YAE5H,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YACzH,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAc,EAAC,OAAO,CAAC,CAAC,CAAC;YAEpC,IAAI,0BAA0B,EAAE;gBAC9B,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAU,EAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,IAAA,sCAAgB,EAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;aAClG;SACF;QACD,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,OAAO,EAAE,wFAAwF,CAAC,CAAC,CAAA;QAC5H,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AA5BD,sEA4BC;AAGD,SAAgB,yBAAyB,CAAC,OAA0B,EAAE,WAAkB,EAAE,SAAiB,EAAE,UAAoB;IAC/H,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC5B,SAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QAEvB,oDAAoD;QACpD,IAAI,SAAS,EAAE;YACb,SAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAClC;aAAM;YAEL,uEAAuE;YACvE,KAAK,IAAI,WAAW,IAAI,UAAU,EAAE;gBAElC,IAAI,gBAAgB,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,mCAAmC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAExG,SAAG,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC1C;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AApBD,8DAoBC","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\n\r\n\r\nexport function initAndGenComponentsForModule(options: MagicOptionScheme, shouldBuildAndUpdateModule: boolean): 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));\r\n rules.push(generateWebModules(options));\r\n }\r\n\r\n for (let moduleJsonPath of metadata.config.web_modules) {\r\n\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 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"]}
@@ -7,8 +7,8 @@ const config_1 = require("../../utils/devkit-utils/config");
7
7
  function initMagicMetadata(options) {
8
8
  return (host, context) => {
9
9
  if (!env_1.env.metadata) {
10
- env_1.env.workspace = config_1.getWorkspace(host);
11
- env_1.env.project = config_1.getProjectFromWorkspace(env_1.env.workspace, options.project);
10
+ env_1.env.workspace = (0, config_1.getWorkspace)(host);
11
+ env_1.env.project = (0, config_1.getProjectFromWorkspace)(env_1.env.workspace, options.project);
12
12
  env_1.env.metadata = new metadata_class_1.MagicMetadata(host, context, options);
13
13
  }
14
14
  return host;
@@ -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,qBAAY,CAAC,IAAI,CAAC,CAAC;YACnC,SAAG,CAAC,OAAO,GAAK,gCAAuB,CAAC,SAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxE,SAAG,CAAC,QAAQ,GAAI,IAAI,8BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AATD,8CASC","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 }\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":";;;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;SAC3D;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AATD,8CASC","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 }\n return host;\n }\n}\n\n"]}
@@ -13,15 +13,15 @@ function loadViewsToGen(options) {
13
13
  suffix: "mga",
14
14
  views: []
15
15
  };
16
- Util_1.LogLn(`*** Step 1: Loading JSON files ***`);
16
+ (0, Util_1.LogLn)(`*** Step 1: Loading JSON files ***`);
17
17
  env_1.env.componentsGen.forEach(cmpJsonPath => {
18
18
  cmpJsonPath = env_1.env.metadata.paths.getJsonPathForComponent(cmpJsonPath);
19
- Util_1.LogLn(`[>] Loading JSON file ${cmpJsonPath}`);
20
- let view = utils_1.readJson(host, cmpJsonPath);
19
+ (0, Util_1.LogLn)(`[>] Loading JSON file ${cmpJsonPath}`);
20
+ let view = (0, utils_1.readJson)(host, cmpJsonPath);
21
21
  env_1.env.app.views.push(view);
22
22
  });
23
- Util_1.LogLn(`*** Step 2: Processing JSON files - (${env_1.env.app.views.length} components) ***`);
24
- env_1.env.app = process_json_1.processJson(env_1.env.app);
23
+ (0, Util_1.LogLn)(`*** Step 2: Processing JSON files - (${env_1.env.app.views.length} components) ***`);
24
+ env_1.env.app = (0, process_json_1.processJson)(env_1.env.app);
25
25
  //console.log(`Number of app.views to generate: ${env.app.views.length}`);
26
26
  return host;
27
27
  };
@@ -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,YAAK,CAAC,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,YAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,GAAG,gBAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,YAAK,CAAC,yCAAyC,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACvF,SAAG,CAAC,GAAG,GAAG,0BAAW,CAAC,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":";;;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"]}
@@ -9,7 +9,7 @@ const ast_1 = require("../utils/ast");
9
9
  const Util_1 = require("./Util");
10
10
  function displayMessge(options, message) {
11
11
  return (host, context) => {
12
- Util_1.LogLn(`[>] ${message}`);
12
+ (0, Util_1.LogLn)(`[>] ${message}`);
13
13
  return host;
14
14
  };
15
15
  }
@@ -17,13 +17,13 @@ exports.displayMessge = displayMessge;
17
17
  function copyMagicFiles(options) {
18
18
  return (host, context) => {
19
19
  const project = getProject(host, options.project);
20
- return schematics_1.chain([
21
- schematics_1.branchAndMerge(schematics_1.chain([
22
- schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [
23
- schematics_1.template({
20
+ return (0, schematics_1.chain)([
21
+ (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([
22
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
23
+ (0, schematics_1.template)({
24
24
  skipHelp: options.skipHelp,
25
25
  }),
26
- schematics_1.move(project.root)
26
+ (0, schematics_1.move)(project.root)
27
27
  ]), schematics_1.MergeStrategy.AllowCreationConflict)
28
28
  ]))
29
29
  ])(host, context);
@@ -77,8 +77,8 @@ function deleteMagicMetadataFolder(option) {
77
77
  }
78
78
  exports.deleteMagicMetadataFolder = deleteMagicMetadataFolder;
79
79
  function getProject(host, projectName) {
80
- const workspace = config_1.getWorkspace(host);
81
- const project = config_1.getProjectFromWorkspace(workspace, projectName);
80
+ const workspace = (0, config_1.getWorkspace)(host);
81
+ const project = (0, config_1.getProjectFromWorkspace)(workspace, projectName);
82
82
  return project;
83
83
  }
84
84
  exports.getProject = getProject;
@@ -105,9 +105,9 @@ function getMagicConfig(host, project) {
105
105
  exports.getMagicConfig = getMagicConfig;
106
106
  function addImportTSModule(path, name, from) {
107
107
  return (host, context) => {
108
- let moduleSource = ast_1.getSourceFile(host, path);
108
+ let moduleSource = (0, ast_1.getSourceFile)(host, path);
109
109
  const recorder = host.beginUpdate(path);
110
- const routesChange = route_utils_1.insertImport(moduleSource, path, name, from);
110
+ const routesChange = (0, route_utils_1.insertImport)(moduleSource, path, name, from);
111
111
  if (routesChange.toAdd) {
112
112
  recorder.insertLeft(routesChange.pos, routesChange.toAdd);
113
113
  }
@@ -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"]}
@@ -7,8 +7,8 @@ const tasks_1 = require("@angular-devkit/schematics/tasks");
7
7
  const env_1 = require("../magic-utils/env");
8
8
  const package_1 = require("../utils/package");
9
9
  function mgInstallPrerequisites(options) {
10
- return schematics_1.chain([
11
- init_magic_metadata_rule_1.initMagicMetadata(options),
10
+ return (0, schematics_1.chain)([
11
+ (0, init_magic_metadata_rule_1.initMagicMetadata)(options),
12
12
  installPrerequisitesSaveDev(options)
13
13
  ]);
14
14
  }
@@ -17,7 +17,7 @@ function installPrerequisitesSaveDev(option) {
17
17
  return (host, context) => {
18
18
  for (let dep of env_1.devDependencies) {
19
19
  context.logger.info(`[>] Add devDependencies ${dep.name}`);
20
- package_1.addPackageToPackageJson(host, 'devDependencies', dep.name, dep.version);
20
+ (0, package_1.addPackageToPackageJson)(host, 'devDependencies', dep.name, dep.version);
21
21
  }
22
22
  context.addTask(new tasks_1.NodePackageInstallTask());
23
23
  return host;
@@ -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,kBAAK,CAAC;QACX,4CAAiB,CAAa,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,iCAAuB,CAAC,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":";;;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,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "id": "SchematicsMagicMgInstallPre",
3
+ "$id": "SchematicsMagicMgInstallPre",
4
4
  "title": "Magic Options Schema",
5
5
  "type": "object",
6
6
  "properties": {
@@ -0,0 +1,10 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MagicLazyLoaderService } from '@magic-xpa/angular';
3
+
4
+ @Injectable()
5
+
6
+ export class LazyLoaderService extends MagicLazyLoaderService {
7
+ Load(path: string): Promise<any> {
8
+ return import( './' + path + '/magic.gen.lib.module');
9
+ }
10
+ }
@@ -11,20 +11,28 @@ const ast_1 = require("../utils/ast");
11
11
  const Util_1 = require("../magic-utils/Util");
12
12
  const generate_rule_1 = require("../magic-utils/rules/generate.rule");
13
13
  const generated_file_types_enum_1 = require("../../types/enums/generated-file-types.enum");
14
+ const ast_utils_1 = require("../utils/devkit-utils/ast-utils");
15
+ const ts = require("typescript");
16
+ const change_1 = require("../utils/devkit-utils/change");
14
17
  function mgAdd(options) {
15
- return schematics_1.chain([
16
- init_magic_metadata_rule_1.initMagicMetadata(options),
17
- utils_1.copyMagicFiles(options),
18
+ return (0, schematics_1.chain)([
19
+ (0, init_magic_metadata_rule_1.initMagicMetadata)(options),
20
+ (0, utils_1.copyMagicFiles)(options),
18
21
  // handel app.modules.ts
19
22
  addMagicModuleToAppModule(options),
20
23
  // handel Angular.json
21
24
  updateAngularJsonWithMagicStyle(options),
22
25
  updateTsConfigAppJson(options),
26
+ addLazyLoadProvider(),
27
+ // handel app.component.html
28
+ //updateAppComponentHtmlFiles (options),
29
+ //handel package.Json
30
+ //addMagicDependenciesToPackageJson (options),
23
31
  ]);
24
32
  }
25
33
  exports.mgAdd = mgAdd;
26
34
  function updateAppComponentHtmlFiles(options) {
27
- return generate_rule_1.generate({
35
+ return (0, generate_rule_1.generate)({
28
36
  template: "./templates/angular/src/app/app.component.html.ejs",
29
37
  name: "app.component.html",
30
38
  destination: env_1.env.metadata.paths.rootMagicGenFolder,
@@ -78,8 +86,8 @@ function addMagicDependenciesToPackageJson(option) {
78
86
  return (host, context) => {
79
87
  if (!option.skipPackageJson) {
80
88
  for (let dep of env_1.dependencies) {
81
- Util_1.LogLn(`[>] Add dependencies ${dep.name}`);
82
- package_1.addPackageToPackageJson(host, 'dependencies', dep.name, dep.version);
89
+ (0, Util_1.LogLn)(`[>] Add dependencies ${dep.name}`);
90
+ (0, package_1.addPackageToPackageJson)(host, 'dependencies', dep.name, dep.version);
83
91
  }
84
92
  /*
85
93
  // done in pre-install step
@@ -90,12 +98,12 @@ function addMagicDependenciesToPackageJson(option) {
90
98
  */
91
99
  }
92
100
  if (!option.skipInstall) {
93
- Util_1.LogLn(`[>] Install dependencies.`);
101
+ (0, Util_1.LogLn)(`[>] Install dependencies.`);
94
102
  context.addTask(new tasks_1.NodePackageInstallTask());
95
103
  }
96
104
  else {
97
- Util_1.LogLn(`skipIstalls ${env_1.dependencies.length} dependencies`);
98
- Util_1.LogLn(`skipIstalls ${env_1.devDependencies.length} devDependencies`);
105
+ (0, Util_1.LogLn)(`skipIstalls ${env_1.dependencies.length} dependencies`);
106
+ (0, Util_1.LogLn)(`skipIstalls ${env_1.devDependencies.length} devDependencies`);
99
107
  }
100
108
  return host;
101
109
  };
@@ -104,13 +112,41 @@ function addMagicModuleToAppModule(options) {
104
112
  return (host, context) => {
105
113
  const workspace = env_1.env.workspace;
106
114
  const project = env_1.env.project;
107
- ast_1.addModuleImportToRootModule(host, 'BrowserAnimationsModule', '@angular/platform-browser/animations', project);
108
- ast_1.addModuleImportToRootModule(host, 'ReactiveFormsModule', '@angular/forms', project);
109
- ast_1.addModuleImportToRootModule(host, 'MagicModule.forRoot()', "@magic-xpa/angular", project);
110
- ast_1.addModuleImportToRootModule(host, 'MagicAngularMaterialModule', "@magic-xpa/angular-material-core", project);
111
- ast_1.addModuleImportToRootModule(host, 'MagicGenLibModule', "./magic/magic.gen.lib.module", project);
112
- ast_1.addModuleImportToRootModule(host, 'MagicRoutingModule', "./app.routes", project);
113
- return host;
115
+ (0, ast_1.addModuleImportToRootModule)(host, 'BrowserAnimationsModule', '@angular/platform-browser/animations', project);
116
+ (0, ast_1.addModuleImportToRootModule)(host, 'ReactiveFormsModule', '@angular/forms', project);
117
+ (0, ast_1.addModuleImportToRootModule)(host, 'MagicModule', "@magic-xpa/angular", project);
118
+ (0, ast_1.addModuleImportToRootModule)(host, 'MagicAngularMaterialModule', "@magic-xpa/angular-material-core", project);
119
+ (0, ast_1.addModuleImportToRootModule)(host, 'MagicGenLibModule', "./magic/magic.gen.lib.module", project);
120
+ (0, ast_1.addModuleImportToRootModule)(host, 'MagicRoutingModule', "./app.routes", project);
121
+ };
122
+ }
123
+ function addLazyLoadProvider() {
124
+ return (host) => {
125
+ const appmodule = env_1.env.metadata.paths.rootMagicGenFolder + '/app.module.ts';
126
+ const lazyLoaderService = 'LazyLoaderService';
127
+ const lazyLoaderServicePath = './magic/lazy-loader.service';
128
+ let text = host.read(appmodule);
129
+ let sourceText = text.toString('utf-8');
130
+ let source = ts.createSourceFile(appmodule, sourceText, ts.ScriptTarget.Latest, true);
131
+ let providerChanges = (0, ast_utils_1.addProviderToModule)(source, appmodule, '{ provide: MagicLazyLoaderService, useClass: LazyLoaderService }', lazyLoaderServicePath);
132
+ const providerRecorder = host.beginUpdate(appmodule);
133
+ for (const change of providerChanges) {
134
+ if (change instanceof change_1.InsertChange) {
135
+ if (!change.toAdd.includes('import')) // skip import change
136
+ providerRecorder.insertLeft(change.pos, change.toAdd);
137
+ }
138
+ }
139
+ host.commitUpdate(providerRecorder);
140
+ const lazyLoaderServiceImport = (0, ast_utils_1.insertImport)(source, appmodule, lazyLoaderService, lazyLoaderServicePath, false);
141
+ const lazyLoaderServiceChangesRecorder = host.beginUpdate(appmodule);
142
+ if (lazyLoaderServiceImport instanceof change_1.InsertChange)
143
+ lazyLoaderServiceChangesRecorder.insertLeft(lazyLoaderServiceImport.pos, lazyLoaderServiceImport.toAdd);
144
+ host.commitUpdate(lazyLoaderServiceChangesRecorder);
145
+ // add import for MagicLazyLoaderService
146
+ const magicLazyLoaderServiceImportChanges = (0, ast_utils_1.insertImport)(source, appmodule, 'MagicLazyLoaderService', '@magic-xpa/angular', false);
147
+ const magicImportChangesRecorder = host.beginUpdate(appmodule);
148
+ magicImportChangesRecorder.insertLeft(magicLazyLoaderServiceImportChanges.pos, magicLazyLoaderServiceImportChanges.toAdd);
149
+ host.commitUpdate(magicImportChangesRecorder);
114
150
  };
115
151
  }
116
152
  //# sourceMappingURL=index.js.map
@@ -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\n\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 // 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.forRoot()',\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 return host;\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(\"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"]}