@microsoft/teamsfx-core 2.0.0-alpha.14ea2b310.0 → 2.0.0-alpha.2a6e2f57a.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 (282) hide show
  1. package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
  2. package/build/common/deps-checker/constant/helpLink.js +1 -0
  3. package/build/common/deps-checker/constant/helpLink.js.map +1 -1
  4. package/build/common/deps-checker/constant/message.d.ts +2 -3
  5. package/build/common/deps-checker/constant/message.d.ts.map +1 -1
  6. package/build/common/deps-checker/constant/message.js +2 -4
  7. package/build/common/deps-checker/constant/message.js.map +1 -1
  8. package/build/common/deps-checker/depsChecker.d.ts +3 -1
  9. package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
  10. package/build/common/deps-checker/internal/funcToolChecker.d.ts +20 -39
  11. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  12. package/build/common/deps-checker/internal/funcToolChecker.js +159 -290
  13. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  14. package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
  15. package/build/common/deps-checker/internal/nodeChecker.js +3 -5
  16. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  17. package/build/common/deps-checker/internal/vxTestAppChecker.d.ts +0 -1
  18. package/build/common/deps-checker/internal/vxTestAppChecker.d.ts.map +1 -1
  19. package/build/common/deps-checker/internal/vxTestAppChecker.js +3 -21
  20. package/build/common/deps-checker/internal/vxTestAppChecker.js.map +1 -1
  21. package/build/common/deps-checker/util/fileHelper.d.ts +4 -0
  22. package/build/common/deps-checker/util/fileHelper.d.ts.map +1 -0
  23. package/build/common/deps-checker/util/fileHelper.js +45 -0
  24. package/build/common/deps-checker/util/fileHelper.js.map +1 -0
  25. package/build/common/local/constants.d.ts +7 -0
  26. package/build/common/local/constants.d.ts.map +1 -1
  27. package/build/common/local/constants.js +7 -0
  28. package/build/common/local/constants.js.map +1 -1
  29. package/build/common/local/localEnvManager.d.ts.map +1 -1
  30. package/build/common/local/localEnvManager.js +2 -3
  31. package/build/common/local/localEnvManager.js.map +1 -1
  32. package/build/common/m365/errors.d.ts +1 -1
  33. package/build/common/m365/errors.d.ts.map +1 -1
  34. package/build/common/m365/errors.js +7 -7
  35. package/build/common/m365/errors.js.map +1 -1
  36. package/build/common/m365/launchHelper.js +2 -2
  37. package/build/common/m365/launchHelper.js.map +1 -1
  38. package/build/common/telemetry.d.ts +1 -0
  39. package/build/common/telemetry.d.ts.map +1 -1
  40. package/build/common/telemetry.js +1 -0
  41. package/build/common/telemetry.js.map +1 -1
  42. package/build/common/tools.d.ts +1 -0
  43. package/build/common/tools.d.ts.map +1 -1
  44. package/build/common/tools.js +6 -2
  45. package/build/common/tools.js.map +1 -1
  46. package/build/common/versionMetadata.d.ts +4 -0
  47. package/build/common/versionMetadata.d.ts.map +1 -1
  48. package/build/common/versionMetadata.js +10 -0
  49. package/build/common/versionMetadata.js.map +1 -1
  50. package/build/component/coordinator/index.d.ts.map +1 -1
  51. package/build/component/coordinator/index.js +8 -12
  52. package/build/component/coordinator/index.js.map +1 -1
  53. package/build/component/debugHandler/appManifest.js +2 -1
  54. package/build/component/debugHandler/appManifest.js.map +1 -1
  55. package/build/component/debugHandler/error.d.ts +0 -1
  56. package/build/component/debugHandler/error.d.ts.map +1 -1
  57. package/build/component/debugHandler/error.js +1 -5
  58. package/build/component/debugHandler/error.js.map +1 -1
  59. package/build/component/driver/aad/create.d.ts.map +1 -1
  60. package/build/component/driver/aad/create.js +3 -4
  61. package/build/component/driver/aad/create.js.map +1 -1
  62. package/build/component/driver/aad/update.d.ts.map +1 -1
  63. package/build/component/driver/aad/update.js +21 -8
  64. package/build/component/driver/aad/update.js.map +1 -1
  65. package/build/component/driver/aad/utility/buildAadManifest.js +1 -1
  66. package/build/component/driver/aad/utility/buildAadManifest.js.map +1 -1
  67. package/build/component/driver/add/utility/constants.d.ts +1 -1
  68. package/build/component/driver/add/utility/constants.d.ts.map +1 -1
  69. package/build/component/driver/add/utility/constants.js +1 -1
  70. package/build/component/driver/add/utility/constants.js.map +1 -1
  71. package/build/component/driver/botAadApp/create.d.ts.map +1 -1
  72. package/build/component/driver/botAadApp/create.js +5 -6
  73. package/build/component/driver/botAadApp/create.js.map +1 -1
  74. package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
  75. package/build/component/driver/botFramework/createOrUpdateBot.js +1 -2
  76. package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
  77. package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
  78. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +3 -2
  79. package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
  80. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
  81. package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
  82. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +2 -2
  83. package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
  84. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  85. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  86. package/build/component/driver/devTool/constant.d.ts.map +1 -0
  87. package/build/component/driver/devTool/constant.js.map +1 -0
  88. package/build/component/driver/devTool/error/dotnetInstallationUserError.d.ts.map +1 -0
  89. package/build/component/driver/devTool/error/dotnetInstallationUserError.js.map +1 -0
  90. package/build/component/driver/devTool/error/funcInstallationUserError.d.ts.map +1 -0
  91. package/build/component/driver/devTool/error/funcInstallationUserError.js.map +1 -0
  92. package/build/component/driver/{prerequisite → devTool}/installDriver.d.ts +1 -1
  93. package/build/component/driver/devTool/installDriver.d.ts.map +1 -0
  94. package/build/component/driver/{prerequisite → devTool}/installDriver.js +27 -9
  95. package/build/component/driver/devTool/installDriver.js.map +1 -0
  96. package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.d.ts +5 -1
  97. package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts.map +1 -0
  98. package/build/component/driver/devTool/interfaces/InstallToolArgs.js.map +1 -0
  99. package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
  100. package/build/component/driver/file/createOrUpdateEnvironmentFile.js +1 -2
  101. package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
  102. package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
  103. package/build/component/driver/file/createOrUpdateJsonFile.js +1 -2
  104. package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
  105. package/build/component/driver/index.d.ts +1 -1
  106. package/build/component/driver/index.d.ts.map +1 -1
  107. package/build/component/driver/index.js +1 -1
  108. package/build/component/driver/index.js.map +1 -1
  109. package/build/component/driver/m365/acquire.d.ts.map +1 -1
  110. package/build/component/driver/m365/acquire.js +5 -6
  111. package/build/component/driver/m365/acquire.js.map +1 -1
  112. package/build/component/driver/middleware/addStartAndEndTelemetry.d.ts.map +1 -1
  113. package/build/component/driver/middleware/addStartAndEndTelemetry.js +3 -1
  114. package/build/component/driver/middleware/addStartAndEndTelemetry.js.map +1 -1
  115. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  116. package/build/component/driver/teamsApp/validate.js +2 -4
  117. package/build/component/driver/teamsApp/validate.js.map +1 -1
  118. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  119. package/build/component/driver/teamsApp/validateAppPackage.js +76 -26
  120. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  121. package/build/component/driver/util/wrapUtil.js +1 -1
  122. package/build/component/driver/util/wrapUtil.js.map +1 -1
  123. package/build/component/generator/constant.d.ts +2 -0
  124. package/build/component/generator/constant.d.ts.map +1 -1
  125. package/build/component/generator/constant.js +3 -1
  126. package/build/component/generator/constant.js.map +1 -1
  127. package/build/component/generator/error.d.ts +9 -0
  128. package/build/component/generator/error.d.ts.map +1 -1
  129. package/build/component/generator/error.js +19 -1
  130. package/build/component/generator/error.js.map +1 -1
  131. package/build/component/generator/generator.d.ts.map +1 -1
  132. package/build/component/generator/generator.js +23 -6
  133. package/build/component/generator/generator.js.map +1 -1
  134. package/build/component/generator/generatorAction.d.ts +5 -2
  135. package/build/component/generator/generatorAction.d.ts.map +1 -1
  136. package/build/component/generator/generatorAction.js +20 -10
  137. package/build/component/generator/generatorAction.js.map +1 -1
  138. package/build/component/generator/utils.d.ts +2 -0
  139. package/build/component/generator/utils.d.ts.map +1 -1
  140. package/build/component/generator/utils.js +64 -2
  141. package/build/component/generator/utils.js.map +1 -1
  142. package/build/component/messages.d.ts +3 -2
  143. package/build/component/messages.d.ts.map +1 -1
  144. package/build/component/messages.js +3 -2
  145. package/build/component/messages.js.map +1 -1
  146. package/build/component/resource/appManifest/appManifest.d.ts.map +1 -1
  147. package/build/component/resource/appManifest/appManifest.js +3 -4
  148. package/build/component/resource/appManifest/appManifest.js.map +1 -1
  149. package/build/component/resource/appManifest/appStudio.d.ts.map +1 -1
  150. package/build/component/resource/appManifest/appStudio.js +7 -11
  151. package/build/component/resource/appManifest/appStudio.js.map +1 -1
  152. package/build/component/resource/appManifest/constants.d.ts +1 -0
  153. package/build/component/resource/appManifest/constants.d.ts.map +1 -1
  154. package/build/component/resource/appManifest/constants.js +1 -0
  155. package/build/component/resource/appManifest/constants.js.map +1 -1
  156. package/build/component/resource/appManifest/errors.d.ts +0 -4
  157. package/build/component/resource/appManifest/errors.d.ts.map +1 -1
  158. package/build/component/resource/appManifest/errors.js +0 -7
  159. package/build/component/resource/appManifest/errors.js.map +1 -1
  160. package/build/component/resource/appManifest/utils/ManifestUtils.js +4 -4
  161. package/build/component/resource/appManifest/utils/ManifestUtils.js.map +1 -1
  162. package/build/component/resource/appManifest/utils/telemetry.d.ts +2 -0
  163. package/build/component/resource/appManifest/utils/telemetry.d.ts.map +1 -1
  164. package/build/component/resource/appManifest/utils/telemetry.js +2 -0
  165. package/build/component/resource/appManifest/utils/telemetry.js.map +1 -1
  166. package/build/component/resource/spfx/utils/question-helper.js +1 -1
  167. package/build/component/resource/spfx/utils/question-helper.js.map +1 -1
  168. package/build/component/utils/ResourceGroupHelper.d.ts +1 -6
  169. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  170. package/build/component/utils/ResourceGroupHelper.js +65 -131
  171. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  172. package/build/component/utils/envUtil.d.ts.map +1 -1
  173. package/build/component/utils/envUtil.js +5 -8
  174. package/build/component/utils/envUtil.js.map +1 -1
  175. package/build/core/FxCore.d.ts +68 -7
  176. package/build/core/FxCore.d.ts.map +1 -1
  177. package/build/core/FxCore.js +70 -29
  178. package/build/core/FxCore.js.map +1 -1
  179. package/build/core/FxCoreImplementV3.d.ts +1 -1
  180. package/build/core/FxCoreImplementV3.d.ts.map +1 -1
  181. package/build/core/FxCoreImplementV3.js +23 -17
  182. package/build/core/FxCoreImplementV3.js.map +1 -1
  183. package/build/core/error.d.ts +1 -13
  184. package/build/core/error.d.ts.map +1 -1
  185. package/build/core/error.js +1 -57
  186. package/build/core/error.js.map +1 -1
  187. package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
  188. package/build/core/middleware/concurrentLocker.js +3 -10
  189. package/build/core/middleware/concurrentLocker.js.map +1 -1
  190. package/build/core/middleware/projectMigratorV3.d.ts +2 -0
  191. package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
  192. package/build/core/middleware/projectMigratorV3.js +48 -12
  193. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  194. package/build/core/middleware/questionModel.d.ts +0 -1
  195. package/build/core/middleware/questionModel.d.ts.map +1 -1
  196. package/build/core/middleware/questionModel.js +10 -17
  197. package/build/core/middleware/questionModel.js.map +1 -1
  198. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts +1 -1
  199. package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts.map +1 -1
  200. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts +2 -0
  201. package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts.map +1 -1
  202. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +7 -5
  203. package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +1 -1
  204. package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
  205. package/build/core/middleware/utils/debug/taskMigrator.js +97 -36
  206. package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
  207. package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
  208. package/build/core/middleware/utils/v3MigrationUtils.js +3 -15
  209. package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
  210. package/build/core/question.d.ts +1 -1
  211. package/build/core/question.d.ts.map +1 -1
  212. package/build/core/question.js +2 -2
  213. package/build/core/question.js.map +1 -1
  214. package/build/error/azure.d.ts +30 -0
  215. package/build/error/azure.d.ts.map +1 -1
  216. package/build/error/azure.js +81 -1
  217. package/build/error/azure.js.map +1 -1
  218. package/build/error/common.d.ts +11 -2
  219. package/build/error/common.d.ts.map +1 -1
  220. package/build/error/common.js +46 -11
  221. package/build/error/common.js.map +1 -1
  222. package/package.json +5 -5
  223. package/resource/package.nls.json +46 -43
  224. package/resource/yaml.schema.json +33 -12
  225. package/templates/core/v3Migration/csharp.app.local.yml +10 -18
  226. package/templates/core/v3Migration/csharp.app.yml +4 -2
  227. package/templates/core/v3Migration/js.ts.app.local.yml +23 -19
  228. package/templates/core/v3Migration/js.ts.app.yml +14 -6
  229. package/templates/core/v3Migration/upgradeReport.md +2 -2
  230. package/templates/fallback/common.zip +0 -0
  231. package/templates/fallback/csharp.zip +0 -0
  232. package/templates/fallback/js.zip +0 -0
  233. package/templates/fallback/ts.zip +0 -0
  234. package/build/component/driver/aad/error/invalidParameterUserError.d.ts +0 -5
  235. package/build/component/driver/aad/error/invalidParameterUserError.d.ts.map +0 -1
  236. package/build/component/driver/aad/error/invalidParameterUserError.js +0 -29
  237. package/build/component/driver/aad/error/invalidParameterUserError.js.map +0 -1
  238. package/build/component/driver/aad/error/unhandledError.d.ts +0 -8
  239. package/build/component/driver/aad/error/unhandledError.d.ts.map +0 -1
  240. package/build/component/driver/aad/error/unhandledError.js +0 -33
  241. package/build/component/driver/aad/error/unhandledError.js.map +0 -1
  242. package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts +0 -5
  243. package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts.map +0 -1
  244. package/build/component/driver/botAadApp/error/invalidParameterUserError.js +0 -30
  245. package/build/component/driver/botAadApp/error/invalidParameterUserError.js.map +0 -1
  246. package/build/component/driver/botAadApp/error/unhandledError.d.ts +0 -8
  247. package/build/component/driver/botAadApp/error/unhandledError.d.ts.map +0 -1
  248. package/build/component/driver/botAadApp/error/unhandledError.js +0 -33
  249. package/build/component/driver/botAadApp/error/unhandledError.js.map +0 -1
  250. package/build/component/driver/botFramework/error/unhandledError.d.ts +0 -5
  251. package/build/component/driver/botFramework/error/unhandledError.d.ts.map +0 -1
  252. package/build/component/driver/botFramework/error/unhandledError.js +0 -25
  253. package/build/component/driver/botFramework/error/unhandledError.js.map +0 -1
  254. package/build/component/driver/file/error/unhandledError.d.ts +0 -5
  255. package/build/component/driver/file/error/unhandledError.d.ts.map +0 -1
  256. package/build/component/driver/file/error/unhandledError.js +0 -25
  257. package/build/component/driver/file/error/unhandledError.js.map +0 -1
  258. package/build/component/driver/m365/error/FileNotFoundUserError.d.ts +0 -5
  259. package/build/component/driver/m365/error/FileNotFoundUserError.d.ts.map +0 -1
  260. package/build/component/driver/m365/error/FileNotFoundUserError.js +0 -22
  261. package/build/component/driver/m365/error/FileNotFoundUserError.js.map +0 -1
  262. package/build/component/driver/m365/error/unhandledError.d.ts +0 -5
  263. package/build/component/driver/m365/error/unhandledError.d.ts.map +0 -1
  264. package/build/component/driver/m365/error/unhandledError.js +0 -25
  265. package/build/component/driver/m365/error/unhandledError.js.map +0 -1
  266. package/build/component/driver/prerequisite/constant.d.ts.map +0 -1
  267. package/build/component/driver/prerequisite/constant.js.map +0 -1
  268. package/build/component/driver/prerequisite/error/dotnetInstallationUserError.d.ts.map +0 -1
  269. package/build/component/driver/prerequisite/error/dotnetInstallationUserError.js.map +0 -1
  270. package/build/component/driver/prerequisite/error/funcInstallationUserError.d.ts.map +0 -1
  271. package/build/component/driver/prerequisite/error/funcInstallationUserError.js.map +0 -1
  272. package/build/component/driver/prerequisite/installDriver.d.ts.map +0 -1
  273. package/build/component/driver/prerequisite/installDriver.js.map +0 -1
  274. package/build/component/driver/prerequisite/interfaces/InstallToolArgs.d.ts.map +0 -1
  275. package/build/component/driver/prerequisite/interfaces/InstallToolArgs.js.map +0 -1
  276. /package/build/component/driver/{prerequisite → devTool}/constant.d.ts +0 -0
  277. /package/build/component/driver/{prerequisite → devTool}/constant.js +0 -0
  278. /package/build/component/driver/{prerequisite → devTool}/error/dotnetInstallationUserError.d.ts +0 -0
  279. /package/build/component/driver/{prerequisite → devTool}/error/dotnetInstallationUserError.js +0 -0
  280. /package/build/component/driver/{prerequisite → devTool}/error/funcInstallationUserError.d.ts +0 -0
  281. /package/build/component/driver/{prerequisite → devTool}/error/funcInstallationUserError.js +0 -0
  282. /package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.js +0 -0
@@ -2,415 +2,284 @@
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
- const localizeUtils_1 = require("../../localizeUtils");
21
- var FuncMajorVersion;
22
- (function (FuncMajorVersion) {
23
- FuncMajorVersion["v1"] = "1";
24
- FuncMajorVersion["v2"] = "2";
25
- FuncMajorVersion["v3"] = "3";
26
- FuncMajorVersion["v4"] = "4";
27
- })(FuncMajorVersion = exports.FuncMajorVersion || (exports.FuncMajorVersion = {}));
28
- const FuncNodeVersionWhiteList = {
29
- // func-core-tools version
30
- "3": {
31
- "10": true,
32
- "12": true,
33
- "14": true,
34
- },
35
- "4": {
36
- "14": true,
37
- "16": true,
38
- "18": true,
39
- },
40
- };
41
- const RecommendedNodeVersion = "16";
42
- const MinNode18FuncVersion = {
43
- majorVersion: FuncMajorVersion.v4,
44
- minorVersion: 0,
45
- patchVersion: 4670,
46
- };
47
25
  const funcPackageName = "azure-functions-core-tools";
48
26
  const funcToolName = "Azure Functions Core Tools";
49
- const installVersion = FuncMajorVersion.v4;
50
- const supportedVersions = [FuncMajorVersion.v4];
51
- const displayFuncName = `${funcToolName} (v${FuncMajorVersion.v4})`;
52
27
  const timeout = 5 * 60 * 1000;
53
28
  class FuncToolChecker {
54
29
  constructor(logger, telemetry) {
55
- this._logger = logger;
56
- this._telemetry = telemetry;
30
+ // TODO: add log and telemetry
31
+ this.log = "";
57
32
  }
58
- async getDepsInfo(isPortableFuncInstalled, isGlobalFuncInstalled, error) {
33
+ async getDepsInfo(funcVersion, binFolder, error) {
34
+ var _a;
59
35
  return Promise.resolve({
60
36
  name: funcToolName,
61
37
  type: depsChecker_1.DepsType.FuncCoreTools,
62
- isInstalled: isPortableFuncInstalled || isGlobalFuncInstalled,
63
- command: await this.command(isPortableFuncInstalled, isGlobalFuncInstalled),
38
+ isInstalled: !!funcVersion,
39
+ command: "func",
64
40
  details: {
65
41
  isLinuxSupported: false,
66
- installVersion: installVersion,
67
- supportedVersions: supportedVersions,
68
- binFolders: isPortableFuncInstalled ? this.getPortableFuncBinFolders() : undefined,
42
+ installVersion: (_a = funcVersion === null || funcVersion === void 0 ? void 0 : funcVersion.versionStr) !== null && _a !== void 0 ? _a : undefined,
43
+ supportedVersions: [],
44
+ binFolders: binFolder ? [binFolder] : undefined,
69
45
  },
70
46
  error: error,
71
47
  });
72
48
  }
73
- async resolve() {
49
+ async resolve(installOptions) {
74
50
  let installationInfo;
75
51
  try {
76
52
  const nodeVersion = await this.getNodeVersion();
77
- installationInfo = await this.getInstallationInfo({ nodeVersion: nodeVersion });
53
+ installationInfo = await this.getInstallationInfo(installOptions);
78
54
  if (!installationInfo.isInstalled) {
79
- await this.install(nodeVersion);
80
- installationInfo = await this.getInstallationInfo({ nodeVersion: nodeVersion });
81
- }
82
- if (!installationInfo.error && installationInfo.portableFunc.isInstalled) {
83
- const portableFuncNodeError = await this.checkPortableFuncAndNode(installationInfo.portableFunc, nodeVersion);
84
- if (portableFuncNodeError) {
85
- installationInfo.isInstalled = false;
86
- installationInfo.error = portableFuncNodeError;
87
- }
55
+ await this.install(installOptions.version);
56
+ // TODO: remove duplicate func check
57
+ installationInfo = await this.getInstallationInfo(installOptions);
88
58
  }
89
- if (!installationInfo.error) {
90
- const globalFuncNodeError = await this.checkGlobalFuncAndNode(installationInfo.globalFunc, nodeVersion);
91
- if (globalFuncNodeError) {
92
- installationInfo.error = globalFuncNodeError;
93
- if (!installationInfo.portableFunc.isInstalled &&
94
- installationInfo.globalFunc.isInstalled) {
95
- installationInfo.isInstalled = false;
96
- }
59
+ if (!installationInfo.error && installationInfo.isInstalled) {
60
+ const expectedFuncNodeError = await this.checkExpectedFuncAndNode(installOptions.version, nodeVersion);
61
+ if (expectedFuncNodeError) {
62
+ installationInfo.error = expectedFuncNodeError;
97
63
  }
98
64
  }
65
+ return installationInfo;
99
66
  }
100
67
  catch (error) {
101
- await this._logger.printDetailLog();
102
- await this._logger.error(`${error.message}, error = '${error}'`);
103
68
  if (error instanceof depsError_1.DepsCheckerError) {
104
- return await this.getDepsInfo(false, false, error);
69
+ return await this.getDepsInfo(null, undefined, error);
105
70
  }
106
- return await this.getDepsInfo(false, false, new depsError_1.DepsCheckerError(error.message, helpLink_1.defaultHelpLink));
107
- }
108
- finally {
109
- this._logger.cleanup();
71
+ return await this.getDepsInfo(null, undefined, new depsError_1.DepsCheckerError(error.message, helpLink_1.defaultHelpLink));
110
72
  }
111
- return installationInfo;
112
73
  }
113
74
  async getInstallationInfo(installOptions) {
114
- var _a, _b;
115
- const nodeVersion = (_a = installOptions === null || installOptions === void 0 ? void 0 : installOptions.nodeVersion) !== null && _a !== void 0 ? _a : (await this.getNodeVersion());
116
- const globalFunc = await this.checkGlobalFuncVersion(nodeVersion);
117
- const isGlobalFuncInstalled = globalFunc.isInstalled;
118
- const portableFunc = await this.checkPortableFuncVersion(nodeVersion);
119
- const isPortableFuncInstalled = portableFunc.isInstalled;
120
- if (isGlobalFuncInstalled) {
121
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcAlreadyInstalled, {
122
- "global-func-version": (_b = globalFunc.funcVersion) !== null && _b !== void 0 ? _b : "",
123
- });
124
- if (!isPortableFuncInstalled) {
125
- await this.cleanup();
75
+ const symlinkDir = installOptions.symlinkDir
76
+ ? path.join(installOptions.projectPath, installOptions.symlinkDir)
77
+ : undefined;
78
+ if (symlinkDir) {
79
+ const symlinkFunc = await this.checkFuncVersion(installOptions.version, symlinkDir, undefined);
80
+ if (symlinkFunc) {
81
+ return await this.getDepsInfo(symlinkFunc, symlinkDir);
82
+ }
83
+ else {
84
+ await fileHelper_1.unlinkSymlink(symlinkDir);
126
85
  }
127
86
  }
128
- if (isPortableFuncInstalled) {
129
- // avoid missing this event after first installation 60 days
130
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcInstallCompleted);
87
+ const portableFunc = await this.checkPortableFuncVersion(installOptions.version);
88
+ if (portableFunc) {
89
+ if (symlinkDir) {
90
+ await fileHelper_1.createSymlink(portableFunc.binFolder, symlinkDir);
91
+ return await this.getDepsInfo(portableFunc.funcVersion, symlinkDir);
92
+ }
93
+ return await this.getDepsInfo(portableFunc.funcVersion, portableFunc.binFolder);
131
94
  }
132
- const depsInfo = await this.getDepsInfo(isPortableFuncInstalled, isGlobalFuncInstalled);
133
- return Object.assign(depsInfo, { globalFunc: globalFunc, portableFunc: portableFunc });
95
+ const globalFunc = await this.checkFuncVersion(installOptions.version, undefined, undefined);
96
+ return await this.getDepsInfo(globalFunc, undefined);
134
97
  }
135
98
  async getNodeVersion() {
136
99
  var _a;
137
100
  const nodeVersion = (_a = (await nodeChecker_1.NodeChecker.getInstalledNodeVersion())) === null || _a === void 0 ? void 0 : _a.majorVersion;
138
101
  if (!nodeVersion) {
139
- throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound()
140
- .split("@NodeVersion")
141
- .join(supportedVersions[supportedVersions.length - 1]), helpLink_1.nodeNotFoundHelpLink);
102
+ throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound(), helpLink_1.v3NodeNotFoundHelpLink);
142
103
  }
143
104
  return nodeVersion;
144
105
  }
145
- async checkPortableFuncAndNode(portableFunc, nodeVersion) {
146
- var _a;
147
- if (portableFunc.funcVersion) {
148
- if (!((_a = FuncNodeVersionWhiteList[portableFunc.funcVersion.toString()]) === null || _a === void 0 ? void 0 : _a[nodeVersion])) {
149
- return new depsError_1.PortableFuncNodeNotMatchedError(message_1.Messages.portableFuncNodeNotMatched()
150
- .split("@FuncVersion")
151
- .join(`v${portableFunc.funcVersion}`)
152
- .split("@NodeVersion")
153
- .join(`v${nodeVersion}`)
154
- .split("@Link")
155
- .join(helpLink_1.nodeInstallationLink)
156
- .split("@RecommendedVersion")
157
- .join(`v${RecommendedNodeVersion}`), helpLink_1.functionDepsVersionsLink);
158
- }
159
- }
160
- return undefined;
161
- }
162
- async checkGlobalFuncAndNode(globalFunc, nodeVersion) {
163
- var _a;
164
- if (globalFunc.funcVersion) {
165
- if (!((_a = FuncNodeVersionWhiteList[globalFunc.funcVersion.toString()]) === null || _a === void 0 ? void 0 : _a[nodeVersion])) {
166
- return new depsError_1.GlobalFuncNodeNotMatchedError(message_1.Messages.globalFuncNodeNotMatched()
167
- .split("@FuncVersion")
168
- .join(`v${globalFunc.funcVersion.toString()}`)
169
- .split("@NodeVersion")
170
- .join(`v${nodeVersion}`)
171
- .split("@link")
172
- .join(helpLink_1.functionDepsVersionsLink), helpLink_1.functionDepsVersionsLink);
173
- }
174
- }
106
+ async checkExpectedFuncAndNode(expectedVersion, nodeVersion) {
107
+ // TODO validate expected func version and actual node version
175
108
  return undefined;
176
109
  }
177
- async checkPortableFuncVersion(nodeVersion) {
178
- let isVersionSupported = false, hasSentinel = false;
179
- let portableFuncVersion = null;
110
+ async checkPortableFuncVersion(expectedFuncVersion) {
180
111
  try {
181
- portableFuncVersion = await this.queryFuncVersion(FuncToolChecker.getPortableFuncExecPath());
182
- isVersionSupported = isFuncVersionSupport(portableFuncVersion, nodeVersion);
183
- // to avoid "func -v" and "func new" work well, but "func start" fail.
184
- hasSentinel = await fs.pathExists(FuncToolChecker.getSentinelPath());
185
- if (system_1.isWindows() && isVersionSupported && hasSentinel) {
186
- await this.cleanupPortablePs1();
112
+ const historyFuncBinFolder = FuncToolChecker.getPortableFuncBinFolder(undefined);
113
+ const historyFunc = await this.checkFuncVersion(expectedFuncVersion, historyFuncBinFolder, FuncToolChecker.getHistorySentinelPath());
114
+ const versioningFuncStatus = await this.getVersioningPortableFunc(expectedFuncVersion);
115
+ if (versioningFuncStatus &&
116
+ (!historyFunc ||
117
+ semver_1.default.gte(versioningFuncStatus.funcVersion.versionStr, historyFunc.versionStr))) {
118
+ return versioningFuncStatus;
119
+ }
120
+ else if (historyFunc) {
121
+ return { funcVersion: historyFunc, binFolder: historyFuncBinFolder };
187
122
  }
188
123
  }
189
124
  catch (error) {
190
125
  // do nothing
191
- return {
192
- isInstalled: false,
193
- funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
194
- };
126
+ this.appendLog(error);
195
127
  }
196
- return {
197
- isInstalled: isVersionSupported && hasSentinel,
198
- funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
199
- };
200
- }
201
- async checkGlobalFuncVersion(nodeVersion) {
202
- const globalFuncVersion = await this.queryGlobalFuncVersion();
203
- return {
204
- isInstalled: isFuncVersionSupport(globalFuncVersion, nodeVersion),
205
- funcVersion: globalFuncVersion !== null ? globalFuncVersion.majorVersion : null,
206
- };
128
+ return null;
207
129
  }
208
- async install(nodeVersion) {
209
- if (system_1.isLinux()) {
210
- throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(displayFuncName), helpLink_1.defaultHelpLink);
211
- }
212
- if (!(await this.hasNPM())) {
213
- this.handleNpmNotFound();
130
+ async checkFuncVersion(expectedFuncVersion, binFolder, sentinelPath) {
131
+ try {
132
+ const funcVersion = await this.queryFuncVersion(binFolder);
133
+ // For portable func, avoid "func -v" and "func new" work well, but "func start" fail.
134
+ const hasSentinel = sentinelPath ? await fs.pathExists(sentinelPath) : true;
135
+ return !!funcVersion && hasSentinel && isFuncVersionSupport(funcVersion, expectedFuncVersion)
136
+ ? funcVersion
137
+ : null;
214
138
  }
215
- await this.cleanup();
216
- await this.installFunc();
217
- if (!(await this.validate(nodeVersion))) {
218
- await this.handleInstallFuncFailed();
139
+ catch (error) {
140
+ this.appendLog(error);
141
+ return null;
219
142
  }
220
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcInstallCompleted);
221
- await this._logger.info(message_1.Messages.finishInstallFunctionCoreTool().replace("@NameVersion", displayFuncName));
222
143
  }
223
- async handleInstallFuncFailed() {
224
- await this.cleanup();
225
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcInstallError, telemetry_1.TelemtryMessages.failedToInstallFunc, message_1.Messages.failToValidateFuncCoreTool().replace("@NameVersion", displayFuncName));
226
- throw new depsError_1.DepsCheckerError(localizeUtils_1.getLocalizedString("error.common.InstallSoftwareError", displayFuncName), helpLink_1.defaultHelpLink);
144
+ async getVersioningPortableFunc(expectedFuncVersion) {
145
+ const files = await fs.readdir(FuncToolChecker.getDefaultInstallPath(), {
146
+ withFileTypes: true,
147
+ });
148
+ const funcDictionaries = files
149
+ .filter((f) => f.isDirectory() && semver_1.default.valid(f.name))
150
+ .map((f) => f.name);
151
+ while (funcDictionaries.length > 0) {
152
+ const matchedVersion = semver_1.default.maxSatisfying(funcDictionaries, expectedFuncVersion);
153
+ if (!matchedVersion) {
154
+ return null;
155
+ }
156
+ const binFolder = FuncToolChecker.getPortableFuncBinFolder(matchedVersion);
157
+ const actualFunc = await this.checkFuncVersion(expectedFuncVersion, binFolder, FuncToolChecker.getVersioningSentinelPath(matchedVersion));
158
+ if ((actualFunc === null || actualFunc === void 0 ? void 0 : actualFunc.versionStr) === matchedVersion) {
159
+ return {
160
+ funcVersion: actualFunc,
161
+ binFolder: binFolder,
162
+ };
163
+ }
164
+ const matchedVersionIndex = funcDictionaries.indexOf(matchedVersion);
165
+ if (matchedVersionIndex < 0) {
166
+ return null;
167
+ }
168
+ funcDictionaries.splice(matchedVersionIndex, 1);
169
+ }
170
+ return null;
227
171
  }
228
- async validate(nodeVersion) {
229
- let isVersionSupported = false;
230
- let hasSentinel = false;
231
- try {
232
- const portableFunc = await this.queryFuncVersion(FuncToolChecker.getPortableFuncExecPath());
233
- isVersionSupported = isFuncVersionSupport(portableFunc, nodeVersion);
234
- // to avoid "func -v" and "func new" work well, but "func start" fail.
235
- hasSentinel = await fs.pathExists(FuncToolChecker.getSentinelPath());
172
+ async install(expectedFuncVersion) {
173
+ if (system_1.isLinux()) {
174
+ throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(funcToolName), helpLink_1.defaultHelpLink);
236
175
  }
237
- catch (err) {
238
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcValidationError, telemetry_1.TelemtryMessages.failedToValidateFunc, err);
176
+ if (!(await this.hasNPM())) {
177
+ throw new depsError_1.DepsCheckerError(message_1.Messages.needInstallNpm(), helpLink_1.defaultHelpLink);
239
178
  }
240
- if (!isVersionSupported || !hasSentinel) {
241
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcValidationError, {
242
- "func-v": String(isVersionSupported),
243
- sentinel: String(hasSentinel),
244
- });
179
+ const tmpVersion = uuid.v4();
180
+ await this.installFunc(tmpVersion, expectedFuncVersion);
181
+ const funcVersion = await this.checkFuncVersion(expectedFuncVersion, FuncToolChecker.getPortableFuncBinFolder(tmpVersion), FuncToolChecker.getVersioningSentinelPath(tmpVersion));
182
+ if (!funcVersion) {
183
+ await this.cleanup(tmpVersion);
184
+ throw new depsError_1.DepsCheckerError(message_1.Messages.failToValidateFuncCoreTool(), helpLink_1.defaultHelpLink);
245
185
  }
246
- return isVersionSupported && hasSentinel;
247
- }
248
- handleNpmNotFound() {
249
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmNotFound);
250
- throw new depsError_1.DepsCheckerError(message_1.Messages.needInstallFuncCoreTool().replace("@NameVersion", displayFuncName), helpLink_1.defaultHelpLink);
186
+ await fileHelper_1.rename(FuncToolChecker.getFuncInstallPath(tmpVersion), FuncToolChecker.getFuncInstallPath(funcVersion.versionStr));
251
187
  }
252
188
  static getDefaultInstallPath() {
253
- return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "func");
254
- }
255
- static getSentinelPath() {
256
- return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "func-sentinel");
189
+ return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "azfunc");
257
190
  }
258
- static getPortableFuncExecPath() {
259
- return path.join(FuncToolChecker.getDefaultInstallPath(), "node_modules", "azure-functions-core-tools", "lib", "main.js");
191
+ static getFuncInstallPath(versionStr) {
192
+ return versionStr
193
+ ? path.join(this.getDefaultInstallPath(), versionStr)
194
+ : path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "func");
260
195
  }
261
- async command(isPortableFuncInstalled, isGlobalFuncInstalled) {
262
- if (isPortableFuncInstalled) {
263
- return `node "${FuncToolChecker.getPortableFuncExecPath()}"`;
264
- }
265
- if (isGlobalFuncInstalled) {
266
- return "func";
267
- }
268
- return "npx azure-functions-core-tools@3";
196
+ static getVersioningSentinelPath(versionStr) {
197
+ return path.join(FuncToolChecker.getPortableFuncBinFolder(versionStr), "func-sentinel");
269
198
  }
270
- getPortableFuncBinFolders() {
271
- return [
272
- FuncToolChecker.getDefaultInstallPath(),
273
- path.join(FuncToolChecker.getDefaultInstallPath(), "node_modules", ".bin"),
274
- ];
199
+ static getHistorySentinelPath() {
200
+ return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "func-sentinel");
275
201
  }
276
- async queryFuncVersion(path) {
277
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { shell: true }, "node", `"${path}"`, "--version");
278
- return mapToFuncToolsVersion(output);
202
+ static getPortableFuncBinFolder(versionStr) {
203
+ return path.resolve(FuncToolChecker.getFuncInstallPath(versionStr), "node_modules", "azure-functions-core-tools", "bin");
279
204
  }
280
- async queryGlobalFuncVersion() {
205
+ async queryFuncVersion(funcBinFolder) {
281
206
  try {
282
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger,
207
+ const env = funcBinFolder
208
+ ? { PATH: `${funcBinFolder}${path.delimiter}${process.env.PATH}` }
209
+ : undefined;
210
+ const output = await cpUtils_1.cpUtils.executeCommand(undefined, undefined,
283
211
  // same as backend start, avoid powershell execution policy issue.
284
- { shell: system_1.isWindows() ? "cmd.exe" : true }, "func", "--version");
212
+ { shell: system_1.isWindows() ? "cmd.exe" : true, env }, "func", "--version");
285
213
  return mapToFuncToolsVersion(output);
286
214
  }
287
215
  catch (error) {
216
+ this.appendLog(error);
288
217
  return null;
289
218
  }
290
219
  }
291
220
  async hasNPM() {
292
221
  try {
293
- const npmVersion = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { shell: true }, "npm", "--version");
294
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmAlreadyInstalled, {
295
- "npm-version": npmVersion,
296
- });
222
+ await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { shell: true }, "npm", "--version");
297
223
  return true;
298
224
  }
299
225
  catch (error) {
300
- this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmNotFound);
301
226
  return false;
302
227
  }
303
228
  }
304
- async cleanup() {
229
+ async cleanup(tmpVersionStr) {
305
230
  try {
306
- await fs.emptyDir(FuncToolChecker.getDefaultInstallPath());
307
- await fs.remove(FuncToolChecker.getSentinelPath());
231
+ await fs.remove(FuncToolChecker.getFuncInstallPath(tmpVersionStr));
308
232
  }
309
- catch (err) {
310
- await this._logger.debug(`Failed to clean up path: ${FuncToolChecker.getDefaultInstallPath()}, error: ${err}`);
311
- }
312
- }
313
- async cleanupPortablePs1() {
314
- // delete func.ps1 from portable function
315
- for (const funcFolder of this.getPortableFuncBinFolders()) {
316
- const funcPath = path.join(funcFolder, "func.ps1");
317
- if (await fs.pathExists(funcPath)) {
318
- await this._logger.debug(`deleting func.ps1 from ${funcPath}`);
319
- await fs.remove(funcPath);
320
- }
233
+ catch (error) {
234
+ this.appendLog(error);
321
235
  }
322
236
  }
323
- async installFunc() {
324
- await this._telemetry.sendEventWithDuration(telemetry_1.DepsCheckerEvent.funcInstallScriptCompleted, async () => {
325
- await progressIndicator_1.runWithProgressIndicator(async () => await this.doInstallPortableFunc(FuncMajorVersion.v4), this._logger);
326
- });
327
- }
328
- async doInstallPortableFunc(version) {
329
- await this._logger.info(message_1.Messages.startInstallFunctionCoreTool().replace("@NameVersion", displayFuncName));
237
+ async installFunc(tmpVersion, expectedFuncVersion) {
330
238
  try {
331
- await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, { timeout: timeout, shell: false }, this.getExecCommand("npm"), "install",
239
+ const tmpFolder = FuncToolChecker.getFuncInstallPath(tmpVersion);
240
+ await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { timeout: timeout, shell: false }, this.getExecCommand("npm"), "install",
332
241
  // not use -f, to avoid npm@6 bug: exit code = 0, even if install fail
333
- `${funcPackageName}@${version}`, "--prefix", `${FuncToolChecker.getDefaultInstallPath()}`, "--no-audit");
334
- await fs.ensureFile(FuncToolChecker.getSentinelPath());
335
- if (system_1.isWindows()) {
336
- // delete func.ps1 if exists to workaround the powershell execution policy issue:
337
- // https://github.com/npm/cli/issues/470
338
- const funcPSScript = await this.getFuncPSScriptPath();
339
- if (await fs.pathExists(funcPSScript)) {
340
- await this._logger.debug(`deleting func.ps1 from ${funcPSScript}`);
341
- await fs.remove(funcPSScript);
342
- }
343
- await this.cleanupPortablePs1();
344
- }
242
+ `${funcPackageName}@${expectedFuncVersion}`, "--prefix", `${tmpFolder}`, "--no-audit");
243
+ await fs.ensureFile(FuncToolChecker.getVersioningSentinelPath(tmpVersion));
345
244
  }
346
245
  catch (error) {
347
- this._telemetry.sendSystemErrorEvent(telemetry_1.DepsCheckerEvent.funcInstallScriptError, telemetry_1.TelemtryMessages.failedToInstallFunc, error);
246
+ await this.cleanup(tmpVersion);
247
+ throw new depsError_1.DepsCheckerError(localizeUtils_1.getLocalizedString("error.common.InstallSoftwareError", funcToolName) + " " + error.message, helpLink_1.defaultHelpLink);
348
248
  }
349
249
  }
350
250
  getExecCommand(command) {
351
251
  return system_1.isWindows() ? `${command}.cmd` : command;
352
252
  }
353
- async getFuncPSScriptPath() {
354
- try {
355
- const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger, {
356
- shell: "cmd.exe",
357
- }, "where", "func");
358
- const funcPath = output.split(/\r?\n/)[0];
359
- const funcFolder = path.dirname(funcPath);
360
- return path.join(funcFolder, "func.ps1");
361
- }
362
- catch (_a) {
363
- // ignore error and regard func.ps1 as not found.
364
- return "";
365
- }
253
+ appendLog(error) {
254
+ this.log = this.log + "\n" + (error === null || error === void 0 ? void 0 : error.message);
366
255
  }
367
256
  }
368
257
  exports.FuncToolChecker = FuncToolChecker;
369
258
  function mapToFuncToolsVersion(output) {
370
- var _a, _b, _c, _d, _e;
259
+ var _a, _b, _c, _d, _e, _f;
371
260
  const regex = /(?<major_version>\d+)\.(?<minor_version>\d+)\.(?<patch_version>\d+)/gm;
372
261
  const match = regex.exec(output);
373
262
  if (!match) {
374
263
  return null;
375
264
  }
376
- const majorVersionFunc = (majorVersion) => {
377
- switch (majorVersion) {
378
- case FuncMajorVersion.v1:
379
- return FuncMajorVersion.v1;
380
- case FuncMajorVersion.v2:
381
- return FuncMajorVersion.v2;
382
- case FuncMajorVersion.v3:
383
- return FuncMajorVersion.v3;
384
- case FuncMajorVersion.v4:
385
- return FuncMajorVersion.v4;
386
- default:
387
- return null;
388
- }
389
- };
390
- const majorVersion = majorVersionFunc((_a = match.groups) === null || _a === void 0 ? void 0 : _a.major_version);
391
- const minorVersion = Number.parseInt((_c = (_b = match.groups) === null || _b === void 0 ? void 0 : _b.minor_version) !== null && _c !== void 0 ? _c : "");
392
- const patchVersion = Number.parseInt((_e = (_d = match.groups) === null || _d === void 0 ? void 0 : _d.patch_version) !== null && _e !== void 0 ? _e : "");
393
- if (majorVersion == null || !Number.isInteger(minorVersion) || !Number.isInteger(patchVersion)) {
265
+ const majorVersion = Number.parseInt((_b = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.major_version) !== null && _b !== void 0 ? _b : "");
266
+ const minorVersion = Number.parseInt((_d = (_c = match.groups) === null || _c === void 0 ? void 0 : _c.minor_version) !== null && _d !== void 0 ? _d : "");
267
+ const patchVersion = Number.parseInt((_f = (_e = match.groups) === null || _e === void 0 ? void 0 : _e.patch_version) !== null && _f !== void 0 ? _f : "");
268
+ if (!Number.isInteger(majorVersion) ||
269
+ !Number.isInteger(minorVersion) ||
270
+ !Number.isInteger(patchVersion)) {
394
271
  return null;
395
272
  }
396
273
  return {
397
274
  majorVersion: majorVersion,
398
275
  minorVersion: minorVersion,
399
276
  patchVersion: patchVersion,
277
+ versionStr: `${majorVersion}.${minorVersion}.${patchVersion}`,
400
278
  };
401
279
  }
402
280
  exports.mapToFuncToolsVersion = mapToFuncToolsVersion;
403
- function isFuncVersionSupport(funcVersion, nodeVersion) {
404
- if (Number.parseInt(nodeVersion) >= 18) {
405
- return (funcVersion !== null &&
406
- funcVersion.majorVersion == MinNode18FuncVersion.majorVersion &&
407
- (funcVersion.minorVersion > MinNode18FuncVersion.minorVersion ||
408
- (funcVersion.minorVersion === MinNode18FuncVersion.minorVersion &&
409
- funcVersion.patchVersion >= MinNode18FuncVersion.patchVersion)));
410
- }
411
- else {
412
- return funcVersion !== null && supportedVersions.includes(funcVersion.majorVersion);
413
- }
281
+ function isFuncVersionSupport(actualFuncVersion, expectedFuncVersion) {
282
+ return semver_1.default.satisfies(actualFuncVersion.versionStr, expectedFuncVersion);
414
283
  }
415
284
  exports.isFuncVersionSupport = isFuncVersionSupport;
416
285
  //# sourceMappingURL=funcToolChecker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"funcToolChecker.js","sourceRoot":"","sources":["../../../../src/common/deps-checker/internal/funcToolChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"funcToolChecker.js","sourceRoot":"","sources":["../../../../src/common/deps-checker/internal/funcToolChecker.ts"],"names":[],"mappings":"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"}