@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.
Files changed (224) hide show
  1. package/build/common/local/constants.d.ts +0 -1
  2. package/build/common/local/constants.d.ts.map +1 -1
  3. package/build/common/local/constants.js +0 -1
  4. package/build/common/local/constants.js.map +1 -1
  5. package/build/common/local/localEnvManager.js +1 -1
  6. package/build/common/local/localEnvManager.js.map +1 -1
  7. package/build/common/local/portChecker.d.ts +2 -2
  8. package/build/common/local/portChecker.d.ts.map +1 -1
  9. package/build/common/local/portChecker.js +18 -5
  10. package/build/common/local/portChecker.js.map +1 -1
  11. package/build/common/local/taskDefinition.d.ts +0 -7
  12. package/build/common/local/taskDefinition.d.ts.map +1 -1
  13. package/build/common/local/taskDefinition.js +1 -51
  14. package/build/common/local/taskDefinition.js.map +1 -1
  15. package/build/common/localSettingsConstants.d.ts +2 -1
  16. package/build/common/localSettingsConstants.d.ts.map +1 -1
  17. package/build/common/localSettingsConstants.js +3 -2
  18. package/build/common/localSettingsConstants.js.map +1 -1
  19. package/build/common/localSettingsProvider.d.ts +3 -3
  20. package/build/common/localSettingsProvider.d.ts.map +1 -1
  21. package/build/common/localSettingsProvider.js +13 -11
  22. package/build/common/localSettingsProvider.js.map +1 -1
  23. package/build/common/permissionInterface.d.ts +1 -3
  24. package/build/common/permissionInterface.d.ts.map +1 -1
  25. package/build/common/permissionInterface.js +0 -2
  26. package/build/common/permissionInterface.js.map +1 -1
  27. package/build/common/projectSettingsValidator.d.ts +4 -0
  28. package/build/common/projectSettingsValidator.d.ts.map +1 -0
  29. package/build/common/projectSettingsValidator.js +65 -0
  30. package/build/common/projectSettingsValidator.js.map +1 -0
  31. package/build/common/telemetry.d.ts +3 -1
  32. package/build/common/telemetry.d.ts.map +1 -1
  33. package/build/common/telemetry.js +2 -0
  34. package/build/common/telemetry.js.map +1 -1
  35. package/build/common/template-utils/templatesActions.js +2 -2
  36. package/build/common/template-utils/templatesUtils.d.ts +2 -1
  37. package/build/common/template-utils/templatesUtils.d.ts.map +1 -1
  38. package/build/common/template-utils/templatesUtils.js +25 -7
  39. package/build/common/template-utils/templatesUtils.js.map +1 -1
  40. package/build/common/tools.d.ts +0 -4
  41. package/build/common/tools.d.ts.map +1 -1
  42. package/build/common/tools.js +1 -8
  43. package/build/common/tools.js.map +1 -1
  44. package/build/core/error.d.ts +2 -0
  45. package/build/core/error.d.ts.map +1 -1
  46. package/build/core/error.js +10 -2
  47. package/build/core/error.js.map +1 -1
  48. package/build/core/index.d.ts +0 -1
  49. package/build/core/index.d.ts.map +1 -1
  50. package/build/core/index.js +5 -25
  51. package/build/core/index.js.map +1 -1
  52. package/build/core/middleware/CommonErrorHandlerMW.d.ts +14 -0
  53. package/build/core/middleware/CommonErrorHandlerMW.d.ts.map +1 -0
  54. package/build/core/middleware/CommonErrorHandlerMW.js +55 -0
  55. package/build/core/middleware/CommonErrorHandlerMW.js.map +1 -0
  56. package/build/core/middleware/envInfoLoader.d.ts.map +1 -1
  57. package/build/core/middleware/envInfoLoader.js +2 -1
  58. package/build/core/middleware/envInfoLoader.js.map +1 -1
  59. package/build/core/middleware/localSettingsLoader.d.ts.map +1 -1
  60. package/build/core/middleware/localSettingsLoader.js +4 -2
  61. package/build/core/middleware/localSettingsLoader.js.map +1 -1
  62. package/build/core/middleware/projectMigrator.d.ts.map +1 -1
  63. package/build/core/middleware/projectMigrator.js +1 -5
  64. package/build/core/middleware/projectMigrator.js.map +1 -1
  65. package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
  66. package/build/core/middleware/projectSettingsLoader.js +1 -1
  67. package/build/core/middleware/projectSettingsLoader.js.map +1 -1
  68. package/build/core/pvm/broker.d.ts +24 -0
  69. package/build/core/pvm/broker.d.ts.map +1 -0
  70. package/build/core/pvm/broker.js +93 -0
  71. package/build/core/pvm/broker.js.map +1 -0
  72. package/build/core/pvm/constant.d.ts +9 -0
  73. package/build/core/pvm/constant.d.ts.map +1 -0
  74. package/build/core/pvm/constant.js +12 -0
  75. package/build/core/pvm/constant.js.map +1 -0
  76. package/build/core/pvm/depot.d.ts +43 -0
  77. package/build/core/pvm/depot.d.ts.map +1 -0
  78. package/build/core/pvm/depot.js +242 -0
  79. package/build/core/pvm/depot.js.map +1 -0
  80. package/build/core/pvm/pvm.d.ts +50 -0
  81. package/build/core/pvm/pvm.d.ts.map +1 -0
  82. package/build/core/pvm/pvm.js +92 -0
  83. package/build/core/pvm/pvm.js.map +1 -0
  84. package/build/core/pvm/type.d.ts +11 -0
  85. package/build/core/pvm/type.d.ts.map +1 -0
  86. package/build/core/pvm/type.js +3 -0
  87. package/build/core/pvm/type.js.map +1 -0
  88. package/build/core/pvm/utility.d.ts +2 -0
  89. package/build/core/pvm/utility.d.ts.map +1 -0
  90. package/build/core/pvm/utility.js +10 -0
  91. package/build/core/pvm/utility.js.map +1 -0
  92. package/build/core/tools.d.ts.map +1 -1
  93. package/build/core/tools.js +2 -6
  94. package/build/core/tools.js.map +1 -1
  95. package/build/plugins/resource/aad/aadAppClient.d.ts +8 -8
  96. package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
  97. package/build/plugins/resource/aad/aadAppClient.js +29 -29
  98. package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
  99. package/build/plugins/resource/aad/index.d.ts +1 -0
  100. package/build/plugins/resource/aad/index.d.ts.map +1 -1
  101. package/build/plugins/resource/aad/index.js +1 -0
  102. package/build/plugins/resource/aad/index.js.map +1 -1
  103. package/build/plugins/resource/aad/plugin.d.ts +4 -3
  104. package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
  105. package/build/plugins/resource/aad/plugin.js +13 -13
  106. package/build/plugins/resource/aad/plugin.js.map +1 -1
  107. package/build/plugins/resource/aad/utils/common.d.ts +6 -4
  108. package/build/plugins/resource/aad/utils/common.d.ts.map +1 -1
  109. package/build/plugins/resource/aad/utils/common.js +60 -21
  110. package/build/plugins/resource/aad/utils/common.js.map +1 -1
  111. package/build/plugins/resource/aad/utils/configs.d.ts +9 -1
  112. package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
  113. package/build/plugins/resource/aad/utils/configs.js +232 -0
  114. package/build/plugins/resource/aad/utils/configs.js.map +1 -1
  115. package/build/plugins/resource/aad/utils/telemetry.d.ts +0 -1
  116. package/build/plugins/resource/aad/utils/telemetry.d.ts.map +1 -1
  117. package/build/plugins/resource/aad/utils/telemetry.js +10 -17
  118. package/build/plugins/resource/aad/utils/telemetry.js.map +1 -1
  119. package/build/plugins/resource/aad/utils/tokenProvider.d.ts +6 -2
  120. package/build/plugins/resource/aad/utils/tokenProvider.d.ts.map +1 -1
  121. package/build/plugins/resource/aad/utils/tokenProvider.js +11 -11
  122. package/build/plugins/resource/aad/utils/tokenProvider.js.map +1 -1
  123. package/build/plugins/resource/aad/v2/index.d.ts +10 -11
  124. package/build/plugins/resource/aad/v2/index.d.ts.map +1 -1
  125. package/build/plugins/resource/aad/v2/index.js.map +1 -1
  126. package/build/plugins/resource/aad/v3/index.d.ts +24 -0
  127. package/build/plugins/resource/aad/v3/index.d.ts.map +1 -0
  128. package/build/plugins/resource/aad/v3/index.js +248 -0
  129. package/build/plugins/resource/aad/v3/index.js.map +1 -0
  130. package/build/plugins/resource/appstudio/manifestTemplate.d.ts +1 -1
  131. package/build/plugins/resource/appstudio/manifestTemplate.d.ts.map +1 -1
  132. package/build/plugins/resource/appstudio/manifestTemplate.js +11 -3
  133. package/build/plugins/resource/appstudio/manifestTemplate.js.map +1 -1
  134. package/build/plugins/resource/appstudio/plugin.js +2 -2
  135. package/build/plugins/resource/appstudio/plugin.js.map +1 -1
  136. package/build/plugins/resource/appstudio/utils/telemetry.d.ts +8 -4
  137. package/build/plugins/resource/appstudio/utils/telemetry.d.ts.map +1 -1
  138. package/build/plugins/resource/appstudio/utils/telemetry.js +13 -12
  139. package/build/plugins/resource/appstudio/utils/telemetry.js.map +1 -1
  140. package/build/plugins/resource/appstudio/v3/index.d.ts +10 -1
  141. package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
  142. package/build/plugins/resource/appstudio/v3/index.js +36 -2
  143. package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
  144. package/build/plugins/resource/bot/aadRegistration.d.ts.map +1 -1
  145. package/build/plugins/resource/bot/aadRegistration.js +5 -4
  146. package/build/plugins/resource/bot/aadRegistration.js.map +1 -1
  147. package/build/plugins/resource/bot/enums/programmingLanguage.d.ts +2 -1
  148. package/build/plugins/resource/bot/enums/programmingLanguage.d.ts.map +1 -1
  149. package/build/plugins/resource/bot/enums/programmingLanguage.js +1 -0
  150. package/build/plugins/resource/bot/enums/programmingLanguage.js.map +1 -1
  151. package/build/plugins/resource/bot/index.js +3 -2
  152. package/build/plugins/resource/bot/index.js.map +1 -1
  153. package/build/plugins/resource/frontend/index.d.ts.map +1 -1
  154. package/build/plugins/resource/frontend/index.js +3 -2
  155. package/build/plugins/resource/frontend/index.js.map +1 -1
  156. package/build/plugins/resource/frontend/resources/templateInfo.d.ts +4 -3
  157. package/build/plugins/resource/frontend/resources/templateInfo.d.ts.map +1 -1
  158. package/build/plugins/resource/frontend/resources/templateInfo.js +8 -7
  159. package/build/plugins/resource/frontend/resources/templateInfo.js.map +1 -1
  160. package/build/plugins/resource/localdebug/constants.d.ts +0 -1
  161. package/build/plugins/resource/localdebug/constants.d.ts.map +1 -1
  162. package/build/plugins/resource/localdebug/constants.js +0 -1
  163. package/build/plugins/resource/localdebug/constants.js.map +1 -1
  164. package/build/plugins/resource/localdebug/v2/index.d.ts.map +1 -1
  165. package/build/plugins/resource/localdebug/v2/index.js +1 -4
  166. package/build/plugins/resource/localdebug/v2/index.js.map +1 -1
  167. package/build/plugins/resource/simpleauth/plugin.d.ts.map +1 -1
  168. package/build/plugins/resource/simpleauth/plugin.js +2 -2
  169. package/build/plugins/resource/simpleauth/plugin.js.map +1 -1
  170. package/build/plugins/resource/utils4v2.d.ts +15 -16
  171. package/build/plugins/resource/utils4v2.d.ts.map +1 -1
  172. package/build/plugins/resource/utils4v2.js.map +1 -1
  173. package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
  174. package/build/plugins/solution/fx-solution/arm.js +25 -13
  175. package/build/plugins/solution/fx-solution/arm.js.map +1 -1
  176. package/build/plugins/solution/fx-solution/constants.d.ts +2 -4
  177. package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
  178. package/build/plugins/solution/fx-solution/constants.js +3 -5
  179. package/build/plugins/solution/fx-solution/constants.js.map +1 -1
  180. package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
  181. package/build/plugins/solution/fx-solution/debug/provisionLocal.js +12 -4
  182. package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
  183. package/build/plugins/solution/fx-solution/debug/util/tasks.js +1 -4
  184. package/build/plugins/solution/fx-solution/debug/util/tasks.js.map +1 -1
  185. package/build/plugins/solution/fx-solution/solution.d.ts +0 -1
  186. package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
  187. package/build/plugins/solution/fx-solution/solution.js +0 -10
  188. package/build/plugins/solution/fx-solution/solution.js.map +1 -1
  189. package/build/plugins/solution/fx-solution/v2/checkPermission.d.ts.map +1 -1
  190. package/build/plugins/solution/fx-solution/v2/checkPermission.js +25 -13
  191. package/build/plugins/solution/fx-solution/v2/checkPermission.js.map +1 -1
  192. package/build/plugins/solution/fx-solution/v2/grantPermission.d.ts.map +1 -1
  193. package/build/plugins/solution/fx-solution/v2/grantPermission.js +26 -14
  194. package/build/plugins/solution/fx-solution/v2/grantPermission.js.map +1 -1
  195. package/build/plugins/solution/fx-solution/v2/listCollaborator.d.ts.map +1 -1
  196. package/build/plugins/solution/fx-solution/v2/listCollaborator.js +20 -10
  197. package/build/plugins/solution/fx-solution/v2/listCollaborator.js.map +1 -1
  198. package/build/plugins/solution/fx-solution/v2/solution.d.ts +0 -1
  199. package/build/plugins/solution/fx-solution/v2/solution.d.ts.map +1 -1
  200. package/build/plugins/solution/fx-solution/v2/solution.js +0 -2
  201. package/build/plugins/solution/fx-solution/v2/solution.js.map +1 -1
  202. package/build/plugins/solution/fx-solution/v3/addResource.d.ts.map +1 -1
  203. package/build/plugins/solution/fx-solution/v3/addResource.js +13 -10
  204. package/build/plugins/solution/fx-solution/v3/addResource.js.map +1 -1
  205. package/build/plugins/solution/fx-solution/v3/constants.js +1 -1
  206. package/build/plugins/solution/fx-solution/v3/constants.js.map +1 -1
  207. package/build/plugins/solution/fx-solution/v3/provision.d.ts.map +1 -1
  208. package/build/plugins/solution/fx-solution/v3/provision.js +5 -0
  209. package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -1
  210. package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts.map +1 -1
  211. package/build/plugins/solution/fx-solution/v3/provisionLocal.js +17 -36
  212. package/build/plugins/solution/fx-solution/v3/provisionLocal.js.map +1 -1
  213. package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.d.ts +5 -0
  214. package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.d.ts.map +1 -0
  215. package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.js +10 -0
  216. package/build/plugins/solution/fx-solution/v3/solutionGlobalVars.js.map +1 -0
  217. package/package.json +7 -3
  218. package/resource/strings.json +28 -1
  219. package/templates/plugins/solution/{main.bicep → mainConfig.bicep} +0 -12
  220. package/templates/plugins/solution/mainProvision.bicep +10 -0
  221. package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts +0 -5
  222. package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts.map +0 -1
  223. package/build/plugins/solution/fx-solution/v2/listAllCollaborators.js +0 -118
  224. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/pvm/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function jsonStringifyElegantly(v: any): string;
2
+ //# sourceMappingURL=utility.d.ts.map
@@ -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,EAML,SAAS,EACT,OAAO,EACP,IAAI,EAEJ,eAAe,EAEf,eAAe,EAEf,EAAE,EACH,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED,wBAAgB,gBAAgB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAMtF;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"}
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"}
@@ -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
- if (!projectSettings.solutionSettings)
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
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(ctx: PluginContext, stage: string, config: ProvisionConfig): Promise<void>;
7
- static createAadAppSecret(ctx: PluginContext, stage: string, config: ProvisionConfig): Promise<void>;
8
- static updateAadAppRedirectUri(ctx: PluginContext, stage: string, objectId: string, redirectUris: IAADDefinition, skip?: boolean): Promise<void>;
9
- static updateAadAppIdUri(ctx: PluginContext, stage: string, objectId: string, applicationIdUri: string, skip?: boolean): Promise<void>;
10
- static updateAadAppPermission(ctx: PluginContext, stage: string, objectId: string, permissions: RequiredResourceAccess[], skip?: boolean): Promise<void>;
11
- static getAadApp(ctx: PluginContext, stage: string, objectId: string, islocalDebug: boolean, clientSecret: string | undefined, skip?: boolean): Promise<ProvisionConfig>;
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(ctx: PluginContext, stage: string, fn: () => Promise<any>): Promise<any>;
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":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAoB/D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWlD,qBAAa,YAAY;WACH,YAAY,CAC9B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC;WAwBI,kBAAkB,CACpC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC;WAkBI,uBAAuB,CACzC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,cAAc,EAC5B,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAyBI,iBAAiB,CACnC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAkCI,sBAAsB,CACxC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,sBAAsB,EAAE,EACrC,IAAI,UAAQ,GACX,OAAO,CAAC,IAAI,CAAC;WAkCI,SAAS,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,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,CAC9B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GACrB,OAAO,CAAC,GAAG,CAAC;IA0Bf,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"}
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"}