@microsoft/teamsfx-core 2.0.4-alpha.6ff4defd0.0 → 2.0.4-alpha.7313f757f.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/constants.d.ts +1 -0
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +1 -0
- package/build/common/constants.js.map +1 -1
- package/build/common/deps-checker/checkerFactory.d.ts +1 -2
- package/build/common/deps-checker/checkerFactory.d.ts.map +1 -1
- package/build/common/deps-checker/checkerFactory.js +2 -2
- package/build/common/deps-checker/checkerFactory.js.map +1 -1
- package/build/common/deps-checker/depsLogger.d.ts +14 -14
- package/build/common/deps-checker/depsLogger.d.ts.map +1 -1
- package/build/common/deps-checker/depsLogger.js +7 -21
- package/build/common/deps-checker/depsLogger.js.map +1 -1
- package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/dotnetChecker.js +40 -35
- package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/common/deps-checker/internal/nodeChecker.js +3 -3
- package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
- package/build/common/deps-checker/util/cpUtils.d.ts +1 -1
- package/build/common/deps-checker/util/cpUtils.d.ts.map +1 -1
- package/build/common/deps-checker/util/cpUtils.js +4 -4
- package/build/common/deps-checker/util/cpUtils.js.map +1 -1
- package/build/common/deps-checker/util/progressIndicator.js +2 -2
- package/build/common/deps-checker/util/progressIndicator.js.map +1 -1
- package/build/common/featureFlags.d.ts +1 -0
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +5 -1
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/local/localCertificateManager.d.ts.map +1 -1
- package/build/common/local/localCertificateManager.js +3 -0
- package/build/common/local/localCertificateManager.js.map +1 -1
- package/build/common/local/packageJsonHelper.d.ts.map +1 -1
- package/build/common/local/packageJsonHelper.js +1 -0
- package/build/common/local/packageJsonHelper.js.map +1 -1
- package/build/common/local/portChecker.js.map +1 -1
- package/build/common/m365/launchHelper.d.ts +2 -2
- package/build/common/m365/launchHelper.d.ts.map +1 -1
- package/build/common/m365/launchHelper.js +24 -6
- package/build/common/m365/launchHelper.js.map +1 -1
- package/build/common/m365/packageService.d.ts.map +1 -1
- package/build/common/m365/packageService.js +66 -19
- package/build/common/m365/packageService.js.map +1 -1
- package/build/common/projectSettingsHelper.d.ts.map +1 -1
- package/build/common/projectSettingsHelper.js +1 -0
- package/build/common/projectSettingsHelper.js.map +1 -1
- package/build/common/samples.d.ts +15 -4
- package/build/common/samples.d.ts.map +1 -1
- package/build/common/samples.js +58 -28
- package/build/common/samples.js.map +1 -1
- package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +1 -1
- package/build/common/spec-parser/adaptiveCardGenerator.js +39 -32
- package/build/common/spec-parser/adaptiveCardGenerator.js.map +1 -1
- package/build/common/spec-parser/constants.d.ts +17 -10
- package/build/common/spec-parser/constants.d.ts.map +1 -1
- package/build/common/spec-parser/constants.js +42 -10
- package/build/common/spec-parser/constants.js.map +1 -1
- package/build/common/spec-parser/interfaces.d.ts +44 -21
- package/build/common/spec-parser/interfaces.d.ts.map +1 -1
- package/build/common/spec-parser/interfaces.js +24 -13
- package/build/common/spec-parser/interfaces.js.map +1 -1
- package/build/common/spec-parser/manifestUpdater.d.ts +4 -3
- package/build/common/spec-parser/manifestUpdater.d.ts.map +1 -1
- package/build/common/spec-parser/manifestUpdater.js +104 -49
- package/build/common/spec-parser/manifestUpdater.js.map +1 -1
- package/build/common/spec-parser/specFilter.d.ts +1 -1
- package/build/common/spec-parser/specFilter.d.ts.map +1 -1
- package/build/common/spec-parser/specFilter.js +28 -35
- package/build/common/spec-parser/specFilter.js.map +1 -1
- package/build/common/spec-parser/specParser.d.ts +8 -2
- package/build/common/spec-parser/specParser.d.ts.map +1 -1
- package/build/common/spec-parser/specParser.js +156 -97
- package/build/common/spec-parser/specParser.js.map +1 -1
- package/build/common/spec-parser/utils.d.ts +22 -0
- package/build/common/spec-parser/utils.d.ts.map +1 -1
- package/build/common/spec-parser/utils.js +251 -21
- package/build/common/spec-parser/utils.js.map +1 -1
- package/build/common/telemetry.d.ts +7 -4
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +43 -8
- package/build/common/telemetry.js.map +1 -1
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +5 -0
- package/build/common/tools.js.map +1 -1
- package/build/component/configManager/interface.d.ts +5 -3
- package/build/component/configManager/interface.d.ts.map +1 -1
- package/build/component/configManager/interface.js.map +1 -1
- package/build/component/configManager/lifecycle.d.ts +1 -3
- package/build/component/configManager/lifecycle.d.ts.map +1 -1
- package/build/component/configManager/lifecycle.js +23 -51
- package/build/component/configManager/lifecycle.js.map +1 -1
- package/build/component/configManager/parser.d.ts.map +1 -1
- package/build/component/configManager/parser.js +6 -7
- package/build/component/configManager/parser.js.map +1 -1
- package/build/component/configManager/validator.d.ts.map +1 -1
- package/build/component/configManager/validator.js +2 -3
- package/build/component/configManager/validator.js.map +1 -1
- package/build/component/constants.d.ts +6 -0
- package/build/component/constants.d.ts.map +1 -1
- package/build/component/constants.js +7 -1
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.d.ts +11 -8
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +78 -67
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/coordinator/summary.d.ts.map +1 -1
- package/build/component/coordinator/summary.js +2 -1
- package/build/component/coordinator/summary.js.map +1 -1
- package/build/component/developerPortalScaffoldUtils.d.ts +1 -1
- package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
- package/build/component/developerPortalScaffoldUtils.js +7 -7
- package/build/component/developerPortalScaffoldUtils.js.map +1 -1
- package/build/component/driver/aad/create.d.ts +1 -2
- package/build/component/driver/aad/create.d.ts.map +1 -1
- package/build/component/driver/aad/create.js +4 -11
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/aad/error/aadManifestError.d.ts +3 -0
- package/build/component/driver/aad/error/aadManifestError.d.ts.map +1 -1
- package/build/component/driver/aad/error/aadManifestError.js +13 -1
- package/build/component/driver/aad/error/aadManifestError.js.map +1 -1
- package/build/component/driver/aad/update.d.ts +1 -2
- package/build/component/driver/aad/update.d.ts.map +1 -1
- package/build/component/driver/aad/update.js +4 -11
- package/build/component/driver/aad/update.js.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.d.ts +1 -1
- package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.js +58 -13
- package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
- package/build/component/driver/aad/utility/constants.d.ts +3 -0
- package/build/component/driver/aad/utility/constants.d.ts.map +1 -1
- package/build/component/driver/aad/utility/constants.js +4 -1
- package/build/component/driver/aad/utility/constants.js.map +1 -1
- package/build/component/driver/add/addWebPart.d.ts.map +1 -1
- package/build/component/driver/add/addWebPart.js +10 -1
- package/build/component/driver/add/addWebPart.js.map +1 -1
- package/build/component/driver/arm/deploy.d.ts +1 -3
- package/build/component/driver/arm/deploy.d.ts.map +1 -1
- package/build/component/driver/arm/deploy.js +1 -14
- package/build/component/driver/arm/deploy.js.map +1 -1
- package/build/component/driver/arm/deployImpl.d.ts +2 -1
- package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
- package/build/component/driver/arm/deployImpl.js +15 -0
- package/build/component/driver/arm/deployImpl.js.map +1 -1
- package/build/component/driver/arm/util/bicepChecker.js +7 -6
- package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
- package/build/component/driver/arm/util/handleError.js.map +1 -1
- package/build/component/driver/botAadApp/create.d.ts +2 -1
- package/build/component/driver/botAadApp/create.d.ts.map +1 -1
- package/build/component/driver/botAadApp/create.js +7 -10
- package/build/component/driver/botAadApp/create.js.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.d.ts +1 -0
- package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +6 -12
- package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts +0 -2
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +0 -10
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts +0 -2
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +0 -10
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts +0 -2
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +17 -19
- 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 +11 -4
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +29 -16
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +18 -15
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +4 -4
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.d.ts +1 -0
- package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.js +25 -3
- package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
- package/build/component/driver/devTool/installDriver.d.ts +1 -0
- package/build/component/driver/devTool/installDriver.d.ts.map +1 -1
- package/build/component/driver/devTool/installDriver.js +33 -11
- package/build/component/driver/devTool/installDriver.js.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts +1 -0
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +12 -18
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.d.ts +1 -0
- package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.js +5 -11
- package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
- package/build/component/driver/interface/stepDriver.d.ts +2 -7
- package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
- package/build/component/driver/m365/acquire.d.ts +1 -0
- package/build/component/driver/m365/acquire.d.ts.map +1 -1
- package/build/component/driver/m365/acquire.js +6 -12
- package/build/component/driver/m365/acquire.js.map +1 -1
- package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
- package/build/component/driver/script/baseBuildDriver.js +1 -0
- package/build/component/driver/script/baseBuildDriver.js.map +1 -1
- package/build/component/driver/script/baseBuildStepDriver.d.ts +0 -2
- package/build/component/driver/script/baseBuildStepDriver.d.ts.map +1 -1
- package/build/component/driver/script/baseBuildStepDriver.js +0 -4
- package/build/component/driver/script/baseBuildStepDriver.js.map +1 -1
- package/build/component/driver/script/dotnetBuildDriver.d.ts +0 -2
- package/build/component/driver/script/dotnetBuildDriver.d.ts.map +1 -1
- package/build/component/driver/script/dotnetBuildDriver.js +0 -9
- package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
- package/build/component/driver/script/npmBuildDriver.d.ts +0 -2
- package/build/component/driver/script/npmBuildDriver.d.ts.map +1 -1
- package/build/component/driver/script/npmBuildDriver.js +0 -9
- package/build/component/driver/script/npmBuildDriver.js.map +1 -1
- package/build/component/driver/script/npxBuildDriver.d.ts +0 -2
- package/build/component/driver/script/npxBuildDriver.d.ts.map +1 -1
- package/build/component/driver/script/npxBuildDriver.js +0 -9
- package/build/component/driver/script/npxBuildDriver.js.map +1 -1
- package/build/component/driver/script/scriptDriver.d.ts +10 -1
- package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
- package/build/component/driver/script/scriptDriver.js +31 -30
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
- package/build/component/driver/teamsApp/appStudio.js +8 -8
- package/build/component/driver/teamsApp/appStudio.js.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +5 -5
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.js +31 -11
- package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
- package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/authSvcClient.js +2 -0
- package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
- package/build/component/driver/teamsApp/configure.d.ts +1 -1
- package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
- package/build/component/driver/teamsApp/configure.js +3 -11
- package/build/component/driver/teamsApp/configure.js.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +1 -2
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +4 -11
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
- package/build/component/driver/teamsApp/create.d.ts +1 -1
- package/build/component/driver/teamsApp/create.d.ts.map +1 -1
- package/build/component/driver/teamsApp/create.js +6 -11
- package/build/component/driver/teamsApp/create.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts +4 -3
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +53 -43
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
- package/build/component/driver/teamsApp/errors.js +2 -0
- package/build/component/driver/teamsApp/errors.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts +2 -0
- package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtension.d.ts.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts +1 -0
- package/build/component/driver/teamsApp/interfaces/appdefinitions/messagingExtensionCommand.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.d.ts +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.js +5 -13
- package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +2 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.js +7 -2
- package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.d.ts +1 -0
- package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.js +1 -0
- package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
- package/build/component/driver/teamsApp/utils/utils.d.ts +2 -2
- package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/utils.js +22 -10
- package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
- package/build/component/driver/teamsApp/validate.d.ts +1 -1
- package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validate.js +18 -13
- package/build/component/driver/teamsApp/validate.js.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.d.ts +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.js +3 -11
- package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
- package/build/component/error/componentError.d.ts +2 -1
- package/build/component/error/componentError.d.ts.map +1 -1
- package/build/component/error/componentError.js +8 -4
- package/build/component/error/componentError.js.map +1 -1
- package/build/component/feature/collaboration.d.ts.map +1 -1
- package/build/component/feature/collaboration.js +32 -13
- package/build/component/feature/collaboration.js.map +1 -1
- package/build/component/generator/copilotPlugin/generator.d.ts +7 -2
- package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/generator.js +91 -20
- package/build/component/generator/copilotPlugin/generator.js.map +1 -1
- package/build/component/generator/copilotPlugin/helper.d.ts +8 -3
- package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/helper.js +135 -40
- package/build/component/generator/copilotPlugin/helper.js.map +1 -1
- package/build/component/generator/error.d.ts +7 -1
- package/build/component/generator/error.d.ts.map +1 -1
- package/build/component/generator/error.js +15 -3
- package/build/component/generator/error.js.map +1 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +30 -21
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +2 -1
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +8 -2
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +9 -1
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.js +8 -4
- package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.js +4 -2
- package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/yoChecker.d.ts.map +1 -1
- package/build/component/generator/spfx/depsChecker/yoChecker.js +3 -3
- package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.js +2 -2
- package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
- package/build/component/generator/spfx/utils/utils.js +3 -3
- package/build/component/generator/spfx/utils/utils.js.map +1 -1
- package/build/component/generator/utils.d.ts +12 -4
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +15 -14
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/messages.d.ts +2 -3
- package/build/component/messages.d.ts.map +1 -1
- package/build/component/messages.js +3 -4
- package/build/component/messages.js.map +1 -1
- package/build/component/middleware/actionExecutionMW.d.ts +2 -2
- package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
- package/build/component/middleware/envMW.js +1 -1
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/middleware/questionMW.d.ts +2 -2
- package/build/component/middleware/questionMW.d.ts.map +1 -1
- package/build/component/middleware/questionMW.js +7 -11
- package/build/component/middleware/questionMW.js.map +1 -1
- package/build/component/provisionUtils.d.ts +3 -3
- package/build/component/provisionUtils.d.ts.map +1 -1
- package/build/component/provisionUtils.js +3 -3
- package/build/component/provisionUtils.js.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.js +24 -2
- package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts +2 -2
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts.map +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +6 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
- package/build/component/telemetry.js +2 -2
- package/build/component/telemetry.js.map +1 -1
- package/build/component/utils/ResourceGroupHelper.d.ts +2 -2
- package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
- package/build/component/utils/ResourceGroupHelper.js +1 -4
- package/build/component/utils/ResourceGroupHelper.js.map +1 -1
- package/build/component/utils/charsetUtils.js +3 -3
- package/build/component/utils/charsetUtils.js.map +1 -1
- package/build/component/utils/common.d.ts +1 -1
- package/build/component/utils/common.d.ts.map +1 -1
- package/build/component/utils/common.js +4 -5
- package/build/component/utils/common.js.map +1 -1
- package/build/component/utils/depsChecker/cpUtils.d.ts.map +1 -1
- package/build/component/utils/depsChecker/cpUtils.js +8 -4
- package/build/component/utils/depsChecker/cpUtils.js.map +1 -1
- package/build/component/utils/envUtil.js +2 -2
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/metadataUtil.d.ts +3 -0
- package/build/component/utils/metadataUtil.d.ts.map +1 -1
- package/build/component/utils/metadataUtil.js +16 -3
- package/build/component/utils/metadataUtil.js.map +1 -1
- package/build/component/utils/teamsFxTelemetryReporter.js +2 -2
- package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
- package/build/core/FxCore.d.ts +41 -33
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +817 -66
- package/build/core/FxCore.js.map +1 -1
- package/build/core/collaborator.js +2 -2
- package/build/core/collaborator.js.map +1 -1
- package/build/core/globalVars.d.ts +16 -0
- package/build/core/globalVars.d.ts.map +1 -1
- package/build/core/globalVars.js +34 -1
- package/build/core/globalVars.js.map +1 -1
- package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
- package/build/core/middleware/concurrentLocker.js +7 -3
- package/build/core/middleware/concurrentLocker.js.map +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts +4 -0
- package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
- package/build/core/middleware/projectMigratorV3.js +34 -32
- package/build/core/middleware/projectMigratorV3.js.map +1 -1
- package/build/core/middleware/projectVersionChecker.js +5 -5
- package/build/core/middleware/projectVersionChecker.js.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.js +2 -1
- package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.js +3 -0
- 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.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.d.ts.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.js +5 -1
- package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
- package/build/error/common.d.ts +4 -10
- package/build/error/common.d.ts.map +1 -1
- package/build/error/common.js +13 -35
- package/build/error/common.js.map +1 -1
- package/build/index.d.ts +4 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -0
- package/build/index.js.map +1 -1
- package/build/question/constants.d.ts +6 -0
- package/build/question/constants.d.ts.map +1 -0
- package/build/question/constants.js +18 -0
- package/build/question/constants.js.map +1 -0
- package/build/question/create.d.ts +23 -9
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +342 -281
- package/build/question/create.js.map +1 -1
- package/build/question/generator.d.ts +4 -0
- package/build/question/generator.d.ts.map +1 -0
- package/build/question/generator.js +365 -0
- package/build/question/generator.js.map +1 -0
- package/build/question/index.d.ts +19 -30
- package/build/question/index.d.ts.map +1 -1
- package/build/question/index.js +14 -47
- package/build/question/index.js.map +1 -1
- package/build/question/inputs/CreateEnvInputs.d.ts +14 -0
- package/build/question/inputs/CreateEnvInputs.d.ts.map +1 -0
- package/build/question/inputs/CreateEnvInputs.js +5 -0
- package/build/question/inputs/CreateEnvInputs.js.map +1 -0
- package/build/question/inputs/CreateProjectInputs.d.ts +38 -0
- package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -0
- package/build/question/inputs/CreateProjectInputs.js +5 -0
- package/build/question/inputs/CreateProjectInputs.js.map +1 -0
- package/build/question/inputs/CreateSampleProjectInputs.d.ts +12 -0
- package/build/question/inputs/CreateSampleProjectInputs.d.ts.map +1 -0
- package/build/question/inputs/CreateSampleProjectInputs.js +5 -0
- package/build/question/inputs/CreateSampleProjectInputs.js.map +1 -0
- package/build/question/inputs/DeployAadManifestInputs.d.ts +14 -0
- package/build/question/inputs/DeployAadManifestInputs.d.ts.map +1 -0
- package/build/question/inputs/DeployAadManifestInputs.js +5 -0
- package/build/question/inputs/DeployAadManifestInputs.js.map +1 -0
- package/build/question/inputs/PermissionGrantInputs.d.ts +18 -0
- package/build/question/inputs/PermissionGrantInputs.d.ts.map +1 -0
- package/build/question/inputs/PermissionGrantInputs.js +5 -0
- package/build/question/inputs/PermissionGrantInputs.js.map +1 -0
- package/build/question/inputs/PermissionListInputs.d.ts +16 -0
- package/build/question/inputs/PermissionListInputs.d.ts.map +1 -0
- package/build/question/inputs/PermissionListInputs.js +5 -0
- package/build/question/inputs/PermissionListInputs.js.map +1 -0
- package/build/question/inputs/PreviewTeamsAppInputs.d.ts +14 -0
- package/build/question/inputs/PreviewTeamsAppInputs.d.ts.map +1 -0
- package/build/question/inputs/PreviewTeamsAppInputs.js +5 -0
- package/build/question/inputs/PreviewTeamsAppInputs.js.map +1 -0
- package/build/question/inputs/SPFxAddWebpartInputs.d.ts +18 -0
- package/build/question/inputs/SPFxAddWebpartInputs.d.ts.map +1 -0
- package/build/question/inputs/SPFxAddWebpartInputs.js +5 -0
- package/build/question/inputs/SPFxAddWebpartInputs.js.map +1 -0
- package/build/question/inputs/SelectTeamsManifestInputs.d.ts +12 -0
- package/build/question/inputs/SelectTeamsManifestInputs.d.ts.map +1 -0
- package/build/question/inputs/SelectTeamsManifestInputs.js +5 -0
- package/build/question/inputs/SelectTeamsManifestInputs.js.map +1 -0
- package/build/question/inputs/ValidateTeamsAppInputs.d.ts +14 -0
- package/build/question/inputs/ValidateTeamsAppInputs.d.ts.map +1 -0
- package/build/question/inputs/ValidateTeamsAppInputs.js +5 -0
- package/build/question/inputs/ValidateTeamsAppInputs.js.map +1 -0
- package/build/question/inputs/index.d.ts +11 -0
- package/build/question/inputs/index.d.ts.map +1 -0
- package/build/question/inputs/index.js +16 -0
- package/build/question/inputs/index.js.map +1 -0
- package/build/question/options/CreateEnvOptions.d.ts +10 -0
- package/build/question/options/CreateEnvOptions.d.ts.map +1 -0
- package/build/question/options/CreateEnvOptions.js +24 -0
- package/build/question/options/CreateEnvOptions.js.map +1 -0
- package/build/question/options/CreateProjectOptions.d.ts +10 -0
- package/build/question/options/CreateProjectOptions.d.ts.map +1 -0
- package/build/question/options/CreateProjectOptions.js +133 -0
- package/build/question/options/CreateProjectOptions.js.map +1 -0
- package/build/question/options/CreateSampleProjectOptions.d.ts +10 -0
- package/build/question/options/CreateSampleProjectOptions.d.ts.map +1 -0
- package/build/question/options/CreateSampleProjectOptions.js +52 -0
- package/build/question/options/CreateSampleProjectOptions.js.map +1 -0
- package/build/question/options/DeployAadManifestOptions.d.ts +10 -0
- package/build/question/options/DeployAadManifestOptions.d.ts.map +1 -0
- package/build/question/options/DeployAadManifestOptions.js +21 -0
- package/build/question/options/DeployAadManifestOptions.js.map +1 -0
- package/build/question/options/PermissionGrantOptions.d.ts +10 -0
- package/build/question/options/PermissionGrantOptions.d.ts.map +1 -0
- package/build/question/options/PermissionGrantOptions.js +33 -0
- package/build/question/options/PermissionGrantOptions.js.map +1 -0
- package/build/question/options/PermissionListOptions.d.ts +10 -0
- package/build/question/options/PermissionListOptions.d.ts.map +1 -0
- package/build/question/options/PermissionListOptions.js +28 -0
- package/build/question/options/PermissionListOptions.js.map +1 -0
- package/build/question/options/PreviewTeamsAppOptions.d.ts +10 -0
- package/build/question/options/PreviewTeamsAppOptions.d.ts.map +1 -0
- package/build/question/options/PreviewTeamsAppOptions.js +26 -0
- package/build/question/options/PreviewTeamsAppOptions.js.map +1 -0
- package/build/question/options/SPFxAddWebpartOptions.d.ts +10 -0
- package/build/question/options/SPFxAddWebpartOptions.d.ts.map +1 -0
- package/build/question/options/SPFxAddWebpartOptions.js +39 -0
- package/build/question/options/SPFxAddWebpartOptions.js.map +1 -0
- package/build/question/options/SelectTeamsManifestOptions.d.ts +10 -0
- package/build/question/options/SelectTeamsManifestOptions.d.ts.map +1 -0
- package/build/question/options/SelectTeamsManifestOptions.js +17 -0
- package/build/question/options/SelectTeamsManifestOptions.js.map +1 -0
- package/build/question/options/ValidateTeamsAppOptions.d.ts +10 -0
- package/build/question/options/ValidateTeamsAppOptions.d.ts.map +1 -0
- package/build/question/options/ValidateTeamsAppOptions.js +23 -0
- package/build/question/options/ValidateTeamsAppOptions.js.map +1 -0
- package/build/question/options/index.d.ts +11 -0
- package/build/question/options/index.d.ts.map +1 -0
- package/build/question/options/index.js +16 -0
- package/build/question/options/index.js.map +1 -0
- package/build/question/other.d.ts +12 -1
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +128 -30
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +6 -2
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +8 -3
- package/build/question/questionNames.js.map +1 -1
- package/build/ui/validationUtils.d.ts +31 -0
- package/build/ui/validationUtils.d.ts.map +1 -0
- package/build/ui/validationUtils.js +297 -0
- package/build/ui/validationUtils.js.map +1 -0
- package/build/ui/visitor.d.ts +13 -1
- package/build/ui/visitor.d.ts.map +1 -1
- package/build/ui/visitor.js +262 -234
- package/build/ui/visitor.js.map +1 -1
- package/package.json +19 -15
- package/resource/package.nls.json +42 -16
- package/resource/yaml-schema/{1.1.1 → v1.2}/yaml.schema.json +11 -5
- 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/Tab/GetUserProfile.razor +1 -2
- package/templates/plugins/resource/aad/auth/bot/README.md +281 -263
- package/templates/plugins/resource/aad/auth/bot/js/sso/handleMessageExtensionQueryWithToken.js +13 -3
- package/templates/plugins/resource/aad/auth/bot/js/sso/profileSsoCommandHandler.js +14 -5
- package/templates/plugins/resource/aad/auth/bot/ts/sso/handleMessageExtensionQueryWithToken.ts +11 -3
- package/templates/plugins/resource/aad/auth/bot/ts/sso/profileSsoCommandHandler.ts +12 -3
- package/templates/plugins/resource/aad/auth/tab/csharp/GetUserProfile.razor +1 -2
- package/build/common/samples-config-v3.json +0 -233
- package/build/component/driver/middleware/updateProgress.d.ts +0 -6
- package/build/component/driver/middleware/updateProgress.d.ts.map +0 -1
- package/build/component/driver/middleware/updateProgress.js +0 -15
- package/build/component/driver/middleware/updateProgress.js.map +0 -1
- package/build/core/FxCoreImplementV3.d.ts +0 -47
- package/build/core/FxCoreImplementV3.d.ts.map +0 -1
- package/build/core/FxCoreImplementV3.js +0 -702
- package/build/core/FxCoreImplementV3.js.map +0 -1
|
@@ -2,76 +2,131 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
"use strict";
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.generateCommands = exports.updateManifest = void 0;
|
|
5
|
+
exports.generateCommands = exports.generateParametersFromSchema = exports.updateManifest = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
|
+
const interfaces_1 = require("./interfaces");
|
|
7
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
9
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
9
10
|
const utils_1 = require("./utils");
|
|
11
|
+
const specParserError_1 = require("./specParserError");
|
|
12
|
+
const constants_1 = require("./constants");
|
|
13
|
+
const util_1 = require("util");
|
|
10
14
|
async function updateManifest(manifestPath, outputSpecPath, adaptiveCardFolder, spec) {
|
|
11
15
|
var _a;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
try {
|
|
17
|
+
// TODO: manifest interface can be updated when manifest parser library is ready
|
|
18
|
+
const originalManifest = await fs_extra_1.default.readJSON(manifestPath);
|
|
19
|
+
const [commands, warnings] = await generateCommands(spec, adaptiveCardFolder, manifestPath);
|
|
20
|
+
const ComposeExtension = {
|
|
21
|
+
composeExtensionType: "apiBased",
|
|
22
|
+
apiSpecificationFile: utils_1.getRelativePath(manifestPath, outputSpecPath),
|
|
23
|
+
commands: commands,
|
|
24
|
+
};
|
|
25
|
+
const updatedPart = {
|
|
26
|
+
description: {
|
|
27
|
+
short: spec.info.title,
|
|
28
|
+
full: (_a = spec.info.description) !== null && _a !== void 0 ? _a : originalManifest.description.full,
|
|
29
|
+
},
|
|
30
|
+
composeExtensions: [ComposeExtension],
|
|
31
|
+
};
|
|
32
|
+
const updatedManifest = Object.assign(Object.assign({}, originalManifest), updatedPart);
|
|
33
|
+
return [updatedManifest, warnings];
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.UpdateManifestFailed);
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
exports.updateManifest = updateManifest;
|
|
35
|
-
function
|
|
40
|
+
function generateParametersFromSchema(schema, name) {
|
|
41
|
+
var _a;
|
|
42
|
+
const parameters = [];
|
|
43
|
+
if (schema.type === "string" ||
|
|
44
|
+
schema.type === "integer" ||
|
|
45
|
+
schema.type === "boolean" ||
|
|
46
|
+
schema.type === "number") {
|
|
47
|
+
if (schema.required) {
|
|
48
|
+
parameters.push({
|
|
49
|
+
name: name,
|
|
50
|
+
title: utils_1.updateFirstLetter(name),
|
|
51
|
+
description: (_a = schema.description) !== null && _a !== void 0 ? _a : "",
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (schema.type === "object") {
|
|
56
|
+
const { properties } = schema;
|
|
57
|
+
for (const property in properties) {
|
|
58
|
+
const result = generateParametersFromSchema(properties[property], property);
|
|
59
|
+
parameters.push(...result);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return parameters;
|
|
63
|
+
}
|
|
64
|
+
exports.generateParametersFromSchema = generateParametersFromSchema;
|
|
65
|
+
async function generateCommands(spec, adaptiveCardFolder, manifestPath) {
|
|
36
66
|
var _a;
|
|
37
67
|
const paths = spec.paths;
|
|
38
68
|
const commands = [];
|
|
69
|
+
const warnings = [];
|
|
39
70
|
if (paths) {
|
|
40
71
|
for (const pathUrl in paths) {
|
|
41
72
|
const pathItem = paths[pathUrl];
|
|
42
73
|
if (pathItem) {
|
|
43
74
|
const operations = pathItem;
|
|
44
|
-
// Currently only support GET method
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
// Currently only support GET and POST method
|
|
76
|
+
for (const method in operations) {
|
|
77
|
+
if (method === constants_1.ConstantString.PostMethod || method === constants_1.ConstantString.GetMethod) {
|
|
78
|
+
const operationItem = operations[method];
|
|
79
|
+
if (operationItem) {
|
|
80
|
+
const parameters = [];
|
|
81
|
+
const paramObject = operationItem.parameters;
|
|
82
|
+
if (paramObject) {
|
|
83
|
+
paramObject.forEach((param) => {
|
|
84
|
+
var _a;
|
|
85
|
+
if (param.required) {
|
|
86
|
+
parameters.push({
|
|
87
|
+
name: param.name,
|
|
88
|
+
title: utils_1.updateFirstLetter(param.name),
|
|
89
|
+
description: (_a = param.description) !== null && _a !== void 0 ? _a : "",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (operationItem.requestBody) {
|
|
95
|
+
const requestJson = operationItem.requestBody
|
|
96
|
+
.content["application/json"];
|
|
97
|
+
if (Object.keys(requestJson).length !== 0) {
|
|
98
|
+
const schema = requestJson.schema;
|
|
99
|
+
const result = generateParametersFromSchema(schema, "requestBody");
|
|
100
|
+
parameters.push(...result);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const operationId = operationItem.operationId;
|
|
104
|
+
const adaptiveCardPath = path_1.default.join(adaptiveCardFolder, operationId + ".json");
|
|
105
|
+
const command = {
|
|
106
|
+
context: ["compose"],
|
|
107
|
+
type: "query",
|
|
108
|
+
title: (_a = operationItem.summary) !== null && _a !== void 0 ? _a : "",
|
|
109
|
+
id: operationId,
|
|
110
|
+
parameters: parameters,
|
|
111
|
+
apiResponseRenderingTemplateFile: (await fs_extra_1.default.pathExists(adaptiveCardPath))
|
|
112
|
+
? utils_1.getRelativePath(manifestPath, adaptiveCardPath)
|
|
113
|
+
: "",
|
|
114
|
+
};
|
|
115
|
+
commands.push(command);
|
|
116
|
+
if (parameters.length === 0) {
|
|
117
|
+
warnings.push({
|
|
118
|
+
type: interfaces_1.WarningType.OperationOnlyContainsOptionalParam,
|
|
119
|
+
content: util_1.format(constants_1.ConstantString.OperationOnlyContainsOptionalParam, operationId),
|
|
120
|
+
data: operationId,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
59
124
|
}
|
|
60
|
-
const adaptiveCardPath = path_1.default.join(adaptiveCardFolder, operationItem.operationId + ".json");
|
|
61
|
-
const command = {
|
|
62
|
-
context: ["compose"],
|
|
63
|
-
type: "query",
|
|
64
|
-
title: (_a = operationItem.summary) !== null && _a !== void 0 ? _a : "",
|
|
65
|
-
id: operationItem.operationId,
|
|
66
|
-
parameters: parameters,
|
|
67
|
-
apiResponseRenderingTemplate: utils_1.getRelativePath(manifestPath, adaptiveCardPath),
|
|
68
|
-
};
|
|
69
|
-
commands.push(command);
|
|
70
125
|
}
|
|
71
126
|
}
|
|
72
127
|
}
|
|
73
128
|
}
|
|
74
|
-
return commands;
|
|
129
|
+
return [commands, warnings];
|
|
75
130
|
}
|
|
76
131
|
exports.generateCommands = generateCommands;
|
|
77
132
|
//# sourceMappingURL=manifestUpdater.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifestUpdater.js","sourceRoot":"","sources":["../../../src/common/spec-parser/manifestUpdater.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"manifestUpdater.js","sourceRoot":"","sources":["../../../src/common/spec-parser/manifestUpdater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { OpenAPIV3 } from "openapi-types";
|
|
2
|
-
export declare function specFilter(filter: string[], unResolveSpec: OpenAPIV3.Document): OpenAPIV3.Document;
|
|
2
|
+
export declare function specFilter(filter: string[], unResolveSpec: OpenAPIV3.Document, resolvedSpec: OpenAPIV3.Document): OpenAPIV3.Document;
|
|
3
3
|
//# sourceMappingURL=specFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specFilter.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specFilter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"specFilter.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specFilter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM1C,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,SAAS,CAAC,QAAQ,EACjC,YAAY,EAAE,SAAS,CAAC,QAAQ,GAC/B,SAAS,CAAC,QAAQ,CAkCpB"}
|
|
@@ -4,44 +4,37 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.specFilter = void 0;
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
const specParserError_1 = require("./specParserError");
|
|
8
|
+
const interfaces_1 = require("./interfaces");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
function specFilter(filter, unResolveSpec, resolvedSpec) {
|
|
11
|
+
try {
|
|
12
|
+
const newSpec = Object.assign({}, unResolveSpec);
|
|
13
|
+
const newPaths = {};
|
|
14
|
+
for (const filterItem of filter) {
|
|
15
|
+
const [method, path] = filterItem.split(" ");
|
|
16
|
+
const methodName = method.toLowerCase();
|
|
17
|
+
if (!utils_1.isSupportedApi(methodName, path, resolvedSpec)) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (!newPaths[path]) {
|
|
21
|
+
newPaths[path] = Object.assign({}, unResolveSpec.paths[path]);
|
|
22
|
+
for (const m of constants_1.ConstantString.AllOperationMethods) {
|
|
23
|
+
delete newPaths[path][m];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
newPaths[path][methodName] = unResolveSpec.paths[path][methodName];
|
|
27
|
+
// Add the operationId if missing
|
|
28
|
+
if (!newPaths[path][methodName].operationId) {
|
|
29
|
+
newPaths[path][methodName].operationId = `${methodName}${utils_1.convertPathToCamelCase(path)}`;
|
|
21
30
|
}
|
|
22
31
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
newSpec.paths = newPaths;
|
|
33
|
+
return newSpec;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.FilterSpecFailed);
|
|
28
37
|
}
|
|
29
|
-
newSpec.paths = newPaths;
|
|
30
|
-
return newSpec;
|
|
31
38
|
}
|
|
32
39
|
exports.specFilter = specFilter;
|
|
33
|
-
function convertPathToCamelCase(path) {
|
|
34
|
-
const pathSegments = path.split("/");
|
|
35
|
-
const camelCaseSegments = pathSegments.map((segment) => {
|
|
36
|
-
if (segment.startsWith("{")) {
|
|
37
|
-
const name = segment.substring(1, segment.length - 1);
|
|
38
|
-
return name.charAt(0).toUpperCase() + name.slice(1);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return segment;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
const camelCasePath = camelCaseSegments.join("");
|
|
45
|
-
return camelCasePath.charAt(0).toUpperCase() + camelCasePath.slice(1);
|
|
46
|
-
}
|
|
47
40
|
//# sourceMappingURL=specFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specFilter.js","sourceRoot":"","sources":["../../../src/common/spec-parser/specFilter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;AAGb,
|
|
1
|
+
{"version":3,"file":"specFilter.js","sourceRoot":"","sources":["../../../src/common/spec-parser/specFilter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;AAGb,mCAAiE;AACjE,uDAAoD;AACpD,6CAAyC;AACzC,2CAA6C;AAE7C,SAAgB,UAAU,CACxB,MAAgB,EAChB,aAAiC,EACjC,YAAgC;IAEhC,IAAI;QACF,MAAM,OAAO,qBAAQ,aAAa,CAAE,CAAC;QACrC,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;YAC/B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAExC,IAAI,CAAC,sBAAc,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE;gBACnD,SAAS;aACV;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACnB,QAAQ,CAAC,IAAI,CAAC,qBAAQ,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAE,CAAC;gBAClD,KAAK,MAAM,CAAC,IAAI,0BAAc,CAAC,mBAAmB,EAAE;oBAClD,OAAQ,QAAQ,CAAC,IAAI,CAAS,CAAC,CAAC,CAAC,CAAC;iBACnC;aACF;YAEA,QAAQ,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,GAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC;YAErF,iCAAiC;YACjC,IAAI,CAAE,QAAQ,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;gBACnD,QAAQ,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,WAAW,GAAG,GAAG,UAAU,GAAG,8BAAsB,CACtF,IAAI,CACL,EAAE,CAAC;aACL;SACF;QAED,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;QACzB,OAAO,OAAO,CAAC;KAChB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,iCAAe,CAAE,GAAa,CAAC,QAAQ,EAAE,EAAE,sBAAS,CAAC,gBAAgB,CAAC,CAAC;KAClF;AACH,CAAC;AAtCD,gCAsCC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import SwaggerParser from "@apidevtools/swagger-parser";
|
|
2
|
-
import { ValidateResult } from "./interfaces";
|
|
2
|
+
import { GenerateResult, ValidateResult } from "./interfaces";
|
|
3
3
|
/**
|
|
4
4
|
* A class that parses an OpenAPI specification file and provides methods to validate, list, and generate artifacts.
|
|
5
5
|
*/
|
|
@@ -9,6 +9,7 @@ export declare class SpecParser {
|
|
|
9
9
|
private apiMap;
|
|
10
10
|
private spec;
|
|
11
11
|
private unResolveSpec;
|
|
12
|
+
private isSwaggerFile;
|
|
12
13
|
/**
|
|
13
14
|
* Creates a new instance of the SpecParser class.
|
|
14
15
|
* @param path The URL or file path of the OpenAPI specification file. The OpenAPI specification file must have a version of 3.0 or higher.
|
|
@@ -26,6 +27,11 @@ export declare class SpecParser {
|
|
|
26
27
|
* according to copilot plugin spec, only list get and post method without auth
|
|
27
28
|
*/
|
|
28
29
|
list(): Promise<string[]>;
|
|
30
|
+
/**
|
|
31
|
+
* List all the OpenAPI operations in the specification file and return a map of operationId and operation path.
|
|
32
|
+
* @returns A map of operationId and operation path, such as [{'getPetById': 'GET /pets/{petId}'}, {'getUser': 'GET /user/{userId}'}]
|
|
33
|
+
*/
|
|
34
|
+
listOperationMap(): Promise<Map<string, string>>;
|
|
29
35
|
/**
|
|
30
36
|
* Generates and update artifacts from the OpenAPI specification file. Generate Adaptive Cards, update Teams app manifest, and generate a new OpenAPI specification file.
|
|
31
37
|
* @param manifestPath A file path of the Teams app manifest file to update.
|
|
@@ -33,7 +39,7 @@ export declare class SpecParser {
|
|
|
33
39
|
* @param outputSpecPath File path of the new OpenAPI specification file to generate. If not specified or empty, no spec file will be generated.
|
|
34
40
|
* @param adaptiveCardFolder Folder path where the Adaptive Card files will be generated. If not specified or empty, Adaptive Card files will not be generated.
|
|
35
41
|
*/
|
|
36
|
-
generate(manifestPath: string, filter: string[], outputSpecPath: string, adaptiveCardFolder: string, signal?: AbortSignal): Promise<
|
|
42
|
+
generate(manifestPath: string, filter: string[], outputSpecPath: string, adaptiveCardFolder: string, signal?: AbortSignal): Promise<GenerateResult>;
|
|
37
43
|
private loadSpec;
|
|
38
44
|
private getAllSupportedApi;
|
|
39
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specParser.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"AAKA,OAAO,aAAa,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"specParser.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"AAKA,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAIxD,OAAO,EAIL,cAAc,EACd,cAAc,EAIf,MAAM,cAAc,CAAC;AAUtB;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,aAAa,CAAC;IAEtC,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAAsB;IAE3C;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAKxB;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAsFzC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU/B;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAqBtD;;;;;;OAMG;IACG,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC;YA0EZ,QAAQ;IAetB,OAAO,CAAC,kBAAkB;CAqB3B"}
|
|
@@ -7,6 +7,7 @@ const tslib_1 = require("tslib");
|
|
|
7
7
|
const util = tslib_1.__importStar(require("util"));
|
|
8
8
|
const swagger_parser_1 = tslib_1.__importDefault(require("@apidevtools/swagger-parser"));
|
|
9
9
|
const specParserError_1 = require("./specParserError");
|
|
10
|
+
const swagger2openapi_1 = tslib_1.__importDefault(require("swagger2openapi"));
|
|
10
11
|
const interfaces_1 = require("./interfaces");
|
|
11
12
|
const constants_1 = require("./constants");
|
|
12
13
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
@@ -34,89 +35,80 @@ class SpecParser {
|
|
|
34
35
|
* @returns A validation result object that contains information about any errors or warnings in the specification file.
|
|
35
36
|
*/
|
|
36
37
|
async validate() {
|
|
37
|
-
const errors = [];
|
|
38
|
-
const warnings = [];
|
|
39
38
|
try {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
39
|
+
const errors = [];
|
|
40
|
+
const warnings = [];
|
|
41
|
+
try {
|
|
42
|
+
await this.loadSpec();
|
|
43
|
+
await this.parser.validate(this.spec);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
// Spec not valid
|
|
47
|
+
errors.push({ type: interfaces_1.ErrorType.SpecNotValid, content: e.toString() });
|
|
48
|
+
return {
|
|
49
|
+
status: interfaces_1.ValidationStatus.Error,
|
|
50
|
+
warnings,
|
|
51
|
+
errors,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (this.isSwaggerFile) {
|
|
55
|
+
warnings.push({
|
|
56
|
+
type: interfaces_1.WarningType.ConvertSwaggerToOpenAPI,
|
|
57
|
+
content: constants_1.ConstantString.ConvertSwaggerToOpenAPI,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// Server validation
|
|
61
|
+
const serverErrors = utils_1.validateServer(this.spec);
|
|
62
|
+
errors.push(...serverErrors);
|
|
63
|
+
// Remote reference not supported
|
|
64
|
+
const refPaths = this.parser.$refs.paths();
|
|
65
|
+
// refPaths [0] is the current spec file path
|
|
66
|
+
if (refPaths.length > 1) {
|
|
67
|
+
errors.push({
|
|
68
|
+
type: interfaces_1.ErrorType.RemoteRefNotSupported,
|
|
69
|
+
content: util.format(constants_1.ConstantString.RemoteRefNotSupported, refPaths.join(", ")),
|
|
70
|
+
data: refPaths,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// No supported API
|
|
74
|
+
const apiMap = this.getAllSupportedApi(this.spec);
|
|
75
|
+
if (Object.keys(apiMap).length === 0) {
|
|
76
|
+
errors.push({
|
|
77
|
+
type: interfaces_1.ErrorType.NoSupportedApi,
|
|
78
|
+
content: constants_1.ConstantString.NoSupportedApi,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// OperationId missing
|
|
82
|
+
const apisMissingOperationId = [];
|
|
83
|
+
for (const key in apiMap) {
|
|
84
|
+
const pathObjectItem = apiMap[key];
|
|
85
|
+
if (!pathObjectItem.operationId) {
|
|
86
|
+
apisMissingOperationId.push(key);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (apisMissingOperationId.length > 0) {
|
|
90
|
+
warnings.push({
|
|
91
|
+
type: interfaces_1.WarningType.OperationIdMissing,
|
|
92
|
+
content: util.format(constants_1.ConstantString.MissingOperationId, apisMissingOperationId.join(", ")),
|
|
93
|
+
data: apisMissingOperationId,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
let status = interfaces_1.ValidationStatus.Valid;
|
|
97
|
+
if (warnings.length > 0 && errors.length === 0) {
|
|
98
|
+
status = interfaces_1.ValidationStatus.Warning;
|
|
99
|
+
}
|
|
100
|
+
else if (errors.length > 0) {
|
|
101
|
+
status = interfaces_1.ValidationStatus.Error;
|
|
102
|
+
}
|
|
58
103
|
return {
|
|
59
|
-
status
|
|
104
|
+
status,
|
|
60
105
|
warnings,
|
|
61
106
|
errors,
|
|
62
107
|
};
|
|
63
108
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
errors.push({
|
|
67
|
-
type: interfaces_1.ErrorType.NoServerInformation,
|
|
68
|
-
content: constants_1.ConstantString.NoServerInformation,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
else if (this.spec.servers.length > 1) {
|
|
72
|
-
errors.push({
|
|
73
|
-
type: interfaces_1.ErrorType.MultipleServerInformation,
|
|
74
|
-
content: constants_1.ConstantString.MultipleServerInformation,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
// Remote reference not supported
|
|
78
|
-
const refPaths = this.parser.$refs.paths();
|
|
79
|
-
// refPaths [0] is the current spec file path
|
|
80
|
-
if (refPaths.length > 1) {
|
|
81
|
-
errors.push({
|
|
82
|
-
type: interfaces_1.ErrorType.RemoteRefNotSupported,
|
|
83
|
-
content: util.format(constants_1.ConstantString.RemoteRefNotSupported, refPaths.join(", ")),
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
// No supported API
|
|
87
|
-
const apiMap = this.getAllSupportedApi(this.spec);
|
|
88
|
-
if (Object.keys(apiMap).length === 0) {
|
|
89
|
-
errors.push({
|
|
90
|
-
type: interfaces_1.ErrorType.NoSupportedApi,
|
|
91
|
-
content: constants_1.ConstantString.NoSupportedApi,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// OperationId missing
|
|
95
|
-
const apisMissingOperationId = [];
|
|
96
|
-
for (const key in apiMap) {
|
|
97
|
-
const pathObjectItem = apiMap[key];
|
|
98
|
-
if (!pathObjectItem.operationId) {
|
|
99
|
-
apisMissingOperationId.push(key);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (apisMissingOperationId.length > 0) {
|
|
103
|
-
warnings.push({
|
|
104
|
-
type: interfaces_1.WarningType.OperationIdMissing,
|
|
105
|
-
content: util.format(constants_1.ConstantString.MissingOperationId, apisMissingOperationId.join(", ")),
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
let status = interfaces_1.ValidationStatus.Valid;
|
|
109
|
-
if (warnings.length > 0 && errors.length === 0) {
|
|
110
|
-
status = interfaces_1.ValidationStatus.Warning;
|
|
111
|
-
}
|
|
112
|
-
else if (errors.length > 0) {
|
|
113
|
-
status = interfaces_1.ValidationStatus.Error;
|
|
109
|
+
catch (err) {
|
|
110
|
+
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ValidateFailed);
|
|
114
111
|
}
|
|
115
|
-
return {
|
|
116
|
-
status,
|
|
117
|
-
warnings,
|
|
118
|
-
errors,
|
|
119
|
-
};
|
|
120
112
|
}
|
|
121
113
|
/**
|
|
122
114
|
* Lists all the OpenAPI operations in the specification file.
|
|
@@ -133,6 +125,31 @@ class SpecParser {
|
|
|
133
125
|
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ListFailed);
|
|
134
126
|
}
|
|
135
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* List all the OpenAPI operations in the specification file and return a map of operationId and operation path.
|
|
130
|
+
* @returns A map of operationId and operation path, such as [{'getPetById': 'GET /pets/{petId}'}, {'getUser': 'GET /user/{userId}'}]
|
|
131
|
+
*/
|
|
132
|
+
async listOperationMap() {
|
|
133
|
+
try {
|
|
134
|
+
await this.loadSpec();
|
|
135
|
+
const apiMap = this.getAllSupportedApi(this.spec);
|
|
136
|
+
const operationMap = new Map();
|
|
137
|
+
for (const key in apiMap) {
|
|
138
|
+
const pathObjectItem = apiMap[key];
|
|
139
|
+
let operationId = pathObjectItem.operationId;
|
|
140
|
+
if (!operationId) {
|
|
141
|
+
const [method, path] = key.split(" ");
|
|
142
|
+
const methodName = method.toLowerCase();
|
|
143
|
+
operationId = `${methodName}${utils_1.convertPathToCamelCase(path)}`;
|
|
144
|
+
}
|
|
145
|
+
operationMap.set(operationId, key);
|
|
146
|
+
}
|
|
147
|
+
return operationMap;
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ListOperationMapFailed);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
136
153
|
/**
|
|
137
154
|
* Generates and update artifacts from the OpenAPI specification file. Generate Adaptive Cards, update Teams app manifest, and generate a new OpenAPI specification file.
|
|
138
155
|
* @param manifestPath A file path of the Teams app manifest file to update.
|
|
@@ -141,33 +158,75 @@ class SpecParser {
|
|
|
141
158
|
* @param adaptiveCardFolder Folder path where the Adaptive Card files will be generated. If not specified or empty, Adaptive Card files will not be generated.
|
|
142
159
|
*/
|
|
143
160
|
async generate(manifestPath, filter, outputSpecPath, adaptiveCardFolder, signal) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
161
|
+
const result = {
|
|
162
|
+
allSuccess: true,
|
|
163
|
+
warnings: [],
|
|
164
|
+
};
|
|
165
|
+
try {
|
|
166
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
167
|
+
throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
|
|
168
|
+
}
|
|
169
|
+
await this.loadSpec();
|
|
170
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
171
|
+
throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
|
|
172
|
+
}
|
|
173
|
+
const newUnResolvedSpec = specFilter_1.specFilter(filter, this.unResolveSpec, this.spec);
|
|
174
|
+
let resultStr;
|
|
175
|
+
if (outputSpecPath.endsWith(".yaml") || outputSpecPath.endsWith(".yml")) {
|
|
176
|
+
resultStr = js_yaml_1.default.dump(newUnResolvedSpec);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
resultStr = JSON.stringify(newUnResolvedSpec, null, 2);
|
|
180
|
+
}
|
|
181
|
+
await fs_extra_1.default.outputFile(outputSpecPath, resultStr);
|
|
182
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
183
|
+
throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
|
|
184
|
+
}
|
|
185
|
+
const newSpec = (await this.parser.dereference(newUnResolvedSpec));
|
|
186
|
+
for (const url in newSpec.paths) {
|
|
187
|
+
for (const method in newSpec.paths[url]) {
|
|
188
|
+
if (method === constants_1.ConstantString.GetMethod || method === constants_1.ConstantString.PostMethod) {
|
|
189
|
+
const operation = newSpec.paths[url][method];
|
|
190
|
+
try {
|
|
191
|
+
const card = adaptiveCardGenerator_1.generateAdaptiveCard(operation);
|
|
192
|
+
const fileName = path_1.default.join(adaptiveCardFolder, `${operation.operationId}.json`);
|
|
193
|
+
await fs_extra_1.default.outputJSON(fileName, card, { spaces: 2 });
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
result.allSuccess = false;
|
|
197
|
+
result.warnings.push({
|
|
198
|
+
type: interfaces_1.WarningType.GenerateCardFailed,
|
|
199
|
+
content: err.toString(),
|
|
200
|
+
data: operation.operationId,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
207
|
+
throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
|
|
208
|
+
}
|
|
209
|
+
const [updatedManifest, warnings] = await manifestUpdater_1.updateManifest(manifestPath, outputSpecPath, adaptiveCardFolder, newSpec);
|
|
210
|
+
await fs_extra_1.default.outputJSON(manifestPath, updatedManifest, { spaces: 2 });
|
|
211
|
+
result.warnings.push(...warnings);
|
|
156
212
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const getOperation = (_a = newSpec.paths[url]) === null || _a === void 0 ? void 0 : _a.get;
|
|
163
|
-
const card = adaptiveCardGenerator_1.generateAdaptiveCard(getOperation);
|
|
164
|
-
const fileName = path_1.default.join(adaptiveCardFolder, `${getOperation.operationId}.json`);
|
|
165
|
-
await fs_extra_1.default.outputJSON(fileName, card, { spaces: 2 });
|
|
213
|
+
catch (err) {
|
|
214
|
+
if (err instanceof specParserError_1.SpecParserError) {
|
|
215
|
+
throw err;
|
|
216
|
+
}
|
|
217
|
+
throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.GenerateFailed);
|
|
166
218
|
}
|
|
219
|
+
return result;
|
|
167
220
|
}
|
|
168
221
|
async loadSpec() {
|
|
169
222
|
if (!this.spec) {
|
|
170
223
|
this.unResolveSpec = (await this.parser.parse(this.specPath));
|
|
224
|
+
// Convert swagger 2.0 to openapi 3.0
|
|
225
|
+
if (!this.unResolveSpec.openapi && this.unResolveSpec.swagger === "2.0") {
|
|
226
|
+
const specObj = await swagger2openapi_1.default.convert(this.unResolveSpec, {});
|
|
227
|
+
this.unResolveSpec = specObj.openapi;
|
|
228
|
+
this.isSwaggerFile = true;
|
|
229
|
+
}
|
|
171
230
|
const clonedUnResolveSpec = JSON.parse(JSON.stringify(this.unResolveSpec));
|
|
172
231
|
this.spec = (await this.parser.dereference(clonedUnResolveSpec));
|
|
173
232
|
}
|