diff --git a/modules/code-generator/src/generator/ProjectBuilder.ts b/modules/code-generator/src/generator/ProjectBuilder.ts index c1db28fe9..a910b4900 100644 --- a/modules/code-generator/src/generator/ProjectBuilder.ts +++ b/modules/code-generator/src/generator/ProjectBuilder.ts @@ -111,8 +111,6 @@ export class ProjectBuilder implements IProjectBuilder { // Init const { schemaParser } = this; - const projectRoot = await this.template.generateTemplate(); - let schema: IPublicTypeProjectSchema = typeof originalSchema === 'string' ? JSON.parse(originalSchema) : originalSchema; @@ -131,6 +129,9 @@ export class ProjectBuilder implements IProjectBuilder { // Collect Deps // Parse JSExpression const parseResult: IParseResult = schemaParser.parse(schema); + + const projectRoot = await this.template.generateTemplate(parseResult); + let buildResult: IModuleInfo[] = []; const builders = this.createModuleBuilders({ diff --git a/modules/code-generator/src/types/core.ts b/modules/code-generator/src/types/core.ts index fb2a780c1..1219a1e76 100644 --- a/modules/code-generator/src/types/core.ts +++ b/modules/code-generator/src/types/core.ts @@ -127,7 +127,7 @@ export interface ISchemaParser { export interface IProjectTemplate { slots: Record; - generateTemplate: () => ResultDir | Promise; + generateTemplate: (data: IParseResult) => ResultDir | Promise; } export interface IProjectSlot {