@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/templateItemBuilders/FieldTemplateItemBuilder.ts"],"names":["FieldTemplateItemBuilder","fields","templateItems","generatedImportAsCount","field","registration","name","className","pkg","importAs","isLocal","item","namePascal","namesUtil","toPascal","nameCamel","toCamel","nameReadable","pascalType","type","camelType","description","valueTypeMapper","push"],"mappings":";;;;;;;;;;;;;AACA;;;;;;;;IAGqBA,wB;;;;;;;WACpB,+BAA6BC,MAA7B,EAAqD;AACpD,UAAMC,aAAkC,GAAG,EAA3C;AACA,UAAIC,sBAAsB,GAAG,CAA7B;;AAFoD,iDAIlCF,MAJkC;AAAA;;AAAA;AAIpD,4DAA0B;AAAA,cAAjBG,KAAiB;AACzB,cAAQC,YAAR,GAAyBD,KAAzB,CAAQC,YAAR;AACA,cAAMC,IAAI,GAAGD,YAAY,CAACE,SAA1B;AACA,cAAIC,GAAG,GAAGH,YAAY,WAAtB;AACA,cAAII,QAAQ,GAAGJ,YAAY,CAACI,QAA5B;;AAEA,cAAIL,KAAK,CAACM,OAAV,EAAmB;AAClBF,YAAAA,GAAG,+BAAwBH,YAAY,CAACE,SAArC,CAAH;AACAE,YAAAA,QAAQ,8BAAuBN,sBAAsB,EAA7C,CAAR;AACA;;AAED,cAAMQ,IAAuB,GAAG;AAC/BC,YAAAA,UAAU,EAAEC,4BAAUC,QAAV,CAAmBR,IAAnB,CADmB;AAE/BS,YAAAA,SAAS,EAAEF,4BAAUG,OAAV,CAAkBV,IAAlB,CAFoB;AAG/B,uBAASE,GAHsB;AAI/BD,YAAAA,SAAS,EAAEF,YAAY,CAACE,SAJO;AAK/BE,YAAAA,QAAQ,EAARA,QAL+B;AAM/BQ,YAAAA,YAAY,EAAEZ,YAAY,CAACE,SANI;AAO/BW,YAAAA,UAAU,EAAEL,4BAAUC,QAAV,CAAmBT,YAAY,CAACc,IAAhC,CAPmB;AAQ/BC,YAAAA,SAAS,EAAEP,4BAAUG,OAAV,CAAkBX,YAAY,CAACc,IAA/B,CARoB;AAS/BT,YAAAA,OAAO,EAAEN,KAAK,CAACM,OATgB;AAU/BW,YAAAA,WAAW,EAAEhB,YAAY,CAACgB,WAVK;AAW/BC,YAAAA,eAAe,EAAEjB,YAAY,CAACiB;AAXC,WAAhC;AAcAnB,UAAAA,sBAAsB;AAEtBD,UAAAA,aAAa,CAACqB,IAAd,CAAmBZ,IAAnB;AACA;AAhCmD;AAAA;AAAA;AAAA;AAAA;;AAkCpD,aAAOT,aAAP;AACA","sourcesContent":["import { FieldTemplateItem } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { FetchedField } from '../features/schema/stores/SchemaStore'\n\nexport default class FieldTemplateItemBuilder {\n\tpublic generateTemplateItems(fields: FetchedField[]) {\n\t\tconst templateItems: FieldTemplateItem[] = []\n\t\tlet generatedImportAsCount = 0\n\n\t\tfor (let field of fields) {\n\t\t\tconst { registration } = field\n\t\t\tconst name = registration.className\n\t\t\tlet pkg = registration.package\n\t\t\tlet importAs = registration.importAs\n\n\t\t\tif (field.isLocal) {\n\t\t\t\tpkg = `#spruce/../fields/${registration.className}`\n\t\t\t\timportAs = `generated_import_${generatedImportAsCount++}`\n\t\t\t}\n\n\t\t\tconst item: FieldTemplateItem = {\n\t\t\t\tnamePascal: namesUtil.toPascal(name),\n\t\t\t\tnameCamel: namesUtil.toCamel(name),\n\t\t\t\tpackage: pkg,\n\t\t\t\tclassName: registration.className,\n\t\t\t\timportAs,\n\t\t\t\tnameReadable: registration.className,\n\t\t\t\tpascalType: namesUtil.toPascal(registration.type),\n\t\t\t\tcamelType: namesUtil.toCamel(registration.type),\n\t\t\t\tisLocal: field.isLocal,\n\t\t\t\tdescription: registration.description,\n\t\t\t\tvalueTypeMapper: registration.valueTypeMapper,\n\t\t\t}\n\n\t\t\tgeneratedImportAsCount++\n\n\t\t\ttemplateItems.push(item)\n\t\t}\n\n\t\treturn templateItems\n\t}\n}\n"],"file":"FieldTemplateItemBuilder.js"}
1
+ {"version":3,"file":"FieldTemplateItemBuilder.js","names":["FieldTemplateItemBuilder","fields","templateItems","generatedImportAsCount","field","registration","name","className","pkg","importAs","isLocal","item","namePascal","namesUtil","toPascal","nameCamel","toCamel","nameReadable","pascalType","type","camelType","description","valueTypeMapper","push"],"sources":["../../src/templateItemBuilders/FieldTemplateItemBuilder.ts"],"sourcesContent":["import { FieldTemplateItem } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { FetchedField } from '../features/schema/stores/SchemaStore'\n\nexport default class FieldTemplateItemBuilder {\n\tpublic generateTemplateItems(fields: FetchedField[]) {\n\t\tconst templateItems: FieldTemplateItem[] = []\n\t\tlet generatedImportAsCount = 0\n\n\t\tfor (let field of fields) {\n\t\t\tconst { registration } = field\n\t\t\tconst name = registration.className\n\t\t\tlet pkg = registration.package\n\t\t\tlet importAs = registration.importAs\n\n\t\t\tif (field.isLocal) {\n\t\t\t\tpkg = `#spruce/../fields/${registration.className}`\n\t\t\t\timportAs = `generated_import_${generatedImportAsCount++}`\n\t\t\t}\n\n\t\t\tconst item: FieldTemplateItem = {\n\t\t\t\tnamePascal: namesUtil.toPascal(name),\n\t\t\t\tnameCamel: namesUtil.toCamel(name),\n\t\t\t\tpackage: pkg,\n\t\t\t\tclassName: registration.className,\n\t\t\t\timportAs,\n\t\t\t\tnameReadable: registration.className,\n\t\t\t\tpascalType: namesUtil.toPascal(registration.type),\n\t\t\t\tcamelType: namesUtil.toCamel(registration.type),\n\t\t\t\tisLocal: field.isLocal,\n\t\t\t\tdescription: registration.description,\n\t\t\t\tvalueTypeMapper: registration.valueTypeMapper,\n\t\t\t}\n\n\t\t\tgeneratedImportAsCount++\n\n\t\t\ttemplateItems.push(item)\n\t\t}\n\n\t\treturn templateItems\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AACA;;;;;;;;IAGqBA,wB;;;;;;;WACpB,+BAA6BC,MAA7B,EAAqD;MACpD,IAAMC,aAAkC,GAAG,EAA3C;MACA,IAAIC,sBAAsB,GAAG,CAA7B;;MAFoD,2CAIlCF,MAJkC;MAAA;;MAAA;QAIpD,oDAA0B;UAAA,IAAjBG,KAAiB;UACzB,IAAQC,YAAR,GAAyBD,KAAzB,CAAQC,YAAR;UACA,IAAMC,IAAI,GAAGD,YAAY,CAACE,SAA1B;UACA,IAAIC,GAAG,GAAGH,YAAY,WAAtB;UACA,IAAII,QAAQ,GAAGJ,YAAY,CAACI,QAA5B;;UAEA,IAAIL,KAAK,CAACM,OAAV,EAAmB;YAClBF,GAAG,+BAAwBH,YAAY,CAACE,SAArC,CAAH;YACAE,QAAQ,8BAAuBN,sBAAsB,EAA7C,CAAR;UACA;;UAED,IAAMQ,IAAuB,GAAG;YAC/BC,UAAU,EAAEC,4BAAUC,QAAV,CAAmBR,IAAnB,CADmB;YAE/BS,SAAS,EAAEF,4BAAUG,OAAV,CAAkBV,IAAlB,CAFoB;YAG/B,WAASE,GAHsB;YAI/BD,SAAS,EAAEF,YAAY,CAACE,SAJO;YAK/BE,QAAQ,EAARA,QAL+B;YAM/BQ,YAAY,EAAEZ,YAAY,CAACE,SANI;YAO/BW,UAAU,EAAEL,4BAAUC,QAAV,CAAmBT,YAAY,CAACc,IAAhC,CAPmB;YAQ/BC,SAAS,EAAEP,4BAAUG,OAAV,CAAkBX,YAAY,CAACc,IAA/B,CARoB;YAS/BT,OAAO,EAAEN,KAAK,CAACM,OATgB;YAU/BW,WAAW,EAAEhB,YAAY,CAACgB,WAVK;YAW/BC,eAAe,EAAEjB,YAAY,CAACiB;UAXC,CAAhC;UAcAnB,sBAAsB;UAEtBD,aAAa,CAACqB,IAAd,CAAmBZ,IAAnB;QACA;MAhCmD;QAAA;MAAA;QAAA;MAAA;;MAkCpD,OAAOT,aAAP;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/templateItemBuilders/SchemaTemplateItemBuilder.ts"],"names":["SchemaTemplateItemBuilder","localNamespace","schemasByNamespace","destinationDir","schemas","namespaces","Object","keys","namespace","push","map","s","flattenSchemas","flattened","values","schemasByKey","sorted","sort","a","b","doesADependOnB","reverse","schemaTemplateItems","buildTemplateItem","dependencies","idWithVersion","schema","find","dep","forEach","def","flattenSchema","isNested","localSchema","namedFields","pluckFields","field","name","type","schemasOrIdsWithVersion","SchemaField","mapFieldDefinitionToSchemasOrIdsWithVersion","originalOptions","options","schemaId","schemaIds","schemaOrId","related","version","moduleToImportFromWhenRemote","relatedIdWithVersion","length","SpruceError","code","id","schemaNamespace","fieldName","fieldOptions","key","schemaUtil","generateCacheKey","fields","dynamicFieldSignature","dynamicField","importFrom","getImportFromForSchema","item","generateNamesForSchema","toLowerCase","importsWhenLocal","imports","importsWhenRemote","match","CORE_NAMESPACE","undefined"],"mappings":"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","sourcesContent":["import {\n\tSchema,\n\tSchemaTemplateItem,\n\tSchemaField,\n\tSchemaIdWithVersion,\n\tnormalizeSchemaToIdWithVersion,\n\tisIdWithVersion,\n} from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport cloneDeep from 'lodash/cloneDeep'\nimport isEqual from 'lodash/isEqual'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport { SchemasByNamespace } from '../features/schema/stores/SchemaStore'\nimport schemaUtil from '../features/schema/utilities/schema.utility'\n\ninterface SchemaWithDependencies {\n\tschema: Schema\n\tdependencies: SchemaIdWithVersion[]\n\tisNested: boolean\n}\n\nexport default class SchemaTemplateItemBuilder {\n\tprivate schemasByKey: Record<string, SchemaWithDependencies> = {}\n\tprivate localNamespace: string\n\n\tpublic constructor(localNamespace: string) {\n\t\tthis.localNamespace = localNamespace\n\t}\n\n\tpublic buildTemplateItems(\n\t\tschemasByNamespace: SchemasByNamespace,\n\t\tdestinationDir = '#spruce/schemas'\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tconst namespaces = Object.keys(schemasByNamespace)\n\n\t\tfor (const namespace of namespaces) {\n\t\t\tschemas.push(\n\t\t\t\t...schemasByNamespace[namespace].map((s) => ({ namespace, ...s }))\n\t\t\t)\n\t\t}\n\n\t\tthis.flattenSchemas(schemas)\n\n\t\tconst flattened = Object.values(this.schemasByKey)\n\t\tconst sorted = flattened\n\t\t\t.sort((a, b) => {\n\t\t\t\tif (this.doesADependOnB(a, b)) {\n\t\t\t\t\treturn -1\n\t\t\t\t} else if (this.doesADependOnB(b, a)) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t\t})\n\t\t\t.reverse()\n\n\t\tconst schemaTemplateItems = sorted.map((s) =>\n\t\t\tthis.buildTemplateItem({\n\t\t\t\t...s,\n\t\t\t\tdestinationDir,\n\t\t\t})\n\t\t)\n\n\t\treturn schemaTemplateItems\n\t}\n\n\tprivate doesADependOnB(a: SchemaWithDependencies, b: SchemaWithDependencies) {\n\t\tconst { dependencies } = a\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(b.schema)\n\n\t\tif (dependencies.find((dep) => isEqual(dep, idWithVersion))) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate flattenSchemas(schemas: Schema[]) {\n\t\tschemas.forEach((def) => {\n\t\t\tthis.flattenSchema(def)\n\t\t})\n\t}\n\n\tprivate flattenSchema(schema: Schema, isNested = false) {\n\t\tconst localSchema = cloneDeep(schema)\n\n\t\tconst namedFields = this.pluckFields(localSchema)\n\t\tconst dependencies: SchemaIdWithVersion[] = []\n\n\t\tnamedFields.forEach(({ field, name }) => {\n\t\t\tif (field.type === 'schema') {\n\t\t\t\tconst schemasOrIdsWithVersion =\n\t\t\t\t\tSchemaField.mapFieldDefinitionToSchemasOrIdsWithVersion(field)\n\n\t\t\t\tconst { ...originalOptions } = field.options\n\t\t\t\tdelete field.options.schema\n\t\t\t\tdelete field.options.schemaId\n\t\t\t\tdelete field.options.schemaIds\n\t\t\t\tdelete field.options.schemas\n\t\t\t\tfield.options.schemaIds = []\n\n\t\t\t\tschemasOrIdsWithVersion.forEach((schemaOrId) => {\n\t\t\t\t\tconst related = { ...schemaOrId }\n\n\t\t\t\t\tif (localSchema.version && !related.version) {\n\t\t\t\t\t\trelated.version = localSchema.version\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!related.namespace) {\n\t\t\t\t\t\trelated.namespace = schema.namespace\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tlocalSchema.moduleToImportFromWhenRemote &&\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\t!related.moduleToImportFromWhenRemote &&\n\t\t\t\t\t\t!isIdWithVersion(related)\n\t\t\t\t\t) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\trelated.moduleToImportFromWhenRemote =\n\t\t\t\t\t\t\tlocalSchema.moduleToImportFromWhenRemote\n\t\t\t\t\t}\n\n\t\t\t\t\tconst relatedIdWithVersion = normalizeSchemaToIdWithVersion(related)\n\n\t\t\t\t\tfield.options.schemaIds?.push(relatedIdWithVersion)\n\t\t\t\t\tdependencies.push(relatedIdWithVersion)\n\n\t\t\t\t\tthis.flattenSchema(related, true)\n\t\t\t\t})\n\n\t\t\t\tif (field.options.schemaIds.length === 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED',\n\t\t\t\t\t\tschemaId: schema.id,\n\t\t\t\t\t\tschemaNamespace: schema.namespace as string,\n\t\t\t\t\t\tfieldName: name,\n\t\t\t\t\t\tfieldOptions: originalOptions,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst key = schemaUtil.generateCacheKey(localSchema)\n\t\tthis.schemasByKey[key] = merge(this.schemasByKey[key] ?? {}, {\n\t\t\tschema: localSchema,\n\t\t\tdependencies,\n\t\t\tisNested: this.schemasByKey[key]?.isNested === false ? false : isNested,\n\t\t})\n\t}\n\n\tprivate pluckFields(localSchema: Schema) {\n\t\tconst fields = localSchema.dynamicFieldSignature\n\t\t\t? { dynamicField: localSchema.dynamicFieldSignature }\n\t\t\t: localSchema.fields ?? {}\n\n\t\tconst namedFields = Object.keys(fields).map((name) => ({\n\t\t\tname,\n\t\t\tfield: fields[name],\n\t\t}))\n\t\treturn namedFields\n\t}\n\n\tprivate buildTemplateItem(options: {\n\t\tschema: Schema\n\t\tisNested: boolean\n\t\tdestinationDir: string\n\t}): SchemaTemplateItem {\n\t\tconst { schema, isNested, destinationDir } = options\n\t\tconst namespace = schema.namespace ?? this.localNamespace\n\n\t\tconst importFrom = this.getImportFromForSchema(schema)\n\t\tconst item: SchemaTemplateItem = {\n\t\t\tid: schema.id,\n\t\t\tnamespace,\n\t\t\tschema,\n\t\t\t...schemaUtil.generateNamesForSchema(schema),\n\t\t\tisNested,\n\t\t\tdestinationDir,\n\t\t}\n\n\t\tif (importFrom) {\n\t\t\titem.importFrom = importFrom\n\t\t}\n\n\t\tif (\n\t\t\tnamespace.toLowerCase() === this.localNamespace.toLowerCase() &&\n\t\t\tschema.importsWhenLocal\n\t\t) {\n\t\t\titem.imports = [...schema.importsWhenLocal]\n\t\t} else if (\n\t\t\tnamespace.toLowerCase() !== this.localNamespace.toLowerCase() &&\n\t\t\tschema.importsWhenRemote\n\t\t) {\n\t\t\titem.imports = [...schema.importsWhenRemote]\n\t\t}\n\n\t\tconst namedFields = this.pluckFields(schema)\n\n\t\tfor (const { field } of namedFields) {\n\t\t\tif (field.type === 'schema') {\n\t\t\t\tfield.options.schemaIds?.forEach((idWithVersion) => {\n\t\t\t\t\tconst key = schemaUtil.generateCacheKey(idWithVersion)\n\t\t\t\t\tconst match = this.schemasByKey[key]\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tmatch.schema.importsWhenRemote &&\n\t\t\t\t\t\tmatch.schema.namespace &&\n\t\t\t\t\t\tmatch.schema.namespace.toLowerCase() !==\n\t\t\t\t\t\t\tthis.localNamespace.toLowerCase()\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!item.imports) {\n\t\t\t\t\t\t\titem.imports = []\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titem.imports.push(...match.schema.importsWhenRemote)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn item\n\t}\n\n\tprivate getImportFromForSchema(schema: Schema): string | undefined {\n\t\tif (\n\t\t\tschema.moduleToImportFromWhenRemote &&\n\t\t\tschema.namespace !== this.localNamespace\n\t\t) {\n\t\t\treturn schema.moduleToImportFromWhenRemote\n\t\t}\n\t\tswitch (schema.namespace) {\n\t\t\tcase CORE_NAMESPACE:\n\t\t\t\tif (this.localNamespace !== CORE_NAMESPACE) {\n\t\t\t\t\treturn '@sprucelabs/spruce-core-schemas'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn undefined\n\t}\n}\n"],"file":"SchemaTemplateItemBuilder.js"}
1
+ {"version":3,"file":"SchemaTemplateItemBuilder.js","names":["SchemaTemplateItemBuilder","localNamespace","schemasByNamespace","destinationDir","schemas","namespaces","Object","keys","namespace","push","map","s","flattenSchemas","flattened","values","schemasByKey","sorted","sort","a","b","doesADependOnB","reverse","schemaTemplateItems","buildTemplateItem","dependencies","idWithVersion","schema","find","dep","forEach","def","flattenSchema","isNested","localSchema","namedFields","pluckFields","field","name","type","schemasOrIdsWithVersion","SchemaField","mapFieldDefinitionToSchemasOrIdsWithVersion","originalOptions","options","schemaId","schemaIds","schemaOrId","related","version","moduleToImportFromWhenRemote","relatedIdWithVersion","length","SpruceError","code","id","schemaNamespace","fieldName","fieldOptions","key","schemaUtil","generateCacheKey","fields","dynamicFieldSignature","dynamicField","importFrom","getImportFromForSchema","item","generateNamesForSchema","toLowerCase","importsWhenLocal","imports","importsWhenRemote","match","CORE_NAMESPACE","undefined"],"sources":["../../src/templateItemBuilders/SchemaTemplateItemBuilder.ts"],"sourcesContent":["import {\n\tSchema,\n\tSchemaTemplateItem,\n\tSchemaField,\n\tSchemaIdWithVersion,\n\tnormalizeSchemaToIdWithVersion,\n\tisIdWithVersion,\n} from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport cloneDeep from 'lodash/cloneDeep'\nimport isEqual from 'lodash/isEqual'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport { SchemasByNamespace } from '../features/schema/stores/SchemaStore'\nimport schemaUtil from '../features/schema/utilities/schema.utility'\n\ninterface SchemaWithDependencies {\n\tschema: Schema\n\tdependencies: SchemaIdWithVersion[]\n\tisNested: boolean\n}\n\nexport default class SchemaTemplateItemBuilder {\n\tprivate schemasByKey: Record<string, SchemaWithDependencies> = {}\n\tprivate localNamespace: string\n\n\tpublic constructor(localNamespace: string) {\n\t\tthis.localNamespace = localNamespace\n\t}\n\n\tpublic buildTemplateItems(\n\t\tschemasByNamespace: SchemasByNamespace,\n\t\tdestinationDir = '#spruce/schemas'\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tconst namespaces = Object.keys(schemasByNamespace)\n\n\t\tfor (const namespace of namespaces) {\n\t\t\tschemas.push(\n\t\t\t\t...schemasByNamespace[namespace].map((s) => ({ namespace, ...s }))\n\t\t\t)\n\t\t}\n\n\t\tthis.flattenSchemas(schemas)\n\n\t\tconst flattened = Object.values(this.schemasByKey)\n\t\tconst sorted = flattened\n\t\t\t.sort((a, b) => {\n\t\t\t\tif (this.doesADependOnB(a, b)) {\n\t\t\t\t\treturn -1\n\t\t\t\t} else if (this.doesADependOnB(b, a)) {\n\t\t\t\t\treturn 1\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t\t})\n\t\t\t.reverse()\n\n\t\tconst schemaTemplateItems = sorted.map((s) =>\n\t\t\tthis.buildTemplateItem({\n\t\t\t\t...s,\n\t\t\t\tdestinationDir,\n\t\t\t})\n\t\t)\n\n\t\treturn schemaTemplateItems\n\t}\n\n\tprivate doesADependOnB(a: SchemaWithDependencies, b: SchemaWithDependencies) {\n\t\tconst { dependencies } = a\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(b.schema)\n\n\t\tif (dependencies.find((dep) => isEqual(dep, idWithVersion))) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate flattenSchemas(schemas: Schema[]) {\n\t\tschemas.forEach((def) => {\n\t\t\tthis.flattenSchema(def)\n\t\t})\n\t}\n\n\tprivate flattenSchema(schema: Schema, isNested = false) {\n\t\tconst localSchema = cloneDeep(schema)\n\n\t\tconst namedFields = this.pluckFields(localSchema)\n\t\tconst dependencies: SchemaIdWithVersion[] = []\n\n\t\tnamedFields.forEach(({ field, name }) => {\n\t\t\tif (field.type === 'schema') {\n\t\t\t\tconst schemasOrIdsWithVersion =\n\t\t\t\t\tSchemaField.mapFieldDefinitionToSchemasOrIdsWithVersion(field)\n\n\t\t\t\tconst { ...originalOptions } = field.options\n\t\t\t\tdelete field.options.schema\n\t\t\t\tdelete field.options.schemaId\n\t\t\t\tdelete field.options.schemaIds\n\t\t\t\tdelete field.options.schemas\n\t\t\t\tfield.options.schemaIds = []\n\n\t\t\t\tschemasOrIdsWithVersion.forEach((schemaOrId) => {\n\t\t\t\t\tconst related = { ...schemaOrId }\n\n\t\t\t\t\tif (localSchema.version && !related.version) {\n\t\t\t\t\t\trelated.version = localSchema.version\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!related.namespace) {\n\t\t\t\t\t\trelated.namespace = schema.namespace\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tlocalSchema.moduleToImportFromWhenRemote &&\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\t!related.moduleToImportFromWhenRemote &&\n\t\t\t\t\t\t!isIdWithVersion(related)\n\t\t\t\t\t) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\trelated.moduleToImportFromWhenRemote =\n\t\t\t\t\t\t\tlocalSchema.moduleToImportFromWhenRemote\n\t\t\t\t\t}\n\n\t\t\t\t\tconst relatedIdWithVersion = normalizeSchemaToIdWithVersion(related)\n\n\t\t\t\t\tfield.options.schemaIds?.push(relatedIdWithVersion)\n\t\t\t\t\tdependencies.push(relatedIdWithVersion)\n\n\t\t\t\t\tthis.flattenSchema(related, true)\n\t\t\t\t})\n\n\t\t\t\tif (field.options.schemaIds.length === 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED',\n\t\t\t\t\t\tschemaId: schema.id,\n\t\t\t\t\t\tschemaNamespace: schema.namespace as string,\n\t\t\t\t\t\tfieldName: name,\n\t\t\t\t\t\tfieldOptions: originalOptions,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst key = schemaUtil.generateCacheKey(localSchema)\n\t\tthis.schemasByKey[key] = merge(this.schemasByKey[key] ?? {}, {\n\t\t\tschema: localSchema,\n\t\t\tdependencies,\n\t\t\tisNested: this.schemasByKey[key]?.isNested === false ? false : isNested,\n\t\t})\n\t}\n\n\tprivate pluckFields(localSchema: Schema) {\n\t\tconst fields = localSchema.dynamicFieldSignature\n\t\t\t? { dynamicField: localSchema.dynamicFieldSignature }\n\t\t\t: localSchema.fields ?? {}\n\n\t\tconst namedFields = Object.keys(fields).map((name) => ({\n\t\t\tname,\n\t\t\tfield: fields[name],\n\t\t}))\n\t\treturn namedFields\n\t}\n\n\tprivate buildTemplateItem(options: {\n\t\tschema: Schema\n\t\tisNested: boolean\n\t\tdestinationDir: string\n\t}): SchemaTemplateItem {\n\t\tconst { schema, isNested, destinationDir } = options\n\t\tconst namespace = schema.namespace ?? this.localNamespace\n\n\t\tconst importFrom = this.getImportFromForSchema(schema)\n\t\tconst item: SchemaTemplateItem = {\n\t\t\tid: schema.id,\n\t\t\tnamespace,\n\t\t\tschema,\n\t\t\t...schemaUtil.generateNamesForSchema(schema),\n\t\t\tisNested,\n\t\t\tdestinationDir,\n\t\t}\n\n\t\tif (importFrom) {\n\t\t\titem.importFrom = importFrom\n\t\t}\n\n\t\tif (\n\t\t\tnamespace.toLowerCase() === this.localNamespace.toLowerCase() &&\n\t\t\tschema.importsWhenLocal\n\t\t) {\n\t\t\titem.imports = [...schema.importsWhenLocal]\n\t\t} else if (\n\t\t\tnamespace.toLowerCase() !== this.localNamespace.toLowerCase() &&\n\t\t\tschema.importsWhenRemote\n\t\t) {\n\t\t\titem.imports = [...schema.importsWhenRemote]\n\t\t}\n\n\t\tconst namedFields = this.pluckFields(schema)\n\n\t\tfor (const { field } of namedFields) {\n\t\t\tif (field.type === 'schema') {\n\t\t\t\tfield.options.schemaIds?.forEach((idWithVersion) => {\n\t\t\t\t\tconst key = schemaUtil.generateCacheKey(idWithVersion)\n\t\t\t\t\tconst match = this.schemasByKey[key]\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tmatch.schema.importsWhenRemote &&\n\t\t\t\t\t\tmatch.schema.namespace &&\n\t\t\t\t\t\tmatch.schema.namespace.toLowerCase() !==\n\t\t\t\t\t\t\tthis.localNamespace.toLowerCase()\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!item.imports) {\n\t\t\t\t\t\t\titem.imports = []\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titem.imports.push(...match.schema.importsWhenRemote)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn item\n\t}\n\n\tprivate getImportFromForSchema(schema: Schema): string | undefined {\n\t\tif (\n\t\t\tschema.moduleToImportFromWhenRemote &&\n\t\t\tschema.namespace !== this.localNamespace\n\t\t) {\n\t\t\treturn schema.moduleToImportFromWhenRemote\n\t\t}\n\t\tswitch (schema.namespace) {\n\t\t\tcase CORE_NAMESPACE:\n\t\t\t\tif (this.localNamespace !== CORE_NAMESPACE) {\n\t\t\t\t\treturn '@sprucelabs/spruce-core-schemas'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn undefined\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractCliTest.ts"],"names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","emitter","undefined","featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearMockResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupTestSkillDirs","FeatureFixture","deleteOldSkillDirs","pattern","resolveTestPath","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","getEmitter","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","getFeatureInstaller","MercuryFixture","PersonFixture","writerFactory","WriterFactory","viewWriter","Writer","fileDescriptions","ViewFixture","Action","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","checker","check","path","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","ActionFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tStoreFactoryMethodOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis.emitter = undefined\n\t\tthis.featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearMockResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis.emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static getEmitter() {\n\t\tif (!this.emitter) {\n\t\t\tthis.emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this.emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\tconst emitter = options?.emitter ?? this.getEmitter()\n\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.getFeatureInstaller({ emitter }),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst writerFactory = this.WriterFactory()\n\n\t\t\tconst viewWriter = writerFactory.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static getFeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tif (!this.featureInstaller) {\n\t\t\tconst serviceFactory = this.ServiceFactory()\n\t\t\tconst storeFactory = this.StoreFactory(options)\n\t\t\tconst emitter = this.getEmitter()\n\t\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\t\tthis.featureInstaller = FeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tserviceFactory,\n\t\t\t\tstoreFactory,\n\t\t\t\tui: this.ui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t\t...options,\n\t\t\t})\n\t\t}\n\n\t\treturn this.featureInstaller\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.getEmitter(),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: StoreFactoryMethodOptions\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\t\tconst isInstalled = await featureInstaller.isInstalled(code)\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tconst checker = this.Service('typeChecker')\n\t\t\tawait checker.check(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst writerFactory = this.WriterFactory()\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.getFeatureInstaller()\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n"],"file":"AbstractCliTest.js"}
1
+ {"version":3,"file":"AbstractCliTest.js","names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","emitter","undefined","featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearMockResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupTestSkillDirs","FeatureFixture","deleteOldSkillDirs","pattern","resolveTestPath","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","getEmitter","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","getFeatureInstaller","MercuryFixture","PersonFixture","writerFactory","WriterFactory","viewWriter","Writer","fileDescriptions","ViewFixture","Action","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","checker","check","path","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","ActionFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"sources":["../../src/tests/AbstractCliTest.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tStoreFactoryMethodOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis.emitter = undefined\n\t\tthis.featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearMockResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis.emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static getEmitter() {\n\t\tif (!this.emitter) {\n\t\t\tthis.emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this.emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\tconst emitter = options?.emitter ?? this.getEmitter()\n\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.getFeatureInstaller({ emitter }),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst writerFactory = this.WriterFactory()\n\n\t\t\tconst viewWriter = writerFactory.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static getFeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tif (!this.featureInstaller) {\n\t\t\tconst serviceFactory = this.ServiceFactory()\n\t\t\tconst storeFactory = this.StoreFactory(options)\n\t\t\tconst emitter = this.getEmitter()\n\t\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\t\tthis.featureInstaller = FeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tserviceFactory,\n\t\t\t\tstoreFactory,\n\t\t\t\tui: this.ui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t\t...options,\n\t\t\t})\n\t\t}\n\n\t\treturn this.featureInstaller\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.getEmitter(),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: StoreFactoryMethodOptions\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\t\tconst isInstalled = await featureInstaller.isInstalled(code)\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tconst checker = this.Service('typeChecker')\n\t\t\tawait checker.check(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst writerFactory = this.WriterFactory()\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.getFeatureInstaller()\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractErrorTest.ts"],"names":["AbstractErrorTest","resolveHashSprucePath","cacheKey","fixture","FeatureFixture","installFeatures","code","options","name","description","cli","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IAE8BA,iB;;;;;;;;;;;;SAC7B,eAAsC;AACrC,aAAO,KAAKC,qBAAL,CAA2B,QAA3B,EAAqC,iBAArC,CAAP;AACA;;;;+GAED,iBAA2CC,QAA3C;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,OADP,GACiB,KAAKC,cAAL,EADjB;AAAA;AAAA,uBAEmBD,OAAO,CAACE,eAAR,CACjB,CACC;AACCC,kBAAAA,IAAI,EAAE,OADP;AAECC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAE,gBADE;AAERC,oBAAAA,WAAW,EAAE;AAFL;AAFV,iBADD,EAQC;AACCH,kBAAAA,IAAI,EAAE;AADP,iBARD,CADiB,EAajBJ,QAbiB,CAFnB;;AAAA;AAEOQ,gBAAAA,GAFP;AAAA,iDAkBQA,GAlBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALuDC,4B","sourcesContent":["import AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractErrorTest extends AbstractCliTest {\n\tprotected static get errorTypesFile() {\n\t\treturn this.resolveHashSprucePath('errors', 'errors.types.ts')\n\t}\n\n\tprotected static async installErrorFeature(cacheKey?: string) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.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: 'testing errors',\n\t\t\t\t\t\tdescription: 'this is also a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'error',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey\n\t\t)\n\n\t\treturn cli\n\t}\n}\n"],"file":"AbstractErrorTest.js"}
1
+ {"version":3,"file":"AbstractErrorTest.js","names":["AbstractErrorTest","resolveHashSprucePath","cacheKey","fixture","FeatureFixture","installFeatures","code","options","name","description","cli","AbstractCliTest"],"sources":["../../src/tests/AbstractErrorTest.ts"],"sourcesContent":["import AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractErrorTest extends AbstractCliTest {\n\tprotected static get errorTypesFile() {\n\t\treturn this.resolveHashSprucePath('errors', 'errors.types.ts')\n\t}\n\n\tprotected static async installErrorFeature(cacheKey?: string) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.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: 'testing errors',\n\t\t\t\t\t\tdescription: 'this is also a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'error',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey\n\t\t)\n\n\t\treturn cli\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;IAE8BA,iB;;;;;;;;;;;;SAC7B,eAAsC;MACrC,OAAO,KAAKC,qBAAL,CAA2B,QAA3B,EAAqC,iBAArC,CAAP;IACA;;;;+GAED,iBAA2CC,QAA3C;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,OADP,GACiB,KAAKC,cAAL,EADjB;gBAAA;gBAAA,OAEmBD,OAAO,CAACE,eAAR,CACjB,CACC;kBACCC,IAAI,EAAE,OADP;kBAECC,OAAO,EAAE;oBACRC,IAAI,EAAE,gBADE;oBAERC,WAAW,EAAE;kBAFL;gBAFV,CADD,EAQC;kBACCH,IAAI,EAAE;gBADP,CARD,CADiB,EAajBJ,QAbiB,CAFnB;;cAAA;gBAEOQ,GAFP;gBAAA,iCAkBQA,GAlBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALuDC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractEventTest.ts"],"names":["AbstractEventTest","cacheKey","fixture","FeatureFixture","installFeatures","code","options","name","description","cli","registerCurrentSkillAndInstallToOrg","results","skillFixture","orgFixture","org","seedDemoSkill","skill2","installSkillAtOrganization","id","cliPromise","installEventFeature","getSkillFixture","getOrganizationFixture","seedDemoOrg","registerCurrentSkill","skill","currentSkill","eventName","source","resolveTestPath","dest","resolvePath","version","versionUtil","latestVersionAtPath","dirValue","diskUtil","deleteDir","copyDir","AbstractCliTest"],"mappings":"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","sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractEventTest extends AbstractCliTest {\n\tprotected static async installEventFeature(cacheKey?: string) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.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: 'testing events',\n\t\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'event',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey\n\t\t)\n\n\t\treturn cli\n\t}\n\n\tprotected static async seedDummySkillRegisterCurrentSkillAndInstallToOrg(\n\t\tcacheKey = 'events'\n\t) {\n\t\tconst results = await this.registerCurrentSkillAndInstallToOrg(cacheKey)\n\n\t\tconst { skillFixture, orgFixture, org } = results\n\n\t\tconst skill2 = await skillFixture.seedDemoSkill({\n\t\t\tname: 'my second skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill2.id, org.id)\n\n\t\treturn { ...results, skill2 }\n\t}\n\n\tprotected static async registerCurrentSkillAndInstallToOrg(\n\t\tcacheKey = 'events'\n\t) {\n\t\tconst cliPromise = this.installEventFeature(cacheKey)\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst orgFixture = this.getOrganizationFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\t\tconst cli = await cliPromise\n\n\t\tconst skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'current skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill.id, org.id)\n\n\t\treturn { skillFixture, currentSkill: skill, cli, org, orgFixture }\n\t}\n\n\tprotected static async copyEventBuildersAndPermissions(eventName: string) {\n\t\tconst source = this.resolveTestPath('event_with_emit_and_response_payloads')\n\t\tlet dest = this.resolvePath('src', 'events', eventName)\n\t\tconst version = versionUtil.latestVersionAtPath(dest)\n\t\tdest = this.resolvePath(dest, version.dirValue)\n\t\tdiskUtil.deleteDir(dest)\n\n\t\tawait diskUtil.copyDir(source, dest)\n\t}\n}\n"],"file":"AbstractEventTest.js"}
1
+ {"version":3,"file":"AbstractEventTest.js","names":["AbstractEventTest","cacheKey","fixture","FeatureFixture","installFeatures","code","options","name","description","cli","registerCurrentSkillAndInstallToOrg","results","skillFixture","orgFixture","org","seedDemoSkill","skill2","installSkillAtOrganization","id","cliPromise","installEventFeature","getSkillFixture","getOrganizationFixture","seedDemoOrg","registerCurrentSkill","skill","currentSkill","eventName","source","resolveTestPath","dest","resolvePath","version","versionUtil","latestVersionAtPath","dirValue","diskUtil","deleteDir","copyDir","AbstractCliTest"],"sources":["../../src/tests/AbstractEventTest.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractEventTest extends AbstractCliTest {\n\tprotected static async installEventFeature(cacheKey?: string) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.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: 'testing events',\n\t\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'event',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey\n\t\t)\n\n\t\treturn cli\n\t}\n\n\tprotected static async seedDummySkillRegisterCurrentSkillAndInstallToOrg(\n\t\tcacheKey = 'events'\n\t) {\n\t\tconst results = await this.registerCurrentSkillAndInstallToOrg(cacheKey)\n\n\t\tconst { skillFixture, orgFixture, org } = results\n\n\t\tconst skill2 = await skillFixture.seedDemoSkill({\n\t\t\tname: 'my second skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill2.id, org.id)\n\n\t\treturn { ...results, skill2 }\n\t}\n\n\tprotected static async registerCurrentSkillAndInstallToOrg(\n\t\tcacheKey = 'events'\n\t) {\n\t\tconst cliPromise = this.installEventFeature(cacheKey)\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst orgFixture = this.getOrganizationFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\t\tconst cli = await cliPromise\n\n\t\tconst skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'current skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill.id, org.id)\n\n\t\treturn { skillFixture, currentSkill: skill, cli, org, orgFixture }\n\t}\n\n\tprotected static async copyEventBuildersAndPermissions(eventName: string) {\n\t\tconst source = this.resolveTestPath('event_with_emit_and_response_payloads')\n\t\tlet dest = this.resolvePath('src', 'events', eventName)\n\t\tconst version = versionUtil.latestVersionAtPath(dest)\n\t\tdest = this.resolvePath(dest, version.dirValue)\n\t\tdiskUtil.deleteDir(dest)\n\n\t\tawait diskUtil.copyDir(source, dest)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractSchemaTest.ts"],"names":["AbstractSchemaTest","resolveHashSprucePath","cacheKey","syncOptions","installSchemaFeature","cli","Action","execute","schemas","expected","map","schema","id","name","version","CORE_SCHEMA_VERSION","constValue","namespace","description","expectedJSon","JSON","stringify","cleanedExpected","parse","sortSchemas","sort","a","b","bootOptions","fixture","FeatureFixture","installFeatures","code","options","graphicsInterface","ui","expectedHealth","skill","status","expectedInstalledSkills","Cli","linkLocalPackages","checkHealth","health","assert","isEqualDeep","packageContents","diskUtil","readFile","resolvePath","doesInclude","installer","getFeatureInstaller","isInstalled","isTrue","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAMA;;AAGA;;;;;;;;;;;;;;;;IAE8BA,kB;;;;;;;;;;;;SAC7B,eAAuC;AACtC,aAAO,KAAKC,qBAAL,CAA2B,SAA3B,EAAsC,kBAAtC,CAAP;AACA;;;SAED,eAA2C;AAC1C,aAAO,KAAKA,qBAAL,CAA2B,SAA3B,EAAsC,uBAAtC,CAAP;AACA;;;;uGAED,iBAAmCC,QAAnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsDC,gBAAAA,WAAtD,2DAAoE,EAApE;AAAA;AAAA,uBACmB,KAAKC,oBAAL,CAA0BF,QAA1B,CADnB;;AAAA;AACOG,gBAAAA,GADP;AAAA;AAAA,uBAGO,KAAKC,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsCJ,WAAtC,CAHP;;AAAA;AAAA,iDAKQE,GALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAQA,uCAA+CG,OAA/C,EAAkE;AACjE,UAAMC,QAAQ,GAAGD,OAAO,CAACE,GAAR,CAAY,UAACC,MAAD;AAAA;;AAAA,eAAa;AACzC;AACAC,UAAAA,EAAE,EAAED,MAAM,CAACC,EAF8B;AAGzC;AACAC,UAAAA,IAAI,EAAEF,MAAM,CAACE,IAJ4B;AAKzCC,UAAAA,OAAO,qBAAEH,MAAM,CAACG,OAAT,6DAAoBC,sCAAoBC,UALN;AAMzCC,UAAAA,SAAS,EAAEN,MAAM,CAACM,SANuB;AAOzC;AACAC,UAAAA,WAAW,EAAEP,MAAM,CAACO;AARqB,SAAb;AAAA,OAAZ,CAAjB;AAWA,UAAMC,YAAY,GAAGC,IAAI,CAACC,SAAL,CAAeZ,QAAf,CAArB;AACA,UAAMa,eAAe,GAAGF,IAAI,CAACG,KAAL,CAAWJ,YAAX,CAAxB;AAEA,aAAO,KAAKK,WAAL,CAAiBF,eAAjB,CAAP;AACA;;;WAED,qBAA6Bd,OAA7B,EAAgD;AAC/C,aAAOA,OAAO,CAACiB,IAAR,CAAa,UAACC,CAAD,EAAIC,CAAJ;AAAA,eAAWD,CAAC,CAACd,EAAF,GAAOe,CAAC,CAACf,EAAT,GAAc,CAAC,CAAf,GAAmB,CAA9B;AAAA,OAAb,CAAP;AACA;;;;gHAED,kBACCV,QADD,EAEC0B,WAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAIOC,gBAAAA,OAJP,GAIiB,KAAKC,cAAL,EAJjB;AAAA;AAAA,uBAMmBD,OAAO,CAACE,eAAR,CACjB,CACC;AACCC,kBAAAA,IAAI,EAAE,OADP;AAECC,kBAAAA,OAAO,EAAE;AACRpB,oBAAAA,IAAI,EAAE,SADE;AAERK,oBAAAA,WAAW,EAAE;AAFL;AAFV,iBADD,EAQC;AACCc,kBAAAA,IAAI,EAAE;AADP,iBARD,CADiB,EAajB9B,QAbiB,kCAcX0B,WAAW,IAAI,EAdJ;AAcSM,kBAAAA,iBAAiB,EAAE,KAAKC;AAdjC,mBANnB;;AAAA;AAMO9B,gBAAAA,GANP;AAAA,kDAuBQA,GAvBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHA0BA,kBACCQ,IADD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAECuB,gBAAAA,cAFD,8DAEsC;AAAEC,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,MAAM,EAAE;AAAV;AAAT,iBAFtC;AAGCC,gBAAAA,uBAHD,8DAG0C,CAAC,OAAD,CAH1C;AAAA;AAAA,uBAKmB,KAAKC,GAAL,EALnB;;AAAA;AAKOnC,gBAAAA,GALP;AAAA;AAAA,uBAMO,KAAKoC,iBAAL,EANP;;AAAA;AAAA;AAAA,uBAQsBpC,GAAG,CAACqC,WAAJ,EARtB;;AAAA;AAQOC,gBAAAA,MARP;;AAUC;AACA,sCAAIA,MAAM,CAAChC,MAAX,2CAAI,eAAeH,OAAnB,EAA4B;AAC3B;AACAmC,kBAAAA,MAAM,CAAChC,MAAP,CAAcH,OAAd,GAAwB,KAAKgB,WAAL,CAAiBmB,MAAM,CAAChC,MAAP,CAAcH,OAA/B,CAAxB;AACA;;AAEDoC,6BAAOC,WAAP,CAAmBF,MAAnB,EAA2BP,cAA3B;;AAEMU,gBAAAA,eAlBP,GAkByBC,2BAASC,QAAT,CAAkB,KAAKC,WAAL,CAAiB,cAAjB,CAAlB,CAlBzB;;AAmBCL,6BAAOM,WAAP,CAAmBJ,eAAnB,EAAoCjC,IAApC;;AAEMsC,gBAAAA,SArBP,GAqBmB,KAAKC,mBAAL,EArBnB;AAAA,uDAuBoBb,uBAvBpB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAuBYP,gBAAAA,IAvBZ;AAAA;AAAA,uBAwB4BmB,SAAS,CAACE,WAAV,CAAsBrB,IAAtB,CAxB5B;;AAAA;AAwBQqB,gBAAAA,WAxBR;;AAyBET,6BAAOU,MAAP,CAAcD,WAAd;;AAzBF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAjEwDE,4B","sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport {\n\tCORE_SCHEMA_VERSION,\n\tdiskUtil,\n\tHealthCheckResults,\n\tSchemaHealthCheckItem,\n} from '@sprucelabs/spruce-skill-utils'\nimport { assert } from '@sprucelabs/test'\nimport { CliBootOptions } from '../cli'\nimport { FeatureCode } from '../features/features.types'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractSchemaTest extends AbstractCliTest {\n\tprotected static get schemaTypesFile() {\n\t\treturn this.resolveHashSprucePath('schemas', 'schemas.types.ts')\n\t}\n\n\tprotected static get coreSchemaTypesFile() {\n\t\treturn this.resolveHashSprucePath('schemas', 'core.schemas.types.ts')\n\t}\n\n\tprotected static async syncSchemas(cacheKey?: string, syncOptions = {}) {\n\t\tconst cli = await this.installSchemaFeature(cacheKey)\n\n\t\tawait this.Action('schema', 'sync').execute(syncOptions)\n\n\t\treturn cli\n\t}\n\n\tprotected static generateExpectedHealthSchemas(schemas: Schema[]) {\n\t\tconst expected = schemas.map((schema) => ({\n\t\t\t// @ts-ignore\n\t\t\tid: schema.id,\n\t\t\t// @ts-ignore\n\t\t\tname: schema.name,\n\t\t\tversion: schema.version ?? CORE_SCHEMA_VERSION.constValue,\n\t\t\tnamespace: schema.namespace,\n\t\t\t// @ts-ignore\n\t\t\tdescription: schema.description,\n\t\t}))\n\n\t\tconst expectedJSon = JSON.stringify(expected)\n\t\tconst cleanedExpected = JSON.parse(expectedJSon)\n\n\t\treturn this.sortSchemas(cleanedExpected) as SchemaHealthCheckItem['schemas']\n\t}\n\n\tprotected static sortSchemas(schemas: Schema[]) {\n\t\treturn schemas.sort((a, b) => (a.id > b.id ? -1 : 1))\n\t}\n\n\tprotected static async installSchemaFeature(\n\t\tcacheKey?: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\tconst fixture = this.FeatureFixture()\n\n\t\tconst cli = await fixture.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: 'testing',\n\t\t\t\t\t\tdescription: 'this is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'schema',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey,\n\t\t\t{ ...(bootOptions || {}), graphicsInterface: this.ui }\n\t\t)\n\n\t\treturn cli\n\t}\n\n\tprotected static async assertHealthySkillNamed(\n\t\tname: string,\n\t\texpectedHealth: HealthCheckResults = { skill: { status: 'passed' } },\n\t\texpectedInstalledSkills: FeatureCode[] = ['skill']\n\t) {\n\t\tconst cli = await this.Cli()\n\t\tawait this.linkLocalPackages()\n\n\t\tconst health = await cli.checkHealth()\n\n\t\t// @ts-ignore\n\t\tif (health.schema?.schemas) {\n\t\t\t//@ts-ignore\n\t\t\thealth.schema.schemas = this.sortSchemas(health.schema.schemas)\n\t\t}\n\n\t\tassert.isEqualDeep(health, expectedHealth)\n\n\t\tconst packageContents = diskUtil.readFile(this.resolvePath('package.json'))\n\t\tassert.doesInclude(packageContents, name)\n\n\t\tconst installer = this.getFeatureInstaller()\n\n\t\tfor (const code of expectedInstalledSkills) {\n\t\t\tconst isInstalled = await installer.isInstalled(code)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n}\n"],"file":"AbstractSchemaTest.js"}
1
+ {"version":3,"file":"AbstractSchemaTest.js","names":["AbstractSchemaTest","resolveHashSprucePath","cacheKey","syncOptions","installSchemaFeature","cli","Action","execute","schemas","expected","map","schema","id","name","version","CORE_SCHEMA_VERSION","constValue","namespace","description","expectedJSon","JSON","stringify","cleanedExpected","parse","sortSchemas","sort","a","b","bootOptions","fixture","FeatureFixture","installFeatures","code","options","graphicsInterface","ui","expectedHealth","skill","status","expectedInstalledSkills","Cli","linkLocalPackages","checkHealth","health","assert","isEqualDeep","packageContents","diskUtil","readFile","resolvePath","doesInclude","installer","getFeatureInstaller","isInstalled","isTrue","AbstractCliTest"],"sources":["../../src/tests/AbstractSchemaTest.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport {\n\tCORE_SCHEMA_VERSION,\n\tdiskUtil,\n\tHealthCheckResults,\n\tSchemaHealthCheckItem,\n} from '@sprucelabs/spruce-skill-utils'\nimport { assert } from '@sprucelabs/test'\nimport { CliBootOptions } from '../cli'\nimport { FeatureCode } from '../features/features.types'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractSchemaTest extends AbstractCliTest {\n\tprotected static get schemaTypesFile() {\n\t\treturn this.resolveHashSprucePath('schemas', 'schemas.types.ts')\n\t}\n\n\tprotected static get coreSchemaTypesFile() {\n\t\treturn this.resolveHashSprucePath('schemas', 'core.schemas.types.ts')\n\t}\n\n\tprotected static async syncSchemas(cacheKey?: string, syncOptions = {}) {\n\t\tconst cli = await this.installSchemaFeature(cacheKey)\n\n\t\tawait this.Action('schema', 'sync').execute(syncOptions)\n\n\t\treturn cli\n\t}\n\n\tprotected static generateExpectedHealthSchemas(schemas: Schema[]) {\n\t\tconst expected = schemas.map((schema) => ({\n\t\t\t// @ts-ignore\n\t\t\tid: schema.id,\n\t\t\t// @ts-ignore\n\t\t\tname: schema.name,\n\t\t\tversion: schema.version ?? CORE_SCHEMA_VERSION.constValue,\n\t\t\tnamespace: schema.namespace,\n\t\t\t// @ts-ignore\n\t\t\tdescription: schema.description,\n\t\t}))\n\n\t\tconst expectedJSon = JSON.stringify(expected)\n\t\tconst cleanedExpected = JSON.parse(expectedJSon)\n\n\t\treturn this.sortSchemas(cleanedExpected) as SchemaHealthCheckItem['schemas']\n\t}\n\n\tprotected static sortSchemas(schemas: Schema[]) {\n\t\treturn schemas.sort((a, b) => (a.id > b.id ? -1 : 1))\n\t}\n\n\tprotected static async installSchemaFeature(\n\t\tcacheKey?: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\tconst fixture = this.FeatureFixture()\n\n\t\tconst cli = await fixture.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: 'testing',\n\t\t\t\t\t\tdescription: 'this is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'schema',\n\t\t\t\t},\n\t\t\t],\n\t\t\tcacheKey,\n\t\t\t{ ...(bootOptions || {}), graphicsInterface: this.ui }\n\t\t)\n\n\t\treturn cli\n\t}\n\n\tprotected static async assertHealthySkillNamed(\n\t\tname: string,\n\t\texpectedHealth: HealthCheckResults = { skill: { status: 'passed' } },\n\t\texpectedInstalledSkills: FeatureCode[] = ['skill']\n\t) {\n\t\tconst cli = await this.Cli()\n\t\tawait this.linkLocalPackages()\n\n\t\tconst health = await cli.checkHealth()\n\n\t\t// @ts-ignore\n\t\tif (health.schema?.schemas) {\n\t\t\t//@ts-ignore\n\t\t\thealth.schema.schemas = this.sortSchemas(health.schema.schemas)\n\t\t}\n\n\t\tassert.isEqualDeep(health, expectedHealth)\n\n\t\tconst packageContents = diskUtil.readFile(this.resolvePath('package.json'))\n\t\tassert.doesInclude(packageContents, name)\n\n\t\tconst installer = this.getFeatureInstaller()\n\n\t\tfor (const code of expectedInstalledSkills) {\n\t\t\tconst isInstalled = await installer.isInstalled(code)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractSkillTest.ts"],"names":["AbstractSkillTest","skillCacheKey","Error","reInstallSkill","cwd","skillDir","Cli","cli","key","freshTmpDir","FeatureFixture","installCachedFeatures","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;IAE8BA,iB;;;;;;;;;;;;;qGAK7B;AAAA;AAAA;AAAA;AAAA;AAAA,oBACM,KAAKC,aADX;AAAA;AAAA;AAAA;;AAAA,sBAEQ,IAAIC,KAAJ,CACL,gEADK,CAFR;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAOO,KAAKC,cAAL,EAPP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sGAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKC,GAAL,GAAW,KAAKC,QAAhB;AAFD;AAAA,uBAGkB,KAAKC,GAAL,EAHlB;;AAAA;AAGC,qBAAKC,GAHN;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0GAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsCC,gBAAAA,GAAtC,8DAA4C,KAAKP,aAAjD;AACC,qBAAKG,GAAL,GAAW,KAAKC,QAAL,GAAgB,KAAKI,WAAL,EAA3B;AADD;AAAA,uBAEkB,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CH,GAA5C,CAFlB;;AAAA;AAEC,qBAAKD,GAFN;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EArBuDK,4B;;;iCAA1BZ,iB;iCAAAA,iB;iCAAAA,iB","sourcesContent":["import { CliInterface } from '../cli'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractSkillTest extends AbstractCliTest {\n\tprotected static skillDir: string\n\tprotected static cli: CliInterface\n\tprotected static skillCacheKey: string\n\n\tprotected static async beforeAll() {\n\t\tif (!this.skillCacheKey) {\n\t\t\tthrow new Error(\n\t\t\t\t\"You must implement `protected static skillCacheKey = 'stores'`\"\n\t\t\t)\n\t\t}\n\t\tawait super.beforeAll()\n\t\tawait this.reInstallSkill()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cwd = this.skillDir\n\t\tthis.cli = await this.Cli()\n\t}\n\n\tprotected static async reInstallSkill(key = this.skillCacheKey) {\n\t\tthis.cwd = this.skillDir = this.freshTmpDir()\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures(key)\n\t}\n}\n"],"file":"AbstractSkillTest.js"}
1
+ {"version":3,"file":"AbstractSkillTest.js","names":["AbstractSkillTest","skillCacheKey","Error","reInstallSkill","cwd","skillDir","Cli","cli","key","freshTmpDir","FeatureFixture","installCachedFeatures","AbstractCliTest"],"sources":["../../src/tests/AbstractSkillTest.ts"],"sourcesContent":["import { CliInterface } from '../cli'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default abstract class AbstractSkillTest extends AbstractCliTest {\n\tprotected static skillDir: string\n\tprotected static cli: CliInterface\n\tprotected static skillCacheKey: string\n\n\tprotected static async beforeAll() {\n\t\tif (!this.skillCacheKey) {\n\t\t\tthrow new Error(\n\t\t\t\t\"You must implement `protected static skillCacheKey = 'stores'`\"\n\t\t\t)\n\t\t}\n\t\tawait super.beforeAll()\n\t\tawait this.reInstallSkill()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cwd = this.skillDir\n\t\tthis.cli = await this.Cli()\n\t}\n\n\tprotected static async reInstallSkill(key = this.skillCacheKey) {\n\t\tthis.cwd = this.skillDir = this.freshTmpDir()\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures(key)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;IAE8BA,iB;;;;;;;;;;;;;qGAK7B;QAAA;UAAA;YAAA;cAAA;gBAAA,IACM,KAAKC,aADX;kBAAA;kBAAA;gBAAA;;gBAAA,MAEQ,IAAIC,KAAJ,CACL,gEADK,CAFR;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA,OAOO,KAAKC,cAAL,EAPP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;sGAUA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,GAAL,GAAW,KAAKC,QAAhB;gBAFD;gBAAA,OAGkB,KAAKC,GAAL,EAHlB;;cAAA;gBAGC,KAAKC,GAHN;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0GAMA;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAsCC,GAAtC,8DAA4C,KAAKP,aAAjD;gBACC,KAAKG,GAAL,GAAW,KAAKC,QAAL,GAAgB,KAAKI,WAAL,EAA3B;gBADD;gBAAA,OAEkB,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CH,GAA5C,CAFlB;;cAAA;gBAEC,KAAKD,GAFN;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EArBuDK,4B;;;iCAA1BZ,iB;iCAAAA,iB;iCAAAA,iB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractTestTest.ts"],"names":["AbstractTestTest","cacheKey","fixture","FeatureFixture","installCachedFeatures","graphicsInterface","ui","cli","file","contents","diskUtil","readFile","passingContent","replace","writeFile","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,gB;;;;;;;;;;;;;wGACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACCC,gBAAAA,QADD,2DAC2C,OAD3C;AAGOC,gBAAAA,OAHP,GAGiB,KAAKC,cAAL,EAHjB;AAAA;AAAA,uBAImBD,OAAO,CAACE,qBAAR,CAA8BH,QAA9B,EAAwC;AACzDI,kBAAAA,iBAAiB,EAAE,KAAKC;AADiC,iBAAxC,CAJnB;;AAAA;AAIOC,gBAAAA,GAJP;AAAA,iDAOQA,GAPR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAUA,oBAA4BC,IAA5B,EAA0C;AACzC,UAAMC,QAAQ,GAAGC,2BAASC,QAAT,CAAkBH,IAAlB,CAAjB;;AACA,UAAMI,cAAc,GAAGH,QAAQ,CAACI,OAAT,CACtB,sBADsB,EAEtB,qBAFsB,CAAvB;;AAKAH,iCAASI,SAAT,CAAmBN,IAAnB,EAAyBI,cAAzB;AACA;;;EAnB4CG,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default class AbstractTestTest extends AbstractCliTest {\n\tprotected static async installTests(\n\t\tcacheKey: 'tests' | 'testsInNodeModule' = 'tests'\n\t) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installCachedFeatures(cacheKey, {\n\t\t\tgraphicsInterface: this.ui,\n\t\t})\n\t\treturn cli\n\t}\n\n\tprotected static fixBadTest(file: string) {\n\t\tconst contents = diskUtil.readFile(file)\n\t\tconst passingContent = contents.replace(\n\t\t\t'assert.isTrue(false)',\n\t\t\t'assert.isTrue(true)'\n\t\t)\n\n\t\tdiskUtil.writeFile(file, passingContent)\n\t}\n}\n"],"file":"AbstractTestTest.js"}
1
+ {"version":3,"file":"AbstractTestTest.js","names":["AbstractTestTest","cacheKey","fixture","FeatureFixture","installCachedFeatures","graphicsInterface","ui","cli","file","contents","diskUtil","readFile","passingContent","replace","writeFile","AbstractCliTest"],"sources":["../../src/tests/AbstractTestTest.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractCliTest from './AbstractCliTest'\n\nexport default class AbstractTestTest extends AbstractCliTest {\n\tprotected static async installTests(\n\t\tcacheKey: 'tests' | 'testsInNodeModule' = 'tests'\n\t) {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installCachedFeatures(cacheKey, {\n\t\t\tgraphicsInterface: this.ui,\n\t\t})\n\t\treturn cli\n\t}\n\n\tprotected static fixBadTest(file: string) {\n\t\tconst contents = diskUtil.readFile(file)\n\t\tconst passingContent = contents.replace(\n\t\t\t'assert.isTrue(false)',\n\t\t\t'assert.isTrue(true)'\n\t\t)\n\n\t\tdiskUtil.writeFile(file, passingContent)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,gB;;;;;;;;;;;;;wGACpB;QAAA;QAAA;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACCC,QADD,2DAC2C,OAD3C;gBAGOC,OAHP,GAGiB,KAAKC,cAAL,EAHjB;gBAAA;gBAAA,OAImBD,OAAO,CAACE,qBAAR,CAA8BH,QAA9B,EAAwC;kBACzDI,iBAAiB,EAAE,KAAKC;gBADiC,CAAxC,CAJnB;;cAAA;gBAIOC,GAJP;gBAAA,iCAOQA,GAPR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAUA,oBAA4BC,IAA5B,EAA0C;MACzC,IAAMC,QAAQ,GAAGC,2BAASC,QAAT,CAAkBH,IAAlB,CAAjB;;MACA,IAAMI,cAAc,GAAGH,QAAQ,CAACI,OAAT,CACtB,sBADsB,EAEtB,qBAFsB,CAAvB;;MAKAH,2BAASI,SAAT,CAAmBN,IAAnB,EAAyBI,cAAzB;IACA;;;EAnB4CG,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/CommandFaker.ts"],"names":["CommandFaker","code","command","RegExp","fakeCommand","CommandService"],"mappings":";;;;;;;;;;;;;AAAA;;IAIqBA,Y;;;;;;;WACpB,uBAA6B;AAAA,UAAVC,IAAU,uEAAH,CAAG;AAC5B,UAAMC,OAAO,GAAG,IAAIC,MAAJ,CAAW,gBAAX,CAAhB;AACA,WAAKC,WAAL,CAAiBF,OAAjB,EAA0BD,IAA1B;AACA;;;WAED,qBAAmBC,OAAnB,EAA+C;AAAA,UAAVD,IAAU,uEAAH,CAAG;;AAC9CI,iCAAeD,WAAf,CAA2BF,OAA3B,EAAoC;AACnCD,QAAAA,IAAI,EAAJA;AADmC,OAApC;AAGA;;;WAED,0BAAgC;AAAA,UAAVA,IAAU,uEAAH,CAAG;AAC/B,WAAKG,WAAL,CAAiB,kBAAjB,EAAqCH,IAArC;AACA;;;WAED,qBAA2B;AAAA,UAAVA,IAAU,uEAAH,CAAG;AAC1B,WAAKG,WAAL,CAAiB,gBAAjB,EAAmCH,IAAnC;AACA","sourcesContent":["import CommandService from '../services/CommandService'\n\ntype Command = RegExp | string\n\nexport default class CommandFaker {\n\tpublic fakeRebuild(code = 0) {\n\t\tconst command = new RegExp(/yarn rebuild/gis)\n\t\tthis.fakeCommand(command, code)\n\t}\n\n\tpublic fakeCommand(command: Command, code = 0) {\n\t\tCommandService.fakeCommand(command, {\n\t\t\tcode,\n\t\t})\n\t}\n\n\tpublic fakeCleanBuild(code = 0) {\n\t\tthis.fakeCommand('yarn clean.build', code)\n\t}\n\n\tpublic fakeBuild(code = 0) {\n\t\tthis.fakeCommand('yarn build.dev', code)\n\t}\n}\n"],"file":"CommandFaker.js"}
1
+ {"version":3,"file":"CommandFaker.js","names":["CommandFaker","code","command","RegExp","fakeCommand","CommandService"],"sources":["../../src/tests/CommandFaker.ts"],"sourcesContent":["import CommandService from '../services/CommandService'\n\ntype Command = RegExp | string\n\nexport default class CommandFaker {\n\tpublic fakeRebuild(code = 0) {\n\t\tconst command = new RegExp(/yarn rebuild/gis)\n\t\tthis.fakeCommand(command, code)\n\t}\n\n\tpublic fakeCommand(command: Command, code = 0) {\n\t\tCommandService.fakeCommand(command, {\n\t\t\tcode,\n\t\t})\n\t}\n\n\tpublic fakeCleanBuild(code = 0) {\n\t\tthis.fakeCommand('yarn clean.build', code)\n\t}\n\n\tpublic fakeBuild(code = 0) {\n\t\tthis.fakeCommand('yarn build.dev', code)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;;IAIqBA,Y;;;;;;;WACpB,uBAA6B;MAAA,IAAVC,IAAU,uEAAH,CAAG;MAC5B,IAAMC,OAAO,GAAG,IAAIC,MAAJ,CAAW,gBAAX,CAAhB;MACA,KAAKC,WAAL,CAAiBF,OAAjB,EAA0BD,IAA1B;IACA;;;WAED,qBAAmBC,OAAnB,EAA+C;MAAA,IAAVD,IAAU,uEAAH,CAAG;;MAC9CI,2BAAeD,WAAf,CAA2BF,OAA3B,EAAoC;QACnCD,IAAI,EAAJA;MADmC,CAApC;IAGA;;;WAED,0BAAgC;MAAA,IAAVA,IAAU,uEAAH,CAAG;MAC/B,KAAKG,WAAL,CAAiB,kBAAjB,EAAqCH,IAArC;IACA;;;WAED,qBAA2B;MAAA,IAAVA,IAAU,uEAAH,CAAG;MAC1B,KAAKG,WAAL,CAAiB,gBAAjB,EAAmCH,IAAnC;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/JestJsonParser.ts"],"names":["JestJsonParser","totalTestFiles","data","dataToProcess","buffer","endDividerStartIdx","search","END_DIVIDER","startDividerIdx","Math","max","START_DIVIDER","endDividerEndIdx","length","firstSegment","substr","cleanedSegment","replace","trim","result","JSON","parse","ingestJestResult","testFiles","testResults","status","results","numTotalTestSuites","relativePath","mapAbsoluteJsToRelativeTsPath","test","path","idx","findIndex","file","testCaseResultToTest","testCaseResult","tests","push","pullPathFromTestResponse","pullTestFileStatusFromTestResponse","totalTestFilesComplete","pullTestFilesCompleteFromAggregatedResults","aggregatedResult","totalFailed","numFailedTests","totalPassed","numPassedTests","totalTests","numTotalTests","totalSkipped","numPendingTests","totalTodo","numTodoTests","testResult","testFilePath","pullTestFileResultStatus","pullTestsFromTestFileResult","failureMessage","errorMessage","total","numFailedTestSuites","numPassedTestSuites","tsFile","partialPath","split","pop","Error","numFailingTests","map","name","title","errorMessages","failureMessages","duration"],"mappings":"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","sourcesContent":["import JsonParser, {\n\tAssertionResult,\n\tEND_DIVIDER,\n\tSTART_DIVIDER,\n\tretrocycle,\n} from '@sprucelabs/jest-json-reporter'\nimport escapeRegExp from 'lodash/escapeRegExp'\nimport {\n\tSpruceTestFile,\n\tTestResultStatus,\n\tSpruceTestResults,\n} from '../features/test/test.types'\n\nexport type JsonResultKeys = JsonParserResult['status']\ninterface OnTestFileResult {\n\tstatus: 'onTestFileResult'\n\ttest: Parameters<JsonParser['onTestFileResult']>[0]\n\ttestResult: Parameters<JsonParser['onTestFileResult']>[1]\n\taggregatedResult: Parameters<JsonParser['onTestFileResult']>[2]\n}\n\ntype JsonParserResult =\n\t| {\n\t\t\tstatus: 'onRunStart'\n\t\t\tresults: Parameters<JsonParser['onRunStart']>[0]\n\t }\n\t| {\n\t\t\tstatus: 'onTestCaseResult'\n\t\t\ttest: Parameters<JsonParser['onTestCaseResult']>[0]\n\t\t\ttestCaseResult: Parameters<JsonParser['onTestCaseResult']>[1]\n\t }\n\t| {\n\t\t\tstatus: 'onTestFileStart'\n\t\t\ttest: Parameters<JsonParser['onTestFileStart']>[0]\n\t }\n\t| OnTestFileResult\n\nexport default class JestJsonParser {\n\tprivate testResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate buffer = ''\n\n\tpublic write(data: string) {\n\t\tlet dataToProcess = this.buffer + data\n\t\tlet endDividerStartIdx = -1\n\n\t\tdo {\n\t\t\tendDividerStartIdx = dataToProcess.search(escapeRegExp(END_DIVIDER))\n\t\t\tif (endDividerStartIdx > -1) {\n\t\t\t\tlet startDividerIdx = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tdataToProcess.search(escapeRegExp(START_DIVIDER))\n\t\t\t\t)\n\t\t\t\tlet endDividerEndIdx = endDividerStartIdx + END_DIVIDER.length\n\t\t\t\tif (startDividerIdx > endDividerStartIdx) {\n\t\t\t\t\tstartDividerIdx = -1\n\t\t\t\t}\n\t\t\t\tconst firstSegment = dataToProcess.substr(\n\t\t\t\t\tstartDividerIdx,\n\t\t\t\t\tendDividerEndIdx - startDividerIdx\n\t\t\t\t)\n\t\t\t\tconst cleanedSegment = firstSegment\n\t\t\t\t\t.replace(START_DIVIDER, '')\n\t\t\t\t\t.replace(END_DIVIDER, '')\n\t\t\t\t\t.trim()\n\n\t\t\t\tconst result = retrocycle(\n\t\t\t\t\tJSON.parse(cleanedSegment)\n\t\t\t\t) as JsonParserResult\n\n\t\t\t\tthis.ingestJestResult(result)\n\n\t\t\t\tdataToProcess = dataToProcess.substr(endDividerEndIdx)\n\t\t\t}\n\t\t} while (endDividerStartIdx > -1)\n\n\t\tthis.buffer = dataToProcess\n\t}\n\n\tprivate ingestJestResult(result: JsonParserResult) {\n\t\tconst testFiles = this.testResults.testFiles ?? []\n\t\tswitch (result.status) {\n\t\t\tcase 'onRunStart':\n\t\t\t\tthis.testResults = {\n\t\t\t\t\ttotalTestFiles: result.results.numTotalTestSuites,\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'onTestCaseResult': {\n\t\t\t\tconst relativePath = this.mapAbsoluteJsToRelativeTsPath(\n\t\t\t\t\tresult.test.path\n\t\t\t\t)\n\t\t\t\tconst idx = testFiles.findIndex((file) => file.path === relativePath)\n\t\t\t\tconst test = this.testCaseResultToTest(result.testCaseResult)\n\n\t\t\t\tif (!testFiles[idx].tests) {\n\t\t\t\t\ttestFiles[idx].tests = []\n\t\t\t\t}\n\t\t\t\ttestFiles[idx].tests?.push(test)\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'onTestFileStart':\n\t\t\t\ttestFiles.push({\n\t\t\t\t\tpath: this.pullPathFromTestResponse(result),\n\t\t\t\t\tstatus: this.pullTestFileStatusFromTestResponse(result),\n\t\t\t\t})\n\n\t\t\t\tbreak\n\n\t\t\tcase 'onTestFileResult': {\n\t\t\t\tthis.testResults.totalTestFilesComplete =\n\t\t\t\t\tthis.pullTestFilesCompleteFromAggregatedResults(\n\t\t\t\t\t\tresult.aggregatedResult\n\t\t\t\t\t)\n\t\t\t\tthis.testResults.totalTestFiles =\n\t\t\t\t\tresult.aggregatedResult.numTotalTestSuites\n\t\t\t\tthis.testResults.totalFailed = result.aggregatedResult.numFailedTests\n\t\t\t\tthis.testResults.totalPassed = result.aggregatedResult.numPassedTests\n\t\t\t\tthis.testResults.totalTests = result.aggregatedResult.numTotalTests\n\t\t\t\tthis.testResults.totalSkipped = result.aggregatedResult.numPendingTests\n\t\t\t\tthis.testResults.totalTodo = result.aggregatedResult.numTodoTests\n\n\t\t\t\tfor (const testResult of result.aggregatedResult.testResults) {\n\t\t\t\t\tconst relativePath = this.mapAbsoluteJsToRelativeTsPath(\n\t\t\t\t\t\ttestResult.testFilePath\n\t\t\t\t\t)\n\t\t\t\t\tconst idx = testFiles.findIndex((file) => file.path === relativePath)\n\t\t\t\t\tconst file = {\n\t\t\t\t\t\t...(testFiles[idx] ?? {}),\n\t\t\t\t\t\tpath: relativePath,\n\t\t\t\t\t\tstatus: this.pullTestFileResultStatus(testResult),\n\t\t\t\t\t\ttests: this.pullTestsFromTestFileResult(testResult),\n\t\t\t\t\t}\n\n\t\t\t\t\tif (testResult.failureMessage) {\n\t\t\t\t\t\tfile.errorMessage = testResult.failureMessage\n\t\t\t\t\t}\n\n\t\t\t\t\tif (idx === -1) {\n\t\t\t\t\t\ttestFiles.push(file)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttestFiles[idx] = file\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (testFiles.length > 0) {\n\t\t\tthis.testResults.testFiles = testFiles\n\t\t}\n\t}\n\n\tprivate pullTestFilesCompleteFromAggregatedResults(\n\t\taggregatedResult: OnTestFileResult['aggregatedResult']\n\t) {\n\t\tconst total =\n\t\t\taggregatedResult.numFailedTestSuites +\n\t\t\taggregatedResult.numPassedTestSuites\n\n\t\treturn total\n\t}\n\n\tprivate pullPathFromTestResponse(result: JsonParserResult) {\n\t\tlet path = ''\n\n\t\tswitch (result.status) {\n\t\t\tcase 'onTestFileResult':\n\t\t\tcase 'onTestFileStart':\n\t\t\t\tpath = result.test.path\n\t\t\t\tbreak\n\t\t}\n\n\t\tconst tsFile = this.mapAbsoluteJsToRelativeTsPath(path)\n\t\treturn tsFile\n\t}\n\n\tprivate mapAbsoluteJsToRelativeTsPath(path: string) {\n\t\tconst partialPath = path.split('__tests__').pop()\n\t\tif (!partialPath) {\n\t\t\tthrow new Error('INVALID TEST FILE')\n\t\t}\n\t\tconst tsFile = partialPath.substr(1, partialPath.length - 3) + 'ts'\n\t\treturn tsFile\n\t}\n\n\tprivate pullTestFileStatusFromTestResponse(\n\t\tresult: JsonParserResult\n\t): SpruceTestFile['status'] {\n\t\tswitch (result.status) {\n\t\t\tcase 'onTestFileResult':\n\t\t\t\treturn this.pullTestFileResultStatus(result.testResult)\n\t\t\tdefault:\n\t\t\t\treturn 'running'\n\t\t}\n\t}\n\n\tprivate pullTestFileResultStatus(\n\t\ttestResult: OnTestFileResult['testResult']\n\t): TestResultStatus {\n\t\treturn testResult.failureMessage || testResult.numFailingTests > 0\n\t\t\t? 'failed'\n\t\t\t: 'passed'\n\t}\n\n\tprivate pullTestsFromTestFileResult(\n\t\ttestResult: OnTestFileResult['testResult']\n\t): SpruceTestFile['tests'] {\n\t\treturn testResult.testResults.map((test) => this.testCaseResultToTest(test))\n\t}\n\n\tprivate testCaseResultToTest(test: AssertionResult): {\n\t\tname: string\n\t\tstatus: AssertionResult['status']\n\t\terrorMessages: string[]\n\t\tduration: number\n\t} {\n\t\treturn {\n\t\t\tname: test.title,\n\t\t\tstatus: test.status,\n\t\t\terrorMessages: test.failureMessages,\n\t\t\tduration: test.duration ?? 0,\n\t\t}\n\t}\n\n\tpublic getResults(): SpruceTestResults {\n\t\treturn this.testResults\n\t}\n}\n"],"file":"JestJsonParser.js"}
1
+ {"version":3,"file":"JestJsonParser.js","names":["JestJsonParser","totalTestFiles","data","dataToProcess","buffer","endDividerStartIdx","search","END_DIVIDER","startDividerIdx","Math","max","START_DIVIDER","endDividerEndIdx","length","firstSegment","substr","cleanedSegment","replace","trim","result","JSON","parse","ingestJestResult","testFiles","testResults","status","results","numTotalTestSuites","relativePath","mapAbsoluteJsToRelativeTsPath","test","path","idx","findIndex","file","testCaseResultToTest","testCaseResult","tests","push","pullPathFromTestResponse","pullTestFileStatusFromTestResponse","totalTestFilesComplete","pullTestFilesCompleteFromAggregatedResults","aggregatedResult","totalFailed","numFailedTests","totalPassed","numPassedTests","totalTests","numTotalTests","totalSkipped","numPendingTests","totalTodo","numTodoTests","testResult","testFilePath","pullTestFileResultStatus","pullTestsFromTestFileResult","failureMessage","errorMessage","total","numFailedTestSuites","numPassedTestSuites","tsFile","partialPath","split","pop","Error","numFailingTests","map","name","title","errorMessages","failureMessages","duration"],"sources":["../../src/tests/JestJsonParser.ts"],"sourcesContent":["import JsonParser, {\n\tAssertionResult,\n\tEND_DIVIDER,\n\tSTART_DIVIDER,\n\tretrocycle,\n} from '@sprucelabs/jest-json-reporter'\nimport escapeRegExp from 'lodash/escapeRegExp'\nimport {\n\tSpruceTestFile,\n\tTestResultStatus,\n\tSpruceTestResults,\n} from '../features/test/test.types'\n\nexport type JsonResultKeys = JsonParserResult['status']\ninterface OnTestFileResult {\n\tstatus: 'onTestFileResult'\n\ttest: Parameters<JsonParser['onTestFileResult']>[0]\n\ttestResult: Parameters<JsonParser['onTestFileResult']>[1]\n\taggregatedResult: Parameters<JsonParser['onTestFileResult']>[2]\n}\n\ntype JsonParserResult =\n\t| {\n\t\t\tstatus: 'onRunStart'\n\t\t\tresults: Parameters<JsonParser['onRunStart']>[0]\n\t }\n\t| {\n\t\t\tstatus: 'onTestCaseResult'\n\t\t\ttest: Parameters<JsonParser['onTestCaseResult']>[0]\n\t\t\ttestCaseResult: Parameters<JsonParser['onTestCaseResult']>[1]\n\t }\n\t| {\n\t\t\tstatus: 'onTestFileStart'\n\t\t\ttest: Parameters<JsonParser['onTestFileStart']>[0]\n\t }\n\t| OnTestFileResult\n\nexport default class JestJsonParser {\n\tprivate testResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate buffer = ''\n\n\tpublic write(data: string) {\n\t\tlet dataToProcess = this.buffer + data\n\t\tlet endDividerStartIdx = -1\n\n\t\tdo {\n\t\t\tendDividerStartIdx = dataToProcess.search(escapeRegExp(END_DIVIDER))\n\t\t\tif (endDividerStartIdx > -1) {\n\t\t\t\tlet startDividerIdx = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tdataToProcess.search(escapeRegExp(START_DIVIDER))\n\t\t\t\t)\n\t\t\t\tlet endDividerEndIdx = endDividerStartIdx + END_DIVIDER.length\n\t\t\t\tif (startDividerIdx > endDividerStartIdx) {\n\t\t\t\t\tstartDividerIdx = -1\n\t\t\t\t}\n\t\t\t\tconst firstSegment = dataToProcess.substr(\n\t\t\t\t\tstartDividerIdx,\n\t\t\t\t\tendDividerEndIdx - startDividerIdx\n\t\t\t\t)\n\t\t\t\tconst cleanedSegment = firstSegment\n\t\t\t\t\t.replace(START_DIVIDER, '')\n\t\t\t\t\t.replace(END_DIVIDER, '')\n\t\t\t\t\t.trim()\n\n\t\t\t\tconst result = retrocycle(\n\t\t\t\t\tJSON.parse(cleanedSegment)\n\t\t\t\t) as JsonParserResult\n\n\t\t\t\tthis.ingestJestResult(result)\n\n\t\t\t\tdataToProcess = dataToProcess.substr(endDividerEndIdx)\n\t\t\t}\n\t\t} while (endDividerStartIdx > -1)\n\n\t\tthis.buffer = dataToProcess\n\t}\n\n\tprivate ingestJestResult(result: JsonParserResult) {\n\t\tconst testFiles = this.testResults.testFiles ?? []\n\t\tswitch (result.status) {\n\t\t\tcase 'onRunStart':\n\t\t\t\tthis.testResults = {\n\t\t\t\t\ttotalTestFiles: result.results.numTotalTestSuites,\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'onTestCaseResult': {\n\t\t\t\tconst relativePath = this.mapAbsoluteJsToRelativeTsPath(\n\t\t\t\t\tresult.test.path\n\t\t\t\t)\n\t\t\t\tconst idx = testFiles.findIndex((file) => file.path === relativePath)\n\t\t\t\tconst test = this.testCaseResultToTest(result.testCaseResult)\n\n\t\t\t\tif (!testFiles[idx].tests) {\n\t\t\t\t\ttestFiles[idx].tests = []\n\t\t\t\t}\n\t\t\t\ttestFiles[idx].tests?.push(test)\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'onTestFileStart':\n\t\t\t\ttestFiles.push({\n\t\t\t\t\tpath: this.pullPathFromTestResponse(result),\n\t\t\t\t\tstatus: this.pullTestFileStatusFromTestResponse(result),\n\t\t\t\t})\n\n\t\t\t\tbreak\n\n\t\t\tcase 'onTestFileResult': {\n\t\t\t\tthis.testResults.totalTestFilesComplete =\n\t\t\t\t\tthis.pullTestFilesCompleteFromAggregatedResults(\n\t\t\t\t\t\tresult.aggregatedResult\n\t\t\t\t\t)\n\t\t\t\tthis.testResults.totalTestFiles =\n\t\t\t\t\tresult.aggregatedResult.numTotalTestSuites\n\t\t\t\tthis.testResults.totalFailed = result.aggregatedResult.numFailedTests\n\t\t\t\tthis.testResults.totalPassed = result.aggregatedResult.numPassedTests\n\t\t\t\tthis.testResults.totalTests = result.aggregatedResult.numTotalTests\n\t\t\t\tthis.testResults.totalSkipped = result.aggregatedResult.numPendingTests\n\t\t\t\tthis.testResults.totalTodo = result.aggregatedResult.numTodoTests\n\n\t\t\t\tfor (const testResult of result.aggregatedResult.testResults) {\n\t\t\t\t\tconst relativePath = this.mapAbsoluteJsToRelativeTsPath(\n\t\t\t\t\t\ttestResult.testFilePath\n\t\t\t\t\t)\n\t\t\t\t\tconst idx = testFiles.findIndex((file) => file.path === relativePath)\n\t\t\t\t\tconst file = {\n\t\t\t\t\t\t...(testFiles[idx] ?? {}),\n\t\t\t\t\t\tpath: relativePath,\n\t\t\t\t\t\tstatus: this.pullTestFileResultStatus(testResult),\n\t\t\t\t\t\ttests: this.pullTestsFromTestFileResult(testResult),\n\t\t\t\t\t}\n\n\t\t\t\t\tif (testResult.failureMessage) {\n\t\t\t\t\t\tfile.errorMessage = testResult.failureMessage\n\t\t\t\t\t}\n\n\t\t\t\t\tif (idx === -1) {\n\t\t\t\t\t\ttestFiles.push(file)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttestFiles[idx] = file\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (testFiles.length > 0) {\n\t\t\tthis.testResults.testFiles = testFiles\n\t\t}\n\t}\n\n\tprivate pullTestFilesCompleteFromAggregatedResults(\n\t\taggregatedResult: OnTestFileResult['aggregatedResult']\n\t) {\n\t\tconst total =\n\t\t\taggregatedResult.numFailedTestSuites +\n\t\t\taggregatedResult.numPassedTestSuites\n\n\t\treturn total\n\t}\n\n\tprivate pullPathFromTestResponse(result: JsonParserResult) {\n\t\tlet path = ''\n\n\t\tswitch (result.status) {\n\t\t\tcase 'onTestFileResult':\n\t\t\tcase 'onTestFileStart':\n\t\t\t\tpath = result.test.path\n\t\t\t\tbreak\n\t\t}\n\n\t\tconst tsFile = this.mapAbsoluteJsToRelativeTsPath(path)\n\t\treturn tsFile\n\t}\n\n\tprivate mapAbsoluteJsToRelativeTsPath(path: string) {\n\t\tconst partialPath = path.split('__tests__').pop()\n\t\tif (!partialPath) {\n\t\t\tthrow new Error('INVALID TEST FILE')\n\t\t}\n\t\tconst tsFile = partialPath.substr(1, partialPath.length - 3) + 'ts'\n\t\treturn tsFile\n\t}\n\n\tprivate pullTestFileStatusFromTestResponse(\n\t\tresult: JsonParserResult\n\t): SpruceTestFile['status'] {\n\t\tswitch (result.status) {\n\t\t\tcase 'onTestFileResult':\n\t\t\t\treturn this.pullTestFileResultStatus(result.testResult)\n\t\t\tdefault:\n\t\t\t\treturn 'running'\n\t\t}\n\t}\n\n\tprivate pullTestFileResultStatus(\n\t\ttestResult: OnTestFileResult['testResult']\n\t): TestResultStatus {\n\t\treturn testResult.failureMessage || testResult.numFailingTests > 0\n\t\t\t? 'failed'\n\t\t\t: 'passed'\n\t}\n\n\tprivate pullTestsFromTestFileResult(\n\t\ttestResult: OnTestFileResult['testResult']\n\t): SpruceTestFile['tests'] {\n\t\treturn testResult.testResults.map((test) => this.testCaseResultToTest(test))\n\t}\n\n\tprivate testCaseResultToTest(test: AssertionResult): {\n\t\tname: string\n\t\tstatus: AssertionResult['status']\n\t\terrorMessages: string[]\n\t\tduration: number\n\t} {\n\t\treturn {\n\t\t\tname: test.title,\n\t\t\tstatus: test.status,\n\t\t\terrorMessages: test.failureMessages,\n\t\t\tduration: test.duration ?? 0,\n\t\t}\n\t}\n\n\tpublic getResults(): SpruceTestResults {\n\t\treturn this.testResults\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAMA;;;;;;;;;;;;IA+BqBA,c;;;0DACqB;MAAEC,cAAc,EAAE;IAAlB,C;qDACxB,E;;;;;WAEjB,eAAaC,IAAb,EAA2B;MAC1B,IAAIC,aAAa,GAAG,KAAKC,MAAL,GAAcF,IAAlC;MACA,IAAIG,kBAAkB,GAAG,CAAC,CAA1B;;MAEA,GAAG;QACFA,kBAAkB,GAAGF,aAAa,CAACG,MAAd,CAAqB,8BAAaC,6BAAb,CAArB,CAArB;;QACA,IAAIF,kBAAkB,GAAG,CAAC,CAA1B,EAA6B;UAC5B,IAAIG,eAAe,GAAGC,IAAI,CAACC,GAAL,CACrB,CADqB,EAErBP,aAAa,CAACG,MAAd,CAAqB,8BAAaK,+BAAb,CAArB,CAFqB,CAAtB;UAIA,IAAIC,gBAAgB,GAAGP,kBAAkB,GAAGE,8BAAYM,MAAxD;;UACA,IAAIL,eAAe,GAAGH,kBAAtB,EAA0C;YACzCG,eAAe,GAAG,CAAC,CAAnB;UACA;;UACD,IAAMM,YAAY,GAAGX,aAAa,CAACY,MAAd,CACpBP,eADoB,EAEpBI,gBAAgB,GAAGJ,eAFC,CAArB;UAIA,IAAMQ,cAAc,GAAGF,YAAY,CACjCG,OADqB,CACbN,+BADa,EACE,EADF,EAErBM,OAFqB,CAEbV,6BAFa,EAEA,EAFA,EAGrBW,IAHqB,EAAvB;UAKA,IAAMC,MAAM,GAAG,kCACdC,IAAI,CAACC,KAAL,CAAWL,cAAX,CADc,CAAf;UAIA,KAAKM,gBAAL,CAAsBH,MAAtB;UAEAhB,aAAa,GAAGA,aAAa,CAACY,MAAd,CAAqBH,gBAArB,CAAhB;QACA;MACD,CA5BD,QA4BSP,kBAAkB,GAAG,CAAC,CA5B/B;;MA8BA,KAAKD,MAAL,GAAcD,aAAd;IACA;;;WAED,0BAAyBgB,MAAzB,EAAmD;MAAA;MAAA;;MAClD,IAAMI,SAAS,4BAAG,KAAKC,WAAL,CAAiBD,SAApB,yEAAiC,EAAhD;;MACA,QAAQJ,MAAM,CAACM,MAAf;QACC,KAAK,YAAL;UACC,KAAKD,WAAL,GAAmB;YAClBvB,cAAc,EAAEkB,MAAM,CAACO,OAAP,CAAeC;UADb,CAAnB;UAIA;;QAED,KAAK,kBAAL;UAAyB;YAAA;;YACxB,IAAMC,YAAY,GAAG,KAAKC,6BAAL,CACpBV,MAAM,CAACW,IAAP,CAAYC,IADQ,CAArB;YAGA,IAAMC,GAAG,GAAGT,SAAS,CAACU,SAAV,CAAoB,UAACC,IAAD;cAAA,OAAUA,IAAI,CAACH,IAAL,KAAcH,YAAxB;YAAA,CAApB,CAAZ;YACA,IAAME,IAAI,GAAG,KAAKK,oBAAL,CAA0BhB,MAAM,CAACiB,cAAjC,CAAb;;YAEA,IAAI,CAACb,SAAS,CAACS,GAAD,CAAT,CAAeK,KAApB,EAA2B;cAC1Bd,SAAS,CAACS,GAAD,CAAT,CAAeK,KAAf,GAAuB,EAAvB;YACA;;YACD,wBAAAd,SAAS,CAACS,GAAD,CAAT,CAAeK,KAAf,8EAAsBC,IAAtB,CAA2BR,IAA3B;YAEA;UACA;;QACD,KAAK,iBAAL;UACCP,SAAS,CAACe,IAAV,CAAe;YACdP,IAAI,EAAE,KAAKQ,wBAAL,CAA8BpB,MAA9B,CADQ;YAEdM,MAAM,EAAE,KAAKe,kCAAL,CAAwCrB,MAAxC;UAFM,CAAf;UAKA;;QAED,KAAK,kBAAL;UAAyB;YACxB,KAAKK,WAAL,CAAiBiB,sBAAjB,GACC,KAAKC,0CAAL,CACCvB,MAAM,CAACwB,gBADR,CADD;YAIA,KAAKnB,WAAL,CAAiBvB,cAAjB,GACCkB,MAAM,CAACwB,gBAAP,CAAwBhB,kBADzB;YAEA,KAAKH,WAAL,CAAiBoB,WAAjB,GAA+BzB,MAAM,CAACwB,gBAAP,CAAwBE,cAAvD;YACA,KAAKrB,WAAL,CAAiBsB,WAAjB,GAA+B3B,MAAM,CAACwB,gBAAP,CAAwBI,cAAvD;YACA,KAAKvB,WAAL,CAAiBwB,UAAjB,GAA8B7B,MAAM,CAACwB,gBAAP,CAAwBM,aAAtD;YACA,KAAKzB,WAAL,CAAiB0B,YAAjB,GAAgC/B,MAAM,CAACwB,gBAAP,CAAwBQ,eAAxD;YACA,KAAK3B,WAAL,CAAiB4B,SAAjB,GAA6BjC,MAAM,CAACwB,gBAAP,CAAwBU,YAArD;;YAXwB,2CAaClC,MAAM,CAACwB,gBAAP,CAAwBnB,WAbzB;YAAA;;YAAA;cAAA;gBAAA;;gBAAA,IAab8B,UAba;;gBAcvB,IAAM1B,YAAY,GAAG,KAAI,CAACC,6BAAL,CACpByB,UAAU,CAACC,YADS,CAArB;;gBAGA,IAAMvB,GAAG,GAAGT,SAAS,CAACU,SAAV,CAAoB,UAACC,IAAD;kBAAA,OAAUA,IAAI,CAACH,IAAL,KAAcH,YAAxB;gBAAA,CAApB,CAAZ;;gBACA,IAAMM,IAAI,qDACLX,SAAS,CAACS,GAAD,CADJ,2DACa,EADb;kBAETD,IAAI,EAAEH,YAFG;kBAGTH,MAAM,EAAE,KAAI,CAAC+B,wBAAL,CAA8BF,UAA9B,CAHC;kBAITjB,KAAK,EAAE,KAAI,CAACoB,2BAAL,CAAiCH,UAAjC;gBAJE,EAAV;;gBAOA,IAAIA,UAAU,CAACI,cAAf,EAA+B;kBAC9BxB,IAAI,CAACyB,YAAL,GAAoBL,UAAU,CAACI,cAA/B;gBACA;;gBAED,IAAI1B,GAAG,KAAK,CAAC,CAAb,EAAgB;kBACfT,SAAS,CAACe,IAAV,CAAeJ,IAAf;gBACA,CAFD,MAEO;kBACNX,SAAS,CAACS,GAAD,CAAT,GAAiBE,IAAjB;gBACA;cAjCsB;;cAaxB,oDAA8D;gBAAA;cAqB7D;YAlCuB;cAAA;YAAA;cAAA;YAAA;;YAoCxB;UACA;MAnEF;;MAsEA,IAAIX,SAAS,CAACV,MAAV,GAAmB,CAAvB,EAA0B;QACzB,KAAKW,WAAL,CAAiBD,SAAjB,GAA6BA,SAA7B;MACA;IACD;;;WAED,oDACCoB,gBADD,EAEE;MACD,IAAMiB,KAAK,GACVjB,gBAAgB,CAACkB,mBAAjB,GACAlB,gBAAgB,CAACmB,mBAFlB;MAIA,OAAOF,KAAP;IACA;;;WAED,kCAAiCzC,MAAjC,EAA2D;MAC1D,IAAIY,IAAI,GAAG,EAAX;;MAEA,QAAQZ,MAAM,CAACM,MAAf;QACC,KAAK,kBAAL;QACA,KAAK,iBAAL;UACCM,IAAI,GAAGZ,MAAM,CAACW,IAAP,CAAYC,IAAnB;UACA;MAJF;;MAOA,IAAMgC,MAAM,GAAG,KAAKlC,6BAAL,CAAmCE,IAAnC,CAAf;MACA,OAAOgC,MAAP;IACA;;;WAED,uCAAsChC,IAAtC,EAAoD;MACnD,IAAMiC,WAAW,GAAGjC,IAAI,CAACkC,KAAL,CAAW,WAAX,EAAwBC,GAAxB,EAApB;;MACA,IAAI,CAACF,WAAL,EAAkB;QACjB,MAAM,IAAIG,KAAJ,CAAU,mBAAV,CAAN;MACA;;MACD,IAAMJ,MAAM,GAAGC,WAAW,CAACjD,MAAZ,CAAmB,CAAnB,EAAsBiD,WAAW,CAACnD,MAAZ,GAAqB,CAA3C,IAAgD,IAA/D;MACA,OAAOkD,MAAP;IACA;;;WAED,4CACC5C,MADD,EAE4B;MAC3B,QAAQA,MAAM,CAACM,MAAf;QACC,KAAK,kBAAL;UACC,OAAO,KAAK+B,wBAAL,CAA8BrC,MAAM,CAACmC,UAArC,CAAP;;QACD;UACC,OAAO,SAAP;MAJF;IAMA;;;WAED,kCACCA,UADD,EAEoB;MACnB,OAAOA,UAAU,CAACI,cAAX,IAA6BJ,UAAU,CAACc,eAAX,GAA6B,CAA1D,GACJ,QADI,GAEJ,QAFH;IAGA;;;WAED,qCACCd,UADD,EAE2B;MAAA;;MAC1B,OAAOA,UAAU,CAAC9B,WAAX,CAAuB6C,GAAvB,CAA2B,UAACvC,IAAD;QAAA,OAAU,MAAI,CAACK,oBAAL,CAA0BL,IAA1B,CAAV;MAAA,CAA3B,CAAP;IACA;;;WAED,8BAA6BA,IAA7B,EAKE;MAAA;;MACD,OAAO;QACNwC,IAAI,EAAExC,IAAI,CAACyC,KADL;QAEN9C,MAAM,EAAEK,IAAI,CAACL,MAFP;QAGN+C,aAAa,EAAE1C,IAAI,CAAC2C,eAHd;QAINC,QAAQ,oBAAE5C,IAAI,CAAC4C,QAAP,2DAAmB;MAJrB,CAAP;IAMA;;;WAED,sBAAuC;MACtC,OAAO,KAAKlD,WAAZ;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/MockProgramFactory.ts"],"names":["MockProgramFactory","_lastCommand","commandInvocations","descriptionInvocations","actionInvocations","optionInvocations","aliasesInvocations","commands","actionHandler","_options","command","str","push","description","aliases","action","cb","options","option","hint","defaultValue"],"mappings":";;;;;;;;;;;;;;;;;;;IAiBqBA,kB;AACpB,gCAAsB;AAAA;AAAE;;;;WAExB,mBAAqC;AACpC;AACA,aAAO;AACNC,QAAAA,YAAY,EAAE,EADR;AAENC,QAAAA,kBAAkB,EAAE,EAFd;AAGNC,QAAAA,sBAAsB,EAAE,EAHlB;AAINC,QAAAA,iBAAiB,EAAE,EAJb;AAKNC,QAAAA,iBAAiB,EAAE,EALb;AAMNC,QAAAA,kBAAkB,EAAE,EANd;AAONC,QAAAA,QAAQ,EAAE,EAPJ;AAQNC,QAAAA,aAAa;AAAA,6GAAE,iBAAOC,QAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,WARP;AASNC,QAAAA,OATM,mBASEC,GATF,EASe;AACpB,eAAKT,kBAAL,CAAwBU,IAAxB,CAA6BD,GAA7B;AACA,eAAKV,YAAL,GAAoBU,GAApB;AAEA,iBAAO,IAAP;AACA,SAdK;AAeN;AACAE,QAAAA,WAhBM,uBAgBMF,GAhBN,EAgBmB;AACxB,eAAKR,sBAAL,CAA4BS,IAA5B,CAAiC;AAChCF,YAAAA,OAAO,EAAE,KAAKT,YADkB;AAEhCY,YAAAA,WAAW,EAAEF;AAFmB,WAAjC;AAIA,iBAAO,IAAP;AACA,SAtBK;AAuBN;AACAG,QAAAA,OAxBM,mBAwBEA,QAxBF,EAwBqB;AAAA;;AAC1B,wCAAKR,kBAAL,EAAwBM,IAAxB,kEAAgCE,QAAhC;;AACA,iBAAO,IAAP;AACA,SA3BK;AA4BNC,QAAAA,MA5BM,kBA4BCC,EA5BD,EA4BwC;AAC7C,eAAKZ,iBAAL,CAAuBQ,IAAvB,CAA4B,KAAKX,YAAjC;;AAEA,eAAKO,aAAL;AAAA,qGAAqB,kBAAOS,OAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BACdD,EAAE,CAACC,OAAD,EAAU,EAAV,CADY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAArB;;AAAA;AAAA;AAAA;AAAA;;AAIA,iBAAO,IAAP;AACA,SApCK;AAqCN;AACAC,QAAAA,MAtCM,kBAsCCA,OAtCD,EAsCiBC,IAtCjB,EAsC+BC,YAtC/B,EAsCqD;AAC1D,eAAKf,iBAAL,CAAuBO,IAAvB,CAA4B;AAC3BF,YAAAA,OAAO,EAAE,KAAKT,YADa;AAE3BiB,YAAAA,MAAM,EAANA,OAF2B;AAG3BC,YAAAA,IAAI,EAAJA,IAH2B;AAI3BC,YAAAA,YAAY,EAAZA;AAJ2B,WAA5B;AAMA,iBAAO,IAAP;AACA;AA9CK,OAAP;AAgDA","sourcesContent":["import { CommanderStatic } from 'commander'\n\nexport type MockProgram = CommanderStatic['program'] & {\n\tactionHandler: (options: Record<string, string>) => Promise<void>\n\tdescriptionInvocations: { command: string; description: string }[]\n\toptionInvocations: {\n\t\tcommand: string\n\t\toption: string\n\t\thint: string\n\t\tdefaultValue: string\n\t}[]\n\t_lastCommand: string\n\tcommandInvocations: string[]\n\tactionInvocations: string[]\n\taliasesInvocations: string[]\n}\n\nexport default class MockProgramFactory {\n\tprivate constructor() {}\n\n\tpublic static Program(): MockProgram {\n\t\t// @ts-ignore\n\t\treturn {\n\t\t\t_lastCommand: '',\n\t\t\tcommandInvocations: [],\n\t\t\tdescriptionInvocations: [],\n\t\t\tactionInvocations: [],\n\t\t\toptionInvocations: [],\n\t\t\taliasesInvocations: [],\n\t\t\tcommands: [],\n\t\t\tactionHandler: async (_options?: Record<string, string>) => {},\n\t\t\tcommand(str: string) {\n\t\t\t\tthis.commandInvocations.push(str)\n\t\t\t\tthis._lastCommand = str\n\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\tdescription(str: string) {\n\t\t\t\tthis.descriptionInvocations.push({\n\t\t\t\t\tcommand: this._lastCommand,\n\t\t\t\t\tdescription: str,\n\t\t\t\t})\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\taliases(aliases: string[]) {\n\t\t\t\tthis.aliasesInvocations.push(...aliases)\n\t\t\t\treturn this\n\t\t\t},\n\t\t\taction(cb: (...args: any[]) => Promise<void>) {\n\t\t\t\tthis.actionInvocations.push(this._lastCommand)\n\n\t\t\t\tthis.actionHandler = async (options: Record<string, string>) => {\n\t\t\t\t\tawait cb(options, {})\n\t\t\t\t}\n\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\toption(option: string, hint: string, defaultValue: string) {\n\t\t\t\tthis.optionInvocations.push({\n\t\t\t\t\tcommand: this._lastCommand,\n\t\t\t\t\toption,\n\t\t\t\t\thint,\n\t\t\t\t\tdefaultValue,\n\t\t\t\t})\n\t\t\t\treturn this\n\t\t\t},\n\t\t}\n\t}\n}\n"],"file":"MockProgramFactory.js"}
1
+ {"version":3,"file":"MockProgramFactory.js","names":["MockProgramFactory","_lastCommand","commandInvocations","descriptionInvocations","actionInvocations","optionInvocations","aliasesInvocations","commands","actionHandler","_options","command","str","push","description","aliases","action","cb","options","option","hint","defaultValue"],"sources":["../../src/tests/MockProgramFactory.ts"],"sourcesContent":["import { CommanderStatic } from 'commander'\n\nexport type MockProgram = CommanderStatic['program'] & {\n\tactionHandler: (options: Record<string, string>) => Promise<void>\n\tdescriptionInvocations: { command: string; description: string }[]\n\toptionInvocations: {\n\t\tcommand: string\n\t\toption: string\n\t\thint: string\n\t\tdefaultValue: string\n\t}[]\n\t_lastCommand: string\n\tcommandInvocations: string[]\n\tactionInvocations: string[]\n\taliasesInvocations: string[]\n}\n\nexport default class MockProgramFactory {\n\tprivate constructor() {}\n\n\tpublic static Program(): MockProgram {\n\t\t// @ts-ignore\n\t\treturn {\n\t\t\t_lastCommand: '',\n\t\t\tcommandInvocations: [],\n\t\t\tdescriptionInvocations: [],\n\t\t\tactionInvocations: [],\n\t\t\toptionInvocations: [],\n\t\t\taliasesInvocations: [],\n\t\t\tcommands: [],\n\t\t\tactionHandler: async (_options?: Record<string, string>) => {},\n\t\t\tcommand(str: string) {\n\t\t\t\tthis.commandInvocations.push(str)\n\t\t\t\tthis._lastCommand = str\n\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\tdescription(str: string) {\n\t\t\t\tthis.descriptionInvocations.push({\n\t\t\t\t\tcommand: this._lastCommand,\n\t\t\t\t\tdescription: str,\n\t\t\t\t})\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\taliases(aliases: string[]) {\n\t\t\t\tthis.aliasesInvocations.push(...aliases)\n\t\t\t\treturn this\n\t\t\t},\n\t\t\taction(cb: (...args: any[]) => Promise<void>) {\n\t\t\t\tthis.actionInvocations.push(this._lastCommand)\n\n\t\t\t\tthis.actionHandler = async (options: Record<string, string>) => {\n\t\t\t\t\tawait cb(options, {})\n\t\t\t\t}\n\n\t\t\t\treturn this\n\t\t\t},\n\t\t\t//@ts-ignore\n\t\t\toption(option: string, hint: string, defaultValue: string) {\n\t\t\t\tthis.optionInvocations.push({\n\t\t\t\t\tcommand: this._lastCommand,\n\t\t\t\t\toption,\n\t\t\t\t\thint,\n\t\t\t\t\tdefaultValue,\n\t\t\t\t})\n\t\t\t\treturn this\n\t\t\t},\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;IAiBqBA,kB;EACpB,8BAAsB;IAAA;EAAE;;;;WAExB,mBAAqC;MACpC;MACA,OAAO;QACNC,YAAY,EAAE,EADR;QAENC,kBAAkB,EAAE,EAFd;QAGNC,sBAAsB,EAAE,EAHlB;QAINC,iBAAiB,EAAE,EAJb;QAKNC,iBAAiB,EAAE,EALb;QAMNC,kBAAkB,EAAE,EANd;QAONC,QAAQ,EAAE,EAPJ;QAQNC,aAAa;UAAA,mGAAE,iBAAOC,QAAP;YAAA;cAAA;gBAAA;kBAAA;kBAAA;oBAAA;gBAAA;cAAA;YAAA;UAAA,CAAF;;UAAA;YAAA;UAAA;;UAAA;QAAA,GARP;QASNC,OATM,mBASEC,GATF,EASe;UACpB,KAAKT,kBAAL,CAAwBU,IAAxB,CAA6BD,GAA7B;UACA,KAAKV,YAAL,GAAoBU,GAApB;UAEA,OAAO,IAAP;QACA,CAdK;QAeN;QACAE,WAhBM,uBAgBMF,GAhBN,EAgBmB;UACxB,KAAKR,sBAAL,CAA4BS,IAA5B,CAAiC;YAChCF,OAAO,EAAE,KAAKT,YADkB;YAEhCY,WAAW,EAAEF;UAFmB,CAAjC;UAIA,OAAO,IAAP;QACA,CAtBK;QAuBN;QACAG,OAxBM,mBAwBEA,QAxBF,EAwBqB;UAAA;;UAC1B,8BAAKR,kBAAL,EAAwBM,IAAxB,kEAAgCE,QAAhC;;UACA,OAAO,IAAP;QACA,CA3BK;QA4BNC,MA5BM,kBA4BCC,EA5BD,EA4BwC;UAC7C,KAAKZ,iBAAL,CAAuBQ,IAAvB,CAA4B,KAAKX,YAAjC;;UAEA,KAAKO,aAAL;YAAA,yFAAqB,kBAAOS,OAAP;cAAA;gBAAA;kBAAA;oBAAA;sBAAA;sBAAA,OACdD,EAAE,CAACC,OAAD,EAAU,EAAV,CADY;;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CAArB;;YAAA;cAAA;YAAA;UAAA;;UAIA,OAAO,IAAP;QACA,CApCK;QAqCN;QACAC,MAtCM,kBAsCCA,OAtCD,EAsCiBC,IAtCjB,EAsC+BC,YAtC/B,EAsCqD;UAC1D,KAAKf,iBAAL,CAAuBO,IAAvB,CAA4B;YAC3BF,OAAO,EAAE,KAAKT,YADa;YAE3BiB,MAAM,EAANA,OAF2B;YAG3BC,IAAI,EAAJA,IAH2B;YAI3BC,YAAY,EAAZA;UAJ2B,CAA5B;UAMA,OAAO,IAAP;QACA;MA9CK,CAAP;IAgDA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/buildTestCache.ts"],"names":["require","config","packageJsonContents","diskUtil","readFile","resolvePath","__dirname","packageJson","JSON","parse","testSkillCache","testKeys","Object","keys","remaining","length","term","TerminalInterface","start","Date","getTime","testSkillsToCache","process","env","TEST_SKILLS_TO_CACHE","undefined","onlyInstall","split","map","t","trim","shouldRunSequentially","argv","find","a","maxSimultaneous","MAX_SIMULTANEOUS_SKILL_CACHERS","totalSimultaneous","progressInterval","doesSupportColor","didMessagesChange","run","getTimeSpent","renderLine","renderWarning","cacheOrSkip","setup","cache","lineNum","cwd","cacheKey","fixture","options","doesDirExist","GraphicsTextEffect","Italic","deleteDir","Green","installFeatures","durationUtil","msToFriendly","Bold","Red","stack","importCacheDir","testUtil","resolveTestDir","ImportService","setCacheDir","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","FeatureFixture","ui","shouldGenerateCacheIfMissing","apiClientFactory","getApiClientFactory","cacheTracker","loadCacheTracker","indexOf","Yellow","message","effects","messages","render","console","log","now","delta","clear","WILL_BUILD_CACHE_SCRIPT","renderHeadline","moveCursorTo","eraseLine","stopLoading","startLoading","dropInS","clearBelowCursor","setInterval","Promise","all","idx","promises","resolve","setTimeout","then","DID_BUILD_CACHE_SCRIPT","clearInterval","err","renderError"],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nimport durationUtil from '../utilities/duration.utility'\nimport FeatureFixture from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nrequire('dotenv').config()\n\nconst packageJsonContents = diskUtil.readFile(\n\tdiskUtil.resolvePath(__dirname, '..', '..', 'package.json')\n)\n\nconst packageJson = JSON.parse(packageJsonContents)\nconst { testSkillCache } = packageJson\nconst testKeys = Object.keys(testSkillCache)\n\nlet remaining = testKeys.length\nconst term = new TerminalInterface(__dirname, true)\nconst start = new Date().getTime()\nconst testSkillsToCache =\n\tprocess.env.TEST_SKILLS_TO_CACHE === '*'\n\t\t? undefined\n\t\t: process.env.TEST_SKILLS_TO_CACHE\nconst onlyInstall = testSkillsToCache?.split(',').map((t) => t.trim()) as\n\t| string[]\n\t| undefined\n\nconst shouldRunSequentially = !!process.argv.find(\n\t(a) => a === '--shouldRunSequentially=true' || a === '--shouldRunSequentially'\n)\nconst maxSimultaneous = process.env.MAX_SIMULTANEOUS_SKILL_CACHERS ?? 10\nlet totalSimultaneous = 0\nlet progressInterval: any\nconst doesSupportColor = TerminalInterface.doesSupportColor()\n\nlet didMessagesChange = true\n\nasync function run() {\n\tterm.clear()\n\n\tif (process.env.WILL_BUILD_CACHE_SCRIPT) {\n\t\tterm.renderLine('Running pre build cache script')\n\t\texecSync(process.env.WILL_BUILD_CACHE_SCRIPT)\n\t}\n\n\tterm.renderHeadline(`Found ${testKeys.length} skills to cache.`)\n\n\tlet messages: [string, any][] = []\n\n\tconst render = async () => {\n\t\tif (didMessagesChange) {\n\t\t\tterm.moveCursorTo(0, 6)\n\n\t\t\tfor (const message of messages) {\n\t\t\t\tterm.eraseLine()\n\t\t\t\tterm.renderLine(message[0], message[1])\n\t\t\t}\n\n\t\t\tawait term.stopLoading()\n\n\t\t\tterm.eraseLine()\n\t\t\tterm.renderLine('')\n\t\t}\n\n\t\tdidMessagesChange = false\n\n\t\tawait term.startLoading(\n\t\t\t`${`Building ${remaining} skill${dropInS(\n\t\t\t\tremaining\n\t\t\t)}`}. ${durationUtil.msToFriendly(getTimeSpent())}`\n\t\t)\n\n\t\tterm.clearBelowCursor()\n\t}\n\n\tprogressInterval = doesSupportColor && setInterval(render, 1000)\n\n\tfunction getTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - start\n\t\treturn delta\n\t}\n\n\tfunction renderLine(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tfunction renderWarning(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tif (doesSupportColor) {\n\t\tawait term.startLoading(\n\t\t\t`Building ${remaining} remaining skill${dropInS(remaining)}...`\n\t\t)\n\t}\n\n\tif (shouldRunSequentially) {\n\t\tawait Promise.all(\n\t\t\ttestKeys.map((cacheKey, idx) => cacheOrSkip(idx, cacheKey))\n\t\t)\n\t} else {\n\t\tconst promises = testKeys.map(async (cacheKey, idx) => {\n\t\t\twhile (totalSimultaneous >= maxSimultaneous) {\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 1000))\n\t\t\t}\n\t\t\ttotalSimultaneous++\n\t\t\tawait cacheOrSkip(idx, cacheKey)\n\t\t\ttotalSimultaneous--\n\t\t})\n\n\t\tawait Promise.all(promises)\n\t}\n\n\tawait term.stopLoading()\n\tterm.renderLine(`Done! ${durationUtil.msToFriendly(getTimeSpent())}`)\n\n\tasync function cacheOrSkip(lineNum: number, cacheKey: string) {\n\t\tconst { cacheTracker, cwd, fixture, options } = setup(cacheKey)\n\n\t\tif (onlyInstall && onlyInstall.indexOf(cacheKey) === -1) {\n\t\t\trenderLine(lineNum, `Skipping '${cacheKey}'.`, [\n\t\t\t\tGraphicsTextEffect.Yellow,\n\t\t\t])\n\t\t\tremaining--\n\t\t} else if (\n\t\t\tcacheTracker[cacheKey] &&\n\t\t\tdiskUtil.doesDirExist(diskUtil.resolvePath(cwd, 'node_modules'))\n\t\t) {\n\t\t\tremaining--\n\t\t\trenderLine(lineNum, `'${cacheKey}' already cached. Skipping...`, [\n\t\t\t\tGraphicsTextEffect.Italic,\n\t\t\t])\n\t\t} else {\n\t\t\tawait cache(lineNum, cwd, cacheKey, fixture, options)\n\t\t\tremaining--\n\t\t}\n\t}\n\n\tfunction setup(cacheKey: string) {\n\t\tconst options = testSkillCache[cacheKey]\n\n\t\tconst importCacheDir = testUtil.resolveTestDir('spruce-cli-import-cache')\n\t\tImportService.setCacheDir(importCacheDir)\n\n\t\tconst serviceFactory = new ServiceFactory()\n\t\tconst cwd = testUtil.resolveTestDir(cacheKey)\n\n\t\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\t\tconst fixture = new FeatureFixture({\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\tui: new TerminalInterface(cwd),\n\t\t\tshouldGenerateCacheIfMissing: true,\n\t\t\tapiClientFactory: mercuryFixture.getApiClientFactory(),\n\t\t})\n\n\t\tconst cacheTracker = fixture.loadCacheTracker()\n\t\treturn { cacheTracker, cwd, fixture, options }\n\t}\n\n\tasync function cache(\n\t\tlineNum: number,\n\t\tcwd: string,\n\t\tcacheKey: string,\n\t\tfixture: FeatureFixture,\n\t\toptions: any\n\t) {\n\t\tif (diskUtil.doesDirExist(cwd)) {\n\t\t\trenderWarning(\n\t\t\t\tlineNum,\n\t\t\t\t`Found cached '${cacheKey}', but deleted it since it was not in the cache tracker...`,\n\t\t\t\t[GraphicsTextEffect.Italic]\n\t\t\t)\n\t\t\tdiskUtil.deleteDir(cwd)\n\t\t}\n\n\t\trenderLine(lineNum, `Starting to build '${cacheKey}'...`, [\n\t\t\tGraphicsTextEffect.Green,\n\t\t])\n\n\t\ttry {\n\t\t\tawait fixture.installFeatures(options, cacheKey)\n\t\t\trenderLine(\n\t\t\t\tlineNum,\n\t\t\t\t`Done caching '${cacheKey}'. ${\n\t\t\t\t\tremaining - 1\n\t\t\t\t} remaining (${durationUtil.msToFriendly(getTimeSpent())})...`,\n\t\t\t\t[GraphicsTextEffect.Green, GraphicsTextEffect.Bold]\n\t\t\t)\n\t\t} catch (err: any) {\n\t\t\trenderLine(lineNum, `Error caching '${cacheKey}'...`, [\n\t\t\t\tGraphicsTextEffect.Red,\n\t\t\t\tGraphicsTextEffect.Bold,\n\t\t\t])\n\n\t\t\trenderLine(lineNum, `Error caching ${cacheKey}:\\n\\n${err.stack}`)\n\t\t}\n\t}\n}\n\nfunction dropInS(remaining: number) {\n\treturn remaining === 1 ? '' : 's'\n}\n\nvoid run()\n\t.then(() => {\n\t\tif (process.env.DID_BUILD_CACHE_SCRIPT) {\n\t\t\tterm.renderLine('Running pre build cache script')\n\t\t\texecSync(process.env.DID_BUILD_CACHE_SCRIPT)\n\t\t}\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n"],"file":"buildTestCache.js"}
1
+ {"version":3,"file":"buildTestCache.js","names":["require","config","packageJsonContents","diskUtil","readFile","resolvePath","__dirname","packageJson","JSON","parse","testSkillCache","testKeys","Object","keys","remaining","length","term","TerminalInterface","start","Date","getTime","testSkillsToCache","process","env","TEST_SKILLS_TO_CACHE","undefined","onlyInstall","split","map","t","trim","shouldRunSequentially","argv","find","a","maxSimultaneous","MAX_SIMULTANEOUS_SKILL_CACHERS","totalSimultaneous","progressInterval","doesSupportColor","didMessagesChange","run","getTimeSpent","renderLine","renderWarning","cacheOrSkip","setup","cache","lineNum","cwd","cacheKey","fixture","options","doesDirExist","GraphicsTextEffect","Italic","deleteDir","Green","installFeatures","durationUtil","msToFriendly","Bold","Red","stack","importCacheDir","testUtil","resolveTestDir","ImportService","setCacheDir","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","FeatureFixture","ui","shouldGenerateCacheIfMissing","apiClientFactory","getApiClientFactory","cacheTracker","loadCacheTracker","indexOf","Yellow","message","effects","messages","render","console","log","now","delta","clear","WILL_BUILD_CACHE_SCRIPT","renderHeadline","moveCursorTo","eraseLine","stopLoading","startLoading","dropInS","clearBelowCursor","setInterval","Promise","all","idx","promises","resolve","setTimeout","then","DID_BUILD_CACHE_SCRIPT","clearInterval","err","renderError"],"sources":["../../src/tests/buildTestCache.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nimport durationUtil from '../utilities/duration.utility'\nimport FeatureFixture from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nrequire('dotenv').config()\n\nconst packageJsonContents = diskUtil.readFile(\n\tdiskUtil.resolvePath(__dirname, '..', '..', 'package.json')\n)\n\nconst packageJson = JSON.parse(packageJsonContents)\nconst { testSkillCache } = packageJson\nconst testKeys = Object.keys(testSkillCache)\n\nlet remaining = testKeys.length\nconst term = new TerminalInterface(__dirname, true)\nconst start = new Date().getTime()\nconst testSkillsToCache =\n\tprocess.env.TEST_SKILLS_TO_CACHE === '*'\n\t\t? undefined\n\t\t: process.env.TEST_SKILLS_TO_CACHE\nconst onlyInstall = testSkillsToCache?.split(',').map((t) => t.trim()) as\n\t| string[]\n\t| undefined\n\nconst shouldRunSequentially = !!process.argv.find(\n\t(a) => a === '--shouldRunSequentially=true' || a === '--shouldRunSequentially'\n)\nconst maxSimultaneous = process.env.MAX_SIMULTANEOUS_SKILL_CACHERS ?? 10\nlet totalSimultaneous = 0\nlet progressInterval: any\nconst doesSupportColor = TerminalInterface.doesSupportColor()\n\nlet didMessagesChange = true\n\nasync function run() {\n\tterm.clear()\n\n\tif (process.env.WILL_BUILD_CACHE_SCRIPT) {\n\t\tterm.renderLine('Running pre build cache script')\n\t\texecSync(process.env.WILL_BUILD_CACHE_SCRIPT)\n\t}\n\n\tterm.renderHeadline(`Found ${testKeys.length} skills to cache.`)\n\n\tlet messages: [string, any][] = []\n\n\tconst render = async () => {\n\t\tif (didMessagesChange) {\n\t\t\tterm.moveCursorTo(0, 6)\n\n\t\t\tfor (const message of messages) {\n\t\t\t\tterm.eraseLine()\n\t\t\t\tterm.renderLine(message[0], message[1])\n\t\t\t}\n\n\t\t\tawait term.stopLoading()\n\n\t\t\tterm.eraseLine()\n\t\t\tterm.renderLine('')\n\t\t}\n\n\t\tdidMessagesChange = false\n\n\t\tawait term.startLoading(\n\t\t\t`${`Building ${remaining} skill${dropInS(\n\t\t\t\tremaining\n\t\t\t)}`}. ${durationUtil.msToFriendly(getTimeSpent())}`\n\t\t)\n\n\t\tterm.clearBelowCursor()\n\t}\n\n\tprogressInterval = doesSupportColor && setInterval(render, 1000)\n\n\tfunction getTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - start\n\t\treturn delta\n\t}\n\n\tfunction renderLine(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tfunction renderWarning(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tif (doesSupportColor) {\n\t\tawait term.startLoading(\n\t\t\t`Building ${remaining} remaining skill${dropInS(remaining)}...`\n\t\t)\n\t}\n\n\tif (shouldRunSequentially) {\n\t\tawait Promise.all(\n\t\t\ttestKeys.map((cacheKey, idx) => cacheOrSkip(idx, cacheKey))\n\t\t)\n\t} else {\n\t\tconst promises = testKeys.map(async (cacheKey, idx) => {\n\t\t\twhile (totalSimultaneous >= maxSimultaneous) {\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 1000))\n\t\t\t}\n\t\t\ttotalSimultaneous++\n\t\t\tawait cacheOrSkip(idx, cacheKey)\n\t\t\ttotalSimultaneous--\n\t\t})\n\n\t\tawait Promise.all(promises)\n\t}\n\n\tawait term.stopLoading()\n\tterm.renderLine(`Done! ${durationUtil.msToFriendly(getTimeSpent())}`)\n\n\tasync function cacheOrSkip(lineNum: number, cacheKey: string) {\n\t\tconst { cacheTracker, cwd, fixture, options } = setup(cacheKey)\n\n\t\tif (onlyInstall && onlyInstall.indexOf(cacheKey) === -1) {\n\t\t\trenderLine(lineNum, `Skipping '${cacheKey}'.`, [\n\t\t\t\tGraphicsTextEffect.Yellow,\n\t\t\t])\n\t\t\tremaining--\n\t\t} else if (\n\t\t\tcacheTracker[cacheKey] &&\n\t\t\tdiskUtil.doesDirExist(diskUtil.resolvePath(cwd, 'node_modules'))\n\t\t) {\n\t\t\tremaining--\n\t\t\trenderLine(lineNum, `'${cacheKey}' already cached. Skipping...`, [\n\t\t\t\tGraphicsTextEffect.Italic,\n\t\t\t])\n\t\t} else {\n\t\t\tawait cache(lineNum, cwd, cacheKey, fixture, options)\n\t\t\tremaining--\n\t\t}\n\t}\n\n\tfunction setup(cacheKey: string) {\n\t\tconst options = testSkillCache[cacheKey]\n\n\t\tconst importCacheDir = testUtil.resolveTestDir('spruce-cli-import-cache')\n\t\tImportService.setCacheDir(importCacheDir)\n\n\t\tconst serviceFactory = new ServiceFactory()\n\t\tconst cwd = testUtil.resolveTestDir(cacheKey)\n\n\t\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\t\tconst fixture = new FeatureFixture({\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\tui: new TerminalInterface(cwd),\n\t\t\tshouldGenerateCacheIfMissing: true,\n\t\t\tapiClientFactory: mercuryFixture.getApiClientFactory(),\n\t\t})\n\n\t\tconst cacheTracker = fixture.loadCacheTracker()\n\t\treturn { cacheTracker, cwd, fixture, options }\n\t}\n\n\tasync function cache(\n\t\tlineNum: number,\n\t\tcwd: string,\n\t\tcacheKey: string,\n\t\tfixture: FeatureFixture,\n\t\toptions: any\n\t) {\n\t\tif (diskUtil.doesDirExist(cwd)) {\n\t\t\trenderWarning(\n\t\t\t\tlineNum,\n\t\t\t\t`Found cached '${cacheKey}', but deleted it since it was not in the cache tracker...`,\n\t\t\t\t[GraphicsTextEffect.Italic]\n\t\t\t)\n\t\t\tdiskUtil.deleteDir(cwd)\n\t\t}\n\n\t\trenderLine(lineNum, `Starting to build '${cacheKey}'...`, [\n\t\t\tGraphicsTextEffect.Green,\n\t\t])\n\n\t\ttry {\n\t\t\tawait fixture.installFeatures(options, cacheKey)\n\t\t\trenderLine(\n\t\t\t\tlineNum,\n\t\t\t\t`Done caching '${cacheKey}'. ${\n\t\t\t\t\tremaining - 1\n\t\t\t\t} remaining (${durationUtil.msToFriendly(getTimeSpent())})...`,\n\t\t\t\t[GraphicsTextEffect.Green, GraphicsTextEffect.Bold]\n\t\t\t)\n\t\t} catch (err: any) {\n\t\t\trenderLine(lineNum, `Error caching '${cacheKey}'...`, [\n\t\t\t\tGraphicsTextEffect.Red,\n\t\t\t\tGraphicsTextEffect.Bold,\n\t\t\t])\n\n\t\t\trenderLine(lineNum, `Error caching ${cacheKey}:\\n\\n${err.stack}`)\n\t\t}\n\t}\n}\n\nfunction dropInS(remaining: number) {\n\treturn remaining === 1 ? '' : 's'\n}\n\nvoid run()\n\t.then(() => {\n\t\tif (process.env.DID_BUILD_CACHE_SCRIPT) {\n\t\t\tterm.renderLine('Running pre build cache script')\n\t\t\texecSync(process.env.DID_BUILD_CACHE_SCRIPT)\n\t\t}\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/cleanTestCache.ts"],"names":["require","config","term","TerminalInterface","__dirname","dir","testUtil","resolveTestDir","process","env","CLEAN_CACHE_SCRIPT","renderHeadline","diskUtil","deleteDir","renderLine","GraphicsTextEffect","Green"],"mappings":"AAAA;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB;;AAEA,IAAMC,IAAI,GAAG,IAAIC,6BAAJ,CAAsBC,SAAtB,CAAb;;AAEA,IAAMC,GAAG,GAAGC,iBAASC,cAAT,EAAZ;;AAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,kBAAhB,EAAoC;AACnCR,EAAAA,IAAI,CAACS,cAAL,CAAoB,4BAApB;AACA,+BAASH,OAAO,CAACC,GAAR,CAAYC,kBAArB;AACA,CAHD,MAGO;AACNR,EAAAA,IAAI,CAACS,cAAL,kCAA8CN,GAA9C;;AACAO,6BAASC,SAAT,CAAmBR,GAAnB;AACA;;AAEDH,IAAI,CAACY,UAAL,CAAgB,qBAAhB,EAAuC,CAACC,sCAAmBC,KAApB,CAAvC","sourcesContent":["#!/usr/bin/env node\n\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nrequire('dotenv').config()\n\nconst term = new TerminalInterface(__dirname)\n\nconst dir = testUtil.resolveTestDir()\n\nif (process.env.CLEAN_CACHE_SCRIPT) {\n\tterm.renderHeadline('Running CLEAN_CACHE_SCRIPT')\n\texecSync(process.env.CLEAN_CACHE_SCRIPT)\n} else {\n\tterm.renderHeadline(`Clearing test cache at ${dir}.`)\n\tdiskUtil.deleteDir(dir)\n}\n\nterm.renderLine('Test cache cleared!', [GraphicsTextEffect.Green])\n"],"file":"cleanTestCache.js"}
1
+ {"version":3,"file":"cleanTestCache.js","names":["require","config","term","TerminalInterface","__dirname","dir","testUtil","resolveTestDir","process","env","CLEAN_CACHE_SCRIPT","renderHeadline","diskUtil","deleteDir","renderLine","GraphicsTextEffect","Green"],"sources":["../../src/tests/cleanTestCache.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nrequire('dotenv').config()\n\nconst term = new TerminalInterface(__dirname)\n\nconst dir = testUtil.resolveTestDir()\n\nif (process.env.CLEAN_CACHE_SCRIPT) {\n\tterm.renderHeadline('Running CLEAN_CACHE_SCRIPT')\n\texecSync(process.env.CLEAN_CACHE_SCRIPT)\n} else {\n\tterm.renderHeadline(`Clearing test cache at ${dir}.`)\n\tdiskUtil.deleteDir(dir)\n}\n\nterm.renderLine('Test cache cleared!', [GraphicsTextEffect.Green])\n"],"mappings":"AAAA;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB;;AAEA,IAAMC,IAAI,GAAG,IAAIC,6BAAJ,CAAsBC,SAAtB,CAAb;;AAEA,IAAMC,GAAG,GAAGC,iBAASC,cAAT,EAAZ;;AAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,kBAAhB,EAAoC;EACnCR,IAAI,CAACS,cAAL,CAAoB,4BAApB;EACA,6BAASH,OAAO,CAACC,GAAR,CAAYC,kBAArB;AACA,CAHD,MAGO;EACNR,IAAI,CAACS,cAAL,kCAA8CN,GAA9C;;EACAO,2BAASC,SAAT,CAAmBR,GAAnB;AACA;;AAEDH,IAAI,CAACY,UAAL,CAAgB,qBAAhB,EAAuC,CAACC,sCAAmBC,KAApB,CAAvC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/cleanTestData.ts"],"names":["demoNumbers","Object","values","demoNumbersByName","cwd","process","term","TerminalInterface","run","renderHeadline","length","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","apiClientFactory","getApiClientFactory","storeFactory","StoreFactory","homeDir","osUtil","homedir","emitter","CliGlobalEmitter","Emitter","personFixture","PersonFixture","orgFixture","OrganizationFixture","skillFixture","SkillFixture","number","renderLine","loginAsDemoPerson","clearAllOrgs","totalOrgs","clearAllSkills","totalSkills","disconnectAll","then","err","renderError","exit"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAcC,iBAAd,CAApB;AAEA,IAAMC,GAAG,GAAGC,OAAO,CAACD,GAAR,EAAZ;AACA,IAAME,IAAI,GAAG,IAAIC,6BAAJ,CAAsBH,GAAtB,EAA2B,IAA3B,CAAb;;SAEeI,G;;;;;uFAAf;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCF,YAAAA,IAAI,CAACG,cAAL,gCACyBT,WAAW,CAACU,MADrC;AAIMC,YAAAA,cALP,GAKwB,IAAIC,0BAAJ,EALxB;AAMOC,YAAAA,cANP,GAMwB,IAAIC,0BAAJ,CAAmBV,GAAnB,EAAwBO,cAAxB,CANxB;AAOOI,YAAAA,gBAPP,GAO0BF,cAAc,CAACG,mBAAf,EAP1B;AAQOC,YAAAA,YARP,GAQsB,IAAIC,wBAAJ,CAAiB;AACrCd,cAAAA,GAAG,EAAHA,GADqC;AAErCO,cAAAA,cAAc,EAAdA,cAFqC;AAGrCQ,cAAAA,OAAO,EAAEC,eAAOC,OAAP,EAH4B;AAIrCC,cAAAA,OAAO,EAAEC,0BAAiBC,OAAjB,EAJ4B;AAKrCT,cAAAA,gBAAgB,EAAhBA;AALqC,aAAjB,CARtB;AAgBOU,YAAAA,aAhBP,GAgBuB,IAAIC,yBAAJ,CAAkBX,gBAAlB,CAhBvB;AAiBOY,YAAAA,UAjBP,GAiBoB,IAAIC,+BAAJ,CAAwBH,aAAxB,EAAuCR,YAAvC,CAjBpB;AAkBOY,YAAAA,YAlBP,GAkBsB,IAAIC,wBAAJ,CACpBL,aADoB,EAEpBR,YAFoB,EAGpBF,gBAHoB,CAlBtB;AAAA,mDAwBsBf,WAxBtB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAwBY+B,YAAAA,MAxBZ;AAyBEzB,YAAAA,IAAI,CAAC0B,UAAL,gCAAwCD,MAAxC;AACAzB,YAAAA,IAAI,CAAC0B,UAAL;AA1BF;AAAA,mBA4BQP,aAAa,CAACQ,iBAAd,CAAgCF,MAAhC,CA5BR;;AAAA;AA8BEzB,YAAAA,IAAI,CAAC0B,UAAL;AAEA1B,YAAAA,IAAI,CAAC0B,UAAL;AAhCF;AAAA,mBAiC0BL,UAAU,CAACO,YAAX,EAjC1B;;AAAA;AAiCQC,YAAAA,SAjCR;AAkCE7B,YAAAA,IAAI,CAAC0B,UAAL,WAAmBG,SAAnB;AAEA7B,YAAAA,IAAI,CAAC0B,UAAL,CAAgB,iBAAhB;AApCF;AAAA,mBAqC4BH,YAAY,CAACO,cAAb,EArC5B;;AAAA;AAqCQC,YAAAA,WArCR;AAsCE/B,YAAAA,IAAI,CAAC0B,UAAL,WAAmBK,WAAnB;;AAtCF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA,mBAyCOxB,cAAc,CAACyB,aAAf,EAzCP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA4CA,KAAK9B,GAAG,GACN+B,IADG,CACE,YAAM;AACXjC,EAAAA,IAAI,CAAC0B,UAAL,CAAgB,mBAAhB;AACA,CAHG,WAIG,UAACQ,GAAD,EAAS;AACflC,EAAAA,IAAI,CAACmC,WAAL,CAAiBD,GAAjB;AACAnC,EAAAA,OAAO,CAACqC,IAAR,CAAa,CAAb;AACA,CAPG,CAAL","sourcesContent":["import osUtil from 'os'\nimport CliGlobalEmitter from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport * as demoNumbersByName from '../tests/constants'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\n\nconst demoNumbers = Object.values(demoNumbersByName)\n\nconst cwd = process.cwd()\nconst term = new TerminalInterface(cwd, true)\n\nasync function run() {\n\tterm.renderHeadline(\n\t\t`Starting cleanup for ${demoNumbers.length} demo numbers.`\n\t)\n\n\tconst serviceFactory = new ServiceFactory()\n\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\tconst apiClientFactory = mercuryFixture.getApiClientFactory()\n\tconst storeFactory = new StoreFactory({\n\t\tcwd,\n\t\tserviceFactory,\n\t\thomeDir: osUtil.homedir(),\n\t\temitter: CliGlobalEmitter.Emitter(),\n\t\tapiClientFactory,\n\t})\n\n\tconst personFixture = new PersonFixture(apiClientFactory)\n\tconst orgFixture = new OrganizationFixture(personFixture, storeFactory)\n\tconst skillFixture = new SkillFixture(\n\t\tpersonFixture,\n\t\tstoreFactory,\n\t\tapiClientFactory\n\t)\n\n\tfor (const number of demoNumbers) {\n\t\tterm.renderLine(`Starting cleanup for ${number}`)\n\t\tterm.renderLine(`Logging in...`)\n\n\t\tawait personFixture.loginAsDemoPerson(number)\n\n\t\tterm.renderLine(`Success`)\n\n\t\tterm.renderLine(`Deleting organizations`)\n\t\tconst totalOrgs = await orgFixture.clearAllOrgs()\n\t\tterm.renderLine(`${totalOrgs} orgs deleted`)\n\n\t\tterm.renderLine('Deleting skills')\n\t\tconst totalSkills = await skillFixture.clearAllSkills()\n\t\tterm.renderLine(`${totalSkills} deleted`)\n\t}\n\n\tawait mercuryFixture.disconnectAll()\n}\n\nvoid run()\n\t.then(() => {\n\t\tterm.renderLine('Done cleaning up!')\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tprocess.exit(1)\n\t})\n"],"file":"cleanTestData.js"}
1
+ {"version":3,"file":"cleanTestData.js","names":["demoNumbers","Object","values","demoNumbersByName","cwd","process","term","TerminalInterface","run","renderHeadline","length","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","apiClientFactory","getApiClientFactory","storeFactory","StoreFactory","homeDir","osUtil","homedir","emitter","CliGlobalEmitter","Emitter","personFixture","PersonFixture","orgFixture","OrganizationFixture","skillFixture","SkillFixture","number","renderLine","loginAsDemoPerson","clearAllOrgs","totalOrgs","clearAllSkills","totalSkills","disconnectAll","then","err","renderError","exit"],"sources":["../../src/tests/cleanTestData.ts"],"sourcesContent":["import osUtil from 'os'\nimport CliGlobalEmitter from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport * as demoNumbersByName from '../tests/constants'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\n\nconst demoNumbers = Object.values(demoNumbersByName)\n\nconst cwd = process.cwd()\nconst term = new TerminalInterface(cwd, true)\n\nasync function run() {\n\tterm.renderHeadline(\n\t\t`Starting cleanup for ${demoNumbers.length} demo numbers.`\n\t)\n\n\tconst serviceFactory = new ServiceFactory()\n\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\tconst apiClientFactory = mercuryFixture.getApiClientFactory()\n\tconst storeFactory = new StoreFactory({\n\t\tcwd,\n\t\tserviceFactory,\n\t\thomeDir: osUtil.homedir(),\n\t\temitter: CliGlobalEmitter.Emitter(),\n\t\tapiClientFactory,\n\t})\n\n\tconst personFixture = new PersonFixture(apiClientFactory)\n\tconst orgFixture = new OrganizationFixture(personFixture, storeFactory)\n\tconst skillFixture = new SkillFixture(\n\t\tpersonFixture,\n\t\tstoreFactory,\n\t\tapiClientFactory\n\t)\n\n\tfor (const number of demoNumbers) {\n\t\tterm.renderLine(`Starting cleanup for ${number}`)\n\t\tterm.renderLine(`Logging in...`)\n\n\t\tawait personFixture.loginAsDemoPerson(number)\n\n\t\tterm.renderLine(`Success`)\n\n\t\tterm.renderLine(`Deleting organizations`)\n\t\tconst totalOrgs = await orgFixture.clearAllOrgs()\n\t\tterm.renderLine(`${totalOrgs} orgs deleted`)\n\n\t\tterm.renderLine('Deleting skills')\n\t\tconst totalSkills = await skillFixture.clearAllSkills()\n\t\tterm.renderLine(`${totalSkills} deleted`)\n\t}\n\n\tawait mercuryFixture.disconnectAll()\n}\n\nvoid run()\n\t.then(() => {\n\t\tterm.renderLine('Done cleaning up!')\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tprocess.exit(1)\n\t})\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAcC,iBAAd,CAApB;AAEA,IAAMC,GAAG,GAAGC,OAAO,CAACD,GAAR,EAAZ;AACA,IAAME,IAAI,GAAG,IAAIC,6BAAJ,CAAsBH,GAAtB,EAA2B,IAA3B,CAAb;;SAEeI,G;;;;;uFAAf;IAAA;;IAAA;MAAA;QAAA;UAAA;YACCF,IAAI,CAACG,cAAL,gCACyBT,WAAW,CAACU,MADrC;YAIMC,cALP,GAKwB,IAAIC,0BAAJ,EALxB;YAMOC,cANP,GAMwB,IAAIC,0BAAJ,CAAmBV,GAAnB,EAAwBO,cAAxB,CANxB;YAOOI,gBAPP,GAO0BF,cAAc,CAACG,mBAAf,EAP1B;YAQOC,YARP,GAQsB,IAAIC,wBAAJ,CAAiB;cACrCd,GAAG,EAAHA,GADqC;cAErCO,cAAc,EAAdA,cAFqC;cAGrCQ,OAAO,EAAEC,eAAOC,OAAP,EAH4B;cAIrCC,OAAO,EAAEC,0BAAiBC,OAAjB,EAJ4B;cAKrCT,gBAAgB,EAAhBA;YALqC,CAAjB,CARtB;YAgBOU,aAhBP,GAgBuB,IAAIC,yBAAJ,CAAkBX,gBAAlB,CAhBvB;YAiBOY,UAjBP,GAiBoB,IAAIC,+BAAJ,CAAwBH,aAAxB,EAAuCR,YAAvC,CAjBpB;YAkBOY,YAlBP,GAkBsB,IAAIC,wBAAJ,CACpBL,aADoB,EAEpBR,YAFoB,EAGpBF,gBAHoB,CAlBtB;YAAA,uCAwBsBf,WAxBtB;YAAA;;YAAA;;UAAA;YAAA;cAAA;cAAA;YAAA;;YAwBY+B,MAxBZ;YAyBEzB,IAAI,CAAC0B,UAAL,gCAAwCD,MAAxC;YACAzB,IAAI,CAAC0B,UAAL;YA1BF;YAAA,OA4BQP,aAAa,CAACQ,iBAAd,CAAgCF,MAAhC,CA5BR;;UAAA;YA8BEzB,IAAI,CAAC0B,UAAL;YAEA1B,IAAI,CAAC0B,UAAL;YAhCF;YAAA,OAiC0BL,UAAU,CAACO,YAAX,EAjC1B;;UAAA;YAiCQC,SAjCR;YAkCE7B,IAAI,CAAC0B,UAAL,WAAmBG,SAAnB;YAEA7B,IAAI,CAAC0B,UAAL,CAAgB,iBAAhB;YApCF;YAAA,OAqC4BH,YAAY,CAACO,cAAb,EArC5B;;UAAA;YAqCQC,WArCR;YAsCE/B,IAAI,CAAC0B,UAAL,WAAmBK,WAAnB;;UAtCF;YAAA;YAAA;;UAAA;YAAA;YAAA;;UAAA;YAAA;YAAA;;YAAA;;UAAA;YAAA;;YAAA;;YAAA;;UAAA;YAAA;YAAA,OAyCOxB,cAAc,CAACyB,aAAf,EAzCP;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;AA4CA,KAAK9B,GAAG,GACN+B,IADG,CACE,YAAM;EACXjC,IAAI,CAAC0B,UAAL,CAAgB,mBAAhB;AACA,CAHG,WAIG,UAACQ,GAAD,EAAS;EACflC,IAAI,CAACmC,WAAL,CAAiBD,GAAjB;EACAnC,OAAO,CAACqC,IAAR,CAAa,CAAb;AACA,CAPG,CAAL"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/constants.ts"],"names":["require","config","DEMO_NUMBER","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","DEMO_NUMBER_INSTALL_SKILL","DEMO_NUMBER_GLOBAL_EVENTS","DEMO_NUMBER_EVENTS_ON_BOOT","DEMO_NUMBER_VIEWS_ON_BOOT","DEMO_NUMBER_CREATING_AN_EVENT","DEMO_NUMBER_EVENT_STORE"],"mappings":";;;;;;;;;AAAAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB;;AAEO,IAAMC,WAAW,4BAAGC,OAAO,CAACC,GAAR,CAAYF,WAAf,yEAA8B,eAA/C;;AACA,IAAMG,0BAA0B,6BACtCF,OAAO,CAACC,GAAR,CAAYC,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCH,OAAO,CAACC,GAAR,CAAYE,yBADyB,2EACI,eADnC;;AAEA,IAAMC,yBAAyB,6BACrCJ,OAAO,CAACC,GAAR,CAAYG,yBADyB,2EACI,eADnC;;AAEA,IAAMC,0BAA0B,6BACtCL,OAAO,CAACC,GAAR,CAAYI,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCN,OAAO,CAACC,GAAR,CAAYK,yBADyB,2EACI,eADnC;;AAEA,IAAMC,6BAA6B,6BACzCP,OAAO,CAACC,GAAR,CAAYM,6BAD6B,2EACI,eADvC;;AAEA,IAAMC,uBAAuB,6BACnCR,OAAO,CAACC,GAAR,CAAYO,uBADuB,2EACI,eADjC","sourcesContent":["require('dotenv').config()\n\nexport const DEMO_NUMBER = process.env.DEMO_NUMBER ?? '***missing***'\nexport const DEMO_NUMBER_LOGIN_AS_SKILL =\n\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_INSTALL_SKILL =\n\tprocess.env.DEMO_NUMBER_INSTALL_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_GLOBAL_EVENTS =\n\tprocess.env.DEMO_NUMBER_GLOBAL_EVENTS ?? '***missing***'\nexport const DEMO_NUMBER_EVENTS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_EVENTS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_VIEWS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_VIEWS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_CREATING_AN_EVENT =\n\tprocess.env.DEMO_NUMBER_CREATING_AN_EVENT ?? '***missing***'\nexport const DEMO_NUMBER_EVENT_STORE =\n\tprocess.env.DEMO_NUMBER_EVENT_STORE ?? '***missing***'\n"],"file":"constants.js"}
1
+ {"version":3,"file":"constants.js","names":["require","config","DEMO_NUMBER","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","DEMO_NUMBER_INSTALL_SKILL","DEMO_NUMBER_GLOBAL_EVENTS","DEMO_NUMBER_EVENTS_ON_BOOT","DEMO_NUMBER_VIEWS_ON_BOOT","DEMO_NUMBER_CREATING_AN_EVENT","DEMO_NUMBER_EVENT_STORE"],"sources":["../../src/tests/constants.ts"],"sourcesContent":["require('dotenv').config()\n\nexport const DEMO_NUMBER = process.env.DEMO_NUMBER ?? '***missing***'\nexport const DEMO_NUMBER_LOGIN_AS_SKILL =\n\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_INSTALL_SKILL =\n\tprocess.env.DEMO_NUMBER_INSTALL_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_GLOBAL_EVENTS =\n\tprocess.env.DEMO_NUMBER_GLOBAL_EVENTS ?? '***missing***'\nexport const DEMO_NUMBER_EVENTS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_EVENTS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_VIEWS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_VIEWS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_CREATING_AN_EVENT =\n\tprocess.env.DEMO_NUMBER_CREATING_AN_EVENT ?? '***missing***'\nexport const DEMO_NUMBER_EVENT_STORE =\n\tprocess.env.DEMO_NUMBER_EVENT_STORE ?? '***missing***'\n"],"mappings":";;;;;;;;;AAAAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB;;AAEO,IAAMC,WAAW,4BAAGC,OAAO,CAACC,GAAR,CAAYF,WAAf,yEAA8B,eAA/C;;AACA,IAAMG,0BAA0B,6BACtCF,OAAO,CAACC,GAAR,CAAYC,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCH,OAAO,CAACC,GAAR,CAAYE,yBADyB,2EACI,eADnC;;AAEA,IAAMC,yBAAyB,6BACrCJ,OAAO,CAACC,GAAR,CAAYG,yBADyB,2EACI,eADnC;;AAEA,IAAMC,0BAA0B,6BACtCL,OAAO,CAACC,GAAR,CAAYI,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCN,OAAO,CAACC,GAAR,CAAYK,yBADyB,2EACI,eADnC;;AAEA,IAAMC,6BAA6B,6BACzCP,OAAO,CAACC,GAAR,CAAYM,6BAD6B,2EACI,eADvC;;AAEA,IAAMC,uBAAuB,6BACnCR,OAAO,CAACC,GAAR,CAAYO,uBADuB,2EACI,eADjC"}