Skip to content

Commit fab1f9e

Browse files
committed
fix: Missing file header #95
1 parent 0f313d0 commit fab1f9e

File tree

3 files changed

+36
-26
lines changed

3 files changed

+36
-26
lines changed

src/generator/module/ModuleXmlGenerator.ts

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ import { Uri } from 'vscode';
44
import { ModuleWizardComposerData, ModuleWizardData } from 'wizard/ModuleWizard';
55
import FileGenerator from '../FileGenerator';
66
import Magento from 'util/Magento';
7+
import HandlebarsTemplateRenderer from 'generator/HandlebarsTemplateRenderer';
8+
import { TemplatePath } from 'types/handlebars';
79

810
export 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
}

src/types/handlebars.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export enum TemplatePath {
2828
XmlBlankWidget = 'xml/blank-widget',
2929
XmlEventsObserver = 'xml/events/observer',
3030
XmlEventsEvent = 'xml/events/event',
31+
XmlModuleConfig = 'xml/module-config',
3132
XmlCronJob = 'xml/cron/job',
3233
XmlCronGroup = 'xml/cron/group',
3334
}
@@ -120,6 +121,14 @@ export interface CronGroupParams extends BaseTemplateParams {
120121
groupId: string;
121122
}
122123

124+
/**
125+
* Parameters for module config templates
126+
*/
127+
export interface ModuleConfigParams extends BaseTemplateParams {
128+
moduleName: string;
129+
sequence: string[];
130+
}
131+
123132
/**
124133
* Template parameters mapped by template path
125134
*/
@@ -137,6 +146,7 @@ export interface TemplateParams {
137146
[TemplatePath.XmlDiPreference]: PreferenceParams;
138147
[TemplatePath.XmlCronJob]: CronJobParams;
139148
[TemplatePath.XmlCronGroup]: CronGroupParams;
149+
[TemplatePath.XmlModuleConfig]: ModuleConfigParams;
140150
[key: string]: BaseTemplateParams;
141151
}
142152

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
{{> fileHeader}}
3+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
5+
{{#if sequence}}
6+
<module name="{{ moduleName }}">
7+
<sequence>
8+
{{#each sequence}}
9+
<module name="{{ this }}" />
10+
{{/each}}
11+
</sequence>
12+
</module>
13+
{{else}}
14+
<module name="{{ moduleName }}" />
15+
{{/if}}
16+
</config>

0 commit comments

Comments
 (0)