@microsoft/teamsfx-core 1.2.2-alpha.01a113d2.0 → 1.2.2-alpha.4ce002ea.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/local/constants.d.ts +0 -1
- package/build/common/local/constants.d.ts.map +1 -1
- package/build/common/local/constants.js +0 -1
- package/build/common/local/constants.js.map +1 -1
- package/build/common/local/localEnvManager.js +1 -1
- package/build/common/local/localEnvManager.js.map +1 -1
- package/build/common/local/portChecker.d.ts +2 -2
- package/build/common/local/portChecker.d.ts.map +1 -1
- package/build/common/local/portChecker.js +18 -5
- package/build/common/local/portChecker.js.map +1 -1
- package/build/common/local/taskDefinition.d.ts +0 -7
- package/build/common/local/taskDefinition.d.ts.map +1 -1
- package/build/common/local/taskDefinition.js +1 -51
- package/build/common/local/taskDefinition.js.map +1 -1
- package/build/common/localSettingsConstants.d.ts +2 -1
- package/build/common/localSettingsConstants.d.ts.map +1 -1
- package/build/common/localSettingsConstants.js +3 -2
- package/build/common/localSettingsConstants.js.map +1 -1
- package/build/common/localSettingsProvider.d.ts +3 -3
- package/build/common/localSettingsProvider.d.ts.map +1 -1
- package/build/common/localSettingsProvider.js +13 -11
- package/build/common/localSettingsProvider.js.map +1 -1
- package/build/common/permissionInterface.d.ts +1 -3
- package/build/common/permissionInterface.d.ts.map +1 -1
- package/build/common/permissionInterface.js +0 -2
- package/build/common/permissionInterface.js.map +1 -1
- package/build/common/projectSettingsValidator.d.ts +4 -0
- package/build/common/projectSettingsValidator.d.ts.map +1 -0
- package/build/common/projectSettingsValidator.js +65 -0
- package/build/common/projectSettingsValidator.js.map +1 -0
- package/build/common/telemetry.d.ts +3 -1
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +2 -0
- package/build/common/telemetry.js.map +1 -1
- package/build/common/template-utils/templatesActions.js +2 -2
- package/build/common/template-utils/templatesUtils.d.ts +2 -1
- package/build/common/template-utils/templatesUtils.d.ts.map +1 -1
- package/build/common/template-utils/templatesUtils.js +25 -7
- package/build/common/template-utils/templatesUtils.js.map +1 -1
- package/build/common/tools.d.ts +0 -4
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +1 -8
- package/build/common/tools.js.map +1 -1
- package/build/core/error.d.ts +2 -0
- package/build/core/error.d.ts.map +1 -1
- package/build/core/error.js +10 -2
- package/build/core/error.js.map +1 -1
- package/build/core/index.d.ts +0 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +5 -25
- package/build/core/index.js.map +1 -1
- package/build/core/middleware/CommonErrorHandlerMW.d.ts +14 -0
- package/build/core/middleware/CommonErrorHandlerMW.d.ts.map +1 -0
- package/build/core/middleware/CommonErrorHandlerMW.js +55 -0
- package/build/core/middleware/CommonErrorHandlerMW.js.map +1 -0
- package/build/core/middleware/envInfoLoader.d.ts.map +1 -1
- package/build/core/middleware/envInfoLoader.js +2 -1
- package/build/core/middleware/envInfoLoader.js.map +1 -1
- package/build/core/middleware/localSettingsLoader.d.ts.map +1 -1
- package/build/core/middleware/localSettingsLoader.js +4 -2
- package/build/core/middleware/localSettingsLoader.js.map +1 -1
- package/build/core/middleware/projectMigrator.d.ts.map +1 -1
- package/build/core/middleware/projectMigrator.js +1 -5
- package/build/core/middleware/projectMigrator.js.map +1 -1
- package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +1 -1
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/build/core/pvm/broker.d.ts +24 -0
- package/build/core/pvm/broker.d.ts.map +1 -0
- package/build/core/pvm/broker.js +93 -0
- package/build/core/pvm/broker.js.map +1 -0
- package/build/core/pvm/constant.d.ts +9 -0
- package/build/core/pvm/constant.d.ts.map +1 -0
- package/build/core/pvm/constant.js +12 -0
- package/build/core/pvm/constant.js.map +1 -0
- package/build/core/pvm/depot.d.ts +43 -0
- package/build/core/pvm/depot.d.ts.map +1 -0
- package/build/core/pvm/depot.js +242 -0
- package/build/core/pvm/depot.js.map +1 -0
- package/build/core/pvm/pvm.d.ts +50 -0
- package/build/core/pvm/pvm.d.ts.map +1 -0
- package/build/core/pvm/pvm.js +92 -0
- package/build/core/pvm/pvm.js.map +1 -0
- package/build/core/pvm/type.d.ts +11 -0
- package/build/core/pvm/type.d.ts.map +1 -0
- package/build/core/pvm/type.js +3 -0
- package/build/core/pvm/type.js.map +1 -0
- package/build/core/pvm/utility.d.ts +2 -0
- package/build/core/pvm/utility.d.ts.map +1 -0
- package/build/core/pvm/utility.js +10 -0
- package/build/core/pvm/utility.js.map +1 -0
- package/build/core/tools.d.ts.map +1 -1
- package/build/core/tools.js +2 -6
- package/build/core/tools.js.map +1 -1
- package/build/plugins/resource/aad/aadAppClient.d.ts +8 -8
- package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
- package/build/plugins/resource/aad/aadAppClient.js +29 -29
- package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
- package/build/plugins/resource/aad/index.d.ts +1 -0
- package/build/plugins/resource/aad/index.d.ts.map +1 -1
- package/build/plugins/resource/aad/index.js +1 -0
- package/build/plugins/resource/aad/index.js.map +1 -1
- package/build/plugins/resource/aad/plugin.d.ts +4 -3
- package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
- package/build/plugins/resource/aad/plugin.js +13 -13
- package/build/plugins/resource/aad/plugin.js.map +1 -1
- package/build/plugins/resource/aad/utils/common.d.ts +6 -4
- package/build/plugins/resource/aad/utils/common.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/common.js +60 -21
- package/build/plugins/resource/aad/utils/common.js.map +1 -1
- package/build/plugins/resource/aad/utils/configs.d.ts +9 -1
- package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/configs.js +232 -0
- package/build/plugins/resource/aad/utils/configs.js.map +1 -1
- package/build/plugins/resource/aad/utils/telemetry.d.ts +0 -1
- package/build/plugins/resource/aad/utils/telemetry.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/telemetry.js +10 -17
- package/build/plugins/resource/aad/utils/telemetry.js.map +1 -1
- package/build/plugins/resource/aad/utils/tokenProvider.d.ts +6 -2
- package/build/plugins/resource/aad/utils/tokenProvider.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/tokenProvider.js +11 -11
- package/build/plugins/resource/aad/utils/tokenProvider.js.map +1 -1
- package/build/plugins/resource/aad/v2/index.d.ts +10 -11
- package/build/plugins/resource/aad/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/aad/v2/index.js.map +1 -1
- package/build/plugins/resource/aad/v3/index.d.ts +24 -0
- package/build/plugins/resource/aad/v3/index.d.ts.map +1 -0
- package/build/plugins/resource/aad/v3/index.js +248 -0
- package/build/plugins/resource/aad/v3/index.js.map +1 -0
- package/build/plugins/resource/appstudio/manifestTemplate.d.ts +1 -1
- package/build/plugins/resource/appstudio/manifestTemplate.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/manifestTemplate.js +11 -3
- package/build/plugins/resource/appstudio/manifestTemplate.js.map +1 -1
- package/build/plugins/resource/appstudio/plugin.js +2 -2
- package/build/plugins/resource/appstudio/plugin.js.map +1 -1
- package/build/plugins/resource/appstudio/utils/telemetry.d.ts +8 -4
- package/build/plugins/resource/appstudio/utils/telemetry.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/utils/telemetry.js +13 -12
- package/build/plugins/resource/appstudio/utils/telemetry.js.map +1 -1
- package/build/plugins/resource/appstudio/v3/index.d.ts +10 -1
- package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/v3/index.js +36 -2
- package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
- package/build/plugins/resource/bot/aadRegistration.d.ts.map +1 -1
- package/build/plugins/resource/bot/aadRegistration.js +5 -4
- package/build/plugins/resource/bot/aadRegistration.js.map +1 -1
- package/build/plugins/resource/bot/enums/programmingLanguage.d.ts +2 -1
- package/build/plugins/resource/bot/enums/programmingLanguage.d.ts.map +1 -1
- package/build/plugins/resource/bot/enums/programmingLanguage.js +1 -0
- package/build/plugins/resource/bot/enums/programmingLanguage.js.map +1 -1
- package/build/plugins/resource/bot/index.js +3 -2
- package/build/plugins/resource/bot/index.js.map +1 -1
- package/build/plugins/resource/frontend/index.d.ts.map +1 -1
- package/build/plugins/resource/frontend/index.js +3 -2
- package/build/plugins/resource/frontend/index.js.map +1 -1
- package/build/plugins/resource/frontend/resources/templateInfo.d.ts +4 -3
- package/build/plugins/resource/frontend/resources/templateInfo.d.ts.map +1 -1
- package/build/plugins/resource/frontend/resources/templateInfo.js +8 -7
- package/build/plugins/resource/frontend/resources/templateInfo.js.map +1 -1
- package/build/plugins/resource/localdebug/constants.d.ts +0 -1
- package/build/plugins/resource/localdebug/constants.d.ts.map +1 -1
- package/build/plugins/resource/localdebug/constants.js +0 -1
- package/build/plugins/resource/localdebug/constants.js.map +1 -1
- package/build/plugins/resource/localdebug/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/localdebug/v2/index.js +1 -4
- package/build/plugins/resource/localdebug/v2/index.js.map +1 -1
- package/build/plugins/resource/simpleauth/plugin.d.ts.map +1 -1
- package/build/plugins/resource/simpleauth/plugin.js +2 -2
- package/build/plugins/resource/simpleauth/plugin.js.map +1 -1
- package/build/plugins/resource/utils4v2.d.ts +15 -16
- package/build/plugins/resource/utils4v2.d.ts.map +1 -1
- package/build/plugins/resource/utils4v2.js.map +1 -1
- package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/arm.js +25 -13
- package/build/plugins/solution/fx-solution/arm.js.map +1 -1
- package/build/plugins/solution/fx-solution/constants.d.ts +2 -4
- package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/constants.js +3 -5
- package/build/plugins/solution/fx-solution/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/debug/provisionLocal.js +12 -4
- package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
- package/build/plugins/solution/fx-solution/debug/util/tasks.js +1 -4
- package/build/plugins/solution/fx-solution/debug/util/tasks.js.map +1 -1
- package/build/plugins/solution/fx-solution/solution.d.ts +0 -1
- package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/solution.js +0 -10
- package/build/plugins/solution/fx-solution/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/checkPermission.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/checkPermission.js +25 -13
- package/build/plugins/solution/fx-solution/v2/checkPermission.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/grantPermission.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/grantPermission.js +26 -14
- package/build/plugins/solution/fx-solution/v2/grantPermission.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/listCollaborator.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/listCollaborator.js +20 -10
- package/build/plugins/solution/fx-solution/v2/listCollaborator.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.d.ts +0 -1
- package/build/plugins/solution/fx-solution/v2/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.js +0 -2
- package/build/plugins/solution/fx-solution/v2/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addResource.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addResource.js +13 -10
- package/build/plugins/solution/fx-solution/v3/addResource.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/constants.js +1 -1
- package/build/plugins/solution/fx-solution/v3/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provision.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provision.js +5 -0
- package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js +17 -36
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.d.ts +5 -0
- package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.js +10 -0
- package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.js.map +1 -0
- package/package.json +7 -3
- package/resource/strings.json +28 -1
- package/templates/plugins/solution/{main.bicep → mainConfig.bicep} +0 -12
- package/templates/plugins/solution/mainProvision.bicep +10 -0
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts +0 -5
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts.map +0 -1
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.js +0 -118
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.js.map +0 -1
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Depot = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* As plugins are developed by TS/JS and packed into NPM package, Depot will
|
|
7
|
+
* act like npm but with several differences:
|
|
8
|
+
*
|
|
9
|
+
* 1. Depot will hold all versions of each plugin once loaded.
|
|
10
|
+
* 2. All plugins will be stored in '${home}/${TeamsFx}'.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ~/.fx
|
|
14
|
+
* ├── manifest.json
|
|
15
|
+
* └── plugins
|
|
16
|
+
* ├── bot
|
|
17
|
+
* │ ├── 1.0.0
|
|
18
|
+
* │ │ └── node_modules
|
|
19
|
+
* │ │ └── bot
|
|
20
|
+
* │ └── 1.1.0
|
|
21
|
+
* │ └── node_modules
|
|
22
|
+
* │ └── bot
|
|
23
|
+
* ├── function
|
|
24
|
+
* │ └── 1.1.0
|
|
25
|
+
* │ └── node_modules
|
|
26
|
+
* │ └── function
|
|
27
|
+
* ├── keyvault
|
|
28
|
+
* │ └── 2.0.0
|
|
29
|
+
* │ └── node_modules
|
|
30
|
+
* │ └── keyvault
|
|
31
|
+
* └── ...
|
|
32
|
+
*
|
|
33
|
+
* If there's a resident process, depot will keep all of them in memory. Otherwise,
|
|
34
|
+
* there will be a manifest to optimize performance like an index.
|
|
35
|
+
*/
|
|
36
|
+
const path_1 = require("path");
|
|
37
|
+
const os_1 = require("os");
|
|
38
|
+
const fs_extra_1 = require("fs-extra");
|
|
39
|
+
const proper_lockfile_1 = require("proper-lockfile");
|
|
40
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
41
|
+
const tools_1 = require("../../common/tools");
|
|
42
|
+
const error_1 = require("../error");
|
|
43
|
+
const constant_1 = require("./constant");
|
|
44
|
+
const utility_1 = require("./utility");
|
|
45
|
+
const semver_1 = require("semver");
|
|
46
|
+
/**
|
|
47
|
+
* Path is the address of depot to store plugins. Make it static because
|
|
48
|
+
* this property should be immutable.
|
|
49
|
+
*/
|
|
50
|
+
const DEPOT_ADDR = path_1.join(os_1.homedir(), `.${teamsfx_api_1.ConfigFolderName}`);
|
|
51
|
+
/**
|
|
52
|
+
* Write plugins as dependencies in package.json file to execute npm install
|
|
53
|
+
*/
|
|
54
|
+
async function writePackageJson(targetFolder, plugins) {
|
|
55
|
+
await fs_extra_1.ensureDir(targetFolder);
|
|
56
|
+
const rawData = {
|
|
57
|
+
// name & version are required in package.json
|
|
58
|
+
name: teamsfx_api_1.ProductName,
|
|
59
|
+
version: constant_1.PVM_SPEC_VERSION,
|
|
60
|
+
dependencies: plugins,
|
|
61
|
+
};
|
|
62
|
+
await fs_extra_1.writeFile(path_1.join(targetFolder, constant_1.PACKAGE_DOT_JSON), utility_1.jsonStringifyElegantly(rawData));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* make sure all necessary files/folders are existed.
|
|
66
|
+
*/
|
|
67
|
+
const ensureDepot = () => {
|
|
68
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
69
|
+
return (target, propertyKey, descriptor) => {
|
|
70
|
+
const originalMethod = descriptor.value;
|
|
71
|
+
descriptor.value = async function (...args) {
|
|
72
|
+
await fs_extra_1.ensureDir(DEPOT_ADDR);
|
|
73
|
+
await fs_extra_1.ensureDir(path_1.join(DEPOT_ADDR, constant_1.PLUGINS_FOLDER));
|
|
74
|
+
if (!(await fs_extra_1.pathExists(path_1.join(DEPOT_ADDR, constant_1.MANIFEST_DOT_JSON)))) {
|
|
75
|
+
const rawData = {
|
|
76
|
+
// name & version are required in package.json
|
|
77
|
+
version: constant_1.PVM_SPEC_VERSION,
|
|
78
|
+
plugins: {},
|
|
79
|
+
};
|
|
80
|
+
await fs_extra_1.writeFile(path_1.join(DEPOT_ADDR, constant_1.MANIFEST_DOT_JSON), utility_1.jsonStringifyElegantly(rawData));
|
|
81
|
+
}
|
|
82
|
+
const result = originalMethod.apply(this, args);
|
|
83
|
+
return result;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
class Depot {
|
|
88
|
+
/**
|
|
89
|
+
* only support two kinds of package
|
|
90
|
+
* 1. local path
|
|
91
|
+
* 2. semantic version
|
|
92
|
+
*
|
|
93
|
+
* @param packages - the URI of a package
|
|
94
|
+
* @returns True if validation passed
|
|
95
|
+
*
|
|
96
|
+
* TODO use json-schema to validate
|
|
97
|
+
*/
|
|
98
|
+
static async validate(plugins) {
|
|
99
|
+
for (const name in plugins) {
|
|
100
|
+
const uri = plugins[name];
|
|
101
|
+
if (semver_1.valid(uri)) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (await fs_extra_1.pathExists(path_1.resolve(uri))) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* This is a wrapper of 'npm install' and store all packages in address.
|
|
113
|
+
*
|
|
114
|
+
* npm install {@link https://docs.npmjs.com/cli/v8/commands/npm-install}
|
|
115
|
+
*
|
|
116
|
+
* @param packages - the URI of a package
|
|
117
|
+
* @returns paths of dynamic plugins. If exceptions, return FxError
|
|
118
|
+
*/
|
|
119
|
+
static async install(packages) {
|
|
120
|
+
if (!(await Depot.validate(packages))) {
|
|
121
|
+
return teamsfx_api_1.err(error_1.InvalidInputError(Object.keys(packages).toString()));
|
|
122
|
+
}
|
|
123
|
+
const paths = {};
|
|
124
|
+
const versions = {};
|
|
125
|
+
/**
|
|
126
|
+
* lock is necesscary because there might be several process loading plugins.
|
|
127
|
+
*/
|
|
128
|
+
try {
|
|
129
|
+
await proper_lockfile_1.lock(DEPOT_ADDR);
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
return teamsfx_api_1.err(new teamsfx_api_1.ConcurrentError(error_1.CoreSource));
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
for (const name in packages) {
|
|
136
|
+
const uri = packages[name];
|
|
137
|
+
if (await Depot.has(name, uri)) {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
const co = path_1.join(DEPOT_ADDR, "plugins", name);
|
|
141
|
+
const plugin = {};
|
|
142
|
+
plugin[name] = packages[name];
|
|
143
|
+
// set as "undertermined" and rename after installing
|
|
144
|
+
const source = path_1.join(co, "undertermined");
|
|
145
|
+
await writePackageJson(source, plugin);
|
|
146
|
+
// --prefix set the target diretory of npm package
|
|
147
|
+
// --no-save will not gen package-lock.json
|
|
148
|
+
await tools_1.Executor.execCommandAsync(`npm install --prefix ${source} --no-save`);
|
|
149
|
+
// rename the folder by version in node_modules/${name}/package.json
|
|
150
|
+
const config = await fs_extra_1.readJSON(path_1.join(source, "node_modules", name, constant_1.PACKAGE_DOT_JSON));
|
|
151
|
+
const version = config.version;
|
|
152
|
+
const destination = path_1.join(co, version);
|
|
153
|
+
// if already installed, overwrite.
|
|
154
|
+
if (fs_extra_1.pathExists(destination)) {
|
|
155
|
+
await fs_extra_1.rmdir(destination, { recursive: true });
|
|
156
|
+
}
|
|
157
|
+
await fs_extra_1.move(source, destination);
|
|
158
|
+
// remove temporary package.json
|
|
159
|
+
await fs_extra_1.remove(path_1.join(destination, constant_1.PACKAGE_DOT_JSON));
|
|
160
|
+
paths[name] = destination;
|
|
161
|
+
versions[name] = version;
|
|
162
|
+
}
|
|
163
|
+
// sync to manifest
|
|
164
|
+
Depot.saveManifest(versions);
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
await proper_lockfile_1.unlock(DEPOT_ADDR);
|
|
168
|
+
return teamsfx_api_1.err(error_1.LoadPluginError());
|
|
169
|
+
}
|
|
170
|
+
await proper_lockfile_1.unlock(DEPOT_ADDR);
|
|
171
|
+
return teamsfx_api_1.ok(paths);
|
|
172
|
+
}
|
|
173
|
+
static async getManifest() {
|
|
174
|
+
// sync to manifest
|
|
175
|
+
const manifestPath = path_1.join(DEPOT_ADDR, constant_1.MANIFEST_DOT_JSON);
|
|
176
|
+
const manifest = (await fs_extra_1.readJSON(manifestPath));
|
|
177
|
+
return manifest;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* @param name - plugin's name
|
|
181
|
+
* @param version - if set, check specific version of plugin
|
|
182
|
+
*
|
|
183
|
+
* @returns whether plugin is existed or not
|
|
184
|
+
*/
|
|
185
|
+
static async has(name, uri) {
|
|
186
|
+
const manifest = await Depot.getManifest();
|
|
187
|
+
if (manifest.plugins[name]) {
|
|
188
|
+
if (uri) {
|
|
189
|
+
const vers = manifest.plugins[name];
|
|
190
|
+
if (vers && vers.includes(uri)) {
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
static async saveManifest(plugins) {
|
|
201
|
+
// sync to manifest
|
|
202
|
+
const manifestPath = path_1.join(DEPOT_ADDR, constant_1.MANIFEST_DOT_JSON);
|
|
203
|
+
const manifest = (await fs_extra_1.readJSON(manifestPath));
|
|
204
|
+
for (const name in plugins) {
|
|
205
|
+
const version = plugins[name];
|
|
206
|
+
if (manifest.plugins[name]) {
|
|
207
|
+
const vers = manifest.plugins[name];
|
|
208
|
+
if (vers && !vers.includes(version)) {
|
|
209
|
+
vers.push(plugins[name]);
|
|
210
|
+
manifest.plugins[name] = vers;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
manifest.plugins[name] = [version];
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
manifest.plugins[name] = [version];
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
await fs_extra_1.writeFile(manifestPath, utility_1.jsonStringifyElegantly(manifest));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
tslib_1.__decorate([
|
|
224
|
+
ensureDepot(),
|
|
225
|
+
tslib_1.__metadata("design:type", Function),
|
|
226
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
227
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
228
|
+
], Depot, "install", null);
|
|
229
|
+
tslib_1.__decorate([
|
|
230
|
+
ensureDepot(),
|
|
231
|
+
tslib_1.__metadata("design:type", Function),
|
|
232
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
233
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
234
|
+
], Depot, "getManifest", null);
|
|
235
|
+
tslib_1.__decorate([
|
|
236
|
+
ensureDepot(),
|
|
237
|
+
tslib_1.__metadata("design:type", Function),
|
|
238
|
+
tslib_1.__metadata("design:paramtypes", [String, String]),
|
|
239
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
240
|
+
], Depot, "has", null);
|
|
241
|
+
exports.Depot = Depot;
|
|
242
|
+
//# sourceMappingURL=depot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depot.js","sourceRoot":"","sources":["../../../src/core/pvm/depot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* PVM(Plugin Version Manager)
|
|
4
|
+
*
|
|
5
|
+
* .................... ....................
|
|
6
|
+
* .. Project Config .. .. Dynamic Plugin ..
|
|
7
|
+
* .................... ....................
|
|
8
|
+
* | |
|
|
9
|
+
* v v
|
|
10
|
+
* ............ ...........
|
|
11
|
+
* .. Broker .. .. Depot ..
|
|
12
|
+
* ............ ...........
|
|
13
|
+
* ^ ^
|
|
14
|
+
* | |
|
|
15
|
+
* v v
|
|
16
|
+
* ............................................. ...................
|
|
17
|
+
* .. PVM(Plugin Version Manager) .. <-------> .. Static Plugin ..
|
|
18
|
+
* ............................................. ...................
|
|
19
|
+
* ^
|
|
20
|
+
* |
|
|
21
|
+
* v
|
|
22
|
+
* ..........
|
|
23
|
+
* .. Core ..
|
|
24
|
+
* ..........
|
|
25
|
+
*
|
|
26
|
+
* We're gonna setup a community for developers to contribute plugin together, which
|
|
27
|
+
* means Core should have capability to manage and load plugin dynamically.
|
|
28
|
+
*
|
|
29
|
+
* This component will act as:
|
|
30
|
+
* 1. A depot which holds all plugins with varieties of versions.
|
|
31
|
+
* 2. A broker which provides C.R.U.D operation of plugin for core.
|
|
32
|
+
* 3. A coordinator which combines build-in plugins and dynamic plugins.
|
|
33
|
+
*
|
|
34
|
+
* PVM will store all plugins with the pattern '${home}/.fx/${plugin}/${version}/'
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
import { FxError, Result } from "@microsoft/teamsfx-api";
|
|
38
|
+
import { PluginName } from "./type";
|
|
39
|
+
export default class PVM {
|
|
40
|
+
/**
|
|
41
|
+
* core should use this api to load plugins of a specific project dynamically
|
|
42
|
+
*
|
|
43
|
+
* @param root - target project root path.
|
|
44
|
+
* @returns error on requiring plugins.
|
|
45
|
+
*/
|
|
46
|
+
static load(root: string): Promise<Result<PluginName[], FxError>>;
|
|
47
|
+
}
|
|
48
|
+
export declare const BuiltInResourcePluginNames: string[];
|
|
49
|
+
export declare const BuiltInScaffoldPluginNames: string[];
|
|
50
|
+
//# sourceMappingURL=pvm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pvm.d.ts","sourceRoot":"","sources":["../../../src/core/pvm/pvm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAO,OAAO,EAAM,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKlE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB;;;;;OAKG;WACiB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;CAwB/E;AAED,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAO9C,CAAC;AACF,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAK9C,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* PVM(Plugin Version Manager)
|
|
5
|
+
*
|
|
6
|
+
* .................... ....................
|
|
7
|
+
* .. Project Config .. .. Dynamic Plugin ..
|
|
8
|
+
* .................... ....................
|
|
9
|
+
* | |
|
|
10
|
+
* v v
|
|
11
|
+
* ............ ...........
|
|
12
|
+
* .. Broker .. .. Depot ..
|
|
13
|
+
* ............ ...........
|
|
14
|
+
* ^ ^
|
|
15
|
+
* | |
|
|
16
|
+
* v v
|
|
17
|
+
* ............................................. ...................
|
|
18
|
+
* .. PVM(Plugin Version Manager) .. <-------> .. Static Plugin ..
|
|
19
|
+
* ............................................. ...................
|
|
20
|
+
* ^
|
|
21
|
+
* |
|
|
22
|
+
* v
|
|
23
|
+
* ..........
|
|
24
|
+
* .. Core ..
|
|
25
|
+
* ..........
|
|
26
|
+
*
|
|
27
|
+
* We're gonna setup a community for developers to contribute plugin together, which
|
|
28
|
+
* means Core should have capability to manage and load plugin dynamically.
|
|
29
|
+
*
|
|
30
|
+
* This component will act as:
|
|
31
|
+
* 1. A depot which holds all plugins with varieties of versions.
|
|
32
|
+
* 2. A broker which provides C.R.U.D operation of plugin for core.
|
|
33
|
+
* 3. A coordinator which combines build-in plugins and dynamic plugins.
|
|
34
|
+
*
|
|
35
|
+
* PVM will store all plugins with the pattern '${home}/.fx/${plugin}/${version}/'
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.BuiltInScaffoldPluginNames = exports.BuiltInResourcePluginNames = void 0;
|
|
40
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
41
|
+
const error_1 = require("../error");
|
|
42
|
+
const depot_1 = require("./depot");
|
|
43
|
+
const broker_1 = require("./broker");
|
|
44
|
+
class PVM {
|
|
45
|
+
/**
|
|
46
|
+
* core should use this api to load plugins of a specific project dynamically
|
|
47
|
+
*
|
|
48
|
+
* @param root - target project root path.
|
|
49
|
+
* @returns error on requiring plugins.
|
|
50
|
+
*/
|
|
51
|
+
static async load(root) {
|
|
52
|
+
const config = await broker_1.Broker.list(root);
|
|
53
|
+
const result = await depot_1.Depot.install(config);
|
|
54
|
+
if (result.isOk()) {
|
|
55
|
+
const plugins = result.value;
|
|
56
|
+
try {
|
|
57
|
+
for (const name in plugins) {
|
|
58
|
+
await require(name);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
return teamsfx_api_1.err(error_1.LoadPluginError());
|
|
63
|
+
}
|
|
64
|
+
const dynamicPlugins = Object.keys(plugins);
|
|
65
|
+
const allPlugins = [
|
|
66
|
+
...dynamicPlugins,
|
|
67
|
+
...exports.BuiltInResourcePluginNames,
|
|
68
|
+
...exports.BuiltInScaffoldPluginNames,
|
|
69
|
+
];
|
|
70
|
+
return teamsfx_api_1.ok(allPlugins);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return teamsfx_api_1.err(result.error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.default = PVM;
|
|
78
|
+
exports.BuiltInResourcePluginNames = [
|
|
79
|
+
"fx-resource-appstudio",
|
|
80
|
+
"fx-resource-aad",
|
|
81
|
+
"fx-resource-bot",
|
|
82
|
+
"fx-resource-azure-web-app",
|
|
83
|
+
"fx-resource-azure-storage",
|
|
84
|
+
"fx-resource-spfx",
|
|
85
|
+
];
|
|
86
|
+
exports.BuiltInScaffoldPluginNames = [
|
|
87
|
+
"fx-scaffold-blazor",
|
|
88
|
+
"fx-scaffold-react-tab",
|
|
89
|
+
"fx-scaffold-spfx",
|
|
90
|
+
"fx-scaffold-bot",
|
|
91
|
+
];
|
|
92
|
+
//# sourceMappingURL=pvm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pvm.js","sourceRoot":"","sources":["../../../src/core/pvm/pvm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;AAEH,wDAAkE;AAElE,oCAA2C;AAC3C,mCAAgC;AAChC,qCAAkC;AAGlC,MAAqB,GAAG;IACtB;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QACnC,MAAM,MAAM,GAAG,MAAM,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,aAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,IAAI;gBACF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;oBAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;iBACrB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,iBAAG,CAAC,uBAAe,EAAE,CAAC,CAAC;aAC/B;YACD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG;gBACjB,GAAG,cAAc;gBACjB,GAAG,kCAA0B;gBAC7B,GAAG,kCAA0B;aACd,CAAC;YAClB,OAAO,gBAAE,CAAC,UAAU,CAAC,CAAC;SACvB;aAAM;YACL,OAAO,iBAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;CACF;AA/BD,sBA+BC;AAEY,QAAA,0BAA0B,GAAa;IAClD,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,2BAA2B;IAC3B,2BAA2B;IAC3B,kBAAkB;CACnB,CAAC;AACW,QAAA,0BAA0B,GAAa;IAClD,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Actually, you can just use `type xx = string` to create an alias for a type.
|
|
3
|
+
* This kind of implement just makes the code more readable and easy to index.
|
|
4
|
+
*/
|
|
5
|
+
export declare type alias<T> = T;
|
|
6
|
+
export declare type PluginName = alias<string>;
|
|
7
|
+
export declare type PluginURI = alias<string>;
|
|
8
|
+
export declare type PluginVersion = alias<string>;
|
|
9
|
+
export declare type PluginPath = alias<string>;
|
|
10
|
+
export declare type Plugins = alias<Record<PluginName, PluginURI>>;
|
|
11
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/core/pvm/type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAEzB,oBAAY,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACvC,oBAAY,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACtC,oBAAY,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1C,oBAAY,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAEvC,oBAAY,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/pvm/type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../src/core/pvm/utility.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsonStringifyElegantly = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
6
|
+
function jsonStringifyElegantly(v) {
|
|
7
|
+
return JSON.stringify(v, null, 2);
|
|
8
|
+
}
|
|
9
|
+
exports.jsonStringifyElegantly = jsonStringifyElegantly;
|
|
10
|
+
//# sourceMappingURL=utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../src/core/pvm/utility.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,sEAAsE;AACtE,SAAgB,sBAAsB,CAAC,CAAM;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAFD,wDAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,OAAO,EACP,IAAI,EAEJ,eAAe,EAEf,eAAe,EAEf,EAAE,EACH,MAAM,wBAAwB,CAAC;AAUhC,wBAAgB,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED,wBAAgB,gBAAgB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGtF;AAED,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAW9D;AAGD,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6C7B;AAED,wBAAsB,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWrF;AAED,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,EAClB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GACvB,OAAO,CAYT;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,EAClB,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,GACxB,EAAE,CAAC,SAAS,CAYd;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKzD;AAKD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAkBxD"}
|
package/build/core/tools.js
CHANGED
|
@@ -10,6 +10,7 @@ const constants_2 = require("../plugins/solution/fx-solution/constants");
|
|
|
10
10
|
const environment_1 = require("./environment");
|
|
11
11
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
12
12
|
const os = tslib_1.__importStar(require("os"));
|
|
13
|
+
const projectSettingsValidator_1 = require("../common/projectSettingsValidator");
|
|
13
14
|
function validateProject(solutionContext) {
|
|
14
15
|
const res = validateSettings(solutionContext.projectSettings);
|
|
15
16
|
return res;
|
|
@@ -18,12 +19,7 @@ exports.validateProject = validateProject;
|
|
|
18
19
|
function validateSettings(projectSettings) {
|
|
19
20
|
if (!projectSettings)
|
|
20
21
|
return "empty projectSettings";
|
|
21
|
-
|
|
22
|
-
return "empty solutionSettings";
|
|
23
|
-
const solutionSettings = projectSettings.solutionSettings;
|
|
24
|
-
if (solutionSettings.hostType === undefined)
|
|
25
|
-
return "empty solutionSettings.hostType";
|
|
26
|
-
return undefined;
|
|
22
|
+
return projectSettingsValidator_1.validateProjectSettings(projectSettings);
|
|
27
23
|
}
|
|
28
24
|
exports.validateSettings = validateSettings;
|
|
29
25
|
function isValidProject(workspacePath) {
|
package/build/core/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { PluginContext } from "@microsoft/teamsfx-api";
|
|
1
|
+
import { GraphTokenProvider, PluginContext } from "@microsoft/teamsfx-api";
|
|
2
2
|
import { AadOwner } from "../../../common/permissionInterface";
|
|
3
3
|
import { IAADDefinition, RequiredResourceAccess } from "./interfaces/IAADDefinition";
|
|
4
4
|
import { ProvisionConfig } from "./utils/configs";
|
|
5
5
|
export declare class AadAppClient {
|
|
6
|
-
static createAadApp(
|
|
7
|
-
static createAadAppSecret(
|
|
8
|
-
static updateAadAppRedirectUri(
|
|
9
|
-
static updateAadAppIdUri(
|
|
10
|
-
static updateAadAppPermission(
|
|
11
|
-
static getAadApp(
|
|
6
|
+
static createAadApp(stage: string, config: ProvisionConfig): Promise<void>;
|
|
7
|
+
static createAadAppSecret(stage: string, config: ProvisionConfig): Promise<void>;
|
|
8
|
+
static updateAadAppRedirectUri(stage: string, objectId: string, redirectUris: IAADDefinition, skip?: boolean): Promise<void>;
|
|
9
|
+
static updateAadAppIdUri(stage: string, objectId: string, applicationIdUri: string, skip?: boolean): Promise<void>;
|
|
10
|
+
static updateAadAppPermission(stage: string, objectId: string, permissions: RequiredResourceAccess[], skip?: boolean): Promise<void>;
|
|
11
|
+
static getAadApp(stage: string, objectId: string, clientSecret: string | undefined, graphTokenProvider?: GraphTokenProvider, envName?: string, skip?: boolean): Promise<ProvisionConfig>;
|
|
12
12
|
static checkPermission(ctx: PluginContext, stage: string, objectId: string, userObjectId: string): Promise<boolean>;
|
|
13
13
|
static grantPermission(ctx: PluginContext, stage: string, objectId: string, userObjectId: string): Promise<void>;
|
|
14
14
|
static listCollaborator(ctx: PluginContext, stage: string, objectId: string): Promise<AadOwner[] | undefined>;
|
|
15
|
-
static retryHanlder(
|
|
15
|
+
static retryHanlder(stage: string, fn: () => Promise<any>): Promise<any>;
|
|
16
16
|
private static getAadAppProvisionObject;
|
|
17
17
|
private static handleError;
|
|
18
18
|
private static getAadUrlObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aadAppClient.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/aad/aadAppClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aadAppClient.d.ts","sourceRoot":"","sources":["../../../../src/plugins/resource/aad/aadAppClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AA4B/D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAYlD,qBAAa,YAAY;WACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;WAwBnE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;WAiBzE,uBAAuB,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,cAAc,EAC5B,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAyBI,iBAAiB,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAiCI,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,sBAAsB,EAAE,EACrC,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAiCI,SAAS,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,UAAQ,GACX,OAAO,CAAC,eAAe,CAAC;WAsCP,eAAe,CACjC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;WAWC,eAAe,CACjC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;WAmBI,gBAAgB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;WAWd,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBrF,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA0CvC,OAAO,CAAC,MAAM,CAAC,WAAW;IAsB1B,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAMxC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAKtC"}
|