@sprucelabs/spruce-cli 19.1.23 → 19.1.25
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/__tests__/behavioral/AddingADependency.test.js +29 -57
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +9 -17
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +9 -17
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +13 -25
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +13 -25
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +73 -145
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +61 -121
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +33 -65
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +13 -25
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +21 -41
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +9 -17
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +10 -18
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +17 -33
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +29 -57
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +21 -41
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +9 -17
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +25 -49
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +21 -41
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +9 -17
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +21 -41
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +9 -17
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +45 -89
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +73 -145
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +53 -105
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EventWriter.test.js +5 -9
- package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +61 -121
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +41 -81
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +13 -25
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +9 -17
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +9 -17
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +14 -26
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +26 -50
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +5 -9
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +13 -25
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +13 -25
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +13 -25
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +13 -25
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +9 -17
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +13 -25
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +9 -17
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +49 -97
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +9 -17
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +59 -113
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +13 -25
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +37 -73
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +13 -25
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +29 -57
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +41 -81
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +5 -9
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +9 -17
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +17 -33
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +21 -41
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +5 -9
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +81 -161
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +13 -25
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +49 -97
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +5 -9
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +5 -9
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +13 -25
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +9 -17
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +33 -65
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +37 -73
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +13 -25
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +17 -33
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +29 -57
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +45 -89
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +41 -81
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +41 -81
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +17 -33
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +45 -89
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +21 -41
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +9 -17
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +9 -17
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js +9 -17
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +17 -33
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +21 -41
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +17 -33
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +41 -81
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +29 -57
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +41 -81
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +17 -33
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +29 -57
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +18 -32
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +29 -57
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +53 -105
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +30 -56
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +25 -49
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +25 -49
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +9 -17
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +21 -41
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +13 -25
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +53 -105
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +9 -17
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +33 -65
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +17 -33
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +13 -25
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +9 -17
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +9 -17
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +41 -81
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +21 -41
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +37 -73
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +41 -81
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +13 -25
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +17 -33
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +58 -113
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +13 -25
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +37 -73
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +17 -33
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +17 -33
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +5 -9
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +5 -9
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.js +9 -17
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +5 -9
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +9 -17
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +19 -34
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +58 -103
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +9 -17
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +21 -41
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +13 -25
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +25 -49
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +65 -129
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +5 -9
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +29 -57
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +5 -9
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +13 -25
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +33 -65
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +10 -16
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +17 -33
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +37 -73
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +9 -17
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +17 -33
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/EventFaker.js +5 -9
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js +5 -7
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/boot.js +5 -12
- package/build/boot.js.map +1 -1
- package/build/cli/Cli.js +42 -80
- package/build/cli/Cli.js.map +1 -1
- package/build/components/FormComponent.js +9 -17
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js +9 -17
- package/build/components/QuizComponent.js.map +1 -1
- package/build/features/AbstractAction.js +13 -25
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js +17 -33
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js +11 -17
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionQuestionAsker.js +35 -65
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js +5 -9
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js +43 -81
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +6 -8
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js +5 -9
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js +5 -9
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js +5 -9
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +13 -25
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js +5 -9
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js +14 -24
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js +5 -9
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js +5 -9
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +5 -9
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js +5 -9
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js +5 -9
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js +5 -9
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +41 -81
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/error/ErrorFeature.js +13 -25
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js +5 -9
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js +5 -9
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js +13 -25
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js +21 -41
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js +29 -57
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js +5 -9
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js +29 -57
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js +5 -9
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js +5 -9
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js +5 -9
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js +17 -33
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/stores/EventStore.js +26 -48
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.js +5 -9
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +25 -49
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +9 -17
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js +5 -9
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js +5 -9
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js +22 -40
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js +5 -9
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js +9 -17
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js +13 -25
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js +5 -9
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js +18 -33
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js +5 -9
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js +13 -25
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js +5 -9
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js +18 -37
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js +8 -13
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js +5 -7
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js +17 -31
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js +5 -7
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js +5 -7
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js +5 -7
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js +5 -9
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js +5 -9
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js +21 -41
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/permission/PermissionFeature.js +17 -33
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +5 -9
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.js +8 -15
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.js +9 -17
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.js +13 -25
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/actions/LoginAction.js +5 -9
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js +5 -9
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js +5 -9
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/polish/actions/SetupAction.js +5 -9
- package/build/features/polish/actions/SetupAction.js.map +1 -1
- package/build/features/polish/writers/PolishWriter.js +5 -9
- package/build/features/polish/writers/PolishWriter.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +5 -7
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js +5 -9
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js +5 -9
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js +17 -33
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js +5 -9
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js +5 -9
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js +21 -41
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js +5 -9
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js +5 -9
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js +31 -57
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +25 -49
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js +25 -49
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js +9 -17
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js +5 -9
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js +5 -9
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js +5 -9
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js +5 -9
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js +5 -9
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +37 -73
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js +5 -9
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js +5 -9
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js +13 -25
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js +5 -9
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js +5 -9
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.js +5 -9
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js +17 -33
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js +9 -17
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestReporter.js +17 -33
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js +14 -26
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +17 -33
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js +5 -9
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js +21 -41
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/writers/TestWriter.js +5 -9
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/view/ViewFeature.js +10 -16
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js +5 -9
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js +5 -9
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js +5 -9
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js +5 -9
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js +5 -9
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +9 -17
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js +21 -41
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js +13 -25
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js +5 -9
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js +23 -41
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/interfaces/SpyInterface.js +25 -49
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js +33 -65
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/services/BuildService.js +5 -9
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js +5 -9
- package/build/services/CommandService.js.map +1 -1
- package/build/services/GameService.js +5 -9
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js +21 -31
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js +6 -8
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js +9 -17
- package/build/services/PkgService.js.map +1 -1
- package/build/services/TypeCheckerService.js +6 -8
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractStore.js +5 -9
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/tests/AbstractCliTest.js +61 -121
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js +5 -9
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js +17 -33
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +13 -25
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js +13 -25
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js +5 -9
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/MockProgramFactory.js +10 -15
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js +32 -49
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js +27 -45
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +25 -49
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js +5 -9
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js +13 -25
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js +9 -17
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js +31 -57
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js +5 -9
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/updaters/ScriptUpdater.js +5 -9
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js +5 -9
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js +9 -17
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js +5 -9
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js +5 -9
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js +9 -17
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/writers/AbstractWriter.js +13 -25
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +29 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestAction.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_open","_testOptions","_SpruceError","_AbstractAction2","_TestReporter","_TestRunner","_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","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","optionsSchema","testOptionsSchema","exports","TestAction","_AbstractAction","_inherits2","_super","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","totalTestFiles","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_this$watcher","_this$testReporter","_testResults$totalTes","_testResults$totalPas","_testResults$totalFai","_testResults$totalSki","_testResults$totalTod","_testResults$totalFai2","_settings$get","settings","normalizedOptions","pattern","shouldReportWhileRunning","inspect","shouldHoldAtStart","watchMode","shouldReturnImmediately","_this$handleToggleSma","promise","testResults","actionResponse","wrap","_callee$","_context","prev","Service","get","validateAndNormalizeOptions","originalInspect","hasWatchEverBeenEnabled","testReporter","TestReporter","cwd","status","isDebugging","filterPattern","undefined","handleRestart","bind","handleStartStop","handleQuit","handleRerunTestFile","handleOpenTestFile","handleFilterPatternChange","handleToggleDebug","handletoggleStandardWatch","handleToggleSmartWatch","start","watcher","getFeature","startWatching","delay","emitter","on","handleFileChange","runnerStatus","startTestRunner","abrupt","meta","emit","reporter","sent","stopWatching","destroy","summaryLines","concat","totalTests","totalPassed","totalFailed","totalSkipped","totalTodo","errors","generateErrorsFromTestResults","stop","execute","_x","payload","_this2","changes","shouldRestart","filesWeCareAbout","_iterator","_step","change","_change$values","values","path","doWeCareAboutThisFileChanging","_this$testReporter3","setStatusLabel","push","_this$testReporter2","fileChangeTimeout","clearTimeout","startCountdownTimer","watchDelaySec","setTimeout","smartFilter","generateFilterFromChangedFiles","restart","_this3","filter","file","search","map","fileToFilterPattern","join","ext","pathUtil","extname","_this$testReporter4","setIsDebugging","_this$testReporter5","setWatchMode","mode","_this$testReporter6","kill","_this$testReporter7","setFilterPattern","_pathUtil$dirname$spl","filename","basename","replace","dirname","split","sep","pop","_this$testReporter8","_this$holdPromiseReso","holdPromiseResolve","_this$testRunner","_this$holdPromiseReso2","testRunner","_handleOpenTestFile","_callee2","fileName","_callee2$","_context2","openTestFile","_x2","_startTestRunner","_callee3","_this$testReporter9","_this$testReporter10","_this4","_this$testRunner2","_this$testRunner3","_this$pattern","_this$testReporter13","firstUpdate","_this$testReporter11","_this$testReporter12","_callee3$","_context3","waitForStart","lastTestResults","setStatus","stopCountdownTimer","TestRunner","commandService","_this4$testReporter3","_this4$testReporter4","_this4$testReporter","_this4$testReporter2","reset","results","failed","testFiles","find","updateResults","render","_this4$testReporter5","_this4$testReporter6","appendError","message","run","debugPort","hasFailedTests","hasSkippedTests","Promise","resolve","_this4$testReporter7","_x3","_waitForStart","_callee4","_this5","_callee4$","_context4","_openTestFile","_callee5","_callee5$","_context5","diskUtil","resolvePath","open","_x4","_testResults$testFile","_this6","forEach","_file$tests","tests","_test$errorMessages","errorMessages","mapErrorResultToSpruceError","SpruceError","code","testName","errorMessage","getWatchMode","AbstractAction"],"sources":["../../../../src/features/test/actions/TestAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport open from 'open'\nimport testOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/testOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, ActionOptions } from '../../features.types'\nimport WatchFeature from '../../watch/WatchFeature'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tSpruceTestResults,\n} from '../test.types'\nimport TestReporter, { WatchMode } from '../TestReporter'\nimport TestRunner from '../TestRunner'\n\nexport const optionsSchema = testOptionsSchema\n\nexport type OptionsSchema = typeof optionsSchema\n\ntype DidChangePayload =\n\tSchemaValues<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema>\n\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Starting tests... 🛡'\n\n\tprivate testReporter?: TestReporter | undefined\n\tprivate testRunner?: TestRunner\n\tprivate runnerStatus: 'hold' | 'quit' | 'run' | 'restart' = 'hold'\n\tprivate pattern: string | undefined\n\tprivate inspect?: number | null\n\tprivate holdPromiseResolve?: () => void\n\tprivate lastTestResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate originalInspect!: number\n\tprivate watcher?: WatchFeature\n\tprivate watchMode: WatchMode = 'off'\n\tprivate fileChangeTimeout?: any\n\tprivate hasWatchEverBeenEnabled = false\n\n\tprivate readonly watchDelaySec = 2\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\t}\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tif (!options.watchMode) {\n\t\t\tconst settings = this.Service('settings')\n\t\t\toptions.watchMode = settings.get('test.watchMode') ?? 'off'\n\t\t}\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tpattern,\n\t\t\tshouldReportWhileRunning,\n\t\t\tinspect,\n\t\t\tshouldHoldAtStart,\n\t\t\twatchMode,\n\t\t\tshouldReturnImmediately,\n\t\t} = normalizedOptions\n\n\t\tthis.originalInspect = inspect ?? 5200\n\t\tthis.inspect = inspect\n\t\tthis.pattern = pattern\n\t\tthis.hasWatchEverBeenEnabled = watchMode !== 'off'\n\t\tthis.watchMode = watchMode as WatchMode\n\n\t\tif (shouldReportWhileRunning) {\n\t\t\tthis.testReporter = new TestReporter({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\twatchMode: this.watchMode,\n\t\t\t\tstatus: shouldHoldAtStart ? 'stopped' : 'ready',\n\t\t\t\tisDebugging: !!inspect,\n\t\t\t\tfilterPattern: pattern ?? undefined,\n\t\t\t\thandleRestart: this.handleRestart.bind(this),\n\t\t\t\thandleStartStop: this.handleStartStop.bind(this),\n\t\t\t\thandleQuit: this.handleQuit.bind(this),\n\t\t\t\thandleRerunTestFile: this.handleRerunTestFile.bind(this),\n\t\t\t\thandleOpenTestFile: this.handleOpenTestFile.bind(this),\n\t\t\t\thandleFilterPatternChange: this.handleFilterPatternChange.bind(this),\n\t\t\t\thandleToggleDebug: this.handleToggleDebug.bind(this),\n\t\t\t\thandletoggleStandardWatch: this.handletoggleStandardWatch.bind(this),\n\t\t\t\thandleToggleSmartWatch: this.handleToggleSmartWatch?.bind(this),\n\t\t\t})\n\n\t\t\tawait this.testReporter.start()\n\t\t}\n\n\t\tthis.watcher = this.getFeature('watch') as WatchFeature\n\t\tvoid this.watcher.startWatching({ delay: 0 })\n\n\t\tawait this.emitter.on(\n\t\t\t'watcher.did-detect-change',\n\t\t\tthis.handleFileChange.bind(this)\n\t\t)\n\n\t\tthis.runnerStatus = shouldHoldAtStart ? 'hold' : 'run'\n\n\t\tconst promise = this.startTestRunner(normalizedOptions)\n\n\t\tif (shouldReturnImmediately) {\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\tpromise,\n\t\t\t\t\ttest: this,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tvoid this.emitter.emit('test.reporter-did-boot', {\n\t\t\treporter: this,\n\t\t})\n\n\t\tconst testResults = await promise\n\n\t\tawait this.watcher?.stopWatching()\n\t\tawait this.testReporter?.destroy()\n\n\t\tconst actionResponse: FeatureActionResponse = {\n\t\t\tmeta: { testResults },\n\t\t\tsummaryLines: [\n\t\t\t\t`Test files: ${testResults.totalTestFiles}`,\n\t\t\t\t`Tests: ${testResults.totalTests ?? '0'}`,\n\t\t\t\t`Passed: ${testResults.totalPassed ?? '0'}`,\n\t\t\t\t`Failed: ${testResults.totalFailed ?? '0'}`,\n\t\t\t\t`Skipped: ${testResults.totalSkipped ?? '0'}`,\n\t\t\t\t`Todo: ${testResults.totalTodo ?? '0'}`,\n\t\t\t],\n\t\t}\n\n\t\tif (testResults.totalFailed ?? 0 > 0) {\n\t\t\tactionResponse.errors = this.generateErrorsFromTestResults(testResults)\n\t\t}\n\n\t\treturn actionResponse\n\t}\n\n\tprivate handleFileChange(payload: DidChangePayload) {\n\t\tif (\n\t\t\tthis.watchMode === 'off' ||\n\t\t\t!(this.runnerStatus === 'run' || this.runnerStatus == 'hold')\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\tconst { changes } = payload\n\n\t\tlet shouldRestart = false\n\t\tconst filesWeCareAbout: string[] = []\n\n\t\tfor (const change of changes) {\n\t\t\tconst { path, name } = change.values\n\n\t\t\tif (this.doWeCareAboutThisFileChanging(path)) {\n\t\t\t\tthis.testReporter?.setStatusLabel(`Built file: ${name}`)\n\t\t\t\tshouldRestart = true\n\t\t\t\tfilesWeCareAbout.push(path)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRestart) {\n\t\t\tif (this.fileChangeTimeout) {\n\t\t\t\tclearTimeout(this.fileChangeTimeout)\n\t\t\t}\n\n\t\t\tthis.testReporter?.startCountdownTimer(this.watchDelaySec)\n\t\t\tthis.fileChangeTimeout = setTimeout(() => {\n\t\t\t\tif (this.watchMode === 'smart') {\n\t\t\t\t\tconst smartFilter =\n\t\t\t\t\t\tthis.generateFilterFromChangedFiles(filesWeCareAbout)\n\t\t\t\t\tif (smartFilter.length > 0) {\n\t\t\t\t\t\tthis.handleFilterPatternChange(smartFilter)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.restart()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.restart()\n\t\t\t\t}\n\t\t\t}, this.watchDelaySec * 1000) as any\n\t\t}\n\t}\n\n\tprivate generateFilterFromChangedFiles(filesWeCareAbout: string[]): string {\n\t\tconst filter = filesWeCareAbout\n\t\t\t.filter((file) => file.search('test.js') > -1)\n\t\t\t.map((file) => this.fileToFilterPattern(file))\n\t\t\t.join(' ')\n\n\t\treturn filter\n\t}\n\n\tprivate doWeCareAboutThisFileChanging(path: string) {\n\t\tconst ext = pathUtil.extname(path)\n\n\t\tif (\n\t\t\tpath.search('testDirsAndFiles') > -1 ||\n\t\t\tpath.search('.change_cache') > -1\n\t\t) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (ext === '.js') {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate handleToggleDebug() {\n\t\tif (this.inspect) {\n\t\t\tthis.inspect = undefined\n\t\t} else {\n\t\t\tthis.inspect = this.originalInspect\n\t\t}\n\n\t\tthis.testReporter?.setIsDebugging(!!this.inspect)\n\t\tthis.restart()\n\t}\n\n\tprivate handletoggleStandardWatch() {\n\t\tif (this.watchMode === 'standard') {\n\t\t\tthis.testReporter?.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('standard')\n\t\t}\n\t}\n\n\tprivate handleToggleSmartWatch() {\n\t\tif (this.watchMode === 'smart') {\n\t\t\tthis.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('smart')\n\t\t}\n\t}\n\n\tpublic setWatchMode(mode: WatchMode) {\n\t\tthis.watchMode = mode\n\t\tthis.testReporter?.setWatchMode(mode)\n\t\tthis.hasWatchEverBeenEnabled = true\n\t}\n\n\tprivate restart() {\n\t\tthis.runnerStatus = 'restart'\n\t\tthis.kill()\n\t}\n\n\tprivate handleQuit() {\n\t\tthis.runnerStatus = 'quit'\n\t\tthis.kill()\n\t}\n\n\tprivate handleRerunTestFile(file: string) {\n\t\tconst name = this.fileToFilterPattern(file)\n\n\t\tthis.testReporter?.setFilterPattern(name)\n\t\tthis.handleFilterPatternChange(name)\n\t}\n\n\tprivate fileToFilterPattern(file: string) {\n\t\tconst filename = pathUtil\n\t\t\t.basename(file, '.ts')\n\t\t\t.replace('.tsx', '')\n\t\t\t.replace('.js', '')\n\t\tconst dirname = pathUtil.dirname(file).split(pathUtil.sep).pop() ?? ''\n\n\t\tconst name = pathUtil.join(dirname, filename)\n\t\treturn name\n\t}\n\n\tprivate handleFilterPatternChange(filterPattern?: string) {\n\t\tthis.pattern = filterPattern\n\t\tthis.testReporter?.setFilterPattern(filterPattern)\n\n\t\tthis.restart()\n\t}\n\n\tprivate handleStartStop() {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tthis.runnerStatus = 'run'\n\t\t\tthis.holdPromiseResolve?.()\n\t\t\tthis.holdPromiseResolve = undefined\n\t\t} else if (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.kill()\n\t\t}\n\t}\n\n\tprivate handleRestart() {\n\t\tthis.restart()\n\t}\n\n\tpublic kill() {\n\t\tthis.testRunner?.kill()\n\t\tthis.holdPromiseResolve?.()\n\t\tthis.holdPromiseResolve = undefined\n\t}\n\n\tprivate async handleOpenTestFile(fileName: string) {\n\t\tawait this.openTestFile(fileName)\n\t}\n\n\tprivate async startTestRunner(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<SpruceTestResults> {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tawait this.waitForStart()\n\t\t}\n\n\t\tif (this.runnerStatus === 'quit') {\n\t\t\treturn this.lastTestResults\n\t\t}\n\n\t\tthis.testReporter?.setStatus('ready')\n\t\tthis.testReporter?.stopCountdownTimer()\n\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\n\t\tlet firstUpdate = true\n\n\t\tif (this.testReporter) {\n\t\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\t\tif (firstUpdate) {\n\t\t\t\t\tfirstUpdate = false\n\t\t\t\t\tthis.testReporter?.setStatus('running')\n\t\t\t\t\tthis.testReporter?.reset()\n\t\t\t\t}\n\n\t\t\t\tif (this.watchMode === 'smart' && payload.results.totalFailed > 0) {\n\t\t\t\t\tconst failed = payload.results.testFiles.find(\n\t\t\t\t\t\t(file: any) => file.status === 'failed'\n\t\t\t\t\t)\n\n\t\t\t\t\tif (failed) {\n\t\t\t\t\t\tconst pattern = this.fileToFilterPattern(failed.path)\n\t\t\t\t\t\tif (this.pattern !== pattern) {\n\t\t\t\t\t\t\tthis.handleFilterPatternChange(pattern)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.testReporter?.updateResults(payload.results)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\n\t\t\tawait this.testRunner.on('did-error', (payload) => {\n\t\t\t\tthis.testReporter?.appendError(payload.message)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\t\t}\n\n\t\tthis.runnerStatus = 'run'\n\n\t\tlet testResults: SpruceTestResults = await this.testRunner.run({\n\t\t\tpattern: this.pattern,\n\t\t\tdebugPort: this.inspect,\n\t\t})\n\n\t\tif (\n\t\t\t//@ts-ignore\n\t\t\tthis.runnerStatus !== 'restart' &&\n\t\t\t(!options.shouldReportWhileRunning ||\n\t\t\t\t!this.hasWatchEverBeenEnabled ||\n\t\t\t\t(this.runnerStatus as any) === 'quit')\n\t\t) {\n\t\t\treturn testResults\n\t\t}\n\n\t\tif (\n\t\t\tthis.runnerStatus === 'run' &&\n\t\t\tthis.watchMode === 'smart' &&\n\t\t\tthis.testRunner?.hasFailedTests() === false &&\n\t\t\t!this.testRunner?.hasSkippedTests() &&\n\t\t\t(this.pattern ?? []).length > 0\n\t\t) {\n\t\t\tthis.testReporter?.setStatusLabel('Restarting...')\n\t\t\tthis.runnerStatus = 'restart'\n\t\t\tthis.testReporter?.startCountdownTimer(3)\n\n\t\t\treturn await new Promise((resolve) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.pattern = ''\n\t\t\t\t\tthis.testReporter?.setFilterPattern('')\n\t\t\t\t\tresolve(this.startTestRunner(options))\n\t\t\t\t}, 3000)\n\t\t\t})\n\t\t}\n\n\t\tif (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t}\n\n\t\tthis.testReporter?.setStatus('stopped')\n\n\t\tthis.lastTestResults = testResults\n\n\t\treturn this.startTestRunner(options)\n\t}\n\n\tpublic async waitForStart() {\n\t\tawait new Promise((resolve: any) => {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.holdPromiseResolve = resolve\n\t\t})\n\t}\n\n\tprivate async openTestFile(fileName: string): Promise<void> {\n\t\tconst path = diskUtil.resolvePath(this.cwd, 'src', '__tests__', fileName)\n\t\tawait open(path)\n\t}\n\n\tprivate generateErrorsFromTestResults(testResults: SpruceTestResults) {\n\t\tconst errors: SpruceError[] = []\n\t\ttestResults.testFiles?.forEach((file) => {\n\t\t\tfile.tests?.forEach((test) => {\n\t\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\t\tconst err = this.mapErrorResultToSpruceError(test, file, message)\n\t\t\t\t\terrors.push(err)\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t\tif (errors.length > 0) {\n\t\t\treturn errors\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate mapErrorResultToSpruceError(\n\t\ttest: SpruceTestFileTest,\n\t\tfile: SpruceTestFile,\n\t\tmessage: string\n\t) {\n\t\treturn new SpruceError({\n\t\t\tcode: 'TEST_FAILED',\n\t\t\ttestName: test.name,\n\t\t\tfileName: file.path,\n\t\t\terrorMessage: message,\n\t\t})\n\t}\n\n\tpublic getWatchMode() {\n\t\treturn this.watchMode\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TestAction.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_open","_testOptions","_SpruceError","_AbstractAction2","_TestReporter","_TestRunner","_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","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","optionsSchema","testOptionsSchema","exports","TestAction","_AbstractAction","_execute","_handleOpenTestFile","_startTestRunner","_waitForStart","_openTestFile","_inherits2","_super","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","totalTestFiles","_createClass2","key","execute","_x","_asyncToGenerator2","_regenerator","mark","_callee","_this$watcher","_this$testReporter","_testResults$totalTes","_testResults$totalPas","_testResults$totalFai","_testResults$totalSki","_testResults$totalTod","_testResults$totalFai2","_settings$get","settings","normalizedOptions","pattern","shouldReportWhileRunning","inspect","shouldHoldAtStart","watchMode","shouldReturnImmediately","_this$handleToggleSma","promise","testResults","actionResponse","wrap","_callee$","_context","prev","Service","get","validateAndNormalizeOptions","originalInspect","hasWatchEverBeenEnabled","testReporter","TestReporter","cwd","status","isDebugging","filterPattern","undefined","handleRestart","bind","handleStartStop","handleQuit","handleRerunTestFile","handleOpenTestFile","handleFilterPatternChange","handleToggleDebug","handletoggleStandardWatch","handleToggleSmartWatch","start","watcher","getFeature","startWatching","delay","emitter","on","handleFileChange","runnerStatus","startTestRunner","abrupt","meta","emit","reporter","sent","stopWatching","destroy","summaryLines","concat","totalTests","totalPassed","totalFailed","totalSkipped","totalTodo","errors","generateErrorsFromTestResults","stop","payload","_this2","changes","shouldRestart","filesWeCareAbout","_iterator","_step","change","_change$values","values","path","doWeCareAboutThisFileChanging","_this$testReporter3","setStatusLabel","push","_this$testReporter2","fileChangeTimeout","clearTimeout","startCountdownTimer","watchDelaySec","setTimeout","smartFilter","generateFilterFromChangedFiles","restart","_this3","filter","file","search","map","fileToFilterPattern","join","ext","pathUtil","extname","_this$testReporter4","setIsDebugging","_this$testReporter5","setWatchMode","mode","_this$testReporter6","kill","_this$testReporter7","setFilterPattern","_pathUtil$dirname$spl","filename","basename","replace","dirname","split","sep","pop","_this$testReporter8","_this$holdPromiseReso","holdPromiseResolve","_this$testRunner","_this$holdPromiseReso2","testRunner","_x2","_callee2","fileName","_callee2$","_context2","openTestFile","_x3","_callee3","_this$testReporter9","_this$testReporter10","_this4","_this$testRunner2","_this$testRunner3","_this$pattern","_this$testReporter13","firstUpdate","_this$testReporter11","_this$testReporter12","_callee3$","_context3","waitForStart","lastTestResults","setStatus","stopCountdownTimer","TestRunner","commandService","_this4$testReporter3","_this4$testReporter4","_this4$testReporter","_this4$testReporter2","reset","results","failed","testFiles","find","updateResults","render","_this4$testReporter5","_this4$testReporter6","appendError","message","run","debugPort","hasFailedTests","hasSkippedTests","Promise","resolve","_this4$testReporter7","_callee4","_this5","_callee4$","_context4","_x4","_callee5","_callee5$","_context5","diskUtil","resolvePath","open","_testResults$testFile","_this6","forEach","_file$tests","tests","_test$errorMessages","errorMessages","mapErrorResultToSpruceError","SpruceError","code","testName","errorMessage","getWatchMode","AbstractAction"],"sources":["../../../../src/features/test/actions/TestAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport open from 'open'\nimport testOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/testOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, ActionOptions } from '../../features.types'\nimport WatchFeature from '../../watch/WatchFeature'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tSpruceTestResults,\n} from '../test.types'\nimport TestReporter, { WatchMode } from '../TestReporter'\nimport TestRunner from '../TestRunner'\n\nexport const optionsSchema = testOptionsSchema\n\nexport type OptionsSchema = typeof optionsSchema\n\ntype DidChangePayload =\n\tSchemaValues<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema>\n\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Starting tests... 🛡'\n\n\tprivate testReporter?: TestReporter | undefined\n\tprivate testRunner?: TestRunner\n\tprivate runnerStatus: 'hold' | 'quit' | 'run' | 'restart' = 'hold'\n\tprivate pattern: string | undefined\n\tprivate inspect?: number | null\n\tprivate holdPromiseResolve?: () => void\n\tprivate lastTestResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate originalInspect!: number\n\tprivate watcher?: WatchFeature\n\tprivate watchMode: WatchMode = 'off'\n\tprivate fileChangeTimeout?: any\n\tprivate hasWatchEverBeenEnabled = false\n\n\tprivate readonly watchDelaySec = 2\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\t}\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tif (!options.watchMode) {\n\t\t\tconst settings = this.Service('settings')\n\t\t\toptions.watchMode = settings.get('test.watchMode') ?? 'off'\n\t\t}\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tpattern,\n\t\t\tshouldReportWhileRunning,\n\t\t\tinspect,\n\t\t\tshouldHoldAtStart,\n\t\t\twatchMode,\n\t\t\tshouldReturnImmediately,\n\t\t} = normalizedOptions\n\n\t\tthis.originalInspect = inspect ?? 5200\n\t\tthis.inspect = inspect\n\t\tthis.pattern = pattern\n\t\tthis.hasWatchEverBeenEnabled = watchMode !== 'off'\n\t\tthis.watchMode = watchMode as WatchMode\n\n\t\tif (shouldReportWhileRunning) {\n\t\t\tthis.testReporter = new TestReporter({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\twatchMode: this.watchMode,\n\t\t\t\tstatus: shouldHoldAtStart ? 'stopped' : 'ready',\n\t\t\t\tisDebugging: !!inspect,\n\t\t\t\tfilterPattern: pattern ?? undefined,\n\t\t\t\thandleRestart: this.handleRestart.bind(this),\n\t\t\t\thandleStartStop: this.handleStartStop.bind(this),\n\t\t\t\thandleQuit: this.handleQuit.bind(this),\n\t\t\t\thandleRerunTestFile: this.handleRerunTestFile.bind(this),\n\t\t\t\thandleOpenTestFile: this.handleOpenTestFile.bind(this),\n\t\t\t\thandleFilterPatternChange: this.handleFilterPatternChange.bind(this),\n\t\t\t\thandleToggleDebug: this.handleToggleDebug.bind(this),\n\t\t\t\thandletoggleStandardWatch: this.handletoggleStandardWatch.bind(this),\n\t\t\t\thandleToggleSmartWatch: this.handleToggleSmartWatch?.bind(this),\n\t\t\t})\n\n\t\t\tawait this.testReporter.start()\n\t\t}\n\n\t\tthis.watcher = this.getFeature('watch') as WatchFeature\n\t\tvoid this.watcher.startWatching({ delay: 0 })\n\n\t\tawait this.emitter.on(\n\t\t\t'watcher.did-detect-change',\n\t\t\tthis.handleFileChange.bind(this)\n\t\t)\n\n\t\tthis.runnerStatus = shouldHoldAtStart ? 'hold' : 'run'\n\n\t\tconst promise = this.startTestRunner(normalizedOptions)\n\n\t\tif (shouldReturnImmediately) {\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\tpromise,\n\t\t\t\t\ttest: this,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tvoid this.emitter.emit('test.reporter-did-boot', {\n\t\t\treporter: this,\n\t\t})\n\n\t\tconst testResults = await promise\n\n\t\tawait this.watcher?.stopWatching()\n\t\tawait this.testReporter?.destroy()\n\n\t\tconst actionResponse: FeatureActionResponse = {\n\t\t\tmeta: { testResults },\n\t\t\tsummaryLines: [\n\t\t\t\t`Test files: ${testResults.totalTestFiles}`,\n\t\t\t\t`Tests: ${testResults.totalTests ?? '0'}`,\n\t\t\t\t`Passed: ${testResults.totalPassed ?? '0'}`,\n\t\t\t\t`Failed: ${testResults.totalFailed ?? '0'}`,\n\t\t\t\t`Skipped: ${testResults.totalSkipped ?? '0'}`,\n\t\t\t\t`Todo: ${testResults.totalTodo ?? '0'}`,\n\t\t\t],\n\t\t}\n\n\t\tif (testResults.totalFailed ?? 0 > 0) {\n\t\t\tactionResponse.errors = this.generateErrorsFromTestResults(testResults)\n\t\t}\n\n\t\treturn actionResponse\n\t}\n\n\tprivate handleFileChange(payload: DidChangePayload) {\n\t\tif (\n\t\t\tthis.watchMode === 'off' ||\n\t\t\t!(this.runnerStatus === 'run' || this.runnerStatus == 'hold')\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\tconst { changes } = payload\n\n\t\tlet shouldRestart = false\n\t\tconst filesWeCareAbout: string[] = []\n\n\t\tfor (const change of changes) {\n\t\t\tconst { path, name } = change.values\n\n\t\t\tif (this.doWeCareAboutThisFileChanging(path)) {\n\t\t\t\tthis.testReporter?.setStatusLabel(`Built file: ${name}`)\n\t\t\t\tshouldRestart = true\n\t\t\t\tfilesWeCareAbout.push(path)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRestart) {\n\t\t\tif (this.fileChangeTimeout) {\n\t\t\t\tclearTimeout(this.fileChangeTimeout)\n\t\t\t}\n\n\t\t\tthis.testReporter?.startCountdownTimer(this.watchDelaySec)\n\t\t\tthis.fileChangeTimeout = setTimeout(() => {\n\t\t\t\tif (this.watchMode === 'smart') {\n\t\t\t\t\tconst smartFilter =\n\t\t\t\t\t\tthis.generateFilterFromChangedFiles(filesWeCareAbout)\n\t\t\t\t\tif (smartFilter.length > 0) {\n\t\t\t\t\t\tthis.handleFilterPatternChange(smartFilter)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.restart()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.restart()\n\t\t\t\t}\n\t\t\t}, this.watchDelaySec * 1000) as any\n\t\t}\n\t}\n\n\tprivate generateFilterFromChangedFiles(filesWeCareAbout: string[]): string {\n\t\tconst filter = filesWeCareAbout\n\t\t\t.filter((file) => file.search('test.js') > -1)\n\t\t\t.map((file) => this.fileToFilterPattern(file))\n\t\t\t.join(' ')\n\n\t\treturn filter\n\t}\n\n\tprivate doWeCareAboutThisFileChanging(path: string) {\n\t\tconst ext = pathUtil.extname(path)\n\n\t\tif (\n\t\t\tpath.search('testDirsAndFiles') > -1 ||\n\t\t\tpath.search('.change_cache') > -1\n\t\t) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (ext === '.js') {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate handleToggleDebug() {\n\t\tif (this.inspect) {\n\t\t\tthis.inspect = undefined\n\t\t} else {\n\t\t\tthis.inspect = this.originalInspect\n\t\t}\n\n\t\tthis.testReporter?.setIsDebugging(!!this.inspect)\n\t\tthis.restart()\n\t}\n\n\tprivate handletoggleStandardWatch() {\n\t\tif (this.watchMode === 'standard') {\n\t\t\tthis.testReporter?.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('standard')\n\t\t}\n\t}\n\n\tprivate handleToggleSmartWatch() {\n\t\tif (this.watchMode === 'smart') {\n\t\t\tthis.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('smart')\n\t\t}\n\t}\n\n\tpublic setWatchMode(mode: WatchMode) {\n\t\tthis.watchMode = mode\n\t\tthis.testReporter?.setWatchMode(mode)\n\t\tthis.hasWatchEverBeenEnabled = true\n\t}\n\n\tprivate restart() {\n\t\tthis.runnerStatus = 'restart'\n\t\tthis.kill()\n\t}\n\n\tprivate handleQuit() {\n\t\tthis.runnerStatus = 'quit'\n\t\tthis.kill()\n\t}\n\n\tprivate handleRerunTestFile(file: string) {\n\t\tconst name = this.fileToFilterPattern(file)\n\n\t\tthis.testReporter?.setFilterPattern(name)\n\t\tthis.handleFilterPatternChange(name)\n\t}\n\n\tprivate fileToFilterPattern(file: string) {\n\t\tconst filename = pathUtil\n\t\t\t.basename(file, '.ts')\n\t\t\t.replace('.tsx', '')\n\t\t\t.replace('.js', '')\n\t\tconst dirname = pathUtil.dirname(file).split(pathUtil.sep).pop() ?? ''\n\n\t\tconst name = pathUtil.join(dirname, filename)\n\t\treturn name\n\t}\n\n\tprivate handleFilterPatternChange(filterPattern?: string) {\n\t\tthis.pattern = filterPattern\n\t\tthis.testReporter?.setFilterPattern(filterPattern)\n\n\t\tthis.restart()\n\t}\n\n\tprivate handleStartStop() {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tthis.runnerStatus = 'run'\n\t\t\tthis.holdPromiseResolve?.()\n\t\t\tthis.holdPromiseResolve = undefined\n\t\t} else if (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.kill()\n\t\t}\n\t}\n\n\tprivate handleRestart() {\n\t\tthis.restart()\n\t}\n\n\tpublic kill() {\n\t\tthis.testRunner?.kill()\n\t\tthis.holdPromiseResolve?.()\n\t\tthis.holdPromiseResolve = undefined\n\t}\n\n\tprivate async handleOpenTestFile(fileName: string) {\n\t\tawait this.openTestFile(fileName)\n\t}\n\n\tprivate async startTestRunner(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<SpruceTestResults> {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tawait this.waitForStart()\n\t\t}\n\n\t\tif (this.runnerStatus === 'quit') {\n\t\t\treturn this.lastTestResults\n\t\t}\n\n\t\tthis.testReporter?.setStatus('ready')\n\t\tthis.testReporter?.stopCountdownTimer()\n\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\n\t\tlet firstUpdate = true\n\n\t\tif (this.testReporter) {\n\t\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\t\tif (firstUpdate) {\n\t\t\t\t\tfirstUpdate = false\n\t\t\t\t\tthis.testReporter?.setStatus('running')\n\t\t\t\t\tthis.testReporter?.reset()\n\t\t\t\t}\n\n\t\t\t\tif (this.watchMode === 'smart' && payload.results.totalFailed > 0) {\n\t\t\t\t\tconst failed = payload.results.testFiles.find(\n\t\t\t\t\t\t(file: any) => file.status === 'failed'\n\t\t\t\t\t)\n\n\t\t\t\t\tif (failed) {\n\t\t\t\t\t\tconst pattern = this.fileToFilterPattern(failed.path)\n\t\t\t\t\t\tif (this.pattern !== pattern) {\n\t\t\t\t\t\t\tthis.handleFilterPatternChange(pattern)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.testReporter?.updateResults(payload.results)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\n\t\t\tawait this.testRunner.on('did-error', (payload) => {\n\t\t\t\tthis.testReporter?.appendError(payload.message)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\t\t}\n\n\t\tthis.runnerStatus = 'run'\n\n\t\tlet testResults: SpruceTestResults = await this.testRunner.run({\n\t\t\tpattern: this.pattern,\n\t\t\tdebugPort: this.inspect,\n\t\t})\n\n\t\tif (\n\t\t\t//@ts-ignore\n\t\t\tthis.runnerStatus !== 'restart' &&\n\t\t\t(!options.shouldReportWhileRunning ||\n\t\t\t\t!this.hasWatchEverBeenEnabled ||\n\t\t\t\t(this.runnerStatus as any) === 'quit')\n\t\t) {\n\t\t\treturn testResults\n\t\t}\n\n\t\tif (\n\t\t\tthis.runnerStatus === 'run' &&\n\t\t\tthis.watchMode === 'smart' &&\n\t\t\tthis.testRunner?.hasFailedTests() === false &&\n\t\t\t!this.testRunner?.hasSkippedTests() &&\n\t\t\t(this.pattern ?? []).length > 0\n\t\t) {\n\t\t\tthis.testReporter?.setStatusLabel('Restarting...')\n\t\t\tthis.runnerStatus = 'restart'\n\t\t\tthis.testReporter?.startCountdownTimer(3)\n\n\t\t\treturn await new Promise((resolve) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.pattern = ''\n\t\t\t\t\tthis.testReporter?.setFilterPattern('')\n\t\t\t\t\tresolve(this.startTestRunner(options))\n\t\t\t\t}, 3000)\n\t\t\t})\n\t\t}\n\n\t\tif (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t}\n\n\t\tthis.testReporter?.setStatus('stopped')\n\n\t\tthis.lastTestResults = testResults\n\n\t\treturn this.startTestRunner(options)\n\t}\n\n\tpublic async waitForStart() {\n\t\tawait new Promise((resolve: any) => {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.holdPromiseResolve = resolve\n\t\t})\n\t}\n\n\tprivate async openTestFile(fileName: string): Promise<void> {\n\t\tconst path = diskUtil.resolvePath(this.cwd, 'src', '__tests__', fileName)\n\t\tawait open(path)\n\t}\n\n\tprivate generateErrorsFromTestResults(testResults: SpruceTestResults) {\n\t\tconst errors: SpruceError[] = []\n\t\ttestResults.testFiles?.forEach((file) => {\n\t\t\tfile.tests?.forEach((test) => {\n\t\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\t\tconst err = this.mapErrorResultToSpruceError(test, file, message)\n\t\t\t\t\terrors.push(err)\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t\tif (errors.length > 0) {\n\t\t\treturn errors\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate mapErrorResultToSpruceError(\n\t\ttest: SpruceTestFileTest,\n\t\tfile: SpruceTestFile,\n\t\tmessage: string\n\t) {\n\t\treturn new SpruceError({\n\t\t\tcode: 'TEST_FAILED',\n\t\t\ttestName: test.name,\n\t\t\tfileName: file.path,\n\t\t\terrorMessage: message,\n\t\t})\n\t}\n\n\tpublic getWatchMode() {\n\t\treturn this.watchMode\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
16
16
|
var _AbstractWriter2 = _interopRequireDefault(require("../../../writers/AbstractWriter"));
|
|
17
17
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
18
18
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
|
-
var TestGenerator = /*#__PURE__*/function (_AbstractWriter) {
|
|
19
|
+
var TestGenerator = /*#__PURE__*/function (_AbstractWriter, _generateTest) {
|
|
20
20
|
(0, _inherits2["default"])(TestGenerator, _AbstractWriter);
|
|
21
21
|
var _super = _createSuper(TestGenerator);
|
|
22
22
|
function TestGenerator() {
|
|
@@ -25,8 +25,8 @@ var TestGenerator = /*#__PURE__*/function (_AbstractWriter) {
|
|
|
25
25
|
}
|
|
26
26
|
(0, _createClass2["default"])(TestGenerator, [{
|
|
27
27
|
key: "generateTest",
|
|
28
|
-
value: function () {
|
|
29
|
-
|
|
28
|
+
value: function generateTest(_x, _x2) {
|
|
29
|
+
return (_generateTest = _generateTest || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(destinationDir, options) {
|
|
30
30
|
var namePascal, filename, resolvedDestination, testContent, results;
|
|
31
31
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
32
32
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -48,12 +48,8 @@ var TestGenerator = /*#__PURE__*/function (_AbstractWriter) {
|
|
|
48
48
|
return _context.stop();
|
|
49
49
|
}
|
|
50
50
|
}, _callee, this);
|
|
51
|
-
}));
|
|
52
|
-
|
|
53
|
-
return _generateTest.apply(this, arguments);
|
|
54
|
-
}
|
|
55
|
-
return generateTest;
|
|
56
|
-
}()
|
|
51
|
+
}))).apply(this, arguments);
|
|
52
|
+
}
|
|
57
53
|
}]);
|
|
58
54
|
return TestGenerator;
|
|
59
55
|
}(_AbstractWriter2["default"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestWriter.js","names":["_path","_interopRequireDefault","require","_AbstractWriter2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TestGenerator","_AbstractWriter","_inherits2","_super","_classCallCheck2","_createClass2","key","value","
|
|
1
|
+
{"version":3,"file":"TestWriter.js","names":["_path","_interopRequireDefault","require","_AbstractWriter2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TestGenerator","_AbstractWriter","_generateTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","generateTest","_x","_x2","_asyncToGenerator2","_regenerator","mark","_callee","destinationDir","options","namePascal","filename","resolvedDestination","testContent","results","wrap","_callee$","_context","prev","next","concat","pathUtil","join","templates","test","writeFileIfChangedMixinResults","type","sent","lint","abrupt","stop","AbstractWriter","exports"],"sources":["../../../../src/features/test/writers/TestWriter.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { TestOptions } from '@sprucelabs/spruce-templates'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class TestGenerator extends AbstractWriter {\n\tpublic async generateTest(\n\t\tdestinationDir: string,\n\t\toptions: TestOptions & { type: string }\n\t) {\n\t\tconst { namePascal } = options\n\t\tconst filename = `${namePascal}.test.ts`\n\n\t\tconst resolvedDestination = pathUtil.join(destinationDir, filename)\n\t\tconst testContent = this.templates.test(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\ttestContent,\n\t\t\t`Your ${options.type} test.`\n\t\t)\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA4D,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAEvCC,aAAa,0BAAAC,eAAA,EAAAC,aAAA;EAAA,IAAAC,UAAA,aAAAH,aAAA,EAAAC,eAAA;EAAA,IAAAG,MAAA,GAAA1B,YAAA,CAAAsB,aAAA;EAAA,SAAAA,cAAA;IAAA,IAAAK,gBAAA,mBAAAL,aAAA;IAAA,OAAAI,MAAA,CAAAb,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAgB,aAAA,aAAAN,aAAA;IAAAO,GAAA;IAAAC,KAAA,WAAAC,aAAAC,EAAA,EAAAC,GAAA;MAAA,QAAAT,aAAA,GAAAA,aAAA,QAAAU,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CACjC,SAAAC,QACCC,cAAsB,EACtBC,OAAuC;QAAA,IAAAC,UAAA,EAAAC,QAAA,EAAAC,mBAAA,EAAAC,WAAA,EAAAC,OAAA;QAAA,OAAAT,YAAA,YAAAU,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAE/BT,UAAU,GAAKD,OAAO,CAAtBC,UAAU;cACZC,QAAQ,MAAAS,MAAA,CAAMV,UAAU;cAExBE,mBAAmB,GAAGS,gBAAQ,CAACC,IAAI,CAACd,cAAc,EAAEG,QAAQ,CAAC;cAC7DE,WAAW,GAAG,IAAI,CAACU,SAAS,CAACC,IAAI,CAACf,OAAO,CAAC;cAAAQ,QAAA,CAAAE,IAAA;cAAA,OAE1B,IAAI,CAACM,8BAA8B,CACxDb,mBAAmB,EACnBC,WAAW,UAAAO,MAAA,CACHX,OAAO,CAACiB,IAAI,WACrB,CAAC;YAAA;cAJKZ,OAAO,GAAAG,QAAA,CAAAU,IAAA;cAAAV,QAAA,CAAAE,IAAA;cAAA,OAMP,IAAI,CAACS,IAAI,CAAChB,mBAAmB,CAAC;YAAA;cAAA,OAAAK,QAAA,CAAAY,MAAA,WAE7Bf,OAAO;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAa,IAAA;UAAA;QAAA,GAAAvB,OAAA;MAAA,CACd,IAAAxB,KAAA,OAAAD,SAAA;IAAA;EAAA;EAAA,OAAAU,aAAA;AAAA,EApByCuC,2BAAc;AAAAC,OAAA,cAAAxC,aAAA"}
|
|
@@ -18,10 +18,11 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
|
18
18
|
var _AbstractFeature2 = _interopRequireDefault(require("../AbstractFeature"));
|
|
19
19
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
20
20
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
21
|
-
var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
21
|
+
var ViewFeature = /*#__PURE__*/function (_AbstractFeature, _afterPackageInstall) {
|
|
22
22
|
(0, _inherits2["default"])(ViewFeature, _AbstractFeature);
|
|
23
23
|
var _super = _createSuper(ViewFeature);
|
|
24
24
|
function ViewFeature(options) {
|
|
25
|
+
var _ref;
|
|
25
26
|
var _this;
|
|
26
27
|
(0, _classCallCheck2["default"])(this, ViewFeature);
|
|
27
28
|
_this = _super.call(this, options);
|
|
@@ -44,8 +45,8 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
44
45
|
code: 'event',
|
|
45
46
|
isRequired: true
|
|
46
47
|
}]);
|
|
47
|
-
void _this.emitter.on('feature.did-execute',
|
|
48
|
-
|
|
48
|
+
void _this.emitter.on('feature.did-execute', function (_x) {
|
|
49
|
+
return (_ref = _ref || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(payload) {
|
|
49
50
|
var featureCode, actionCode, isInstalled, files;
|
|
50
51
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
51
52
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -73,11 +74,8 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
73
74
|
return _context.stop();
|
|
74
75
|
}
|
|
75
76
|
}, _callee);
|
|
76
|
-
}));
|
|
77
|
-
|
|
78
|
-
return _ref.apply(this, arguments);
|
|
79
|
-
};
|
|
80
|
-
}());
|
|
77
|
+
}))).apply(this, arguments);
|
|
78
|
+
});
|
|
81
79
|
void _this.emitter.on('test.register-abstract-test-classes', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
82
80
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
83
81
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -100,8 +98,8 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
100
98
|
}
|
|
101
99
|
(0, _createClass2["default"])(ViewFeature, [{
|
|
102
100
|
key: "afterPackageInstall",
|
|
103
|
-
value: function () {
|
|
104
|
-
|
|
101
|
+
value: function afterPackageInstall() {
|
|
102
|
+
return (_afterPackageInstall = _afterPackageInstall || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
105
103
|
var files;
|
|
106
104
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
107
105
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -122,12 +120,8 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
122
120
|
return _context3.stop();
|
|
123
121
|
}
|
|
124
122
|
}, _callee3, this);
|
|
125
|
-
}));
|
|
126
|
-
|
|
127
|
-
return _afterPackageInstall.apply(this, arguments);
|
|
128
|
-
}
|
|
129
|
-
return afterPackageInstall;
|
|
130
|
-
}()
|
|
123
|
+
}))).apply(this, arguments);
|
|
124
|
+
}
|
|
131
125
|
}]);
|
|
132
126
|
return ViewFeature;
|
|
133
127
|
}(_AbstractFeature2["default"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewFeature.js","names":["_spruceSkillUtils","require","_AbstractFeature2","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ViewFeature","_AbstractFeature","_inherits2","_super","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","
|
|
1
|
+
{"version":3,"file":"ViewFeature.js","names":["_spruceSkillUtils","require","_AbstractFeature2","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ViewFeature","_AbstractFeature","_afterPackageInstall","_inherits2","_super","options","_ref","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","_x","_asyncToGenerator2","_regenerator","mark","_callee","payload","featureCode","actionCode","isInstalled","files","wrap","_callee$","_context","prev","next","features","sent","Writer","writePlugin","cwd","abrupt","stop","_callee2","_callee2$","_context2","abstractClasses","label","_createClass2","key","value","afterPackageInstall","_callee3","_callee3$","_context3","Service","add","id","namespace","AbstractFeature","exports"],"sources":["../../../src/features/view/ViewFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tview: ViewFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tview: undefined\n\t}\n}\n\nexport default class ViewFeature extends AbstractFeature {\n\tpublic nameReadable = 'views'\n\tpublic description = 'Views: Create views using the Heartwood framework.'\n\tpublic code: FeatureCode = 'view'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/heartwood-view-controllers@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-view-plugin@latest',\n\t\t},\n\t]\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'schema',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.did-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\t\t\tconst isInstalled = await this.features.isInstalled('view')\n\n\t\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\t\t\t\treturn {\n\t\t\t\t\tfiles,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid this.emitter.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'AbstractViewControllerTest',\n\t\t\t\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t\t\t\t\timport: '@sprucelabs/spruce-view-plugin',\n\t\t\t\t\t\tfeatureCode: 'view',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: '**',\n\t\t\tnamespace: 'heartwood',\n\t\t})\n\n\t\treturn { files }\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -82,7 +82,7 @@ var followUpSchema = (0, _schema.buildSchema)({
|
|
|
82
82
|
})
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
|
-
var CreateAction = /*#__PURE__*/function (_AbstractAction) {
|
|
85
|
+
var CreateAction = /*#__PURE__*/function (_AbstractAction, _execute) {
|
|
86
86
|
(0, _inherits2["default"])(CreateAction, _AbstractAction);
|
|
87
87
|
var _super = _createSuper(CreateAction);
|
|
88
88
|
function CreateAction() {
|
|
@@ -99,8 +99,8 @@ var CreateAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
99
99
|
}
|
|
100
100
|
(0, _createClass2["default"])(CreateAction, [{
|
|
101
101
|
key: "execute",
|
|
102
|
-
value: function () {
|
|
103
|
-
|
|
102
|
+
value: function execute(_x) {
|
|
103
|
+
return (_execute = _execute || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(options) {
|
|
104
104
|
var _namePascal;
|
|
105
105
|
var _this$validateAndNorm, viewType, isRoot, nameReadable, namePascal, viewModel, writer, form, answers, files, syncResults, merged;
|
|
106
106
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -170,12 +170,8 @@ var CreateAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
170
170
|
return _context.stop();
|
|
171
171
|
}
|
|
172
172
|
}, _callee, this);
|
|
173
|
-
}));
|
|
174
|
-
|
|
175
|
-
return _execute.apply(this, arguments);
|
|
176
|
-
}
|
|
177
|
-
return execute;
|
|
178
|
-
}()
|
|
173
|
+
}))).apply(this, arguments);
|
|
174
|
+
}
|
|
179
175
|
}]);
|
|
180
176
|
return CreateAction;
|
|
181
177
|
}(_AbstractAction2["default"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_FormComponent","_interopRequireDefault","_namedTemplateItem","_action","_form","_AbstractAction2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","viewTypeChoices","value","label","viewModels","sort","optionsSchema","buildSchema","id","description","fields","viewType","type","isRequired","options","choices","isRoot","nameReadable","namedTemplateItemBuilder","namePascal","viewModel","hint","map","model","followUpSchema","CreateAction","_AbstractAction","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_namePascal","_this$validateAndNorm","writer","form","answers","files","syncResults","merged","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","doesRootControllerExist","cwd","ui","confirm","sent","FormComponent","schema","onWillAskQuestion","formUtil","onWillAskQuestionHandler","present","prompt","namesUtil","toPascal","nameKebab","toKebab","Action","execute","actionUtil","mergeActionResults","abrupt","stop","_x","AbstractAction","exports"],"sources":["../../../../src/features/view/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport FormComponent from '../../../components/FormComponent'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport formUtil from '../../../utilities/form.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst viewTypeChoices = [\n\t{\n\t\tvalue: 'skillView',\n\t\tlabel: 'Skill View Controller',\n\t},\n\t{\n\t\tvalue: 'view',\n\t\tlabel: 'View Controller',\n\t},\n]\n\nconst viewModels = [\n\t'BigForm',\n\t'Button',\n\t'Calendar',\n\t'Card',\n\t'CardBody',\n\t'CardHeader',\n\t'Dialog',\n\t'Form',\n\t'List',\n\t'CalendarEvent',\n].sort()\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewOptions',\n\tdescription:\n\t\t'Create a new Heartwood view to render on web enabled and mobile devices.',\n\tfields: {\n\t\tviewType: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Which are you creating?',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: viewTypeChoices,\n\t\t\t},\n\t\t},\n\t\tisRoot: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Make this the Root View Controller?',\n\t\t},\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Controller name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t\tviewModel: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'View model',\n\t\t\thint: 'Which type of view will your controller render?',\n\t\t\toptions: {\n\t\t\t\tchoices: viewModels.map((model) => ({ value: model, label: model })),\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst followUpSchema = buildSchema({\n\tid: 'creatViewFollowup',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...optionsSchema.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...optionsSchema.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['create.view']\n\tpublic invocationMessage = 'Creating your new view controller... 🌲'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { viewType, isRoot, nameReadable, namePascal, viewModel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('view')\n\n\t\tif (\n\t\t\tviewType === 'skillView' &&\n\t\t\t!isRoot &&\n\t\t\t!writer.doesRootControllerExist(this.cwd)\n\t\t) {\n\t\t\tisRoot = await this.ui.confirm(\n\t\t\t\t'Do you want to create a root view controller?'\n\t\t\t)\n\t\t}\n\n\t\tif (!isRoot && !nameReadable) {\n\t\t\tconst form = new FormComponent({\n\t\t\t\tui: this.ui,\n\t\t\t\tschema: followUpSchema,\n\t\t\t\tonWillAskQuestion: formUtil.onWillAskQuestionHandler,\n\t\t\t})\n\t\t\tconst answers = await form.present()\n\n\t\t\tnamePascal = answers.namePascal\n\t\t\tnameReadable = answers.nameReadable\n\t\t}\n\n\t\tif (isRoot) {\n\t\t\tnameReadable = 'Root'\n\t\t}\n\n\t\tif (!viewModel && viewType === 'view') {\n\t\t\tviewModel = await this.ui.prompt({\n\t\t\t\t...optionsSchema.fields.viewModel,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\t\t}\n\n\t\tnamePascal = namePascal ?? namesUtil.toPascal(nameReadable as string)\n\n\t\tconst files = await writer[\n\t\t\tviewType === 'skillView'\n\t\t\t\t? 'writeSkillViewController'\n\t\t\t\t: 'writeViewController'\n\t\t](this.cwd, {\n\t\t\tviewType,\n\t\t\tnamePascal,\n\t\t\tviewModel: viewModel as string,\n\t\t\tnameKebab: namesUtil.toKebab(namePascal),\n\t\t})\n\n\t\tconst syncResults = await this.Action('view', 'sync').execute({})\n\n\t\tconst merged = actionUtil.mergeActionResults(\n\t\t\t{\n\t\t\t\tfiles,\n\t\t\t},\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn merged\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,gBAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAAiD,SAAAQ,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,SAAAC,QAAAD,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAL,CAAA,OAAAI,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAN,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAT,CAAA,EAAAE,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAnB,KAAA,CAAAW,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAS,cAAAZ,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAX,SAAA,CAAAsB,MAAA,EAAAX,CAAA,UAAAC,CAAA,WAAAZ,SAAA,CAAAW,CAAA,IAAAX,SAAA,CAAAW,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAW,OAAA,WAAAZ,CAAA,QAAAa,gBAAA,aAAAf,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAAjB,CAAA,EAAAI,MAAA,CAAAY,yBAAA,CAAAb,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAE,MAAA,CAAAc,cAAA,CAAAlB,CAAA,EAAAE,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAGjD,IAAMmB,eAAe,GAAG,CACvB;EACCC,KAAK,EAAE,WAAW;EAClBC,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE;AACR,CAAC,CACD;AAED,IAAMC,UAAU,GAAG,CAClB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,eAAe,CACf,CAACC,IAAI,CAAC,CAAC;AAER,IAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,mBAAmB;EACvBC,WAAW,EACV,0EAA0E;EAC3EC,MAAM,EAAE;IACPC,QAAQ,EAAE;MACTC,IAAI,EAAE,QAAQ;MACdT,KAAK,EAAE,yBAAyB;MAChCU,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE;QACRC,OAAO,EAAEd;MACV;IACD,CAAC;IACDe,MAAM,EAAE;MACPJ,IAAI,EAAE,SAAS;MACfT,KAAK,EAAE;IACR,CAAC;IACDc,YAAY,EAAAvB,aAAA,CAAAA,aAAA,KACRwB,6BAAwB,CAACR,MAAM,CAACO,YAAY;MAC/Cd,KAAK,EAAE,iBAAiB;MACxBU,UAAU,EAAE;IAAK,EACjB;IACDM,UAAU,EAAAzB,aAAA,CAAAA,aAAA,KACNwB,6BAAwB,CAACR,MAAM,CAACS,UAAU;MAC7CN,UAAU,EAAE;IAAK,EACjB;IACDO,SAAS,EAAE;MACVR,IAAI,EAAE,QAAQ;MACdT,KAAK,EAAE,YAAY;MACnBkB,IAAI,EAAE,iDAAiD;MACvDP,OAAO,EAAE;QACRC,OAAO,EAAEX,UAAU,CAACkB,GAAG,CAAC,UAACC,KAAK;UAAA,OAAM;YAAErB,KAAK,EAAEqB,KAAK;YAAEpB,KAAK,EAAEoB;UAAM,CAAC;QAAA,CAAC;MACpE;IACD;EACD;AACD,CAAC,CAAC;AAEF,IAAMC,cAAc,GAAG,IAAAjB,mBAAW,EAAC;EAClCC,EAAE,EAAE,mBAAmB;EACvBE,MAAM,EAAE;IACPO,YAAY,EAAAvB,aAAA,CAAAA,aAAA,KACRY,aAAa,CAACI,MAAM,CAACO,YAAY;MACpCJ,UAAU,EAAE;IAAI,EAChB;IACDM,UAAU,EAAAzB,aAAA,CAAAA,aAAA,KACNY,aAAa,CAACI,MAAM,CAACS,UAAU;MAClCN,UAAU,EAAE;IAAI;EAElB;AACD,CAAC,CAAC;AAAA,IAImBY,YAAY,0BAAAC,eAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,eAAA;EAAA,IAAAE,MAAA,GAAAnE,YAAA,CAAAgE,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,YAAA;IAAA,SAAAM,IAAA,GAAA1D,SAAA,CAAAsB,MAAA,EAAAqC,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAA7D,SAAA,CAAA6D,IAAA;IAAA;IAAAL,KAAA,GAAAD,MAAA,CAAA/C,IAAA,CAAAP,KAAA,CAAAsD,MAAA,SAAAO,MAAA,CAAAH,IAAA;IAAA,IAAAnC,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,oBACMvB,aAAa;IAAA,IAAAT,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,qBAC3B,CAAC,aAAa,CAAC;IAAA,IAAAhC,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,wBACZ,yCAAyC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAQ,aAAA,aAAAZ,YAAA;IAAAa,GAAA;IAAApC,KAAA;MAAA,IAAAqC,QAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAEpE,SAAAC,QACC7B,OAAoC;QAAA,IAAA8B,WAAA;QAAA,IAAAC,qBAAA,EAAAlC,QAAA,EAAAK,MAAA,EAAAC,YAAA,EAAAE,UAAA,EAAAC,SAAA,EAAA0B,MAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,MAAA;QAAA,OAAAV,YAAA,YAAAW,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAX,qBAAA,GAGnC,IAAI,CAACY,2BAA2B,CAAC3C,OAAO,CAAC,EADpCH,QAAQ,GAAAkC,qBAAA,CAARlC,QAAQ,EAAEK,MAAM,GAAA6B,qBAAA,CAAN7B,MAAM,EAAEC,YAAY,GAAA4B,qBAAA,CAAZ5B,YAAY,EAAEE,UAAU,GAAA0B,qBAAA,CAAV1B,UAAU,EAAEC,SAAS,GAAAyB,qBAAA,CAATzB,SAAS;cAGrD0B,MAAM,GAAG,IAAI,CAACY,MAAM,CAAC,MAAM,CAAC;cAAA,MAGjC/C,QAAQ,KAAK,WAAW,IACxB,CAACK,MAAM,IACP,CAAC8B,MAAM,CAACa,uBAAuB,CAAC,IAAI,CAACC,GAAG,CAAC;gBAAAN,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAE1B,IAAI,CAACK,EAAE,CAACC,OAAO,CAC7B,+CACD,CAAC;YAAA;cAFD9C,MAAM,GAAAsC,QAAA,CAAAS,IAAA;YAAA;cAAA,MAKH,CAAC/C,MAAM,IAAI,CAACC,YAAY;gBAAAqC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACrBT,IAAI,GAAG,IAAIiB,yBAAa,CAAC;gBAC9BH,EAAE,EAAE,IAAI,CAACA,EAAE;gBACXI,MAAM,EAAEzC,cAAc;gBACtB0C,iBAAiB,EAAEC,gBAAQ,CAACC;cAC7B,CAAC,CAAC;cAAAd,QAAA,CAAAE,IAAA;cAAA,OACoBT,IAAI,CAACsB,OAAO,CAAC,CAAC;YAAA;cAA9BrB,OAAO,GAAAM,QAAA,CAAAS,IAAA;cAEb5C,UAAU,GAAG6B,OAAO,CAAC7B,UAAU;cAC/BF,YAAY,GAAG+B,OAAO,CAAC/B,YAAY;YAAA;cAGpC,IAAID,MAAM,EAAE;gBACXC,YAAY,GAAG,MAAM;cACtB;cAAC,MAEG,CAACG,SAAS,IAAIT,QAAQ,KAAK,MAAM;gBAAA2C,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAClB,IAAI,CAACK,EAAE,CAACS,MAAM,CAAA5E,aAAA,CAAAA,aAAA,KAC5BY,aAAa,CAACI,MAAM,CAACU,SAAS;gBACjCP,UAAU,EAAE;cAAI,EAChB,CAAC;YAAA;cAHFO,SAAS,GAAAkC,QAAA,CAAAS,IAAA;YAAA;cAMV5C,UAAU,IAAAyB,WAAA,GAAGzB,UAAU,cAAAyB,WAAA,cAAAA,WAAA,GAAI2B,2BAAS,CAACC,QAAQ,CAACvD,YAAsB,CAAC;cAAAqC,QAAA,CAAAE,IAAA;cAAA,OAEjDV,MAAM,CACzBnC,QAAQ,KAAK,WAAW,GACrB,0BAA0B,GAC1B,qBAAqB,CACxB,CAAC,IAAI,CAACiD,GAAG,EAAE;gBACXjD,QAAQ,EAARA,QAAQ;gBACRQ,UAAU,EAAVA,UAAU;gBACVC,SAAS,EAAEA,SAAmB;gBAC9BqD,SAAS,EAAEF,2BAAS,CAACG,OAAO,CAACvD,UAAU;cACxC,CAAC,CAAC;YAAA;cATI8B,KAAK,GAAAK,QAAA,CAAAS,IAAA;cAAAT,QAAA,CAAAE,IAAA;cAAA,OAWe,IAAI,CAACmB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAA;cAA3D1B,WAAW,GAAAI,QAAA,CAAAS,IAAA;cAEXZ,MAAM,GAAG0B,kBAAU,CAACC,kBAAkB,CAC3C;gBACC7B,KAAK,EAALA;cACD,CAAC,EACDC,WACD,CAAC;cAAA,OAAAI,QAAA,CAAAyB,MAAA,WAEM5B,MAAM;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAA0B,IAAA;UAAA;QAAA,GAAArC,OAAA;MAAA,CACb;MAAA,SAAAiC,QAAAK,EAAA;QAAA,OAAA1C,QAAA,CAAAjE,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAuG,OAAA;IAAA;EAAA;EAAA,OAAAnD,YAAA;AAAA,EArEwCyD,2BAAc;AAAAC,OAAA,cAAA1D,YAAA"}
|
|
1
|
+
{"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_FormComponent","_interopRequireDefault","_namedTemplateItem","_action","_form","_AbstractAction2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","viewTypeChoices","value","label","viewModels","sort","optionsSchema","buildSchema","id","description","fields","viewType","type","isRequired","options","choices","isRoot","nameReadable","namedTemplateItemBuilder","namePascal","viewModel","hint","map","model","followUpSchema","CreateAction","_AbstractAction","_execute","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","_createClass2","key","execute","_x","_asyncToGenerator2","_regenerator","mark","_callee","_namePascal","_this$validateAndNorm","writer","form","answers","files","syncResults","merged","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","doesRootControllerExist","cwd","ui","confirm","sent","FormComponent","schema","onWillAskQuestion","formUtil","onWillAskQuestionHandler","present","prompt","namesUtil","toPascal","nameKebab","toKebab","Action","actionUtil","mergeActionResults","abrupt","stop","AbstractAction","exports"],"sources":["../../../../src/features/view/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport FormComponent from '../../../components/FormComponent'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport formUtil from '../../../utilities/form.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst viewTypeChoices = [\n\t{\n\t\tvalue: 'skillView',\n\t\tlabel: 'Skill View Controller',\n\t},\n\t{\n\t\tvalue: 'view',\n\t\tlabel: 'View Controller',\n\t},\n]\n\nconst viewModels = [\n\t'BigForm',\n\t'Button',\n\t'Calendar',\n\t'Card',\n\t'CardBody',\n\t'CardHeader',\n\t'Dialog',\n\t'Form',\n\t'List',\n\t'CalendarEvent',\n].sort()\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewOptions',\n\tdescription:\n\t\t'Create a new Heartwood view to render on web enabled and mobile devices.',\n\tfields: {\n\t\tviewType: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Which are you creating?',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: viewTypeChoices,\n\t\t\t},\n\t\t},\n\t\tisRoot: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Make this the Root View Controller?',\n\t\t},\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Controller name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t\tviewModel: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'View model',\n\t\t\thint: 'Which type of view will your controller render?',\n\t\t\toptions: {\n\t\t\t\tchoices: viewModels.map((model) => ({ value: model, label: model })),\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst followUpSchema = buildSchema({\n\tid: 'creatViewFollowup',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...optionsSchema.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...optionsSchema.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['create.view']\n\tpublic invocationMessage = 'Creating your new view controller... 🌲'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { viewType, isRoot, nameReadable, namePascal, viewModel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('view')\n\n\t\tif (\n\t\t\tviewType === 'skillView' &&\n\t\t\t!isRoot &&\n\t\t\t!writer.doesRootControllerExist(this.cwd)\n\t\t) {\n\t\t\tisRoot = await this.ui.confirm(\n\t\t\t\t'Do you want to create a root view controller?'\n\t\t\t)\n\t\t}\n\n\t\tif (!isRoot && !nameReadable) {\n\t\t\tconst form = new FormComponent({\n\t\t\t\tui: this.ui,\n\t\t\t\tschema: followUpSchema,\n\t\t\t\tonWillAskQuestion: formUtil.onWillAskQuestionHandler,\n\t\t\t})\n\t\t\tconst answers = await form.present()\n\n\t\t\tnamePascal = answers.namePascal\n\t\t\tnameReadable = answers.nameReadable\n\t\t}\n\n\t\tif (isRoot) {\n\t\t\tnameReadable = 'Root'\n\t\t}\n\n\t\tif (!viewModel && viewType === 'view') {\n\t\t\tviewModel = await this.ui.prompt({\n\t\t\t\t...optionsSchema.fields.viewModel,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\t\t}\n\n\t\tnamePascal = namePascal ?? namesUtil.toPascal(nameReadable as string)\n\n\t\tconst files = await writer[\n\t\t\tviewType === 'skillView'\n\t\t\t\t? 'writeSkillViewController'\n\t\t\t\t: 'writeViewController'\n\t\t](this.cwd, {\n\t\t\tviewType,\n\t\t\tnamePascal,\n\t\t\tviewModel: viewModel as string,\n\t\t\tnameKebab: namesUtil.toKebab(namePascal),\n\t\t})\n\n\t\tconst syncResults = await this.Action('view', 'sync').execute({})\n\n\t\tconst merged = actionUtil.mergeActionResults(\n\t\t\t{\n\t\t\t\tfiles,\n\t\t\t},\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn merged\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var optionsSchema = (0, _schema.buildSchema)({
|
|
|
25
25
|
description: 'Create a theme for your skill.',
|
|
26
26
|
fields: {}
|
|
27
27
|
});
|
|
28
|
-
var CreateThemeAction = /*#__PURE__*/function (_AbstractAction) {
|
|
28
|
+
var CreateThemeAction = /*#__PURE__*/function (_AbstractAction, _execute) {
|
|
29
29
|
(0, _inherits2["default"])(CreateThemeAction, _AbstractAction);
|
|
30
30
|
var _super = _createSuper(CreateThemeAction);
|
|
31
31
|
function CreateThemeAction() {
|
|
@@ -42,8 +42,8 @@ var CreateThemeAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
42
42
|
}
|
|
43
43
|
(0, _createClass2["default"])(CreateThemeAction, [{
|
|
44
44
|
key: "execute",
|
|
45
|
-
value: function () {
|
|
46
|
-
|
|
45
|
+
value: function execute(_x) {
|
|
46
|
+
return (_execute = _execute || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
|
|
47
47
|
var writer, events, syncResults, files, results;
|
|
48
48
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
49
49
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -83,12 +83,8 @@ var CreateThemeAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
83
83
|
return _context.stop();
|
|
84
84
|
}
|
|
85
85
|
}, _callee, this);
|
|
86
|
-
}));
|
|
87
|
-
|
|
88
|
-
return _execute.apply(this, arguments);
|
|
89
|
-
}
|
|
90
|
-
return execute;
|
|
91
|
-
}()
|
|
86
|
+
}))).apply(this, arguments);
|
|
87
|
+
}
|
|
92
88
|
}]);
|
|
93
89
|
return CreateThemeAction;
|
|
94
90
|
}(_AbstractAction2["default"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateThemeAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_action","_AbstractAction2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","optionsSchema","buildSchema","id","description","fields","CreateThemeAction","_AbstractAction","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","
|
|
1
|
+
{"version":3,"file":"CreateThemeAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_action","_AbstractAction2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","optionsSchema","buildSchema","id","description","fields","CreateThemeAction","_AbstractAction","_execute","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","execute","_x","_asyncToGenerator2","_regenerator","mark","_callee","_options","writer","events","syncResults","files","results","wrap","_callee$","_context","prev","next","Writer","doesThemeFileExist","cwd","abrupt","errors","SpruceError","code","getFeature","hasBeenSynced","Action","sent","writeTheme","actionUtil","mergeActionResults","stop","AbstractAction","exports"],"sources":["../../../../src/features/view/actions/CreateThemeAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createThemeOptions',\n\tdescription: 'Create a theme for your skill.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateThemeAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.theme']\n\tpublic invocationMessage = `Let's get pretty! 🤩`\n\n\tpublic async execute(_options: SchemaValues<OptionsSchema>) {\n\t\tconst writer = this.Writer('view')\n\n\t\tif (writer.doesThemeFileExist(this.cwd)) {\n\t\t\treturn {\n\t\t\t\terrors: [\n\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\tcode: 'THEME_EXISTS',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\n\t\tconst events = this.getFeature('event')\n\t\tlet syncResults = {}\n\n\t\tif (!events.hasBeenSynced()) {\n\t\t\tsyncResults = await this.Action('event', 'sync').execute({})\n\t\t}\n\n\t\tconst files = await writer.writeTheme(this.cwd)\n\t\tconst results = { files }\n\n\t\treturn actionUtil.mergeActionResults(syncResults, results)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAiD,SAAAK,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAEjD,IAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,oBAAoB;EACxBC,WAAW,EAAE,gCAAgC;EAC7CC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAImBC,iBAAiB,0BAAAC,eAAA,EAAAC,QAAA;EAAA,IAAAC,UAAA,aAAAH,iBAAA,EAAAC,eAAA;EAAA,IAAAG,MAAA,GAAA/B,YAAA,CAAA2B,iBAAA;EAAA,SAAAA,kBAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,iBAAA;IAAA,SAAAO,IAAA,GAAAtB,SAAA,CAAAuB,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAA1B,SAAA,CAAA0B,IAAA;IAAA;IAAAN,KAAA,GAAAD,MAAA,CAAAX,IAAA,CAAAP,KAAA,CAAAkB,MAAA,SAAAQ,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,oBACdV,aAAa;IAAA,IAAAkB,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,qBACZ,CAAC,cAAc,CAAC;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAU,aAAA,aAAAf,iBAAA;IAAAgB,GAAA;IAAAC,KAAA,WAAAC,QAAAC,EAAA;MAAA,QAAAjB,QAAA,GAAAA,QAAA,QAAAkB,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAGxC,SAAAC,QAAqBC,QAAqC;QAAA,IAAAC,MAAA,EAAAC,MAAA,EAAAC,WAAA,EAAAC,KAAA,EAAAC,OAAA;QAAA,OAAAR,YAAA,YAAAS,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACnDT,MAAM,GAAG,IAAI,CAACU,MAAM,CAAC,MAAM,CAAC;cAAA,KAE9BV,MAAM,CAACW,kBAAkB,CAAC,IAAI,CAACC,GAAG,CAAC;gBAAAL,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAM,MAAA,WAC/B;gBACNC,MAAM,EAAE,CACP,IAAIC,uBAAW,CAAC;kBACfC,IAAI,EAAE;gBACP,CAAC,CAAC;cAEJ,CAAC;YAAA;cAGIf,MAAM,GAAG,IAAI,CAACgB,UAAU,CAAC,OAAO,CAAC;cACnCf,WAAW,GAAG,CAAC,CAAC;cAAA,IAEfD,MAAM,CAACiB,aAAa,CAAC,CAAC;gBAAAX,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OACN,IAAI,CAACU,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;YAAA;cAA5DS,WAAW,GAAAK,QAAA,CAAAa,IAAA;YAAA;cAAAb,QAAA,CAAAE,IAAA;cAAA,OAGQT,MAAM,CAACqB,UAAU,CAAC,IAAI,CAACT,GAAG,CAAC;YAAA;cAAzCT,KAAK,GAAAI,QAAA,CAAAa,IAAA;cACLhB,OAAO,GAAG;gBAAED,KAAK,EAALA;cAAM,CAAC;cAAA,OAAAI,QAAA,CAAAM,MAAA,WAElBS,kBAAU,CAACC,kBAAkB,CAACrB,WAAW,EAAEE,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAiB,IAAA;UAAA;QAAA,GAAA1B,OAAA;MAAA,CAC1D,IAAArC,KAAA,OAAAD,SAAA;IAAA;EAAA;EAAA,OAAAe,iBAAA;AAAA,EA7B6CkD,2BAAc;AAAAC,OAAA,cAAAnD,iBAAA"}
|
|
@@ -29,7 +29,7 @@ var optionsSchema = (0, _schema.buildSchema)({
|
|
|
29
29
|
description: 'Keep types and generated files based on views in sync.',
|
|
30
30
|
fields: {}
|
|
31
31
|
});
|
|
32
|
-
var SyncAction = /*#__PURE__*/function (_AbstractAction) {
|
|
32
|
+
var SyncAction = /*#__PURE__*/function (_AbstractAction, _execute) {
|
|
33
33
|
(0, _inherits2["default"])(SyncAction, _AbstractAction);
|
|
34
34
|
var _super = _createSuper(SyncAction);
|
|
35
35
|
function SyncAction() {
|
|
@@ -46,8 +46,8 @@ var SyncAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
46
46
|
}
|
|
47
47
|
(0, _createClass2["default"])(SyncAction, [{
|
|
48
48
|
key: "execute",
|
|
49
|
-
value: function () {
|
|
50
|
-
|
|
49
|
+
value: function execute(_x) {
|
|
50
|
+
return (_execute = _execute || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
|
|
51
51
|
var _this2 = this;
|
|
52
52
|
var targetDir, matches, paths, introspect, vcTemplateItems, svcTemplateItems, namespace, files;
|
|
53
53
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -114,12 +114,8 @@ var SyncAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
114
114
|
return _context.stop();
|
|
115
115
|
}
|
|
116
116
|
}, _callee, this);
|
|
117
|
-
}));
|
|
118
|
-
|
|
119
|
-
return _execute.apply(this, arguments);
|
|
120
|
-
}
|
|
121
|
-
return execute;
|
|
122
|
-
}()
|
|
117
|
+
}))).apply(this, arguments);
|
|
118
|
+
}
|
|
123
119
|
}, {
|
|
124
120
|
key: "mapIntrospectedClassToTemplateItem",
|
|
125
121
|
value: function mapIntrospectedClassToTemplateItem(c) {
|