Skip to content

Commit 08a6ef6

Browse files
authored
fix(core): match template in corresponding platform (#14244)
* fix(core): match template in corresponding platform * fix: unit test
1 parent ce79de6 commit 08a6ef6

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

packages/fx-core/src/component/generator/defaultGenerator.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ import {
1010
IGenerator,
1111
Inputs,
1212
ok,
13-
Platform,
1413
Result,
1514
} from "@microsoft/teamsfx-api";
1615
import { merge } from "lodash";
16+
import * as path from "path";
17+
import { featureFlagManager, FeatureFlags } from "../../common/featureFlags";
1718
import { TelemetryEvent, TelemetryProperty } from "../../common/telemetry";
1819
import { MetadataV3, MetadataV4 } from "../../common/versionMetadata";
1920
import { ProgrammingLanguage, QuestionNames } from "../../question/constants";
@@ -26,8 +27,6 @@ import { getAllTemplatesOnPlatform, getDefaultTemplatesOnPlatform } from "./temp
2627
import { TemplateInfo } from "./templates/templateInfo";
2728
import { getTemplateReplaceMap } from "./templates/templateReplaceMap";
2829
import { convertToLangKey, renderTemplateFileData, renderTemplateFileName } from "./utils";
29-
import { featureFlagManager, FeatureFlags } from "../../common/featureFlags";
30-
import * as path from "path";
3130

3231
export class DefaultTemplateGenerator implements IGenerator {
3332
// override this property to send telemetry event with different component name
@@ -66,7 +65,7 @@ export class DefaultTemplateGenerator implements IGenerator {
6665
const templatePath = templateInfo.subFolder
6766
? path.join(destinationPath, templateInfo.subFolder)
6867
: destinationPath;
69-
await this.scaffolding(context, templateInfo, templatePath, actionContext, inputs);
68+
await this.scaffolding(context, inputs, templateInfo, templatePath, actionContext);
7069
}
7170

7271
const postRes = await this.post(context, inputs, destinationPath, actionContext);
@@ -97,10 +96,10 @@ export class DefaultTemplateGenerator implements IGenerator {
9796

9897
private async scaffolding(
9998
context: Context,
99+
inputs: Inputs,
100100
templateInfo: TemplateInfo,
101101
destinationPath: string,
102-
actionContext?: ActionContext,
103-
inputs?: Inputs
102+
actionContext?: ActionContext
104103
): Promise<void> {
105104
const name = templateInfo.templateName;
106105
const language = convertToLangKey(templateInfo.language) ?? commonTemplateName;
@@ -127,7 +126,9 @@ export class DefaultTemplateGenerator implements IGenerator {
127126
[TelemetryProperty.TemplateName]: templateName,
128127
});
129128

130-
const templateMetadata = getAllTemplatesOnPlatform(Platform.CLI).find((t) => t.name === name);
129+
const templateMetadata = getAllTemplatesOnPlatform(inputs.platform).find(
130+
(t) => t.name === name
131+
);
131132
const folderName =
132133
templateMetadata?.language === "common" || templateMetadata?.language === "none"
133134
? templateMetadata.id
@@ -138,7 +139,7 @@ export class DefaultTemplateGenerator implements IGenerator {
138139
language: language,
139140
destination: destinationPath,
140141
logProvider: context.logProvider,
141-
platform: inputs!.platform,
142+
platform: inputs.platform,
142143
fileNameReplaceFn: (fileName, fileData) =>
143144
renderTemplateFileName(fileName, fileData, replaceMap)
144145
.replace(/\\/g, "/")

packages/fx-core/tests/component/generator/templateGenerator.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ describe("TemplateGenerator", () => {
6363
scaffoldingSpy = sandbox.spy(DefaultTemplateGenerator.prototype, <any>"scaffolding");
6464
sandbox.stub(Generator, "generate").resolves();
6565
inputs = {
66-
platform: Platform.VSCode,
66+
platform: Platform.VS,
6767
[QuestionNames.AppName]: randomAppName(),
6868
[QuestionNames.ProgrammingLanguage]: ProgrammingLanguage.JS,
6969
} as Inputs;
@@ -84,9 +84,9 @@ describe("TemplateGenerator", () => {
8484

8585
assert.isTrue(res?.isOk());
8686
assert.isTrue(scaffoldingSpy.calledOnce);
87-
assert.equal((scaffoldingSpy.args[0][1] as TemplateInfo).templateName, templateName);
87+
assert.equal((scaffoldingSpy.args[0][2] as TemplateInfo).templateName, templateName);
8888
assert.equal(
89-
(scaffoldingSpy.args[0][1] as TemplateInfo).language,
89+
(scaffoldingSpy.args[0][2] as TemplateInfo).language,
9090
inputs?.[QuestionNames.ProgrammingLanguage] || ProgrammingLanguage.JS
9191
);
9292
});

0 commit comments

Comments
 (0)