@sprucelabs/spruce-cli 15.2.24 → 15.4.1
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 +31 -0
- package/build/.spruce/errors/errors.types.js.map +1 -1
- package/build/.spruce/errors/options.types.js.map +1 -1
- package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
- package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
- package/build/.spruce/skill.types.js.map +1 -1
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
- package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
- package/build/__tests__/implementation/EventStore.test.js +61 -33
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
- package/build/__tests__/implementation/ListenerStore.test.js +56 -0
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/onTestFileResult.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/__tests__/support/scripts/second.script.js.map +1 -1
- package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/cli.js.map +1 -1
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.js.map +1 -1
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/actionCancelled.builder.js.map +1 -1
- package/build/errors/bootError.builder.js.map +1 -1
- package/build/errors/buildFailed.builder.js.map +1 -1
- package/build/errors/cacheNotEnabled.builder.js.map +1 -1
- package/build/errors/commandAborted.builder.js.map +1 -1
- package/build/errors/commandBlocked.builder.js.map +1 -1
- package/build/errors/commandNotImplemented.builder.js.map +1 -1
- package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
- package/build/errors/dependencyExists.builder.js.map +1 -1
- package/build/errors/deployFailed.builder.js.map +1 -1
- package/build/errors/directoryEmpty.builder.js.map +1 -1
- package/build/errors/directoryNotSkill.builder.js.map +1 -1
- package/build/errors/dockerNotStarted.builder.js.map +1 -1
- package/build/errors/executingCommandFailed.builder.js.map +1 -1
- package/build/errors/failedToImport.builder.js.map +1 -1
- package/build/errors/featureNotInstalled.builder.js.map +1 -1
- package/build/errors/fileExists.builder.js.map +1 -1
- package/build/errors/generic.builder.js.map +1 -1
- package/build/errors/invalidCommand.builder.js.map +1 -1
- package/build/errors/invalidEventContract.builder.js.map +1 -1
- package/build/errors/invalidFeatureCode.builder.js.map +1 -1
- package/build/errors/invalidTestDirectory.builder.js.map +1 -1
- package/build/errors/lintFailed.builder.js.map +1 -1
- package/build/errors/mercuryResponseError.builder.js.map +1 -1
- package/build/errors/missingDependencies.builder.js.map +1 -1
- package/build/errors/noOrganizationsFound.builder.js.map +1 -1
- package/build/errors/noSkillsRegistered.builder.js.map +1 -1
- package/build/errors/notImplemented.builder.js.map +1 -1
- package/build/errors/notLoggedIn.builder.js.map +1 -1
- package/build/errors/schemaExists.builder.js.map +1 -1
- package/build/errors/schemaFailedToImport.builder.js.map +1 -1
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
- package/build/errors/skillNotFound.builder.js.map +1 -1
- package/build/errors/skillNotRegistered.builder.js.map +1 -1
- package/build/errors/skillViewExists.builder.js.map +1 -1
- package/build/errors/storeExists.builder.js.map +1 -1
- package/build/errors/testFailed.builder.js.map +1 -1
- package/build/errors/themeExists.builder.js.map +1 -1
- package/build/errors/transportAlreadyExists.builder.js.map +1 -1
- package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/cache/constants.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/services/EventSettingsService.js.map +1 -1
- package/build/features/event/services/RemoteService.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +1 -0
- package/build/features/event/stores/EventStore.js +6 -1
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.d.ts +1 -0
- package/build/features/event/stores/ListenerStore.js +6 -1
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +1 -1
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/utilities/schema.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +1 -1
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.d.ts +1 -0
- package/build/features/store/stores/StoreStore.js +6 -1
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +1 -1
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/test.types.js.map +1 -1
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/features/universalFileDescriptions.js.map +1 -1
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/validateAndNormalize.utility.d.ts +2 -2
- package/build/features/validateAndNormalize.utility.js +2 -2
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +1 -3
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.d.ts +2 -1
- package/build/tests/CommandFaker.js +13 -7
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/types/apiClient.types.js.map +1 -1
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/apiClient.utility.js.map +1 -1
- package/build/utilities/argParser.utility.js.map +1 -1
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/duration.utility.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/form.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/isCi.js.map +1 -1
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/utilities/ui.utility.js.map +1 -1
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/keySelectChoices.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/button.types.js.map +1 -1
- package/build/widgets/types/factory.types.js.map +1 -1
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/layout.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/popup.types.js.map +1 -1
- package/build/widgets/types/progressBar.types.js.map +1 -1
- package/build/widgets/types/table.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/widgets.types.js.map +1 -1
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/widgets/widget.utilities.js.map +1 -1
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js.map +1 -1
- package/package.json +36 -36
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
- package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
- package/src/__tests__/implementation/EventStore.test.ts +14 -0
- package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/event/builders/EventContractBuilder.ts +2 -2
- package/src/features/event/stores/EventStore.ts +11 -8
- package/src/features/event/stores/ListenerStore.ts +5 -3
- package/src/features/event/writers/EventWriter.ts +1 -1
- package/src/features/schema/writers/SchemaWriter.ts +1 -1
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/stores/StoreStore.ts +5 -1
- package/src/features/test/actions/CreateAction.ts +1 -1
- package/src/features/validateAndNormalize.utility.ts +2 -2
- package/src/features/view/writers/ViewWriter.ts +3 -2
- package/src/tests/CommandFaker.ts +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"names":["WatchingForChangesTest","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","wait","delay","sourceDir","runner","e","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"mappings":"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","sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tawait this.startWatching(feature)\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t\tawait this.wait(500)\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 2000, sourceDir: '.' })\n\t\tawait this.wait(500)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"file":"WatchingForChanges.test.js"}
|
|
1
|
+
{"version":3,"file":"WatchingForChanges.test.js","names":["WatchingForChangesTest","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","wait","delay","sourceDir","runner","e","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tawait this.startWatching(feature)\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t\tawait this.wait(500)\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 2000, sourceDir: '.' })\n\t\tawait this.wait(500)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;;;;;IAGqBA,sB,WACnB,iB,UAMA,iB,UAOA,iB,UAgBA,gBAAK,oBAAL,EAA2B,KAA3B,EAAkC,KAAlC,C,UACA,gBAAK,kBAAL,EAAyB,OAAzB,EAAkC,IAAlC,C,UA0BA,gBAAK,4BAAL,EAAmC,CAAnC,C,UACA,gBAAK,6BAAL,EAAoC,CAApC,C,UACA,gBAAK,+BAAL,EAAsC,CAAtC,C,UAgFA,iB,WAqBA,iB,WAwBA,iB,WAuBA,iB;;;;;;;;;;;;;4GA9MD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,YAAL,EAFP;;cAAA;gBAAA;gBAAA,OAGO,KAAKC,wBAAL,CAA8B,OAA9B,CAHP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAMA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKD,YAAL,EAFnB;;cAAA;gBAEOE,GAFP;gBAAA;gBAAA,OAG0BA,GAAG,CAACC,UAAJ,CAAe,OAAf,EAAwBC,UAAxB,EAH1B;;cAAA;gBAGOA,UAHP;;gBAICC,aAAOC,OAAP,CAAeF,UAAf;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gHAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKJ,YAAL,EAFnB;;cAAA;gBAEOE,GAFP;gBAGOK,OAHP,GAGiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAHjB;gBAKC,KAAKI,OAAO,CAACC,aAAR,EAAL;gBALD;gBAAA,OAOwBD,OAAO,CAACH,UAAR,EAPxB;;cAAA;gBAOKA,UAPL;;gBAQCC,aAAOI,MAAP,CAAcL,UAAd;;gBARD;gBAAA,OAUOG,OAAO,CAACG,YAAR,EAVP;;cAAA;gBAAA;gBAAA,OAYoBH,OAAO,CAACH,UAAR,EAZpB;;cAAA;gBAYCA,UAZD;;gBAaCC,aAAOC,OAAP,CAAeF,UAAf;;cAbD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAgBA,kBAGCO,IAHD,EAICC,UAJD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAMmB,KAAKZ,YAAL,EANnB;;cAAA;gBAMOE,GANP;gBAOOK,OAPP,GAOiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAPjB;gBAAA;gBAAA,OASO,KAAKK,aAAL,CAAmBD,OAAnB,CATP;;cAAA;gBAWKM,SAXL,GAWiB,CAXjB;gBAaC,KAAKX,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,YAAM;kBAC9CD,SAAS;gBACT,CAFI,CAAL;;gBAIAE,2BAASC,SAAT,CACC,KAAKC,WAAL,CAAiBN,IAAjB,EAAuB,SAAvB,CADD,EAEC,4BAFD;;gBAjBD;gBAAA,OAsBO,KAAKD,YAAL,CAAkBH,OAAlB,CAtBP;;cAAA;gBAwBCF,aAAOa,OAAP,CAAeL,SAAf,EAA0BD,UAAU,GAAG,CAAH,GAAO,CAA3C;;cAxBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gIA2BA,kBAICO,WAJD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAMKN,SANL,GAMiB,CANjB;gBAAA;gBAAA,OAQmB,KAAKb,YAAL,EARnB;;cAAA;gBAQOE,GARP;gBASOK,OATP,GASiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CATjB;gBAUKiB,cAVL,GAU2B,EAV3B;gBAYC,KAAKlB,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,UAACO,OAAD,EAAa;kBACrDR,SAAS;kBACTO,cAAc,GAAGC,OAAO,CAACC,OAAzB;gBACA,CAHI,CAAL;;gBAKAP,2BAASQ,SAAT,CAAmB,KAAKC,GAAxB;;gBAjBD;gBAAA,OAmBO,KAAKhB,aAAL,CAAmBD,OAAnB,CAnBP;;cAAA;gBAqBOkB,eArBP,GAqBgC,EArBhC;;gBAsBC,KAASC,GAAT,GAAe,CAAf,EAAkBA,GAAG,GAAGP,WAAxB,EAAqCO,GAAG,EAAxC,EAA4C;kBACrCC,QADqC,mBACjBD,GADiB;;kBAE3CX,2BAASC,SAAT,CACC,KAAKC,WAAL,CAAiB,OAAjB,EAA0BU,QAA1B,CADD,EAEC,4BAFD;;kBAIAF,eAAe,CAACG,IAAhB,CAAqB;oBACpBC,QAAQ,EAAE,eADU;oBAEpBC,OAAO,EAAEC,sCAAoBC,UAFT;oBAGpBC,MAAM,EAAE;sBACPC,MAAM,EAAE,WADD;sBAEPvB,IAAI,EAAE,KAAKM,WAAL,CAAiB,OAAjB,EAA0BU,QAA1B,CAFC;sBAGPQ,IAAI,EAAER;oBAHC;kBAHY,CAArB;gBASA;;gBArCF;gBAAA,OAuCO,KAAKjB,YAAL,CAAkBH,OAAlB,CAvCP;;cAAA;gBAyCCF,aAAOa,OAAP,CAAeL,SAAf,EAA0B,CAA1B;;gBACAR,aAAOI,MAAP,CAAcW,cAAc,CAACgB,MAAf,IAAyBjB,WAAvC;;gBAEA,gCAAuBM,eAAvB,sCAAwC;kBAA7BY,QAA6B;;kBACvChC,aAAOiC,WAAP,CAAmBlB,cAAnB,EAAmCiB,QAAnC;gBACA;;cA9CF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAiDA,kBAAkC9B,OAAlC;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACO,KAAKgC,IAAL,CAAU,IAAV,CADP;;cAAA;gBAAA;gBAAA,OAEOhC,OAAO,CAACG,YAAR,EAFP;;cAAA;gBAAA;gBAAA,OAGO,KAAK6B,IAAL,CAAU,GAAV,CAHP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yGAMA,kBAAmChC,OAAnC;QAAA;UAAA;YAAA;cAAA;gBACC,KAAKA,OAAO,CAACC,aAAR,CAAsB;kBAAEgC,KAAK,EAAE,IAAT;kBAAeC,SAAS,EAAE;gBAA1B,CAAtB,CAAL;gBADD;gBAAA,OAEO,KAAKF,IAAL,CAAU,GAAV,CAFP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAKA,kBACCG,MADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAGmB,KAAK1C,YAAL,EAHnB;;cAAA;gBAGOE,GAHP;gBAIOK,OAJP,GAIiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAJjB;gBAMKiB,cANL,GAM2B,EAN3B;gBAOC,KAAKlB,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,UAACO,OAAD,EAAa;kBACrDD,cAAc,GAAGC,OAAO,CAACC,OAAzB;gBACA,CAFI,CAAL;gBAPD;gBAAA,OAWO,KAAKd,aAAL,CAAmBD,OAAnB,CAXP;;cAAA;gBAAA;gBAAA,OAa8CmC,MAAM,EAbpD;;cAAA;gBAaOL,QAbP;gBAAA;gBAAA,OAeO,KAAK3B,YAAL,CAAkBH,OAAlB,CAfP;;cAAA;gBAAA,uCAiBiB8B,QAjBjB;;gBAAA;kBAiBC,oDAA0B;oBAAfM,CAAe;;oBACzBtC,aAAOiC,WAAP,CAAmBlB,cAAnB,EAAmCuB,CAAnC;kBACA;gBAnBF;kBAAA;gBAAA;kBAAA;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6GAsBA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,YAAL,6FAAkB;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BACjBC,UADiB,GACJ,KAAI,CAAC5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CADI;;0BAEvBF,2BAASQ,SAAT,CAAmBsB,UAAnB;;0BAEMR,QAJiB,GAIgB,CACtC;4BACCR,QAAQ,EAAE,cADX;4BAECC,OAAO,EAAE,aAFV;4BAGCG,MAAM,EAAE;8BACPC,MAAM,EAAE,WADD;8BAEPC,IAAI,EAAE,SAFC;8BAGPxB,IAAI,EAAE,KAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;4BAHC;0BAHT,CADsC,CAJhB;0BAAA,kCAehBoB,QAfgB;;wBAAA;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA,CAAlB,GAFP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAqBA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOQ,UAFP,GAEoB,KAAK5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFpB;;gBAGCF,2BAASQ,SAAT,CAAmBsB,UAAnB;;gBAHD;gBAAA,OAKO,KAAKD,YAAL,6FAAkB;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BACvB7B,2BAAS+B,SAAT,CAAmBD,UAAnB;;0BAEMR,QAHiB,GAGgB,CACtC;4BACCR,QAAQ,EAAE,cADX;4BAECC,OAAO,EAAE,aAFV;4BAGCG,MAAM,EAAE;8BACPC,MAAM,EAAE,SADD;8BAEPC,IAAI,EAAE,SAFC;8BAGPxB,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;4BAHC;0BAHT,CADsC,CAHhB;0BAAA,mCAehBoB,QAfgB;;wBAAA;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA,CAAlB,GALP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gHAwBA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOU,OAFP,GAEiB,KAAK9B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFjB;;gBAGCF,2BAASC,SAAT,CAAmB+B,OAAnB,EAA4B,MAA5B;;gBAHD;gBAAA,OAKO,KAAKH,YAAL,6FAAkB;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BACvB7B,2BAASiC,UAAT,CAAoBD,OAApB;;0BAEMV,QAHiB,GAGgB,CACtC;4BACCR,QAAQ,EAAE,eADX;4BAECC,OAAO,EAAE,aAFV;4BAGCG,MAAM,EAAE;8BACPC,MAAM,EAAE,SADD;8BAEPC,IAAI,EAAE,SAFC;8BAGPxB,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;4BAHC;0BAHT,CADsC,CAHhB;0BAAA,mCAchBoB,QAdgB;;wBAAA;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA,CAAlB,GALP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2HAuBA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOQ,UAFP,GAEoB,KAAK5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFpB;;gBAGCF,2BAASQ,SAAT,CAAmBsB,UAAnB;;gBAEME,OALP,GAKiB,KAAK9B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,EAAqC,SAArC,CALjB;;gBAMCF,2BAASC,SAAT,CAAmB+B,OAAnB,EAA4B,MAA5B;;gBAND;gBAAA,OAQO,KAAKH,YAAL,6FAAkB;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BACvB7B,2BAASiC,UAAT,CAAoBD,OAApB;;0BAEMV,QAHiB,GAGgB,CACtC;4BACCR,QAAQ,EAAE,eADX;4BAECC,OAAO,EAAE,aAFV;4BAGCG,MAAM,EAAE;8BACPC,MAAM,EAAE,SADD;8BAEPC,IAAI,EAAE,SAFC;8BAGPxB,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,EAAqC,SAArC;4BAHC;0BAHT,CADsC,CAHhB;0BAAA,mCAehBoB,QAfgB;;wBAAA;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA,CAAlB,GARP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGA2BA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOY,OADP,GACiB,KAAKC,cAAL,EADjB;gBAAA;gBAAA,OAEmBD,OAAO,CAACE,eAAR,CAAwB,CAAC;kBAAEC,IAAI,EAAE;gBAAR,CAAD,CAAxB,CAFnB;;cAAA;gBAEOlD,GAFP;gBAAA,mCAGQA,GAHR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA1OmDmD,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ActionExecuter.test.js","names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","getFeatureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async shouldInstallDependentFeatures() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('Skill with 1 dependency')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Restaurant')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tlet isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isFalse(isInstalled)\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('skill-with-1-dependency', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: this.generateExpectedHealthSchemas([\n\t\t\t\t\t...Object.values(coreSchemas),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'restaurant',\n\t\t\t\t\t\tname: 'Restaurant',\n\t\t\t\t\t\tnamespace: 'SkillWith1Dependency',\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t\t},\n\t\t})\n\n\t\tisInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async shouldInstallTwoDependentFeatures() {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('My skill with 2 dependent features')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Test error')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-skill-with-2-dependent-features', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: [],\n\t\t\t},\n\t\t\terror: {\n\t\t\t\terrorSchemas: [{ name: 'Test error', id: 'testError' }],\n\t\t\t\tstatus: 'passed',\n\t\t\t},\n\t\t})\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB,UAqDA,iB;;;;;;;;;;;;;0HArDD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,QAFP,GAEkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgC;kBAChDC,4BAA4B,EAAE;gBADkB,CAAhC,CAFlB;gBAKOC,OALP,GAKiBH,QAAQ,CAACI,OAAT,CAAiB,EAAjB,CALjB;gBAAA;gBAAA,OAOO,KAAKC,YAAL,EAPP;;cAAA;gBAAA;gBAAA,OASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,KAAlB,CATP;;cAAA;gBAAA;gBAAA,OAWO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,yBAAlB,CAXP;;cAAA;gBAAA;gBAAA,OAaO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,yBAAlB,CAbP;;cAAA;gBAAA;gBAAA,OAeO,KAAKF,YAAL,EAfP;;cAAA;gBAAA;gBAAA,OAiBO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CAjBP;;cAAA;gBAAA;gBAAA,OAmBO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,YAAlB,CAnBP;;cAAA;gBAAA;gBAAA,OAqBO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CArBP;;cAAA;gBAAA;gBAAA,OAuBO,KAAKC,IAAL,CAAU,GAAV,CAvBP;;cAAA;gBAyBOC,SAzBP,GAyBmB,KAAKC,mBAAL,EAzBnB;gBAAA;gBAAA,OA0ByBD,SAAS,CAACE,WAAV,CAAsB,QAAtB,CA1BzB;;cAAA;gBA0BKA,WA1BL;;gBA4BCC,aAAOC,OAAP,CAAeF,WAAf;;gBA5BD;gBAAA,OA8BOR,OA9BP;;cAAA;gBAAA;gBAAA,OAgCO,KAAKW,uBAAL,CAA6B,yBAA7B,EAAwD;kBAC7DC,KAAK,EAAE;oBAAEC,MAAM,EAAE;kBAAV,CADsD;kBAE7DC,MAAM,EAAE;oBACPD,MAAM,EAAE,QADD;oBAEPE,OAAO,EAAE,KAAKC,6BAAL,+CACLC,MAAM,CAACC,MAAP,CAAcC,wBAAd,CADK,IAER;sBACCC,EAAE,EAAE,YADL;sBAECC,IAAI,EAAE,YAFP;sBAGCC,SAAS,EAAE,sBAHZ;sBAICC,OAAO,EAAEC,8BAAYC,eAAZ,GAA8BC;oBAJxC,CAFQ;kBAFF;gBAFqD,CAAxD,CAhCP;;cAAA;gBAAA;gBAAA,OAgDqBpB,SAAS,CAACE,WAAV,CAAsB,QAAtB,CAhDrB;;cAAA;gBAgDCA,WAhDD;;gBAkDCC,aAAOkB,MAAP,CAAcnB,WAAd;;cAlDD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6HAqDA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOX,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;kBAC/CC,4BAA4B,EAAE;gBADiB,CAA/B,CAFlB;gBAKOC,OALP,GAKiBH,QAAQ,CAACI,OAAT,CAAiB,EAAjB,CALjB;gBAAA;gBAAA,OAOO,KAAKC,YAAL,EAPP;;cAAA;gBAAA;gBAAA,OASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,KAAlB,CATP;;cAAA;gBAAA;gBAAA,OAWO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,oCAAlB,CAXP;;cAAA;gBAAA;gBAAA,OAaO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,yBAAlB,CAbP;;cAAA;gBAAA;gBAAA,OAeO,KAAKF,YAAL,EAfP;;cAAA;gBAAA;gBAAA,OAiBO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CAjBP;;cAAA;gBAAA;gBAAA,OAmBO,KAAKF,YAAL,EAnBP;;cAAA;gBAAA;gBAAA,OAqBO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CArBP;;cAAA;gBAAA;gBAAA,OAuBO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,YAAlB,CAvBP;;cAAA;gBAAA;gBAAA,OAyBO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CAzBP;;cAAA;gBAAA;gBAAA,OA2BOJ,OA3BP;;cAAA;gBAAA;gBAAA,OA6BO,KAAKW,uBAAL,CAA6B,oCAA7B,EAAmE;kBACxEC,KAAK,EAAE;oBAAEC,MAAM,EAAE;kBAAV,CADiE;kBAExEC,MAAM,EAAE;oBACPD,MAAM,EAAE,QADD;oBAEPE,OAAO,EAAE;kBAFF,CAFgE;kBAMxEa,KAAK,EAAE;oBACNC,YAAY,EAAE,CAAC;sBAAER,IAAI,EAAE,YAAR;sBAAsBD,EAAE,EAAE;oBAA1B,CAAD,CADR;oBAENP,MAAM,EAAE;kBAFF;gBANiE,CAAnE,CA7BP;;cAAA;gBAyCOP,SAzCP,GAyCmB,KAAKC,mBAAL,EAzCnB;gBAAA;gBAAA,OA0C2BD,SAAS,CAACE,WAAV,CAAsB,QAAtB,CA1C3B;;cAAA;gBA0COA,WA1CP;;gBA4CCC,aAAOkB,MAAP,CAAcnB,WAAd;;cA5CD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAtDuDsB,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"names":["FeatureCommandExecuterContTest","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","setupMockCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","getEmitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.setupMockCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('skill')\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static setupMockCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"ActionExecuter2.test.js"}
|
|
1
|
+
{"version":3,"file":"ActionExecuter2.test.js","names":["FeatureCommandExecuterContTest","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","setupMockCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","getEmitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.setupMockCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('skill')\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static setupMockCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ActionExecuter3.test.js","names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","assert","isTruthy","doesThrowAsync","execute","err","errorAssert","assertError","promise","waitForInput","ui","sendInput","assertHealthySkillNamed","description","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter3.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateExecuter() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tassert.isTruthy(executer)\n\t}\n\n\t@test()\n\tprotected static async throwWhenExecutingWhenMissingDependencies() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('skill', 'create').execute({})\n\t\t)\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async shouldAskAllQuestionsOfFeature() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-new-skill')\n\t}\n\n\t@test()\n\tprotected static async shouldNotAskAlreadyAnsweredQuestions() {\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({ description: 'go team!' })\n\n\t\tawait this.waitForInput()\n\n\t\tvoid this.ui.sendInput('Already answered skill')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('already-answered-skill')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB,UAQA,iB,UAQA,iB,UAiBA,iB;;;;;;;;;;;;;kHAjCD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,QAFP,GAEkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgC;kBAChDC,4BAA4B,EAAE;gBADkB,CAAhC,CAFlB;;gBAKCC,aAAOC,QAAP,CAAgBJ,QAAhB;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qIAQA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmBG,aAAOE,cAAP,CAAsB;kBAAA,OACvC,KAAI,CAACJ,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BK,OAA/B,CAAuC,EAAvC,CADuC;gBAAA,CAAtB,CAFnB;;cAAA;gBAEOC,GAFP;;gBAKCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,uBAA7B;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0HAQA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOP,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;kBAC/CC,4BAA4B,EAAE;gBADiB,CAA/B,CAFlB;gBAKOQ,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB,EAAjB,CALjB;gBAAA;gBAAA,OAOO,KAAKK,YAAL,EAPP;;cAAA;gBAAA;gBAAA,OASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,cAAlB,CATP;;cAAA;gBAAA;gBAAA,OAUO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAVP;;cAAA;gBAAA;gBAAA,OAYOH,OAZP;;cAAA;gBAAA;gBAAA,OAcO,KAAKI,uBAAL,CAA6B,cAA7B,CAdP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gIAiBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOd,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;kBAC/CC,4BAA4B,EAAE;gBADiB,CAA/B,CAFlB;gBAKOQ,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB;kBAAES,WAAW,EAAE;gBAAf,CAAjB,CALjB;gBAAA;gBAAA,OAOO,KAAKJ,YAAL,EAPP;;cAAA;gBASC,KAAK,KAAKC,EAAL,CAAQC,SAAR,CAAkB,wBAAlB,CAAL;gBATD;gBAAA,OAWOH,OAXP;;cAAA;gBAAA;gBAAA,OAaO,KAAKI,uBAAL,CAA6B,wBAA7B,CAbP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAlCuDE,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ActionExecuter4.test.js","names":["ActionExecuter4Test","CommandService","fakeCommand","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","getEmitter","on","Error","assert","doesThrowAsync","Action","execute","err","errorAssert","assertError","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter4.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ActionExecuter4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test('throws by default with will-execute listener error 1', 'test')\n\t@test('throws by default with will-execute listener error 2', 'test2')\n\t@test('throws by default with did-execute listener error 1', 'test2', 'did')\n\tprotected static async canBeConfiguredToThrowWhenExecuteListenersReturnErrors(\n\t\tmsg: string,\n\t\twillDid: 'will' | 'did' = 'will'\n\t) {\n\t\tawait this.getEmitter().on(`feature.${willDid}-execute`, () => {\n\t\t\tthrow new Error(msg)\n\t\t})\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('cache', 'enable').execute({})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'LISTENER_ERROR', {\n\t\t\t'originalError.message': msg,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async stillReturnsIfNoErrorThrows() {\n\t\tawait this.Action('cache', 'enable').execute({})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,mB,WAYnB,gBAAK,sDAAL,EAA6D,MAA7D,C,UACA,gBAAK,sDAAL,EAA6D,OAA7D,C,UACA,gBAAK,qDAAL,EAA4D,OAA5D,EAAqE,KAArE,C,UAkBA,iB;;;;;;;;;;;;;sGA/BD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAGCC,2BAAeC,WAAf,CAA2B,gBAA3B,EAA8C;kBAC7CC,IAAI,EAAE;gBADuC,CAA9C;;gBAGAF,2BAAeC,WAAf,CAA2BE,mCAA3B,EAAqD;kBACpDD,IAAI,EAAE;gBAD8C,CAArD;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kJAWA,kBAICE,GAJD;QAAA;;QAAA;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAKCC,OALD,8DAK2B,MAL3B;gBAAA;gBAAA,OAOO,KAAKC,UAAL,GAAkBC,EAAlB,mBAAgCF,OAAhC,eAAmD,YAAM;kBAC9D,MAAM,IAAIG,KAAJ,CAAUJ,GAAV,CAAN;gBACA,CAFK,CAPP;;cAAA;gBAAA;gBAAA,OAWmBK,aAAOC,cAAP,CAAsB;kBAAA,OACvC,KAAI,CAACC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CADuC;gBAAA,CAAtB,CAXnB;;cAAA;gBAWOC,GAXP;;gBAeCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,gBAA7B,EAA+C;kBAC9C,yBAAyBT;gBADqB,CAA/C;;cAfD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;uHAoBA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKO,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CAFP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAhCgDI,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ArgParser.test.js","names":["ArgParserTest","d","test","assert","isTruthy","argParserUtil","args","expected","results","parse","isEqualDeep","AbstractSpruceTest"],"sources":["../../../src/__tests__/implementation/ArgParser.test.ts"],"sourcesContent":["import AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport { argParserUtil } from '../../utilities/argParser.utility'\n\nexport default class ArgParserTest extends AbstractSpruceTest {\n\t@test()\n\tprotected static async canGetArgParser() {\n\t\tassert.isTruthy(argParserUtil)\n\t}\n\n\t@test('Parses empty string as empty array obj', '', {})\n\t@test('Parses `-d` as { d: \"true\" } ', '-d', { d: 'true' })\n\t@test('Parses `-d false` as { d: \"false\" }', '-d false', { d: 'false' })\n\t@test(\n\t\t'Parses `-d false --test true` as { d: \"false\":, test: \"true\" }',\n\t\t'-d false --test true',\n\t\t{ d: 'false', test: 'true' }\n\t)\n\tprotected static async parse(args: string, expected: Record<string, string>) {\n\t\tconst results = argParserUtil.parse(args)\n\t\tassert.isEqualDeep(results, expected)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;;;IAEqBA,a,WACnB,iB,UAKA,gBAAK,wCAAL,EAA+C,EAA/C,EAAmD,EAAnD,C,UACA,gBAAK,+BAAL,EAAsC,IAAtC,EAA4C;EAAEC,CAAC,EAAE;AAAL,CAA5C,C,UACA,gBAAK,qCAAL,EAA4C,UAA5C,EAAwD;EAAEA,CAAC,EAAE;AAAL,CAAxD,C,UACA,gBACA,gEADA,EAEA,sBAFA,EAGA;EAAEA,CAAC,EAAE,OAAL;EAAcC,IAAI,EAAE;AAApB,CAHA,C;;;;;;;;;;;;;2GARD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,QAAP,CAAgBC,wBAAhB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iGAKA,kBAQ6BC,IAR7B,EAQ2CC,QAR3C;QAAA;QAAA;UAAA;YAAA;cAAA;gBASOC,OATP,GASiBH,yBAAcI,KAAd,CAAoBH,IAApB,CATjB;;gBAUCH,aAAOO,WAAP,CAAmBF,OAAnB,EAA4BD,QAA5B;;cAVD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAN0CI,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"BuildService.test.js","names":["BuildServiceTest","service","Service","assert","isTruthy","installSkill","testFile","destination","resolvePath","diskUtil","writeFile","build","builtFilePath","contents","readFile","isEqual","cacheKey","FeatureFixture","installCachedFeatures","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/BuildService.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class BuildServiceTest extends AbstractCliTest {\n\t@test()\n\tprotected static buildServiceExists() {\n\t\tconst service = this.Service('build')\n\t\tassert.isTruthy(service)\n\t}\n\n\t@test()\n\tprotected static async canBuildSkill() {\n\t\tawait this.installSkill('skills')\n\n\t\tconst testFile = \"const testVar = 'hello world'\\nconsole.log(testVar)\\n\"\n\t\tconst destination = this.resolvePath('src/test.ts')\n\t\tdiskUtil.writeFile(destination, testFile)\n\n\t\tconst service = this.Service('build')\n\t\tawait service.build()\n\n\t\tconst builtFilePath = this.resolvePath('build/test.js')\n\t\tconst contents = diskUtil.readFile(builtFilePath)\n\n\t\tassert.isEqual(\n\t\t\tcontents,\n\t\t\t`\"use strict\";\nconst testVar = 'hello world';\nconsole.log(testVar);\n//# sourceMappingURL=test.js.map`\n\t\t)\n\t}\n\n\tprivate static async installSkill(cacheKey?: string) {\n\t\tawait this.FeatureFixture().installCachedFeatures(cacheKey ?? 'skills')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,gB,WACnB,iB,UAMA,iB;;;;;;;;;;;;WAND,8BACsC;MACrC,IAAMC,OAAO,GAAG,KAAKC,OAAL,CAAa,OAAb,CAAhB;;MACAC,aAAOC,QAAP,CAAgBH,OAAhB;IACA;;;;yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKI,YAAL,CAAkB,QAAlB,CAFP;;cAAA;gBAIOC,QAJP,GAIkB,uDAJlB;gBAKOC,WALP,GAKqB,KAAKC,WAAL,CAAiB,aAAjB,CALrB;;gBAMCC,2BAASC,SAAT,CAAmBH,WAAnB,EAAgCD,QAAhC;;gBAEML,OARP,GAQiB,KAAKC,OAAL,CAAa,OAAb,CARjB;gBAAA;gBAAA,OASOD,OAAO,CAACU,KAAR,EATP;;cAAA;gBAWOC,aAXP,GAWuB,KAAKJ,WAAL,CAAiB,eAAjB,CAXvB;gBAYOK,QAZP,GAYkBJ,2BAASK,QAAT,CAAkBF,aAAlB,CAZlB;;gBAcCT,aAAOY,OAAP,CACCF,QADD;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAuBA,kBAAkCG,QAAlC;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CF,QAA5C,aAA4CA,QAA5C,cAA4CA,QAA5C,GAAwD,QAAxD,CADP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA9B6CG,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"BulkImporting.test.js","names":["BulkImportingTest","factory","ServiceFactory","importer","Service","cwd","tmpDir","resolvePath","diskUtil","deleteDir","assert","isFunction","bulkImport","resolveTestPath","schemaOne","isTruthy","id","isEqual","results","isLength","schemaTwo","isFalse","doesDirExist","doesThrowAsync","err","errorAssert","assertError","doesInclude","options","file","pathAfterTestDirsAndFiles","pathUil","join","AbstractSpruceTest"],"sources":["../../../src/__tests__/implementation/BulkImporting.test.ts"],"sourcesContent":["import pathUil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ImportService from '../../services/ImportService'\nimport ServiceFactory from '../../services/ServiceFactory'\n\nexport default class BulkImportingTest extends AbstractSpruceTest {\n\tprivate static importer: ImportService\n\n\tprotected static async beforeEach() {\n\t\t// await super.beforeEach()\n\t\tconst factory = new ServiceFactory()\n\t\tthis.importer = factory.Service(this.cwd, 'import')\n\n\t\tconst tmpDir = this.resolvePath('.tmp')\n\t\tdiskUtil.deleteDir(tmpDir)\n\t}\n\n\t@test()\n\tprotected static async importerHasBulkImportMethod() {\n\t\tassert.isFunction(this.importer.bulkImport)\n\t}\n\n\t@test()\n\tprotected static async canImportSingleFile() {\n\t\tconst [schemaOne] = await this.importer.bulkImport([\n\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaOne.builder.ts'),\n\t\t])\n\n\t\tassert.isTruthy(schemaOne)\n\t\tassert.isTruthy(schemaOne.id)\n\t\tassert.isEqual(schemaOne.id, 'schemaOne')\n\t}\n\n\t@test()\n\tprotected static async importingNothingGoesFast() {\n\t\tconst results = await this.importer.bulkImport([])\n\t\tassert.isLength(results, 0)\n\t}\n\n\t@test()\n\tprotected static async canImportTwoFiles() {\n\t\tconst [schemaOne, schemaTwo] = await this.importer.bulkImport([\n\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaOne.builder.ts'),\n\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaTwo.builder.ts'),\n\t\t])\n\n\t\tassert.isTruthy(schemaOne)\n\t\tassert.isTruthy(schemaTwo)\n\t\tassert.isTruthy(schemaTwo.id, 'schemaTwo')\n\t}\n\n\t@test()\n\tprotected static async shouldCleanupTmpDir() {\n\t\tawait this.importer.bulkImport([\n\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaOne.builder.ts'),\n\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaTwo.builder.ts'),\n\t\t])\n\n\t\tconst tmpDir = this.resolvePath('.tmp')\n\t\tassert.isFalse(diskUtil.doesDirExist(tmpDir))\n\t}\n\n\t@test()\n\tprotected static async cleansUpOnError() {\n\t\tawait assert.doesThrowAsync(() =>\n\t\t\tthis.importer.bulkImport([\n\t\t\t\tthis.resolveTestPath(\n\t\t\t\t\t'test_builders_one_bad/v2020_06_23/badSchema.builder.ts'\n\t\t\t\t),\n\t\t\t])\n\t\t)\n\n\t\tconst tmpDir = this.resolvePath('.tmp')\n\t\tassert.isFalse(diskUtil.doesDirExist(tmpDir))\n\t}\n\n\t@test()\n\tprotected static async throwsOnTheActualFileWithAnError() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.importer.bulkImport([\n\t\t\t\tthis.resolveTestPath(\n\t\t\t\t\t'test_builders_one_bad/v2020_06_23/badSchema.builder.ts'\n\t\t\t\t),\n\t\t\t])\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FAILED_TO_IMPORT')\n\t\tassert.doesInclude((err as any).options.file, 'badSchema.builder.ts')\n\t}\n\n\t@test()\n\tprotected static async throwsOnTheFirstActualFileWithAnErrorWithManyFiles() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.importer.bulkImport([\n\t\t\t\tthis.resolveTestPath(\n\t\t\t\t\t'test_builders_two_bad/v2020_06_23/anotherBad.builder.ts'\n\t\t\t\t),\n\t\t\t\tthis.resolveTestPath(\n\t\t\t\t\t'test_builders_two_bad/v2020_06_23/badSchema.builder.ts'\n\t\t\t\t),\n\n\t\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaTwo.builder.ts'),\n\t\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaOne.builder.ts'),\n\t\t\t])\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FAILED_TO_IMPORT')\n\t\tassert.doesInclude((err as any).options.file, 'anotherBad.builder.ts')\n\t}\n\n\t@test()\n\tprotected static async helpfulErrorWhenImportNotExportedAsDefault() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.importer.bulkImport([\n\t\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaTwo.builder.ts'),\n\t\t\t\tthis.resolveTestPath('test_builders/v2020_06_23/schemaOne.builder.ts'),\n\t\t\t\tthis.resolveTestPath(\n\t\t\t\t\t'test_builders_two_bad/v2020_06_23/notDefault.builder.ts'\n\t\t\t\t),\n\t\t\t])\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FAILED_TO_IMPORT')\n\t\tassert.doesInclude((err as any).options.file, 'notDefault.builder.ts')\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUil.join(\n\t\t\tthis.cwd,\n\t\t\t'build',\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CachingImports.test.js","names":["CachingImportsTest","ImportService","setCacheDir","diskUtil","createRandomTempDir","importService","Service","enableCaching","test1Path","resolvePath","writeFile","assertImportedCorrectly","hello","foo","expected","importAll","contents","assert","isEqualDeep","test2Path","FeatureFixture","installFeatures","code","options","name","description","wrapper","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/CachingImports.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport ImportService from '../../services/ImportService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class CachingImportsTest extends AbstractCliTest {\n\tprivate static importService: ImportService\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tthis.importService = this.Service('import')\n\n\t\tImportService.enableCaching()\n\t}\n\n\t@test()\n\tprotected static async canTellIfFileChanged() {\n\t\tconst test1Path = this.resolvePath('test1.js')\n\t\tdiskUtil.writeFile(test1Path, 'module.exports = { hello: \"world\"}')\n\n\t\tawait this.assertImportedCorrectly(test1Path, { hello: 'world' })\n\n\t\tdiskUtil.writeFile(test1Path, 'module.exports = { foo: \"bar\"}')\n\n\t\tawait this.assertImportedCorrectly(test1Path, { foo: 'bar' })\n\t}\n\n\tprivate static async assertImportedCorrectly(\n\t\ttest1Path: string,\n\t\texpected: Record<string, any>\n\t) {\n\t\tconst contents = await this.importService.importAll(test1Path)\n\t\tassert.isEqualDeep(contents, expected)\n\t}\n\n\t@test()\n\tprotected static async canTellIfRelatedFileChanges() {\n\t\tconst test1Path = this.resolvePath('test1.js')\n\t\tdiskUtil.writeFile(\n\t\t\ttest1Path,\n\t\t\t'const value = require(\"./test2\"); module.exports = { hello: value }'\n\t\t)\n\n\t\tconst test2Path = this.resolvePath('test2.js')\n\t\tdiskUtil.writeFile(test2Path, 'module.exports = \"world\"')\n\n\t\tawait this.assertImportedCorrectly(test1Path, { hello: 'world' })\n\n\t\tdiskUtil.writeFile(test2Path, 'module.exports = \"bar\"')\n\t\tawait this.assertImportedCorrectly(test1Path, { hello: 'bar' })\n\t}\n\n\t@test()\n\tprotected static async canTellIfFilesChangedInASkill() {\n\t\tawait this.FeatureFixture().installFeatures(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'file-change-skill',\n\t\t\t\t\t\tdescription: 'It should be good',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t'skills'\n\t\t)\n\n\t\tconst test1Path = this.resolvePath('src/test1.ts')\n\t\tdiskUtil.writeFile(\n\t\t\ttest1Path,\n\t\t\t\"import { value } from './test2'\\nexport const wrapper = { hello: value }\"\n\t\t)\n\n\t\tconst test2Path = this.resolvePath('src/test2.ts')\n\t\tdiskUtil.writeFile(test2Path, 'export const value = \"world\"')\n\n\t\tawait this.assertImportedCorrectly(test1Path, {\n\t\t\twrapper: { hello: 'world' },\n\t\t})\n\n\t\tdiskUtil.writeFile(test2Path, 'export const value = \"bar\"')\n\t\tawait this.assertImportedCorrectly(test1Path, { wrapper: { hello: 'bar' } })\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CommandOptionBuilder.test.js","names":["CommandGeneratorTest","assert","isFunction","featuresUtil","generateOptionAliases","person","id","name","fields","firstName","type","aliases","isLength","Object","keys","doesInclude","lastName","isRequired","defaultTrue","defaultValue","defaultFalse","boolNoDefault","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/CommandOptionBuilder.test.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { test, assert } from '@sprucelabs/test'\nimport featuresUtil from '../../features/feature.utilities'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class CommandGeneratorTest extends AbstractCliTest {\n\t@test()\n\tprotected static hasAliasGenerated() {\n\t\tassert.isFunction(featuresUtil.generateOptionAliases)\n\t}\n\n\t@test()\n\tprotected static canAliasOneOptionalField() {\n\t\tconst person: Schema = {\n\t\t\tid: 'alias-person',\n\t\t\tname: 'person alias',\n\t\t\tfields: {\n\t\t\t\tfirstName: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst aliases = featuresUtil.generateOptionAliases(person)\n\n\t\tassert.isLength(Object.keys(aliases), 1)\n\t\tassert.doesInclude(aliases, {\n\t\t\tfirstName: '--firstName <firstName>',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canAliasTwoFieldsOneRequired() {\n\t\tconst person: Schema = {\n\t\t\tid: 'alias-person',\n\t\t\tname: 'person alias',\n\t\t\tfields: {\n\t\t\t\tfirstName: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t},\n\t\t\t\tlastName: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst aliases = featuresUtil.generateOptionAliases(person)\n\n\t\tassert.isLength(Object.keys(aliases), 2)\n\t\tassert.doesInclude(aliases, {\n\t\t\tfirstName: '--firstName <firstName>',\n\t\t})\n\t\tassert.doesInclude(aliases, {\n\t\t\tlastName: '--lastName <lastName>',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static properlyHandlesBooleans() {\n\t\tconst person: Schema = {\n\t\t\tid: 'alias-person',\n\t\t\tname: 'person alias',\n\t\t\tfields: {\n\t\t\t\tdefaultTrue: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefaultValue: true,\n\t\t\t\t},\n\t\t\t\tdefaultFalse: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tboolNoDefault: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst aliases = featuresUtil.generateOptionAliases(person)\n\n\t\tassert.isLength(Object.keys(aliases), 3)\n\t\tassert.doesInclude(aliases, {\n\t\t\tdefaultTrue: '--defaultTrue [true|false]',\n\t\t})\n\t\tassert.doesInclude(aliases, {\n\t\t\tdefaultFalse: '--defaultFalse [true|false]',\n\t\t})\n\n\t\tassert.doesInclude(aliases, {\n\t\t\tboolNoDefault: '--boolNoDefault [true|false]',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WACnB,iB,UAKA,iB,UAoBA,iB,UA2BA,iB;;;;;;;;;;;;WApDD,6BACqC;MACpCC,aAAOC,UAAP,CAAkBC,oBAAaC,qBAA/B;IACA;;;WAED,oCAC4C;MAC3C,IAAMC,MAAc,GAAG;QACtBC,EAAE,EAAE,cADkB;QAEtBC,IAAI,EAAE,cAFgB;QAGtBC,MAAM,EAAE;UACPC,SAAS,EAAE;YACVC,IAAI,EAAE;UADI;QADJ;MAHc,CAAvB;;MAUA,IAAMC,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;MAEAJ,aAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;MACAV,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BF,SAAS,EAAE;MADgB,CAA5B;IAGA;;;WAED,wCACgD;MAC/C,IAAMJ,MAAc,GAAG;QACtBC,EAAE,EAAE,cADkB;QAEtBC,IAAI,EAAE,cAFgB;QAGtBC,MAAM,EAAE;UACPC,SAAS,EAAE;YACVC,IAAI,EAAE;UADI,CADJ;UAIPM,QAAQ,EAAE;YACTN,IAAI,EAAE,MADG;YAETO,UAAU,EAAE;UAFH;QAJH;MAHc,CAAvB;;MAcA,IAAMN,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;MAEAJ,aAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;MACAV,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BF,SAAS,EAAE;MADgB,CAA5B;;MAGAR,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BK,QAAQ,EAAE;MADiB,CAA5B;IAGA;;;WAED,mCAC2C;MAC1C,IAAMX,MAAc,GAAG;QACtBC,EAAE,EAAE,cADkB;QAEtBC,IAAI,EAAE,cAFgB;QAGtBC,MAAM,EAAE;UACPU,WAAW,EAAE;YACZR,IAAI,EAAE,SADM;YAEZS,YAAY,EAAE;UAFF,CADN;UAKPC,YAAY,EAAE;YACbV,IAAI,EAAE,SADO;YAEbS,YAAY,EAAE;UAFD,CALP;UASPE,aAAa,EAAE;YACdX,IAAI,EAAE;UADQ;QATR;MAHc,CAAvB;;MAkBA,IAAMC,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;MAEAJ,aAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;MACAV,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BO,WAAW,EAAE;MADc,CAA5B;;MAGAjB,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BS,YAAY,EAAE;MADa,CAA5B;;MAIAnB,aAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;QAC3BU,aAAa,EAAE;MADY,CAA5B;IAGA;;;EAtFgDC,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CommanderCommandResultMapper.test.js","names":["CommanderCommandResultMapperTest","assert","isTruthy","commanderUtil","results","mapIncomingToOptions","isEqualDeep","Command","undefined","optionsSchema","name","email","AbstractSpruceTest","id","fields","type"],"sources":["../../../src/__tests__/implementation/CommanderCommandResultMapper.test.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport { Command } from 'commander'\nimport commanderUtil from '../../utilities/commander.utility'\n\nexport default class CommanderCommandResultMapperTest extends AbstractSpruceTest {\n\tprivate static readonly optionsSchema = buildSchema({\n\t\tid: 'optionsSchema',\n\t\tfields: { name: { type: 'text' }, email: { type: 'text' } },\n\t})\n\n\t@test()\n\tprotected static async utilExists() {\n\t\tassert.isTruthy(commanderUtil)\n\t}\n\n\t@test()\n\tprotected static async canTakeOptionsAndPassThemBack() {\n\t\tconst results = commanderUtil.mapIncomingToOptions({})\n\t\tassert.isEqualDeep(results, {})\n\t}\n\n\t@test()\n\tprotected static async handlesNoArgs() {\n\t\tconst results = commanderUtil.mapIncomingToOptions()\n\t\tassert.isEqualDeep(results, {})\n\t}\n\n\t@test()\n\tprotected static async dropCommanderInstanceFromResults() {\n\t\tconst results = commanderUtil.mapIncomingToOptions({}, new Command())\n\t\tassert.isEqualDeep(results, {})\n\t}\n\n\t@test()\n\tprotected static async handlesUndefinedSchema() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t{},\n\t\t\tnew Command(),\n\t\t\tundefined\n\t\t)\n\t\tassert.isEqualDeep(results, {})\n\t}\n\n\t@test()\n\tprotected static async handlesSchemBeingAtTheEnd() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t{},\n\t\t\tnew Command(),\n\t\t\tthis.optionsSchema\n\t\t)\n\t\tassert.isEqualDeep(results, {})\n\t}\n\n\t@test()\n\tprotected static async fristStringArgGetsDroppedIntoFirstField() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t'my great skill',\n\t\t\t{},\n\t\t\tnew Command(),\n\t\t\tthis.optionsSchema\n\t\t)\n\t\tassert.isEqualDeep(results, {\n\t\t\tname: 'my great skill',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async mixesInFirstArgWithPassedArgs() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t'my great skill',\n\t\t\t{\n\t\t\t\temail: 't@t.com',\n\t\t\t},\n\t\t\tnew Command(),\n\t\t\tthis.optionsSchema\n\t\t)\n\t\tassert.isEqualDeep(results, {\n\t\t\tname: 'my great skill',\n\t\t\temail: 't@t.com',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async mixesInTwoArgWithPassedArgs() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t'my great skill',\n\t\t\t't@t.com',\n\t\t\t{},\n\t\t\tnew Command(),\n\t\t\tthis.optionsSchema\n\t\t)\n\t\tassert.isEqualDeep(results, {\n\t\t\tname: 'my great skill',\n\t\t\temail: 't@t.com',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static stringArgsOverrideDefaults() {\n\t\tconst results = commanderUtil.mapIncomingToOptions(\n\t\t\t'my great skill',\n\t\t\t't@t.com',\n\t\t\t{\n\t\t\t\tname: 'test',\n\t\t\t\temail: 'test',\n\t\t\t},\n\t\t\tnew Command(),\n\t\t\tthis.optionsSchema\n\t\t)\n\t\tassert.isEqualDeep(results, {\n\t\t\tname: 'my great skill',\n\t\t\temail: 't@t.com',\n\t\t})\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -12,4 +12,5 @@ export default class DataStoreStoreTest extends AbstractSkillTest {
|
|
|
12
12
|
protected static canImportAGoodStore(): Promise<void>;
|
|
13
13
|
protected static canImportTwoGoodStores(): Promise<void>;
|
|
14
14
|
protected static accuratelyReportsBadStoreAfterGoodStoresAreCreated(): Promise<void>;
|
|
15
|
+
protected static globbyPatternLooksEverywhere(): Promise<void>;
|
|
15
16
|
}
|
|
@@ -37,13 +37,13 @@ var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSk
|
|
|
37
37
|
|
|
38
38
|
var _test2 = _interopRequireDefault(require("../../tests/utilities/test.utility"));
|
|
39
39
|
|
|
40
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
|
|
40
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2;
|
|
41
41
|
|
|
42
42
|
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); }; }
|
|
43
43
|
|
|
44
44
|
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; } }
|
|
45
45
|
|
|
46
|
-
var DataStoreStoreTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractSkillTest) {
|
|
46
|
+
var DataStoreStoreTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractSkillTest) {
|
|
47
47
|
(0, _inherits2["default"])(DataStoreStoreTest, _AbstractSkillTest);
|
|
48
48
|
|
|
49
49
|
var _super = _createSuper(DataStoreStoreTest);
|
|
@@ -367,8 +367,35 @@ var DataStoreStoreTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _
|
|
|
367
367
|
|
|
368
368
|
return accuratelyReportsBadStoreAfterGoodStoresAreCreated;
|
|
369
369
|
}()
|
|
370
|
+
}, {
|
|
371
|
+
key: "globbyPatternLooksEverywhere",
|
|
372
|
+
value: function () {
|
|
373
|
+
var _globbyPatternLooksEverywhere = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
374
|
+
var expected;
|
|
375
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
376
|
+
while (1) {
|
|
377
|
+
switch (_context10.prev = _context10.next) {
|
|
378
|
+
case 0:
|
|
379
|
+
expected = this.resolvePath('src', '**', '*.store.ts'); //@ts-ignore
|
|
380
|
+
|
|
381
|
+
_test.assert.isEqual(this.store.generateGlobbyPattern(), expected);
|
|
382
|
+
|
|
383
|
+
case 2:
|
|
384
|
+
case "end":
|
|
385
|
+
return _context10.stop();
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}, _callee10, this);
|
|
389
|
+
}));
|
|
390
|
+
|
|
391
|
+
function globbyPatternLooksEverywhere() {
|
|
392
|
+
return _globbyPatternLooksEverywhere.apply(this, arguments);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
return globbyPatternLooksEverywhere;
|
|
396
|
+
}()
|
|
370
397
|
}]);
|
|
371
398
|
return DataStoreStoreTest;
|
|
372
|
-
}(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "store", void 0), (0, _defineProperty2["default"])(_class2, "badStoreDest", void 0), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiateDataStore", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiateDataStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasFetchStores", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasFetchStores"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "fetchesNoStoresToStart", [_dec3], Object.getOwnPropertyDescriptor(_class, "fetchesNoStoresToStart"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsWhenStoreIsNotValid", [_dec4], Object.getOwnPropertyDescriptor(_class, "throwsWhenStoreIsNotValid"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canImportAGoodStore", [_dec5], Object.getOwnPropertyDescriptor(_class, "canImportAGoodStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canImportTwoGoodStores", [_dec6], Object.getOwnPropertyDescriptor(_class, "canImportTwoGoodStores"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "accuratelyReportsBadStoreAfterGoodStoresAreCreated", [_dec7], Object.getOwnPropertyDescriptor(_class, "accuratelyReportsBadStoreAfterGoodStoresAreCreated"), _class)), _class));
|
|
399
|
+
}(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "store", void 0), (0, _defineProperty2["default"])(_class2, "badStoreDest", void 0), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiateDataStore", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiateDataStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasFetchStores", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasFetchStores"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "fetchesNoStoresToStart", [_dec3], Object.getOwnPropertyDescriptor(_class, "fetchesNoStoresToStart"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "throwsWhenStoreIsNotValid", [_dec4], Object.getOwnPropertyDescriptor(_class, "throwsWhenStoreIsNotValid"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canImportAGoodStore", [_dec5], Object.getOwnPropertyDescriptor(_class, "canImportAGoodStore"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canImportTwoGoodStores", [_dec6], Object.getOwnPropertyDescriptor(_class, "canImportTwoGoodStores"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "accuratelyReportsBadStoreAfterGoodStoresAreCreated", [_dec7], Object.getOwnPropertyDescriptor(_class, "accuratelyReportsBadStoreAfterGoodStoresAreCreated"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "globbyPatternLooksEverywhere", [_dec8], Object.getOwnPropertyDescriptor(_class, "globbyPatternLooksEverywhere"), _class)), _class));
|
|
373
400
|
exports["default"] = DataStoreStoreTest;
|
|
374
401
|
//# sourceMappingURL=DataStoreStore.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"DataStoreStore.test.js","names":["DataStoreStoreTest","badStoreDest","resolvePath","diskUtil","deleteFile","store","Store","assert","isTruthy","fetchStores","cwd","freshTmpDir","results","isLength","writeFile","doesThrowAsync","err","errorAssert","assertError","file","Action","execute","nameReadable","nameReadablePlural","namePascal","isFalsy","errors","storeFilepath","testUtil","assertFileByNameInGeneratedFiles","files","stores","doesInclude","className","path","expected","isEqual","generateGlobbyPattern","AbstractSkillTest"],"sources":["../../../src/__tests__/implementation/DataStoreStore.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport StoreStore from '../../features/store/stores/StoreStore'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class DataStoreStoreTest extends AbstractSkillTest {\n\tprivate static store: StoreStore\n\tprivate static badStoreDest: string\n\tprotected static skillCacheKey = 'stores'\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\n\t\tthis.store = this.Store('store')\n\t}\n\n\t@test()\n\tprotected static async canInstantiateDataStore() {\n\t\tassert.isTruthy(this.Store('store'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchStores() {\n\t\tassert.isTruthy(this.Store('store').fetchStores)\n\t}\n\n\t@test()\n\tprotected static async fetchesNoStoresToStart() {\n\t\tthis.cwd = this.freshTmpDir()\n\n\t\tconst results = await this.store.fetchStores()\n\t\tassert.isLength(results, 0)\n\t}\n\n\t@test()\n\tprotected static async throwsWhenStoreIsNotValid() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst err = await assert.doesThrowAsync(() => this.store.fetchStores())\n\n\t\terrorAssert.assertError(err, 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canImportAGoodStore() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Good',\n\t\t\tnameReadablePlural: 'Good',\n\t\t\tnamePascal: 'Good',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst storeFilepath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Good.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst stores = await this.store.fetchStores()\n\t\tassert.isLength(stores, 1)\n\n\t\tassert.doesInclude(stores, {\n\t\t\tclassName: 'GoodStore',\n\t\t\tpath: storeFilepath,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canImportTwoGoodStores() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Apple',\n\t\t\tnameReadablePlural: 'Apples',\n\t\t\tnamePascal: 'Apple',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst storeFilepath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Apples.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst stores = await this.store.fetchStores()\n\t\tassert.isLength(stores, 2)\n\n\t\tassert.doesInclude(stores, {\n\t\t\tclassName: 'ApplesStore',\n\t\t\tpath: storeFilepath,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async accuratelyReportsBadStoreAfterGoodStoresAreCreated() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst err = await assert.doesThrowAsync(() => this.store.fetchStores())\n\n\t\terrorAssert.assertError(err, 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async globbyPatternLooksEverywhere() {\n\t\tconst expected = this.resolvePath('src', '**', '*.store.ts')\n\n\t\t//@ts-ignore\n\t\tassert.isEqual(this.store.generateGlobbyPattern(), expected)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"DeletingOrphanedSchemaDefinitions.test.js","names":["DeletingOrphanedSchemaDefinitionsTest","assert","isFunction","schemaGeneratorUtil","filterSchemaFilesBySchemaIds","resolveTestPath","id","namespace","version","results","isEqual","length","doesInclude","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport schemaGeneratorUtil from '../../features/schema/utilities/schemaGenerator.utility'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class DeletingOrphanedSchemaDefinitionsTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async hasFunction() {\n\t\tassert.isFunction(schemaGeneratorUtil.filterSchemaFilesBySchemaIds)\n\t}\n\n\t@test()\n\tprotected static async findsAllSchemas() {\n\t\tconst results = await schemaGeneratorUtil.filterSchemaFilesBySchemaIds(\n\t\t\tthis.resolveTestPath('orphaned_schemas'),\n\t\t\t[\n\t\t\t\t{ id: 'one', namespace: 'namespace', version: 'v2020_07_22' },\n\t\t\t\t{ id: 'two' },\n\t\t\t\t// it should camel case the namespace\n\t\t\t\t{ id: 'three', namespace: 'Namespacetwo' },\n\t\t\t\t{ id: 'four', namespace: 'namespacetwo', version: 'v2020_07_22' },\n\t\t\t]\n\t\t)\n\n\t\tassert.isEqual(results.length, 0)\n\t}\n\n\t@test()\n\tprotected static async findsOneMissing() {\n\t\tconst results = await schemaGeneratorUtil.filterSchemaFilesBySchemaIds(\n\t\t\tthis.resolveTestPath('orphaned_schemas'),\n\t\t\t[{ id: 'one', namespace: 'namespace', version: 'v2020_07_22' }]\n\t\t)\n\n\t\tassert.isEqual(results.length, 3)\n\t\tassert.doesInclude(results[0], /two\\.schema\\.[t|j]s/gi)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,qC,WACnB,iB,UAKA,iB,UAgBA,iB;;;;;;;;;;;;;uGArBD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkBC,4BAAoBC,4BAAtC;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuBD,4BAAoBC,4BAApB,CACrB,KAAKC,eAAL,CAAqB,kBAArB,CADqB,EAErB,CACC;kBAAEC,EAAE,EAAE,KAAN;kBAAaC,SAAS,EAAE,WAAxB;kBAAqCC,OAAO,EAAE;gBAA9C,CADD,EAEC;kBAAEF,EAAE,EAAE;gBAAN,CAFD,EAGC;gBACA;kBAAEA,EAAE,EAAE,OAAN;kBAAeC,SAAS,EAAE;gBAA1B,CAJD,EAKC;kBAAED,EAAE,EAAE,MAAN;kBAAcC,SAAS,EAAE,cAAzB;kBAAyCC,OAAO,EAAE;gBAAlD,CALD,CAFqB,CAFvB;;cAAA;gBAEOC,OAFP;;gBAaCR,aAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB,EAA+B,CAA/B;;cAbD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAgBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuBR,4BAAoBC,4BAApB,CACrB,KAAKC,eAAL,CAAqB,kBAArB,CADqB,EAErB,CAAC;kBAAEC,EAAE,EAAE,KAAN;kBAAaC,SAAS,EAAE,WAAxB;kBAAqCC,OAAO,EAAE;gBAA9C,CAAD,CAFqB,CAFvB;;cAAA;gBAEOC,OAFP;;gBAOCR,aAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB,EAA+B,CAA/B;;gBACAV,aAAOW,WAAP,CAAmBH,OAAO,CAAC,CAAD,CAA1B,EAA+B,uBAA/B;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAtBkEI,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"EventContractCleanerUtil.test.js","names":["didMessageContract","eventSignatures","coreEventContracts","didMessageGlobalContractWithoutPayload","isGlobal","emitPayloadSchema","fields","targetOnlyPayload","eventName","targetSchema","id","namespace","type","EventContractCleanerUtilTest","assert","isTruthy","eventContractCleanerUtil","cleaned","cleanPayloadsAndPermissions","isEqualDeep","isFalsy","AbstractSpruceTest"],"sources":["../../../src/__tests__/implementation/EventContractCleanerUtil.test.ts"],"sourcesContent":["import { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { buildEmitTargetAndPayloadSchema } from '@sprucelabs/spruce-event-utils'\nimport AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport { eventContractCleanerUtil } from '../../utilities/eventContractCleaner.utility'\n\nconst didMessageContract = {\n\teventSignatures: {\n\t\t'did-message::v2020_12_25':\n\t\t\tcoreEventContracts[0].eventSignatures['did-message::v2020_12_25'],\n\t},\n}\n\nconst didMessageGlobalContractWithoutPayload = {\n\teventSignatures: {\n\t\t'did-message::v2020_12_25': {\n\t\t\t...coreEventContracts[0].eventSignatures['did-message::v2020_12_25'],\n\t\t\tisGlobal: true,\n\t\t\temitPayloadSchema: {\n\t\t\t\t...coreEventContracts[0].eventSignatures['did-message::v2020_12_25']\n\t\t\t\t\t.emitPayloadSchema,\n\t\t\t\tfields: {},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst targetOnlyPayload = {\n\teventSignatures: {\n\t\t'did-message::v2020_12_25': {\n\t\t\tisGlobal: true,\n\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\teventName: 'did-message::v2020_12_15',\n\t\t\t\ttargetSchema: {\n\t\t\t\t\tid: 'test',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tnamespace: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport default class EventContractCleanerUtilTest extends AbstractSpruceTest {\n\t@test()\n\tprotected static async canGetEventContractCleanerUtil() {\n\t\tassert.isTruthy(eventContractCleanerUtil)\n\t}\n\n\t@test()\n\tprotected static async makesNoChangeToLocalContract() {\n\t\tconst cleaned =\n\t\t\teventContractCleanerUtil.cleanPayloadsAndPermissions(didMessageContract)\n\n\t\tassert.isEqualDeep(cleaned, didMessageContract)\n\t}\n\n\t@test()\n\tprotected static async stripsOutEntireEmitPayloadIfNoTargetNorPayload() {\n\t\tconst cleaned = eventContractCleanerUtil.cleanPayloadsAndPermissions(\n\t\t\tdidMessageGlobalContractWithoutPayload\n\t\t)\n\n\t\tassert.isFalsy(\n\t\t\tcleaned.eventSignatures['did-message::v2020_12_25']?.emitPayloadSchema\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async keepsEmitPayloadIfOnlyTarget() {\n\t\tconst cleaned =\n\t\t\teventContractCleanerUtil.cleanPayloadsAndPermissions(targetOnlyPayload)\n\n\t\tassert.isTruthy(\n\t\t\tcleaned.eventSignatures['did-message::v2020_12_25']?.emitPayloadSchema\n\t\t)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,kBAAkB,GAAG;EAC1BC,eAAe,EAAE;IAChB,4BACCC,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC;EAFe;AADS,CAA3B;AAOA,IAAME,sCAAsC,GAAG;EAC9CF,eAAe,EAAE;IAChB,4DACIC,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC,CADJ;MAECG,QAAQ,EAAE,IAFX;MAGCC,iBAAiB,kCACbH,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC,EACDI,iBAFc;QAGhBC,MAAM,EAAE;MAHQ;IAHlB;EADgB;AAD6B,CAA/C;AAcA,IAAMC,iBAAiB,GAAG;EACzBN,eAAe,EAAE;IAChB,4BAA4B;MAC3BG,QAAQ,EAAE,IADiB;MAE3BC,iBAAiB,EAAE,uDAAgC;QAClDG,SAAS,EAAE,0BADuC;QAElDC,YAAY,EAAE;UACbC,EAAE,EAAE,MADS;UAEbJ,MAAM,EAAE;YACPK,SAAS,EAAE;cACVC,IAAI,EAAE;YADI;UADJ;QAFK;MAFoC,CAAhC;IAFQ;EADZ;AADQ,CAA1B;IAmBqBC,4B,WACnB,iB,UAKA,iB,UAQA,iB,UAWA,iB;;;;;;;;;;;;;0HAxBD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,QAAP,CAAgBC,8CAAhB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,OAFP,GAGED,+CAAyBE,2BAAzB,CAAqDlB,kBAArD,CAHF;;gBAKCc,aAAOK,WAAP,CAAmBF,OAAnB,EAA4BjB,kBAA5B;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0IAQA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOiB,OAFP,GAEiBD,+CAAyBE,2BAAzB,CACff,sCADe,CAFjB;;gBAMCW,aAAOM,OAAP,0BACCH,OAAO,CAAChB,eAAR,CAAwB,0BAAxB,CADD,0DACC,sBAAqDI,iBADtD;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAWA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOY,OAFP,GAGED,+CAAyBE,2BAAzB,CAAqDX,iBAArD,CAHF;;gBAKCO,aAAOC,QAAP,2BACCE,OAAO,CAAChB,eAAR,CAAwB,0BAAxB,CADD,2DACC,uBAAqDI,iBADtD;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAzByDgB,gB"}
|
|
@@ -16,6 +16,7 @@ export default class EventStoreTest extends AbstractEventTest {
|
|
|
16
16
|
protected static mixesInLocalContracts(): Promise<void>;
|
|
17
17
|
protected static mixesInLocalContractWithGlobalEventsAndDoesNotReturnContractTwice(): Promise<void>;
|
|
18
18
|
protected static doesNotLoadGlobalContractsForSelf(): Promise<void>;
|
|
19
|
+
protected static globbyPatternLooksEverywhere(): Promise<void>;
|
|
19
20
|
private static installAndRegisterOneGlobalEvent;
|
|
20
21
|
private static seedSkillAndInstallAtOrg;
|
|
21
22
|
}
|