@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.
Files changed (568) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
  182. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
  183. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  184. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  193. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  194. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  198. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  199. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  200. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  203. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  204. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  205. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  206. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  207. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  208. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  211. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  212. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  217. package/build/__tests__/implementation/EventStore.test.js +61 -33
  218. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  219. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  224. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  225. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  226. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  230. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  231. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  237. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  238. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  240. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  241. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  242. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  243. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  245. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  246. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  247. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  248. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  249. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  250. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  251. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  252. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  253. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  254. package/build/addons/filePrompt.addon.js.map +1 -1
  255. package/build/cli.js.map +1 -1
  256. package/build/components/AbstractComponent.js.map +1 -1
  257. package/build/components/FormComponent.js.map +1 -1
  258. package/build/components/QuizComponent.js.map +1 -1
  259. package/build/constants.js.map +1 -1
  260. package/build/errors/SpruceError.js.map +1 -1
  261. package/build/errors/actionCancelled.builder.js.map +1 -1
  262. package/build/errors/bootError.builder.js.map +1 -1
  263. package/build/errors/buildFailed.builder.js.map +1 -1
  264. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  265. package/build/errors/commandAborted.builder.js.map +1 -1
  266. package/build/errors/commandBlocked.builder.js.map +1 -1
  267. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  268. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  269. package/build/errors/dependencyExists.builder.js.map +1 -1
  270. package/build/errors/deployFailed.builder.js.map +1 -1
  271. package/build/errors/directoryEmpty.builder.js.map +1 -1
  272. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  273. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  274. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  275. package/build/errors/failedToImport.builder.js.map +1 -1
  276. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  277. package/build/errors/fileExists.builder.js.map +1 -1
  278. package/build/errors/generic.builder.js.map +1 -1
  279. package/build/errors/invalidCommand.builder.js.map +1 -1
  280. package/build/errors/invalidEventContract.builder.js.map +1 -1
  281. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  282. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  283. package/build/errors/lintFailed.builder.js.map +1 -1
  284. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  285. package/build/errors/missingDependencies.builder.js.map +1 -1
  286. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  287. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  288. package/build/errors/notImplemented.builder.js.map +1 -1
  289. package/build/errors/notLoggedIn.builder.js.map +1 -1
  290. package/build/errors/schemaExists.builder.js.map +1 -1
  291. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  292. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  293. package/build/errors/skillNotFound.builder.js.map +1 -1
  294. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  295. package/build/errors/skillViewExists.builder.js.map +1 -1
  296. package/build/errors/storeExists.builder.js.map +1 -1
  297. package/build/errors/testFailed.builder.js.map +1 -1
  298. package/build/errors/themeExists.builder.js.map +1 -1
  299. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  300. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  301. package/build/features/AbstractAction.js.map +1 -1
  302. package/build/features/AbstractFeature.js.map +1 -1
  303. package/build/features/ActionExecuter.js.map +1 -1
  304. package/build/features/ActionFactory.js.map +1 -1
  305. package/build/features/ActionQuestionAsker.js.map +1 -1
  306. package/build/features/FeatureCommandAttacher.js.map +1 -1
  307. package/build/features/FeatureInstaller.js.map +1 -1
  308. package/build/features/FeatureInstallerFactory.js.map +1 -1
  309. package/build/features/OverrideActionDecorator.js.map +1 -1
  310. package/build/features/cache/CacheFeature.js.map +1 -1
  311. package/build/features/cache/actions/DisableAction.js.map +1 -1
  312. package/build/features/cache/actions/EnableAction.js.map +1 -1
  313. package/build/features/cache/constants.js.map +1 -1
  314. package/build/features/conversation/ConversationFeature.js.map +1 -1
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js.map +1 -1
  317. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  318. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  319. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  320. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  321. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  322. package/build/features/deploy/DeployFeature.js.map +1 -1
  323. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  324. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  325. package/build/features/error/ErrorFeature.js.map +1 -1
  326. package/build/features/error/ParentTestFinder.js.map +1 -1
  327. package/build/features/error/actions/CreateAction.js.map +1 -1
  328. package/build/features/error/actions/SyncAction.js.map +1 -1
  329. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  330. package/build/features/event/EventFeature.js.map +1 -1
  331. package/build/features/event/actions/CreateAction.js.map +1 -1
  332. package/build/features/event/actions/ListenAction.js.map +1 -1
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js.map +1 -1
  335. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  336. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  337. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  338. package/build/features/event/services/EventSettingsService.js.map +1 -1
  339. package/build/features/event/services/RemoteService.js.map +1 -1
  340. package/build/features/event/stores/EventStore.d.ts +1 -0
  341. package/build/features/event/stores/EventStore.js +6 -1
  342. package/build/features/event/stores/EventStore.js.map +1 -1
  343. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  344. package/build/features/event/stores/ListenerStore.js +6 -1
  345. package/build/features/event/stores/ListenerStore.js.map +1 -1
  346. package/build/features/event/writers/EventWriter.js +1 -1
  347. package/build/features/event/writers/EventWriter.js.map +1 -1
  348. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  349. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  350. package/build/features/feature.utilities.js.map +1 -1
  351. package/build/features/features.types.js.map +1 -1
  352. package/build/features/log/LogFeature.js.map +1 -1
  353. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  354. package/build/features/log/writers/LogWriter.js.map +1 -1
  355. package/build/features/node/NodeFeature.js.map +1 -1
  356. package/build/features/node/actions/CreateAction.js.map +1 -1
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  359. package/build/features/node/writers/NodeWriter.js.map +1 -1
  360. package/build/features/onboard/OnboardFeature.js.map +1 -1
  361. package/build/features/onboard/ScriptLoader.js.map +1 -1
  362. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  363. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  364. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  365. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  366. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  367. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  368. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  369. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  370. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  371. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  372. package/build/features/organization/OrganizationFeature.js.map +1 -1
  373. package/build/features/organization/actions/CreateAction.js.map +1 -1
  374. package/build/features/organization/actions/InstallAction.js.map +1 -1
  375. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  376. package/build/features/person/PersonFeature.js.map +1 -1
  377. package/build/features/person/actions/LoginAction.js.map +1 -1
  378. package/build/features/person/actions/LogoutAction.js.map +1 -1
  379. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  380. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  381. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  382. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  383. package/build/features/schema/SchemaFeature.js.map +1 -1
  384. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  385. package/build/features/schema/actions/CreateAction.js.map +1 -1
  386. package/build/features/schema/actions/SyncAction.js.map +1 -1
  387. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  388. package/build/features/schema/services/SchemaService.js.map +1 -1
  389. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  390. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  391. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  392. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  393. package/build/features/schema/writers/SchemaWriter.js +1 -1
  394. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  395. package/build/features/skill/SkillFeature.js.map +1 -1
  396. package/build/features/skill/actions/BootAction.js.map +1 -1
  397. package/build/features/skill/actions/CreateAction.js.map +1 -1
  398. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  399. package/build/features/skill/actions/LoginAction.js.map +1 -1
  400. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  401. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  402. package/build/features/skill/stores/SkillStore.js.map +1 -1
  403. package/build/features/skill/updaters/Updater.js.map +1 -1
  404. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  405. package/build/features/store/StoreFeature.js +1 -1
  406. package/build/features/store/StoreFeature.js.map +1 -1
  407. package/build/features/store/actions/CreateAction.js.map +1 -1
  408. package/build/features/store/actions/SyncAction.js.map +1 -1
  409. package/build/features/store/stores/StoreStore.d.ts +1 -0
  410. package/build/features/store/stores/StoreStore.js +6 -1
  411. package/build/features/store/stores/StoreStore.js.map +1 -1
  412. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  413. package/build/features/store/writers/StoreWriter.js.map +1 -1
  414. package/build/features/test/TestFeature.js.map +1 -1
  415. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  416. package/build/features/test/TestReporter.js.map +1 -1
  417. package/build/features/test/TestRunner.js.map +1 -1
  418. package/build/features/test/actions/CreateAction.js +1 -1
  419. package/build/features/test/actions/CreateAction.js.map +1 -1
  420. package/build/features/test/actions/SetupAction.js.map +1 -1
  421. package/build/features/test/actions/TestAction.js.map +1 -1
  422. package/build/features/test/test.types.js.map +1 -1
  423. package/build/features/test/writers/TestWriter.js.map +1 -1
  424. package/build/features/universalDevDependencies.js.map +1 -1
  425. package/build/features/universalFileDescriptions.js.map +1 -1
  426. package/build/features/universalScripts.js.map +1 -1
  427. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  428. package/build/features/validateAndNormalize.utility.js +2 -2
  429. package/build/features/validateAndNormalize.utility.js.map +1 -1
  430. package/build/features/view/ViewFeature.js.map +1 -1
  431. package/build/features/view/actions/CreateAction.js.map +1 -1
  432. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  433. package/build/features/view/actions/SyncAction.js.map +1 -1
  434. package/build/features/view/actions/WatchAction.js.map +1 -1
  435. package/build/features/view/stores/ViewStore.js.map +1 -1
  436. package/build/features/view/writers/ViewWriter.js +1 -3
  437. package/build/features/view/writers/ViewWriter.js.map +1 -1
  438. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  439. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  440. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  441. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  442. package/build/features/watch/WatchFeature.js.map +1 -1
  443. package/build/index.js.map +1 -1
  444. package/build/interfaces/SpyInterface.js.map +1 -1
  445. package/build/interfaces/TerminalInterface.js.map +1 -1
  446. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  460. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  461. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  462. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  463. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  464. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  465. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  466. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  467. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  468. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  469. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  470. package/build/services/BuildService.js.map +1 -1
  471. package/build/services/CommandService.js.map +1 -1
  472. package/build/services/DependencyService.js.map +1 -1
  473. package/build/services/GameService.js.map +1 -1
  474. package/build/services/ImportService.js.map +1 -1
  475. package/build/services/LintService.js.map +1 -1
  476. package/build/services/PkgService.js.map +1 -1
  477. package/build/services/ServiceFactory.js.map +1 -1
  478. package/build/services/TypeCheckerService.js.map +1 -1
  479. package/build/stores/AbstractLocalStore.js.map +1 -1
  480. package/build/stores/AbstractStore.js.map +1 -1
  481. package/build/stores/StoreFactory.js.map +1 -1
  482. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  483. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  484. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  485. package/build/tests/AbstractCliTest.js.map +1 -1
  486. package/build/tests/AbstractErrorTest.js.map +1 -1
  487. package/build/tests/AbstractEventTest.js.map +1 -1
  488. package/build/tests/AbstractSchemaTest.js.map +1 -1
  489. package/build/tests/AbstractSkillTest.js.map +1 -1
  490. package/build/tests/AbstractTestTest.js.map +1 -1
  491. package/build/tests/CommandFaker.d.ts +2 -1
  492. package/build/tests/CommandFaker.js +13 -7
  493. package/build/tests/CommandFaker.js.map +1 -1
  494. package/build/tests/JestJsonParser.js.map +1 -1
  495. package/build/tests/MockProgramFactory.js.map +1 -1
  496. package/build/tests/buildTestCache.js.map +1 -1
  497. package/build/tests/cleanTestCache.js.map +1 -1
  498. package/build/tests/cleanTestData.js.map +1 -1
  499. package/build/tests/constants.js.map +1 -1
  500. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  501. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  502. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  503. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  504. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  505. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  506. package/build/tests/utilities/test.utility.js.map +1 -1
  507. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  508. package/build/types/apiClient.types.js.map +1 -1
  509. package/build/types/cli.types.js.map +1 -1
  510. package/build/types/graphicsInterface.types.js.map +1 -1
  511. package/build/updaters/ScriptUpdater.js.map +1 -1
  512. package/build/utilities/action.utility.js.map +1 -1
  513. package/build/utilities/apiClient.utility.js.map +1 -1
  514. package/build/utilities/argParser.utility.js.map +1 -1
  515. package/build/utilities/commander.utility.js.map +1 -1
  516. package/build/utilities/duration.utility.js.map +1 -1
  517. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  518. package/build/utilities/form.utility.js.map +1 -1
  519. package/build/utilities/introspection.utility.js.map +1 -1
  520. package/build/utilities/isCi.js.map +1 -1
  521. package/build/utilities/tsConfig.utility.js.map +1 -1
  522. package/build/utilities/ui.utility.js.map +1 -1
  523. package/build/widgets/Theme.js.map +1 -1
  524. package/build/widgets/WidgetFactory.js.map +1 -1
  525. package/build/widgets/keySelectChoices.js.map +1 -1
  526. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  527. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  528. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  529. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  530. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  531. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  532. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  533. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  534. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  535. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  536. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  537. package/build/widgets/types/button.types.js.map +1 -1
  538. package/build/widgets/types/factory.types.js.map +1 -1
  539. package/build/widgets/types/input.types.js.map +1 -1
  540. package/build/widgets/types/layout.types.js.map +1 -1
  541. package/build/widgets/types/menuBar.types.js.map +1 -1
  542. package/build/widgets/types/popup.types.js.map +1 -1
  543. package/build/widgets/types/progressBar.types.js.map +1 -1
  544. package/build/widgets/types/table.types.js.map +1 -1
  545. package/build/widgets/types/text.types.js.map +1 -1
  546. package/build/widgets/types/widgets.types.js.map +1 -1
  547. package/build/widgets/types/window.types.js.map +1 -1
  548. package/build/widgets/widget.utilities.js.map +1 -1
  549. package/build/writers/AbstractWriter.js.map +1 -1
  550. package/build/writers/WriterFactory.js.map +1 -1
  551. package/package.json +36 -36
  552. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
  553. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  554. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  555. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  556. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  557. package/src/features/AbstractAction.ts +2 -2
  558. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  559. package/src/features/event/stores/EventStore.ts +11 -8
  560. package/src/features/event/stores/ListenerStore.ts +5 -3
  561. package/src/features/event/writers/EventWriter.ts +1 -1
  562. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  563. package/src/features/store/StoreFeature.ts +1 -1
  564. package/src/features/store/stores/StoreStore.ts +5 -1
  565. package/src/features/test/actions/CreateAction.ts +1 -1
  566. package/src/features/validateAndNormalize.utility.ts +2 -2
  567. package/src/features/view/writers/ViewWriter.ts +3 -2
  568. 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":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"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"],"mappings":"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","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"],"file":"ActionExecuter.test.js"}
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":"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"}
@@ -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,"sources":["../../../src/__tests__/implementation/ActionExecuter3.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","assert","isTruthy","doesThrowAsync","execute","err","errorAssert","assertError","promise","waitForInput","ui","sendInput","assertHealthySkillNamed","description","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB,UAQA,iB,UAQA,iB,UAiBA,iB;;;;;;;;;;;;;kHAjCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAChDC,kBAAAA,4BAA4B,EAAE;AADkB,iBAAhC,CAFlB;;AAKCC,6BAAOC,QAAP,CAAgBJ,QAAhB;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qIAQA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBG,aAAOE,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACJ,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BK,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOC,gBAAAA,GAFP;;AAKCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,uBAA7B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOP,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB,EAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKK,YAAL,EAPP;;AAAA;AAAA;AAAA,uBASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,cAAlB,CATP;;AAAA;AAAA;AAAA,uBAUO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAVP;;AAAA;AAAA;AAAA,uBAYOH,OAZP;;AAAA;AAAA;AAAA,uBAcO,KAAKI,uBAAL,CAA6B,cAA7B,CAdP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOd,gBAAAA,QAFP,GAEkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;AAC/CC,kBAAAA,4BAA4B,EAAE;AADiB,iBAA/B,CAFlB;AAKOQ,gBAAAA,OALP,GAKiBV,QAAQ,CAACM,OAAT,CAAiB;AAAES,kBAAAA,WAAW,EAAE;AAAf,iBAAjB,CALjB;AAAA;AAAA,uBAOO,KAAKJ,YAAL,EAPP;;AAAA;AASC,qBAAK,KAAKC,EAAL,CAAQC,SAAR,CAAkB,wBAAlB,CAAL;AATD;AAAA,uBAWOH,OAXP;;AAAA;AAAA;AAAA,uBAaO,KAAKI,uBAAL,CAA6B,wBAA7B,CAbP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAlCuDE,+B","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"],"file":"ActionExecuter3.test.js"}
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,"sources":["../../../src/__tests__/implementation/ActionExecuter4.test.ts"],"names":["ActionExecuter4Test","CommandService","fakeCommand","code","ENABLE_NPM_CACHE_COMMAND","msg","willDid","getEmitter","on","Error","assert","doesThrowAsync","Action","execute","err","errorAssert","assertError","AbstractCliTest"],"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAGCC,2CAAeC,WAAf,CAA2B,gBAA3B,EAA8C;AAC7CC,kBAAAA,IAAI,EAAE;AADuC,iBAA9C;;AAGAF,2CAAeC,WAAf,CAA2BE,mCAA3B,EAAqD;AACpDD,kBAAAA,IAAI,EAAE;AAD8C,iBAArD;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJAWA,kBAICE,GAJD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,gBAAAA,OALD,8DAK2B,MAL3B;AAAA;AAAA,uBAOO,KAAKC,UAAL,GAAkBC,EAAlB,mBAAgCF,OAAhC,eAAmD,YAAM;AAC9D,wBAAM,IAAIG,KAAJ,CAAUJ,GAAV,CAAN;AACA,iBAFK,CAPP;;AAAA;AAAA;AAAA,uBAWmBK,aAAOC,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CADuC;AAAA,iBAAtB,CAXnB;;AAAA;AAWOC,gBAAAA,GAXP;;AAeCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,gBAA7B,EAA+C;AAC9C,2CAAyBT;AADqB,iBAA/C;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAoBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKO,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC,EAAvC,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhCgDI,4B","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"],"file":"ActionExecuter4.test.js"}
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,"sources":["../../../src/__tests__/implementation/ArgParser.test.ts"],"names":["ArgParserTest","d","test","assert","isTruthy","argParserUtil","args","expected","results","parse","isEqualDeep","AbstractSpruceTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;;;IAEqBA,a,WACnB,iB,UAKA,gBAAK,wCAAL,EAA+C,EAA/C,EAAmD,EAAnD,C,UACA,gBAAK,+BAAL,EAAsC,IAAtC,EAA4C;AAAEC,EAAAA,CAAC,EAAE;AAAL,CAA5C,C,UACA,gBAAK,qCAAL,EAA4C,UAA5C,EAAwD;AAAEA,EAAAA,CAAC,EAAE;AAAL,CAAxD,C,UACA,gBACA,gEADA,EAEA,sBAFA,EAGA;AAAEA,EAAAA,CAAC,EAAE,OAAL;AAAcC,EAAAA,IAAI,EAAE;AAApB,CAHA,C;;;;;;;;;;;;;2GARD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgBC,wBAAhB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iGAKA,kBAQ6BC,IAR7B,EAQ2CC,QAR3C;AAAA;AAAA;AAAA;AAAA;AAAA;AASOC,gBAAAA,OATP,GASiBH,yBAAcI,KAAd,CAAoBH,IAApB,CATjB;;AAUCH,6BAAOO,WAAP,CAAmBF,OAAnB,EAA4BD,QAA5B;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAN0CI,gB","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"],"file":"ArgParser.test.js"}
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,"sources":["../../../src/__tests__/implementation/BuildService.test.ts"],"names":["BuildServiceTest","service","Service","assert","isTruthy","installSkill","testFile","destination","resolvePath","diskUtil","writeFile","build","builtFilePath","contents","readFile","isEqual","cacheKey","FeatureFixture","installCachedFeatures","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,gB,WACnB,iB,UAMA,iB;;;;;;;;;;;;WAND,8BACsC;AACrC,UAAMC,OAAO,GAAG,KAAKC,OAAL,CAAa,OAAb,CAAhB;;AACAC,mBAAOC,QAAP,CAAgBH,OAAhB;AACA;;;;yGAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKI,YAAL,CAAkB,QAAlB,CAFP;;AAAA;AAIOC,gBAAAA,QAJP,GAIkB,uDAJlB;AAKOC,gBAAAA,WALP,GAKqB,KAAKC,WAAL,CAAiB,aAAjB,CALrB;;AAMCC,2CAASC,SAAT,CAAmBH,WAAnB,EAAgCD,QAAhC;;AAEML,gBAAAA,OARP,GAQiB,KAAKC,OAAL,CAAa,OAAb,CARjB;AAAA;AAAA,uBASOD,OAAO,CAACU,KAAR,EATP;;AAAA;AAWOC,gBAAAA,aAXP,GAWuB,KAAKJ,WAAL,CAAiB,eAAjB,CAXvB;AAYOK,gBAAAA,QAZP,GAYkBJ,2BAASK,QAAT,CAAkBF,aAAlB,CAZlB;;AAcCT,6BAAOY,OAAP,CACCF,QADD;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAuBA,kBAAkCG,QAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CF,QAA5C,aAA4CA,QAA5C,cAA4CA,QAA5C,GAAwD,QAAxD,CADP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA9B6CG,4B","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"],"file":"BuildService.test.js"}
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,"sources":["../../../src/__tests__/implementation/BulkImporting.test.ts"],"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"],"mappings":"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","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"],"file":"BulkImporting.test.js"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;IAEqBA,iB,WAYnB,iB,UAKA,iB,UAWA,iB,UAMA,iB,UAYA,iB,UAWA,iB,UAcA,iB,UAcA,iB,UAoBA,iB;;;;;;;;;;;;;sGAtGD;QAAA;QAAA;UAAA;YAAA;cAAA;gBACC;gBACMC,OAFP,GAEiB,IAAIC,0BAAJ,EAFjB;gBAGC,KAAKC,QAAL,GAAgBF,OAAO,CAACG,OAAR,CAAgB,KAAKC,GAArB,EAA0B,QAA1B,CAAhB;gBAEMC,MALP,GAKgB,KAAKC,WAAL,CAAiB,MAAjB,CALhB;;gBAMCC,2BAASC,SAAT,CAAmBH,MAAnB;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;uHASA;QAAA;UAAA;YAAA;cAAA;gBAECI,aAAOC,UAAP,CAAkB,KAAKR,QAAL,CAAcS,UAAhC;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAKA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAE2B,KAAKT,QAAL,CAAcS,UAAd,CAAyB,CAClD,KAAKC,eAAL,CAAqB,gDAArB,CADkD,CAAzB,CAF3B;;cAAA;gBAAA;gBAAA;gBAEQC,SAFR;;gBAMCJ,aAAOK,QAAP,CAAgBD,SAAhB;;gBACAJ,aAAOK,QAAP,CAAgBD,SAAS,CAACE,EAA1B;;gBACAN,aAAOO,OAAP,CAAeH,SAAS,CAACE,EAAzB,EAA6B,WAA7B;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oHAWA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKb,QAAL,CAAcS,UAAd,CAAyB,EAAzB,CAFvB;;cAAA;gBAEOM,OAFP;;gBAGCR,aAAOS,QAAP,CAAgBD,OAAhB,EAAyB,CAAzB;;cAHD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6GAMA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEsC,KAAKf,QAAL,CAAcS,UAAd,CAAyB,CAC7D,KAAKC,eAAL,CAAqB,gDAArB,CAD6D,EAE7D,KAAKA,eAAL,CAAqB,gDAArB,CAF6D,CAAzB,CAFtC;;cAAA;gBAAA;gBAAA;gBAEQC,SAFR;gBAEmBM,SAFnB;;gBAOCV,aAAOK,QAAP,CAAgBD,SAAhB;;gBACAJ,aAAOK,QAAP,CAAgBK,SAAhB;;gBACAV,aAAOK,QAAP,CAAgBK,SAAS,CAACJ,EAA1B,EAA8B,WAA9B;;cATD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAYA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKb,QAAL,CAAcS,UAAd,CAAyB,CAC9B,KAAKC,eAAL,CAAqB,gDAArB,CAD8B,EAE9B,KAAKA,eAAL,CAAqB,gDAArB,CAF8B,CAAzB,CAFP;;cAAA;gBAOOP,MAPP,GAOgB,KAAKC,WAAL,CAAiB,MAAjB,CAPhB;;gBAQCG,aAAOW,OAAP,CAAeb,2BAASc,YAAT,CAAsBhB,MAAtB,CAAf;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAWA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEOI,aAAOa,cAAP,CAAsB;kBAAA,OAC3B,KAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,KAAI,CAACC,eAAL,CACC,wDADD,CADwB,CAAzB,CAD2B;gBAAA,CAAtB,CAFP;;cAAA;gBAUOP,MAVP,GAUgB,KAAKC,WAAL,CAAiB,MAAjB,CAVhB;;gBAWCG,aAAOW,OAAP,CAAeb,2BAASc,YAAT,CAAsBhB,MAAtB,CAAf;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;4HAcA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmBI,aAAOa,cAAP,CAAsB;kBAAA,OACvC,MAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,MAAI,CAACC,eAAL,CACC,wDADD,CADwB,CAAzB,CADuC;gBAAA,CAAtB,CAFnB;;cAAA;gBAEOW,GAFP;;gBAUCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;gBACAd,aAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,sBAA9C;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;8IAcA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmBnB,aAAOa,cAAP,CAAsB;kBAAA,OACvC,MAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,MAAI,CAACC,eAAL,CACC,yDADD,CADwB,EAIxB,MAAI,CAACA,eAAL,CACC,wDADD,CAJwB,EAQxB,MAAI,CAACA,eAAL,CAAqB,gDAArB,CARwB,EASxB,MAAI,CAACA,eAAL,CAAqB,gDAArB,CATwB,CAAzB,CADuC;gBAAA,CAAtB,CAFnB;;cAAA;gBAEOW,GAFP;;gBAgBCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;gBACAd,aAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,uBAA9C;;cAjBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;sIAoBA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmBnB,aAAOa,cAAP,CAAsB;kBAAA,OACvC,MAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,MAAI,CAACC,eAAL,CAAqB,gDAArB,CADwB,EAExB,MAAI,CAACA,eAAL,CAAqB,gDAArB,CAFwB,EAGxB,MAAI,CAACA,eAAL,CACC,yDADD,CAHwB,CAAzB,CADuC;gBAAA,CAAtB,CAFnB;;cAAA;gBAEOW,GAFP;;gBAYCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;gBACAd,aAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,uBAA9C;;cAbD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAgBA,2BAAyE;MAAA,kCAArCC,yBAAqC;QAArCA,yBAAqC;MAAA;;MACxE,OAAOC,iBAAQC,IAAR,0BACN,KAAK3B,GADC,EAEN,OAFM,EAGN,WAHM,EAIN,kBAJM,SAKHyB,yBALG,EAAP;IAOA;;;EAjI6CG,gB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/CachingImports.test.ts"],"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"],"mappings":"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","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"],"file":"CachingImports.test.js"}
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,"sources":["../../../src/__tests__/implementation/CommandOptionBuilder.test.ts"],"names":["CommandGeneratorTest","assert","isFunction","featuresUtil","generateOptionAliases","person","id","name","fields","firstName","type","aliases","isLength","Object","keys","doesInclude","lastName","isRequired","defaultTrue","defaultValue","defaultFalse","boolNoDefault","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WACnB,iB,UAKA,iB,UAoBA,iB,UA2BA,iB;;;;;;;;;;;;WApDD,6BACqC;AACpCC,mBAAOC,UAAP,CAAkBC,oBAAaC,qBAA/B;AACA;;;WAED,oCAC4C;AAC3C,UAAMC,MAAc,GAAG;AACtBC,QAAAA,EAAE,EAAE,cADkB;AAEtBC,QAAAA,IAAI,EAAE,cAFgB;AAGtBC,QAAAA,MAAM,EAAE;AACPC,UAAAA,SAAS,EAAE;AACVC,YAAAA,IAAI,EAAE;AADI;AADJ;AAHc,OAAvB;;AAUA,UAAMC,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;AAEAJ,mBAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;AACAV,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BF,QAAAA,SAAS,EAAE;AADgB,OAA5B;AAGA;;;WAED,wCACgD;AAC/C,UAAMJ,MAAc,GAAG;AACtBC,QAAAA,EAAE,EAAE,cADkB;AAEtBC,QAAAA,IAAI,EAAE,cAFgB;AAGtBC,QAAAA,MAAM,EAAE;AACPC,UAAAA,SAAS,EAAE;AACVC,YAAAA,IAAI,EAAE;AADI,WADJ;AAIPM,UAAAA,QAAQ,EAAE;AACTN,YAAAA,IAAI,EAAE,MADG;AAETO,YAAAA,UAAU,EAAE;AAFH;AAJH;AAHc,OAAvB;;AAcA,UAAMN,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;AAEAJ,mBAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;AACAV,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BF,QAAAA,SAAS,EAAE;AADgB,OAA5B;;AAGAR,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BK,QAAAA,QAAQ,EAAE;AADiB,OAA5B;AAGA;;;WAED,mCAC2C;AAC1C,UAAMX,MAAc,GAAG;AACtBC,QAAAA,EAAE,EAAE,cADkB;AAEtBC,QAAAA,IAAI,EAAE,cAFgB;AAGtBC,QAAAA,MAAM,EAAE;AACPU,UAAAA,WAAW,EAAE;AACZR,YAAAA,IAAI,EAAE,SADM;AAEZS,YAAAA,YAAY,EAAE;AAFF,WADN;AAKPC,UAAAA,YAAY,EAAE;AACbV,YAAAA,IAAI,EAAE,SADO;AAEbS,YAAAA,YAAY,EAAE;AAFD,WALP;AASPE,UAAAA,aAAa,EAAE;AACdX,YAAAA,IAAI,EAAE;AADQ;AATR;AAHc,OAAvB;;AAkBA,UAAMC,OAAO,GAAGR,oBAAaC,qBAAb,CAAmCC,MAAnC,CAAhB;;AAEAJ,mBAAOW,QAAP,CAAgBC,MAAM,CAACC,IAAP,CAAYH,OAAZ,CAAhB,EAAsC,CAAtC;;AACAV,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BO,QAAAA,WAAW,EAAE;AADc,OAA5B;;AAGAjB,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BS,QAAAA,YAAY,EAAE;AADa,OAA5B;;AAIAnB,mBAAOc,WAAP,CAAmBJ,OAAnB,EAA4B;AAC3BU,QAAAA,aAAa,EAAE;AADY,OAA5B;AAGA;;;EAtFgDC,4B","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"],"file":"CommandOptionBuilder.test.js"}
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,"sources":["../../../src/__tests__/implementation/CommanderCommandResultMapper.test.ts"],"names":["CommanderCommandResultMapperTest","assert","isTruthy","commanderUtil","results","mapIncomingToOptions","isEqualDeep","Command","undefined","optionsSchema","name","email","AbstractSpruceTest","id","fields","type"],"mappings":"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","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"],"file":"CommanderCommandResultMapper.test.js"}
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,"sources":["../../../src/__tests__/implementation/DataStoreStore.test.ts"],"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","AbstractSkillTest"],"mappings":"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","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"],"file":"DataStoreStore.test.js"}
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,"sources":["../../../src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts"],"names":["DeletingOrphanedSchemaDefinitionsTest","assert","isFunction","schemaGeneratorUtil","filterSchemaFilesBySchemaIds","resolveTestPath","id","namespace","version","results","isEqual","length","doesInclude","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,qC,WACnB,iB,UAKA,iB,UAgBA,iB;;;;;;;;;;;;;uGArBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkBC,4BAAoBC,4BAAtC;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuBD,4BAAoBC,4BAApB,CACrB,KAAKC,eAAL,CAAqB,kBAArB,CADqB,EAErB,CACC;AAAEC,kBAAAA,EAAE,EAAE,KAAN;AAAaC,kBAAAA,SAAS,EAAE,WAAxB;AAAqCC,kBAAAA,OAAO,EAAE;AAA9C,iBADD,EAEC;AAAEF,kBAAAA,EAAE,EAAE;AAAN,iBAFD,EAGC;AACA;AAAEA,kBAAAA,EAAE,EAAE,OAAN;AAAeC,kBAAAA,SAAS,EAAE;AAA1B,iBAJD,EAKC;AAAED,kBAAAA,EAAE,EAAE,MAAN;AAAcC,kBAAAA,SAAS,EAAE,cAAzB;AAAyCC,kBAAAA,OAAO,EAAE;AAAlD,iBALD,CAFqB,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAaCR,6BAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB,EAA+B,CAA/B;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuBR,4BAAoBC,4BAApB,CACrB,KAAKC,eAAL,CAAqB,kBAArB,CADqB,EAErB,CAAC;AAAEC,kBAAAA,EAAE,EAAE,KAAN;AAAaC,kBAAAA,SAAS,EAAE,WAAxB;AAAqCC,kBAAAA,OAAO,EAAE;AAA9C,iBAAD,CAFqB,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAOCR,6BAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB,EAA+B,CAA/B;;AACAV,6BAAOW,WAAP,CAAmBH,OAAO,CAAC,CAAD,CAA1B,EAA+B,uBAA/B;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAtBkEI,+B","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"],"file":"DeletingOrphanedSchemaDefinitions.test.js"}
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,"sources":["../../../src/__tests__/implementation/EventContractCleanerUtil.test.ts"],"names":["didMessageContract","eventSignatures","coreEventContracts","didMessageGlobalContractWithoutPayload","isGlobal","emitPayloadSchema","fields","targetOnlyPayload","eventName","targetSchema","id","namespace","type","EventContractCleanerUtilTest","assert","isTruthy","eventContractCleanerUtil","cleaned","cleanPayloadsAndPermissions","isEqualDeep","isFalsy","AbstractSpruceTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,kBAAkB,GAAG;AAC1BC,EAAAA,eAAe,EAAE;AAChB,gCACCC,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC;AAFe;AADS,CAA3B;AAOA,IAAME,sCAAsC,GAAG;AAC9CF,EAAAA,eAAe,EAAE;AAChB,gEACIC,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC,CADJ;AAECG,MAAAA,QAAQ,EAAE,IAFX;AAGCC,MAAAA,iBAAiB,kCACbH,sCAAmB,CAAnB,EAAsBD,eAAtB,CAAsC,0BAAtC,EACDI,iBAFc;AAGhBC,QAAAA,MAAM,EAAE;AAHQ;AAHlB;AADgB;AAD6B,CAA/C;AAcA,IAAMC,iBAAiB,GAAG;AACzBN,EAAAA,eAAe,EAAE;AAChB,gCAA4B;AAC3BG,MAAAA,QAAQ,EAAE,IADiB;AAE3BC,MAAAA,iBAAiB,EAAE,uDAAgC;AAClDG,QAAAA,SAAS,EAAE,0BADuC;AAElDC,QAAAA,YAAY,EAAE;AACbC,UAAAA,EAAE,EAAE,MADS;AAEbJ,UAAAA,MAAM,EAAE;AACPK,YAAAA,SAAS,EAAE;AACVC,cAAAA,IAAI,EAAE;AADI;AADJ;AAFK;AAFoC,OAAhC;AAFQ;AADZ;AADQ,CAA1B;IAmBqBC,4B,WACnB,iB,UAKA,iB,UAQA,iB,UAWA,iB;;;;;;;;;;;;;0HAxBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgBC,8CAAhB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,OAFP,GAGED,+CAAyBE,2BAAzB,CAAqDlB,kBAArD,CAHF;;AAKCc,6BAAOK,WAAP,CAAmBF,OAAnB,EAA4BjB,kBAA5B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0IAQA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOiB,gBAAAA,OAFP,GAEiBD,+CAAyBE,2BAAzB,CACff,sCADe,CAFjB;;AAMCW,6BAAOM,OAAP,0BACCH,OAAO,CAAChB,eAAR,CAAwB,0BAAxB,CADD,0DACC,sBAAqDI,iBADtD;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAWA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOY,gBAAAA,OAFP,GAGED,+CAAyBE,2BAAzB,CAAqDX,iBAArD,CAHF;;AAKCO,6BAAOC,QAAP,2BACCE,OAAO,CAAChB,eAAR,CAAwB,0BAAxB,CADD,2DACC,uBAAqDI,iBADtD;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAzByDgB,gB","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"],"file":"EventContractCleanerUtil.test.js"}
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
  }