@microsoft/teamsfx-core 2.0.0-alpha.2c2e7a109.0 → 2.0.0-alpha.34e31d6eb.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 (718) hide show
  1. package/build/common/deps-checker/constant/helpLink.d.ts +6 -6
  2. package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
  3. package/build/common/deps-checker/constant/helpLink.js +14 -7
  4. package/build/common/deps-checker/constant/helpLink.js.map +1 -1
  5. package/build/common/deps-checker/constant/message.d.ts +6 -8
  6. package/build/common/deps-checker/constant/message.d.ts.map +1 -1
  7. package/build/common/deps-checker/constant/message.js +13 -12
  8. package/build/common/deps-checker/constant/message.js.map +1 -1
  9. package/build/common/deps-checker/constant/telemetry.d.ts +12 -1
  10. package/build/common/deps-checker/constant/telemetry.d.ts.map +1 -1
  11. package/build/common/deps-checker/constant/telemetry.js +11 -0
  12. package/build/common/deps-checker/constant/telemetry.js.map +1 -1
  13. package/build/common/deps-checker/depsChecker.d.ts +6 -1
  14. package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
  15. package/build/common/deps-checker/depsChecker.js.map +1 -1
  16. package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  17. package/build/common/deps-checker/internal/dotnetChecker.js +5 -10
  18. package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
  19. package/build/common/deps-checker/internal/funcToolChecker.d.ts +20 -40
  20. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  21. package/build/common/deps-checker/internal/funcToolChecker.js +208 -294
  22. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  23. package/build/common/deps-checker/internal/ngrokChecker.d.ts.map +1 -1
  24. package/build/common/deps-checker/internal/ngrokChecker.js +2 -1
  25. package/build/common/deps-checker/internal/ngrokChecker.js.map +1 -1
  26. package/build/common/deps-checker/internal/nodeChecker.d.ts +3 -3
  27. package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
  28. package/build/common/deps-checker/internal/nodeChecker.js +4 -6
  29. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  30. package/build/common/deps-checker/internal/vxTestAppChecker.d.ts +0 -1
  31. package/build/common/deps-checker/internal/vxTestAppChecker.d.ts.map +1 -1
  32. package/build/common/deps-checker/internal/vxTestAppChecker.js +3 -21
  33. package/build/common/deps-checker/internal/vxTestAppChecker.js.map +1 -1
  34. package/build/common/deps-checker/util/fileHelper.d.ts +4 -0
  35. package/build/common/deps-checker/util/fileHelper.d.ts.map +1 -0
  36. package/build/common/deps-checker/util/fileHelper.js +45 -0
  37. package/build/common/deps-checker/util/fileHelper.js.map +1 -0
  38. package/build/common/local/constants.d.ts +8 -2
  39. package/build/common/local/constants.d.ts.map +1 -1
  40. package/build/common/local/constants.js +8 -2
  41. package/build/common/local/constants.js.map +1 -1
  42. package/build/common/local/localEnvManager.d.ts.map +1 -1
  43. package/build/common/local/localEnvManager.js +2 -3
  44. package/build/common/local/localEnvManager.js.map +1 -1
  45. package/build/common/m365/constants.d.ts +6 -0
  46. package/build/common/m365/constants.d.ts.map +1 -0
  47. package/build/common/m365/constants.js +12 -0
  48. package/build/common/m365/constants.js.map +1 -0
  49. package/build/common/m365/errors.d.ts +5 -0
  50. package/build/common/m365/errors.d.ts.map +1 -0
  51. package/build/common/m365/errors.js +20 -0
  52. package/build/common/m365/errors.js.map +1 -0
  53. package/build/common/m365/launchHelper.d.ts +12 -0
  54. package/build/common/m365/launchHelper.d.ts.map +1 -0
  55. package/build/common/m365/launchHelper.js +109 -0
  56. package/build/common/m365/launchHelper.js.map +1 -0
  57. package/build/common/projectSettingsHelperV3.d.ts +0 -1
  58. package/build/common/projectSettingsHelperV3.d.ts.map +1 -1
  59. package/build/common/projectSettingsHelperV3.js +1 -8
  60. package/build/common/projectSettingsHelperV3.js.map +1 -1
  61. package/build/common/samples-config-v3.json +3 -3
  62. package/build/common/samples.js +1 -1
  63. package/build/common/samples.js.map +1 -1
  64. package/build/common/telemetry.d.ts +1 -0
  65. package/build/common/telemetry.d.ts.map +1 -1
  66. package/build/common/telemetry.js +1 -0
  67. package/build/common/telemetry.js.map +1 -1
  68. package/build/common/tools.d.ts +1 -0
  69. package/build/common/tools.d.ts.map +1 -1
  70. package/build/common/tools.js +6 -2
  71. package/build/common/tools.js.map +1 -1
  72. package/build/common/versionMetadata.d.ts +5 -0
  73. package/build/common/versionMetadata.d.ts.map +1 -1
  74. package/build/common/versionMetadata.js +11 -0
  75. package/build/common/versionMetadata.js.map +1 -1
  76. package/build/component/arm.d.ts +3 -1
  77. package/build/component/arm.d.ts.map +1 -1
  78. package/build/component/arm.js +31 -42
  79. package/build/component/arm.js.map +1 -1
  80. package/build/component/code/api/apiCode.d.ts +1 -1
  81. package/build/component/code/api/apiCode.d.ts.map +1 -1
  82. package/build/component/code/api/apiCode.js +2 -1
  83. package/build/component/code/api/apiCode.js.map +1 -1
  84. package/build/component/code/spfxTabCode.d.ts.map +1 -1
  85. package/build/component/code/spfxTabCode.js +4 -3
  86. package/build/component/code/spfxTabCode.js.map +1 -1
  87. package/build/component/code/utils.d.ts +3 -0
  88. package/build/component/code/utils.d.ts.map +1 -1
  89. package/build/component/code/utils.js +19 -8
  90. package/build/component/code/utils.js.map +1 -1
  91. package/build/component/configManager/diagnostic.d.ts +9 -0
  92. package/build/component/configManager/diagnostic.d.ts.map +1 -0
  93. package/build/component/configManager/diagnostic.js +47 -0
  94. package/build/component/configManager/diagnostic.js.map +1 -0
  95. package/build/component/configManager/interface.d.ts +1 -1
  96. package/build/component/configManager/interface.d.ts.map +1 -1
  97. package/build/component/configManager/parser.d.ts +1 -1
  98. package/build/component/configManager/parser.d.ts.map +1 -1
  99. package/build/component/configManager/parser.js +25 -6
  100. package/build/component/configManager/parser.js.map +1 -1
  101. package/build/component/constant/commonConstant.d.ts +1 -0
  102. package/build/component/constant/commonConstant.d.ts.map +1 -1
  103. package/build/component/constant/commonConstant.js +1 -0
  104. package/build/component/constant/commonConstant.js.map +1 -1
  105. package/build/component/constant/deployConstant.d.ts +0 -5
  106. package/build/component/constant/deployConstant.d.ts.map +1 -1
  107. package/build/component/constant/deployConstant.js +1 -19
  108. package/build/component/constant/deployConstant.js.map +1 -1
  109. package/build/component/constants.d.ts +4 -0
  110. package/build/component/constants.d.ts.map +1 -1
  111. package/build/component/constants.js +49 -26
  112. package/build/component/constants.js.map +1 -1
  113. package/build/component/coordinator/index.d.ts +3 -3
  114. package/build/component/coordinator/index.d.ts.map +1 -1
  115. package/build/component/coordinator/index.js +110 -88
  116. package/build/component/coordinator/index.js.map +1 -1
  117. package/build/component/debug/util/ngrok.js +1 -1
  118. package/build/component/debugHandler/appManifest.js +2 -1
  119. package/build/component/debugHandler/appManifest.js.map +1 -1
  120. package/build/component/debugHandler/error.d.ts +0 -1
  121. package/build/component/debugHandler/error.d.ts.map +1 -1
  122. package/build/component/debugHandler/error.js +1 -5
  123. package/build/component/debugHandler/error.js.map +1 -1
  124. package/build/component/developerPortalScaffoldUtils.d.ts +4 -1
  125. package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
  126. package/build/component/developerPortalScaffoldUtils.js +7 -5
  127. package/build/component/developerPortalScaffoldUtils.js.map +1 -1
  128. package/build/component/driver/aad/create.d.ts +1 -3
  129. package/build/component/driver/aad/create.d.ts.map +1 -1
  130. package/build/component/driver/aad/create.js +55 -63
  131. package/build/component/driver/aad/create.js.map +1 -1
  132. package/build/component/driver/aad/interface/createAadAppArgs.d.ts +2 -0
  133. package/build/component/driver/aad/interface/createAadAppArgs.d.ts.map +1 -1
  134. package/build/component/driver/aad/interface/createAadAppOutput.d.ts +16 -8
  135. package/build/component/driver/aad/interface/createAadAppOutput.d.ts.map +1 -1
  136. package/build/component/driver/aad/interface/createAadAppOutput.js +10 -0
  137. package/build/component/driver/aad/interface/createAadAppOutput.js.map +1 -1
  138. package/build/component/driver/aad/interface/signInAudience.d.ts +7 -0
  139. package/build/component/driver/aad/interface/signInAudience.d.ts.map +1 -0
  140. package/build/component/driver/aad/interface/signInAudience.js +13 -0
  141. package/build/component/driver/aad/interface/signInAudience.js.map +1 -0
  142. package/build/component/driver/aad/update.d.ts +0 -1
  143. package/build/component/driver/aad/update.d.ts.map +1 -1
  144. package/build/component/driver/aad/update.js +29 -25
  145. package/build/component/driver/aad/update.js.map +1 -1
  146. package/build/component/driver/aad/utility/aadAppClient.d.ts +2 -1
  147. package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
  148. package/build/component/driver/aad/utility/aadAppClient.js +3 -2
  149. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  150. package/build/component/driver/aad/utility/buildAadManifest.js +1 -1
  151. package/build/component/driver/aad/utility/buildAadManifest.js.map +1 -1
  152. package/build/component/driver/add/utility/constants.d.ts +1 -1
  153. package/build/component/driver/add/utility/constants.d.ts.map +1 -1
  154. package/build/component/driver/add/utility/constants.js +1 -1
  155. package/build/component/driver/add/utility/constants.js.map +1 -1
  156. package/build/component/driver/arm/deploy.d.ts.map +1 -1
  157. package/build/component/driver/arm/deploy.js +8 -0
  158. package/build/component/driver/arm/deploy.js.map +1 -1
  159. package/build/component/driver/arm/deployImpl.d.ts +1 -1
  160. package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
  161. package/build/component/driver/arm/deployImpl.js +12 -10
  162. package/build/component/driver/arm/deployImpl.js.map +1 -1
  163. package/build/component/driver/arm/util/util.d.ts.map +1 -1
  164. package/build/component/driver/arm/util/util.js +2 -2
  165. package/build/component/driver/arm/util/util.js.map +1 -1
  166. package/build/component/driver/arm/validator.d.ts.map +1 -1
  167. package/build/component/driver/arm/validator.js +0 -15
  168. package/build/component/driver/arm/validator.js.map +1 -1
  169. package/build/component/driver/botAadApp/create.d.ts +2 -3
  170. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  171. package/build/component/driver/botAadApp/create.js +43 -37
  172. package/build/component/driver/botAadApp/create.js.map +1 -1
  173. package/build/component/driver/botAadApp/error/unexpectedEmptyBotPasswordError.d.ts +5 -0
  174. package/build/component/driver/botAadApp/error/unexpectedEmptyBotPasswordError.d.ts.map +1 -0
  175. package/build/component/driver/{m365/error/FileNotFoundUserError.js → botAadApp/error/unexpectedEmptyBotPasswordError.js} +9 -9
  176. package/build/component/driver/botAadApp/error/unexpectedEmptyBotPasswordError.js.map +1 -0
  177. package/build/component/driver/botAadApp/interface/createBotAadAppOutput.d.ts +4 -4
  178. package/build/component/driver/botAadApp/interface/createBotAadAppOutput.d.ts.map +1 -1
  179. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  180. package/build/component/driver/botFramework/createOrUpdateBot.js +20 -13
  181. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  182. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +1 -1
  183. package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
  184. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +1 -1
  185. package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
  186. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +2 -4
  187. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  188. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +10 -23
  189. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  190. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts +2 -8
  191. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
  192. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +6 -20
  193. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
  194. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +3 -7
  195. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
  196. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +27 -33
  197. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  198. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts +2 -3
  199. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  200. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +9 -19
  201. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  202. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts +2 -3
  203. package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
  204. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +13 -5
  205. package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
  206. package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
  207. package/build/component/driver/deploy/spfx/deployDriver.js +72 -83
  208. package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
  209. package/build/component/driver/deploy/spfx/error/insufficientPermissionError.js +2 -2
  210. package/build/component/driver/deploy/spfx/error/insufficientPermissionError.js.map +1 -1
  211. package/build/component/driver/deploy/spfx/utility/constants.d.ts +1 -0
  212. package/build/component/driver/deploy/spfx/utility/constants.d.ts.map +1 -1
  213. package/build/component/driver/deploy/spfx/utility/constants.js +1 -0
  214. package/build/component/driver/deploy/spfx/utility/constants.js.map +1 -1
  215. package/build/component/driver/devTool/constant.d.ts.map +1 -0
  216. package/build/component/driver/devTool/constant.js.map +1 -0
  217. package/build/component/driver/devTool/error/dotnetInstallationUserError.d.ts.map +1 -0
  218. package/build/component/driver/devTool/error/dotnetInstallationUserError.js.map +1 -0
  219. package/build/component/driver/devTool/error/funcInstallationUserError.d.ts.map +1 -0
  220. package/build/component/driver/devTool/error/funcInstallationUserError.js.map +1 -0
  221. package/build/component/driver/{prerequisite → devTool}/installDriver.d.ts +5 -7
  222. package/build/component/driver/devTool/installDriver.d.ts.map +1 -0
  223. package/build/component/driver/{prerequisite → devTool}/installDriver.js +111 -55
  224. package/build/component/driver/devTool/installDriver.js.map +1 -0
  225. package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.d.ts +5 -1
  226. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts.map +1 -0
  227. package/build/component/driver/devTool/interfaces/InstallToolArgs.js.map +1 -0
  228. package/build/component/driver/error/outputEnvironmentVariableUndefinedError.d.ts +5 -0
  229. package/build/component/driver/error/outputEnvironmentVariableUndefinedError.d.ts.map +1 -0
  230. package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js +22 -0
  231. package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js.map +1 -0
  232. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  233. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +15 -3
  234. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  235. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  236. package/build/component/driver/file/createOrUpdateJsonFile.js +15 -3
  237. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  238. package/build/component/driver/index.d.ts +2 -3
  239. package/build/component/driver/index.d.ts.map +1 -1
  240. package/build/component/driver/index.js +2 -3
  241. package/build/component/driver/index.js.map +1 -1
  242. package/build/component/driver/interface/buildAndDeployArgs.d.ts +2 -1
  243. package/build/component/driver/interface/buildAndDeployArgs.d.ts.map +1 -1
  244. package/build/component/driver/interface/commonArgs.d.ts +2 -1
  245. package/build/component/driver/interface/commonArgs.d.ts.map +1 -1
  246. package/build/component/driver/m365/acquire.d.ts +2 -1
  247. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  248. package/build/component/driver/m365/acquire.js +39 -22
  249. package/build/component/driver/m365/acquire.js.map +1 -1
  250. package/build/component/driver/middleware/addStartAndEndTelemetry.d.ts.map +1 -1
  251. package/build/component/driver/middleware/addStartAndEndTelemetry.js +14 -6
  252. package/build/component/driver/middleware/addStartAndEndTelemetry.js.map +1 -1
  253. package/build/component/driver/middleware/updateProgress.d.ts +6 -0
  254. package/build/component/driver/middleware/updateProgress.d.ts.map +1 -0
  255. package/build/component/driver/middleware/updateProgress.js +15 -0
  256. package/build/component/driver/middleware/updateProgress.js.map +1 -0
  257. package/build/component/driver/script/baseBuildDriver.d.ts +1 -8
  258. package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
  259. package/build/component/driver/script/baseBuildDriver.js +4 -16
  260. package/build/component/driver/script/baseBuildDriver.js.map +1 -1
  261. package/build/component/driver/script/dotnetBuildDriver.d.ts +0 -2
  262. package/build/component/driver/script/dotnetBuildDriver.d.ts.map +1 -1
  263. package/build/component/driver/script/dotnetBuildDriver.js +0 -2
  264. package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
  265. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  266. package/build/component/driver/script/scriptDriver.js +7 -2
  267. package/build/component/driver/script/scriptDriver.js.map +1 -1
  268. package/build/component/driver/teamsApp/configure.d.ts +5 -6
  269. package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
  270. package/build/component/driver/teamsApp/configure.js +16 -24
  271. package/build/component/driver/teamsApp/configure.js.map +1 -1
  272. package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
  273. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +5 -1
  274. package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
  275. package/build/component/driver/teamsApp/create.d.ts +5 -2
  276. package/build/component/driver/teamsApp/create.d.ts.map +1 -1
  277. package/build/component/driver/teamsApp/create.js +27 -25
  278. package/build/component/driver/teamsApp/create.js.map +1 -1
  279. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  280. package/build/component/driver/teamsApp/createAppPackage.js +6 -14
  281. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  282. package/build/component/driver/teamsApp/interfaces/ValidateAppPackageArgs.d.ts +5 -0
  283. package/build/component/driver/teamsApp/interfaces/ValidateAppPackageArgs.d.ts.map +1 -1
  284. package/build/component/driver/teamsApp/interfaces/ValidateManifestArgs.d.ts +5 -0
  285. package/build/component/driver/teamsApp/interfaces/ValidateManifestArgs.d.ts.map +1 -1
  286. package/build/component/driver/teamsApp/publishAppPackage.d.ts +2 -2
  287. package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
  288. package/build/component/driver/teamsApp/publishAppPackage.js +20 -31
  289. package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
  290. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  291. package/build/component/driver/teamsApp/validate.js +35 -16
  292. package/build/component/driver/teamsApp/validate.js.map +1 -1
  293. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  294. package/build/component/driver/teamsApp/validateAppPackage.js +151 -25
  295. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  296. package/build/component/driver/util/utils.d.ts +3 -0
  297. package/build/component/driver/util/utils.d.ts.map +1 -0
  298. package/build/component/driver/util/utils.js +26 -0
  299. package/build/component/driver/util/utils.js.map +1 -0
  300. package/build/component/driver/util/wrapUtil.js +1 -1
  301. package/build/component/driver/util/wrapUtil.js.map +1 -1
  302. package/build/component/error/componentError.js +2 -2
  303. package/build/component/error/componentError.js.map +1 -1
  304. package/build/component/error/deployError.d.ts +1 -32
  305. package/build/component/error/deployError.d.ts.map +1 -1
  306. package/build/component/error/deployError.js +1 -108
  307. package/build/component/error/deployError.js.map +1 -1
  308. package/build/component/error.d.ts +0 -6
  309. package/build/component/error.d.ts.map +1 -1
  310. package/build/component/error.js +1 -21
  311. package/build/component/error.js.map +1 -1
  312. package/build/component/feature/apiconnector/errors.d.ts +0 -4
  313. package/build/component/feature/apiconnector/errors.d.ts.map +1 -1
  314. package/build/component/feature/apiconnector/errors.js +12 -16
  315. package/build/component/feature/apiconnector/errors.js.map +1 -1
  316. package/build/component/feature/bot/bot.js +8 -8
  317. package/build/component/feature/bot/bot.js.map +1 -1
  318. package/build/component/feature/bot/question.d.ts +6 -6
  319. package/build/component/feature/bot/question.d.ts.map +1 -1
  320. package/build/component/feature/bot/question.js +69 -38
  321. package/build/component/feature/bot/question.js.map +1 -1
  322. package/build/component/feature/spfx.d.ts +2 -2
  323. package/build/component/feature/spfx.d.ts.map +1 -1
  324. package/build/component/feature/spfx.js +14 -7
  325. package/build/component/feature/spfx.js.map +1 -1
  326. package/build/component/generator/constant.d.ts +3 -0
  327. package/build/component/generator/constant.d.ts.map +1 -1
  328. package/build/component/generator/constant.js +5 -2
  329. package/build/component/generator/constant.js.map +1 -1
  330. package/build/component/generator/error.d.ts +9 -0
  331. package/build/component/generator/error.d.ts.map +1 -1
  332. package/build/component/generator/error.js +19 -1
  333. package/build/component/generator/error.js.map +1 -1
  334. package/build/component/generator/generator.d.ts +1 -1
  335. package/build/component/generator/generator.d.ts.map +1 -1
  336. package/build/component/generator/generator.js +25 -8
  337. package/build/component/generator/generator.js.map +1 -1
  338. package/build/component/generator/generatorAction.d.ts +5 -2
  339. package/build/component/generator/generatorAction.d.ts.map +1 -1
  340. package/build/component/generator/generatorAction.js +20 -10
  341. package/build/component/generator/generatorAction.js.map +1 -1
  342. package/build/component/generator/officeAddin/question.d.ts.map +1 -1
  343. package/build/component/generator/officeAddin/question.js +3 -3
  344. package/build/component/generator/officeAddin/question.js.map +1 -1
  345. package/build/component/generator/spfxGenerator.d.ts.map +1 -1
  346. package/build/component/generator/spfxGenerator.js +6 -0
  347. package/build/component/generator/spfxGenerator.js.map +1 -1
  348. package/build/component/generator/utils.d.ts +3 -0
  349. package/build/component/generator/utils.d.ts.map +1 -1
  350. package/build/component/generator/utils.js +90 -4
  351. package/build/component/generator/utils.js.map +1 -1
  352. package/build/component/messages.d.ts +4 -15
  353. package/build/component/messages.d.ts.map +1 -1
  354. package/build/component/messages.js +4 -15
  355. package/build/component/messages.js.map +1 -1
  356. package/build/component/middleware/envMW.d.ts +8 -2
  357. package/build/component/middleware/envMW.d.ts.map +1 -1
  358. package/build/component/middleware/envMW.js +13 -7
  359. package/build/component/middleware/envMW.js.map +1 -1
  360. package/build/component/middleware/logger.d.ts +1 -0
  361. package/build/component/middleware/logger.d.ts.map +1 -1
  362. package/build/component/middleware/logger.js +3 -0
  363. package/build/component/middleware/logger.js.map +1 -1
  364. package/build/component/provisionUtils.d.ts.map +1 -1
  365. package/build/component/provisionUtils.js +8 -6
  366. package/build/component/provisionUtils.js.map +1 -1
  367. package/build/component/question.d.ts +1 -0
  368. package/build/component/question.d.ts.map +1 -1
  369. package/build/component/question.js +8 -1
  370. package/build/component/question.js.map +1 -1
  371. package/build/component/resource/aadApp/aadAppManifestManager.d.ts.map +1 -1
  372. package/build/component/resource/aadApp/aadAppManifestManager.js +2 -1
  373. package/build/component/resource/aadApp/aadAppManifestManager.js.map +1 -1
  374. package/build/component/resource/aadApp/errors.d.ts +0 -1
  375. package/build/component/resource/aadApp/errors.d.ts.map +1 -1
  376. package/build/component/resource/aadApp/errors.js +3 -10
  377. package/build/component/resource/aadApp/errors.js.map +1 -1
  378. package/build/component/resource/aadApp/utils.d.ts +1 -1
  379. package/build/component/resource/aadApp/utils.d.ts.map +1 -1
  380. package/build/component/resource/aadApp/utils.js +6 -5
  381. package/build/component/resource/aadApp/utils.js.map +1 -1
  382. package/build/component/resource/apim/error.d.ts +0 -1
  383. package/build/component/resource/apim/error.d.ts.map +1 -1
  384. package/build/component/resource/apim/error.js +1 -9
  385. package/build/component/resource/apim/error.js.map +1 -1
  386. package/build/component/resource/appManifest/appManifest.d.ts.map +1 -1
  387. package/build/component/resource/appManifest/appManifest.js +3 -4
  388. package/build/component/resource/appManifest/appManifest.js.map +1 -1
  389. package/build/component/resource/appManifest/appStudio.d.ts.map +1 -1
  390. package/build/component/resource/appManifest/appStudio.js +23 -40
  391. package/build/component/resource/appManifest/appStudio.js.map +1 -1
  392. package/build/component/resource/appManifest/appStudioClient.d.ts.map +1 -1
  393. package/build/component/resource/appManifest/appStudioClient.js +16 -1
  394. package/build/component/resource/appManifest/appStudioClient.js.map +1 -1
  395. package/build/component/resource/appManifest/constants.d.ts +1 -0
  396. package/build/component/resource/appManifest/constants.d.ts.map +1 -1
  397. package/build/component/resource/appManifest/constants.js +1 -0
  398. package/build/component/resource/appManifest/constants.js.map +1 -1
  399. package/build/component/resource/appManifest/errors.d.ts +0 -12
  400. package/build/component/resource/appManifest/errors.d.ts.map +1 -1
  401. package/build/component/resource/appManifest/errors.js +3 -26
  402. package/build/component/resource/appManifest/errors.js.map +1 -1
  403. package/build/component/resource/appManifest/utils/ManifestUtils.d.ts +2 -1
  404. package/build/component/resource/appManifest/utils/ManifestUtils.d.ts.map +1 -1
  405. package/build/component/resource/appManifest/utils/ManifestUtils.js +30 -22
  406. package/build/component/resource/appManifest/utils/ManifestUtils.js.map +1 -1
  407. package/build/component/resource/appManifest/utils/telemetry.d.ts +2 -0
  408. package/build/component/resource/appManifest/utils/telemetry.d.ts.map +1 -1
  409. package/build/component/resource/appManifest/utils/telemetry.js +2 -0
  410. package/build/component/resource/appManifest/utils/telemetry.js.map +1 -1
  411. package/build/component/resource/appManifest/utils/utils.d.ts.map +1 -1
  412. package/build/component/resource/appManifest/utils/utils.js +5 -1
  413. package/build/component/resource/appManifest/utils/utils.js.map +1 -1
  414. package/build/component/resource/azureSql/errors.js +28 -28
  415. package/build/component/resource/azureSql/errors.js.map +1 -1
  416. package/build/component/resource/azureStorage/configs.d.ts +1 -1
  417. package/build/component/resource/botService/errors.d.ts +0 -6
  418. package/build/component/resource/botService/errors.d.ts.map +1 -1
  419. package/build/component/resource/botService/errors.js +8 -15
  420. package/build/component/resource/botService/errors.js.map +1 -1
  421. package/build/component/resource/simpleAuth/errors.js +2 -2
  422. package/build/component/resource/simpleAuth/errors.js.map +1 -1
  423. package/build/component/resource/spfx/error.d.ts +0 -1
  424. package/build/component/resource/spfx/error.d.ts.map +1 -1
  425. package/build/component/resource/spfx/error.js +2 -6
  426. package/build/component/resource/spfx/error.js.map +1 -1
  427. package/build/component/resource/spfx/utils/constants.d.ts +1 -0
  428. package/build/component/resource/spfx/utils/constants.d.ts.map +1 -1
  429. package/build/component/resource/spfx/utils/constants.js +1 -0
  430. package/build/component/resource/spfx/utils/constants.js.map +1 -1
  431. package/build/component/resource/spfx/utils/question-helper.d.ts +3 -2
  432. package/build/component/resource/spfx/utils/question-helper.d.ts.map +1 -1
  433. package/build/component/resource/spfx/utils/question-helper.js +13 -3
  434. package/build/component/resource/spfx/utils/question-helper.js.map +1 -1
  435. package/build/component/resource/spfx/utils/questions.d.ts +1 -1
  436. package/build/component/resource/spfx/utils/questions.d.ts.map +1 -1
  437. package/build/component/resource/spfx/utils/questions.js +1 -1
  438. package/build/component/resource/spfx/utils/questions.js.map +1 -1
  439. package/build/component/resource/spfx/utils/telemetryEvents.d.ts +2 -1
  440. package/build/component/resource/spfx/utils/telemetryEvents.d.ts.map +1 -1
  441. package/build/component/resource/spfx/utils/telemetryEvents.js +1 -0
  442. package/build/component/resource/spfx/utils/telemetryEvents.js.map +1 -1
  443. package/build/component/utils/ResourceGroupHelper.d.ts +1 -6
  444. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  445. package/build/component/utils/ResourceGroupHelper.js +65 -131
  446. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  447. package/build/component/utils/azureSdkErrorHandler.d.ts +2 -1
  448. package/build/component/utils/azureSdkErrorHandler.d.ts.map +1 -1
  449. package/build/component/utils/azureSdkErrorHandler.js.map +1 -1
  450. package/build/component/utils/depsChecker/bicepChecker.d.ts.map +1 -1
  451. package/build/component/utils/depsChecker/bicepChecker.js +10 -23
  452. package/build/component/utils/depsChecker/bicepChecker.js.map +1 -1
  453. package/build/component/utils/depsChecker/common.d.ts +0 -4
  454. package/build/component/utils/depsChecker/common.d.ts.map +1 -1
  455. package/build/component/utils/depsChecker/common.js +0 -4
  456. package/build/component/utils/depsChecker/common.js.map +1 -1
  457. package/build/component/utils/envUtil.d.ts.map +1 -1
  458. package/build/component/utils/envUtil.js +5 -6
  459. package/build/component/utils/envUtil.js.map +1 -1
  460. package/build/component/utils/fileOperation.js +3 -3
  461. package/build/component/utils/fileOperation.js.map +1 -1
  462. package/build/component/utils/metadataUtil.js +1 -1
  463. package/build/component/utils/metadataUtil.js.map +1 -1
  464. package/build/component/utils/settingsUtil.d.ts.map +1 -1
  465. package/build/component/utils/settingsUtil.js +3 -3
  466. package/build/component/utils/settingsUtil.js.map +1 -1
  467. package/build/component/utils.d.ts.map +1 -1
  468. package/build/component/utils.js +1 -0
  469. package/build/component/utils.js.map +1 -1
  470. package/build/core/FxCore.d.ts +83 -9
  471. package/build/core/FxCore.d.ts.map +1 -1
  472. package/build/core/FxCore.js +158 -68
  473. package/build/core/FxCore.js.map +1 -1
  474. package/build/core/FxCoreImplementV3.d.ts +7 -2
  475. package/build/core/FxCoreImplementV3.d.ts.map +1 -1
  476. package/build/core/FxCoreImplementV3.js +182 -65
  477. package/build/core/FxCoreImplementV3.js.map +1 -1
  478. package/build/core/collaborator.d.ts.map +1 -1
  479. package/build/core/collaborator.js +4 -8
  480. package/build/core/collaborator.js.map +1 -1
  481. package/build/core/environment.d.ts.map +1 -1
  482. package/build/core/environment.js +9 -19
  483. package/build/core/environment.js.map +1 -1
  484. package/build/core/error.d.ts +2 -23
  485. package/build/core/error.d.ts.map +1 -1
  486. package/build/core/error.js +5 -91
  487. package/build/core/error.js.map +1 -1
  488. package/build/core/globalVars.d.ts +1 -0
  489. package/build/core/globalVars.d.ts.map +1 -1
  490. package/build/core/globalVars.js.map +1 -1
  491. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  492. package/build/core/middleware/concurrentLocker.js +4 -11
  493. package/build/core/middleware/concurrentLocker.js.map +1 -1
  494. package/build/core/middleware/envInfoLoaderV3.d.ts.map +1 -1
  495. package/build/core/middleware/envInfoLoaderV3.js +2 -1
  496. package/build/core/middleware/envInfoLoaderV3.js.map +1 -1
  497. package/build/core/middleware/projectMigratorV3.d.ts +3 -1
  498. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  499. package/build/core/middleware/projectMigratorV3.js +85 -35
  500. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  501. package/build/core/middleware/projectSettingsLoader.d.ts.map +1 -1
  502. package/build/core/middleware/projectSettingsLoader.js +2 -1
  503. package/build/core/middleware/projectSettingsLoader.js.map +1 -1
  504. package/build/core/middleware/projectVersionChecker.d.ts.map +1 -1
  505. package/build/core/middleware/projectVersionChecker.js +24 -12
  506. package/build/core/middleware/projectVersionChecker.js.map +1 -1
  507. package/build/core/middleware/questionModel.d.ts +0 -1
  508. package/build/core/middleware/questionModel.d.ts.map +1 -1
  509. package/build/core/middleware/questionModel.js +142 -60
  510. package/build/core/middleware/questionModel.js.map +1 -1
  511. package/build/core/middleware/utils/MigrationUtils.d.ts.map +1 -1
  512. package/build/core/middleware/utils/MigrationUtils.js +2 -0
  513. package/build/core/middleware/utils/MigrationUtils.js.map +1 -1
  514. package/build/core/middleware/utils/appYmlGenerator.d.ts +1 -2
  515. package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
  516. package/build/core/middleware/utils/appYmlGenerator.js +17 -6
  517. package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
  518. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts +1 -1
  519. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts.map +1 -1
  520. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts +2 -0
  521. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts.map +1 -1
  522. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +10 -6
  523. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +1 -1
  524. package/build/core/middleware/utils/debug/taskMigrator.d.ts +1 -0
  525. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  526. package/build/core/middleware/utils/debug/taskMigrator.js +139 -42
  527. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  528. package/build/core/middleware/utils/migrationContext.d.ts +1 -0
  529. package/build/core/middleware/utils/migrationContext.d.ts.map +1 -1
  530. package/build/core/middleware/utils/migrationContext.js +1 -0
  531. package/build/core/middleware/utils/migrationContext.js.map +1 -1
  532. package/build/core/middleware/utils/v3MigrationUtils.d.ts +8 -1
  533. package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
  534. package/build/core/middleware/utils/v3MigrationUtils.js +38 -28
  535. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  536. package/build/core/question.d.ts +16 -4
  537. package/build/core/question.d.ts.map +1 -1
  538. package/build/core/question.js +246 -92
  539. package/build/core/question.js.map +1 -1
  540. package/build/error/arm.d.ts +32 -0
  541. package/build/error/arm.d.ts.map +1 -0
  542. package/build/error/arm.js +87 -0
  543. package/build/error/arm.js.map +1 -0
  544. package/build/error/azure.d.ts +30 -0
  545. package/build/error/azure.d.ts.map +1 -1
  546. package/build/error/azure.js +81 -1
  547. package/build/error/azure.js.map +1 -1
  548. package/build/error/common.d.ts +17 -2
  549. package/build/error/common.d.ts.map +1 -1
  550. package/build/error/common.js +79 -18
  551. package/build/error/common.js.map +1 -1
  552. package/build/error/deploy.d.ts +36 -0
  553. package/build/error/deploy.d.ts.map +1 -0
  554. package/build/error/deploy.js +126 -0
  555. package/build/error/deploy.js.map +1 -0
  556. package/build/error/m365.d.ts +20 -0
  557. package/build/error/m365.d.ts.map +1 -0
  558. package/build/error/m365.js +56 -0
  559. package/build/error/m365.js.map +1 -0
  560. package/build/error/script.d.ts +14 -0
  561. package/build/error/script.d.ts.map +1 -0
  562. package/build/error/script.js +38 -0
  563. package/build/error/script.js.map +1 -0
  564. package/build/error/upgrade.d.ts +5 -0
  565. package/build/error/upgrade.d.ts.map +1 -0
  566. package/build/error/upgrade.js +16 -0
  567. package/build/error/upgrade.js.map +1 -0
  568. package/build/error/yml.d.ts +5 -2
  569. package/build/error/yml.d.ts.map +1 -1
  570. package/build/error/yml.js +14 -4
  571. package/build/error/yml.js.map +1 -1
  572. package/package.json +19 -9
  573. package/resource/package.nls.cs.json +62 -42
  574. package/resource/package.nls.de.json +62 -42
  575. package/resource/package.nls.es.json +62 -42
  576. package/resource/package.nls.fr.json +62 -42
  577. package/resource/package.nls.it.json +62 -42
  578. package/resource/package.nls.ja.json +62 -42
  579. package/resource/package.nls.json +283 -335
  580. package/resource/package.nls.ko.json +62 -42
  581. package/resource/package.nls.pl.json +62 -42
  582. package/resource/package.nls.pt-BR.json +62 -42
  583. package/resource/package.nls.ru.json +62 -42
  584. package/resource/package.nls.tr.json +62 -42
  585. package/resource/package.nls.zh-Hans.json +62 -42
  586. package/resource/package.nls.zh-Hant.json +62 -42
  587. package/resource/package.nls.zh-cn.json +200 -329
  588. package/resource/package.nls.zh-tw.json +200 -329
  589. package/resource/yaml.schema.json +1458 -0
  590. package/templates/core/v3Migration/csharp.app.local.yml +28 -36
  591. package/templates/core/v3Migration/csharp.app.yml +44 -29
  592. package/templates/core/v3Migration/js.ts.app.local.yml +75 -56
  593. package/templates/core/v3Migration/js.ts.app.yml +100 -79
  594. package/templates/core/v3Migration/spfx.app.yml +16 -11
  595. package/templates/core/v3Migration/upgradeReport.md +3 -1
  596. package/templates/fallback/common.zip +0 -0
  597. package/templates/fallback/csharp.zip +0 -0
  598. package/templates/fallback/js.zip +0 -0
  599. package/templates/fallback/ts.zip +0 -0
  600. package/templates/plugins/resource/aad/auth/V3/Bot/SSO/SsoOperations.cs +23 -8
  601. package/templates/plugins/resource/aad/auth/V3/Tab/GetUserProfile.razor +2 -1
  602. package/build/component/configManager/error.d.ts +0 -21
  603. package/build/component/configManager/error.d.ts.map +0 -1
  604. package/build/component/configManager/error.js +0 -84
  605. package/build/component/configManager/error.js.map +0 -1
  606. package/build/component/driver/aad/error/invalidParameterUserError.d.ts +0 -5
  607. package/build/component/driver/aad/error/invalidParameterUserError.d.ts.map +0 -1
  608. package/build/component/driver/aad/error/invalidParameterUserError.js +0 -29
  609. package/build/component/driver/aad/error/invalidParameterUserError.js.map +0 -1
  610. package/build/component/driver/aad/error/unhandledError.d.ts +0 -8
  611. package/build/component/driver/aad/error/unhandledError.d.ts.map +0 -1
  612. package/build/component/driver/aad/error/unhandledError.js +0 -33
  613. package/build/component/driver/aad/error/unhandledError.js.map +0 -1
  614. package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts +0 -5
  615. package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts.map +0 -1
  616. package/build/component/driver/botAadApp/error/invalidParameterUserError.js +0 -29
  617. package/build/component/driver/botAadApp/error/invalidParameterUserError.js.map +0 -1
  618. package/build/component/driver/botAadApp/error/unhandledError.d.ts +0 -8
  619. package/build/component/driver/botAadApp/error/unhandledError.d.ts.map +0 -1
  620. package/build/component/driver/botAadApp/error/unhandledError.js +0 -33
  621. package/build/component/driver/botAadApp/error/unhandledError.js.map +0 -1
  622. package/build/component/driver/botFramework/error/invalidParameterUserError.d.ts +0 -5
  623. package/build/component/driver/botFramework/error/invalidParameterUserError.d.ts.map +0 -1
  624. package/build/component/driver/botFramework/error/invalidParameterUserError.js +0 -29
  625. package/build/component/driver/botFramework/error/invalidParameterUserError.js.map +0 -1
  626. package/build/component/driver/botFramework/error/unhandledError.d.ts +0 -5
  627. package/build/component/driver/botFramework/error/unhandledError.d.ts.map +0 -1
  628. package/build/component/driver/botFramework/error/unhandledError.js +0 -25
  629. package/build/component/driver/botFramework/error/unhandledError.js.map +0 -1
  630. package/build/component/driver/deploy/azure/impl/progressBarHelper.d.ts +0 -3
  631. package/build/component/driver/deploy/azure/impl/progressBarHelper.d.ts.map +0 -1
  632. package/build/component/driver/deploy/azure/impl/progressBarHelper.js +0 -15
  633. package/build/component/driver/deploy/azure/impl/progressBarHelper.js.map +0 -1
  634. package/build/component/driver/file/error/invalidParameterUserError.d.ts +0 -5
  635. package/build/component/driver/file/error/invalidParameterUserError.d.ts.map +0 -1
  636. package/build/component/driver/file/error/invalidParameterUserError.js +0 -29
  637. package/build/component/driver/file/error/invalidParameterUserError.js.map +0 -1
  638. package/build/component/driver/file/error/unhandledError.d.ts +0 -5
  639. package/build/component/driver/file/error/unhandledError.d.ts.map +0 -1
  640. package/build/component/driver/file/error/unhandledError.js +0 -25
  641. package/build/component/driver/file/error/unhandledError.js.map +0 -1
  642. package/build/component/driver/file/updateEnv.d.ts +0 -17
  643. package/build/component/driver/file/updateEnv.d.ts.map +0 -1
  644. package/build/component/driver/file/updateEnv.js +0 -129
  645. package/build/component/driver/file/updateEnv.js.map +0 -1
  646. package/build/component/driver/file/updateJson.d.ts +0 -16
  647. package/build/component/driver/file/updateJson.d.ts.map +0 -1
  648. package/build/component/driver/file/updateJson.js +0 -124
  649. package/build/component/driver/file/updateJson.js.map +0 -1
  650. package/build/component/driver/m365/error/FileNotFoundUserError.d.ts +0 -5
  651. package/build/component/driver/m365/error/FileNotFoundUserError.d.ts.map +0 -1
  652. package/build/component/driver/m365/error/FileNotFoundUserError.js.map +0 -1
  653. package/build/component/driver/m365/error/invalidParameterUserError.d.ts +0 -5
  654. package/build/component/driver/m365/error/invalidParameterUserError.d.ts.map +0 -1
  655. package/build/component/driver/m365/error/invalidParameterUserError.js +0 -29
  656. package/build/component/driver/m365/error/invalidParameterUserError.js.map +0 -1
  657. package/build/component/driver/m365/error/unhandledError.d.ts +0 -5
  658. package/build/component/driver/m365/error/unhandledError.d.ts.map +0 -1
  659. package/build/component/driver/m365/error/unhandledError.js +0 -25
  660. package/build/component/driver/m365/error/unhandledError.js.map +0 -1
  661. package/build/component/driver/prerequisite/constant.d.ts.map +0 -1
  662. package/build/component/driver/prerequisite/constant.js.map +0 -1
  663. package/build/component/driver/prerequisite/error/dotnetInstallationUserError.d.ts.map +0 -1
  664. package/build/component/driver/prerequisite/error/dotnetInstallationUserError.js.map +0 -1
  665. package/build/component/driver/prerequisite/error/funcInstallationUserError.d.ts.map +0 -1
  666. package/build/component/driver/prerequisite/error/funcInstallationUserError.js.map +0 -1
  667. package/build/component/driver/prerequisite/error/invalidParameterUserError.d.ts +0 -5
  668. package/build/component/driver/prerequisite/error/invalidParameterUserError.d.ts.map +0 -1
  669. package/build/component/driver/prerequisite/error/invalidParameterUserError.js +0 -29
  670. package/build/component/driver/prerequisite/error/invalidParameterUserError.js.map +0 -1
  671. package/build/component/driver/prerequisite/installDriver.d.ts.map +0 -1
  672. package/build/component/driver/prerequisite/installDriver.js.map +0 -1
  673. package/build/component/driver/prerequisite/interfaces/InstallToolArgs.d.ts.map +0 -1
  674. package/build/component/driver/prerequisite/interfaces/InstallToolArgs.js.map +0 -1
  675. package/templates/fallback/bot.csharp.command-and-response.zip +0 -0
  676. package/templates/fallback/bot.csharp.default.zip +0 -0
  677. package/templates/fallback/bot.csharp.notification-function-base.zip +0 -0
  678. package/templates/fallback/bot.csharp.notification-trigger-http.zip +0 -0
  679. package/templates/fallback/bot.csharp.notification-trigger-timer.zip +0 -0
  680. package/templates/fallback/bot.csharp.notification-webapi.zip +0 -0
  681. package/templates/fallback/bot.csharp.workflow.zip +0 -0
  682. package/templates/fallback/bot.js.command-and-response.zip +0 -0
  683. package/templates/fallback/bot.js.default.zip +0 -0
  684. package/templates/fallback/bot.js.m365.zip +0 -0
  685. package/templates/fallback/bot.js.notification-function-base.zip +0 -0
  686. package/templates/fallback/bot.js.notification-restify.zip +0 -0
  687. package/templates/fallback/bot.js.notification-trigger-http.zip +0 -0
  688. package/templates/fallback/bot.js.notification-trigger-timer.zip +0 -0
  689. package/templates/fallback/bot.js.workflow.zip +0 -0
  690. package/templates/fallback/bot.ts.command-and-response.zip +0 -0
  691. package/templates/fallback/bot.ts.default.zip +0 -0
  692. package/templates/fallback/bot.ts.m365.zip +0 -0
  693. package/templates/fallback/bot.ts.notification-function-base.zip +0 -0
  694. package/templates/fallback/bot.ts.notification-restify.zip +0 -0
  695. package/templates/fallback/bot.ts.notification-trigger-http.zip +0 -0
  696. package/templates/fallback/bot.ts.notification-trigger-timer.zip +0 -0
  697. package/templates/fallback/bot.ts.workflow.zip +0 -0
  698. package/templates/fallback/function-base.js.default.zip +0 -0
  699. package/templates/fallback/function-base.ts.default.zip +0 -0
  700. package/templates/fallback/function-triggers.js.HTTPTrigger.zip +0 -0
  701. package/templates/fallback/function-triggers.ts.HTTPTrigger.zip +0 -0
  702. package/templates/fallback/tab.csharp.default.zip +0 -0
  703. package/templates/fallback/tab.csharp.non-sso.zip +0 -0
  704. package/templates/fallback/tab.js.dashboard.zip +0 -0
  705. package/templates/fallback/tab.js.default.zip +0 -0
  706. package/templates/fallback/tab.js.m365.zip +0 -0
  707. package/templates/fallback/tab.js.non-sso.zip +0 -0
  708. package/templates/fallback/tab.ts.dashboard.zip +0 -0
  709. package/templates/fallback/tab.ts.default.zip +0 -0
  710. package/templates/fallback/tab.ts.m365.zip +0 -0
  711. package/templates/fallback/tab.ts.non-sso.zip +0 -0
  712. /package/build/component/driver/{prerequisite → devTool}/constant.d.ts +0 -0
  713. /package/build/component/driver/{prerequisite → devTool}/constant.js +0 -0
  714. /package/build/component/driver/{prerequisite → devTool}/error/dotnetInstallationUserError.d.ts +0 -0
  715. /package/build/component/driver/{prerequisite → devTool}/error/dotnetInstallationUserError.js +0 -0
  716. /package/build/component/driver/{prerequisite → devTool}/error/funcInstallationUserError.d.ts +0 -0
  717. /package/build/component/driver/{prerequisite → devTool}/error/funcInstallationUserError.js +0 -0
  718. /package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.js +0 -0
@@ -2,414 +2,328 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.isFuncVersionSupport = exports.mapToFuncToolsVersion = exports.FuncToolChecker = exports.FuncMajorVersion = void 0;
5
+ exports.isFuncVersionSupport = exports.mapToFuncToolsVersion = exports.FuncToolChecker = void 0;
6
6
  const tslib_1 = require("tslib");
7
+ /**
8
+ * @author Xiaofu Huang <xiaofhua@microsoft.com>
9
+ */
7
10
  const fs = tslib_1.__importStar(require("fs-extra"));
8
- const path = tslib_1.__importStar(require("path"));
9
11
  const os = tslib_1.__importStar(require("os"));
12
+ const path = tslib_1.__importStar(require("path"));
13
+ const semver_1 = tslib_1.__importDefault(require("semver"));
14
+ const uuid = tslib_1.__importStar(require("uuid"));
10
15
  const teamsfx_api_1 = require("@microsoft/teamsfx-api");
16
+ const localizeUtils_1 = require("../../localizeUtils");
11
17
  const helpLink_1 = require("../constant/helpLink");
12
- const progressIndicator_1 = require("../util/progressIndicator");
18
+ const message_1 = require("../constant/message");
19
+ const depsChecker_1 = require("../depsChecker");
13
20
  const depsError_1 = require("../depsError");
14
21
  const cpUtils_1 = require("../util/cpUtils");
22
+ const fileHelper_1 = require("../util/fileHelper");
15
23
  const system_1 = require("../util/system");
16
- const telemetry_1 = require("../constant/telemetry");
17
- const depsChecker_1 = require("../depsChecker");
18
- const message_1 = require("../constant/message");
19
24
  const nodeChecker_1 = require("./nodeChecker");
20
- var FuncMajorVersion;
21
- (function (FuncMajorVersion) {
22
- FuncMajorVersion["v1"] = "1";
23
- FuncMajorVersion["v2"] = "2";
24
- FuncMajorVersion["v3"] = "3";
25
- FuncMajorVersion["v4"] = "4";
26
- })(FuncMajorVersion = exports.FuncMajorVersion || (exports.FuncMajorVersion = {}));
27
- const FuncNodeVersionWhiteList = {
28
- // func-core-tools version
29
- "3": {
30
- "10": true,
31
- "12": true,
32
- "14": true,
33
- },
34
- "4": {
35
- "14": true,
36
- "16": true,
37
- "18": true,
38
- },
39
- };
40
- const RecommendedNodeVersion = "16";
41
- const MinNode18FuncVersion = {
42
- majorVersion: FuncMajorVersion.v4,
43
- minorVersion: 0,
44
- patchVersion: 4670,
25
+ const telemetry_1 = require("../constant/telemetry");
26
+ const nodeFuncVersionRangeMapping = {
27
+ "12": "3",
28
+ "14": "3 || 4",
29
+ "16": ">=4",
30
+ "18": ">=4.0.4670",
45
31
  };
46
32
  const funcPackageName = "azure-functions-core-tools";
47
33
  const funcToolName = "Azure Functions Core Tools";
48
- const installVersion = FuncMajorVersion.v4;
49
- const supportedVersions = [FuncMajorVersion.v4];
50
- const displayFuncName = `${funcToolName} (v${FuncMajorVersion.v4})`;
51
34
  const timeout = 5 * 60 * 1000;
52
35
  class FuncToolChecker {
53
36
  constructor(logger, telemetry) {
54
- this._logger = logger;
55
- this._telemetry = telemetry;
37
+ this.telemetryProperties = {};
56
38
  }
57
- async getDepsInfo(isPortableFuncInstalled, isGlobalFuncInstalled, error) {
39
+ async getDepsInfo(funcVersion, binFolder, error) {
40
+ var _a;
58
41
  return Promise.resolve({
59
42
  name: funcToolName,
60
43
  type: depsChecker_1.DepsType.FuncCoreTools,
61
- isInstalled: isPortableFuncInstalled || isGlobalFuncInstalled,
62
- command: await this.command(isPortableFuncInstalled, isGlobalFuncInstalled),
44
+ isInstalled: !!funcVersion,
45
+ command: "func",
63
46
  details: {
64
47
  isLinuxSupported: false,
65
- installVersion: installVersion,
66
- supportedVersions: supportedVersions,
67
- binFolders: isPortableFuncInstalled ? this.getPortableFuncBinFolders() : undefined,
48
+ installVersion: (_a = funcVersion === null || funcVersion === void 0 ? void 0 : funcVersion.versionStr) !== null && _a !== void 0 ? _a : undefined,
49
+ supportedVersions: [],
50
+ binFolders: binFolder ? [binFolder] : undefined,
68
51
  },
52
+ telemetryProperties: this.telemetryProperties,
69
53
  error: error,
70
54
  });
71
55
  }
72
- async resolve() {
56
+ async resolve(installOptions) {
73
57
  let installationInfo;
74
58
  try {
75
59
  const nodeVersion = await this.getNodeVersion();
76
- installationInfo = await this.getInstallationInfo({ nodeVersion: nodeVersion });
60
+ installationInfo = await this.getInstallationInfo(installOptions);
77
61
  if (!installationInfo.isInstalled) {
78
- await this.install(nodeVersion);
79
- installationInfo = await this.getInstallationInfo({ nodeVersion: nodeVersion });
80
- }
81
- if (!installationInfo.error && installationInfo.portableFunc.isInstalled) {
82
- const portableFuncNodeError = await this.checkPortableFuncAndNode(installationInfo.portableFunc, nodeVersion);
83
- if (portableFuncNodeError) {
84
- installationInfo.isInstalled = false;
85
- installationInfo.error = portableFuncNodeError;
86
- }
62
+ const symlinkDir = installOptions.symlinkDir
63
+ ? path.resolve(installOptions.projectPath, installOptions.symlinkDir)
64
+ : undefined;
65
+ installationInfo = await this.install(installOptions.version, symlinkDir);
87
66
  }
88
- if (!installationInfo.error) {
89
- const globalFuncNodeError = await this.checkGlobalFuncAndNode(installationInfo.globalFunc, nodeVersion);
90
- if (globalFuncNodeError) {
91
- installationInfo.error = globalFuncNodeError;
92
- if (!installationInfo.portableFunc.isInstalled &&
93
- installationInfo.globalFunc.isInstalled) {
94
- installationInfo.isInstalled = false;
95
- }
67
+ if (!installationInfo.error &&
68
+ installationInfo.isInstalled &&
69
+ installationInfo.details.installVersion) {
70
+ const expectedFuncNodeError = await this.checkExpectedFuncAndNode(installationInfo.details.installVersion, nodeVersion);
71
+ if (expectedFuncNodeError) {
72
+ installationInfo.error = expectedFuncNodeError;
96
73
  }
97
74
  }
75
+ return installationInfo;
98
76
  }
99
77
  catch (error) {
100
- await this._logger.printDetailLog();
101
- await this._logger.error(`${error.message}, error = '${error}'`);
102
78
  if (error instanceof depsError_1.DepsCheckerError) {
103
- return await this.getDepsInfo(false, false, error);
79
+ return await this.getDepsInfo(undefined, undefined, error);
104
80
  }
105
- return await this.getDepsInfo(false, false, new depsError_1.DepsCheckerError(error.message, helpLink_1.defaultHelpLink));
106
- }
107
- finally {
108
- this._logger.cleanup();
81
+ return await this.getDepsInfo(undefined, undefined, new depsError_1.DepsCheckerError(error.message, helpLink_1.v3DefaultHelpLink));
109
82
  }
110
- return installationInfo;
111
83
  }
112
84
  async getInstallationInfo(installOptions) {
113
- var _a, _b;
114
- const nodeVersion = (_a = installOptions === null || installOptions === void 0 ? void 0 : installOptions.nodeVersion) !== null && _a !== void 0 ? _a : (await this.getNodeVersion());
115
- const globalFunc = await this.checkGlobalFuncVersion(nodeVersion);
116
- const isGlobalFuncInstalled = globalFunc.isInstalled;
117
- const portableFunc = await this.checkPortableFuncVersion(nodeVersion);
118
- const isPortableFuncInstalled = portableFunc.isInstalled;
119
- if (isGlobalFuncInstalled) {
120
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcAlreadyInstalled, {
121
- "global-func-version": (_b = globalFunc.funcVersion) !== null && _b !== void 0 ? _b : "",
122
- });
123
- if (!isPortableFuncInstalled) {
124
- await this.cleanup();
85
+ const symlinkDir = installOptions.symlinkDir
86
+ ? path.resolve(installOptions.projectPath, installOptions.symlinkDir)
87
+ : undefined;
88
+ if (symlinkDir) {
89
+ const symlinkFuncRes = await this.checkFuncVersion(installOptions.version, symlinkDir, undefined);
90
+ if (symlinkFuncRes.isOk()) {
91
+ this.telemetryProperties[telemetry_1.TelemetryProperties.SymlinkFuncVersion] =
92
+ symlinkFuncRes.value.versionStr;
93
+ return await this.getDepsInfo(symlinkFuncRes.value, symlinkDir);
125
94
  }
95
+ else {
96
+ this.telemetryProperties[telemetry_1.TelemetryProperties.SymlinkFuncVersionError] =
97
+ symlinkFuncRes.error.message;
98
+ await fileHelper_1.unlinkSymlink(symlinkDir);
99
+ }
100
+ }
101
+ const portableFunc = await this.checkPortableFuncVersion(installOptions.version);
102
+ if (portableFunc) {
103
+ this.telemetryProperties[telemetry_1.TelemetryProperties.SelectedPortableFuncVersion] =
104
+ portableFunc.funcVersion.versionStr;
105
+ if (symlinkDir) {
106
+ await fileHelper_1.createSymlink(portableFunc.binFolder, symlinkDir);
107
+ return await this.getDepsInfo(portableFunc.funcVersion, symlinkDir);
108
+ }
109
+ return await this.getDepsInfo(portableFunc.funcVersion, portableFunc.binFolder);
110
+ }
111
+ const globalFuncRes = await this.checkFuncVersion(installOptions.version, undefined, undefined);
112
+ if (globalFuncRes.isOk()) {
113
+ this.telemetryProperties[telemetry_1.TelemetryProperties.GlobalFuncVersion] =
114
+ globalFuncRes.value.versionStr;
115
+ return await this.getDepsInfo(globalFuncRes.value, undefined);
126
116
  }
127
- if (isPortableFuncInstalled) {
128
- // avoid missing this event after first installation 60 days
129
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcInstallCompleted);
117
+ else {
118
+ this.telemetryProperties[telemetry_1.TelemetryProperties.GlobalFuncVersionError] =
119
+ globalFuncRes.error.message;
120
+ return await this.getDepsInfo(undefined, undefined);
130
121
  }
131
- const depsInfo = await this.getDepsInfo(isPortableFuncInstalled, isGlobalFuncInstalled);
132
- return Object.assign(depsInfo, { globalFunc: globalFunc, portableFunc: portableFunc });
133
122
  }
134
123
  async getNodeVersion() {
135
124
  var _a;
136
125
  const nodeVersion = (_a = (await nodeChecker_1.NodeChecker.getInstalledNodeVersion())) === null || _a === void 0 ? void 0 : _a.majorVersion;
137
126
  if (!nodeVersion) {
138
- throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound()
139
- .split("@NodeVersion")
140
- .join(supportedVersions[supportedVersions.length - 1]), helpLink_1.nodeNotFoundHelpLink);
127
+ throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound(), helpLink_1.v3NodeNotFoundHelpLink);
141
128
  }
142
129
  return nodeVersion;
143
130
  }
144
- async checkPortableFuncAndNode(portableFunc, nodeVersion) {
145
- var _a;
146
- if (portableFunc.funcVersion) {
147
- if (!((_a = FuncNodeVersionWhiteList[portableFunc.funcVersion.toString()]) === null || _a === void 0 ? void 0 : _a[nodeVersion])) {
148
- return new depsError_1.PortableFuncNodeNotMatchedError(message_1.Messages.portableFuncNodeNotMatched()
149
- .split("@FuncVersion")
150
- .join(`v${portableFunc.funcVersion}`)
151
- .split("@NodeVersion")
152
- .join(`v${nodeVersion}`)
153
- .split("@Link")
154
- .join(helpLink_1.nodeInstallationLink)
155
- .split("@RecommendedVersion")
156
- .join(`v${RecommendedNodeVersion}`), helpLink_1.functionDepsVersionsLink);
157
- }
131
+ async checkExpectedFuncAndNode(funcVersion, nodeVersion) {
132
+ const funcVersionRange = nodeFuncVersionRangeMapping[nodeVersion];
133
+ if (funcVersionRange && !semver_1.default.satisfies(funcVersion, funcVersionRange)) {
134
+ return new depsError_1.DepsCheckerError(message_1.Messages.portableFuncNodeNotMatched(nodeVersion, funcVersion), helpLink_1.v3DefaultHelpLink);
158
135
  }
159
136
  return undefined;
160
137
  }
161
- async checkGlobalFuncAndNode(globalFunc, nodeVersion) {
162
- var _a;
163
- if (globalFunc.funcVersion) {
164
- if (!((_a = FuncNodeVersionWhiteList[globalFunc.funcVersion.toString()]) === null || _a === void 0 ? void 0 : _a[nodeVersion])) {
165
- return new depsError_1.GlobalFuncNodeNotMatchedError(message_1.Messages.globalFuncNodeNotMatched()
166
- .split("@FuncVersion")
167
- .join(`v${globalFunc.funcVersion.toString()}`)
168
- .split("@NodeVersion")
169
- .join(`v${nodeVersion}`)
170
- .split("@link")
171
- .join(helpLink_1.functionDepsVersionsLink), helpLink_1.functionDepsVersionsLink);
138
+ async checkPortableFuncVersion(expectedFuncVersion) {
139
+ try {
140
+ const historyFuncBinFolder = FuncToolChecker.getPortableFuncBinFolder(undefined);
141
+ const historyFuncRes = await this.checkFuncVersion(expectedFuncVersion, historyFuncBinFolder, FuncToolChecker.getHistorySentinelPath());
142
+ if (historyFuncRes.isOk()) {
143
+ this.telemetryProperties[telemetry_1.TelemetryProperties.HistoryFuncVersion] =
144
+ historyFuncRes.value.versionStr;
145
+ }
146
+ else {
147
+ this.telemetryProperties[telemetry_1.TelemetryProperties.HistoryFuncVersionError] =
148
+ historyFuncRes.error.message;
149
+ }
150
+ const versioningFuncStatus = await this.getVersioningPortableFunc(expectedFuncVersion);
151
+ if (versioningFuncStatus &&
152
+ (historyFuncRes.isErr() ||
153
+ semver_1.default.gte(versioningFuncStatus.funcVersion.versionStr, historyFuncRes.value.versionStr))) {
154
+ return versioningFuncStatus;
155
+ }
156
+ else if (historyFuncRes.isOk()) {
157
+ return { funcVersion: historyFuncRes.value, binFolder: historyFuncBinFolder };
172
158
  }
173
159
  }
160
+ catch (error) {
161
+ // do nothing
162
+ }
174
163
  return undefined;
175
164
  }
176
- async checkPortableFuncVersion(nodeVersion) {
177
- let isVersionSupported = false, hasSentinel = false;
178
- let portableFuncVersion = null;
165
+ async checkFuncVersion(expectedFuncVersion, binFolder, sentinelPath) {
179
166
  try {
180
- portableFuncVersion = await this.queryFuncVersion(FuncToolChecker.getPortableFuncExecPath());
181
- isVersionSupported = isFuncVersionSupport(portableFuncVersion, nodeVersion);
182
- // to avoid "func -v" and "func new" work well, but "func start" fail.
183
- hasSentinel = await fs.pathExists(FuncToolChecker.getSentinelPath());
184
- if (system_1.isWindows() && isVersionSupported && hasSentinel) {
185
- await this.cleanupPortablePs1();
167
+ const funcVersion = await this.queryFuncVersion(binFolder);
168
+ // For portable func, avoid "func -v" and "func new" work well, but "func start" fail.
169
+ const hasSentinel = sentinelPath ? await fs.pathExists(sentinelPath) : true;
170
+ if (!hasSentinel) {
171
+ return teamsfx_api_1.err(new depsError_1.DepsCheckerError(message_1.Messages.noSentinelFile(), helpLink_1.v3DefaultHelpLink));
172
+ }
173
+ const funcVersionSupport = isFuncVersionSupport(funcVersion, expectedFuncVersion);
174
+ if (!funcVersionSupport) {
175
+ return teamsfx_api_1.err(new depsError_1.DepsCheckerError(message_1.Messages.funcVersionNotMatch(funcVersion.versionStr, expectedFuncVersion), helpLink_1.v3DefaultHelpLink));
186
176
  }
177
+ return teamsfx_api_1.ok(funcVersion);
187
178
  }
188
179
  catch (error) {
189
- // do nothing
190
- return {
191
- isInstalled: false,
192
- funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
193
- };
180
+ return teamsfx_api_1.err(new depsError_1.DepsCheckerError(error.message, helpLink_1.v3DefaultHelpLink));
194
181
  }
195
- return {
196
- isInstalled: isVersionSupported && hasSentinel,
197
- funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
198
- };
199
182
  }
200
- async checkGlobalFuncVersion(nodeVersion) {
201
- const globalFuncVersion = await this.queryGlobalFuncVersion();
202
- return {
203
- isInstalled: isFuncVersionSupport(globalFuncVersion, nodeVersion),
204
- funcVersion: globalFuncVersion !== null ? globalFuncVersion.majorVersion : null,
205
- };
183
+ async getVersioningPortableFunc(expectedFuncVersion) {
184
+ var _a;
185
+ const files = await fs.readdir(FuncToolChecker.getDefaultInstallPath(), {
186
+ withFileTypes: true,
187
+ });
188
+ const funcDictionaries = files
189
+ .filter((f) => f.isDirectory() && semver_1.default.valid(f.name))
190
+ .map((f) => f.name);
191
+ this.telemetryProperties[telemetry_1.TelemetryProperties.VersioningFuncVersions] =
192
+ JSON.stringify(funcDictionaries);
193
+ while (funcDictionaries.length > 0) {
194
+ const matchedVersion = semver_1.default.maxSatisfying(funcDictionaries, expectedFuncVersion);
195
+ if (!matchedVersion) {
196
+ return undefined;
197
+ }
198
+ const binFolder = FuncToolChecker.getPortableFuncBinFolder(matchedVersion);
199
+ const actualFuncRes = await this.checkFuncVersion(expectedFuncVersion, binFolder, FuncToolChecker.getVersioningSentinelPath(matchedVersion));
200
+ if (actualFuncRes.isOk() && actualFuncRes.value.versionStr === matchedVersion) {
201
+ return {
202
+ funcVersion: actualFuncRes.value,
203
+ binFolder: binFolder,
204
+ };
205
+ }
206
+ if (actualFuncRes.isErr()) {
207
+ this.telemetryProperties[telemetry_1.TelemetryProperties.VersioningFuncVersionError] =
208
+ ((_a = this.telemetryProperties[telemetry_1.TelemetryProperties.VersioningFuncVersionError]) !== null && _a !== void 0 ? _a : "") +
209
+ `[${matchedVersion}] ${actualFuncRes.error.message}`;
210
+ }
211
+ const matchedVersionIndex = funcDictionaries.indexOf(matchedVersion);
212
+ if (matchedVersionIndex < 0) {
213
+ return undefined;
214
+ }
215
+ funcDictionaries.splice(matchedVersionIndex, 1);
216
+ }
217
+ return undefined;
206
218
  }
207
- async install(nodeVersion) {
219
+ async install(expectedFuncVersion, symlinkDir) {
208
220
  if (system_1.isLinux()) {
209
- throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(displayFuncName), helpLink_1.defaultHelpLink);
221
+ throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(funcToolName), helpLink_1.v3DefaultHelpLink);
210
222
  }
211
223
  if (!(await this.hasNPM())) {
212
- this.handleNpmNotFound();
224
+ throw new depsError_1.DepsCheckerError(message_1.Messages.needInstallNpm(), helpLink_1.v3DefaultHelpLink);
213
225
  }
214
- await this.cleanup();
215
- await this.installFunc();
216
- if (!(await this.validate(nodeVersion))) {
217
- await this.handleInstallFuncFailed();
226
+ const tmpVersion = uuid.v4();
227
+ await this.installFunc(tmpVersion, expectedFuncVersion);
228
+ const funcVersionRes = await this.checkFuncVersion(expectedFuncVersion, FuncToolChecker.getPortableFuncBinFolder(tmpVersion), FuncToolChecker.getVersioningSentinelPath(tmpVersion));
229
+ if (funcVersionRes.isErr()) {
230
+ await this.cleanup(tmpVersion);
231
+ this.telemetryProperties[telemetry_1.TelemetryProperties.InstallFuncError] = funcVersionRes.error.message;
232
+ throw new depsError_1.DepsCheckerError(message_1.Messages.failToValidateFuncCoreTool() + " " + funcVersionRes.error.message, helpLink_1.v3DefaultHelpLink);
218
233
  }
219
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcInstallCompleted);
220
- await this._logger.info(message_1.Messages.finishInstallFunctionCoreTool().replace("@NameVersion", displayFuncName));
221
- }
222
- async handleInstallFuncFailed() {
223
- await this.cleanup();
224
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcInstallError, telemetry_1.TelemtryMessages.failedToInstallFunc, message_1.Messages.failToValidateFuncCoreTool().replace("@NameVersion", displayFuncName));
225
- throw new depsError_1.DepsCheckerError(message_1.Messages.failToInstallFuncCoreTool().split("@NameVersion").join(displayFuncName), helpLink_1.defaultHelpLink);
226
- }
227
- async validate(nodeVersion) {
228
- let isVersionSupported = false;
229
- let hasSentinel = false;
230
- try {
231
- const portableFunc = await this.queryFuncVersion(FuncToolChecker.getPortableFuncExecPath());
232
- isVersionSupported = isFuncVersionSupport(portableFunc, nodeVersion);
233
- // to avoid "func -v" and "func new" work well, but "func start" fail.
234
- hasSentinel = await fs.pathExists(FuncToolChecker.getSentinelPath());
235
- }
236
- catch (err) {
237
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcValidationError, telemetry_1.TelemtryMessages.failedToValidateFunc, err);
234
+ this.telemetryProperties[telemetry_1.TelemetryProperties.InstalledFuncVersion] =
235
+ funcVersionRes.value.versionStr;
236
+ await fileHelper_1.rename(FuncToolChecker.getFuncInstallPath(tmpVersion), FuncToolChecker.getFuncInstallPath(funcVersionRes.value.versionStr));
237
+ const binFolder = FuncToolChecker.getPortableFuncBinFolder(funcVersionRes.value.versionStr);
238
+ if (symlinkDir) {
239
+ await fileHelper_1.createSymlink(binFolder, symlinkDir);
240
+ return await this.getDepsInfo(funcVersionRes.value, symlinkDir);
238
241
  }
239
- if (!isVersionSupported || !hasSentinel) {
240
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcValidationError, {
241
- "func-v": String(isVersionSupported),
242
- sentinel: String(hasSentinel),
243
- });
244
- }
245
- return isVersionSupported && hasSentinel;
246
- }
247
- handleNpmNotFound() {
248
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmNotFound);
249
- throw new depsError_1.DepsCheckerError(message_1.Messages.needInstallFuncCoreTool().replace("@NameVersion", displayFuncName), helpLink_1.defaultHelpLink);
242
+ return await this.getDepsInfo(funcVersionRes.value, binFolder);
250
243
  }
251
244
  static getDefaultInstallPath() {
252
- return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "func");
245
+ return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "azfunc");
253
246
  }
254
- static getSentinelPath() {
255
- return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "func-sentinel");
247
+ static getFuncInstallPath(versionStr) {
248
+ return versionStr
249
+ ? path.join(this.getDefaultInstallPath(), versionStr)
250
+ : path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "func");
256
251
  }
257
- static getPortableFuncExecPath() {
258
- return path.join(FuncToolChecker.getDefaultInstallPath(), "node_modules", "azure-functions-core-tools", "lib", "main.js");
252
+ static getVersioningSentinelPath(versionStr) {
253
+ return path.join(FuncToolChecker.getPortableFuncBinFolder(versionStr), "func-sentinel");
259
254
  }
260
- async command(isPortableFuncInstalled, isGlobalFuncInstalled) {
261
- if (isPortableFuncInstalled) {
262
- return `node "${FuncToolChecker.getPortableFuncExecPath()}"`;
263
- }
264
- if (isGlobalFuncInstalled) {
265
- return "func";
266
- }
267
- return "npx azure-functions-core-tools@3";
255
+ static getHistorySentinelPath() {
256
+ return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "func-sentinel");
268
257
  }
269
- getPortableFuncBinFolders() {
270
- return [
271
- FuncToolChecker.getDefaultInstallPath(),
272
- path.join(FuncToolChecker.getDefaultInstallPath(), "node_modules", ".bin"),
273
- ];
258
+ static getPortableFuncBinFolder(versionStr) {
259
+ return path.resolve(FuncToolChecker.getFuncInstallPath(versionStr), "node_modules", "azure-functions-core-tools", "bin");
274
260
  }
275
- async queryFuncVersion(path) {
276
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { shell: true }, "node", `"${path}"`, "--version");
261
+ async queryFuncVersion(funcBinFolder) {
262
+ const execPath = funcBinFolder ? path.resolve(funcBinFolder, "func") : "func";
263
+ const output = await cpUtils_1.cpUtils.executeCommand(undefined, undefined,
264
+ // same as backend start, avoid powershell execution policy issue.
265
+ { shell: system_1.isWindows() ? "cmd.exe" : true }, execPath, "--version");
277
266
  return mapToFuncToolsVersion(output);
278
267
  }
279
- async queryGlobalFuncVersion() {
280
- try {
281
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger,
282
- // same as backend start, avoid powershell execution policy issue.
283
- { shell: system_1.isWindows() ? "cmd.exe" : true }, "func", "--version");
284
- return mapToFuncToolsVersion(output);
285
- }
286
- catch (error) {
287
- return null;
288
- }
289
- }
290
268
  async hasNPM() {
291
269
  try {
292
- const npmVersion = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { shell: true }, "npm", "--version");
293
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmAlreadyInstalled, {
294
- "npm-version": npmVersion,
295
- });
270
+ await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { shell: true }, "npm", "--version");
296
271
  return true;
297
272
  }
298
273
  catch (error) {
299
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmNotFound);
300
274
  return false;
301
275
  }
302
276
  }
303
- async cleanup() {
277
+ async cleanup(tmpVersionStr) {
304
278
  try {
305
- await fs.emptyDir(FuncToolChecker.getDefaultInstallPath());
306
- await fs.remove(FuncToolChecker.getSentinelPath());
307
- }
308
- catch (err) {
309
- await this._logger.debug(`Failed to clean up path: ${FuncToolChecker.getDefaultInstallPath()}, error: ${err}`);
310
- }
311
- }
312
- async cleanupPortablePs1() {
313
- // delete func.ps1 from portable function
314
- for (const funcFolder of this.getPortableFuncBinFolders()) {
315
- const funcPath = path.join(funcFolder, "func.ps1");
316
- if (await fs.pathExists(funcPath)) {
317
- await this._logger.debug(`deleting func.ps1 from ${funcPath}`);
318
- await fs.remove(funcPath);
319
- }
279
+ await fs.remove(FuncToolChecker.getFuncInstallPath(tmpVersionStr));
320
280
  }
281
+ catch (_a) { }
321
282
  }
322
- async installFunc() {
323
- await this._telemetry.sendEventWithDuration(telemetry_1.DepsCheckerEvent.funcInstallScriptCompleted, async () => {
324
- await progressIndicator_1.runWithProgressIndicator(async () => await this.doInstallPortableFunc(FuncMajorVersion.v4), this._logger);
325
- });
326
- }
327
- async doInstallPortableFunc(version) {
328
- await this._logger.info(message_1.Messages.startInstallFunctionCoreTool().replace("@NameVersion", displayFuncName));
283
+ async installFunc(tmpVersion, expectedFuncVersion) {
329
284
  try {
330
- await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { timeout: timeout, shell: false }, this.getExecCommand("npm"), "install",
285
+ const tmpFolder = FuncToolChecker.getFuncInstallPath(tmpVersion);
286
+ await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { timeout: timeout, shell: false }, this.getExecCommand("npm"), "install",
331
287
  // not use -f, to avoid npm@6 bug: exit code = 0, even if install fail
332
- `${funcPackageName}@${version}`, "--prefix", `${FuncToolChecker.getDefaultInstallPath()}`, "--no-audit");
333
- await fs.ensureFile(FuncToolChecker.getSentinelPath());
334
- if (system_1.isWindows()) {
335
- // delete func.ps1 if exists to workaround the powershell execution policy issue:
336
- // https://github.com/npm/cli/issues/470
337
- const funcPSScript = await this.getFuncPSScriptPath();
338
- if (await fs.pathExists(funcPSScript)) {
339
- await this._logger.debug(`deleting func.ps1 from ${funcPSScript}`);
340
- await fs.remove(funcPSScript);
341
- }
342
- await this.cleanupPortablePs1();
343
- }
288
+ `${funcPackageName}@${expectedFuncVersion}`, "--prefix", `${tmpFolder}`, "--no-audit");
289
+ await fs.ensureFile(FuncToolChecker.getVersioningSentinelPath(tmpVersion));
344
290
  }
345
291
  catch (error) {
346
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcInstallScriptError, telemetry_1.TelemtryMessages.failedToInstallFunc, error);
292
+ await this.cleanup(tmpVersion);
293
+ this.telemetryProperties[telemetry_1.TelemetryProperties.InstallFuncError] = error.message;
294
+ throw new depsError_1.DepsCheckerError(localizeUtils_1.getLocalizedString("error.common.InstallSoftwareError", funcToolName), helpLink_1.v3DefaultHelpLink);
347
295
  }
348
296
  }
349
297
  getExecCommand(command) {
350
298
  return system_1.isWindows() ? `${command}.cmd` : command;
351
299
  }
352
- async getFuncPSScriptPath() {
353
- try {
354
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, {
355
- shell: "cmd.exe",
356
- }, "where", "func");
357
- const funcPath = output.split(/\r?\n/)[0];
358
- const funcFolder = path.dirname(funcPath);
359
- return path.join(funcFolder, "func.ps1");
360
- }
361
- catch (_a) {
362
- // ignore error and regard func.ps1 as not found.
363
- return "";
364
- }
365
- }
366
300
  }
367
301
  exports.FuncToolChecker = FuncToolChecker;
368
302
  function mapToFuncToolsVersion(output) {
369
- var _a, _b, _c, _d, _e;
303
+ var _a, _b, _c, _d, _e, _f;
370
304
  const regex = /(?<major_version>\d+)\.(?<minor_version>\d+)\.(?<patch_version>\d+)/gm;
371
305
  const match = regex.exec(output);
372
306
  if (!match) {
373
- return null;
307
+ throw new depsError_1.DepsCheckerError(message_1.Messages.invalidFuncVersion(output), helpLink_1.v3DefaultHelpLink);
374
308
  }
375
- const majorVersionFunc = (majorVersion) => {
376
- switch (majorVersion) {
377
- case FuncMajorVersion.v1:
378
- return FuncMajorVersion.v1;
379
- case FuncMajorVersion.v2:
380
- return FuncMajorVersion.v2;
381
- case FuncMajorVersion.v3:
382
- return FuncMajorVersion.v3;
383
- case FuncMajorVersion.v4:
384
- return FuncMajorVersion.v4;
385
- default:
386
- return null;
387
- }
388
- };
389
- const majorVersion = majorVersionFunc((_a = match.groups) === null || _a === void 0 ? void 0 : _a.major_version);
390
- const minorVersion = Number.parseInt((_c = (_b = match.groups) === null || _b === void 0 ? void 0 : _b.minor_version) !== null && _c !== void 0 ? _c : "");
391
- const patchVersion = Number.parseInt((_e = (_d = match.groups) === null || _d === void 0 ? void 0 : _d.patch_version) !== null && _e !== void 0 ? _e : "");
392
- if (majorVersion == null || !Number.isInteger(minorVersion) || !Number.isInteger(patchVersion)) {
393
- return null;
309
+ const majorVersion = Number.parseInt((_b = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.major_version) !== null && _b !== void 0 ? _b : "");
310
+ const minorVersion = Number.parseInt((_d = (_c = match.groups) === null || _c === void 0 ? void 0 : _c.minor_version) !== null && _d !== void 0 ? _d : "");
311
+ const patchVersion = Number.parseInt((_f = (_e = match.groups) === null || _e === void 0 ? void 0 : _e.patch_version) !== null && _f !== void 0 ? _f : "");
312
+ if (!Number.isInteger(majorVersion) ||
313
+ !Number.isInteger(minorVersion) ||
314
+ !Number.isInteger(patchVersion)) {
315
+ throw new depsError_1.DepsCheckerError(message_1.Messages.invalidFuncVersion(output), helpLink_1.v3DefaultHelpLink);
394
316
  }
395
317
  return {
396
318
  majorVersion: majorVersion,
397
319
  minorVersion: minorVersion,
398
320
  patchVersion: patchVersion,
321
+ versionStr: `${majorVersion}.${minorVersion}.${patchVersion}`,
399
322
  };
400
323
  }
401
324
  exports.mapToFuncToolsVersion = mapToFuncToolsVersion;
402
- function isFuncVersionSupport(funcVersion, nodeVersion) {
403
- if (Number.parseInt(nodeVersion) >= 18) {
404
- return (funcVersion !== null &&
405
- funcVersion.majorVersion == MinNode18FuncVersion.majorVersion &&
406
- (funcVersion.minorVersion > MinNode18FuncVersion.minorVersion ||
407
- (funcVersion.minorVersion === MinNode18FuncVersion.minorVersion &&
408
- funcVersion.patchVersion >= MinNode18FuncVersion.patchVersion)));
409
- }
410
- else {
411
- return funcVersion !== null && supportedVersions.includes(funcVersion.majorVersion);
412
- }
325
+ function isFuncVersionSupport(actualFuncVersion, expectedFuncVersion) {
326
+ return semver_1.default.satisfies(actualFuncVersion.versionStr, expectedFuncVersion);
413
327
  }
414
328
  exports.isFuncVersionSupport = isFuncVersionSupport;
415
329
  //# sourceMappingURL=funcToolChecker.js.map