@microsoft/teamsfx-core 2.0.0-alpha.df941b6ed.0 → 2.0.0-alpha.e49547890.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common/armInterface.d.ts +0 -5
- package/build/common/armInterface.d.ts.map +1 -1
- package/build/common/deps-checker/constant/helpLink.d.ts +6 -6
- package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
- package/build/common/deps-checker/constant/helpLink.js +14 -7
- package/build/common/deps-checker/constant/helpLink.js.map +1 -1
- package/build/common/deps-checker/constant/message.d.ts +6 -5
- package/build/common/deps-checker/constant/message.d.ts.map +1 -1
- package/build/common/deps-checker/constant/message.js +13 -9
- package/build/common/deps-checker/constant/message.js.map +1 -1
- package/build/common/deps-checker/constant/telemetry.d.ts +12 -1
- package/build/common/deps-checker/constant/telemetry.d.ts.map +1 -1
- package/build/common/deps-checker/constant/telemetry.js +11 -0
- package/build/common/deps-checker/constant/telemetry.js.map +1 -1
- package/build/common/deps-checker/depsChecker.d.ts +6 -1
- package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
- package/build/common/deps-checker/depsChecker.js.map +1 -1
- package/build/common/deps-checker/internal/funcToolChecker.d.ts +20 -40
- package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/funcToolChecker.js +208 -295
- package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
- package/build/common/deps-checker/internal/nodeChecker.d.ts +3 -3
- package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/nodeChecker.js +4 -6
- package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
- package/build/common/deps-checker/internal/vxTestAppChecker.d.ts +0 -1
- package/build/common/deps-checker/internal/vxTestAppChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/vxTestAppChecker.js +3 -21
- package/build/common/deps-checker/internal/vxTestAppChecker.js.map +1 -1
- package/build/common/deps-checker/util/fileHelper.d.ts +4 -0
- package/build/common/deps-checker/util/fileHelper.d.ts.map +1 -0
- package/build/common/deps-checker/util/fileHelper.js +45 -0
- package/build/common/deps-checker/util/fileHelper.js.map +1 -0
- package/build/common/local/constants.d.ts +7 -0
- package/build/common/local/constants.d.ts.map +1 -1
- package/build/common/local/constants.js +7 -0
- package/build/common/local/constants.js.map +1 -1
- package/build/common/local/localEnvManager.d.ts.map +1 -1
- package/build/common/local/localEnvManager.js +2 -3
- package/build/common/local/localEnvManager.js.map +1 -1
- package/build/common/m365/errors.d.ts +1 -1
- package/build/common/m365/errors.d.ts.map +1 -1
- package/build/common/m365/errors.js +7 -7
- package/build/common/m365/errors.js.map +1 -1
- package/build/common/m365/launchHelper.js +2 -2
- package/build/common/m365/launchHelper.js.map +1 -1
- package/build/common/samples-config-v3.json +23 -0
- package/build/common/samples.js +1 -1
- package/build/common/samples.js.map +1 -1
- package/build/common/telemetry.d.ts +1 -0
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +1 -0
- package/build/common/telemetry.js.map +1 -1
- package/build/common/tools.d.ts +1 -0
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +6 -2
- package/build/common/tools.js.map +1 -1
- package/build/common/versionMetadata.d.ts +5 -0
- package/build/common/versionMetadata.d.ts.map +1 -1
- package/build/common/versionMetadata.js +11 -0
- package/build/common/versionMetadata.js.map +1 -1
- package/build/component/code/utils.d.ts +3 -0
- package/build/component/code/utils.d.ts.map +1 -1
- package/build/component/code/utils.js +19 -8
- package/build/component/code/utils.js.map +1 -1
- package/build/component/configManager/diagnostic.d.ts +9 -0
- package/build/component/configManager/diagnostic.d.ts.map +1 -0
- package/build/component/configManager/diagnostic.js +47 -0
- package/build/component/configManager/diagnostic.js.map +1 -0
- package/build/component/configManager/parser.d.ts.map +1 -1
- package/build/component/configManager/parser.js +11 -5
- package/build/component/configManager/parser.js.map +1 -1
- package/build/component/constants.d.ts +7 -0
- package/build/component/constants.d.ts.map +1 -1
- package/build/component/constants.js +60 -26
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.d.ts +2 -2
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +57 -72
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/debugHandler/appManifest.js +2 -1
- package/build/component/debugHandler/appManifest.js.map +1 -1
- package/build/component/debugHandler/error.d.ts +0 -1
- package/build/component/debugHandler/error.d.ts.map +1 -1
- package/build/component/debugHandler/error.js +1 -5
- package/build/component/debugHandler/error.js.map +1 -1
- package/build/component/developerPortalScaffoldUtils.d.ts +4 -1
- package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
- package/build/component/developerPortalScaffoldUtils.js +5 -5
- package/build/component/developerPortalScaffoldUtils.js.map +1 -1
- package/build/component/driver/aad/create.d.ts.map +1 -1
- package/build/component/driver/aad/create.js +5 -14
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/aad/update.d.ts.map +1 -1
- package/build/component/driver/aad/update.js +3 -4
- package/build/component/driver/aad/update.js.map +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.js +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.js.map +1 -1
- package/build/component/driver/add/utility/constants.d.ts +1 -1
- package/build/component/driver/add/utility/constants.d.ts.map +1 -1
- package/build/component/driver/add/utility/constants.js +1 -1
- package/build/component/driver/add/utility/constants.js.map +1 -1
- package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
- package/build/component/driver/arm/deployImpl.js +4 -1
- package/build/component/driver/arm/deployImpl.js.map +1 -1
- package/build/component/driver/arm/validator.d.ts.map +1 -1
- package/build/component/driver/arm/validator.js +0 -15
- package/build/component/driver/arm/validator.js.map +1 -1
- package/build/component/driver/botAadApp/create.d.ts.map +1 -1
- package/build/component/driver/botAadApp/create.js +5 -6
- package/build/component/driver/botAadApp/create.js.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +1 -2
- package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +10 -17
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +3 -3
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +13 -13
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts +2 -3
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +45 -13
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +6 -0
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
- package/build/component/driver/devTool/constant.d.ts.map +1 -0
- package/build/component/driver/devTool/constant.js.map +1 -0
- package/build/component/driver/devTool/error/dotnetInstallationUserError.d.ts +5 -0
- package/build/component/driver/devTool/error/dotnetInstallationUserError.d.ts.map +1 -0
- package/build/component/driver/{prerequisite → devTool}/error/dotnetInstallationUserError.js +2 -1
- package/build/component/driver/devTool/error/dotnetInstallationUserError.js.map +1 -0
- package/build/component/driver/devTool/error/funcInstallationUserError.d.ts +5 -0
- package/build/component/driver/devTool/error/funcInstallationUserError.d.ts.map +1 -0
- package/build/component/driver/{prerequisite → devTool}/error/funcInstallationUserError.js +2 -1
- package/build/component/driver/devTool/error/funcInstallationUserError.js.map +1 -0
- package/build/component/driver/{prerequisite → devTool}/installDriver.d.ts +1 -1
- package/build/component/driver/devTool/installDriver.d.ts.map +1 -0
- package/build/component/driver/{prerequisite → devTool}/installDriver.js +46 -17
- package/build/component/driver/devTool/installDriver.js.map +1 -0
- package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.d.ts +5 -1
- package/build/component/driver/devTool/interfaces/InstallToolArgs.d.ts.map +1 -0
- package/build/component/driver/devTool/interfaces/InstallToolArgs.js.map +1 -0
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.d.ts +5 -0
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.d.ts.map +1 -0
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js +22 -0
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js.map +1 -0
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +1 -2
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.js +1 -2
- package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
- package/build/component/driver/index.d.ts +1 -1
- package/build/component/driver/index.d.ts.map +1 -1
- package/build/component/driver/index.js +1 -1
- package/build/component/driver/index.js.map +1 -1
- package/build/component/driver/m365/acquire.d.ts.map +1 -1
- package/build/component/driver/m365/acquire.js +5 -6
- package/build/component/driver/m365/acquire.js.map +1 -1
- package/build/component/driver/middleware/addStartAndEndTelemetry.d.ts.map +1 -1
- package/build/component/driver/middleware/addStartAndEndTelemetry.js +14 -6
- package/build/component/driver/middleware/addStartAndEndTelemetry.js.map +1 -1
- package/build/component/driver/script/scriptDriver.js +4 -2
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts +0 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +1 -11
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/ValidateManifestArgs.d.ts +5 -0
- package/build/component/driver/teamsApp/interfaces/ValidateManifestArgs.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validate.d.ts +0 -1
- package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validate.js +54 -20
- package/build/component/driver/teamsApp/validate.js.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.js +80 -13
- package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
- package/build/component/driver/util/wrapUtil.js +1 -1
- package/build/component/driver/util/wrapUtil.js.map +1 -1
- package/build/component/error/deployError.d.ts +0 -17
- package/build/component/error/deployError.d.ts.map +1 -1
- package/build/component/error/deployError.js +0 -80
- package/build/component/error/deployError.js.map +1 -1
- package/build/component/feature/apiconnector/errors.d.ts +0 -4
- package/build/component/feature/apiconnector/errors.d.ts.map +1 -1
- package/build/component/feature/apiconnector/errors.js +12 -16
- package/build/component/feature/apiconnector/errors.js.map +1 -1
- package/build/component/feature/bot/bot.js +8 -8
- package/build/component/feature/bot/bot.js.map +1 -1
- package/build/component/feature/bot/question.d.ts +6 -6
- package/build/component/feature/bot/question.d.ts.map +1 -1
- package/build/component/feature/bot/question.js +69 -38
- package/build/component/feature/bot/question.js.map +1 -1
- package/build/component/generator/constant.d.ts +2 -0
- package/build/component/generator/constant.d.ts.map +1 -1
- package/build/component/generator/constant.js +3 -1
- package/build/component/generator/constant.js.map +1 -1
- package/build/component/generator/error.d.ts +9 -0
- package/build/component/generator/error.d.ts.map +1 -1
- package/build/component/generator/error.js +19 -1
- package/build/component/generator/error.js.map +1 -1
- package/build/component/generator/generator.d.ts +1 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +25 -8
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +5 -2
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +20 -10
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/officeAddin/question.d.ts.map +1 -1
- package/build/component/generator/officeAddin/question.js +3 -3
- package/build/component/generator/officeAddin/question.js.map +1 -1
- package/build/component/generator/utils.d.ts +2 -0
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +64 -2
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/messages.d.ts +3 -2
- package/build/component/messages.d.ts.map +1 -1
- package/build/component/messages.js +3 -2
- package/build/component/messages.js.map +1 -1
- package/build/component/question.d.ts +1 -0
- package/build/component/question.d.ts.map +1 -1
- package/build/component/question.js +15 -11
- package/build/component/question.js.map +1 -1
- package/build/component/resource/appManifest/appManifest.d.ts.map +1 -1
- package/build/component/resource/appManifest/appManifest.js +3 -4
- package/build/component/resource/appManifest/appManifest.js.map +1 -1
- package/build/component/resource/appManifest/appStudio.d.ts.map +1 -1
- package/build/component/resource/appManifest/appStudio.js +8 -12
- package/build/component/resource/appManifest/appStudio.js.map +1 -1
- package/build/component/resource/appManifest/constants.d.ts +1 -0
- package/build/component/resource/appManifest/constants.d.ts.map +1 -1
- package/build/component/resource/appManifest/constants.js +1 -0
- package/build/component/resource/appManifest/constants.js.map +1 -1
- package/build/component/resource/appManifest/errors.d.ts +0 -4
- package/build/component/resource/appManifest/errors.d.ts.map +1 -1
- package/build/component/resource/appManifest/errors.js +0 -7
- package/build/component/resource/appManifest/errors.js.map +1 -1
- package/build/component/resource/appManifest/utils/ManifestUtils.d.ts +2 -1
- package/build/component/resource/appManifest/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/resource/appManifest/utils/ManifestUtils.js +9 -14
- package/build/component/resource/appManifest/utils/ManifestUtils.js.map +1 -1
- package/build/component/resource/appManifest/utils/telemetry.d.ts +2 -0
- package/build/component/resource/appManifest/utils/telemetry.d.ts.map +1 -1
- package/build/component/resource/appManifest/utils/telemetry.js +2 -0
- package/build/component/resource/appManifest/utils/telemetry.js.map +1 -1
- package/build/component/resource/appManifest/utils/utils.d.ts.map +1 -1
- package/build/component/resource/appManifest/utils/utils.js +5 -1
- package/build/component/resource/appManifest/utils/utils.js.map +1 -1
- package/build/component/resource/azureSql/errors.js +28 -28
- package/build/component/resource/azureSql/errors.js.map +1 -1
- package/build/component/resource/azureStorage/configs.d.ts +1 -1
- package/build/component/resource/spfx/utils/question-helper.js +1 -1
- package/build/component/resource/spfx/utils/question-helper.js.map +1 -1
- package/build/component/utils/ResourceGroupHelper.d.ts +1 -6
- package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
- package/build/component/utils/ResourceGroupHelper.js +65 -131
- package/build/component/utils/ResourceGroupHelper.js.map +1 -1
- package/build/component/utils/azureSdkErrorHandler.d.ts +2 -1
- package/build/component/utils/azureSdkErrorHandler.d.ts.map +1 -1
- package/build/component/utils/azureSdkErrorHandler.js.map +1 -1
- package/build/component/utils/depsChecker/bicepChecker.d.ts.map +1 -1
- package/build/component/utils/depsChecker/bicepChecker.js +4 -7
- package/build/component/utils/depsChecker/bicepChecker.js.map +1 -1
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/envUtil.js +5 -8
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/pathUtils.js +2 -2
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/component/utils/settingsUtil.js +3 -3
- package/build/component/utils/settingsUtil.js.map +1 -1
- package/build/core/FxCore.d.ts +89 -31
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +144 -607
- package/build/core/FxCore.js.map +1 -1
- package/build/core/FxCoreImplementV3.d.ts +12 -3
- package/build/core/FxCoreImplementV3.d.ts.map +1 -1
- package/build/core/FxCoreImplementV3.js +88 -31
- package/build/core/FxCoreImplementV3.js.map +1 -1
- package/build/core/environment.d.ts.map +1 -1
- package/build/core/environment.js +2 -13
- package/build/core/environment.js.map +1 -1
- package/build/core/error.d.ts +1 -13
- package/build/core/error.d.ts.map +1 -1
- package/build/core/error.js +1 -57
- package/build/core/error.js.map +1 -1
- package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
- package/build/core/middleware/concurrentLocker.js +3 -10
- package/build/core/middleware/concurrentLocker.js.map +1 -1
- package/build/core/middleware/envInfoLoaderV3.d.ts +1 -10
- package/build/core/middleware/envInfoLoaderV3.d.ts.map +1 -1
- package/build/core/middleware/envInfoLoaderV3.js +1 -207
- package/build/core/middleware/envInfoLoaderV3.js.map +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts +3 -1
- package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
- package/build/core/middleware/projectMigratorV3.js +81 -35
- package/build/core/middleware/projectMigratorV3.js.map +1 -1
- package/build/core/middleware/questionModel.d.ts +0 -1
- package/build/core/middleware/questionModel.d.ts.map +1 -1
- package/build/core/middleware/questionModel.js +110 -32
- package/build/core/middleware/questionModel.js.map +1 -1
- package/build/core/middleware/utils/MigrationUtils.d.ts.map +1 -1
- package/build/core/middleware/utils/MigrationUtils.js +1 -0
- package/build/core/middleware/utils/MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts +1 -1
- package/build/core/middleware/utils/debug/appLocalYmlGenerator.d.ts.map +1 -1
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts +2 -0
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.d.ts.map +1 -1
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +12 -8
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.d.ts +1 -0
- package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.js +134 -37
- package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
- package/build/core/middleware/utils/migrationContext.d.ts +1 -0
- package/build/core/middleware/utils/migrationContext.d.ts.map +1 -1
- package/build/core/middleware/utils/migrationContext.js +1 -0
- package/build/core/middleware/utils/migrationContext.js.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.d.ts +9 -1
- package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.js +49 -18
- package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
- package/build/core/question.d.ts +10 -3
- package/build/core/question.d.ts.map +1 -1
- package/build/core/question.js +181 -90
- package/build/core/question.js.map +1 -1
- package/build/core/types.d.ts +3 -3
- package/build/core/types.d.ts.map +1 -1
- package/build/error/arm.d.ts +6 -0
- package/build/error/arm.d.ts.map +1 -1
- package/build/error/arm.js +17 -1
- package/build/error/arm.js.map +1 -1
- package/build/error/azure.d.ts +30 -0
- package/build/error/azure.d.ts.map +1 -1
- package/build/error/azure.js +81 -1
- package/build/error/azure.js.map +1 -1
- package/build/error/common.d.ts +14 -2
- package/build/error/common.d.ts.map +1 -1
- package/build/error/common.js +59 -11
- package/build/error/common.js.map +1 -1
- package/build/error/deploy.d.ts +28 -0
- package/build/error/deploy.d.ts.map +1 -1
- package/build/error/deploy.js +100 -1
- package/build/error/deploy.js.map +1 -1
- package/build/error/script.d.ts +14 -0
- package/build/error/script.d.ts.map +1 -0
- package/build/error/script.js +38 -0
- package/build/error/script.js.map +1 -0
- package/build/error/upgrade.d.ts +5 -0
- package/build/error/upgrade.d.ts.map +1 -0
- package/build/error/upgrade.js +16 -0
- package/build/error/upgrade.js.map +1 -0
- package/build/error/yml.d.ts +1 -1
- package/build/error/yml.d.ts.map +1 -1
- package/build/error/yml.js +5 -5
- package/build/error/yml.js.map +1 -1
- package/package.json +13 -8
- package/resource/package.nls.cs.json +307 -366
- package/resource/package.nls.de.json +307 -366
- package/resource/package.nls.es.json +307 -366
- package/resource/package.nls.fr.json +307 -366
- package/resource/package.nls.it.json +307 -366
- package/resource/package.nls.ja.json +307 -366
- package/resource/package.nls.json +118 -112
- package/resource/package.nls.ko.json +307 -366
- package/resource/package.nls.pl.json +307 -366
- package/resource/package.nls.pt-BR.json +307 -366
- package/resource/package.nls.ru.json +307 -366
- package/resource/package.nls.tr.json +307 -366
- package/resource/package.nls.zh-Hans.json +307 -366
- package/resource/package.nls.zh-Hant.json +307 -366
- package/resource/yaml.schema.json +33 -12
- package/templates/core/v3Migration/csharp.app.local.yml +13 -20
- package/templates/core/v3Migration/csharp.app.yml +20 -9
- package/templates/core/v3Migration/js.ts.app.local.yml +105 -53
- package/templates/core/v3Migration/js.ts.app.yml +149 -54
- package/templates/core/v3Migration/spfx.app.yml +61 -17
- package/templates/core/v3Migration/upgradeReport.md +4 -2
- package/templates/fallback/common.zip +0 -0
- package/templates/fallback/csharp.zip +0 -0
- package/templates/fallback/js.zip +0 -0
- package/templates/fallback/ts.zip +0 -0
- package/templates/plugins/resource/aad/auth/V3/Bot/SSO/SsoOperations.cs +23 -8
- package/templates/plugins/resource/aad/auth/V3/Tab/GetUserProfile.razor +2 -1
- package/build/component/driver/aad/error/invalidParameterUserError.d.ts +0 -5
- package/build/component/driver/aad/error/invalidParameterUserError.d.ts.map +0 -1
- package/build/component/driver/aad/error/invalidParameterUserError.js +0 -29
- package/build/component/driver/aad/error/invalidParameterUserError.js.map +0 -1
- package/build/component/driver/aad/error/unhandledError.d.ts +0 -8
- package/build/component/driver/aad/error/unhandledError.d.ts.map +0 -1
- package/build/component/driver/aad/error/unhandledError.js +0 -33
- package/build/component/driver/aad/error/unhandledError.js.map +0 -1
- package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts +0 -5
- package/build/component/driver/botAadApp/error/invalidParameterUserError.d.ts.map +0 -1
- package/build/component/driver/botAadApp/error/invalidParameterUserError.js +0 -30
- package/build/component/driver/botAadApp/error/invalidParameterUserError.js.map +0 -1
- package/build/component/driver/botAadApp/error/unhandledError.d.ts +0 -8
- package/build/component/driver/botAadApp/error/unhandledError.d.ts.map +0 -1
- package/build/component/driver/botAadApp/error/unhandledError.js +0 -33
- package/build/component/driver/botAadApp/error/unhandledError.js.map +0 -1
- package/build/component/driver/botFramework/error/unhandledError.d.ts +0 -5
- package/build/component/driver/botFramework/error/unhandledError.d.ts.map +0 -1
- package/build/component/driver/botFramework/error/unhandledError.js +0 -25
- package/build/component/driver/botFramework/error/unhandledError.js.map +0 -1
- package/build/component/driver/file/error/unhandledError.d.ts +0 -5
- package/build/component/driver/file/error/unhandledError.d.ts.map +0 -1
- package/build/component/driver/file/error/unhandledError.js +0 -25
- package/build/component/driver/file/error/unhandledError.js.map +0 -1
- package/build/component/driver/m365/error/FileNotFoundUserError.d.ts +0 -5
- package/build/component/driver/m365/error/FileNotFoundUserError.d.ts.map +0 -1
- package/build/component/driver/m365/error/FileNotFoundUserError.js +0 -22
- package/build/component/driver/m365/error/FileNotFoundUserError.js.map +0 -1
- package/build/component/driver/m365/error/unhandledError.d.ts +0 -5
- package/build/component/driver/m365/error/unhandledError.d.ts.map +0 -1
- package/build/component/driver/m365/error/unhandledError.js +0 -25
- package/build/component/driver/m365/error/unhandledError.js.map +0 -1
- package/build/component/driver/prerequisite/constant.d.ts.map +0 -1
- package/build/component/driver/prerequisite/constant.js.map +0 -1
- package/build/component/driver/prerequisite/error/dotnetInstallationUserError.d.ts +0 -5
- package/build/component/driver/prerequisite/error/dotnetInstallationUserError.d.ts.map +0 -1
- package/build/component/driver/prerequisite/error/dotnetInstallationUserError.js.map +0 -1
- package/build/component/driver/prerequisite/error/funcInstallationUserError.d.ts +0 -5
- package/build/component/driver/prerequisite/error/funcInstallationUserError.d.ts.map +0 -1
- package/build/component/driver/prerequisite/error/funcInstallationUserError.js.map +0 -1
- package/build/component/driver/prerequisite/installDriver.d.ts.map +0 -1
- package/build/component/driver/prerequisite/installDriver.js.map +0 -1
- package/build/component/driver/prerequisite/interfaces/InstallToolArgs.d.ts.map +0 -1
- package/build/component/driver/prerequisite/interfaces/InstallToolArgs.js.map +0 -1
- package/build/core/middleware/envInfoWriter.d.ts +0 -8
- package/build/core/middleware/envInfoWriter.d.ts.map +0 -1
- package/build/core/middleware/envInfoWriter.js +0 -76
- package/build/core/middleware/envInfoWriter.js.map +0 -1
- package/build/core/middleware/envInfoWriterV3.d.ts +0 -6
- package/build/core/middleware/envInfoWriterV3.d.ts.map +0 -1
- package/build/core/middleware/envInfoWriterV3.js +0 -67
- package/build/core/middleware/envInfoWriterV3.js.map +0 -1
- package/build/core/middleware/projectSettingsWriter.d.ts +0 -6
- package/build/core/middleware/projectSettingsWriter.d.ts.map +0 -1
- package/build/core/middleware/projectSettingsWriter.js +0 -52
- package/build/core/middleware/projectSettingsWriter.js.map +0 -1
- /package/build/component/driver/{prerequisite → devTool}/constant.d.ts +0 -0
- /package/build/component/driver/{prerequisite → devTool}/constant.js +0 -0
- /package/build/component/driver/{prerequisite → devTool}/interfaces/InstallToolArgs.js +0 -0
|
@@ -2,415 +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 =
|
|
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
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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,
|
|
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",
|
|
46
31
|
};
|
|
47
32
|
const funcPackageName = "azure-functions-core-tools";
|
|
48
33
|
const funcToolName = "Azure Functions Core Tools";
|
|
49
|
-
const installVersion = FuncMajorVersion.v4;
|
|
50
|
-
const supportedVersions = [FuncMajorVersion.v4];
|
|
51
|
-
const displayFuncName = `${funcToolName} (v${FuncMajorVersion.v4})`;
|
|
52
34
|
const timeout = 5 * 60 * 1000;
|
|
53
35
|
class FuncToolChecker {
|
|
54
36
|
constructor(logger, telemetry) {
|
|
55
|
-
this.
|
|
56
|
-
this._telemetry = telemetry;
|
|
37
|
+
this.telemetryProperties = {};
|
|
57
38
|
}
|
|
58
|
-
async getDepsInfo(
|
|
39
|
+
async getDepsInfo(funcVersion, binFolder, error) {
|
|
40
|
+
var _a;
|
|
59
41
|
return Promise.resolve({
|
|
60
42
|
name: funcToolName,
|
|
61
43
|
type: depsChecker_1.DepsType.FuncCoreTools,
|
|
62
|
-
isInstalled:
|
|
63
|
-
command:
|
|
44
|
+
isInstalled: !!funcVersion,
|
|
45
|
+
command: "func",
|
|
64
46
|
details: {
|
|
65
47
|
isLinuxSupported: false,
|
|
66
|
-
installVersion:
|
|
67
|
-
supportedVersions:
|
|
68
|
-
binFolders:
|
|
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,
|
|
69
51
|
},
|
|
52
|
+
telemetryProperties: this.telemetryProperties,
|
|
70
53
|
error: error,
|
|
71
54
|
});
|
|
72
55
|
}
|
|
73
|
-
async resolve() {
|
|
56
|
+
async resolve(installOptions) {
|
|
74
57
|
let installationInfo;
|
|
75
58
|
try {
|
|
76
59
|
const nodeVersion = await this.getNodeVersion();
|
|
77
|
-
installationInfo = await this.getInstallationInfo(
|
|
60
|
+
installationInfo = await this.getInstallationInfo(installOptions);
|
|
78
61
|
if (!installationInfo.isInstalled) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const portableFuncNodeError = await this.checkPortableFuncAndNode(installationInfo.portableFunc, nodeVersion);
|
|
84
|
-
if (portableFuncNodeError) {
|
|
85
|
-
installationInfo.isInstalled = false;
|
|
86
|
-
installationInfo.error = portableFuncNodeError;
|
|
87
|
-
}
|
|
62
|
+
const symlinkDir = installOptions.symlinkDir
|
|
63
|
+
? path.resolve(installOptions.projectPath, installOptions.symlinkDir)
|
|
64
|
+
: undefined;
|
|
65
|
+
installationInfo = await this.install(installOptions.version, symlinkDir);
|
|
88
66
|
}
|
|
89
|
-
if (!installationInfo.error
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
installationInfo.isInstalled = false;
|
|
96
|
-
}
|
|
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;
|
|
97
73
|
}
|
|
98
74
|
}
|
|
75
|
+
return installationInfo;
|
|
99
76
|
}
|
|
100
77
|
catch (error) {
|
|
101
|
-
await this._logger.printDetailLog();
|
|
102
|
-
await this._logger.error(`${error.message}, error = '${error}'`);
|
|
103
78
|
if (error instanceof depsError_1.DepsCheckerError) {
|
|
104
|
-
return await this.getDepsInfo(
|
|
79
|
+
return await this.getDepsInfo(undefined, undefined, error);
|
|
105
80
|
}
|
|
106
|
-
return await this.getDepsInfo(
|
|
81
|
+
return await this.getDepsInfo(undefined, undefined, new depsError_1.DepsCheckerError(error.message, helpLink_1.v3DefaultHelpLink));
|
|
107
82
|
}
|
|
108
|
-
finally {
|
|
109
|
-
this._logger.cleanup();
|
|
110
|
-
}
|
|
111
|
-
return installationInfo;
|
|
112
83
|
}
|
|
113
84
|
async getInstallationInfo(installOptions) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
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);
|
|
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);
|
|
126
108
|
}
|
|
109
|
+
return await this.getDepsInfo(portableFunc.funcVersion, portableFunc.binFolder);
|
|
127
110
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
this.
|
|
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);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.telemetryProperties[telemetry_1.TelemetryProperties.GlobalFuncVersionError] =
|
|
119
|
+
globalFuncRes.error.message;
|
|
120
|
+
return await this.getDepsInfo(undefined, undefined);
|
|
131
121
|
}
|
|
132
|
-
const depsInfo = await this.getDepsInfo(isPortableFuncInstalled, isGlobalFuncInstalled);
|
|
133
|
-
return Object.assign(depsInfo, { globalFunc: globalFunc, portableFunc: portableFunc });
|
|
134
122
|
}
|
|
135
123
|
async getNodeVersion() {
|
|
136
124
|
var _a;
|
|
137
125
|
const nodeVersion = (_a = (await nodeChecker_1.NodeChecker.getInstalledNodeVersion())) === null || _a === void 0 ? void 0 : _a.majorVersion;
|
|
138
126
|
if (!nodeVersion) {
|
|
139
|
-
throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound()
|
|
140
|
-
.split("@NodeVersion")
|
|
141
|
-
.join(supportedVersions[supportedVersions.length - 1]), helpLink_1.nodeNotFoundHelpLink);
|
|
127
|
+
throw new depsError_1.NodeNotFoundError(message_1.Messages.NodeNotFound(), helpLink_1.v3NodeNotFoundHelpLink);
|
|
142
128
|
}
|
|
143
129
|
return nodeVersion;
|
|
144
130
|
}
|
|
145
|
-
async
|
|
146
|
-
|
|
147
|
-
if (
|
|
148
|
-
|
|
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
|
-
}
|
|
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);
|
|
159
135
|
}
|
|
160
136
|
return undefined;
|
|
161
137
|
}
|
|
162
|
-
async
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
.
|
|
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 };
|
|
173
158
|
}
|
|
174
159
|
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
// do nothing
|
|
162
|
+
}
|
|
175
163
|
return undefined;
|
|
176
164
|
}
|
|
177
|
-
async
|
|
178
|
-
let isVersionSupported = false, hasSentinel = false;
|
|
179
|
-
let portableFuncVersion = null;
|
|
165
|
+
async checkFuncVersion(expectedFuncVersion, binFolder, sentinelPath) {
|
|
180
166
|
try {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
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));
|
|
187
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));
|
|
176
|
+
}
|
|
177
|
+
return teamsfx_api_1.ok(funcVersion);
|
|
188
178
|
}
|
|
189
179
|
catch (error) {
|
|
190
|
-
|
|
191
|
-
return {
|
|
192
|
-
isInstalled: false,
|
|
193
|
-
funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
|
|
194
|
-
};
|
|
180
|
+
return teamsfx_api_1.err(new depsError_1.DepsCheckerError(error.message, helpLink_1.v3DefaultHelpLink));
|
|
195
181
|
}
|
|
196
|
-
return {
|
|
197
|
-
isInstalled: isVersionSupported && hasSentinel,
|
|
198
|
-
funcVersion: portableFuncVersion !== null ? portableFuncVersion.majorVersion : null,
|
|
199
|
-
};
|
|
200
182
|
}
|
|
201
|
-
async
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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;
|
|
207
218
|
}
|
|
208
|
-
async install(
|
|
219
|
+
async install(expectedFuncVersion, symlinkDir) {
|
|
209
220
|
if (system_1.isLinux()) {
|
|
210
|
-
throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(
|
|
221
|
+
throw new depsError_1.LinuxNotSupportedError(message_1.Messages.linuxDepsNotFound().split("@SupportedPackages").join(funcToolName), helpLink_1.v3DefaultHelpLink);
|
|
211
222
|
}
|
|
212
223
|
if (!(await this.hasNPM())) {
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
await this.cleanup();
|
|
216
|
-
await this.installFunc();
|
|
217
|
-
if (!(await this.validate(nodeVersion))) {
|
|
218
|
-
await this.handleInstallFuncFailed();
|
|
219
|
-
}
|
|
220
|
-
this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.funcInstallCompleted);
|
|
221
|
-
await this._logger.info(message_1.Messages.finishInstallFunctionCoreTool().replace("@NameVersion", displayFuncName));
|
|
222
|
-
}
|
|
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);
|
|
227
|
-
}
|
|
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());
|
|
224
|
+
throw new depsError_1.DepsCheckerError(message_1.Messages.needInstallNpm(), helpLink_1.v3DefaultHelpLink);
|
|
236
225
|
}
|
|
237
|
-
|
|
238
|
-
|
|
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);
|
|
239
233
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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);
|
|
245
241
|
}
|
|
246
|
-
return
|
|
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);
|
|
242
|
+
return await this.getDepsInfo(funcVersionRes.value, binFolder);
|
|
251
243
|
}
|
|
252
244
|
static getDefaultInstallPath() {
|
|
253
|
-
return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "
|
|
245
|
+
return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "azfunc");
|
|
254
246
|
}
|
|
255
|
-
static
|
|
256
|
-
return
|
|
247
|
+
static getFuncInstallPath(versionStr) {
|
|
248
|
+
return versionStr
|
|
249
|
+
? path.join(this.getDefaultInstallPath(), versionStr)
|
|
250
|
+
: path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "bin", "func");
|
|
257
251
|
}
|
|
258
|
-
static
|
|
259
|
-
return path.join(FuncToolChecker.
|
|
252
|
+
static getVersioningSentinelPath(versionStr) {
|
|
253
|
+
return path.join(FuncToolChecker.getPortableFuncBinFolder(versionStr), "func-sentinel");
|
|
260
254
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
return `node "${FuncToolChecker.getPortableFuncExecPath()}"`;
|
|
264
|
-
}
|
|
265
|
-
if (isGlobalFuncInstalled) {
|
|
266
|
-
return "func";
|
|
267
|
-
}
|
|
268
|
-
return "npx azure-functions-core-tools@3";
|
|
255
|
+
static getHistorySentinelPath() {
|
|
256
|
+
return path.join(os.homedir(), `.${teamsfx_api_1.ConfigFolderName}`, "func-sentinel");
|
|
269
257
|
}
|
|
270
|
-
|
|
271
|
-
return
|
|
272
|
-
FuncToolChecker.getDefaultInstallPath(),
|
|
273
|
-
path.join(FuncToolChecker.getDefaultInstallPath(), "node_modules", ".bin"),
|
|
274
|
-
];
|
|
258
|
+
static getPortableFuncBinFolder(versionStr) {
|
|
259
|
+
return path.resolve(FuncToolChecker.getFuncInstallPath(versionStr), "node_modules", "azure-functions-core-tools", "bin");
|
|
275
260
|
}
|
|
276
|
-
async queryFuncVersion(
|
|
277
|
-
const
|
|
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");
|
|
278
266
|
return mapToFuncToolsVersion(output);
|
|
279
267
|
}
|
|
280
|
-
async queryGlobalFuncVersion() {
|
|
281
|
-
try {
|
|
282
|
-
const output = await cpUtils_1.cpUtils.executeCommand(undefined, this._logger,
|
|
283
|
-
// same as backend start, avoid powershell execution policy issue.
|
|
284
|
-
{ shell: system_1.isWindows() ? "cmd.exe" : true }, "func", "--version");
|
|
285
|
-
return mapToFuncToolsVersion(output);
|
|
286
|
-
}
|
|
287
|
-
catch (error) {
|
|
288
|
-
return null;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
268
|
async hasNPM() {
|
|
292
269
|
try {
|
|
293
|
-
|
|
294
|
-
this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmAlreadyInstalled, {
|
|
295
|
-
"npm-version": npmVersion,
|
|
296
|
-
});
|
|
270
|
+
await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { shell: true }, "npm", "--version");
|
|
297
271
|
return true;
|
|
298
272
|
}
|
|
299
273
|
catch (error) {
|
|
300
|
-
this._telemetry.sendEvent(telemetry_1.DepsCheckerEvent.npmNotFound);
|
|
301
274
|
return false;
|
|
302
275
|
}
|
|
303
276
|
}
|
|
304
|
-
async cleanup() {
|
|
277
|
+
async cleanup(tmpVersionStr) {
|
|
305
278
|
try {
|
|
306
|
-
await fs.
|
|
307
|
-
await fs.remove(FuncToolChecker.getSentinelPath());
|
|
308
|
-
}
|
|
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
|
-
}
|
|
279
|
+
await fs.remove(FuncToolChecker.getFuncInstallPath(tmpVersionStr));
|
|
321
280
|
}
|
|
281
|
+
catch (_a) { }
|
|
322
282
|
}
|
|
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));
|
|
283
|
+
async installFunc(tmpVersion, expectedFuncVersion) {
|
|
330
284
|
try {
|
|
331
|
-
|
|
285
|
+
const tmpFolder = FuncToolChecker.getFuncInstallPath(tmpVersion);
|
|
286
|
+
await cpUtils_1.cpUtils.executeCommand(undefined, undefined, { timeout: timeout, shell: false }, this.getExecCommand("npm"), "install",
|
|
332
287
|
// not use -f, to avoid npm@6 bug: exit code = 0, even if install fail
|
|
333
|
-
`${funcPackageName}@${
|
|
334
|
-
await fs.ensureFile(FuncToolChecker.
|
|
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
|
-
}
|
|
288
|
+
`${funcPackageName}@${expectedFuncVersion}`, "--prefix", `${tmpFolder}`, "--no-audit");
|
|
289
|
+
await fs.ensureFile(FuncToolChecker.getVersioningSentinelPath(tmpVersion));
|
|
345
290
|
}
|
|
346
291
|
catch (error) {
|
|
347
|
-
this.
|
|
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);
|
|
348
295
|
}
|
|
349
296
|
}
|
|
350
297
|
getExecCommand(command) {
|
|
351
298
|
return system_1.isWindows() ? `${command}.cmd` : command;
|
|
352
299
|
}
|
|
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
|
-
}
|
|
366
|
-
}
|
|
367
300
|
}
|
|
368
301
|
exports.FuncToolChecker = FuncToolChecker;
|
|
369
302
|
function mapToFuncToolsVersion(output) {
|
|
370
|
-
var _a, _b, _c, _d, _e;
|
|
303
|
+
var _a, _b, _c, _d, _e, _f;
|
|
371
304
|
const regex = /(?<major_version>\d+)\.(?<minor_version>\d+)\.(?<patch_version>\d+)/gm;
|
|
372
305
|
const match = regex.exec(output);
|
|
373
306
|
if (!match) {
|
|
374
|
-
|
|
307
|
+
throw new depsError_1.DepsCheckerError(message_1.Messages.invalidFuncVersion(output), helpLink_1.v3DefaultHelpLink);
|
|
375
308
|
}
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
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)) {
|
|
394
|
-
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);
|
|
395
316
|
}
|
|
396
317
|
return {
|
|
397
318
|
majorVersion: majorVersion,
|
|
398
319
|
minorVersion: minorVersion,
|
|
399
320
|
patchVersion: patchVersion,
|
|
321
|
+
versionStr: `${majorVersion}.${minorVersion}.${patchVersion}`,
|
|
400
322
|
};
|
|
401
323
|
}
|
|
402
324
|
exports.mapToFuncToolsVersion = mapToFuncToolsVersion;
|
|
403
|
-
function isFuncVersionSupport(
|
|
404
|
-
|
|
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
|
-
}
|
|
325
|
+
function isFuncVersionSupport(actualFuncVersion, expectedFuncVersion) {
|
|
326
|
+
return semver_1.default.satisfies(actualFuncVersion.versionStr, expectedFuncVersion);
|
|
414
327
|
}
|
|
415
328
|
exports.isFuncVersionSupport = isFuncVersionSupport;
|
|
416
329
|
//# sourceMappingURL=funcToolChecker.js.map
|