in src/wizard/logic-app/GenerateBuildDefinitionStep.ts [15:57]
public async execute(wizardContext: IBuildDefinitionWizardContext): Promise<IBuildDefinitionWizardContext> {
const { location, templateParameterDefinitions, templateParameters, templateResources, workspaceFolderPath } = wizardContext;
const definitions = await new Promise<string[]>((resolve, reject) => {
glob(path.join(workspaceFolderPath!, "**/*.definition.json"), (err, matches) => {
if (err) {
reject(err);
} else {
resolve(matches);
}
});
});
const names = definitions.map((definition) => path.basename(definition).replace(/\.definition\.json$/i, ""));
for (const name of names) {
const file = path.join(workspaceFolderPath!, `${name}.definition.json`);
const json = await fse.readJSON(file);
const {
properties: {
definition,
parameters
}
} = json.resources[0];
const workflow: Workflow = {
definition,
location,
name,
parameters
};
const templateResource = generateTemplateResource(workflow);
templateResources.push(templateResource);
const templateParameterDefinition = generateTemplateParameterDefinition(workflow);
Object.assign(templateParameterDefinitions, templateParameterDefinition);
const templateParameter = generateTemplateParameter(workflow);
Object.assign(templateParameters, templateParameter);
}
return wizardContext;
}