@microsoft/teamsfx-core 1.1.1 → 1.1.2-alpha.378e6f1e.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common/constants.d.ts +2 -1
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +2 -1
- package/build/common/constants.js.map +1 -1
- package/build/common/samples-config.json +14 -0
- package/build/common/tools.d.ts +11 -1
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +24 -10
- package/build/common/tools.js.map +1 -1
- package/build/core/SolutionPluginContainer.d.ts +2 -0
- package/build/core/SolutionPluginContainer.d.ts.map +1 -1
- package/build/core/SolutionPluginContainer.js +16 -1
- package/build/core/SolutionPluginContainer.js.map +1 -1
- package/build/core/error.d.ts +2 -1
- package/build/core/error.d.ts.map +1 -1
- package/build/core/error.js +7 -3
- package/build/core/error.js.map +1 -1
- package/build/core/index.d.ts +12 -3
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +143 -30
- package/build/core/index.js.map +1 -1
- package/build/core/middleware/projectMigrator.d.ts.map +1 -1
- package/build/core/middleware/projectMigrator.js +0 -25
- package/build/core/middleware/projectMigrator.js.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +1 -1
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/build/core/middleware/projectSettingsLoaderV3.d.ts +4 -0
- package/build/core/middleware/projectSettingsLoaderV3.d.ts.map +1 -0
- package/build/core/middleware/projectSettingsLoaderV3.js +49 -0
- package/build/core/middleware/projectSettingsLoaderV3.js.map +1 -0
- package/build/core/middleware/questionModel.d.ts +2 -1
- package/build/core/middleware/questionModel.d.ts.map +1 -1
- package/build/core/middleware/questionModel.js +98 -1
- package/build/core/middleware/questionModel.js.map +1 -1
- package/build/core/middleware/solutionLoaderV3.d.ts +4 -0
- package/build/core/middleware/solutionLoaderV3.d.ts.map +1 -0
- package/build/core/middleware/solutionLoaderV3.js +15 -0
- package/build/core/middleware/solutionLoaderV3.js.map +1 -0
- package/build/core/question.d.ts +9 -1
- package/build/core/question.d.ts.map +1 -1
- package/build/core/question.js +113 -3
- package/build/core/question.js.map +1 -1
- package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
- package/build/plugins/resource/aad/plugin.js +1 -10
- package/build/plugins/resource/aad/plugin.js.map +1 -1
- package/build/plugins/resource/appstudio/appStudio.d.ts +1 -1
- package/build/plugins/resource/appstudio/appStudio.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/appStudio.js +106 -85
- package/build/plugins/resource/appstudio/appStudio.js.map +1 -1
- package/build/plugins/resource/appstudio/constants.d.ts +1 -0
- package/build/plugins/resource/appstudio/constants.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/constants.js +1 -0
- package/build/plugins/resource/appstudio/constants.js.map +1 -1
- package/build/plugins/resource/appstudio/errors.d.ts +1 -1
- package/build/plugins/resource/appstudio/errors.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/errors.js +2 -1
- package/build/plugins/resource/appstudio/errors.js.map +1 -1
- package/build/plugins/resource/appstudio/index.js +1 -1
- package/build/plugins/resource/appstudio/index.js.map +1 -1
- package/build/plugins/resource/appstudio/plugin.d.ts +2 -3
- package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/plugin.js +51 -105
- package/build/plugins/resource/appstudio/plugin.js.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/checker.d.ts +0 -1
- package/build/plugins/resource/function/utils/depsChecker/checker.d.ts.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/checker.js +2 -2
- package/build/plugins/resource/function/utils/depsChecker/checker.js.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/common.d.ts +1 -2
- package/build/plugins/resource/function/utils/depsChecker/common.d.ts.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/common.js +2 -6
- package/build/plugins/resource/function/utils/depsChecker/common.js.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts +0 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js +1 -23
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js.map +1 -1
- package/build/plugins/resource/localdebug/certificate.js +3 -3
- package/build/plugins/resource/localdebug/certificate.js.map +1 -1
- package/build/plugins/resource/localdebug/index.d.ts.map +1 -1
- package/build/plugins/resource/localdebug/index.js +8 -6
- package/build/plugins/resource/localdebug/index.js.map +1 -1
- package/build/plugins/resource/localdebug/settings.d.ts +1 -1
- package/build/plugins/resource/localdebug/settings.d.ts.map +1 -1
- package/build/plugins/resource/localdebug/settings.js +10 -6
- package/build/plugins/resource/localdebug/settings.js.map +1 -1
- package/build/plugins/resource/localdebug/tasks.js +5 -5
- package/build/plugins/resource/localdebug/util/error.d.ts.map +1 -1
- package/build/plugins/resource/localdebug/util/error.js +1 -1
- package/build/plugins/resource/localdebug/util/error.js.map +1 -1
- package/build/plugins/resource/localdebug/util/ngrok.js +2 -2
- package/build/plugins/resource/localdebug/util/ngrok.js.map +1 -1
- package/build/plugins/resource/simpleauth/utils/common.d.ts.map +1 -1
- package/build/plugins/resource/simpleauth/utils/common.js +3 -1
- package/build/plugins/resource/simpleauth/utils/common.js.map +1 -1
- package/build/plugins/resource/sql/config.d.ts +0 -1
- package/build/plugins/resource/sql/config.d.ts.map +1 -1
- package/build/plugins/resource/sql/config.js +0 -1
- package/build/plugins/resource/sql/config.js.map +1 -1
- package/build/plugins/resource/sql/plugin.d.ts.map +1 -1
- package/build/plugins/resource/sql/plugin.js +0 -1
- package/build/plugins/resource/sql/plugin.js.map +1 -1
- package/build/plugins/resource/sql/utils/checkInput.js +2 -2
- package/build/plugins/resource/sql/utils/checkInput.js.map +1 -1
- package/build/plugins/solution/fx-solution/arm.d.ts +2 -1
- package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/arm.js +79 -14
- package/build/plugins/solution/fx-solution/arm.js.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.d.ts +13 -2
- package/build/plugins/solution/fx-solution/commonQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.js +24 -26
- package/build/plugins/solution/fx-solution/commonQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/index.d.ts +1 -0
- package/build/plugins/solution/fx-solution/index.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/index.js +1 -0
- package/build/plugins/solution/fx-solution/index.js.map +1 -1
- package/build/plugins/solution/fx-solution/question.d.ts +0 -1
- package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/question.js +1 -32
- package/build/plugins/solution/fx-solution/question.js.map +1 -1
- package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/solution.js +8 -4
- package/build/plugins/solution/fx-solution/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.js +17 -22
- package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/provision.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/provision.js +8 -0
- package/build/plugins/solution/fx-solution/v2/provision.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.d.ts +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addModule.d.ts +6 -0
- package/build/plugins/solution/fx-solution/v3/addModule.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/addModule.js +35 -0
- package/build/plugins/solution/fx-solution/v3/addModule.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/addResource.d.ts +31 -0
- package/build/plugins/solution/fx-solution/v3/addResource.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/addResource.js +261 -0
- package/build/plugins/solution/fx-solution/v3/addResource.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/constants.d.ts +6 -0
- package/build/plugins/solution/fx-solution/v3/constants.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/constants.js +11 -0
- package/build/plugins/solution/fx-solution/v3/constants.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/deploy.d.ts +6 -0
- package/build/plugins/solution/fx-solution/v3/deploy.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/deploy.js +78 -0
- package/build/plugins/solution/fx-solution/v3/deploy.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/error.d.ts +11 -0
- package/build/plugins/solution/fx-solution/v3/error.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/error.js +23 -0
- package/build/plugins/solution/fx-solution/v3/error.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/init.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v3/init.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/init.js +25 -0
- package/build/plugins/solution/fx-solution/v3/init.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/provision.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v3/provision.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/provision.js +123 -0
- package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js +13 -0
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/publish.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v3/publish.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/publish.js +15 -0
- package/build/plugins/solution/fx-solution/v3/publish.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/questions.d.ts +16 -0
- package/build/plugins/solution/fx-solution/v3/questions.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/questions.js +86 -0
- package/build/plugins/solution/fx-solution/v3/questions.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/scaffold.d.ts +18 -0
- package/build/plugins/solution/fx-solution/v3/scaffold.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/scaffold.js +176 -0
- package/build/plugins/solution/fx-solution/v3/scaffold.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/solution.d.ts +51 -0
- package/build/plugins/solution/fx-solution/v3/solution.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/solution.js +70 -0
- package/build/plugins/solution/fx-solution/v3/solution.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/userTask.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v3/userTask.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/userTask.js +15 -0
- package/build/plugins/solution/fx-solution/v3/userTask.js.map +1 -0
- package/build/plugins/solution/fx-solution/v3/utils.d.ts +3 -0
- package/build/plugins/solution/fx-solution/v3/utils.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/utils.js +16 -0
- package/build/plugins/solution/fx-solution/v3/utils.js.map +1 -0
- package/build/plugins/solution/index.d.ts +1 -0
- package/build/plugins/solution/index.d.ts.map +1 -1
- package/build/plugins/solution/index.js +1 -0
- package/build/plugins/solution/index.js.map +1 -1
- package/build/plugins/solution/spfx-solution/index.d.ts +2 -0
- package/build/plugins/solution/spfx-solution/index.d.ts.map +1 -0
- package/build/plugins/solution/spfx-solution/index.js +5 -0
- package/build/plugins/solution/spfx-solution/index.js.map +1 -0
- package/build/plugins/solution/spfx-solution/questions.d.ts +3 -0
- package/build/plugins/solution/spfx-solution/questions.d.ts.map +1 -0
- package/build/plugins/solution/spfx-solution/questions.js +24 -0
- package/build/plugins/solution/spfx-solution/questions.js.map +1 -0
- package/build/plugins/solution/spfx-solution/scaffolding.d.ts +14 -0
- package/build/plugins/solution/spfx-solution/scaffolding.d.ts.map +1 -0
- package/build/plugins/solution/spfx-solution/scaffolding.js +29 -0
- package/build/plugins/solution/spfx-solution/scaffolding.js.map +1 -0
- package/build/plugins/solution/spfx-solution/solution.d.ts +19 -0
- package/build/plugins/solution/spfx-solution/solution.d.ts.map +1 -0
- package/build/plugins/solution/spfx-solution/solution.js +27 -0
- package/build/plugins/solution/spfx-solution/solution.js.map +1 -0
- package/package.json +4 -3
- package/resource/strings.json +0 -1
- package/templates/azure/config.bicep +0 -22
- package/templates/azure/provision/azureBot.bicep +0 -0
- package/templates/azure/provision/azureWebApp.bicep +0 -0
- package/templates/azure/provision.bicep +2 -56
- package/templates/plugins/resource/simpleauth/version.txt +2 -1
- package/templates/azure/provision/azureSql.bicep +0 -39
- package/templates/azure/provision/frontendHosting.bicep +0 -23
- package/templates/azure/provision/function.bicep +0 -79
- package/templates/azure/provision/simpleAuth.bicep +0 -44
- package/templates/azure/teamsFx/bot.bicep +0 -34
- package/templates/azure/teamsFx/function.bicep +0 -71
- package/templates/azure/teamsFx/simpleAuth.bicep +0 -40
- package/templates/plugins/resource/aad/bicep/param.template.bicep +0 -6
- package/templates/plugins/resource/aad/bicep/variables.template.bicep +0 -13
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FxError, QTreeNode, Result, v2, Void } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare function getQuestionsForInit(ctx: v2.Context, inputs: v2.InputsWithProjectPath): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
3
|
+
export declare function init(ctx: v2.Context, inputs: v2.InputsWithProjectPath): Promise<Result<Void, FxError>>;
|
|
4
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAM,SAAS,EAAE,MAAM,EAAE,EAAE,EAAM,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAGtF,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,GAC/B,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAEjD;AAED,wBAAsB,IAAI,CACxB,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,GAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAYhC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.init = exports.getQuestionsForInit = void 0;
|
|
6
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
7
|
+
async function getQuestionsForInit(ctx, inputs) {
|
|
8
|
+
return teamsfx_api_1.ok(undefined);
|
|
9
|
+
}
|
|
10
|
+
exports.getQuestionsForInit = getQuestionsForInit;
|
|
11
|
+
async function init(ctx, inputs) {
|
|
12
|
+
const solutionSettings = {
|
|
13
|
+
version: "3.0.0",
|
|
14
|
+
name: ctx.projectSetting.solutionSettings.name,
|
|
15
|
+
capabilities: [],
|
|
16
|
+
hostType: "Azure",
|
|
17
|
+
azureResources: [],
|
|
18
|
+
modules: [],
|
|
19
|
+
activeResourcePlugins: [],
|
|
20
|
+
};
|
|
21
|
+
ctx.projectSetting.solutionSettings = solutionSettings;
|
|
22
|
+
return teamsfx_api_1.ok(teamsfx_api_1.Void);
|
|
23
|
+
}
|
|
24
|
+
exports.init = init;
|
|
25
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/init.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wDAAsF;AAG/E,KAAK,UAAU,mBAAmB,CACvC,GAAe,EACf,MAAgC;IAEhC,OAAO,gBAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AALD,kDAKC;AAEM,KAAK,UAAU,IAAI,CACxB,GAAe,EACf,MAAgC;IAEhC,MAAM,gBAAgB,GAA+B;QACnD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI;QAC9C,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,qBAAqB,EAAE,EAAE;KAC1B,CAAC;IACF,GAAG,CAAC,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACvD,OAAO,gBAAE,CAAC,kBAAI,CAAC,CAAC;AAClB,CAAC;AAfD,oBAeC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FxError, QTreeNode, Result, TokenProvider, v2, v3 } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare function getQuestionsForProvision(ctx: v2.Context, inputs: v2.InputsWithProjectPath, envInfo: v2.DeepReadonly<v3.EnvInfoV3>, tokenProvider: TokenProvider): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
3
|
+
export declare function provisionResources(ctx: v2.Context, inputs: v2.InputsWithProjectPath, envInfo: v3.EnvInfoV3, tokenProvider: TokenProvider): Promise<Result<v3.EnvInfoV3, FxError>>;
|
|
4
|
+
//# sourceMappingURL=provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/provision.ts"],"names":[],"mappings":"AAGA,OAAO,EAAO,OAAO,EAAM,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AASpG,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAmBjD;AACD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,OAAO,EAAE,EAAE,CAAC,SAAS,EACrB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAmHxC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.provisionResources = exports.getQuestionsForProvision = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
const typedi_1 = require("typedi");
|
|
10
|
+
const util = tslib_1.__importStar(require("util"));
|
|
11
|
+
const constants_1 = require("../../../../common/constants");
|
|
12
|
+
const tools_1 = require("../../../../common/tools");
|
|
13
|
+
const executor_1 = require("../v2/executor");
|
|
14
|
+
const utils_1 = require("../v2/utils");
|
|
15
|
+
async function getQuestionsForProvision(ctx, inputs, envInfo, tokenProvider) {
|
|
16
|
+
const solutionSetting = ctx.projectSetting.solutionSettings;
|
|
17
|
+
const root = new teamsfx_api_1.QTreeNode({ type: "group" });
|
|
18
|
+
for (const pluginName of solutionSetting.activeResourcePlugins) {
|
|
19
|
+
const plugin = typedi_1.Container.get(pluginName);
|
|
20
|
+
if (plugin.getQuestionsForProvision) {
|
|
21
|
+
const res = await plugin.getQuestionsForProvision(ctx, inputs, envInfo, tokenProvider);
|
|
22
|
+
if (res.isErr()) {
|
|
23
|
+
return res;
|
|
24
|
+
}
|
|
25
|
+
if (res.value) {
|
|
26
|
+
const node = res.value;
|
|
27
|
+
if (node && node.data) {
|
|
28
|
+
root.addChild(node);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return teamsfx_api_1.ok(root);
|
|
34
|
+
}
|
|
35
|
+
exports.getQuestionsForProvision = getQuestionsForProvision;
|
|
36
|
+
async function provisionResources(ctx, inputs, envInfo, tokenProvider) {
|
|
37
|
+
// Just to trigger M365 login before the concurrent execution of provision.
|
|
38
|
+
// await tokenProvider.appStudioToken.getAccessToken();
|
|
39
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
40
|
+
// 1. check AAD permission request
|
|
41
|
+
// 2. ask common question and fill in solution config
|
|
42
|
+
// 3. ask for provision consent
|
|
43
|
+
// 4. collect plugins
|
|
44
|
+
const solutionSetting = ctx.projectSetting.solutionSettings;
|
|
45
|
+
const plugins = solutionSetting.activeResourcePlugins.map((p) => typedi_1.Container.get(p));
|
|
46
|
+
const provisionThunks = plugins
|
|
47
|
+
.filter((plugin) => !lodash_1.isUndefined(plugin.provisionResource))
|
|
48
|
+
.map((plugin) => {
|
|
49
|
+
return {
|
|
50
|
+
pluginName: `${plugin.name}`,
|
|
51
|
+
taskName: "provisionResource",
|
|
52
|
+
thunk: () => {
|
|
53
|
+
if (!envInfo.state[plugin.name]) {
|
|
54
|
+
envInfo.state[plugin.name] = {};
|
|
55
|
+
}
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
57
|
+
return plugin.provisionResource(ctx, inputs, envInfo, tokenProvider);
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
// call provisionResources and collect outputs
|
|
62
|
+
(_a = ctx.logProvider) === null || _a === void 0 ? void 0 : _a.info(util.format(tools_1.getStrings().solution.ProvisionStartNotice, constants_1.PluginDisplayName.Solution));
|
|
63
|
+
const provisionResult = await executor_1.executeConcurrently(provisionThunks, ctx.logProvider);
|
|
64
|
+
if (provisionResult.kind === "failure" || provisionResult.kind === "partialSuccess") {
|
|
65
|
+
return teamsfx_api_1.err(provisionResult.error);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const update = utils_1.combineRecords(provisionResult.output);
|
|
69
|
+
lodash_1.assign(envInfo.state, update);
|
|
70
|
+
}
|
|
71
|
+
(_b = ctx.logProvider) === null || _b === void 0 ? void 0 : _b.info(util.format(tools_1.getStrings().solution.ProvisionFinishNotice, constants_1.PluginDisplayName.Solution));
|
|
72
|
+
// call deployArmTemplates
|
|
73
|
+
(_c = ctx.logProvider) === null || _c === void 0 ? void 0 : _c.info(util.format(tools_1.getStrings().solution.DeployArmTemplates.StartNotice, constants_1.PluginDisplayName.Solution));
|
|
74
|
+
(_d = ctx.logProvider) === null || _d === void 0 ? void 0 : _d.info(util.format(tools_1.getStrings().solution.DeployArmTemplates.SuccessNotice, constants_1.PluginDisplayName.Solution));
|
|
75
|
+
// call aad.setApplicationInContext
|
|
76
|
+
(_e = ctx.logProvider) === null || _e === void 0 ? void 0 : _e.info(util.format("AAD.setApplicationInContext", constants_1.PluginDisplayName.Solution));
|
|
77
|
+
const configureResourceThunks = plugins
|
|
78
|
+
.filter((plugin) => !lodash_1.isUndefined(plugin.configureResource))
|
|
79
|
+
.map((plugin) => {
|
|
80
|
+
if (!envInfo.state[plugin.name]) {
|
|
81
|
+
envInfo.state[plugin.name] = {};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
pluginName: `${plugin.name}`,
|
|
85
|
+
taskName: "configureResource",
|
|
86
|
+
thunk: () =>
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
88
|
+
plugin.configureResource(ctx, inputs, envInfo, tokenProvider),
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
//call configResource
|
|
92
|
+
const configureResourceResult = await executor_1.executeConcurrently(configureResourceThunks, ctx.logProvider);
|
|
93
|
+
(_f = ctx.logProvider) === null || _f === void 0 ? void 0 : _f.info(util.format(tools_1.getStrings().solution.ConfigurationFinishNotice, constants_1.PluginDisplayName.Solution));
|
|
94
|
+
const envStates = envInfo.state;
|
|
95
|
+
if (configureResourceResult.kind === "failure" ||
|
|
96
|
+
configureResourceResult.kind === "partialSuccess") {
|
|
97
|
+
const msg = util.format(tools_1.getStrings().solution.ProvisionFailNotice, ctx.projectSetting.appName);
|
|
98
|
+
ctx.logProvider.error(msg);
|
|
99
|
+
envStates.solution.provisionSucceeded = false;
|
|
100
|
+
return teamsfx_api_1.err(configureResourceResult.error);
|
|
101
|
+
}
|
|
102
|
+
// const url = getResourceGroupInPortal(
|
|
103
|
+
// envStates.solution.subscriptionId,
|
|
104
|
+
// envStates.solution.tenantId,
|
|
105
|
+
// envStates.solution.resourceGroupName
|
|
106
|
+
// );
|
|
107
|
+
const msg = util.format(`Success: ${tools_1.getStrings().solution.ProvisionSuccessNotice}`, ctx.projectSetting.appName);
|
|
108
|
+
(_g = ctx.logProvider) === null || _g === void 0 ? void 0 : _g.info(msg);
|
|
109
|
+
// if (url) {
|
|
110
|
+
// const title = "View Provisioned Resources";
|
|
111
|
+
// ctx.userInteraction.showMessage("info", msg, false, title).then((result) => {
|
|
112
|
+
// const userSelected = result.isOk() ? result.value : undefined;
|
|
113
|
+
// if (userSelected === title) {
|
|
114
|
+
// ctx.userInteraction.openUrl(url);
|
|
115
|
+
// }
|
|
116
|
+
// });
|
|
117
|
+
// } else {
|
|
118
|
+
// ctx.userInteraction.showMessage("info", msg, false);
|
|
119
|
+
// }
|
|
120
|
+
return teamsfx_api_1.ok(envInfo);
|
|
121
|
+
}
|
|
122
|
+
exports.provisionResources = provisionResources;
|
|
123
|
+
//# sourceMappingURL=provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/provision.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FxError, Json, QTreeNode, Result, TokenProvider, v2 } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare function getQuestionsForLocalProvision(ctx: v2.Context, inputs: v2.InputsWithProjectPath, localSettings: v2.DeepReadonly<Json>, tokenProvider: TokenProvider): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
3
|
+
export declare function provisionLocalResources(ctx: v2.Context, inputs: v2.InputsWithProjectPath, localSettings: Json, tokenProvider: TokenProvider): Promise<Result<Json, FxError>>;
|
|
4
|
+
//# sourceMappingURL=provisionLocal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisionLocal.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/provisionLocal.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,IAAI,EAGJ,SAAS,EACT,MAAM,EACN,aAAa,EACb,EAAE,EACH,MAAM,wBAAwB,CAAC;AAEhC,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACpC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAEjD;AACD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,aAAa,EAAE,IAAI,EACnB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAEhC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provisionLocalResources = exports.getQuestionsForLocalProvision = void 0;
|
|
4
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
5
|
+
async function getQuestionsForLocalProvision(ctx, inputs, localSettings, tokenProvider) {
|
|
6
|
+
return teamsfx_api_1.ok(undefined);
|
|
7
|
+
}
|
|
8
|
+
exports.getQuestionsForLocalProvision = getQuestionsForLocalProvision;
|
|
9
|
+
async function provisionLocalResources(ctx, inputs, localSettings, tokenProvider) {
|
|
10
|
+
return teamsfx_api_1.err(new teamsfx_api_1.NotImplementedError("Solution", "provisionLocalResources"));
|
|
11
|
+
}
|
|
12
|
+
exports.provisionLocalResources = provisionLocalResources;
|
|
13
|
+
//# sourceMappingURL=provisionLocal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisionLocal.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/provisionLocal.ts"],"names":[],"mappings":";;;AAAA,wDAUgC;AAEzB,KAAK,UAAU,6BAA6B,CACjD,GAAe,EACf,MAAgC,EAChC,aAAoC,EACpC,aAA4B;IAE5B,OAAO,gBAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AAPD,sEAOC;AACM,KAAK,UAAU,uBAAuB,CAC3C,GAAe,EACf,MAAgC,EAChC,aAAmB,EACnB,aAA4B;IAE5B,OAAO,iBAAG,CAAC,IAAI,iCAAmB,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC7E,CAAC;AAPD,0DAOC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AppStudioTokenProvider, FxError, QTreeNode, Result, v2, v3, Void } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare function getQuestionsForPublish(ctx: v2.Context, inputs: v2.InputsWithProjectPath, envInfo: v2.DeepReadonly<v3.EnvInfoV3>, tokenProvider: AppStudioTokenProvider): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
3
|
+
export declare function publishApplication(ctx: v2.Context, inputs: v2.InputsWithProjectPath, envInfo: v2.DeepReadonly<v3.EnvInfoV3>, tokenProvider: AppStudioTokenProvider): Promise<Result<Void, FxError>>;
|
|
4
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/publish.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EAEtB,OAAO,EAGP,SAAS,EACT,MAAM,EACN,EAAE,EACF,EAAE,EACF,IAAI,EACL,MAAM,wBAAwB,CAAC;AAEhC,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,sBAAsB,GACpC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAEjD;AACD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,sBAAsB,GACpC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAEhC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.publishApplication = exports.getQuestionsForPublish = void 0;
|
|
6
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
7
|
+
async function getQuestionsForPublish(ctx, inputs, envInfo, tokenProvider) {
|
|
8
|
+
return teamsfx_api_1.ok(undefined);
|
|
9
|
+
}
|
|
10
|
+
exports.getQuestionsForPublish = getQuestionsForPublish;
|
|
11
|
+
async function publishApplication(ctx, inputs, envInfo, tokenProvider) {
|
|
12
|
+
return teamsfx_api_1.err(new teamsfx_api_1.NotImplementedError("Solution", "publishApplication"));
|
|
13
|
+
}
|
|
14
|
+
exports.publishApplication = publishApplication;
|
|
15
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/publish.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wDAWgC;AAEzB,KAAK,UAAU,sBAAsB,CAC1C,GAAe,EACf,MAAgC,EAChC,OAAsC,EACtC,aAAqC;IAErC,OAAO,gBAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AAPD,wDAOC;AACM,KAAK,UAAU,kBAAkB,CACtC,GAAe,EACf,MAAgC,EAChC,OAAsC,EACtC,aAAqC;IAErC,OAAO,iBAAG,CAAC,IAAI,iCAAmB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACxE,CAAC;AAPD,gDAOC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MultiSelectQuestion, QTreeNode, SingleSelectQuestion, v3 } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare enum SolutionV3QuestionNames {
|
|
3
|
+
scaffoldTemplate = "template",
|
|
4
|
+
capabilities = "capabilities",
|
|
5
|
+
resource = "resource",
|
|
6
|
+
module = "module",
|
|
7
|
+
deployModules = "deploy-modules"
|
|
8
|
+
}
|
|
9
|
+
export declare const selectModulesQuestion: SingleSelectQuestion;
|
|
10
|
+
export declare const selectMultiModulesQuestion: MultiSelectQuestion;
|
|
11
|
+
export declare function createSelectModuleQuestionNode(modules: v3.Module[]): QTreeNode;
|
|
12
|
+
export declare function createSelectModulesToDeployQuestionNode(modules: v3.Module[]): QTreeNode;
|
|
13
|
+
export declare const selectCapabilitiesQuestion: MultiSelectQuestion;
|
|
14
|
+
export declare const selectScaffoldTemplateQuestion: SingleSelectQuestion;
|
|
15
|
+
export declare const selectResourceQuestion: SingleSelectQuestion;
|
|
16
|
+
//# sourceMappingURL=questions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/questions.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EAEnB,SAAS,EACT,oBAAoB,EACpB,EAAE,EACH,MAAM,wBAAwB,CAAC;AAIhC,oBAAY,uBAAuB;IACjC,gBAAgB,aAAa;IAC7B,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,aAAa,mBAAmB;CACjC;AAED,eAAO,MAAM,qBAAqB,EAAE,oBAKnC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,mBAKxC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,SAAS,CAc9E;AAED,wBAAgB,uCAAuC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,SAAS,CAkBvF;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAOxC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,oBAM5C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,oBAKpC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.selectResourceQuestion = exports.selectScaffoldTemplateQuestion = exports.selectCapabilitiesQuestion = exports.createSelectModulesToDeployQuestionNode = exports.createSelectModuleQuestionNode = exports.selectMultiModulesQuestion = exports.selectModulesQuestion = exports.SolutionV3QuestionNames = void 0;
|
|
6
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
7
|
+
const typedi_1 = require("typedi");
|
|
8
|
+
const question_1 = require("../question");
|
|
9
|
+
var SolutionV3QuestionNames;
|
|
10
|
+
(function (SolutionV3QuestionNames) {
|
|
11
|
+
SolutionV3QuestionNames["scaffoldTemplate"] = "template";
|
|
12
|
+
SolutionV3QuestionNames["capabilities"] = "capabilities";
|
|
13
|
+
SolutionV3QuestionNames["resource"] = "resource";
|
|
14
|
+
SolutionV3QuestionNames["module"] = "module";
|
|
15
|
+
SolutionV3QuestionNames["deployModules"] = "deploy-modules";
|
|
16
|
+
})(SolutionV3QuestionNames = exports.SolutionV3QuestionNames || (exports.SolutionV3QuestionNames = {}));
|
|
17
|
+
exports.selectModulesQuestion = {
|
|
18
|
+
name: SolutionV3QuestionNames.module,
|
|
19
|
+
title: "Select a module",
|
|
20
|
+
type: "singleSelect",
|
|
21
|
+
staticOptions: [],
|
|
22
|
+
};
|
|
23
|
+
exports.selectMultiModulesQuestion = {
|
|
24
|
+
name: SolutionV3QuestionNames.deployModules,
|
|
25
|
+
title: "Select modules to deploy",
|
|
26
|
+
type: "multiSelect",
|
|
27
|
+
staticOptions: [],
|
|
28
|
+
};
|
|
29
|
+
function createSelectModuleQuestionNode(modules) {
|
|
30
|
+
const moduleNode = new teamsfx_api_1.QTreeNode(exports.selectModulesQuestion);
|
|
31
|
+
const moduleOptions = [];
|
|
32
|
+
let i = 0;
|
|
33
|
+
for (const module of modules) {
|
|
34
|
+
const option = {
|
|
35
|
+
id: `${i++}`,
|
|
36
|
+
label: JSON.stringify(module),
|
|
37
|
+
};
|
|
38
|
+
moduleOptions.push(option);
|
|
39
|
+
}
|
|
40
|
+
moduleOptions.push({ id: "none", label: "none" });
|
|
41
|
+
exports.selectModulesQuestion.staticOptions = moduleOptions;
|
|
42
|
+
return moduleNode;
|
|
43
|
+
}
|
|
44
|
+
exports.createSelectModuleQuestionNode = createSelectModuleQuestionNode;
|
|
45
|
+
function createSelectModulesToDeployQuestionNode(modules) {
|
|
46
|
+
const moduleNode = new teamsfx_api_1.QTreeNode(exports.selectMultiModulesQuestion);
|
|
47
|
+
const moduleOptions = [];
|
|
48
|
+
let i = 0;
|
|
49
|
+
for (const module of modules) {
|
|
50
|
+
if (module.hostingPlugin) {
|
|
51
|
+
const plugin = typedi_1.Container.get(module.hostingPlugin);
|
|
52
|
+
if (plugin.deploy) {
|
|
53
|
+
const option = {
|
|
54
|
+
id: `${i++}`,
|
|
55
|
+
label: JSON.stringify(module),
|
|
56
|
+
};
|
|
57
|
+
moduleOptions.push(option);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.selectModulesQuestion.staticOptions = moduleOptions;
|
|
62
|
+
return moduleNode;
|
|
63
|
+
}
|
|
64
|
+
exports.createSelectModulesToDeployQuestionNode = createSelectModulesToDeployQuestionNode;
|
|
65
|
+
exports.selectCapabilitiesQuestion = {
|
|
66
|
+
name: SolutionV3QuestionNames.capabilities,
|
|
67
|
+
title: "Select capabilities",
|
|
68
|
+
type: "multiSelect",
|
|
69
|
+
staticOptions: [question_1.TabOptionItem, question_1.BotOptionItem, question_1.MessageExtensionItem],
|
|
70
|
+
default: [question_1.TabOptionItem.id],
|
|
71
|
+
skipSingleOption: true,
|
|
72
|
+
};
|
|
73
|
+
exports.selectScaffoldTemplateQuestion = {
|
|
74
|
+
name: SolutionV3QuestionNames.scaffoldTemplate,
|
|
75
|
+
title: "Select a scaffold template",
|
|
76
|
+
type: "singleSelect",
|
|
77
|
+
staticOptions: [],
|
|
78
|
+
returnObject: true,
|
|
79
|
+
};
|
|
80
|
+
exports.selectResourceQuestion = {
|
|
81
|
+
name: SolutionV3QuestionNames.resource,
|
|
82
|
+
title: "Select a resources",
|
|
83
|
+
type: "singleSelect",
|
|
84
|
+
staticOptions: [],
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=questions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/questions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FxError, Inputs, Json, OptionItem, QTreeNode, Result, v2, v3, Void } from "@microsoft/teamsfx-api";
|
|
2
|
+
export declare class ReactTabScaffoldPlugin implements v3.ScaffoldPlugin {
|
|
3
|
+
getTemplates(ctx: v2.Context, inputs: Inputs): Promise<Result<v3.ScaffoldTemplate[], FxError>>;
|
|
4
|
+
getQuestionsForScaffold(ctx: v2.Context, inputs: Inputs): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
5
|
+
scaffold(ctx: v2.Context, inputs: v3.PluginScaffoldInputs): Promise<Result<Json | undefined, FxError>>;
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class BlazorTabScaffoldPlugin implements v3.ScaffoldPlugin {
|
|
9
|
+
getTemplates(ctx: v2.Context, inputs: Inputs): Promise<Result<v3.ScaffoldTemplate[], FxError>>;
|
|
10
|
+
scaffold(ctx: v2.Context, inputs: v3.PluginScaffoldInputs): Promise<Result<Json | undefined, FxError>>;
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function getQuestionsForScaffold(ctx: v2.Context, inputs: v2.InputsWithProjectPath): Promise<Result<QTreeNode | undefined, FxError>>;
|
|
14
|
+
export declare function scaffold(ctx: v2.Context, inputs: v2.InputsWithProjectPath & {
|
|
15
|
+
module?: string;
|
|
16
|
+
template?: OptionItem;
|
|
17
|
+
}): Promise<Result<Void, FxError>>;
|
|
18
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/scaffold.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,OAAO,EACP,MAAM,EACN,IAAI,EAEJ,UAAU,EACV,SAAS,EACT,MAAM,EACN,EAAE,EACF,EAAE,EACF,IAAI,EACL,MAAM,wBAAwB,CAAC;AAOhC,qBACa,sBAAuB,YAAW,EAAE,CAAC,cAAc;IACxD,YAAY,CAChB,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;IAc5C,uBAAuB,CAC3B,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAS5C,QAAQ,CACZ,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,oBAAoB,GAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAW7C,IAAI,SAA2B;CAChC;AAED,qBACa,uBAAwB,YAAW,EAAE,CAAC,cAAc;IACzD,YAAY,CAChB,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;IAe5C,QAAQ,CACZ,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,oBAAoB,GAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IAW7C,IAAI,SAAqB;CAC1B;AASD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,GAC/B,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CA+CjD;AACD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,GAC5E,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CA8BhC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.scaffold = exports.getQuestionsForScaffold = exports.BlazorTabScaffoldPlugin = exports.ReactTabScaffoldPlugin = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
8
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
9
|
+
const path = tslib_1.__importStar(require("path"));
|
|
10
|
+
const typedi_1 = require("typedi");
|
|
11
|
+
const error_1 = require("./error");
|
|
12
|
+
const questions_1 = require("./questions");
|
|
13
|
+
const utils_1 = require("./utils");
|
|
14
|
+
let ReactTabScaffoldPlugin = class ReactTabScaffoldPlugin {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.name = "fx-scaffold-react-tab";
|
|
17
|
+
}
|
|
18
|
+
async getTemplates(ctx, inputs) {
|
|
19
|
+
return teamsfx_api_1.ok([
|
|
20
|
+
{
|
|
21
|
+
name: "ReactTab_JS",
|
|
22
|
+
language: "javascript",
|
|
23
|
+
description: "ReactTab Javascript",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "ReactTab_TS",
|
|
27
|
+
language: "typescript",
|
|
28
|
+
description: "ReactTab Typescript",
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
async getQuestionsForScaffold(ctx, inputs) {
|
|
33
|
+
return teamsfx_api_1.ok(new teamsfx_api_1.QTreeNode({
|
|
34
|
+
type: "text",
|
|
35
|
+
name: "test_question",
|
|
36
|
+
title: "test question from ReactTabScaffoldPlugin",
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
async scaffold(ctx, inputs) {
|
|
40
|
+
ctx.logProvider.info("fx-scaffold-react-tab:scaffold");
|
|
41
|
+
if (!inputs.test)
|
|
42
|
+
await fs_extra_1.default.ensureDir(path.join(inputs.projectPath, "tabs"));
|
|
43
|
+
const solutionSettings = ctx.projectSetting.solutionSettings;
|
|
44
|
+
const module = utils_1.getModule(solutionSettings, inputs.module);
|
|
45
|
+
if (module) {
|
|
46
|
+
module.dir = "tabs";
|
|
47
|
+
module.deployType = "folder";
|
|
48
|
+
}
|
|
49
|
+
return teamsfx_api_1.ok(undefined);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
ReactTabScaffoldPlugin = tslib_1.__decorate([
|
|
53
|
+
typedi_1.Service("fx-scaffold-react-tab")
|
|
54
|
+
], ReactTabScaffoldPlugin);
|
|
55
|
+
exports.ReactTabScaffoldPlugin = ReactTabScaffoldPlugin;
|
|
56
|
+
let BlazorTabScaffoldPlugin = class BlazorTabScaffoldPlugin {
|
|
57
|
+
constructor() {
|
|
58
|
+
this.name = "fx-scaffold-bot";
|
|
59
|
+
}
|
|
60
|
+
async getTemplates(ctx, inputs) {
|
|
61
|
+
return teamsfx_api_1.ok([
|
|
62
|
+
{
|
|
63
|
+
name: "NodejsBot_JS",
|
|
64
|
+
language: "javascript",
|
|
65
|
+
description: "NodejsBot JS",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "NodejsBot_TS",
|
|
69
|
+
language: "typescript",
|
|
70
|
+
description: "NodejsBot TS",
|
|
71
|
+
},
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
async scaffold(ctx, inputs) {
|
|
75
|
+
ctx.logProvider.info("fx-scaffold-bot:scaffold");
|
|
76
|
+
if (!inputs.test)
|
|
77
|
+
await fs_extra_1.default.ensureDir(path.join(inputs.projectPath, "bot"));
|
|
78
|
+
const solutionSettings = ctx.projectSetting.solutionSettings;
|
|
79
|
+
const module = utils_1.getModule(solutionSettings, inputs.module);
|
|
80
|
+
if (module) {
|
|
81
|
+
module.dir = "bot";
|
|
82
|
+
module.deployType = "zip";
|
|
83
|
+
}
|
|
84
|
+
return teamsfx_api_1.ok(undefined);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
BlazorTabScaffoldPlugin = tslib_1.__decorate([
|
|
88
|
+
typedi_1.Service("fx-scaffold-bot")
|
|
89
|
+
], BlazorTabScaffoldPlugin);
|
|
90
|
+
exports.BlazorTabScaffoldPlugin = BlazorTabScaffoldPlugin;
|
|
91
|
+
function getAllScaffoldPlugins() {
|
|
92
|
+
return [
|
|
93
|
+
typedi_1.Container.get("fx-scaffold-bot"),
|
|
94
|
+
typedi_1.Container.get("fx-scaffold-react-tab"),
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
async function getQuestionsForScaffold(ctx, inputs) {
|
|
98
|
+
const solutionSettings = ctx.projectSetting.solutionSettings;
|
|
99
|
+
const scaffoldPlugins = getAllScaffoldPlugins();
|
|
100
|
+
const node = new teamsfx_api_1.QTreeNode({ type: "group" });
|
|
101
|
+
if (solutionSettings.modules) {
|
|
102
|
+
const moduleNode = questions_1.createSelectModuleQuestionNode(solutionSettings.modules);
|
|
103
|
+
node.addChild(moduleNode);
|
|
104
|
+
}
|
|
105
|
+
const templateNode = new teamsfx_api_1.QTreeNode(questions_1.selectScaffoldTemplateQuestion);
|
|
106
|
+
const staticOptions = [];
|
|
107
|
+
for (const plugin of scaffoldPlugins) {
|
|
108
|
+
const getTemplatesRes = await plugin.getTemplates(ctx, inputs);
|
|
109
|
+
if (getTemplatesRes.isErr()) {
|
|
110
|
+
return teamsfx_api_1.err(getTemplatesRes.error);
|
|
111
|
+
}
|
|
112
|
+
for (const template of getTemplatesRes.value) {
|
|
113
|
+
staticOptions.push({
|
|
114
|
+
id: `${plugin.name}/${template.name}`,
|
|
115
|
+
label: `${template.name}(${template.language})`,
|
|
116
|
+
detail: template.description,
|
|
117
|
+
data: {
|
|
118
|
+
pluginName: plugin.name,
|
|
119
|
+
templateName: template.name,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
if (plugin.getQuestionsForScaffold) {
|
|
124
|
+
const pluginQuestionsRes = await plugin.getQuestionsForScaffold(ctx, inputs);
|
|
125
|
+
if (pluginQuestionsRes.isOk()) {
|
|
126
|
+
const pluginNode = pluginQuestionsRes.value;
|
|
127
|
+
if (pluginNode) {
|
|
128
|
+
pluginNode.condition = {
|
|
129
|
+
validFunc: async (input, inputs) => {
|
|
130
|
+
if (input.data) {
|
|
131
|
+
if (input.data.pluginName === plugin.name)
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return "";
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
templateNode.addChild(pluginNode);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
questions_1.selectScaffoldTemplateQuestion.staticOptions = staticOptions;
|
|
143
|
+
node.addChild(templateNode);
|
|
144
|
+
return teamsfx_api_1.ok(node);
|
|
145
|
+
}
|
|
146
|
+
exports.getQuestionsForScaffold = getQuestionsForScaffold;
|
|
147
|
+
async function scaffold(ctx, inputs) {
|
|
148
|
+
if (!inputs.template) {
|
|
149
|
+
return teamsfx_api_1.err(new error_1.InvalidInputError(inputs));
|
|
150
|
+
}
|
|
151
|
+
const template = inputs.template;
|
|
152
|
+
if (!template.data) {
|
|
153
|
+
return teamsfx_api_1.err(new error_1.InvalidInputError(inputs));
|
|
154
|
+
}
|
|
155
|
+
const data = template.data;
|
|
156
|
+
const pluginName = data.pluginName;
|
|
157
|
+
const templateName = data.templateName;
|
|
158
|
+
const plugin = typedi_1.Container.get(pluginName);
|
|
159
|
+
const pluginInputs = Object.assign(Object.assign({}, inputs), { template: templateName });
|
|
160
|
+
const res = await plugin.scaffold(ctx, pluginInputs);
|
|
161
|
+
if (res.isErr()) {
|
|
162
|
+
return teamsfx_api_1.err(res.error);
|
|
163
|
+
}
|
|
164
|
+
const manifest = [];
|
|
165
|
+
if (res.value) {
|
|
166
|
+
manifest.push(res.value);
|
|
167
|
+
}
|
|
168
|
+
inputs.manifest = manifest;
|
|
169
|
+
//TODO
|
|
170
|
+
// //call appstudio.scaffold() API
|
|
171
|
+
// const appstudioPlugin = Container.get<v3.ScaffoldPlugin>(BuiltInResourcePluginNames.AppStudio);
|
|
172
|
+
// await appstudioPlugin.scaffold(ctx, pluginInputs);
|
|
173
|
+
return teamsfx_api_1.ok(teamsfx_api_1.Void);
|
|
174
|
+
}
|
|
175
|
+
exports.scaffold = scaffold;
|
|
176
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { v3 } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { addModule, getQuestionsForAddModule } from "./addModule";
|
|
3
|
+
import { addResource, getQuestionsForAddResource } from "./addResource";
|
|
4
|
+
import { deploy, getQuestionsForDeploy } from "./deploy";
|
|
5
|
+
import { init } from "./init";
|
|
6
|
+
import { getQuestionsForProvision, provisionResources } from "./provision";
|
|
7
|
+
import { getQuestionsForLocalProvision, provisionLocalResources } from "./provisionLocal";
|
|
8
|
+
import { getQuestionsForPublish, publishApplication } from "./publish";
|
|
9
|
+
import { getQuestionsForScaffold, scaffold } from "./scaffold";
|
|
10
|
+
import { executeUserTask, getQuestionsForUserTask } from "./userTask";
|
|
11
|
+
export declare class TeamsFxAzureSolution implements v3.ISolution {
|
|
12
|
+
name: string;
|
|
13
|
+
init: typeof init;
|
|
14
|
+
getQuestionsForScaffold: typeof getQuestionsForScaffold;
|
|
15
|
+
scaffold: typeof scaffold;
|
|
16
|
+
getQuestionsForAddResource: typeof getQuestionsForAddResource;
|
|
17
|
+
addResource: typeof addResource;
|
|
18
|
+
getQuestionsForAddModule: typeof getQuestionsForAddModule;
|
|
19
|
+
addModule: typeof addModule;
|
|
20
|
+
getQuestionsForProvision: typeof getQuestionsForProvision;
|
|
21
|
+
provisionResources: typeof provisionResources;
|
|
22
|
+
getQuestionsForLocalProvision: typeof getQuestionsForLocalProvision;
|
|
23
|
+
provisionLocalResources: typeof provisionLocalResources;
|
|
24
|
+
getQuestionsForDeploy: typeof getQuestionsForDeploy;
|
|
25
|
+
deploy: typeof deploy;
|
|
26
|
+
getQuestionsForPublish: typeof getQuestionsForPublish;
|
|
27
|
+
publishApplication: typeof publishApplication;
|
|
28
|
+
getQuestionsForUserTask: typeof getQuestionsForUserTask;
|
|
29
|
+
executeUserTask: typeof executeUserTask;
|
|
30
|
+
}
|
|
31
|
+
export declare class TeamsFxSFPxSolution implements v3.ISolution {
|
|
32
|
+
name: string;
|
|
33
|
+
init: typeof init;
|
|
34
|
+
getQuestionsForScaffold: typeof getQuestionsForScaffold;
|
|
35
|
+
scaffold: typeof scaffold;
|
|
36
|
+
getQuestionsForAddResource: typeof getQuestionsForAddResource;
|
|
37
|
+
addResource: typeof addResource;
|
|
38
|
+
getQuestionsForAddModule: typeof getQuestionsForAddModule;
|
|
39
|
+
addModule: typeof addModule;
|
|
40
|
+
getQuestionsForProvision: typeof getQuestionsForProvision;
|
|
41
|
+
provisionResources: typeof provisionResources;
|
|
42
|
+
getQuestionsForLocalProvision: typeof getQuestionsForLocalProvision;
|
|
43
|
+
provisionLocalResources: typeof provisionLocalResources;
|
|
44
|
+
getQuestionsForDeploy: typeof getQuestionsForDeploy;
|
|
45
|
+
deploy: typeof deploy;
|
|
46
|
+
getQuestionsForPublish: typeof getQuestionsForPublish;
|
|
47
|
+
publishApplication: typeof publishApplication;
|
|
48
|
+
getQuestionsForUserTask: typeof getQuestionsForUserTask;
|
|
49
|
+
executeUserTask: typeof executeUserTask;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=solution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solution.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v3/solution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtE,qBACa,oBAAqB,YAAW,EAAE,CAAC,SAAS;IACvD,IAAI,SAA8B;IAClC,IAAI,cAAQ;IACZ,uBAAuB,iCAA2B;IAClD,QAAQ,kBAAY;IACpB,0BAA0B,oCAA8B;IACxD,WAAW,qBAAe;IAC1B,wBAAwB,kCAA4B;IACpD,SAAS,mBAAa;IACtB,wBAAwB,kCAA4B;IACpD,kBAAkB,4BAAsB;IACxC,6BAA6B,uCAAiC;IAC9D,uBAAuB,iCAA2B;IAClD,qBAAqB,+BAAyB;IAC9C,MAAM,gBAAU;IAChB,sBAAsB,gCAA0B;IAChD,kBAAkB,4BAAsB;IACxC,uBAAuB,iCAA2B;IAClD,eAAe,yBAAmB;CACnC;AAED,qBACa,mBAAoB,YAAW,EAAE,CAAC,SAAS;IACtD,IAAI,SAAsB;IAC1B,IAAI,cAAQ;IACZ,uBAAuB,iCAA2B;IAClD,QAAQ,kBAAY;IACpB,0BAA0B,oCAA8B;IACxD,WAAW,qBAAe;IAC1B,wBAAwB,kCAA4B;IACpD,SAAS,mBAAa;IACtB,wBAAwB,kCAA4B;IACpD,kBAAkB,4BAAsB;IACxC,6BAA6B,uCAAiC;IAC9D,uBAAuB,iCAA2B;IAClD,qBAAqB,+BAAyB;IAC9C,MAAM,gBAAU;IAChB,sBAAsB,gCAA0B;IAChD,kBAAkB,4BAAsB;IACxC,uBAAuB,iCAA2B;IAClD,eAAe,yBAAmB;CACnC"}
|