@@ -4,14 +4,16 @@ import { Uri } from 'vscode';
44import { ModuleWizardComposerData , ModuleWizardData } from 'wizard/ModuleWizard' ;
55import FileGenerator from '../FileGenerator' ;
66import Magento from 'util/Magento' ;
7+ import HandlebarsTemplateRenderer from 'generator/HandlebarsTemplateRenderer' ;
8+ import { TemplatePath } from 'types/handlebars' ;
79
810export default class ModuleXmlGenerator extends FileGenerator {
911 public constructor ( protected data : ModuleWizardData | ModuleWizardComposerData ) {
1012 super ( ) ;
1113 }
1214
1315 public async generate ( workspaceUri : Uri ) : Promise < GeneratedFile > {
14- const xmlContent = this . getXmlContent ( ) ;
16+ const xmlContent = await this . getXmlContent ( ) ;
1517
1618 const moduleFile = Magento . getModuleDirectory (
1719 this . data . vendor ,
@@ -23,33 +25,15 @@ export default class ModuleXmlGenerator extends FileGenerator {
2325 return new GeneratedFile ( moduleFile , xmlContent ) ;
2426 }
2527
26- protected getXmlContent ( ) : string {
28+ protected async getXmlContent ( ) : Promise < string > {
29+ const renderer = new HandlebarsTemplateRenderer ( ) ;
2730 const moduleName = Magento . getModuleName ( this . data . vendor , this . data . module ) ;
28- const xml : any = {
29- '?xml' : {
30- '@_version' : '1.0' ,
31- } ,
32- config : {
33- '@_xmlns:xsi' : 'http://www.w3.org/2001/XMLSchema-instance' ,
34- '@_xsi:noNamespaceSchemaLocation' : 'urn:magento:framework:Module/etc/module.xsd' ,
35- module : {
36- '@_name' : moduleName ,
37- } ,
38- } ,
39- } ;
4031
41- if ( this . data . sequence . length > 0 ) {
42- xml . config . module . sequence = this . data . sequence . map ( module => ( {
43- module : {
44- '@_name' : module ,
45- } ,
46- } ) ) ;
47- }
48-
49- const xmlGenerator = new XmlGenerator ( xml ) ;
50- return xmlGenerator . toString ( {
51- unpairedTags : [ 'module' ] ,
52- suppressUnpairedNode : false ,
32+ const moduleConfigXml = await renderer . render ( TemplatePath . XmlModuleConfig , {
33+ moduleName,
34+ sequence : this . data . sequence ,
5335 } ) ;
36+
37+ return moduleConfigXml ;
5438 }
5539}
0 commit comments