@sprucelabs/spruce-cli 19.2.2 → 19.2.4
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/CHANGELOG.md +16 -0
- package/build/GlobalEmitter.js +2 -3
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.js +1 -2
- package/build/InFlightEntertainment.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js +2 -3
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +2 -3
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +2 -3
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +2 -3
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +2 -3
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +2 -3
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +2 -3
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +2 -3
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +2 -3
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +2 -3
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +2 -3
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +2 -3
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +2 -3
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +2 -3
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +2 -3
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +2 -3
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +2 -3
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +2 -3
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +2 -3
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +2 -3
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +2 -3
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +2 -3
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -3
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +2 -3
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EventWriter.test.js +2 -3
- package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +2 -3
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +2 -3
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +2 -3
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +2 -3
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +2 -3
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +2 -3
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +2 -3
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +2 -3
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -3
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +2 -3
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +2 -3
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +5 -7
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +2 -3
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +2 -3
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +2 -3
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +2 -3
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +2 -3
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +4 -6
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +2 -3
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +2 -3
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +2 -3
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +2 -3
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +2 -3
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +2 -3
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +2 -3
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +2 -3
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +2 -3
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +2 -3
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +2 -3
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +2 -3
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +2 -3
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +2 -3
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +3 -4
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +2 -3
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +2 -3
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -3
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +2 -3
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -3
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +2 -3
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +2 -3
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +2 -3
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +2 -3
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +2 -3
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js +2 -3
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +5 -8
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +2 -3
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +2 -3
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +2 -3
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +2 -3
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +2 -3
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +2 -3
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +2 -3
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +2 -3
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +2 -3
- package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +2 -3
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +2 -3
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +2 -3
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +2 -3
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +2 -3
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +3 -4
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +2 -3
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +3 -4
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +2 -3
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js +2 -3
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +3 -4
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +2 -3
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +2 -3
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +3 -4
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +2 -3
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +2 -3
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +2 -3
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +2 -3
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +2 -3
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +3 -4
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +2 -3
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.js +2 -3
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js +2 -3
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +3 -4
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +2 -3
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js +2 -3
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +2 -3
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +2 -3
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +2 -3
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +2 -3
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +2 -3
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +2 -3
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +2 -3
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +2 -3
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +2 -3
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +2 -3
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +2 -3
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +2 -3
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +2 -3
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +2 -3
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +2 -3
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +2 -3
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +2 -3
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/EventFaker.js +1 -2
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/cli/Cli.js +1 -2
- package/build/cli/Cli.js.map +1 -1
- package/build/components/AbstractComponent.js +1 -2
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js +4 -6
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js +1 -2
- package/build/components/QuizComponent.js.map +1 -1
- package/build/errors/SpruceError.js +2 -3
- package/build/errors/SpruceError.js.map +1 -1
- package/build/features/AbstractAction.js +1 -2
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js +1 -2
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js +1 -2
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js +1 -2
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js +1 -2
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js +1 -2
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js +1 -2
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js +1 -2
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +1 -2
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js +6 -8
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js +5 -7
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js +5 -7
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +9 -11
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js +4 -6
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js +6 -8
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js +3 -5
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js +2 -3
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +8 -10
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js +5 -7
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js +5 -7
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js +8 -10
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +5 -7
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js +2 -3
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js +9 -11
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js +1 -2
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js +4 -6
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js +5 -7
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js +2 -3
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js +14 -16
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js +4 -6
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js +5 -7
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js +5 -7
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js +5 -7
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js +5 -7
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js +1 -2
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -2
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/services/EventSettingsService.js +1 -2
- package/build/features/event/services/EventSettingsService.js.map +1 -1
- package/build/features/event/stores/EventStore.js +3 -5
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.js +3 -5
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +2 -3
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +9 -10
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +5 -7
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/log/LogFeature.js +7 -9
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js +5 -7
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js +2 -3
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js +12 -14
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js +5 -7
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js +6 -8
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js +5 -7
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js +2 -3
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js +13 -15
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js +1 -2
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js +1 -2
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js +4 -6
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js +3 -5
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js +7 -8
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js +4 -6
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js +5 -7
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js +3 -5
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/permission/PermissionFeature.js +10 -12
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +5 -7
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.js +7 -9
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.js +3 -5
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.js +2 -3
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/PersonFeature.js +8 -9
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js +5 -7
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js +5 -7
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js +5 -7
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/polish/PolishFeature.js +8 -9
- package/build/features/polish/PolishFeature.js.map +1 -1
- package/build/features/polish/actions/SetupAction.js +4 -6
- package/build/features/polish/actions/SetupAction.js.map +1 -1
- package/build/features/polish/writers/PolishWriter.js +2 -3
- package/build/features/polish/writers/PolishWriter.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +7 -8
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js +4 -6
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js +2 -3
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js +10 -12
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js +1 -2
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js +4 -6
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js +7 -9
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js +5 -7
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js +2 -3
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js +3 -5
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +3 -5
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js +14 -16
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js +7 -9
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js +5 -7
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js +5 -7
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js +5 -7
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js +5 -7
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js +5 -7
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +3 -5
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js +1 -2
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js +2 -3
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js +10 -12
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js +4 -6
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js +5 -7
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.js +3 -5
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -2
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js +2 -3
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js +8 -10
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js +1 -2
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js +1 -2
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js +6 -8
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +4 -6
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js +5 -7
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js +17 -19
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/writers/TestWriter.js +2 -3
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/view/ViewFeature.js +8 -10
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js +5 -7
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreatePluginAction.js +5 -7
- package/build/features/view/actions/CreatePluginAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js +5 -7
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js +5 -7
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js +7 -9
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js +3 -5
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +2 -3
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js +7 -8
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js +6 -8
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js +2 -3
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js +2 -3
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js +9 -11
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/interfaces/SpyInterface.js +1 -2
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js +2 -3
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/services/BuildService.js +1 -2
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js +1 -2
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js +1 -2
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js +1 -2
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js +1 -2
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js +1 -2
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js +3 -5
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js +1 -2
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/stores/AbstractLocalStore.js +2 -3
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js +1 -2
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js +1 -2
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -2
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -2
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -2
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js +3 -4
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js +2 -3
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js +2 -3
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +2 -3
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js +2 -3
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js +2 -3
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.js +1 -2
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js +1 -2
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js +1 -2
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/cleanTestData.js +1 -1
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +1 -2
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js +1 -2
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js +1 -2
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js +1 -2
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js +1 -2
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js +1 -2
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/updaters/ScriptUpdater.js +1 -2
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/introspection.utility.js +1 -1
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/widgets/WidgetFactory.js +1 -2
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js +6 -8
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js +14 -16
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js +7 -9
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js +5 -7
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js +5 -7
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js +6 -8
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js +5 -7
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkProgressBarWidget.js +5 -7
- package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js +7 -9
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js +15 -17
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/writers/AbstractWriter.js +1 -2
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js +1 -2
- package/build/writers/WriterFactory.js.map +1 -1
- package/package.json +27 -27
package/build/cli/Cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.js","names":["_os","_interopRequireDefault","require","_mercuryClient","_spruceSkillUtils","_spruceTemplates","_constants","_SpruceError","_ActionExecuter","_ActionFactory","_FeatureCommandAttacher","_FeatureInstallerFactory","_GlobalEmitter","_TerminalInterface","_ImportService","_ServiceFactory","_StoreFactory","_apiClient","_argParser","_WriterFactory","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","Cli","exports","cwd","featureInstaller","serviceFactory","emitter","attacher","actionExecuter","_classCallCheck2","_createClass2","key","getAttacher","getActionExecuter","_on","_asyncToGenerator2","_regenerator","mark","_callee","_this$emitter","_args","wrap","_callee$","_context","prev","abrupt","on","stop","_off","_callee2","_this$emitter2","_args2","_callee2$","_context2","off","_emit","_callee3","_this$emitter3","_args3","_callee3$","_context3","emit","_emitAndFlattenResponses","_callee4","_this$emitter4","_args4","_callee4$","_context4","emitAndFlattenResponses","_installFeatures","_callee5","options","_callee5$","_context5","install","installFeatures","_x","getFeature","code","_checkHealth","_callee6","isInstalled","commandService","command","results","resultParts","error","_callee6$","_context6","sent","skill","status","errors","SpruceError","Service","shouldRunOnSourceFiles","execute","stdout","split","HEALTH_DIVIDER","JSON","parse","t0","originalError","checkHealth","_x2","_resetApiClients","_callee7","_callee7$","_context7","apiClients","t1","disconnect","resetApiClients","_Boot","_callee8","_options$emitter","_options$cwd","_options$apiClientFac","_options$homeDir","_options$graphicsInte","_options$featureInsta","program","services","apiClientFactory","storeFactory","ui","writerFactory","pkg","optionOverrides","blockedCommands","actionFactory","codes","_iterator","_step","feature","cli","_callee8$","_context8","CliGlobalEmitter","Emitter","process","ImportService","enableCaching","ServiceFactory","buildApiClientFactory","StoreFactory","homeDir","osUtil","homedir","graphicsInterface","TerminalInterface","WriterFactory","templates","settings","linter","loadOptionOverrides","loadCommandBlocks","getSkillNamespace","setTitle","_unused","ActionFactory","ActionExecuter","featureInstallerFactory","FeatureInstallerFactory","WithAllFeatures","FeatureCommandAttacher","featureCodes","attachFeature","finish","commands","sort","a","b","_name","localeCompare","action","_","args","Boot","_x3","blocks","doesExist","_pkg$get","get","mapped","overrides","argParserUtil","bootOptions","_ref","_callee9","_callee9$","_context9","apiClientUtil","generateClientCacheKey","connectToApi","_x4","_connectToApi","_callee11","connect","_ref3","_ref3$shouldAuthAsCur","shouldAuthAsCurrentSkill","_ref3$shouldAuthAsLog","shouldAuthAsLoggedInPerson","client","auth","doesPkgExist","person","_callee11$","_context11","_callee10","_bootOptions$host","eventsContracts","_callee10$","_context10","MercuryClientFactory","Client","contracts","host","DEFAULT_HOST","allowSelfSignedCrt","skillId","apiKey","getCurrentSkill","id","getLoggedInPerson","token","authenticate","_x5","_x6","_x7","_x8"],"sources":["../../src/cli/Cli.ts"],"sourcesContent":["import osUtil from 'os'\nimport {\n\tConnectionOptions,\n\tMercuryClientFactory,\n} from '@sprucelabs/mercury-client'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport {\n\tHealthCheckResults,\n\tHEALTH_DIVIDER,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport { DEFAULT_HOST } from '../constants'\nimport SpruceError from '../errors/SpruceError'\nimport ActionExecuter from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport FeatureCommandAttacher, {\n\tBlockedCommands,\n\tOptionOverrides,\n} from '../features/FeatureCommandAttacher'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureCode, InstallFeatureOptions } from '../features/features.types'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport PkgService from '../services/PkgService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport {\n\tApiClient,\n\tApiClientFactory,\n\tApiClientFactoryOptions,\n} from '../types/apiClient.types'\nimport {\n\tCliBootOptions,\n\tCliInterface,\n\tGraphicsInterface,\n\tHealthOptions,\n\tPromiseCache,\n} from '../types/cli.types'\nimport apiClientUtil from '../utilities/apiClient.utility'\nimport { argParserUtil } from '../utilities/argParser.utility'\nimport WriterFactory from '../writers/WriterFactory'\n\nexport default class Cli implements CliInterface {\n\tprivate cwd: string\n\tprivate featureInstaller: FeatureInstaller\n\tprivate serviceFactory: ServiceFactory\n\tpublic readonly emitter: GlobalEmitter\n\tprivate static apiClients: PromiseCache = {}\n\tprivate attacher?: FeatureCommandAttacher\n\tprivate actionExecuter?: ActionExecuter\n\n\tprivate constructor(\n\t\tcwd: string,\n\t\tfeatureInstaller: FeatureInstaller,\n\t\tserviceFactory: ServiceFactory,\n\t\temitter: GlobalEmitter,\n\t\tattacher?: FeatureCommandAttacher,\n\t\tactionExecuter?: ActionExecuter\n\t) {\n\t\tthis.cwd = cwd\n\t\tthis.featureInstaller = featureInstaller\n\t\tthis.serviceFactory = serviceFactory\n\t\tthis.emitter = emitter\n\t\tthis.attacher = attacher\n\t\tthis.actionExecuter = actionExecuter\n\t}\n\n\tpublic static async resetApiClients() {\n\t\tfor (const key in this.apiClients) {\n\t\t\tawait (await this.apiClients[key]).disconnect()\n\t\t}\n\n\t\tthis.apiClients = {}\n\t}\n\n\tpublic getAttacher() {\n\t\treturn this.attacher\n\t}\n\n\tpublic getActionExecuter() {\n\t\treturn this.actionExecuter\n\t}\n\n\tpublic async on(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.on(...args)\n\t}\n\n\tpublic async off(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.off(...args)\n\t}\n\n\tpublic async emit(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.emit(...args)\n\t}\n\n\tpublic async emitAndFlattenResponses(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.emitAndFlattenResponses(...args)\n\t}\n\n\tpublic async installFeatures(options: InstallFeatureOptions) {\n\t\treturn this.featureInstaller.install(options)\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C) {\n\t\treturn this.featureInstaller.getFeature(code)\n\t}\n\n\tpublic async checkHealth(\n\t\toptions?: HealthOptions\n\t): Promise<HealthCheckResults> {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\treturn {\n\t\t\t\tskill: {\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_INSTALLED',\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst commandService = this.serviceFactory.Service(this.cwd, 'command')\n\t\t\tconst command =\n\t\t\t\toptions?.shouldRunOnSourceFiles === false\n\t\t\t\t\t? 'yarn health'\n\t\t\t\t\t: 'yarn health.local'\n\t\t\tconst results = await commandService.execute(command)\n\t\t\tconst resultParts = results.stdout.split(HEALTH_DIVIDER)\n\n\t\t\treturn JSON.parse(resultParts[1]) as HealthCheckResults\n\t\t} catch (originalError: any) {\n\t\t\tconst error = new SpruceError({\n\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\toriginalError,\n\t\t\t})\n\n\t\t\treturn {\n\t\t\t\tskill: {\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrors: [error],\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic static async Boot(options?: CliBootOptions): Promise<CliInterface> {\n\t\tconst program = options?.program\n\t\tconst emitter = options?.emitter ?? CliGlobalEmitter.Emitter()\n\n\t\tlet cwd = options?.cwd ?? process.cwd()\n\n\t\tImportService.enableCaching()\n\n\t\tconst services = new ServiceFactory()\n\t\tconst apiClientFactory =\n\t\t\toptions?.apiClientFactory ??\n\t\t\tCli.buildApiClientFactory(cwd, services, options)\n\n\t\tconst storeFactory = new StoreFactory({\n\t\t\tcwd,\n\t\t\tserviceFactory: services,\n\t\t\thomeDir: options?.homeDir ?? osUtil.homedir(),\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t})\n\n\t\tconst ui = (options?.graphicsInterface ??\n\t\t\tnew TerminalInterface(cwd)) as GraphicsInterface\n\t\tlet featureInstaller: FeatureInstaller | undefined\n\n\t\tconst writerFactory = new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui,\n\t\t\tsettings: services.Service(cwd, 'settings'),\n\t\t\tlinter: services.Service(cwd, 'lint'),\n\t\t})\n\n\t\tconst pkg = services.Service(cwd, 'pkg')\n\n\t\tconst optionOverrides = this.loadOptionOverrides(pkg)\n\t\tconst blockedCommands = this.loadCommandBlocks(services.Service(cwd, 'pkg'))\n\n\t\ttry {\n\t\t\tconst s = pkg.getSkillNamespace()\n\t\t\tif (s) {\n\t\t\t\tui.setTitle(s)\n\t\t\t}\n\t\t} catch {\n\t\t\t// no skill\n\t\t}\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\tui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tcwd,\n\t\t\tserviceFactory: services,\n\t\t\tstoreFactory,\n\t\t\ttemplates,\n\t\t\twriterFactory,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t})\n\n\t\tconst actionExecuter = new ActionExecuter({\n\t\t\tactionFactory,\n\t\t\tui,\n\t\t\temitter,\n\t\t\t//@ts-ignore\n\t\t\tfeatureInstallerFactory: () => featureInstaller,\n\t\t})\n\n\t\tfeatureInstaller =\n\t\t\toptions?.featureInstaller ??\n\t\t\tFeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd,\n\t\t\t\tserviceFactory: services,\n\t\t\t\tstoreFactory,\n\t\t\t\tui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t})\n\n\t\tlet attacher: FeatureCommandAttacher | undefined\n\n\t\tif (program) {\n\t\t\tattacher = new FeatureCommandAttacher({\n\t\t\t\tprogram,\n\t\t\t\tui,\n\t\t\t\tactionExecuter,\n\t\t\t})\n\n\t\t\tconst codes = FeatureInstallerFactory.featureCodes\n\n\t\t\tfor (const code of codes) {\n\t\t\t\tconst feature = featureInstaller.getFeature(code)\n\t\t\t\tawait attacher.attachFeature(feature)\n\t\t\t}\n\n\t\t\tprogram.commands.sort((a: any, b: any) => a._name.localeCompare(b._name))\n\n\t\t\tprogram.action((_, command) => {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'INVALID_COMMAND',\n\t\t\t\t\targs: command.args || [],\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\tconst cli = new Cli(\n\t\t\tcwd,\n\t\t\tfeatureInstaller,\n\t\t\tservices,\n\t\t\temitter,\n\t\t\tattacher,\n\t\t\tactionExecuter\n\t\t)\n\n\t\treturn cli as CliInterface\n\t}\n\n\tprivate static loadCommandBlocks(pkg: PkgService): BlockedCommands {\n\t\tlet blocks: BlockedCommands = {}\n\t\tif (pkg.doesExist()) {\n\t\t\tblocks = pkg.get('skill.blockedCommands') ?? {}\n\t\t}\n\t\treturn blocks\n\t}\n\n\tprivate static loadOptionOverrides(pkg: PkgService): OptionOverrides {\n\t\tconst mapped: OptionOverrides = {}\n\n\t\tif (pkg.doesExist()) {\n\t\t\tconst overrides = pkg.get('skill.commandOverrides')\n\n\t\t\tObject.keys(overrides ?? {}).forEach((command) => {\n\t\t\t\tconst options = argParserUtil.parse(overrides[command])\n\t\t\t\tmapped[command] = options\n\t\t\t})\n\t\t}\n\t\treturn mapped\n\t}\n\n\tpublic static buildApiClientFactory(\n\t\tcwd: string,\n\t\tserviceFactory: ServiceFactory,\n\t\tbootOptions?: CliBootOptions & ConnectionOptions\n\t): ApiClientFactory {\n\t\tconst apiClientFactory = async (options?: ApiClientFactoryOptions) => {\n\t\t\tconst key = apiClientUtil.generateClientCacheKey(options)\n\n\t\t\tif (!Cli.apiClients[key]) {\n\t\t\t\tCli.apiClients[key] = Cli.connectToApi(\n\t\t\t\t\tcwd,\n\t\t\t\t\tserviceFactory,\n\t\t\t\t\toptions,\n\t\t\t\t\tbootOptions\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn Cli.apiClients[key]\n\t\t}\n\n\t\treturn apiClientFactory\n\t}\n\n\tprivate static async connectToApi(\n\t\tcwd: string,\n\t\tserviceFactory: ServiceFactory,\n\t\toptions?: ApiClientFactoryOptions,\n\t\tbootOptions?: CliBootOptions & ConnectionOptions\n\t): Promise<ApiClient> {\n\t\tconst connect = bootOptions?.apiClientFactory\n\t\t\t? bootOptions.apiClientFactory\n\t\t\t: async () => {\n\t\t\t\t\tconst eventsContracts =\n\t\t\t\t\t\trequire('#spruce/events/events.contract').default\n\n\t\t\t\t\tconst client: ApiClient = await MercuryClientFactory.Client({\n\t\t\t\t\t\tcontracts: eventsContracts as any,\n\t\t\t\t\t\thost: bootOptions?.host ?? DEFAULT_HOST,\n\t\t\t\t\t\tallowSelfSignedCrt: true,\n\t\t\t\t\t\t...bootOptions,\n\t\t\t\t\t})\n\n\t\t\t\t\treturn client\n\t\t\t\t}\n\n\t\tconst {\n\t\t\tshouldAuthAsCurrentSkill = false,\n\t\t\tshouldAuthAsLoggedInPerson = true,\n\t\t} = options ?? {}\n\n\t\tconst client = await connect()\n\n\t\tlet auth: SpruceSchemas.Mercury.v2020_12_25.AuthenticateEmitPayload = {}\n\n\t\tconst pkg = serviceFactory.Service(cwd, 'pkg')\n\t\tconst doesPkgExist = pkg.doesExist()\n\n\t\tif (options?.skillId && options?.apiKey) {\n\t\t\tauth = {\n\t\t\t\tskillId: options.skillId,\n\t\t\t\tapiKey: options.apiKey,\n\t\t\t}\n\t\t} else if (shouldAuthAsCurrentSkill) {\n\t\t\tconst skill = serviceFactory.Service(cwd, 'auth').getCurrentSkill()\n\n\t\t\tif (skill) {\n\t\t\t\tauth = {\n\t\t\t\t\tskillId: skill.id,\n\t\t\t\t\tapiKey: skill.apiKey,\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (doesPkgExist && shouldAuthAsLoggedInPerson) {\n\t\t\tconst person = serviceFactory.Service(cwd, 'auth').getLoggedInPerson()\n\n\t\t\tif (person) {\n\t\t\t\tauth.token = person.token\n\t\t\t}\n\t\t}\n\n\t\tif (Object.keys(auth).length > 0) {\n\t\t\tawait client.authenticate({\n\t\t\t\t...(auth as any),\n\t\t\t})\n\n\t\t\t//@ts-ignore\n\t\t\tclient.auth = auth\n\t\t}\n\n\t\treturn client\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Cli.js","names":["_os","_interopRequireDefault","require","_mercuryClient","_spruceSkillUtils","_spruceTemplates","_constants","_SpruceError","_ActionExecuter","_ActionFactory","_FeatureCommandAttacher","_FeatureInstallerFactory","_GlobalEmitter","_TerminalInterface","_ImportService","_ServiceFactory","_StoreFactory","_apiClient","_argParser","_WriterFactory","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","Cli","exports","cwd","featureInstaller","serviceFactory","emitter","attacher","actionExecuter","_classCallCheck2","_createClass2","key","getAttacher","getActionExecuter","_on","_asyncToGenerator2","_regenerator","mark","_callee","_this$emitter","_args","wrap","_callee$","_context","prev","abrupt","on","stop","_off","_callee2","_this$emitter2","_args2","_callee2$","_context2","off","_emit","_callee3","_this$emitter3","_args3","_callee3$","_context3","emit","_emitAndFlattenResponses","_callee4","_this$emitter4","_args4","_callee4$","_context4","emitAndFlattenResponses","_installFeatures","_callee5","options","_callee5$","_context5","install","installFeatures","_x","getFeature","code","_checkHealth","_callee6","isInstalled","commandService","command","results","resultParts","error","_callee6$","_context6","sent","skill","status","errors","SpruceError","Service","shouldRunOnSourceFiles","execute","stdout","split","HEALTH_DIVIDER","JSON","parse","t0","originalError","checkHealth","_x2","_resetApiClients","_callee7","_callee7$","_context7","apiClients","t1","disconnect","resetApiClients","_Boot","_callee8","_options$emitter","_options$cwd","_options$apiClientFac","_options$homeDir","_options$graphicsInte","_options$featureInsta","program","services","apiClientFactory","storeFactory","ui","writerFactory","pkg","optionOverrides","blockedCommands","actionFactory","codes","_iterator","_step","feature","cli","_callee8$","_context8","CliGlobalEmitter","Emitter","process","ImportService","enableCaching","ServiceFactory","buildApiClientFactory","StoreFactory","homeDir","osUtil","homedir","graphicsInterface","TerminalInterface","WriterFactory","templates","settings","linter","loadOptionOverrides","loadCommandBlocks","getSkillNamespace","setTitle","_unused","ActionFactory","ActionExecuter","featureInstallerFactory","FeatureInstallerFactory","WithAllFeatures","FeatureCommandAttacher","featureCodes","attachFeature","finish","commands","sort","a","b","_name","localeCompare","action","_","args","Boot","_x3","blocks","doesExist","_pkg$get","get","mapped","overrides","argParserUtil","bootOptions","_ref","_callee9","_callee9$","_context9","apiClientUtil","generateClientCacheKey","connectToApi","_x4","_connectToApi","_callee11","connect","_ref3","_ref3$shouldAuthAsCur","shouldAuthAsCurrentSkill","_ref3$shouldAuthAsLog","shouldAuthAsLoggedInPerson","client","auth","doesPkgExist","person","_callee11$","_context11","_callee10","_bootOptions$host","eventsContracts","_callee10$","_context10","MercuryClientFactory","Client","contracts","host","DEFAULT_HOST","allowSelfSignedCrt","skillId","apiKey","getCurrentSkill","id","getLoggedInPerson","token","authenticate","_x5","_x6","_x7","_x8"],"sources":["../../src/cli/Cli.ts"],"sourcesContent":["import osUtil from 'os'\nimport {\n\tConnectionOptions,\n\tMercuryClientFactory,\n} from '@sprucelabs/mercury-client'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport {\n\tHealthCheckResults,\n\tHEALTH_DIVIDER,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport { DEFAULT_HOST } from '../constants'\nimport SpruceError from '../errors/SpruceError'\nimport ActionExecuter from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport FeatureCommandAttacher, {\n\tBlockedCommands,\n\tOptionOverrides,\n} from '../features/FeatureCommandAttacher'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureCode, InstallFeatureOptions } from '../features/features.types'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport PkgService from '../services/PkgService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport {\n\tApiClient,\n\tApiClientFactory,\n\tApiClientFactoryOptions,\n} from '../types/apiClient.types'\nimport {\n\tCliBootOptions,\n\tCliInterface,\n\tGraphicsInterface,\n\tHealthOptions,\n\tPromiseCache,\n} from '../types/cli.types'\nimport apiClientUtil from '../utilities/apiClient.utility'\nimport { argParserUtil } from '../utilities/argParser.utility'\nimport WriterFactory from '../writers/WriterFactory'\n\nexport default class Cli implements CliInterface {\n\tprivate cwd: string\n\tprivate featureInstaller: FeatureInstaller\n\tprivate serviceFactory: ServiceFactory\n\tpublic readonly emitter: GlobalEmitter\n\tprivate static apiClients: PromiseCache = {}\n\tprivate attacher?: FeatureCommandAttacher\n\tprivate actionExecuter?: ActionExecuter\n\n\tprivate constructor(\n\t\tcwd: string,\n\t\tfeatureInstaller: FeatureInstaller,\n\t\tserviceFactory: ServiceFactory,\n\t\temitter: GlobalEmitter,\n\t\tattacher?: FeatureCommandAttacher,\n\t\tactionExecuter?: ActionExecuter\n\t) {\n\t\tthis.cwd = cwd\n\t\tthis.featureInstaller = featureInstaller\n\t\tthis.serviceFactory = serviceFactory\n\t\tthis.emitter = emitter\n\t\tthis.attacher = attacher\n\t\tthis.actionExecuter = actionExecuter\n\t}\n\n\tpublic static async resetApiClients() {\n\t\tfor (const key in this.apiClients) {\n\t\t\tawait (await this.apiClients[key]).disconnect()\n\t\t}\n\n\t\tthis.apiClients = {}\n\t}\n\n\tpublic getAttacher() {\n\t\treturn this.attacher\n\t}\n\n\tpublic getActionExecuter() {\n\t\treturn this.actionExecuter\n\t}\n\n\tpublic async on(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.on(...args)\n\t}\n\n\tpublic async off(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.off(...args)\n\t}\n\n\tpublic async emit(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.emit(...args)\n\t}\n\n\tpublic async emitAndFlattenResponses(...args: any[]) {\n\t\t//@ts-ignore\n\t\treturn this.emitter.emitAndFlattenResponses(...args)\n\t}\n\n\tpublic async installFeatures(options: InstallFeatureOptions) {\n\t\treturn this.featureInstaller.install(options)\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C) {\n\t\treturn this.featureInstaller.getFeature(code)\n\t}\n\n\tpublic async checkHealth(\n\t\toptions?: HealthOptions\n\t): Promise<HealthCheckResults> {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\treturn {\n\t\t\t\tskill: {\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_INSTALLED',\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst commandService = this.serviceFactory.Service(this.cwd, 'command')\n\t\t\tconst command =\n\t\t\t\toptions?.shouldRunOnSourceFiles === false\n\t\t\t\t\t? 'yarn health'\n\t\t\t\t\t: 'yarn health.local'\n\t\t\tconst results = await commandService.execute(command)\n\t\t\tconst resultParts = results.stdout.split(HEALTH_DIVIDER)\n\n\t\t\treturn JSON.parse(resultParts[1]) as HealthCheckResults\n\t\t} catch (originalError: any) {\n\t\t\tconst error = new SpruceError({\n\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\toriginalError,\n\t\t\t})\n\n\t\t\treturn {\n\t\t\t\tskill: {\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrors: [error],\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic static async Boot(options?: CliBootOptions): Promise<CliInterface> {\n\t\tconst program = options?.program\n\t\tconst emitter = options?.emitter ?? CliGlobalEmitter.Emitter()\n\n\t\tlet cwd = options?.cwd ?? process.cwd()\n\n\t\tImportService.enableCaching()\n\n\t\tconst services = new ServiceFactory()\n\t\tconst apiClientFactory =\n\t\t\toptions?.apiClientFactory ??\n\t\t\tCli.buildApiClientFactory(cwd, services, options)\n\n\t\tconst storeFactory = new StoreFactory({\n\t\t\tcwd,\n\t\t\tserviceFactory: services,\n\t\t\thomeDir: options?.homeDir ?? osUtil.homedir(),\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t})\n\n\t\tconst ui = (options?.graphicsInterface ??\n\t\t\tnew TerminalInterface(cwd)) as GraphicsInterface\n\t\tlet featureInstaller: FeatureInstaller | undefined\n\n\t\tconst writerFactory = new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui,\n\t\t\tsettings: services.Service(cwd, 'settings'),\n\t\t\tlinter: services.Service(cwd, 'lint'),\n\t\t})\n\n\t\tconst pkg = services.Service(cwd, 'pkg')\n\n\t\tconst optionOverrides = this.loadOptionOverrides(pkg)\n\t\tconst blockedCommands = this.loadCommandBlocks(services.Service(cwd, 'pkg'))\n\n\t\ttry {\n\t\t\tconst s = pkg.getSkillNamespace()\n\t\t\tif (s) {\n\t\t\t\tui.setTitle(s)\n\t\t\t}\n\t\t} catch {\n\t\t\t// no skill\n\t\t}\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\tui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tcwd,\n\t\t\tserviceFactory: services,\n\t\t\tstoreFactory,\n\t\t\ttemplates,\n\t\t\twriterFactory,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t})\n\n\t\tconst actionExecuter = new ActionExecuter({\n\t\t\tactionFactory,\n\t\t\tui,\n\t\t\temitter,\n\t\t\t//@ts-ignore\n\t\t\tfeatureInstallerFactory: () => featureInstaller,\n\t\t})\n\n\t\tfeatureInstaller =\n\t\t\toptions?.featureInstaller ??\n\t\t\tFeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd,\n\t\t\t\tserviceFactory: services,\n\t\t\t\tstoreFactory,\n\t\t\t\tui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t})\n\n\t\tlet attacher: FeatureCommandAttacher | undefined\n\n\t\tif (program) {\n\t\t\tattacher = new FeatureCommandAttacher({\n\t\t\t\tprogram,\n\t\t\t\tui,\n\t\t\t\tactionExecuter,\n\t\t\t})\n\n\t\t\tconst codes = FeatureInstallerFactory.featureCodes\n\n\t\t\tfor (const code of codes) {\n\t\t\t\tconst feature = featureInstaller.getFeature(code)\n\t\t\t\tawait attacher.attachFeature(feature)\n\t\t\t}\n\n\t\t\tprogram.commands.sort((a: any, b: any) => a._name.localeCompare(b._name))\n\n\t\t\tprogram.action((_, command) => {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'INVALID_COMMAND',\n\t\t\t\t\targs: command.args || [],\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\tconst cli = new Cli(\n\t\t\tcwd,\n\t\t\tfeatureInstaller,\n\t\t\tservices,\n\t\t\temitter,\n\t\t\tattacher,\n\t\t\tactionExecuter\n\t\t)\n\n\t\treturn cli as CliInterface\n\t}\n\n\tprivate static loadCommandBlocks(pkg: PkgService): BlockedCommands {\n\t\tlet blocks: BlockedCommands = {}\n\t\tif (pkg.doesExist()) {\n\t\t\tblocks = pkg.get('skill.blockedCommands') ?? {}\n\t\t}\n\t\treturn blocks\n\t}\n\n\tprivate static loadOptionOverrides(pkg: PkgService): OptionOverrides {\n\t\tconst mapped: OptionOverrides = {}\n\n\t\tif (pkg.doesExist()) {\n\t\t\tconst overrides = pkg.get('skill.commandOverrides')\n\n\t\t\tObject.keys(overrides ?? {}).forEach((command) => {\n\t\t\t\tconst options = argParserUtil.parse(overrides[command])\n\t\t\t\tmapped[command] = options\n\t\t\t})\n\t\t}\n\t\treturn mapped\n\t}\n\n\tpublic static buildApiClientFactory(\n\t\tcwd: string,\n\t\tserviceFactory: ServiceFactory,\n\t\tbootOptions?: CliBootOptions & ConnectionOptions\n\t): ApiClientFactory {\n\t\tconst apiClientFactory = async (options?: ApiClientFactoryOptions) => {\n\t\t\tconst key = apiClientUtil.generateClientCacheKey(options)\n\n\t\t\tif (!Cli.apiClients[key]) {\n\t\t\t\tCli.apiClients[key] = Cli.connectToApi(\n\t\t\t\t\tcwd,\n\t\t\t\t\tserviceFactory,\n\t\t\t\t\toptions,\n\t\t\t\t\tbootOptions\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn Cli.apiClients[key]\n\t\t}\n\n\t\treturn apiClientFactory\n\t}\n\n\tprivate static async connectToApi(\n\t\tcwd: string,\n\t\tserviceFactory: ServiceFactory,\n\t\toptions?: ApiClientFactoryOptions,\n\t\tbootOptions?: CliBootOptions & ConnectionOptions\n\t): Promise<ApiClient> {\n\t\tconst connect = bootOptions?.apiClientFactory\n\t\t\t? bootOptions.apiClientFactory\n\t\t\t: async () => {\n\t\t\t\t\tconst eventsContracts =\n\t\t\t\t\t\trequire('#spruce/events/events.contract').default\n\n\t\t\t\t\tconst client: ApiClient = await MercuryClientFactory.Client({\n\t\t\t\t\t\tcontracts: eventsContracts as any,\n\t\t\t\t\t\thost: bootOptions?.host ?? DEFAULT_HOST,\n\t\t\t\t\t\tallowSelfSignedCrt: true,\n\t\t\t\t\t\t...bootOptions,\n\t\t\t\t\t})\n\n\t\t\t\t\treturn client\n\t\t\t\t}\n\n\t\tconst {\n\t\t\tshouldAuthAsCurrentSkill = false,\n\t\t\tshouldAuthAsLoggedInPerson = true,\n\t\t} = options ?? {}\n\n\t\tconst client = await connect()\n\n\t\tlet auth: SpruceSchemas.Mercury.v2020_12_25.AuthenticateEmitPayload = {}\n\n\t\tconst pkg = serviceFactory.Service(cwd, 'pkg')\n\t\tconst doesPkgExist = pkg.doesExist()\n\n\t\tif (options?.skillId && options?.apiKey) {\n\t\t\tauth = {\n\t\t\t\tskillId: options.skillId,\n\t\t\t\tapiKey: options.apiKey,\n\t\t\t}\n\t\t} else if (shouldAuthAsCurrentSkill) {\n\t\t\tconst skill = serviceFactory.Service(cwd, 'auth').getCurrentSkill()\n\n\t\t\tif (skill) {\n\t\t\t\tauth = {\n\t\t\t\t\tskillId: skill.id,\n\t\t\t\t\tapiKey: skill.apiKey,\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (doesPkgExist && shouldAuthAsLoggedInPerson) {\n\t\t\tconst person = serviceFactory.Service(cwd, 'auth').getLoggedInPerson()\n\n\t\t\tif (person) {\n\t\t\t\tauth.token = person.token\n\t\t\t}\n\t\t}\n\n\t\tif (Object.keys(auth).length > 0) {\n\t\t\tawait client.authenticate({\n\t\t\t\t...(auth as any),\n\t\t\t})\n\n\t\t\t//@ts-ignore\n\t\t\tclient.auth = auth\n\t\t}\n\n\t\treturn client\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,13 +17,12 @@ var AbstractComponent = exports["default"] = /*#__PURE__*/function () {
|
|
|
17
17
|
(0, _defineProperty2["default"])(this, "ui", void 0);
|
|
18
18
|
this.ui = ui;
|
|
19
19
|
}
|
|
20
|
-
(0, _createClass2["default"])(AbstractComponent, [{
|
|
20
|
+
return (0, _createClass2["default"])(AbstractComponent, [{
|
|
21
21
|
key: "formComponent",
|
|
22
22
|
value: function formComponent(options) {
|
|
23
23
|
var formBuilder = new _FormComponent["default"](_objectSpread({}, options));
|
|
24
24
|
return formBuilder;
|
|
25
25
|
}
|
|
26
26
|
}]);
|
|
27
|
-
return AbstractComponent;
|
|
28
27
|
}();
|
|
29
28
|
//# sourceMappingURL=AbstractComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractComponent.js","names":["_FormComponent","_interopRequireDefault","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","AbstractComponent","exports","ui","_classCallCheck2","_createClass2","key","value","formComponent","options","formBuilder","FormComponent"],"sources":["../../src/components/AbstractComponent.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport FormComponent, { FormOptions } from './FormComponent'\n\nexport default abstract class AbstractComponent {\n\tprotected ui: TerminalInterface\n\tpublic constructor(ui: TerminalInterface) {\n\t\tthis.ui = ui\n\t}\n\n\tpublic formComponent<T extends Schema>(\n\t\toptions: Omit<FormOptions<T>, 'term'>\n\t): FormComponent<T> {\n\t\tconst formBuilder = new FormComponent({\n\t\t\t...options,\n\t\t})\n\t\treturn formBuilder\n\t}\n}\n"],"mappings":";;;;;;;;;;AAEA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4D,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,IAE9BoB,iBAAiB,GAAAC,OAAA;EAE9C,SAAAD,kBAAmBE,EAAqB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,iBAAA;IAAA,IAAAJ,gBAAA;IACzC,IAAI,CAACM,EAAE,GAAGA,EAAE;EACb;EAAC,
|
|
1
|
+
{"version":3,"file":"AbstractComponent.js","names":["_FormComponent","_interopRequireDefault","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","AbstractComponent","exports","ui","_classCallCheck2","_createClass2","key","value","formComponent","options","formBuilder","FormComponent"],"sources":["../../src/components/AbstractComponent.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport FormComponent, { FormOptions } from './FormComponent'\n\nexport default abstract class AbstractComponent {\n\tprotected ui: TerminalInterface\n\tpublic constructor(ui: TerminalInterface) {\n\t\tthis.ui = ui\n\t}\n\n\tpublic formComponent<T extends Schema>(\n\t\toptions: Omit<FormOptions<T>, 'term'>\n\t): FormComponent<T> {\n\t\tconst formBuilder = new FormComponent({\n\t\t\t...options,\n\t\t})\n\t\treturn formBuilder\n\t}\n}\n"],"mappings":";;;;;;;;;;AAEA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4D,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,IAE9BoB,iBAAiB,GAAAC,OAAA;EAE9C,SAAAD,kBAAmBE,EAAqB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,iBAAA;IAAA,IAAAJ,gBAAA;IACzC,IAAI,CAACM,EAAE,GAAGA,EAAE;EACb;EAAC,WAAAE,aAAA,aAAAJ,iBAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAC,cACCC,OAAqC,EAClB;MACnB,IAAMC,WAAW,GAAG,IAAIC,yBAAa,CAAAlB,aAAA,KACjCgB,OAAO,CACV,CAAC;MACF,OAAOC,WAAW;IACnB;EAAC;AAAA","ignoreList":[]}
|
|
@@ -11,7 +11,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
16
|
var _error = _interopRequireDefault(require("@sprucelabs/error"));
|
|
@@ -33,14 +32,13 @@ var FormBuilderActionType = /*#__PURE__*/function (FormBuilderActionType) {
|
|
|
33
32
|
return FormBuilderActionType;
|
|
34
33
|
}(FormBuilderActionType || {});
|
|
35
34
|
var FormComponent = exports["default"] = /*#__PURE__*/function (_SchemaEntity) {
|
|
36
|
-
(0, _inherits2["default"])(FormComponent, _SchemaEntity);
|
|
37
35
|
function FormComponent(options) {
|
|
38
36
|
var _this;
|
|
39
37
|
(0, _classCallCheck2["default"])(this, FormComponent);
|
|
40
38
|
// Setup schema
|
|
41
39
|
_this = _callSuper(this, FormComponent, [options.schema, options.initialValues]);
|
|
42
|
-
(0, _defineProperty2["default"])(
|
|
43
|
-
(0, _defineProperty2["default"])(
|
|
40
|
+
(0, _defineProperty2["default"])(_this, "ui", void 0);
|
|
41
|
+
(0, _defineProperty2["default"])(_this, "handlers", {});
|
|
44
42
|
var ui = options.ui;
|
|
45
43
|
|
|
46
44
|
// Save ui for writing, saving
|
|
@@ -53,7 +51,8 @@ var FormComponent = exports["default"] = /*#__PURE__*/function (_SchemaEntity) {
|
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
/** Pass me a schema and i'll give you back an object that conforms to it based on user input */
|
|
56
|
-
(0,
|
|
54
|
+
(0, _inherits2["default"])(FormComponent, _SchemaEntity);
|
|
55
|
+
return (0, _createClass2["default"])(FormComponent, [{
|
|
57
56
|
key: "present",
|
|
58
57
|
value: (function () {
|
|
59
58
|
var _present = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -318,6 +317,5 @@ var FormComponent = exports["default"] = /*#__PURE__*/function (_SchemaEntity) {
|
|
|
318
317
|
return renderOverview;
|
|
319
318
|
}()
|
|
320
319
|
}]);
|
|
321
|
-
return FormComponent;
|
|
322
320
|
}(_schema["default"]);
|
|
323
321
|
//# sourceMappingURL=FormComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComponent.js","names":["_error","_interopRequireDefault","require","_schema","_lodash","_SpruceError","_graphicsInterface","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","FormBuilderActionType","FormComponent","exports","_SchemaEntity","_inherits2","options","_this","_classCallCheck2","schema","initialValues","_assertThisInitialized2","ui","onWillAskQuestion","handlers","_createClass2","key","_present","_asyncToGenerator2","_regenerator","mark","_callee","headline","showOverview","_options$fields","fields","valid","action","fieldName","answer","namedFields","_iterator","_step","namedField","_name","_answer","values","cleanValues","_args","wrap","_callee$","_context","prev","undefined","getNamedFields","map","nf","renderHeadline","GraphicsTextEffect","SpruceHeader","renderLine","renderOverview","sent","t0","type","EditField","Done","askQuestion","set","abrupt","t1","finish","validate","t2","renderError","waitForEnter","getValues","shouldCreateEntityInstances","pick","stop","present","_this$getNamedFields$","field","find","Error","concat","schemaId","definition","get","shouldValidate","SpruceError","code","friendlyMessage","defaultValue","prompt","error","renderDivider","Red","Bold","AbstractSpruceError","renderWarning","message","_renderOverview","_callee2","_this2","_options$fields2","actionMap","choices","response","_args2","_callee2$","_context2","indexOf","actionKey","label","isRequired","SchemaEntity"],"sources":["../../src/components/FormComponent.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport SchemaEntity, {\n\tSchema,\n\tSchemaAllValues,\n\tSchemaPartialValues,\n\tSchemaFieldNames,\n\tSelectChoice,\n\tIFieldDefinition,\n} from '@sprucelabs/schema'\nimport { pick } from 'lodash'\nimport { FieldDefinitions } from '#spruce/schemas/fields/fields.types'\nimport SpruceError from '../errors/SpruceError'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\n\nenum FormBuilderActionType {\n\tDone = 'done',\n\tCancel = 'cancel',\n\tEditField = 'edit_field',\n}\n\ninterface FormActionDone {\n\ttype: FormBuilderActionType.Done\n}\n\ninterface FormActionCancel {\n\ttype: FormBuilderActionType.Cancel\n}\n\ntype FormActionEditField<T extends Schema> = {\n\ttype: FormBuilderActionType.EditField\n\tfieldName: SchemaFieldNames<T>\n}\n\ntype FormAction<T extends Schema> =\n\t| FormActionDone\n\t| FormActionCancel\n\t| FormActionEditField<T>\n\nexport interface FormPresentationOptions<\n\tT extends Schema,\n\tF extends SchemaFieldNames<T> = SchemaFieldNames<T>,\n> {\n\theadline?: string\n\tshowOverview?: boolean\n\tfields?: F[]\n}\n\nexport interface FormOptions<T extends Schema> {\n\tui: GraphicsInterface\n\tschema: T\n\tinitialValues?: SchemaPartialValues<T>\n\tonWillAskQuestion?: <K extends SchemaFieldNames<T>>(\n\t\tname: K,\n\t\tfieldDefinition: FieldDefinitions,\n\t\tvalues: SchemaPartialValues<T>\n\t) => FieldDefinitions\n}\n\ninterface Handlers<T extends Schema> {\n\tonWillAskQuestion?: FormOptions<T>['onWillAskQuestion']\n}\n\nexport default class FormComponent<S extends Schema> extends SchemaEntity<S> {\n\tpublic ui: GraphicsInterface\n\tpublic handlers: Handlers<S> = {}\n\n\tpublic constructor(options: FormOptions<S>) {\n\t\t// Setup schema\n\t\tsuper(options.schema, options.initialValues)\n\n\t\tconst { ui } = options\n\n\t\t// Save ui for writing, saving\n\t\tthis.ui = ui\n\n\t\t// Handlers\n\t\tconst { onWillAskQuestion } = options\n\t\tthis.handlers.onWillAskQuestion = onWillAskQuestion\n\t}\n\n\t/** Pass me a schema and i'll give you back an object that conforms to it based on user input */\n\tpublic async present<F extends SchemaFieldNames<S> = SchemaFieldNames<S>>(\n\t\toptions: FormPresentationOptions<S, F> = {}\n\t): Promise<Pick<SchemaAllValues<S>, F>> {\n\t\tconst { ui } = this\n\t\tconst {\n\t\t\theadline,\n\t\t\tshowOverview,\n\t\t\tfields = this.getNamedFields().map((nf) => nf.name),\n\t\t} = options\n\n\t\tlet done = false\n\t\tlet valid = false\n\n\t\tdo {\n\t\t\tif (headline) {\n\t\t\t\tui.renderHeadline(headline, [GraphicsTextEffect.SpruceHeader])\n\t\t\t\tui.renderLine('')\n\t\t\t}\n\n\t\t\tif (showOverview) {\n\t\t\t\t// Overview mode\n\t\t\t\tconst action = await this.renderOverview({ fields })\n\n\t\t\t\tswitch (action.type) {\n\t\t\t\t\tcase FormBuilderActionType.EditField: {\n\t\t\t\t\t\t// Editing a field\n\t\t\t\t\t\tconst fieldName = action.fieldName\n\t\t\t\t\t\tconst answer = await this.askQuestion(fieldName)\n\n\t\t\t\t\t\t// Set the new value\n\t\t\t\t\t\tthis.set(fieldName, answer)\n\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase FormBuilderActionType.Done: {\n\t\t\t\t\t\tdone = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Asking one question at a time\n\t\t\t\tconst namedFields = this.getNamedFields({ fields })\n\n\t\t\t\tfor (const namedField of namedFields) {\n\t\t\t\t\tconst { name } = namedField\n\t\t\t\t\tconst answer = await this.askQuestion(name)\n\n\t\t\t\t\tthis.set(name, answer)\n\t\t\t\t}\n\n\t\t\t\tdone = true\n\t\t\t}\n\n\t\t\tif (done) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.validate({ fields })\n\t\t\t\t\tvalid = true\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthis.renderError(err)\n\n\t\t\t\t\tawait this.ui.waitForEnter()\n\t\t\t\t}\n\t\t\t}\n\t\t} while (!done || !valid)\n\n\t\tconst values = this.getValues({\n\t\t\tfields,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tconst cleanValues = pick(values, fields) as Pick<SchemaAllValues<S>, F>\n\n\t\treturn cleanValues\n\t}\n\n\t/** Ask a question based on a field */\n\tpublic askQuestion<F extends SchemaFieldNames<S>>(fieldName: F) {\n\t\tconst field = this.getNamedFields().find(\n\t\t\t(nf) => nf.name === fieldName\n\t\t)?.field\n\n\t\tif (!field) {\n\t\t\tthrow new Error(`No field named ${fieldName} on form ${this.schemaId}`)\n\t\t}\n\n\t\tlet definition = { ...field.definition }\n\t\tconst value = this.get(fieldName, {\n\t\t\tshouldValidate: false,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tif (definition.isArray) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'NOT_IMPLEMENTED',\n\t\t\t\tfriendlyMessage: 'Form builder does not support isArray yet',\n\t\t\t})\n\t\t}\n\n\t\tif (value) {\n\t\t\tdefinition.defaultValue = value as IFieldDefinition['defaultValue']\n\t\t}\n\n\t\tif (this.handlers.onWillAskQuestion) {\n\t\t\tdefinition = this.handlers.onWillAskQuestion(\n\t\t\t\tfieldName,\n\t\t\t\t//@ts-ignore\n\t\t\t\tdefinition,\n\t\t\t\tthis.getValues({\n\t\t\t\t\tshouldValidate: false,\n\t\t\t\t\tshouldCreateEntityInstances: false,\n\t\t\t\t}) as unknown as SchemaPartialValues<S>\n\t\t\t)\n\t\t}\n\n\t\treturn this.ui.prompt(definition)\n\t}\n\n\tpublic renderError(error: Error) {\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderHeadline('Please fix the following...', [\n\t\t\tGraphicsTextEffect.Red,\n\t\t\tGraphicsTextEffect.Bold,\n\t\t])\n\n\t\tthis.ui.renderLine('')\n\n\t\tif (error instanceof AbstractSpruceError) {\n\t\t\tthis.ui.renderWarning(error.friendlyMessage())\n\t\t} else {\n\t\t\tthis.ui.renderWarning(`Unexpected error ${error.message}`)\n\t\t}\n\n\t\tthis.ui.renderLine('')\n\t}\n\n\tpublic async renderOverview<F extends SchemaFieldNames<S>>(\n\t\toptions: { fields?: F[] } = {}\n\t): Promise<FormAction<S>> {\n\t\tconst { ui } = this\n\t\tconst { fields = this.getNamedFields().map((nf) => nf.name) } = options\n\n\t\tconst actionMap: Record<string, FormAction<S>> = {}\n\n\t\tconst choices: SelectChoice[] = this.getNamedFields()\n\t\t\t.filter((namedField) => fields.indexOf(namedField.name) > -1)\n\t\t\t.map((namedField) => {\n\t\t\t\tconst { field, name } = namedField\n\n\t\t\t\tconst actionKey = `field:${name}`\n\t\t\t\tconst action: FormActionEditField<S> = {\n\t\t\t\t\ttype: FormBuilderActionType.EditField,\n\t\t\t\t\tfieldName: name,\n\t\t\t\t}\n\n\t\t\t\tactionMap[actionKey] = action\n\n\t\t\t\tconst value = this.get(name, { shouldValidate: false })\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: actionKey,\n\t\t\t\t\tlabel: `${field.label}: ${value ? value : '***missing***'}`,\n\t\t\t\t}\n\t\t\t})\n\n\t\tactionMap['done'] = {\n\t\t\ttype: FormBuilderActionType.Done,\n\t\t}\n\n\t\tchoices.push({\n\t\t\tvalue: 'done',\n\t\t\tlabel: 'Done',\n\t\t})\n\n\t\tconst response = await ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\tlabel: 'Select any field to edit',\n\t\t\toptions: {\n\t\t\t\tchoices,\n\t\t\t},\n\t\t})\n\n\t\tconst action = actionMap[response]\n\t\treturn action\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormComponent.js","names":["_error","_interopRequireDefault","require","_schema","_lodash","_SpruceError","_graphicsInterface","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","FormBuilderActionType","FormComponent","exports","_SchemaEntity","options","_this","_classCallCheck2","schema","initialValues","ui","onWillAskQuestion","handlers","_inherits2","_createClass2","key","_present","_asyncToGenerator2","_regenerator","mark","_callee","headline","showOverview","_options$fields","fields","valid","action","fieldName","answer","namedFields","_iterator","_step","namedField","_name","_answer","values","cleanValues","_args","wrap","_callee$","_context","prev","undefined","getNamedFields","map","nf","renderHeadline","GraphicsTextEffect","SpruceHeader","renderLine","renderOverview","sent","t0","type","EditField","Done","askQuestion","set","abrupt","t1","finish","validate","t2","renderError","waitForEnter","getValues","shouldCreateEntityInstances","pick","stop","present","_this$getNamedFields$","field","find","Error","concat","schemaId","definition","get","shouldValidate","SpruceError","code","friendlyMessage","defaultValue","prompt","error","renderDivider","Red","Bold","AbstractSpruceError","renderWarning","message","_renderOverview","_callee2","_this2","_options$fields2","actionMap","choices","response","_args2","_callee2$","_context2","indexOf","actionKey","label","isRequired","SchemaEntity"],"sources":["../../src/components/FormComponent.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport SchemaEntity, {\n\tSchema,\n\tSchemaAllValues,\n\tSchemaPartialValues,\n\tSchemaFieldNames,\n\tSelectChoice,\n\tIFieldDefinition,\n} from '@sprucelabs/schema'\nimport { pick } from 'lodash'\nimport { FieldDefinitions } from '#spruce/schemas/fields/fields.types'\nimport SpruceError from '../errors/SpruceError'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\n\nenum FormBuilderActionType {\n\tDone = 'done',\n\tCancel = 'cancel',\n\tEditField = 'edit_field',\n}\n\ninterface FormActionDone {\n\ttype: FormBuilderActionType.Done\n}\n\ninterface FormActionCancel {\n\ttype: FormBuilderActionType.Cancel\n}\n\ntype FormActionEditField<T extends Schema> = {\n\ttype: FormBuilderActionType.EditField\n\tfieldName: SchemaFieldNames<T>\n}\n\ntype FormAction<T extends Schema> =\n\t| FormActionDone\n\t| FormActionCancel\n\t| FormActionEditField<T>\n\nexport interface FormPresentationOptions<\n\tT extends Schema,\n\tF extends SchemaFieldNames<T> = SchemaFieldNames<T>,\n> {\n\theadline?: string\n\tshowOverview?: boolean\n\tfields?: F[]\n}\n\nexport interface FormOptions<T extends Schema> {\n\tui: GraphicsInterface\n\tschema: T\n\tinitialValues?: SchemaPartialValues<T>\n\tonWillAskQuestion?: <K extends SchemaFieldNames<T>>(\n\t\tname: K,\n\t\tfieldDefinition: FieldDefinitions,\n\t\tvalues: SchemaPartialValues<T>\n\t) => FieldDefinitions\n}\n\ninterface Handlers<T extends Schema> {\n\tonWillAskQuestion?: FormOptions<T>['onWillAskQuestion']\n}\n\nexport default class FormComponent<S extends Schema> extends SchemaEntity<S> {\n\tpublic ui: GraphicsInterface\n\tpublic handlers: Handlers<S> = {}\n\n\tpublic constructor(options: FormOptions<S>) {\n\t\t// Setup schema\n\t\tsuper(options.schema, options.initialValues)\n\n\t\tconst { ui } = options\n\n\t\t// Save ui for writing, saving\n\t\tthis.ui = ui\n\n\t\t// Handlers\n\t\tconst { onWillAskQuestion } = options\n\t\tthis.handlers.onWillAskQuestion = onWillAskQuestion\n\t}\n\n\t/** Pass me a schema and i'll give you back an object that conforms to it based on user input */\n\tpublic async present<F extends SchemaFieldNames<S> = SchemaFieldNames<S>>(\n\t\toptions: FormPresentationOptions<S, F> = {}\n\t): Promise<Pick<SchemaAllValues<S>, F>> {\n\t\tconst { ui } = this\n\t\tconst {\n\t\t\theadline,\n\t\t\tshowOverview,\n\t\t\tfields = this.getNamedFields().map((nf) => nf.name),\n\t\t} = options\n\n\t\tlet done = false\n\t\tlet valid = false\n\n\t\tdo {\n\t\t\tif (headline) {\n\t\t\t\tui.renderHeadline(headline, [GraphicsTextEffect.SpruceHeader])\n\t\t\t\tui.renderLine('')\n\t\t\t}\n\n\t\t\tif (showOverview) {\n\t\t\t\t// Overview mode\n\t\t\t\tconst action = await this.renderOverview({ fields })\n\n\t\t\t\tswitch (action.type) {\n\t\t\t\t\tcase FormBuilderActionType.EditField: {\n\t\t\t\t\t\t// Editing a field\n\t\t\t\t\t\tconst fieldName = action.fieldName\n\t\t\t\t\t\tconst answer = await this.askQuestion(fieldName)\n\n\t\t\t\t\t\t// Set the new value\n\t\t\t\t\t\tthis.set(fieldName, answer)\n\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase FormBuilderActionType.Done: {\n\t\t\t\t\t\tdone = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Asking one question at a time\n\t\t\t\tconst namedFields = this.getNamedFields({ fields })\n\n\t\t\t\tfor (const namedField of namedFields) {\n\t\t\t\t\tconst { name } = namedField\n\t\t\t\t\tconst answer = await this.askQuestion(name)\n\n\t\t\t\t\tthis.set(name, answer)\n\t\t\t\t}\n\n\t\t\t\tdone = true\n\t\t\t}\n\n\t\t\tif (done) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.validate({ fields })\n\t\t\t\t\tvalid = true\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthis.renderError(err)\n\n\t\t\t\t\tawait this.ui.waitForEnter()\n\t\t\t\t}\n\t\t\t}\n\t\t} while (!done || !valid)\n\n\t\tconst values = this.getValues({\n\t\t\tfields,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tconst cleanValues = pick(values, fields) as Pick<SchemaAllValues<S>, F>\n\n\t\treturn cleanValues\n\t}\n\n\t/** Ask a question based on a field */\n\tpublic askQuestion<F extends SchemaFieldNames<S>>(fieldName: F) {\n\t\tconst field = this.getNamedFields().find(\n\t\t\t(nf) => nf.name === fieldName\n\t\t)?.field\n\n\t\tif (!field) {\n\t\t\tthrow new Error(`No field named ${fieldName} on form ${this.schemaId}`)\n\t\t}\n\n\t\tlet definition = { ...field.definition }\n\t\tconst value = this.get(fieldName, {\n\t\t\tshouldValidate: false,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tif (definition.isArray) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'NOT_IMPLEMENTED',\n\t\t\t\tfriendlyMessage: 'Form builder does not support isArray yet',\n\t\t\t})\n\t\t}\n\n\t\tif (value) {\n\t\t\tdefinition.defaultValue = value as IFieldDefinition['defaultValue']\n\t\t}\n\n\t\tif (this.handlers.onWillAskQuestion) {\n\t\t\tdefinition = this.handlers.onWillAskQuestion(\n\t\t\t\tfieldName,\n\t\t\t\t//@ts-ignore\n\t\t\t\tdefinition,\n\t\t\t\tthis.getValues({\n\t\t\t\t\tshouldValidate: false,\n\t\t\t\t\tshouldCreateEntityInstances: false,\n\t\t\t\t}) as unknown as SchemaPartialValues<S>\n\t\t\t)\n\t\t}\n\n\t\treturn this.ui.prompt(definition)\n\t}\n\n\tpublic renderError(error: Error) {\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderHeadline('Please fix the following...', [\n\t\t\tGraphicsTextEffect.Red,\n\t\t\tGraphicsTextEffect.Bold,\n\t\t])\n\n\t\tthis.ui.renderLine('')\n\n\t\tif (error instanceof AbstractSpruceError) {\n\t\t\tthis.ui.renderWarning(error.friendlyMessage())\n\t\t} else {\n\t\t\tthis.ui.renderWarning(`Unexpected error ${error.message}`)\n\t\t}\n\n\t\tthis.ui.renderLine('')\n\t}\n\n\tpublic async renderOverview<F extends SchemaFieldNames<S>>(\n\t\toptions: { fields?: F[] } = {}\n\t): Promise<FormAction<S>> {\n\t\tconst { ui } = this\n\t\tconst { fields = this.getNamedFields().map((nf) => nf.name) } = options\n\n\t\tconst actionMap: Record<string, FormAction<S>> = {}\n\n\t\tconst choices: SelectChoice[] = this.getNamedFields()\n\t\t\t.filter((namedField) => fields.indexOf(namedField.name) > -1)\n\t\t\t.map((namedField) => {\n\t\t\t\tconst { field, name } = namedField\n\n\t\t\t\tconst actionKey = `field:${name}`\n\t\t\t\tconst action: FormActionEditField<S> = {\n\t\t\t\t\ttype: FormBuilderActionType.EditField,\n\t\t\t\t\tfieldName: name,\n\t\t\t\t}\n\n\t\t\t\tactionMap[actionKey] = action\n\n\t\t\t\tconst value = this.get(name, { shouldValidate: false })\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: actionKey,\n\t\t\t\t\tlabel: `${field.label}: ${value ? value : '***missing***'}`,\n\t\t\t\t}\n\t\t\t})\n\n\t\tactionMap['done'] = {\n\t\t\ttype: FormBuilderActionType.Done,\n\t\t}\n\n\t\tchoices.push({\n\t\t\tvalue: 'done',\n\t\t\tlabel: 'Done',\n\t\t})\n\n\t\tconst response = await ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\tlabel: 'Select any field to edit',\n\t\t\toptions: {\n\t\t\t\tchoices,\n\t\t\t},\n\t\t})\n\n\t\tconst action = actionMap[response]\n\t\treturn action\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,7 +48,7 @@ var QuizComponent = exports["default"] = /*#__PURE__*/function () {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/** Present the quiz */
|
|
51
|
-
(0, _createClass2["default"])(QuizComponent, [{
|
|
51
|
+
return (0, _createClass2["default"])(QuizComponent, [{
|
|
52
52
|
key: "present",
|
|
53
53
|
value: (function () {
|
|
54
54
|
var _present = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -266,6 +266,5 @@ var QuizComponent = exports["default"] = /*#__PURE__*/function () {
|
|
|
266
266
|
return definition;
|
|
267
267
|
}
|
|
268
268
|
}]);
|
|
269
|
-
return QuizComponent;
|
|
270
269
|
}();
|
|
271
270
|
//# sourceMappingURL=QuizComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuizComponent.js","names":["_schema","require","_chalk","_interopRequireDefault","_lodash","_FormComponent","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","AnswerValidity","QuizComponent","exports","options","_options$randomizeQue","_classCallCheck2","definition","buildSchemaFromQuestions","questions","originalQuestions","formBuilder","FormComponent","schema","term","ui","randomizeQuestions","_createClass2","key","value","_present","_asyncToGenerator2","_regenerator","mark","_callee","_this","_options$questions","_options$randomizeQue2","startTime","fields","results","answers","answerValidities","totalQuestions","totalCorrect","questionNames","totalWrong","endTime","_args","wrap","_callee$","_context","prev","next","undefined","getNamedFields","map","nf","name","Date","getTime","shuffle","present","sent","questionName","fieldName","answer","_answer$split","split","_answer$split2","_slicedToArray2","validity","idx","_ref","find","namedField","field","Error","fieldDefinition","type","parseInt","Correct","Incorrect","lastResults","percentCorrect","time","startTimeMs","endTimeMs","totalTimeSec","toFixed","abrupt","stop","_scorecard","_callee2","_this2","headline","_options$results","testResults","_args2","_callee2$","_context2","SchemaError","code","parameters","clear","renderHero","questionFieldName","isCorrect","guessedAnswer","concat","correctAnswer","originalQuestion","objectKey","label","chalk","bgGreenBright","black","bgRedBright","strikethrough","renderObject","renderLine","renderHeadline","waitForEnter","scorecard","question","choices","id"],"sources":["../../src/components/QuizComponent.ts"],"sourcesContent":["import {\n\tSchema,\n\tSchemaFieldsByName,\n\tSchemaFieldNames,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport chalk from 'chalk'\nimport { shuffle } from 'lodash'\nimport { GraphicsInterface } from '../types/cli.types'\nimport FormComponent, {\n\tFormOptions,\n\tFormPresentationOptions,\n} from './FormComponent'\n\ninterface QuizMultipleChoiceQuestion {\n\ttype: 'select'\n\tquestion: string\n\tanswers: string[]\n}\n\ninterface QuizTextQuestion {\n\ttype: 'text'\n\tquestion: string\n\tanswer: string\n}\n\ninterface QuizQuestions {\n\t[key: string]: QuizMultipleChoiceQuestion | QuizTextQuestion\n}\n\nenum AnswerValidity {\n\tCorrect = 'correct',\n\tIncorrect = 'incorrect',\n}\n\ninterface QuizPresentationOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormPresentationOptions<T>, 'fields'> {\n\tquestions?: QuizAnswerFieldNames<Q>[]\n\trandomizeQuestions?: boolean\n}\n\ntype QuizAnswerFieldNames<Q extends QuizQuestions> = Extract<keyof Q, string>\n\ntype QuizAnswers<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: string\n}\n\ntype QuizAnswerValidities<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: AnswerValidity\n}\n\ntype QuizPresentationResults<Q extends QuizQuestions> = {\n\t/** The answers that were given */\n\tanswers: QuizAnswers<Q>\n\n\t/** The answers right or wrong */\n\tanswerValidities: QuizAnswerValidities<Q>\n\n\t/** The percent of correct answers given */\n\tpercentCorrect: number\n\n\t/** How long it took them to take the quiz in ms */\n\ttime: {\n\t\tstartTimeMs: number\n\t\tendTimeMs: number\n\t\ttotalTimeSec: number\n\t}\n\n\t/** How many were correct */\n\ttotalCorrect: number\n\n\t/** How many were wrong */\n\ttotalWrong: number\n\n\t/** How many questions we ended up taking */\n\ttotalQuestions: number\n}\n\ninterface QuizOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormOptions<T>, 'schema'> {\n\t/** Should we randomize the questions */\n\trandomizeQuestions?: boolean\n\t/** The questions we are asking */\n\tquestions: Q\n}\n\nexport default class QuizComponent<T extends Schema, Q extends QuizQuestions> {\n\tpublic formBuilder: FormComponent<T>\n\tpublic term: GraphicsInterface\n\tpublic randomizeQuestions = true\n\tpublic originalQuestions: QuizQuestions\n\tpublic lastResults?: QuizPresentationResults<Q>\n\n\tpublic constructor(options: QuizOptions<T, Q>) {\n\t\t// We're going to build a schema from the questions and pass that to the form builder\n\t\tconst definition = this.buildSchemaFromQuestions(options.questions)\n\n\t\t// Track questions for later reference\n\t\tthis.originalQuestions = options.questions\n\n\t\t// Construct new form builder\n\t\tthis.formBuilder = new FormComponent<T>({\n\t\t\t...options,\n\t\t\tschema: definition,\n\t\t})\n\n\t\t// Set state locally\n\t\tthis.term = options.ui\n\t\tthis.randomizeQuestions = options.randomizeQuestions ?? true\n\t}\n\n\t/** Present the quiz */\n\tpublic async present(\n\t\toptions: QuizPresentationOptions<T, Q> = {}\n\t): Promise<QuizPresentationResults<Q>> {\n\t\tconst {\n\t\t\tquestions = this.formBuilder\n\t\t\t\t.getNamedFields()\n\t\t\t\t.map((nf) => nf.name) as QuizAnswerFieldNames<Q>[],\n\t\t\trandomizeQuestions = this.randomizeQuestions,\n\t\t} = options\n\n\t\tconst startTime = new Date().getTime()\n\n\t\t// Pull out answers\n\t\tconst fields = randomizeQuestions ? shuffle(questions) : questions\n\n\t\t// Ask for the answers\n\t\tconst results = await this.formBuilder.present({\n\t\t\t...options,\n\t\t\tfields: fields as SchemaFieldNames<T>[],\n\t\t})\n\n\t\t// Generate stats\n\t\tconst answers: Partial<QuizAnswers<Q>> = {}\n\t\tconst answerValidities: Partial<QuizAnswerValidities<Q>> = {}\n\n\t\tconst totalQuestions = questions.length\n\t\tlet totalCorrect = 0\n\n\t\tconst questionNames = Object.keys(results) as QuizAnswerFieldNames<Q>[]\n\n\t\tquestionNames.forEach((questionName) => {\n\t\t\tconst fieldName = questionName as SchemaFieldNames<T>\n\t\t\tconst answer = (results[fieldName] as string) || ''\n\t\t\tconst [validity, idx] = answer.split('-')\n\n\t\t\t// Get the field to tell type\n\t\t\tconst { field } =\n\t\t\t\tthis.formBuilder\n\t\t\t\t\t.getNamedFields()\n\t\t\t\t\t.find((namedField) => namedField.name === fieldName) || {}\n\n\t\t\tif (!field) {\n\t\t\t\tthrow new Error('Field issue in QuizComponent')\n\t\t\t}\n\n\t\t\tconst fieldDefinition = field.definition\n\n\t\t\tswitch (fieldDefinition.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t// Pull the original multiple choice, we can cast it as multiple choice\n\t\t\t\t\t// question with confidence\n\t\t\t\t\tanswers[questionName] = (\n\t\t\t\t\t\tthis.originalQuestions[questionName] as QuizMultipleChoiceQuestion\n\t\t\t\t\t).answers[parseInt(idx)]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// @ts-ignore TODO proper questions to schema should fix this because we only support a few fields\n\t\t\t\t\tanswers[questionName] = results[fieldName]\n\t\t\t}\n\n\t\t\t// Track validity\n\t\t\tif (validity === AnswerValidity.Correct) {\n\t\t\t\ttotalCorrect = totalCorrect + 1\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Correct\n\t\t\t} else {\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Incorrect\n\t\t\t}\n\t\t}, 0)\n\n\t\tconst totalWrong = totalQuestions - totalCorrect\n\n\t\t// Track time\n\t\tconst endTime = new Date().getTime()\n\n\t\tthis.lastResults = {\n\t\t\tpercentCorrect: totalCorrect / totalQuestions,\n\t\t\ttotalCorrect,\n\t\t\ttotalWrong,\n\t\t\tanswerValidities: answerValidities as QuizAnswerValidities<Q>,\n\t\t\tanswers: answers as QuizAnswers<Q>,\n\t\t\ttotalQuestions,\n\t\t\ttime: {\n\t\t\t\tstartTimeMs: startTime,\n\t\t\t\tendTimeMs: endTime,\n\t\t\t\ttotalTimeSec: +((endTime - startTime) / 1000).toFixed(1),\n\t\t\t},\n\t\t}\n\n\t\treturn this.lastResults\n\t}\n\n\tpublic async scorecard(\n\t\toptions: {\n\t\t\tresults?: QuizPresentationResults<Q>\n\t\t\theadline?: string\n\t\t} = {}\n\t) {\n\t\tconst { headline, results = this.lastResults } = options\n\t\tconst { term } = this\n\n\t\tif (!results) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tparameters: [],\n\t\t\t})\n\t\t}\n\n\t\tterm.clear()\n\t\tterm.renderHero(headline ?? 'Quiz results!')\n\n\t\tconst testResults: Record<string, string> = {}\n\n\t\tthis.formBuilder.getNamedFields().forEach((namedField) => {\n\t\t\tconst { name, field } = namedField\n\t\t\tconst questionFieldName = name as QuizAnswerFieldNames<Q>\n\n\t\t\t// Get results\n\t\t\tconst isCorrect =\n\t\t\t\tresults.answerValidities[questionFieldName] === AnswerValidity.Correct\n\t\t\tconst guessedAnswer = `${results.answers[questionFieldName]}`\n\n\t\t\t// Build the real answer\n\t\t\tlet correctAnswer = ''\n\n\t\t\tconst originalQuestion = this.originalQuestions[questionFieldName]\n\n\t\t\tswitch (originalQuestion.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tcorrectAnswer = originalQuestion.answers[0]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// All options just pass through the answer tied to the question during instantiation\n\t\t\t\t\tcorrectAnswer = originalQuestion.answer\n\t\t\t}\n\n\t\t\tconst objectKey = field.label || '**missing'\n\n\t\t\tif (isCorrect) {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgGreenBright.black(\n\t\t\t\t\t'Correct!'\n\t\t\t\t)} ${guessedAnswer} `\n\t\t\t} else {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgRedBright.black(\n\t\t\t\t\t'Wrong!'\n\t\t\t\t)} ${chalk.strikethrough(guessedAnswer)} -> ${correctAnswer}`\n\t\t\t}\n\t\t})\n\n\t\tterm.renderObject(testResults)\n\n\t\tterm.renderLine(`# questions: ${results.totalQuestions}`)\n\t\tterm.renderLine(`# correct: ${results.totalCorrect}`)\n\n\t\tterm.renderHeadline(\n\t\t\t`Your score: ${(results.percentCorrect * 100).toFixed(1)}%`\n\t\t)\n\n\t\tawait term.waitForEnter()\n\t}\n\n\t/** Takes questions and builds a schema */\n\tprivate buildSchemaFromQuestions(questions: QuizQuestions): T {\n\t\t// TODO change SchemaFields to something based on schema generated from questions\n\t\tconst fields: SchemaFieldsByName = {}\n\n\t\tObject.keys(questions).forEach((fieldName) => {\n\t\t\tconst question = questions[fieldName]\n\n\t\t\tswitch (question.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices: shuffle(\n\t\t\t\t\t\t\t\tquestion.answers.map((question, idx) => ({\n\t\t\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t\t\tidx === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${AnswerValidity.Correct}-${idx}`\n\t\t\t\t\t\t\t\t\t\t\t: `${AnswerValidity.Incorrect}-${idx}`,\n\t\t\t\t\t\t\t\t\tlabel: question,\n\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t//@ts-ignore TODO better mapping of questions to schema definition\n\t\tconst definition: T = {\n\t\t\tid: 'quizGenerated',\n\t\t\tname: 'Generated quiz',\n\t\t\tfields,\n\t\t}\n\n\t\treturn definition\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"QuizComponent.js","names":["_schema","require","_chalk","_interopRequireDefault","_lodash","_FormComponent","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","AnswerValidity","QuizComponent","exports","options","_options$randomizeQue","_classCallCheck2","definition","buildSchemaFromQuestions","questions","originalQuestions","formBuilder","FormComponent","schema","term","ui","randomizeQuestions","_createClass2","key","value","_present","_asyncToGenerator2","_regenerator","mark","_callee","_this","_options$questions","_options$randomizeQue2","startTime","fields","results","answers","answerValidities","totalQuestions","totalCorrect","questionNames","totalWrong","endTime","_args","wrap","_callee$","_context","prev","next","undefined","getNamedFields","map","nf","name","Date","getTime","shuffle","present","sent","questionName","fieldName","answer","_answer$split","split","_answer$split2","_slicedToArray2","validity","idx","_ref","find","namedField","field","Error","fieldDefinition","type","parseInt","Correct","Incorrect","lastResults","percentCorrect","time","startTimeMs","endTimeMs","totalTimeSec","toFixed","abrupt","stop","_scorecard","_callee2","_this2","headline","_options$results","testResults","_args2","_callee2$","_context2","SchemaError","code","parameters","clear","renderHero","questionFieldName","isCorrect","guessedAnswer","concat","correctAnswer","originalQuestion","objectKey","label","chalk","bgGreenBright","black","bgRedBright","strikethrough","renderObject","renderLine","renderHeadline","waitForEnter","scorecard","question","choices","id"],"sources":["../../src/components/QuizComponent.ts"],"sourcesContent":["import {\n\tSchema,\n\tSchemaFieldsByName,\n\tSchemaFieldNames,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport chalk from 'chalk'\nimport { shuffle } from 'lodash'\nimport { GraphicsInterface } from '../types/cli.types'\nimport FormComponent, {\n\tFormOptions,\n\tFormPresentationOptions,\n} from './FormComponent'\n\ninterface QuizMultipleChoiceQuestion {\n\ttype: 'select'\n\tquestion: string\n\tanswers: string[]\n}\n\ninterface QuizTextQuestion {\n\ttype: 'text'\n\tquestion: string\n\tanswer: string\n}\n\ninterface QuizQuestions {\n\t[key: string]: QuizMultipleChoiceQuestion | QuizTextQuestion\n}\n\nenum AnswerValidity {\n\tCorrect = 'correct',\n\tIncorrect = 'incorrect',\n}\n\ninterface QuizPresentationOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormPresentationOptions<T>, 'fields'> {\n\tquestions?: QuizAnswerFieldNames<Q>[]\n\trandomizeQuestions?: boolean\n}\n\ntype QuizAnswerFieldNames<Q extends QuizQuestions> = Extract<keyof Q, string>\n\ntype QuizAnswers<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: string\n}\n\ntype QuizAnswerValidities<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: AnswerValidity\n}\n\ntype QuizPresentationResults<Q extends QuizQuestions> = {\n\t/** The answers that were given */\n\tanswers: QuizAnswers<Q>\n\n\t/** The answers right or wrong */\n\tanswerValidities: QuizAnswerValidities<Q>\n\n\t/** The percent of correct answers given */\n\tpercentCorrect: number\n\n\t/** How long it took them to take the quiz in ms */\n\ttime: {\n\t\tstartTimeMs: number\n\t\tendTimeMs: number\n\t\ttotalTimeSec: number\n\t}\n\n\t/** How many were correct */\n\ttotalCorrect: number\n\n\t/** How many were wrong */\n\ttotalWrong: number\n\n\t/** How many questions we ended up taking */\n\ttotalQuestions: number\n}\n\ninterface QuizOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormOptions<T>, 'schema'> {\n\t/** Should we randomize the questions */\n\trandomizeQuestions?: boolean\n\t/** The questions we are asking */\n\tquestions: Q\n}\n\nexport default class QuizComponent<T extends Schema, Q extends QuizQuestions> {\n\tpublic formBuilder: FormComponent<T>\n\tpublic term: GraphicsInterface\n\tpublic randomizeQuestions = true\n\tpublic originalQuestions: QuizQuestions\n\tpublic lastResults?: QuizPresentationResults<Q>\n\n\tpublic constructor(options: QuizOptions<T, Q>) {\n\t\t// We're going to build a schema from the questions and pass that to the form builder\n\t\tconst definition = this.buildSchemaFromQuestions(options.questions)\n\n\t\t// Track questions for later reference\n\t\tthis.originalQuestions = options.questions\n\n\t\t// Construct new form builder\n\t\tthis.formBuilder = new FormComponent<T>({\n\t\t\t...options,\n\t\t\tschema: definition,\n\t\t})\n\n\t\t// Set state locally\n\t\tthis.term = options.ui\n\t\tthis.randomizeQuestions = options.randomizeQuestions ?? true\n\t}\n\n\t/** Present the quiz */\n\tpublic async present(\n\t\toptions: QuizPresentationOptions<T, Q> = {}\n\t): Promise<QuizPresentationResults<Q>> {\n\t\tconst {\n\t\t\tquestions = this.formBuilder\n\t\t\t\t.getNamedFields()\n\t\t\t\t.map((nf) => nf.name) as QuizAnswerFieldNames<Q>[],\n\t\t\trandomizeQuestions = this.randomizeQuestions,\n\t\t} = options\n\n\t\tconst startTime = new Date().getTime()\n\n\t\t// Pull out answers\n\t\tconst fields = randomizeQuestions ? shuffle(questions) : questions\n\n\t\t// Ask for the answers\n\t\tconst results = await this.formBuilder.present({\n\t\t\t...options,\n\t\t\tfields: fields as SchemaFieldNames<T>[],\n\t\t})\n\n\t\t// Generate stats\n\t\tconst answers: Partial<QuizAnswers<Q>> = {}\n\t\tconst answerValidities: Partial<QuizAnswerValidities<Q>> = {}\n\n\t\tconst totalQuestions = questions.length\n\t\tlet totalCorrect = 0\n\n\t\tconst questionNames = Object.keys(results) as QuizAnswerFieldNames<Q>[]\n\n\t\tquestionNames.forEach((questionName) => {\n\t\t\tconst fieldName = questionName as SchemaFieldNames<T>\n\t\t\tconst answer = (results[fieldName] as string) || ''\n\t\t\tconst [validity, idx] = answer.split('-')\n\n\t\t\t// Get the field to tell type\n\t\t\tconst { field } =\n\t\t\t\tthis.formBuilder\n\t\t\t\t\t.getNamedFields()\n\t\t\t\t\t.find((namedField) => namedField.name === fieldName) || {}\n\n\t\t\tif (!field) {\n\t\t\t\tthrow new Error('Field issue in QuizComponent')\n\t\t\t}\n\n\t\t\tconst fieldDefinition = field.definition\n\n\t\t\tswitch (fieldDefinition.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t// Pull the original multiple choice, we can cast it as multiple choice\n\t\t\t\t\t// question with confidence\n\t\t\t\t\tanswers[questionName] = (\n\t\t\t\t\t\tthis.originalQuestions[questionName] as QuizMultipleChoiceQuestion\n\t\t\t\t\t).answers[parseInt(idx)]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// @ts-ignore TODO proper questions to schema should fix this because we only support a few fields\n\t\t\t\t\tanswers[questionName] = results[fieldName]\n\t\t\t}\n\n\t\t\t// Track validity\n\t\t\tif (validity === AnswerValidity.Correct) {\n\t\t\t\ttotalCorrect = totalCorrect + 1\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Correct\n\t\t\t} else {\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Incorrect\n\t\t\t}\n\t\t}, 0)\n\n\t\tconst totalWrong = totalQuestions - totalCorrect\n\n\t\t// Track time\n\t\tconst endTime = new Date().getTime()\n\n\t\tthis.lastResults = {\n\t\t\tpercentCorrect: totalCorrect / totalQuestions,\n\t\t\ttotalCorrect,\n\t\t\ttotalWrong,\n\t\t\tanswerValidities: answerValidities as QuizAnswerValidities<Q>,\n\t\t\tanswers: answers as QuizAnswers<Q>,\n\t\t\ttotalQuestions,\n\t\t\ttime: {\n\t\t\t\tstartTimeMs: startTime,\n\t\t\t\tendTimeMs: endTime,\n\t\t\t\ttotalTimeSec: +((endTime - startTime) / 1000).toFixed(1),\n\t\t\t},\n\t\t}\n\n\t\treturn this.lastResults\n\t}\n\n\tpublic async scorecard(\n\t\toptions: {\n\t\t\tresults?: QuizPresentationResults<Q>\n\t\t\theadline?: string\n\t\t} = {}\n\t) {\n\t\tconst { headline, results = this.lastResults } = options\n\t\tconst { term } = this\n\n\t\tif (!results) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tparameters: [],\n\t\t\t})\n\t\t}\n\n\t\tterm.clear()\n\t\tterm.renderHero(headline ?? 'Quiz results!')\n\n\t\tconst testResults: Record<string, string> = {}\n\n\t\tthis.formBuilder.getNamedFields().forEach((namedField) => {\n\t\t\tconst { name, field } = namedField\n\t\t\tconst questionFieldName = name as QuizAnswerFieldNames<Q>\n\n\t\t\t// Get results\n\t\t\tconst isCorrect =\n\t\t\t\tresults.answerValidities[questionFieldName] === AnswerValidity.Correct\n\t\t\tconst guessedAnswer = `${results.answers[questionFieldName]}`\n\n\t\t\t// Build the real answer\n\t\t\tlet correctAnswer = ''\n\n\t\t\tconst originalQuestion = this.originalQuestions[questionFieldName]\n\n\t\t\tswitch (originalQuestion.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tcorrectAnswer = originalQuestion.answers[0]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// All options just pass through the answer tied to the question during instantiation\n\t\t\t\t\tcorrectAnswer = originalQuestion.answer\n\t\t\t}\n\n\t\t\tconst objectKey = field.label || '**missing'\n\n\t\t\tif (isCorrect) {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgGreenBright.black(\n\t\t\t\t\t'Correct!'\n\t\t\t\t)} ${guessedAnswer} `\n\t\t\t} else {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgRedBright.black(\n\t\t\t\t\t'Wrong!'\n\t\t\t\t)} ${chalk.strikethrough(guessedAnswer)} -> ${correctAnswer}`\n\t\t\t}\n\t\t})\n\n\t\tterm.renderObject(testResults)\n\n\t\tterm.renderLine(`# questions: ${results.totalQuestions}`)\n\t\tterm.renderLine(`# correct: ${results.totalCorrect}`)\n\n\t\tterm.renderHeadline(\n\t\t\t`Your score: ${(results.percentCorrect * 100).toFixed(1)}%`\n\t\t)\n\n\t\tawait term.waitForEnter()\n\t}\n\n\t/** Takes questions and builds a schema */\n\tprivate buildSchemaFromQuestions(questions: QuizQuestions): T {\n\t\t// TODO change SchemaFields to something based on schema generated from questions\n\t\tconst fields: SchemaFieldsByName = {}\n\n\t\tObject.keys(questions).forEach((fieldName) => {\n\t\t\tconst question = questions[fieldName]\n\n\t\t\tswitch (question.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices: shuffle(\n\t\t\t\t\t\t\t\tquestion.answers.map((question, idx) => ({\n\t\t\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t\t\tidx === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${AnswerValidity.Correct}-${idx}`\n\t\t\t\t\t\t\t\t\t\t\t: `${AnswerValidity.Incorrect}-${idx}`,\n\t\t\t\t\t\t\t\t\tlabel: question,\n\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t//@ts-ignore TODO better mapping of questions to schema definition\n\t\tconst definition: T = {\n\t\t\tid: 'quizGenerated',\n\t\t\tname: 'Generated quiz',\n\t\t\tfields,\n\t\t}\n\n\t\treturn definition\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,12 +20,12 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
20
20
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
21
21
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
22
|
var SpruceError = exports["default"] = /*#__PURE__*/function (_AbstractSpruceError) {
|
|
23
|
-
(0, _inherits2["default"])(SpruceError, _AbstractSpruceError);
|
|
24
23
|
function SpruceError() {
|
|
25
24
|
(0, _classCallCheck2["default"])(this, SpruceError);
|
|
26
25
|
return _callSuper(this, SpruceError, arguments);
|
|
27
26
|
}
|
|
28
|
-
(0,
|
|
27
|
+
(0, _inherits2["default"])(SpruceError, _AbstractSpruceError);
|
|
28
|
+
return (0, _createClass2["default"])(SpruceError, [{
|
|
29
29
|
key: "friendlyMessage",
|
|
30
30
|
value: /** An easy to understand version of the errors */
|
|
31
31
|
function friendlyMessage() {
|
|
@@ -224,6 +224,5 @@ var SpruceError = exports["default"] = /*#__PURE__*/function (_AbstractSpruceErr
|
|
|
224
224
|
return stderr.replace('warning package.json: No license field', '').trim();
|
|
225
225
|
}
|
|
226
226
|
}]);
|
|
227
|
-
return SpruceError;
|
|
228
227
|
}(_error["default"]);
|
|
229
228
|
//# sourceMappingURL=SpruceError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpruceError.js","names":["_error","_interopRequireDefault","require","_spruceSkillUtils","_upperFirst","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","t","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","SpruceError","exports","_AbstractSpruceError","_inherits2","_classCallCheck2","arguments","_createClass2","key","friendlyMessage","_options$friendlyMess","_options$originalErro2","_options$originalErro3","_options$friendlyMess2","_options$originalErro4","_options$originalErro5","_options$originalErro7","_ref","_options$friendlyMess3","_options$originalErro8","_options$friendlyMess4","options","message","code","args","concat","join","originalError","_options$originalErro","stack","command","file","pattern","_options$originalErro6","cmd","cwd","stderr","cleanStdErr","stdout","schemaId","destination","featureCode","fileName","testName","errorMessage","split","map","line","upperFirst","errors","responseErrors","errorMessages","_iterator","_step","push","fullyQualifiedEventName","brokenProperty","dependencies","d","hint","namesUtil","toPascal","schemaNamespace","fieldName","JSON","stringify","fieldOptions","namespace","_get2","replace","trim","AbstractSpruceError"],"sources":["../../src/errors/SpruceError.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport upperFirst from 'lodash/upperFirst'\nimport ErrorOptions from '#spruce/errors/options.types'\n\nexport default class SpruceError extends AbstractSpruceError<ErrorOptions> {\n\t/** An easy to understand version of the errors */\n\tpublic friendlyMessage(): string {\n\t\tconst { options } = this\n\t\tlet message\n\n\t\tswitch (options?.code) {\n\t\t\tcase 'INVALID_COMMAND':\n\t\t\t\tif (!options.args || options.args.length === 0) {\n\t\t\t\t\tmessage = `Hey friend 👋.. I don't support the command you tried.`\n\t\t\t\t} else {\n\t\t\t\t\tmessage = `Hey friend 👋. I don't know the command: ${options.args.join(\n\t\t\t\t\t\t' '\n\t\t\t\t\t)}.`\n\t\t\t\t}\n\t\t\t\tmessage += ' Try running `spruce --help`'\n\t\t\t\tbreak\n\n\t\t\tcase 'GENERIC':\n\t\t\t\tmessage = options.friendlyMessage ?? 'Oh shoot! 🤔'\n\n\t\t\t\tif (options.originalError) {\n\t\t\t\t\tmessage += `\\n\\n${\n\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.name\n\t\t\t\t\t}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'NOT_IMPLEMENTED':\n\t\t\t\tmessage = ''\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'COMMAND_NOT_IMPLEMENTED':\n\t\t\t\tmessage = `${options.command} has not yet been implemented. ${\n\t\t\t\t\toptions.args ? `Args: ${options.args.join(', ')}` : ''\n\t\t\t\t}`\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_FAILED_TO_IMPORT':\n\t\t\t\tmessage = `Error importing \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BUILD_FAILED':\n\t\t\t\tmessage = `Build${\n\t\t\t\t\toptions.file ? `ing ${options.file}` : ''\n\t\t\t\t} failed. It looks like you're not running 'yarn watch'. Run it and then run 'spruce all:sync'.`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FAILED_TO_IMPORT':\n\t\t\t\tmessage =\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\t`Failed to import \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'LINT_FAILED':\n\t\t\t\tmessage = options.friendlyMessage\n\n\t\t\t\tif (!message) {\n\t\t\t\t\tmessage = `Lint failed on pattern ${options.pattern}.`\n\n\t\t\t\t\tif (options.originalError) {\n\t\t\t\t\t\tmessage += `\\n\\nOriginal error:${\n\t\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.message\n\t\t\t\t\t\t}`\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'EXECUTING_COMMAND_FAILED':\n\t\t\t\tif (this.originalError && this.originalError.message) {\n\t\t\t\t\tmessage = this.originalError.message + '\\n\\n'\n\t\t\t\t} else {\n\t\t\t\t\tmessage = ''\n\t\t\t\t}\n\t\t\t\tmessage += `Executing command failed '${options.cmd}'.\\n\\n`\n\t\t\t\tif (options.cwd) {\n\t\t\t\t\tmessage += `cwd: ${options.cwd}\\n\\n`\n\t\t\t\t}\n\n\t\t\t\tif (options.stderr) {\n\t\t\t\t\tmessage += this.cleanStdErr(options.stderr) + '\\n\\n'\n\t\t\t\t}\n\n\t\t\t\tif (options.stdout) {\n\t\t\t\t\tmessage += options.stdout\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'CREATE_AUTOLOADER_FAILED':\n\t\t\t\tmessage = 'A Could not create an autoloader just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_EMPTY':\n\t\t\t\tmessage = 'A directory empty just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'FILE_EXISTS':\n\t\t\t\tmessage = 'A fail already exists.'\n\t\t\t\tbreak\n\n\t\t\tcase 'VSCODE_NOT_INSTALLED':\n\t\t\t\tmessage =\n\t\t\t\t\t\"vscode's 'code' is not installed.\\n\\nMac instructions: https://code.visualstudio.com/docs/setup/mac\\n\\nLinux instructions: https://code.visualstudio.com/docs/setup/linux\\n\\nWindows instructions: https://code.visualstudio.com/docs/setup/windows\"\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_EXISTS':\n\t\t\t\tmessage = `A schema called ${options.schemaId} already exists at ${options.destination}`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_ABORTED':\n\t\t\t\tmessage = 'Aborted! See ya later! ✌️'\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_FEATURE_CODE':\n\t\t\t\tmessage = `Oh no! I couldn't find a feature with the code '${options.featureCode}'.`\n\t\t\t\tbreak\n\n\t\t\tcase 'TEST_FAILED':\n\t\t\t\tmessage = `${options.fileName}\\n - ${\n\t\t\t\t\toptions.testName\n\t\t\t\t}\\n\\n${options.errorMessage\n\t\t\t\t\t.split('\\n')\n\t\t\t\t\t.map((line) => ` ${line}`)\n\t\t\t\t\t.join('\\n')}`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FEATURE_NOT_INSTALLED':\n\t\t\t\tmessage = `\\`${upperFirst(\n\t\t\t\t\toptions.featureCode\n\t\t\t\t)}\\` feature is not installed. Install it first, then try again.`\n\t\t\t\tbreak\n\n\t\t\tcase 'MERCURY_RESPONSE_ERROR': {\n\t\t\t\tconst errors = options.responseErrors\n\t\t\t\tmessage = `Got ${\n\t\t\t\t\terrors.length === 1 ? 'an error' : `${errors.length} errors`\n\t\t\t\t} from the server:\\n\\n`\n\n\t\t\t\tconst errorMessages: string[] = []\n\t\t\t\tfor (const err of errors) {\n\t\t\t\t\terrorMessages.push(err.message)\n\t\t\t\t}\n\n\t\t\t\tmessage += errorMessages.join('\\n')\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'INVALID_TEST_DIRECTORY':\n\t\t\t\tmessage = `You are missing dependencies I need to run tests. Try \\`spruce test.install\\` to reinstall.`\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_NOT_SKILL':\n\t\t\t\tmessage = 'The directory you are in is not a skill!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_REGISTERED':\n\t\t\t\tmessage = `Dang! I can't continue until you register your skill! Run \\`spruce login\\` and then \\`spruce register.skill\\` to get the ball rolling!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_ORGANIZATIONS_FOUND':\n\t\t\t\tmessage =\n\t\t\t\t\t\"It looks like you don't have any organizations setup yet. Try `spruce create.organization` first.\"\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_EVENT_CONTRACT':\n\t\t\t\tmessage = `The event named \\`${options.fullyQualifiedEventName}\\` is not valid. Check ${options.brokenProperty}. The original error is:\\n\\n${options.originalError?.message}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BOOT_ERROR':\n\t\t\t\tmessage = `Booting your skill failed: ${\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\toptions.originalError?.message ??\n\t\t\t\t\t'Not sure why, tho.'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPLOY_FAILED':\n\t\t\t\tmessage = 'Deploy halted!'\n\t\t\t\tbreak\n\n\t\t\tcase 'MISSING_DEPENDENCIES':\n\t\t\t\tmessage = `Looks like you're missing some dependencies:\\n\\n${options.dependencies\n\t\t\t\t\t.map((d) => `${d.name}: ${d.hint}`)\n\t\t\t\t\t.join('\\n')}`\n\t\t\t\tbreak\n\n\t\t\tcase 'STORE_EXISTS':\n\t\t\t\tmessage = 'A Store exists just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'NOT_LOGGED_IN':\n\t\t\t\tmessage = 'You have to be logged in to do that!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_FOUND':\n\t\t\t\tmessage = options.friendlyMessage ?? `I couldn't find that skill!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_SKILLS_REGISTERED':\n\t\t\t\tmessage = `Whoa! Looks like you haven't registered your skill yet! Try \\`spruce register\\` to get that done!`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_BLOCKED':\n\t\t\t\tmessage = `${options.command} is blocked! ${options.hint}`\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_VIEW_EXISTS':\n\t\t\t\tmessage = `A skill view controller already exists named ${options.name}!`\n\t\t\t\tbreak\n\n\t\t\tcase 'THEME_EXISTS':\n\t\t\t\tmessage = `Yikes! You can't create a new theme. One per skill for now.`\n\t\t\t\tbreak\n\n\t\t\tcase 'CACHE_NOT_ENABLED':\n\t\t\t\tmessage = \"Cache is not enabled, so it can't be disabled!\"\n\t\t\t\tbreak\n\n\t\t\tcase 'DOCKER_NOT_STARTED':\n\t\t\t\tmessage = 'Docker has not been started! Start it and try again!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED':\n\t\t\t\tmessage = `Failed to build schema template item for '${namesUtil.toPascal(\n\t\t\t\t\toptions.schemaNamespace\n\t\t\t\t)}.${options.schemaId}'. The field I had an issue on was '${\n\t\t\t\t\toptions.fieldName\n\t\t\t\t}'. It's options are:\\n\\n${JSON.stringify(\n\t\t\t\t\toptions.fieldOptions\n\t\t\t\t)}.\\n\\nChances are you have a circular reference in your schemas. You'll need to extract shared fields to a new file and have your schemas mix those in, vs referencing eath other.`\n\t\t\t\tbreak\n\n\t\t\tcase 'ACTION_CANCELLED':\n\t\t\t\tmessage = 'A Action cancelled just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'TRANSPORT_ALREADY_EXISTS':\n\t\t\t\tmessage = `A transport named '${options.name}' already exists!`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPENDENCY_EXISTS':\n\t\t\t\tmessage = `You already have ${options.namespace} as a dependency!`\n\t\t\t\tbreak\n\n\t\t\tcase 'VIEW_PLUGIN_ALREADY_EXISTS':\n\t\t\t\tmessage = `A view plugin by the name ${options.name} already exists!`\n\t\t\t\tbreak\n\n\t\t\tdefault:\n\t\t\t\tmessage = super.friendlyMessage()\n\t\t}\n\n\t\treturn message\n\t}\n\n\tprivate cleanStdErr(stderr: string) {\n\t\treturn stderr.replace('warning package.json: No license field', '').trim()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SpruceError.js","names":["_error","_interopRequireDefault","require","_spruceSkillUtils","_upperFirst","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","t","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","SpruceError","exports","_AbstractSpruceError","_classCallCheck2","arguments","_inherits2","_createClass2","key","friendlyMessage","_options$friendlyMess","_options$originalErro2","_options$originalErro3","_options$friendlyMess2","_options$originalErro4","_options$originalErro5","_options$originalErro7","_ref","_options$friendlyMess3","_options$originalErro8","_options$friendlyMess4","options","message","code","args","concat","join","originalError","_options$originalErro","stack","command","file","pattern","_options$originalErro6","cmd","cwd","stderr","cleanStdErr","stdout","schemaId","destination","featureCode","fileName","testName","errorMessage","split","map","line","upperFirst","errors","responseErrors","errorMessages","_iterator","_step","push","fullyQualifiedEventName","brokenProperty","dependencies","d","hint","namesUtil","toPascal","schemaNamespace","fieldName","JSON","stringify","fieldOptions","namespace","_get2","replace","trim","AbstractSpruceError"],"sources":["../../src/errors/SpruceError.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport upperFirst from 'lodash/upperFirst'\nimport ErrorOptions from '#spruce/errors/options.types'\n\nexport default class SpruceError extends AbstractSpruceError<ErrorOptions> {\n\t/** An easy to understand version of the errors */\n\tpublic friendlyMessage(): string {\n\t\tconst { options } = this\n\t\tlet message\n\n\t\tswitch (options?.code) {\n\t\t\tcase 'INVALID_COMMAND':\n\t\t\t\tif (!options.args || options.args.length === 0) {\n\t\t\t\t\tmessage = `Hey friend 👋.. I don't support the command you tried.`\n\t\t\t\t} else {\n\t\t\t\t\tmessage = `Hey friend 👋. I don't know the command: ${options.args.join(\n\t\t\t\t\t\t' '\n\t\t\t\t\t)}.`\n\t\t\t\t}\n\t\t\t\tmessage += ' Try running `spruce --help`'\n\t\t\t\tbreak\n\n\t\t\tcase 'GENERIC':\n\t\t\t\tmessage = options.friendlyMessage ?? 'Oh shoot! 🤔'\n\n\t\t\t\tif (options.originalError) {\n\t\t\t\t\tmessage += `\\n\\n${\n\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.name\n\t\t\t\t\t}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'NOT_IMPLEMENTED':\n\t\t\t\tmessage = ''\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'COMMAND_NOT_IMPLEMENTED':\n\t\t\t\tmessage = `${options.command} has not yet been implemented. ${\n\t\t\t\t\toptions.args ? `Args: ${options.args.join(', ')}` : ''\n\t\t\t\t}`\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_FAILED_TO_IMPORT':\n\t\t\t\tmessage = `Error importing \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BUILD_FAILED':\n\t\t\t\tmessage = `Build${\n\t\t\t\t\toptions.file ? `ing ${options.file}` : ''\n\t\t\t\t} failed. It looks like you're not running 'yarn watch'. Run it and then run 'spruce all:sync'.`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FAILED_TO_IMPORT':\n\t\t\t\tmessage =\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\t`Failed to import \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'LINT_FAILED':\n\t\t\t\tmessage = options.friendlyMessage\n\n\t\t\t\tif (!message) {\n\t\t\t\t\tmessage = `Lint failed on pattern ${options.pattern}.`\n\n\t\t\t\t\tif (options.originalError) {\n\t\t\t\t\t\tmessage += `\\n\\nOriginal error:${\n\t\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.message\n\t\t\t\t\t\t}`\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'EXECUTING_COMMAND_FAILED':\n\t\t\t\tif (this.originalError && this.originalError.message) {\n\t\t\t\t\tmessage = this.originalError.message + '\\n\\n'\n\t\t\t\t} else {\n\t\t\t\t\tmessage = ''\n\t\t\t\t}\n\t\t\t\tmessage += `Executing command failed '${options.cmd}'.\\n\\n`\n\t\t\t\tif (options.cwd) {\n\t\t\t\t\tmessage += `cwd: ${options.cwd}\\n\\n`\n\t\t\t\t}\n\n\t\t\t\tif (options.stderr) {\n\t\t\t\t\tmessage += this.cleanStdErr(options.stderr) + '\\n\\n'\n\t\t\t\t}\n\n\t\t\t\tif (options.stdout) {\n\t\t\t\t\tmessage += options.stdout\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'CREATE_AUTOLOADER_FAILED':\n\t\t\t\tmessage = 'A Could not create an autoloader just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_EMPTY':\n\t\t\t\tmessage = 'A directory empty just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'FILE_EXISTS':\n\t\t\t\tmessage = 'A fail already exists.'\n\t\t\t\tbreak\n\n\t\t\tcase 'VSCODE_NOT_INSTALLED':\n\t\t\t\tmessage =\n\t\t\t\t\t\"vscode's 'code' is not installed.\\n\\nMac instructions: https://code.visualstudio.com/docs/setup/mac\\n\\nLinux instructions: https://code.visualstudio.com/docs/setup/linux\\n\\nWindows instructions: https://code.visualstudio.com/docs/setup/windows\"\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_EXISTS':\n\t\t\t\tmessage = `A schema called ${options.schemaId} already exists at ${options.destination}`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_ABORTED':\n\t\t\t\tmessage = 'Aborted! See ya later! ✌️'\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_FEATURE_CODE':\n\t\t\t\tmessage = `Oh no! I couldn't find a feature with the code '${options.featureCode}'.`\n\t\t\t\tbreak\n\n\t\t\tcase 'TEST_FAILED':\n\t\t\t\tmessage = `${options.fileName}\\n - ${\n\t\t\t\t\toptions.testName\n\t\t\t\t}\\n\\n${options.errorMessage\n\t\t\t\t\t.split('\\n')\n\t\t\t\t\t.map((line) => ` ${line}`)\n\t\t\t\t\t.join('\\n')}`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FEATURE_NOT_INSTALLED':\n\t\t\t\tmessage = `\\`${upperFirst(\n\t\t\t\t\toptions.featureCode\n\t\t\t\t)}\\` feature is not installed. Install it first, then try again.`\n\t\t\t\tbreak\n\n\t\t\tcase 'MERCURY_RESPONSE_ERROR': {\n\t\t\t\tconst errors = options.responseErrors\n\t\t\t\tmessage = `Got ${\n\t\t\t\t\terrors.length === 1 ? 'an error' : `${errors.length} errors`\n\t\t\t\t} from the server:\\n\\n`\n\n\t\t\t\tconst errorMessages: string[] = []\n\t\t\t\tfor (const err of errors) {\n\t\t\t\t\terrorMessages.push(err.message)\n\t\t\t\t}\n\n\t\t\t\tmessage += errorMessages.join('\\n')\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'INVALID_TEST_DIRECTORY':\n\t\t\t\tmessage = `You are missing dependencies I need to run tests. Try \\`spruce test.install\\` to reinstall.`\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_NOT_SKILL':\n\t\t\t\tmessage = 'The directory you are in is not a skill!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_REGISTERED':\n\t\t\t\tmessage = `Dang! I can't continue until you register your skill! Run \\`spruce login\\` and then \\`spruce register.skill\\` to get the ball rolling!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_ORGANIZATIONS_FOUND':\n\t\t\t\tmessage =\n\t\t\t\t\t\"It looks like you don't have any organizations setup yet. Try `spruce create.organization` first.\"\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_EVENT_CONTRACT':\n\t\t\t\tmessage = `The event named \\`${options.fullyQualifiedEventName}\\` is not valid. Check ${options.brokenProperty}. The original error is:\\n\\n${options.originalError?.message}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BOOT_ERROR':\n\t\t\t\tmessage = `Booting your skill failed: ${\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\toptions.originalError?.message ??\n\t\t\t\t\t'Not sure why, tho.'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPLOY_FAILED':\n\t\t\t\tmessage = 'Deploy halted!'\n\t\t\t\tbreak\n\n\t\t\tcase 'MISSING_DEPENDENCIES':\n\t\t\t\tmessage = `Looks like you're missing some dependencies:\\n\\n${options.dependencies\n\t\t\t\t\t.map((d) => `${d.name}: ${d.hint}`)\n\t\t\t\t\t.join('\\n')}`\n\t\t\t\tbreak\n\n\t\t\tcase 'STORE_EXISTS':\n\t\t\t\tmessage = 'A Store exists just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'NOT_LOGGED_IN':\n\t\t\t\tmessage = 'You have to be logged in to do that!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_FOUND':\n\t\t\t\tmessage = options.friendlyMessage ?? `I couldn't find that skill!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_SKILLS_REGISTERED':\n\t\t\t\tmessage = `Whoa! Looks like you haven't registered your skill yet! Try \\`spruce register\\` to get that done!`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_BLOCKED':\n\t\t\t\tmessage = `${options.command} is blocked! ${options.hint}`\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_VIEW_EXISTS':\n\t\t\t\tmessage = `A skill view controller already exists named ${options.name}!`\n\t\t\t\tbreak\n\n\t\t\tcase 'THEME_EXISTS':\n\t\t\t\tmessage = `Yikes! You can't create a new theme. One per skill for now.`\n\t\t\t\tbreak\n\n\t\t\tcase 'CACHE_NOT_ENABLED':\n\t\t\t\tmessage = \"Cache is not enabled, so it can't be disabled!\"\n\t\t\t\tbreak\n\n\t\t\tcase 'DOCKER_NOT_STARTED':\n\t\t\t\tmessage = 'Docker has not been started! Start it and try again!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED':\n\t\t\t\tmessage = `Failed to build schema template item for '${namesUtil.toPascal(\n\t\t\t\t\toptions.schemaNamespace\n\t\t\t\t)}.${options.schemaId}'. The field I had an issue on was '${\n\t\t\t\t\toptions.fieldName\n\t\t\t\t}'. It's options are:\\n\\n${JSON.stringify(\n\t\t\t\t\toptions.fieldOptions\n\t\t\t\t)}.\\n\\nChances are you have a circular reference in your schemas. You'll need to extract shared fields to a new file and have your schemas mix those in, vs referencing eath other.`\n\t\t\t\tbreak\n\n\t\t\tcase 'ACTION_CANCELLED':\n\t\t\t\tmessage = 'A Action cancelled just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'TRANSPORT_ALREADY_EXISTS':\n\t\t\t\tmessage = `A transport named '${options.name}' already exists!`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPENDENCY_EXISTS':\n\t\t\t\tmessage = `You already have ${options.namespace} as a dependency!`\n\t\t\t\tbreak\n\n\t\t\tcase 'VIEW_PLUGIN_ALREADY_EXISTS':\n\t\t\t\tmessage = `A view plugin by the name ${options.name} already exists!`\n\t\t\t\tbreak\n\n\t\t\tdefault:\n\t\t\t\tmessage = super.friendlyMessage()\n\t\t}\n\n\t\treturn message\n\t}\n\n\tprivate cleanStdErr(stderr: string) {\n\t\treturn stderr.replace('warning package.json: No license field', '').trim()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|