@sprucelabs/spruce-cli 15.2.24 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/CHANGELOG.md +12 -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.js.map +1 -1
  182. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  183. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  184. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  193. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  194. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  198. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  199. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  200. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  203. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  204. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  205. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  206. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  207. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  208. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  209. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  210. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  211. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  212. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  213. package/build/__tests__/implementation/EventStore.test.js +61 -33
  214. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  216. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  217. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  218. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  219. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  220. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  221. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  222. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  223. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  224. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  225. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  226. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  227. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  228. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  229. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  230. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  231. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  232. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  233. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  234. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  236. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  237. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  238. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  239. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  240. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  241. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  242. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  243. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  244. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  245. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  246. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  247. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  248. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  249. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  250. package/build/addons/filePrompt.addon.js.map +1 -1
  251. package/build/cli.js.map +1 -1
  252. package/build/components/AbstractComponent.js.map +1 -1
  253. package/build/components/FormComponent.js.map +1 -1
  254. package/build/components/QuizComponent.js.map +1 -1
  255. package/build/constants.js.map +1 -1
  256. package/build/errors/SpruceError.js.map +1 -1
  257. package/build/errors/actionCancelled.builder.js.map +1 -1
  258. package/build/errors/bootError.builder.js.map +1 -1
  259. package/build/errors/buildFailed.builder.js.map +1 -1
  260. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  261. package/build/errors/commandAborted.builder.js.map +1 -1
  262. package/build/errors/commandBlocked.builder.js.map +1 -1
  263. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  264. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  265. package/build/errors/dependencyExists.builder.js.map +1 -1
  266. package/build/errors/deployFailed.builder.js.map +1 -1
  267. package/build/errors/directoryEmpty.builder.js.map +1 -1
  268. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  269. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  270. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  271. package/build/errors/failedToImport.builder.js.map +1 -1
  272. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  273. package/build/errors/fileExists.builder.js.map +1 -1
  274. package/build/errors/generic.builder.js.map +1 -1
  275. package/build/errors/invalidCommand.builder.js.map +1 -1
  276. package/build/errors/invalidEventContract.builder.js.map +1 -1
  277. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  278. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  279. package/build/errors/lintFailed.builder.js.map +1 -1
  280. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  281. package/build/errors/missingDependencies.builder.js.map +1 -1
  282. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  283. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  284. package/build/errors/notImplemented.builder.js.map +1 -1
  285. package/build/errors/notLoggedIn.builder.js.map +1 -1
  286. package/build/errors/schemaExists.builder.js.map +1 -1
  287. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  288. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  289. package/build/errors/skillNotFound.builder.js.map +1 -1
  290. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  291. package/build/errors/skillViewExists.builder.js.map +1 -1
  292. package/build/errors/storeExists.builder.js.map +1 -1
  293. package/build/errors/testFailed.builder.js.map +1 -1
  294. package/build/errors/themeExists.builder.js.map +1 -1
  295. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  296. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  297. package/build/features/AbstractAction.js.map +1 -1
  298. package/build/features/AbstractFeature.js.map +1 -1
  299. package/build/features/ActionExecuter.js.map +1 -1
  300. package/build/features/ActionFactory.js.map +1 -1
  301. package/build/features/ActionQuestionAsker.js.map +1 -1
  302. package/build/features/FeatureCommandAttacher.js.map +1 -1
  303. package/build/features/FeatureInstaller.js.map +1 -1
  304. package/build/features/FeatureInstallerFactory.js.map +1 -1
  305. package/build/features/OverrideActionDecorator.js.map +1 -1
  306. package/build/features/cache/CacheFeature.js.map +1 -1
  307. package/build/features/cache/actions/DisableAction.js.map +1 -1
  308. package/build/features/cache/actions/EnableAction.js.map +1 -1
  309. package/build/features/cache/constants.js.map +1 -1
  310. package/build/features/conversation/ConversationFeature.js.map +1 -1
  311. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  312. package/build/features/conversation/actions/TestAction.js.map +1 -1
  313. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  314. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  315. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  316. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  317. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  318. package/build/features/deploy/DeployFeature.js.map +1 -1
  319. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  320. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  321. package/build/features/error/ErrorFeature.js.map +1 -1
  322. package/build/features/error/ParentTestFinder.js.map +1 -1
  323. package/build/features/error/actions/CreateAction.js.map +1 -1
  324. package/build/features/error/actions/SyncAction.js.map +1 -1
  325. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  326. package/build/features/event/EventFeature.js.map +1 -1
  327. package/build/features/event/actions/CreateAction.js.map +1 -1
  328. package/build/features/event/actions/ListenAction.js.map +1 -1
  329. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  330. package/build/features/event/actions/SyncAction.js.map +1 -1
  331. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  332. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  333. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  334. package/build/features/event/services/EventSettingsService.js.map +1 -1
  335. package/build/features/event/services/RemoteService.js.map +1 -1
  336. package/build/features/event/stores/EventStore.d.ts +1 -0
  337. package/build/features/event/stores/EventStore.js +6 -1
  338. package/build/features/event/stores/EventStore.js.map +1 -1
  339. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  340. package/build/features/event/stores/ListenerStore.js +6 -1
  341. package/build/features/event/stores/ListenerStore.js.map +1 -1
  342. package/build/features/event/writers/EventWriter.js.map +1 -1
  343. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  344. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  345. package/build/features/feature.utilities.js.map +1 -1
  346. package/build/features/features.types.js.map +1 -1
  347. package/build/features/log/LogFeature.js.map +1 -1
  348. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  349. package/build/features/log/writers/LogWriter.js.map +1 -1
  350. package/build/features/node/NodeFeature.js.map +1 -1
  351. package/build/features/node/actions/CreateAction.js.map +1 -1
  352. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  353. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  354. package/build/features/node/writers/NodeWriter.js.map +1 -1
  355. package/build/features/onboard/OnboardFeature.js.map +1 -1
  356. package/build/features/onboard/ScriptLoader.js.map +1 -1
  357. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  358. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  359. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  360. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  361. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  362. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  363. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  364. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  365. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  366. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  367. package/build/features/organization/OrganizationFeature.js.map +1 -1
  368. package/build/features/organization/actions/CreateAction.js.map +1 -1
  369. package/build/features/organization/actions/InstallAction.js.map +1 -1
  370. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  371. package/build/features/person/PersonFeature.js.map +1 -1
  372. package/build/features/person/actions/LoginAction.js.map +1 -1
  373. package/build/features/person/actions/LogoutAction.js.map +1 -1
  374. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  375. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  376. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  377. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  378. package/build/features/schema/SchemaFeature.js.map +1 -1
  379. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  380. package/build/features/schema/actions/CreateAction.js.map +1 -1
  381. package/build/features/schema/actions/SyncAction.js.map +1 -1
  382. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  383. package/build/features/schema/services/SchemaService.js.map +1 -1
  384. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  385. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  386. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  387. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  388. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  389. package/build/features/skill/SkillFeature.js.map +1 -1
  390. package/build/features/skill/actions/BootAction.js.map +1 -1
  391. package/build/features/skill/actions/CreateAction.js.map +1 -1
  392. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  393. package/build/features/skill/actions/LoginAction.js.map +1 -1
  394. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  395. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  396. package/build/features/skill/stores/SkillStore.js.map +1 -1
  397. package/build/features/skill/updaters/Updater.js.map +1 -1
  398. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  399. package/build/features/store/StoreFeature.js +1 -1
  400. package/build/features/store/StoreFeature.js.map +1 -1
  401. package/build/features/store/actions/CreateAction.js.map +1 -1
  402. package/build/features/store/actions/SyncAction.js.map +1 -1
  403. package/build/features/store/stores/StoreStore.js.map +1 -1
  404. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  405. package/build/features/store/writers/StoreWriter.js.map +1 -1
  406. package/build/features/test/TestFeature.js.map +1 -1
  407. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  408. package/build/features/test/TestReporter.js.map +1 -1
  409. package/build/features/test/TestRunner.js.map +1 -1
  410. package/build/features/test/actions/CreateAction.js.map +1 -1
  411. package/build/features/test/actions/SetupAction.js.map +1 -1
  412. package/build/features/test/actions/TestAction.js.map +1 -1
  413. package/build/features/test/test.types.js.map +1 -1
  414. package/build/features/test/writers/TestWriter.js.map +1 -1
  415. package/build/features/universalDevDependencies.js.map +1 -1
  416. package/build/features/universalFileDescriptions.js.map +1 -1
  417. package/build/features/universalScripts.js.map +1 -1
  418. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  419. package/build/features/validateAndNormalize.utility.js +2 -2
  420. package/build/features/validateAndNormalize.utility.js.map +1 -1
  421. package/build/features/view/ViewFeature.js.map +1 -1
  422. package/build/features/view/actions/CreateAction.js.map +1 -1
  423. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  424. package/build/features/view/actions/SyncAction.js.map +1 -1
  425. package/build/features/view/actions/WatchAction.js.map +1 -1
  426. package/build/features/view/stores/ViewStore.js.map +1 -1
  427. package/build/features/view/writers/ViewWriter.js.map +1 -1
  428. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  429. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  430. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  431. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  432. package/build/features/watch/WatchFeature.js.map +1 -1
  433. package/build/index.js.map +1 -1
  434. package/build/interfaces/SpyInterface.js.map +1 -1
  435. package/build/interfaces/TerminalInterface.js.map +1 -1
  436. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  437. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  438. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  439. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  440. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  441. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  442. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  443. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  444. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  445. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  446. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  460. package/build/services/BuildService.js.map +1 -1
  461. package/build/services/CommandService.js.map +1 -1
  462. package/build/services/DependencyService.js.map +1 -1
  463. package/build/services/GameService.js.map +1 -1
  464. package/build/services/ImportService.js.map +1 -1
  465. package/build/services/LintService.js.map +1 -1
  466. package/build/services/PkgService.js.map +1 -1
  467. package/build/services/ServiceFactory.js.map +1 -1
  468. package/build/services/TypeCheckerService.js.map +1 -1
  469. package/build/stores/AbstractLocalStore.js.map +1 -1
  470. package/build/stores/AbstractStore.js.map +1 -1
  471. package/build/stores/StoreFactory.js.map +1 -1
  472. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  473. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  474. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  475. package/build/tests/AbstractCliTest.js.map +1 -1
  476. package/build/tests/AbstractErrorTest.js.map +1 -1
  477. package/build/tests/AbstractEventTest.js.map +1 -1
  478. package/build/tests/AbstractSchemaTest.js.map +1 -1
  479. package/build/tests/AbstractSkillTest.js.map +1 -1
  480. package/build/tests/AbstractTestTest.js.map +1 -1
  481. package/build/tests/CommandFaker.js.map +1 -1
  482. package/build/tests/JestJsonParser.js.map +1 -1
  483. package/build/tests/MockProgramFactory.js.map +1 -1
  484. package/build/tests/buildTestCache.js.map +1 -1
  485. package/build/tests/cleanTestCache.js.map +1 -1
  486. package/build/tests/cleanTestData.js.map +1 -1
  487. package/build/tests/constants.js.map +1 -1
  488. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  489. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  490. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  491. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  492. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  493. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  494. package/build/tests/utilities/test.utility.js.map +1 -1
  495. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  496. package/build/types/apiClient.types.js.map +1 -1
  497. package/build/types/cli.types.js.map +1 -1
  498. package/build/types/graphicsInterface.types.js.map +1 -1
  499. package/build/updaters/ScriptUpdater.js.map +1 -1
  500. package/build/utilities/action.utility.js.map +1 -1
  501. package/build/utilities/apiClient.utility.js.map +1 -1
  502. package/build/utilities/argParser.utility.js.map +1 -1
  503. package/build/utilities/commander.utility.js.map +1 -1
  504. package/build/utilities/duration.utility.js.map +1 -1
  505. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  506. package/build/utilities/form.utility.js.map +1 -1
  507. package/build/utilities/introspection.utility.js.map +1 -1
  508. package/build/utilities/isCi.js.map +1 -1
  509. package/build/utilities/tsConfig.utility.js.map +1 -1
  510. package/build/utilities/ui.utility.js.map +1 -1
  511. package/build/widgets/Theme.js.map +1 -1
  512. package/build/widgets/WidgetFactory.js.map +1 -1
  513. package/build/widgets/keySelectChoices.js.map +1 -1
  514. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  515. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  516. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  517. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  518. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  519. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  520. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  521. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  522. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  523. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  524. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  525. package/build/widgets/types/button.types.js.map +1 -1
  526. package/build/widgets/types/factory.types.js.map +1 -1
  527. package/build/widgets/types/input.types.js.map +1 -1
  528. package/build/widgets/types/layout.types.js.map +1 -1
  529. package/build/widgets/types/menuBar.types.js.map +1 -1
  530. package/build/widgets/types/popup.types.js.map +1 -1
  531. package/build/widgets/types/progressBar.types.js.map +1 -1
  532. package/build/widgets/types/table.types.js.map +1 -1
  533. package/build/widgets/types/text.types.js.map +1 -1
  534. package/build/widgets/types/widgets.types.js.map +1 -1
  535. package/build/widgets/types/window.types.js.map +1 -1
  536. package/build/widgets/widget.utilities.js.map +1 -1
  537. package/build/writers/AbstractWriter.js.map +1 -1
  538. package/build/writers/WriterFactory.js.map +1 -1
  539. package/package.json +3 -3
  540. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  541. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  542. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  543. package/src/features/AbstractAction.ts +2 -2
  544. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  545. package/src/features/event/stores/EventStore.ts +11 -8
  546. package/src/features/event/stores/ListenerStore.ts +5 -3
  547. package/src/features/store/StoreFeature.ts +1 -1
  548. package/src/features/validateAndNormalize.utility.ts +2 -2
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AAAA;AAAA;AAAA;AAAA;AAAA;AACC;AACMC,gBAAAA,OAFP,GAEiB,IAAIC,0BAAJ,EAFjB;AAGC,qBAAKC,QAAL,GAAgBF,OAAO,CAACG,OAAR,CAAgB,KAAKC,GAArB,EAA0B,QAA1B,CAAhB;AAEMC,gBAAAA,MALP,GAKgB,KAAKC,WAAL,CAAiB,MAAjB,CALhB;;AAMCC,2CAASC,SAAT,CAAmBH,MAAnB;;AAND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHASA;AAAA;AAAA;AAAA;AAAA;AAECI,6BAAOC,UAAP,CAAkB,KAAKR,QAAL,CAAcS,UAAhC;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAE2B,KAAKT,QAAL,CAAcS,UAAd,CAAyB,CAClD,KAAKC,eAAL,CAAqB,gDAArB,CADkD,CAAzB,CAF3B;;AAAA;AAAA;AAAA;AAEQC,gBAAAA,SAFR;;AAMCJ,6BAAOK,QAAP,CAAgBD,SAAhB;;AACAJ,6BAAOK,QAAP,CAAgBD,SAAS,CAACE,EAA1B;;AACAN,6BAAOO,OAAP,CAAeH,SAAS,CAACE,EAAzB,EAA6B,WAA7B;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKb,QAAL,CAAcS,UAAd,CAAyB,EAAzB,CAFvB;;AAAA;AAEOM,gBAAAA,OAFP;;AAGCR,6BAAOS,QAAP,CAAgBD,OAAhB,EAAyB,CAAzB;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAMA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsC,KAAKf,QAAL,CAAcS,UAAd,CAAyB,CAC7D,KAAKC,eAAL,CAAqB,gDAArB,CAD6D,EAE7D,KAAKA,eAAL,CAAqB,gDAArB,CAF6D,CAAzB,CAFtC;;AAAA;AAAA;AAAA;AAEQC,gBAAAA,SAFR;AAEmBM,gBAAAA,SAFnB;;AAOCV,6BAAOK,QAAP,CAAgBD,SAAhB;;AACAJ,6BAAOK,QAAP,CAAgBK,SAAhB;;AACAV,6BAAOK,QAAP,CAAgBK,SAAS,CAACJ,EAA1B,EAA8B,WAA9B;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKb,QAAL,CAAcS,UAAd,CAAyB,CAC9B,KAAKC,eAAL,CAAqB,gDAArB,CAD8B,EAE9B,KAAKA,eAAL,CAAqB,gDAArB,CAF8B,CAAzB,CAFP;;AAAA;AAOOP,gBAAAA,MAPP,GAOgB,KAAKC,WAAL,CAAiB,MAAjB,CAPhB;;AAQCG,6BAAOW,OAAP,CAAeb,2BAASc,YAAT,CAAsBhB,MAAtB,CAAf;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAWA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEOI,aAAOa,cAAP,CAAsB;AAAA,yBAC3B,KAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,KAAI,CAACC,eAAL,CACC,wDADD,CADwB,CAAzB,CAD2B;AAAA,iBAAtB,CAFP;;AAAA;AAUOP,gBAAAA,MAVP,GAUgB,KAAKC,WAAL,CAAiB,MAAjB,CAVhB;;AAWCG,6BAAOW,OAAP,CAAeb,2BAASc,YAAT,CAAsBhB,MAAtB,CAAf;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4HAcA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBI,aAAOa,cAAP,CAAsB;AAAA,yBACvC,MAAI,CAACpB,QAAL,CAAcS,UAAd,CAAyB,CACxB,MAAI,CAACC,eAAL,CACC,wDADD,CADwB,CAAzB,CADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOW,gBAAAA,GAFP;;AAUCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;AACAd,6BAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,sBAA9C;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8IAcA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBnB,aAAOa,cAAP,CAAsB;AAAA,yBACvC,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;AAAA,iBAAtB,CAFnB;;AAAA;AAEOW,gBAAAA,GAFP;;AAgBCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;AACAd,6BAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,uBAA9C;;AAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sIAoBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBnB,aAAOa,cAAP,CAAsB;AAAA,yBACvC,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;AAAA,iBAAtB,CAFnB;;AAAA;AAEOW,gBAAAA,GAFP;;AAYCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,kBAA7B;;AACAd,6BAAOiB,WAAP,CAAoBH,GAAD,CAAaI,OAAb,CAAqBC,IAAxC,EAA8C,uBAA9C;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAgBA,2BAAyE;AAAA,wCAArCC,yBAAqC;AAArCA,QAAAA,yBAAqC;AAAA;;AACxE,aAAOC,iBAAQC,IAAR,0BACN,KAAK3B,GADC,EAEN,OAFM,EAGN,WAHM,EAIN,kBAJM,SAKHyB,yBALG,EAAP;AAOA;;;EAjI6CG,gB","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":"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"}
@@ -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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"}
@@ -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","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"],"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
  }