@sprucelabs/spruce-cli 15.2.24 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  182. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  183. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  184. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  193. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  194. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  198. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  199. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  200. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  203. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  204. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  205. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  206. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  207. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  208. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  209. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  210. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  211. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  212. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  213. package/build/__tests__/implementation/EventStore.test.js +61 -33
  214. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  216. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  217. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  218. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  219. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  220. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  221. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  222. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  223. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  224. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  225. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  226. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  227. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  228. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  229. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  230. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  231. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  232. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  233. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  234. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  236. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  237. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  238. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  239. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  240. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  241. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  242. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  243. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  244. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  245. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  246. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  247. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  248. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  249. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  250. package/build/addons/filePrompt.addon.js.map +1 -1
  251. package/build/cli.js.map +1 -1
  252. package/build/components/AbstractComponent.js.map +1 -1
  253. package/build/components/FormComponent.js.map +1 -1
  254. package/build/components/QuizComponent.js.map +1 -1
  255. package/build/constants.js.map +1 -1
  256. package/build/errors/SpruceError.js.map +1 -1
  257. package/build/errors/actionCancelled.builder.js.map +1 -1
  258. package/build/errors/bootError.builder.js.map +1 -1
  259. package/build/errors/buildFailed.builder.js.map +1 -1
  260. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  261. package/build/errors/commandAborted.builder.js.map +1 -1
  262. package/build/errors/commandBlocked.builder.js.map +1 -1
  263. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  264. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  265. package/build/errors/dependencyExists.builder.js.map +1 -1
  266. package/build/errors/deployFailed.builder.js.map +1 -1
  267. package/build/errors/directoryEmpty.builder.js.map +1 -1
  268. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  269. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  270. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  271. package/build/errors/failedToImport.builder.js.map +1 -1
  272. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  273. package/build/errors/fileExists.builder.js.map +1 -1
  274. package/build/errors/generic.builder.js.map +1 -1
  275. package/build/errors/invalidCommand.builder.js.map +1 -1
  276. package/build/errors/invalidEventContract.builder.js.map +1 -1
  277. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  278. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  279. package/build/errors/lintFailed.builder.js.map +1 -1
  280. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  281. package/build/errors/missingDependencies.builder.js.map +1 -1
  282. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  283. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  284. package/build/errors/notImplemented.builder.js.map +1 -1
  285. package/build/errors/notLoggedIn.builder.js.map +1 -1
  286. package/build/errors/schemaExists.builder.js.map +1 -1
  287. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  288. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  289. package/build/errors/skillNotFound.builder.js.map +1 -1
  290. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  291. package/build/errors/skillViewExists.builder.js.map +1 -1
  292. package/build/errors/storeExists.builder.js.map +1 -1
  293. package/build/errors/testFailed.builder.js.map +1 -1
  294. package/build/errors/themeExists.builder.js.map +1 -1
  295. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  296. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  297. package/build/features/AbstractAction.js.map +1 -1
  298. package/build/features/AbstractFeature.js.map +1 -1
  299. package/build/features/ActionExecuter.js.map +1 -1
  300. package/build/features/ActionFactory.js.map +1 -1
  301. package/build/features/ActionQuestionAsker.js.map +1 -1
  302. package/build/features/FeatureCommandAttacher.js.map +1 -1
  303. package/build/features/FeatureInstaller.js.map +1 -1
  304. package/build/features/FeatureInstallerFactory.js.map +1 -1
  305. package/build/features/OverrideActionDecorator.js.map +1 -1
  306. package/build/features/cache/CacheFeature.js.map +1 -1
  307. package/build/features/cache/actions/DisableAction.js.map +1 -1
  308. package/build/features/cache/actions/EnableAction.js.map +1 -1
  309. package/build/features/cache/constants.js.map +1 -1
  310. package/build/features/conversation/ConversationFeature.js.map +1 -1
  311. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  312. package/build/features/conversation/actions/TestAction.js.map +1 -1
  313. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  314. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  315. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  316. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  317. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  318. package/build/features/deploy/DeployFeature.js.map +1 -1
  319. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  320. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  321. package/build/features/error/ErrorFeature.js.map +1 -1
  322. package/build/features/error/ParentTestFinder.js.map +1 -1
  323. package/build/features/error/actions/CreateAction.js.map +1 -1
  324. package/build/features/error/actions/SyncAction.js.map +1 -1
  325. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  326. package/build/features/event/EventFeature.js.map +1 -1
  327. package/build/features/event/actions/CreateAction.js.map +1 -1
  328. package/build/features/event/actions/ListenAction.js.map +1 -1
  329. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  330. package/build/features/event/actions/SyncAction.js.map +1 -1
  331. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  332. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  333. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  334. package/build/features/event/services/EventSettingsService.js.map +1 -1
  335. package/build/features/event/services/RemoteService.js.map +1 -1
  336. package/build/features/event/stores/EventStore.d.ts +1 -0
  337. package/build/features/event/stores/EventStore.js +6 -1
  338. package/build/features/event/stores/EventStore.js.map +1 -1
  339. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  340. package/build/features/event/stores/ListenerStore.js +6 -1
  341. package/build/features/event/stores/ListenerStore.js.map +1 -1
  342. package/build/features/event/writers/EventWriter.js.map +1 -1
  343. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  344. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  345. package/build/features/feature.utilities.js.map +1 -1
  346. package/build/features/features.types.js.map +1 -1
  347. package/build/features/log/LogFeature.js.map +1 -1
  348. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  349. package/build/features/log/writers/LogWriter.js.map +1 -1
  350. package/build/features/node/NodeFeature.js.map +1 -1
  351. package/build/features/node/actions/CreateAction.js.map +1 -1
  352. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  353. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  354. package/build/features/node/writers/NodeWriter.js.map +1 -1
  355. package/build/features/onboard/OnboardFeature.js.map +1 -1
  356. package/build/features/onboard/ScriptLoader.js.map +1 -1
  357. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  358. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  359. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  360. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  361. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  362. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  363. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  364. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  365. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  366. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  367. package/build/features/organization/OrganizationFeature.js.map +1 -1
  368. package/build/features/organization/actions/CreateAction.js.map +1 -1
  369. package/build/features/organization/actions/InstallAction.js.map +1 -1
  370. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  371. package/build/features/person/PersonFeature.js.map +1 -1
  372. package/build/features/person/actions/LoginAction.js.map +1 -1
  373. package/build/features/person/actions/LogoutAction.js.map +1 -1
  374. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  375. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  376. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  377. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  378. package/build/features/schema/SchemaFeature.js.map +1 -1
  379. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  380. package/build/features/schema/actions/CreateAction.js.map +1 -1
  381. package/build/features/schema/actions/SyncAction.js.map +1 -1
  382. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  383. package/build/features/schema/services/SchemaService.js.map +1 -1
  384. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  385. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  386. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  387. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  388. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  389. package/build/features/skill/SkillFeature.js.map +1 -1
  390. package/build/features/skill/actions/BootAction.js.map +1 -1
  391. package/build/features/skill/actions/CreateAction.js.map +1 -1
  392. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  393. package/build/features/skill/actions/LoginAction.js.map +1 -1
  394. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  395. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  396. package/build/features/skill/stores/SkillStore.js.map +1 -1
  397. package/build/features/skill/updaters/Updater.js.map +1 -1
  398. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  399. package/build/features/store/StoreFeature.js +1 -1
  400. package/build/features/store/StoreFeature.js.map +1 -1
  401. package/build/features/store/actions/CreateAction.js.map +1 -1
  402. package/build/features/store/actions/SyncAction.js.map +1 -1
  403. package/build/features/store/stores/StoreStore.js.map +1 -1
  404. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  405. package/build/features/store/writers/StoreWriter.js.map +1 -1
  406. package/build/features/test/TestFeature.js.map +1 -1
  407. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  408. package/build/features/test/TestReporter.js.map +1 -1
  409. package/build/features/test/TestRunner.js.map +1 -1
  410. package/build/features/test/actions/CreateAction.js.map +1 -1
  411. package/build/features/test/actions/SetupAction.js.map +1 -1
  412. package/build/features/test/actions/TestAction.js.map +1 -1
  413. package/build/features/test/test.types.js.map +1 -1
  414. package/build/features/test/writers/TestWriter.js.map +1 -1
  415. package/build/features/universalDevDependencies.js.map +1 -1
  416. package/build/features/universalFileDescriptions.js.map +1 -1
  417. package/build/features/universalScripts.js.map +1 -1
  418. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  419. package/build/features/validateAndNormalize.utility.js +2 -2
  420. package/build/features/validateAndNormalize.utility.js.map +1 -1
  421. package/build/features/view/ViewFeature.js.map +1 -1
  422. package/build/features/view/actions/CreateAction.js.map +1 -1
  423. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  424. package/build/features/view/actions/SyncAction.js.map +1 -1
  425. package/build/features/view/actions/WatchAction.js.map +1 -1
  426. package/build/features/view/stores/ViewStore.js.map +1 -1
  427. package/build/features/view/writers/ViewWriter.js.map +1 -1
  428. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  429. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  430. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  431. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  432. package/build/features/watch/WatchFeature.js.map +1 -1
  433. package/build/index.js.map +1 -1
  434. package/build/interfaces/SpyInterface.js.map +1 -1
  435. package/build/interfaces/TerminalInterface.js.map +1 -1
  436. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  437. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  438. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  439. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  440. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  441. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  442. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  443. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  444. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  445. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  446. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  460. package/build/services/BuildService.js.map +1 -1
  461. package/build/services/CommandService.js.map +1 -1
  462. package/build/services/DependencyService.js.map +1 -1
  463. package/build/services/GameService.js.map +1 -1
  464. package/build/services/ImportService.js.map +1 -1
  465. package/build/services/LintService.js.map +1 -1
  466. package/build/services/PkgService.js.map +1 -1
  467. package/build/services/ServiceFactory.js.map +1 -1
  468. package/build/services/TypeCheckerService.js.map +1 -1
  469. package/build/stores/AbstractLocalStore.js.map +1 -1
  470. package/build/stores/AbstractStore.js.map +1 -1
  471. package/build/stores/StoreFactory.js.map +1 -1
  472. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  473. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  474. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  475. package/build/tests/AbstractCliTest.js.map +1 -1
  476. package/build/tests/AbstractErrorTest.js.map +1 -1
  477. package/build/tests/AbstractEventTest.js.map +1 -1
  478. package/build/tests/AbstractSchemaTest.js.map +1 -1
  479. package/build/tests/AbstractSkillTest.js.map +1 -1
  480. package/build/tests/AbstractTestTest.js.map +1 -1
  481. package/build/tests/CommandFaker.js.map +1 -1
  482. package/build/tests/JestJsonParser.js.map +1 -1
  483. package/build/tests/MockProgramFactory.js.map +1 -1
  484. package/build/tests/buildTestCache.js.map +1 -1
  485. package/build/tests/cleanTestCache.js.map +1 -1
  486. package/build/tests/cleanTestData.js.map +1 -1
  487. package/build/tests/constants.js.map +1 -1
  488. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  489. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  490. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  491. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  492. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  493. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  494. package/build/tests/utilities/test.utility.js.map +1 -1
  495. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  496. package/build/types/apiClient.types.js.map +1 -1
  497. package/build/types/cli.types.js.map +1 -1
  498. package/build/types/graphicsInterface.types.js.map +1 -1
  499. package/build/updaters/ScriptUpdater.js.map +1 -1
  500. package/build/utilities/action.utility.js.map +1 -1
  501. package/build/utilities/apiClient.utility.js.map +1 -1
  502. package/build/utilities/argParser.utility.js.map +1 -1
  503. package/build/utilities/commander.utility.js.map +1 -1
  504. package/build/utilities/duration.utility.js.map +1 -1
  505. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  506. package/build/utilities/form.utility.js.map +1 -1
  507. package/build/utilities/introspection.utility.js.map +1 -1
  508. package/build/utilities/isCi.js.map +1 -1
  509. package/build/utilities/tsConfig.utility.js.map +1 -1
  510. package/build/utilities/ui.utility.js.map +1 -1
  511. package/build/widgets/Theme.js.map +1 -1
  512. package/build/widgets/WidgetFactory.js.map +1 -1
  513. package/build/widgets/keySelectChoices.js.map +1 -1
  514. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  515. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  516. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  517. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  518. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  519. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  520. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  521. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  522. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  523. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  524. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  525. package/build/widgets/types/button.types.js.map +1 -1
  526. package/build/widgets/types/factory.types.js.map +1 -1
  527. package/build/widgets/types/input.types.js.map +1 -1
  528. package/build/widgets/types/layout.types.js.map +1 -1
  529. package/build/widgets/types/menuBar.types.js.map +1 -1
  530. package/build/widgets/types/popup.types.js.map +1 -1
  531. package/build/widgets/types/progressBar.types.js.map +1 -1
  532. package/build/widgets/types/table.types.js.map +1 -1
  533. package/build/widgets/types/text.types.js.map +1 -1
  534. package/build/widgets/types/widgets.types.js.map +1 -1
  535. package/build/widgets/types/window.types.js.map +1 -1
  536. package/build/widgets/widget.utilities.js.map +1 -1
  537. package/build/writers/AbstractWriter.js.map +1 -1
  538. package/build/writers/WriterFactory.js.map +1 -1
  539. package/package.json +3 -3
  540. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  541. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  542. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  543. package/src/features/AbstractAction.ts +2 -2
  544. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  545. package/src/features/event/stores/EventStore.ts +11 -8
  546. package/src/features/event/stores/ListenerStore.ts +5 -3
  547. package/src/features/store/StoreFeature.ts +1 -1
  548. package/src/features/validateAndNormalize.utility.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts"],"names":["UpgradingASkill2Test","commandFaker","fakeRebuild","pluginName","cacheKey","shouldMockYarn","FeatureFixture","installCachedFeatures","fakeCommand","pluginPath","resolveHashSprucePath","originalContents","diskUtil","readFile","writeFile","Action","execute","results","assert","isFalsy","errors","testUtil","assertFileByNameInGeneratedFiles","files","updatedContents","isEqual","doesInclude","summaryLines","pkg","Service","set","path","value","promise","waitForInput","last","ui","getLastInvocation","command","options","choices","sendInput","get","isNotEqual","match","newContents","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"mappings":"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","sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.commandFaker.fakeRebuild()\n\t}\n\n\t@test(\n\t\t'Upgrades error.plugin (even if skill is broken)',\n\t\t'error.plugin.ts',\n\t\t'errors'\n\t)\n\t@test(\n\t\t'Upgrades schema.plugin (even if skill is broken)',\n\t\t'schema.plugin.ts',\n\t\t'schemas'\n\t)\n\t@test(\n\t\t'Upgrades conversation.plugin (even if skill is broken)',\n\t\t'conversation.plugin.ts',\n\t\t'conversation',\n\t\tfalse\n\t)\n\t@test(\n\t\t'Upgrades view.plugin (even if skill is broken)',\n\t\t'view.plugin.ts',\n\t\t'views',\n\t\tfalse\n\t)\n\tprotected static async upgradesPlugins(\n\t\tpluginName: string,\n\t\tcacheKey: string,\n\t\tshouldMockYarn = true\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(cacheKey)\n\n\t\tshouldMockYarn && this.commandFaker.fakeCommand(/yarn/, 0)\n\n\t\tconst pluginPath = this.resolveHashSprucePath(`features/${pluginName}`)\n\t\tconst originalContents = diskUtil.readFile(pluginPath)\n\n\t\tdiskUtil.writeFile(pluginPath, 'aoeuaoeuao-euaoeu')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(pluginName, results.files)\n\n\t\tconst updatedContents = diskUtil.readFile(pluginPath)\n\n\t\tassert.isEqual(updatedContents, originalContents)\n\n\t\tassert.doesInclude(results.summaryLines ?? [], 'successfully')\n\t}\n\n\t@test()\n\tprotected static async canSkipPackageScriptChanges() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, { value: 'skip' })\n\t\tassert.doesInclude(last.options.options.choices, { value: 'skipAll' })\n\t\tassert.doesInclude(last.options.options.choices, { value: 'overwrite' })\n\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async asksForEachScriptChange() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait this.waitForInput()\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async canSkipAllScriptChanges() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skipAll')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async canOverwriteChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillWithSandboxUpgradesTheListener() {\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/will-boot/,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst originalContents = diskUtil.readFile(match)\n\t\tdiskUtil.writeFile(match, 'broken')\n\n\t\tthis.commandFaker.fakeCommand(/yarn/, 0)\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst newContents = diskUtil.readFile(match)\n\t\tassert.isEqual(originalContents, newContents)\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"file":"UpgradingASkill2.test.js"}
1
+ {"version":3,"file":"UpgradingASkill2.test.js","names":["UpgradingASkill2Test","commandFaker","fakeRebuild","pluginName","cacheKey","shouldMockYarn","FeatureFixture","installCachedFeatures","fakeCommand","pluginPath","resolveHashSprucePath","originalContents","diskUtil","readFile","writeFile","Action","execute","results","assert","isFalsy","errors","testUtil","assertFileByNameInGeneratedFiles","files","updatedContents","isEqual","doesInclude","summaryLines","pkg","Service","set","path","value","promise","waitForInput","last","ui","getLastInvocation","command","options","choices","sendInput","get","isNotEqual","match","newContents","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts"],"sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.commandFaker.fakeRebuild()\n\t}\n\n\t@test(\n\t\t'Upgrades error.plugin (even if skill is broken)',\n\t\t'error.plugin.ts',\n\t\t'errors'\n\t)\n\t@test(\n\t\t'Upgrades schema.plugin (even if skill is broken)',\n\t\t'schema.plugin.ts',\n\t\t'schemas'\n\t)\n\t@test(\n\t\t'Upgrades conversation.plugin (even if skill is broken)',\n\t\t'conversation.plugin.ts',\n\t\t'conversation',\n\t\tfalse\n\t)\n\t@test(\n\t\t'Upgrades view.plugin (even if skill is broken)',\n\t\t'view.plugin.ts',\n\t\t'views',\n\t\tfalse\n\t)\n\tprotected static async upgradesPlugins(\n\t\tpluginName: string,\n\t\tcacheKey: string,\n\t\tshouldMockYarn = true\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(cacheKey)\n\n\t\tshouldMockYarn && this.commandFaker.fakeCommand(/yarn/, 0)\n\n\t\tconst pluginPath = this.resolveHashSprucePath(`features/${pluginName}`)\n\t\tconst originalContents = diskUtil.readFile(pluginPath)\n\n\t\tdiskUtil.writeFile(pluginPath, 'aoeuaoeuao-euaoeu')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(pluginName, results.files)\n\n\t\tconst updatedContents = diskUtil.readFile(pluginPath)\n\n\t\tassert.isEqual(updatedContents, originalContents)\n\n\t\tassert.doesInclude(results.summaryLines ?? [], 'successfully')\n\t}\n\n\t@test()\n\tprotected static async canSkipPackageScriptChanges() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, { value: 'skip' })\n\t\tassert.doesInclude(last.options.options.choices, { value: 'skipAll' })\n\t\tassert.doesInclude(last.options.options.choices, { value: 'overwrite' })\n\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async asksForEachScriptChange() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait this.waitForInput()\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skip')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async canSkipAllScriptChanges() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('skipAll')\n\n\t\tawait promise\n\n\t\tassert.isEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async canOverwriteChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillWithSandboxUpgradesTheListener() {\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/will-boot/,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst originalContents = diskUtil.readFile(match)\n\t\tdiskUtil.writeFile(match, 'broken')\n\n\t\tthis.commandFaker.fakeCommand(/yarn/, 0)\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst newContents = diskUtil.readFile(match)\n\t\tassert.isEqual(originalContents, newContents)\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts"],"names":["UpgradingASkill3Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","fakeCommand","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IACqBA,oB,WAenB,iB,UAYA,iB,UAqBA,iB,UAeA,iB,UAcA,iB,UAgCA,iB,UAgBA,gBAAK,4BAAL,C,UACA,gBAAK,gCAAL,EAAuC,KAAvC,C,UAoBA,iB,WAsBA,iB;;;;;;;;;;;;;sGAtKD;AAAA;AAAA;AAAA;AAAA;AACC,oBAAI,CAAC,KAAKC,wBAAV,EAAoC;AACnC,uBAAKA,wBAAL,GAAgCC,uBAAWC,SAAX,CAAqBC,OAArD;AACA,iBAFD,MAEO;AACNF,yCAAWC,SAAX,CAAqBC,OAArB,GAA+B,KAAKH,wBAApC;AACA;;AALF;AAAA;;AAAA;AAQCI,2CAAeC,WAAf,CAA2B,IAAIC,MAAJ,CAAW,gBAAX,CAA3B,EAA0D;AACzDC,kBAAAA,IAAI,EAAE;AADmD,iBAA1D;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECH,2CAAeI,kBAAf;;AAFD;AAAA,uBAGO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,OAA5C,CAHP;;AAAA;AAAA;AAAA,uBAKO,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CALP;;AAAA;AAOOS,gBAAAA,YAPP,GAOsB,KAAKC,OAAL,CAAa,KAAb,EAAoBC,GAApB,CAAwB,cAAxB,CAPtB;;AASCC,6BAAOC,OAAP,CAAeJ,YAAY,CAAC,kCAAD,CAA3B;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECR,2CAAeI,kBAAf;;AAFD;AAAA,uBAGO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,SAA5C,CAHP;;AAAA;AAAA;AAAA,uBAKuB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CALvB;;AAAA;AAKOc,gBAAAA,OALP;AAOOL,gBAAAA,YAPP,GAOsB,KAAKC,OAAL,CAAa,KAAb,EAAoBC,GAApB,CAAwB,cAAxB,CAPtB;;AASCC,6BAAOC,OAAP,CAAeJ,YAAY,CAAC,kCAAD,CAA3B;;AAEAG,6BAAOG,SAAP,CAAiB;AAAA,yBAChBC,kBAASC,gCAAT,CACC,oBADD,EAECH,OAAO,CAACI,KAFT,CADgB;AAAA,iBAAjB;;AAOA,qBAAKC,0BAAL;;AAlBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qHAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKb,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIuB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAJvB;;AAAA;AAIOc,gBAAAA,OAJP;AAKOM,gBAAAA,MALP,GAKgBC,gCAAcC,iCAAd,CAAgD,KAAKC,GAArD,CALhB;;AAOCX,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBN,MAAvB,CAAd;;AAEAJ,kCAASC,gCAAT,CACC,oBADD,EAECH,OAAO,CAACI,KAFT;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKZ,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAICoB,qDAAyB5B,SAAzB,CAAmCC,OAAnC,GAA6C,YAAM;AAClD,wBAAM,IAAI4B,KAAJ,CAAU,SAAV,CAAN;AACA,iBAFD;;AAJD;AAAA,uBAQuB,KAAKpB,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CARvB;;AAAA;AAQOc,gBAAAA,OARP;;AAUCF,6BAAOiB,QAAP,CAAgBf,OAAO,CAACgB,MAAxB;;AACAlB,6BAAOmB,WAAP,CAAmBjB,OAAO,CAACgB,MAAR,CAAe,CAAf,EAAkBE,OAArC,EAA8C,SAA9C;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAK1B,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAIK0B,gBAAAA,mBAJL,GAI2B,KAJ3B;AAKCN,qDAAyB5B,SAAzB,CAAmCC,OAAnC,8FAA6C;AAAA;AAAA;AAAA;AAAA;AAAA,4DACrC,EADqC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA7C;;AAIAC,2CAAeC,WAAf,CAA2B,kBAA3B,EAA+C;AAC9CE,kBAAAA,IAAI,EAAE,CADwC;AAE9C8B,kBAAAA,QAAQ,EAAE,oBAAM;AACfD,oBAAAA,mBAAmB,GAAG,IAAtB;AACA;AAJ6C,iBAA/C;;AAOIE,gBAAAA,iBAhBL,GAgByB,KAhBzB;;AAkBClC,2CAAeC,WAAf,CAA2B,gBAA3B,EAA6C;AAC5CE,kBAAAA,IAAI,EAAE,CADsC;AAE5C8B,kBAAAA,QAAQ,EAAE,oBAAM;AACfC,oBAAAA,iBAAiB,GAAG,IAApB;AACA;AAJ2C,iBAA7C;;AAlBD;AAAA,uBAyBuB,KAAK3B,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAzBvB;;AAAA;AAyBOc,gBAAAA,OAzBP;;AA2BCF,6BAAOC,OAAP,CAAeC,OAAO,CAACgB,MAAvB;;AACAlB,6BAAOY,MAAP,CAAcS,mBAAd;;AACArB,6BAAOY,MAAP,CAAcW,iBAAd;;AA7BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GAgCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAK7B,cAAL,GAAsBC,qBAAtB,CAA4C,OAA5C,CAFP;;AAAA;AAIO6B,gBAAAA,MAJP,GAIgB,KAAKC,kBAAL,EAJhB;;AAKCzB,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBU,MAAvB,CAAd;;AAEAX,2CAASa,UAAT,CAAoBF,MAApB;;AAEAxB,6BAAO2B,OAAP,CAAed,2BAASC,aAAT,CAAuBU,MAAvB,CAAf;;AATD;AAAA,uBAWO,KAAK5B,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAXP;;AAAA;AAaCY,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBU,MAAvB,CAAd;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8GAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE0CI,gBAAAA,WAF1C,iEAEwD,IAFxD;AAAA;AAAA,uBAGO,KAAKlC,cAAL,GAAsBC,qBAAtB,CACLiC,WAAW,GAAG,QAAH,GAAc,SADpB,CAHP;;AAAA;AAOKC,gBAAAA,MAPL,GAOc,KAPd;AASC3C,uCAAWC,SAAX,CAAqBC,OAArB,8FAA+B;AAAA;AAAA;AAAA;AAAA;AAC9ByC,0BAAAA,MAAM,GAAG,IAAT;AAD8B,4DAEvB,EAFuB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA/B;AAKA,qBAAKC,2BAAL;AAdD;AAAA,uBAgBO,KAAKlC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAhBP;;AAAA;AAkBCY,6BAAO+B,OAAP,CAAeF,MAAf,EAAuBD,WAAvB;;AAlBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAqBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKlC,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA,wCAIsC,KAAKqC,kBAAL,EAJtC,EAISR,MAJT,yBAISA,MAJT,EAIiBS,gBAJjB,yBAIiBA,gBAJjB;AAAA;AAAA,uBAMO,KAAKH,2BAAL,EANP;;AAAA;AAQOI,gBAAAA,OARP,GAQiB,KAAKtC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC;AACtD+C,kBAAAA,WAAW,EAAE;AADyC,iBAAvC,CARjB;AAAA;AAAA,uBAYO,KAAKC,YAAL,EAZP;;AAAA;AAAA;AAAA,uBAaO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAbP;;AAAA;AAAA;AAAA,uBAeOJ,OAfP;;AAAA;AAiBOK,gBAAAA,cAjBP,GAiBwB1B,2BAAS2B,QAAT,CAAkBhB,MAAlB,CAjBxB;;AAmBCxB,6BAAO+B,OAAP,CAAeQ,cAAf,EAA+BN,gBAA/B;;AAnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+HAsBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKvC,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIO,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BR,OAA/B,CAAuC;AAC5CqD,kBAAAA,YAAY,EAAE,WAD8B;AAE5CC,kBAAAA,SAAS,EAAE;AAFiC,iBAAvC,CAJP;;AAAA;AAAA,yCASsC,KAAKV,kBAAL,EATtC,EASSR,MATT,0BASSA,MATT,EASiBS,gBATjB,0BASiBA,gBATjB;AAWC,qBAAKU,oBAAL;AAXD;AAAA,uBAauB,KAAK/C,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC;AAC5D+C,kBAAAA,WAAW,EAAE;AAD+C,iBAAvC,CAbvB;;AAAA;AAaOjC,gBAAAA,OAbP;;AAiBCF,6BAAOC,OAAP,CAAeC,OAAO,CAACgB,MAAvB;;AACMqB,gBAAAA,cAlBP,GAkBwB1B,2BAAS2B,QAAT,CAAkBhB,MAAlB,CAlBxB;;AAoBCxB,6BAAO+B,OAAP,CAAeQ,cAAf,EAA+BN,gBAA/B;;AApBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuBA,8BAAoC;AACnC,UAAMT,MAAM,GAAG,KAAKoB,qBAAL,CAA2B,QAA3B,EAAqC,kBAArC,CAAf;;AACA,UAAMX,gBAAgB,GAAGpB,2BAAS2B,QAAT,CAAkBhB,MAAlB,CAAzB;;AAEAX,iCAASgC,SAAT,CAAmBrB,MAAnB,EAA2B,MAA3B;;AACA,aAAO;AAAEA,QAAAA,MAAM,EAANA,MAAF;AAAUS,QAAAA,gBAAgB,EAAhBA;AAAV,OAAP;AACA;;;WAED,8BAAoC;AACnC,aAAO,KAAKW,qBAAL,CAA2B,UAA3B,EAAuC,gBAAvC,CAAP;AACA;;;WAED,sCAA8C;AAC7C5C,mBAAO2B,OAAP,CAAed,2BAASC,aAAT,CAAuB,KAAKW,kBAAL,EAAvB,CAAf;AACA;;;WAED,uCAA6C;AAC5C,WAAKkB,oBAAL;;AAEAtD,iCAAeC,WAAf,CAA2B,mBAA3B,EAA4C;AAC3CE,QAAAA,IAAI,EAAE;AADqC,OAA5C;AAGA;;;WAED,gCAAsC;AACrCH,iCAAeC,WAAf,CAA2B,kBAA3B,EAA+C;AAC9CE,QAAAA,IAAI,EAAE;AADwC,OAA/C;;AAIAH,iCAAeC,WAAf,CAA2B,gBAA3B,EAA6C;AAC5CE,QAAAA,IAAI,EAAE;AADsC,OAA7C;AAGA;;;EA/NgDsD,4B","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill3Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.fakeCommand(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"UpgradingASkill3.test.js"}
1
+ {"version":3,"file":"UpgradingASkill3.test.js","names":["UpgradingASkill3Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","fakeCommand","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts"],"sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill3Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.fakeCommand(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts"],"names":["UpgradingASkill4Test","CommandService","fakeCommand","RegExp","code","FeatureFixture","installCachedFeatures","features","Service","process","cwd","get","pkg","checks","feat","nodeModule","path","resolveHashSprucePath","plugin","diskUtil","doesFileExist","undefined","push","check","unset","deleteFile","Action","execute","assert","isTruthy","isTrue","cli","skillFeature","getFeature","scripts","isEqual","assertSandboxListenerNotWritten","set","value","promise","waitForInput","last","ui","getLastInvocation","command","sendInput","isNotEqual","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"mappings":"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","sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async restoresMissingPackagesAndPlugins() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst features = this.Service('pkg', process.cwd()).get(\n\t\t\t'testSkillCache.everything'\n\t\t)\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst checks: { nodeModule?: string; plugin?: string }[] = []\n\n\t\tfor (const feat of features) {\n\t\t\tconst { code } = feat\n\t\t\tconst nodeModule = `@sprucelabs/spruce-${code}-plugin`\n\t\t\tconst path = this.resolveHashSprucePath('features', `${code}.plugin.ts`)\n\t\t\tconst plugin = diskUtil.doesFileExist(path) ? path : undefined\n\n\t\t\tchecks.push({\n\t\t\t\tnodeModule: pkg.get(['dependencies', nodeModule])\n\t\t\t\t\t? nodeModule\n\t\t\t\t\t: undefined,\n\t\t\t\tplugin,\n\t\t\t})\n\t\t}\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tpkg.unset(['dependencies', check.nodeModule])\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tdiskUtil.deleteFile(check.plugin)\n\t\t\t}\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn clean/, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn build.dev/, { code: 0 })\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tpkg.get(['dependencies', check.nodeModule]),\n\t\t\t\t\t`${check.nodeModule} was not added back as a dependencies.`\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tassert.isTrue(\n\t\t\t\t\tdiskUtil.doesFileExist(check.plugin),\n\t\t\t\t\t`${check.plugin} was not rewritten.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async doesNotAskIfNewScriptsAreAddedToSkillFeature() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tconst skillFeature = cli.getFeature('skill')\n\t\t//@ts-ignore\n\t\tskillFeature.scripts['taco'] = 'bravo'\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(pkg.get(['scripts', 'taco']), 'bravo')\n\n\t\tthis.assertSandboxListenerNotWritten()\n\t}\n\n\t@test()\n\tprotected static async canOverwriteMultipleChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isNotEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"file":"UpgradingASkill4.test.js"}
1
+ {"version":3,"file":"UpgradingASkill4.test.js","names":["UpgradingASkill4Test","CommandService","fakeCommand","RegExp","code","FeatureFixture","installCachedFeatures","features","Service","process","cwd","get","pkg","checks","feat","nodeModule","path","resolveHashSprucePath","plugin","diskUtil","doesFileExist","undefined","push","check","unset","deleteFile","Action","execute","assert","isTruthy","isTrue","cli","skillFeature","getFeature","scripts","isEqual","assertSandboxListenerNotWritten","set","value","promise","waitForInput","last","ui","getLastInvocation","command","sendInput","isNotEqual","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts"],"sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async restoresMissingPackagesAndPlugins() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst features = this.Service('pkg', process.cwd()).get(\n\t\t\t'testSkillCache.everything'\n\t\t)\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst checks: { nodeModule?: string; plugin?: string }[] = []\n\n\t\tfor (const feat of features) {\n\t\t\tconst { code } = feat\n\t\t\tconst nodeModule = `@sprucelabs/spruce-${code}-plugin`\n\t\t\tconst path = this.resolveHashSprucePath('features', `${code}.plugin.ts`)\n\t\t\tconst plugin = diskUtil.doesFileExist(path) ? path : undefined\n\n\t\t\tchecks.push({\n\t\t\t\tnodeModule: pkg.get(['dependencies', nodeModule])\n\t\t\t\t\t? nodeModule\n\t\t\t\t\t: undefined,\n\t\t\t\tplugin,\n\t\t\t})\n\t\t}\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tpkg.unset(['dependencies', check.nodeModule])\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tdiskUtil.deleteFile(check.plugin)\n\t\t\t}\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn clean/, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn build.dev/, { code: 0 })\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tpkg.get(['dependencies', check.nodeModule]),\n\t\t\t\t\t`${check.nodeModule} was not added back as a dependencies.`\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tassert.isTrue(\n\t\t\t\t\tdiskUtil.doesFileExist(check.plugin),\n\t\t\t\t\t`${check.plugin} was not rewritten.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async doesNotAskIfNewScriptsAreAddedToSkillFeature() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tconst skillFeature = cli.getFeature('skill')\n\t\t//@ts-ignore\n\t\tskillFeature.scripts['taco'] = 'bravo'\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(pkg.get(['scripts', 'taco']), 'bravo')\n\n\t\tthis.assertSandboxListenerNotWritten()\n\t}\n\n\t@test()\n\tprotected static async canOverwriteMultipleChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isNotEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts"],"names":["UpgradingASkill5Test","installSetListenerCacheAndBlockExecute","assert","doesThrowAsync","Action","execute","value","Settings","getListenerCache","isFalsy","isEqualDeep","shouldBeDeleted","shouldCreateSchema","FeatureFixture","installCachedFeatures","CommandService","fakeCommand","RegExp","code","nameReadable","namePascal","nameCamel","description","emitter","getEmitter","wasHit","on","payload","featureCode","actionCode","isTrue","moveDependencyToProd","moveDependencyToDev","wasMovedBackToDev","wasMovedBackToProd","callback","_","args","indexOf","isFalse","name","pkg","Service","uninstall","install","isDev","settings","setListenerCache","Error","AbstractCliTest"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill5Test extends AbstractCliTest {\n\t@test()\n\tprotected static async upgradeResetsEventCache() {\n\t\tawait this.installSetListenerCacheAndBlockExecute()\n\n\t\tawait assert.doesThrowAsync(() =>\n\t\t\tthis.Action('node', 'upgrade').execute({})\n\t\t)\n\n\t\tconst value = this.Settings().getListenerCache()\n\t\tassert.isFalsy(value)\n\t}\n\n\t@test()\n\tprotected static async doesNotResetEventCacheWithOtherAction() {\n\t\tawait this.installSetListenerCacheAndBlockExecute()\n\n\t\tawait assert.doesThrowAsync(() => this.Action('schema', 'sync').execute({}))\n\n\t\tconst value = this.Settings().getListenerCache()\n\t\tassert.isEqualDeep(value, { shouldBeDeleted: true })\n\t}\n\n\t@test('syncs schemas when schemas installed and schemas folder exists', true)\n\t@test(\n\t\t'does not syncs schemas when schemas installed but schemas folder does not exist',\n\t\tfalse\n\t)\n\tprotected static async shouldSyncSchemasIfSchemasIsInstalledAndSchemaFolderExists(\n\t\tshouldCreateSchema: boolean\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tCommandService.fakeCommand(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tif (shouldCreateSchema) {\n\t\t\tawait this.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t}\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tlet wasHit = false\n\n\t\tawait emitter.on('feature.will-execute', (payload) => {\n\t\t\tif (payload.featureCode === 'schema' && payload.actionCode === 'sync') {\n\t\t\t\twasHit = true\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(wasHit === shouldCreateSchema)\n\t}\n\n\t@test()\n\tprotected static async modulesMovedFromDevToProdDependenciesStayThere() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tawait this.moveDependencyToProd('@sprucelabs/resolve-path-aliases')\n\t\tawait this.moveDependencyToDev('@sprucelabs/error')\n\n\t\tlet wasMovedBackToDev = false\n\t\tlet wasMovedBackToProd = false\n\n\t\tCommandService.fakeCommand(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t\tcallback: (_, args) => {\n\t\t\t\tif (\n\t\t\t\t\targs.indexOf('-D') > -1 &&\n\t\t\t\t\targs.indexOf('@sprucelabs/resolve-path-aliases') > -1\n\t\t\t\t) {\n\t\t\t\t\twasMovedBackToDev = true\n\t\t\t\t} else if (\n\t\t\t\t\targs.indexOf('-D') === -1 &&\n\t\t\t\t\targs.indexOf('@sprucelabs/error') > -1\n\t\t\t\t) {\n\t\t\t\t\twasMovedBackToProd = true\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalse(wasMovedBackToDev, 'dependency moved back to dev')\n\t\tassert.isFalse(wasMovedBackToProd, 'dependency moved back to prod')\n\t}\n\n\tprivate static async moveDependencyToDev(name: string) {\n\t\tconst pkg = this.Service('pkg')\n\t\tawait pkg.uninstall(name)\n\t\tawait pkg.install(name, { isDev: true })\n\t}\n\tprivate static async moveDependencyToProd(name: string) {\n\t\tconst pkg = this.Service('pkg')\n\n\t\tawait pkg.uninstall(name)\n\t\tawait pkg.install(name)\n\t}\n\n\tprivate static async installSetListenerCacheAndBlockExecute() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst settings = this.Settings()\n\t\tsettings.setListenerCache({ shouldBeDeleted: true })\n\n\t\tconst emitter = this.getEmitter()\n\t\tvoid emitter.on('feature.will-execute', () => {\n\t\t\tthrow new Error('Stop!')\n\t\t})\n\t}\n\n\tprivate static Settings() {\n\t\treturn this.Service('eventSettings')\n\t}\n}\n"],"file":"UpgradingASkill5.test.js"}
1
+ {"version":3,"file":"UpgradingASkill5.test.js","names":["UpgradingASkill5Test","installSetListenerCacheAndBlockExecute","assert","doesThrowAsync","Action","execute","value","Settings","getListenerCache","isFalsy","isEqualDeep","shouldBeDeleted","shouldCreateSchema","FeatureFixture","installCachedFeatures","CommandService","fakeCommand","RegExp","code","nameReadable","namePascal","nameCamel","description","emitter","getEmitter","wasHit","on","payload","featureCode","actionCode","isTrue","moveDependencyToProd","moveDependencyToDev","wasMovedBackToDev","wasMovedBackToProd","callback","_","args","indexOf","isFalse","name","pkg","Service","uninstall","install","isDev","settings","setListenerCache","Error","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill5Test extends AbstractCliTest {\n\t@test()\n\tprotected static async upgradeResetsEventCache() {\n\t\tawait this.installSetListenerCacheAndBlockExecute()\n\n\t\tawait assert.doesThrowAsync(() =>\n\t\t\tthis.Action('node', 'upgrade').execute({})\n\t\t)\n\n\t\tconst value = this.Settings().getListenerCache()\n\t\tassert.isFalsy(value)\n\t}\n\n\t@test()\n\tprotected static async doesNotResetEventCacheWithOtherAction() {\n\t\tawait this.installSetListenerCacheAndBlockExecute()\n\n\t\tawait assert.doesThrowAsync(() => this.Action('schema', 'sync').execute({}))\n\n\t\tconst value = this.Settings().getListenerCache()\n\t\tassert.isEqualDeep(value, { shouldBeDeleted: true })\n\t}\n\n\t@test('syncs schemas when schemas installed and schemas folder exists', true)\n\t@test(\n\t\t'does not syncs schemas when schemas installed but schemas folder does not exist',\n\t\tfalse\n\t)\n\tprotected static async shouldSyncSchemasIfSchemasIsInstalledAndSchemaFolderExists(\n\t\tshouldCreateSchema: boolean\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tCommandService.fakeCommand(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tif (shouldCreateSchema) {\n\t\t\tawait this.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t}\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tlet wasHit = false\n\n\t\tawait emitter.on('feature.will-execute', (payload) => {\n\t\t\tif (payload.featureCode === 'schema' && payload.actionCode === 'sync') {\n\t\t\t\twasHit = true\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(wasHit === shouldCreateSchema)\n\t}\n\n\t@test()\n\tprotected static async modulesMovedFromDevToProdDependenciesStayThere() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tawait this.moveDependencyToProd('@sprucelabs/resolve-path-aliases')\n\t\tawait this.moveDependencyToDev('@sprucelabs/error')\n\n\t\tlet wasMovedBackToDev = false\n\t\tlet wasMovedBackToProd = false\n\n\t\tCommandService.fakeCommand(new RegExp(/yarn/gis), {\n\t\t\tcode: 0,\n\t\t\tcallback: (_, args) => {\n\t\t\t\tif (\n\t\t\t\t\targs.indexOf('-D') > -1 &&\n\t\t\t\t\targs.indexOf('@sprucelabs/resolve-path-aliases') > -1\n\t\t\t\t) {\n\t\t\t\t\twasMovedBackToDev = true\n\t\t\t\t} else if (\n\t\t\t\t\targs.indexOf('-D') === -1 &&\n\t\t\t\t\targs.indexOf('@sprucelabs/error') > -1\n\t\t\t\t) {\n\t\t\t\t\twasMovedBackToProd = true\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalse(wasMovedBackToDev, 'dependency moved back to dev')\n\t\tassert.isFalse(wasMovedBackToProd, 'dependency moved back to prod')\n\t}\n\n\tprivate static async moveDependencyToDev(name: string) {\n\t\tconst pkg = this.Service('pkg')\n\t\tawait pkg.uninstall(name)\n\t\tawait pkg.install(name, { isDev: true })\n\t}\n\tprivate static async moveDependencyToProd(name: string) {\n\t\tconst pkg = this.Service('pkg')\n\n\t\tawait pkg.uninstall(name)\n\t\tawait pkg.install(name)\n\t}\n\n\tprivate static async installSetListenerCacheAndBlockExecute() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst settings = this.Settings()\n\t\tsettings.setListenerCache({ shouldBeDeleted: true })\n\n\t\tconst emitter = this.getEmitter()\n\t\tvoid emitter.on('feature.will-execute', () => {\n\t\t\tthrow new Error('Stop!')\n\t\t})\n\t}\n\n\tprivate static Settings() {\n\t\treturn this.Service('eventSettings')\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts"],"names":["UpgradingWithListeners","featureCode","shouldHit","actionCode","FeatureFixture","installCachedFeatures","commandFaker","fakeCommand","RegExp","wasHit","getEmitter","on","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","errors","assert","isFalsy","isEqual","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;IAEqBA,sB,WACnB,gBAAK,sCAAL,EAA6C,QAA7C,EAAuD,IAAvD,C,UACA,gBAAK,8CAAL,EAAqD,QAArD,EAA+D,KAA/D,C,UACA,gBACA,iEADA,EAEA,mBAFA,EAGA,KAHA,EAIA,QAJA,C,UAMA,gBACA,6DADA,EAEA,QAFA,EAGA,KAHA,EAIA,QAJA,C;;;;;;;;;;;;;mHARD,kBAeCC,WAfD,EAgBCC,SAhBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAiBCC,gBAAAA,UAjBD,8DAiBc,SAjBd;AAAA;AAAA,uBAmBO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CJ,WAA5C,CAnBP;;AAAA;AAqBC,qBAAKK,YAAL,CAAkBC,WAAlB,CAA8B,IAAIC,MAAJ,CAAW,MAAX,CAA9B;AAEIC,gBAAAA,MAvBL,GAuBc,KAvBd;AAAA;AAAA,uBAyBO,KAAKC,UAAL,GAAkBC,EAAlB,CACL,sBADK;AAAA,4GAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAASV,4BAAAA,WAAT,QAASA,WAAT,EAAsBE,UAAtB,QAAsBA,UAAtB;;AACC,gCAAIF,WAAW,KAAK,OAAhB,IAA2BE,UAAU,KAAK,gBAA9C,EAAgE;AAC/DM,8BAAAA,MAAM,GAAG,IAAT;AACA;;AAHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAFK;;AAAA;AAAA;AAAA;AAAA,oBAzBP;;AAAA;AAAA;AAAA,uBAkCuB,KAAKC,UAAL,GAAkBE,IAAlB,CAAuB,qBAAvB,EAA8C;AACnEX,kBAAAA,WAAW,EAAE,MADsD;AAEnEE,kBAAAA,UAAU,EAAVA,UAFmE;AAGnEU,kBAAAA,OAAO,EAAE;AAH0D,iBAA9C,CAlCvB;;AAAA;AAkCOA,gBAAAA,OAlCP;AAAA,wCAwCoBC,oCAAkBC,+BAAlB,CAClBF,OADkB,EAElBG,uBAFkB,CAxCpB,EAwCSC,MAxCT,yBAwCSA,MAxCT;;AA6CCC,6BAAOC,OAAP,CAAeF,MAAf;;AAEAC,6BAAOE,OAAP,CAAeX,MAAf,EAAuBP,SAAvB;;AA/CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EADmDmB,4B","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SpruceError from '../../../errors/SpruceError'\nimport { FeatureCode } from '../../../features/features.types'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingWithListeners extends AbstractCliTest {\n\t@test('should sync listeners when installed', 'events', true)\n\t@test('should not sync listeners when not installed', 'skills', false)\n\t@test(\n\t\t'should not sync listeners when creating node when not installed',\n\t\t'testsInNodeModule',\n\t\tfalse,\n\t\t'create'\n\t)\n\t@test(\n\t\t'should not sync listeners when creating node when installed',\n\t\t'events',\n\t\tfalse,\n\t\t'create'\n\t)\n\tprotected static async upgradingSyncsListeners(\n\t\tfeatureCode: FeatureCode,\n\t\tshouldHit: boolean,\n\t\tactionCode = 'upgrade'\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(featureCode)\n\n\t\tthis.commandFaker.fakeCommand(new RegExp(/yarn/))\n\n\t\tlet wasHit = false\n\n\t\tawait this.getEmitter().on(\n\t\t\t'feature.will-execute',\n\t\t\tasync ({ featureCode, actionCode }) => {\n\t\t\t\tif (featureCode === 'event' && actionCode === 'sync.listeners') {\n\t\t\t\t\twasHit = true\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\tconst results = await this.getEmitter().emit('feature.did-execute', {\n\t\t\tfeatureCode: 'node',\n\t\t\tactionCode,\n\t\t\tresults: {},\n\t\t})\n\n\t\tconst { errors } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tassert.isFalsy(errors)\n\n\t\tassert.isEqual(wasHit, shouldHit)\n\t}\n}\n"],"file":"UpgradingWithListeners.test.js"}
1
+ {"version":3,"file":"UpgradingWithListeners.test.js","names":["UpgradingWithListeners","featureCode","shouldHit","actionCode","FeatureFixture","installCachedFeatures","commandFaker","fakeCommand","RegExp","wasHit","getEmitter","on","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","errors","assert","isFalsy","isEqual","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SpruceError from '../../../errors/SpruceError'\nimport { FeatureCode } from '../../../features/features.types'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingWithListeners extends AbstractCliTest {\n\t@test('should sync listeners when installed', 'events', true)\n\t@test('should not sync listeners when not installed', 'skills', false)\n\t@test(\n\t\t'should not sync listeners when creating node when not installed',\n\t\t'testsInNodeModule',\n\t\tfalse,\n\t\t'create'\n\t)\n\t@test(\n\t\t'should not sync listeners when creating node when installed',\n\t\t'events',\n\t\tfalse,\n\t\t'create'\n\t)\n\tprotected static async upgradingSyncsListeners(\n\t\tfeatureCode: FeatureCode,\n\t\tshouldHit: boolean,\n\t\tactionCode = 'upgrade'\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(featureCode)\n\n\t\tthis.commandFaker.fakeCommand(new RegExp(/yarn/))\n\n\t\tlet wasHit = false\n\n\t\tawait this.getEmitter().on(\n\t\t\t'feature.will-execute',\n\t\t\tasync ({ featureCode, actionCode }) => {\n\t\t\t\tif (featureCode === 'event' && actionCode === 'sync.listeners') {\n\t\t\t\t\twasHit = true\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\tconst results = await this.getEmitter().emit('feature.did-execute', {\n\t\t\tfeatureCode: 'node',\n\t\t\tactionCode,\n\t\t\tresults: {},\n\t\t})\n\n\t\tconst { errors } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tassert.isFalsy(errors)\n\n\t\tassert.isEqual(wasHit, shouldHit)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;IAEqBA,sB,WACnB,gBAAK,sCAAL,EAA6C,QAA7C,EAAuD,IAAvD,C,UACA,gBAAK,8CAAL,EAAqD,QAArD,EAA+D,KAA/D,C,UACA,gBACA,iEADA,EAEA,mBAFA,EAGA,KAHA,EAIA,QAJA,C,UAMA,gBACA,6DADA,EAEA,QAFA,EAGA,KAHA,EAIA,QAJA,C;;;;;;;;;;;;;mHARD,kBAeCC,WAfD,EAgBCC,SAhBD;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAiBCC,UAjBD,8DAiBc,SAjBd;gBAAA;gBAAA,OAmBO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CJ,WAA5C,CAnBP;;cAAA;gBAqBC,KAAKK,YAAL,CAAkBC,WAAlB,CAA8B,IAAIC,MAAJ,CAAW,MAAX,CAA9B;gBAEIC,MAvBL,GAuBc,KAvBd;gBAAA;gBAAA,OAyBO,KAAKC,UAAL,GAAkBC,EAAlB,CACL,sBADK;kBAAA,0FAEL;oBAAA;oBAAA;sBAAA;wBAAA;0BAAA;4BAASV,WAAT,QAASA,WAAT,EAAsBE,UAAtB,QAAsBA,UAAtB;;4BACC,IAAIF,WAAW,KAAK,OAAhB,IAA2BE,UAAU,KAAK,gBAA9C,EAAgE;8BAC/DM,MAAM,GAAG,IAAT;4BACA;;0BAHF;0BAAA;4BAAA;wBAAA;sBAAA;oBAAA;kBAAA,CAFK;;kBAAA;oBAAA;kBAAA;gBAAA,IAzBP;;cAAA;gBAAA;gBAAA,OAkCuB,KAAKC,UAAL,GAAkBE,IAAlB,CAAuB,qBAAvB,EAA8C;kBACnEX,WAAW,EAAE,MADsD;kBAEnEE,UAAU,EAAVA,UAFmE;kBAGnEU,OAAO,EAAE;gBAH0D,CAA9C,CAlCvB;;cAAA;gBAkCOA,OAlCP;gBAAA,wBAwCoBC,oCAAkBC,+BAAlB,CAClBF,OADkB,EAElBG,uBAFkB,CAxCpB,EAwCSC,MAxCT,yBAwCSA,MAxCT;;gBA6CCC,aAAOC,OAAP,CAAeF,MAAf;;gBAEAC,aAAOE,OAAP,CAAeX,MAAf,EAAuBP,SAAvB;;cA/CD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EADmDmB,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts"],"names":["UpgradingWithSandboxFeatureInstalledTest","FeatureFixture","installCachedFeatures","listenToDidInstallInThePast","setup","setupAndGetListenerPath","match","fileName","pathUtil","basename","expected","versionUtil","generateVersion","dirValue","assert","isEqual","diskUtil","deleteFile","writeFile","resolvePath","dirname","Action","execute","syncResults","isFalsy","errors","secondMatch","name","results","testUtil","assertFileByNameInGeneratedFiles","files","namespace","eventName","AbstractCliTest"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class UpgradingWithSandboxFeatureInstalledTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tawait this.listenToDidInstallInThePast()\n\t}\n\n\t@test()\n\tprotected static async doesNotAskForVersionWhenSettingUpSandboxWithCoreListener() {\n\t\tawait this.setup()\n\t}\n\n\t@test()\n\tprotected static async usesTodaysVersionEvenWithCoreListener() {\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tconst fileName = pathUtil.basename(match)\n\t\tconst expected = `will-boot.${\n\t\t\tversionUtil.generateVersion().dirValue\n\t\t}.listener.ts`\n\t\tassert.isEqual(fileName, expected)\n\t}\n\n\t@test()\n\tprotected static async overwritesExistingWillBoot() {\n\t\tconst expected = `will-boot.v2010_01_10.listener.ts`\n\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tdiskUtil.deleteFile(match)\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(pathUtil.dirname(match), expected),\n\t\t\t'export default async () => {}'\n\t\t)\n\n\t\tconst syncResults = await this.Action('event', 'syncListeners').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst secondMatch = await this.setupAndGetListenerPath()\n\t\tconst name = pathUtil.basename(secondMatch)\n\n\t\tassert.isEqual(name, expected)\n\t}\n\n\tprivate static async setupAndGetListenerPath() {\n\t\tconst results = await this.setup()\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/will-boot/gi,\n\t\t\tresults.files\n\t\t)\n\t\treturn match\n\t}\n\n\tprivate static async setup() {\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\t\tassert.isFalsy(results.errors)\n\t\treturn results\n\t}\n\n\tprivate static async listenToDidInstallInThePast() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'mercury',\n\t\t\teventName: 'did-install::v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"file":"UpgradingWithSandboxFeatureInstalled.test.js"}
1
+ {"version":3,"file":"UpgradingWithSandboxFeatureInstalled.test.js","names":["UpgradingWithSandboxFeatureInstalledTest","FeatureFixture","installCachedFeatures","listenToDidInstallInThePast","setup","setupAndGetListenerPath","match","fileName","pathUtil","basename","expected","versionUtil","generateVersion","dirValue","assert","isEqual","diskUtil","deleteFile","writeFile","resolvePath","dirname","Action","execute","syncResults","isFalsy","errors","secondMatch","name","results","testUtil","assertFileByNameInGeneratedFiles","files","namespace","eventName","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class UpgradingWithSandboxFeatureInstalledTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tawait this.listenToDidInstallInThePast()\n\t}\n\n\t@test()\n\tprotected static async doesNotAskForVersionWhenSettingUpSandboxWithCoreListener() {\n\t\tawait this.setup()\n\t}\n\n\t@test()\n\tprotected static async usesTodaysVersionEvenWithCoreListener() {\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tconst fileName = pathUtil.basename(match)\n\t\tconst expected = `will-boot.${\n\t\t\tversionUtil.generateVersion().dirValue\n\t\t}.listener.ts`\n\t\tassert.isEqual(fileName, expected)\n\t}\n\n\t@test()\n\tprotected static async overwritesExistingWillBoot() {\n\t\tconst expected = `will-boot.v2010_01_10.listener.ts`\n\n\t\tconst match = await this.setupAndGetListenerPath()\n\n\t\tdiskUtil.deleteFile(match)\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(pathUtil.dirname(match), expected),\n\t\t\t'export default async () => {}'\n\t\t)\n\n\t\tconst syncResults = await this.Action('event', 'syncListeners').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst secondMatch = await this.setupAndGetListenerPath()\n\t\tconst name = pathUtil.basename(secondMatch)\n\n\t\tassert.isEqual(name, expected)\n\t}\n\n\tprivate static async setupAndGetListenerPath() {\n\t\tconst results = await this.setup()\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/will-boot/gi,\n\t\t\tresults.files\n\t\t)\n\t\treturn match\n\t}\n\n\tprivate static async setup() {\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\t\tassert.isFalsy(results.errors)\n\t\treturn results\n\t}\n\n\tprivate static async listenToDidInstallInThePast() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'mercury',\n\t\t\teventName: 'did-install::v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"names":["CreatingASkillViewTest","action","Action","assert","isFunction","execute","viewType","waitForInput","last","ui","getLastInvocation","isEqual","command","reset","isRoot","results","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","Service","check","contents","diskUtil","readFile","isTruthy","errorAssert","assertError","name","promise","sendInput","dashboardVc","nameReadable","options","choices","value","appointmentsCard","buildTestfile","idInterfaceName","code","testFile","resolvePath","writeFile","importAll","imported","svcModel","svcId","vcModel","vcId","viewsFile","resolveHashSprucePath","viewContents","trim","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../../features/view/actions/CreateAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingASkillViewTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreateAction\n\tprivate static rootSvc: string\n\tpublic static appointmentsCard: string\n\tprivate static dashboardVc: string\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'create') as CreateAction\n\t}\n\n\t@test()\n\tprotected static hasCreateAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async asksIfRootSkillViewIfNotYetCreated() {\n\t\tvoid this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'confirm')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canCreateRootSkillView() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.rootSvc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Root.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.rootSvc, 'skillViewControllers')\n\t}\n\n\t@test()\n\tprotected static async generatesValidRootSkillView() {\n\t\tawait this.Service('typeChecker').check(this.rootSvc)\n\t}\n\n\t@test()\n\tprotected static async rootSkillViewExtendsAbstractSkillViewController() {\n\t\tconst contents = diskUtil.readFile(this.rootSvc)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class RootSkillViewController extends AbstractSkillViewController'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async cantCreateTwoRootSvcs() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors?.[0], 'SKILL_VIEW_EXISTS', {\n\t\t\tname: 'Root',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForNamesIfCreatingSkillViewNotRoot() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\n\t\tawait this.ui.sendInput('Dashboard')\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.dashboardVc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Dashboard.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.dashboardVc, 'skillViewControllers')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async asksForViewModelWhenCreatingSkillView() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'view',\n\t\t\tnameReadable: 'Appointments card',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: 'Card',\n\t\t})\n\n\t\tawait this.ui.sendInput('Card')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.appointmentsCard = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'AppointmentsCard.vc.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static skillViewExtendsAbstractViewControllerWithProperView() {\n\t\tconst contents = diskUtil.readFile(this.appointmentsCard)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class AppointmentsCardViewController extends AbstractViewController<Card>'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesRootSkillViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'SkillViewControllerId',\n\t\t\tcode: `\nconst root = vcFactory.Controller('testing-views.root', {})\nexport const svcModel = root.render()\nexport const svcId: SkillViewControllerId = 'testing-views.root'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.svcModel)\n\t\tassert.isTruthy(imported.svcId)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'ViewControllerId',\n\t\t\tcode: `\n\t\tconst apptCard = vcFactory.Controller('testing-views.appointments-card', {})\n\t\texport const vcModel = apptCard.render()\n\t\texport const vcId: ViewControllerId = 'testing-views.appointments-card'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.vcModel)\n\t\tassert.isTruthy(imported.vcId)\n\t}\n\n\t@test()\n\tprotected static async typesViewControllerOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface ViewControllerOptionsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.appointments-card': ConstructorParameters<typeof AppointmentsCardViewController>[0]`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async typesSkillViewControllerLoadOptionsOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface SkillViewControllerArgsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`type LoadOptions<Args extends Record<string,any>[]> = Args[0]['args'] extends Record<string, any> ? Args[0]['args'] : Record<never, any>`\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.root': LoadOptions<Parameters<RootSkillViewController['load']>>`\n\t\t)\n\t}\n\n\tprivate static buildTestfile(options: {\n\t\tcode: string\n\t\tidInterfaceName: 'SkillViewControllerId' | 'ViewControllerId'\n\t}) {\n\t\tconst { code, idInterfaceName } = options\n\n\t\treturn (\n\t\t\t`\nimport ` +\n\t\t\t`'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tMockStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new MockStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n${code}\n\t\t`.trim()\n\t\t)\n\t}\n}\n"],"file":"CreatingASkillView.test.js"}
1
+ {"version":3,"file":"CreatingASkillView.test.js","names":["CreatingASkillViewTest","action","Action","assert","isFunction","execute","viewType","waitForInput","last","ui","getLastInvocation","isEqual","command","reset","isRoot","results","isFalsy","errors","rootSvc","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","Service","check","contents","diskUtil","readFile","isTruthy","errorAssert","assertError","name","promise","sendInput","dashboardVc","nameReadable","options","choices","value","appointmentsCard","buildTestfile","idInterfaceName","code","testFile","resolvePath","writeFile","importAll","imported","svcModel","svcId","vcModel","vcId","viewsFile","resolveHashSprucePath","viewContents","trim","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/CreatingASkillView.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../../features/view/actions/CreateAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingASkillViewTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: CreateAction\n\tprivate static rootSvc: string\n\tpublic static appointmentsCard: string\n\tprivate static dashboardVc: string\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'create') as CreateAction\n\t}\n\n\t@test()\n\tprotected static hasCreateAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async asksIfRootSkillViewIfNotYetCreated() {\n\t\tvoid this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'confirm')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canCreateRootSkillView() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.rootSvc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Root.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.rootSvc, 'skillViewControllers')\n\t}\n\n\t@test()\n\tprotected static async generatesValidRootSkillView() {\n\t\tawait this.Service('typeChecker').check(this.rootSvc)\n\t}\n\n\t@test()\n\tprotected static async rootSkillViewExtendsAbstractSkillViewController() {\n\t\tconst contents = diskUtil.readFile(this.rootSvc)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class RootSkillViewController extends AbstractSkillViewController'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async cantCreateTwoRootSvcs() {\n\t\tconst results = await this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors?.[0], 'SKILL_VIEW_EXISTS', {\n\t\t\tname: 'Root',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForNamesIfCreatingSkillViewNotRoot() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'skillView',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\n\t\tawait this.ui.sendInput('Dashboard')\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.dashboardVc = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Dashboard.svc.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(this.dashboardVc, 'skillViewControllers')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async asksForViewModelWhenCreatingSkillView() {\n\t\tconst promise = this.action.execute({\n\t\t\tviewType: 'view',\n\t\t\tnameReadable: 'Appointments card',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: 'Card',\n\t\t})\n\n\t\tawait this.ui.sendInput('Card')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.appointmentsCard = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'AppointmentsCard.vc.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static skillViewExtendsAbstractViewControllerWithProperView() {\n\t\tconst contents = diskUtil.readFile(this.appointmentsCard)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default class AppointmentsCardViewController extends AbstractViewController<Card>'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesRootSkillViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'SkillViewControllerId',\n\t\t\tcode: `\nconst root = vcFactory.Controller('testing-views.root', {})\nexport const svcModel = root.render()\nexport const svcId: SkillViewControllerId = 'testing-views.root'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.svcModel)\n\t\tassert.isTruthy(imported.svcId)\n\t}\n\n\t@test()\n\tprotected static async nicelyTypesViewController() {\n\t\tconst contents = this.buildTestfile({\n\t\t\tidInterfaceName: 'ViewControllerId',\n\t\t\tcode: `\n\t\tconst apptCard = vcFactory.Controller('testing-views.appointments-card', {})\n\t\texport const vcModel = apptCard.render()\n\t\texport const vcId: ViewControllerId = 'testing-views.appointments-card'`,\n\t\t})\n\n\t\tconst testFile = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(testFile, contents)\n\n\t\tconst imported = await this.Service('import').importAll(testFile)\n\n\t\tassert.isTruthy(imported.vcModel)\n\t\tassert.isTruthy(imported.vcId)\n\t}\n\n\t@test()\n\tprotected static async typesViewControllerOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface ViewControllerOptionsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.appointments-card': ConstructorParameters<typeof AppointmentsCardViewController>[0]`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async typesSkillViewControllerLoadOptionsOptions() {\n\t\tconst viewsFile = this.resolveHashSprucePath('views', 'views.ts')\n\t\tconst viewContents = diskUtil.readFile(viewsFile)\n\n\t\tassert.doesInclude(viewContents, `interface SkillViewControllerArgsMap`)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`type LoadOptions<Args extends Record<string,any>[]> = Args[0]['args'] extends Record<string, any> ? Args[0]['args'] : Record<never, any>`\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tviewContents,\n\t\t\t`'testing-views.root': LoadOptions<Parameters<RootSkillViewController['load']>>`\n\t\t)\n\t}\n\n\tprivate static buildTestfile(options: {\n\t\tcode: string\n\t\tidInterfaceName: 'SkillViewControllerId' | 'ViewControllerId'\n\t}) {\n\t\tconst { code, idInterfaceName } = options\n\n\t\treturn (\n\t\t\t`\nimport ` +\n\t\t\t`'#spruce/views/views'\nimport {\n\tViewControllerFactory,\n\tAuthenticatorImpl,\n\tMockStorage,\n\t${idInterfaceName},\n} from '@sprucelabs/heartwood-view-controllers'\nimport { vcDiskUtil } from '@sprucelabs/spruce-test-fixtures'\n\nAuthenticatorImpl.setStorage(new MockStorage())\n\nconst vcFactory = ViewControllerFactory.Factory({\n\tcontrollerMap: vcDiskUtil.loadViewControllersAndBuildMap('testing-views', __dirname),\n\tconnectToApi: async () => {\n\t\treturn 'yes' as any\n\t},\n})\n${code}\n\t\t`.trim()\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/CreatingATheme.test.ts"],"names":["CreatingAThemeTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","results","isFalsy","errors","isTrue","diskUtil","doesFileExist","resolveHashSprucePath","getThemePath","Service","importDefault","imported","isTruthy","errorAssert","assertError","emitter","getEmitter","hitCount","deleteFile","on","payload","featureCode","actionCode","isEqual","resolvePath","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class CreatingAThemeTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async hasCreateThemeAction() {\n\t\tassert.isFunction(this.Action('view', 'createTheme').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFirst() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in creating a theme',\n\t\t})\n\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(\n\t\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async makesThemeFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getThemePath()))\n\t}\n\n\t@test()\n\tprotected static async makesValidThemeFile() {\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getThemePath()\n\t\t)\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isTrue('color1' in imported)\n\t}\n\n\t@test()\n\tprotected static async cantRunTwice() {\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'THEME_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncEventsIfAlreadySynced() {\n\t\tconst emitter = this.getEmitter()\n\t\tlet hitCount = 0\n\n\t\tdiskUtil.deleteFile(this.getThemePath())\n\n\t\tawait emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\n\t\t\tif (featureCode === 'event' && actionCode === 'sync') {\n\t\t\t\thitCount++\n\t\t\t}\n\t\t})\n\n\t\tawait this.Action('view', 'createTheme').execute({})\n\n\t\tassert.isEqual(hitCount, 0)\n\t}\n\n\tprivate static getThemePath(): string {\n\t\treturn this.resolvePath('src', 'themes', 'skill.theme.ts')\n\t}\n}\n"],"file":"CreatingATheme.test.js"}
1
+ {"version":3,"file":"CreatingATheme.test.js","names":["CreatingAThemeTest","assert","isFunction","Action","execute","getSkillFixture","registerCurrentSkill","name","results","isFalsy","errors","isTrue","diskUtil","doesFileExist","resolveHashSprucePath","getThemePath","Service","importDefault","imported","isTruthy","errorAssert","assertError","emitter","getEmitter","hitCount","deleteFile","on","payload","featureCode","actionCode","isEqual","resolvePath","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/CreatingATheme.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class CreatingAThemeTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async hasCreateThemeAction() {\n\t\tassert.isFunction(this.Action('view', 'createTheme').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFirst() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in creating a theme',\n\t\t})\n\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(\n\t\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async makesThemeFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getThemePath()))\n\t}\n\n\t@test()\n\tprotected static async makesValidThemeFile() {\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getThemePath()\n\t\t)\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isTrue('color1' in imported)\n\t}\n\n\t@test()\n\tprotected static async cantRunTwice() {\n\t\tconst results = await this.Action('view', 'createTheme').execute({})\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'THEME_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncEventsIfAlreadySynced() {\n\t\tconst emitter = this.getEmitter()\n\t\tlet hitCount = 0\n\n\t\tdiskUtil.deleteFile(this.getThemePath())\n\n\t\tawait emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\n\t\t\tif (featureCode === 'event' && actionCode === 'sync') {\n\t\t\t\thitCount++\n\t\t\t}\n\t\t})\n\n\t\tawait this.Action('view', 'createTheme').execute({})\n\n\t\tassert.isEqual(hitCount, 0)\n\t}\n\n\tprivate static getThemePath(): string {\n\t\treturn this.resolvePath('src', 'themes', 'skill.theme.ts')\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/KeepingViewsInSync.test.ts"],"names":["KeepingViewsInSyncTest","action","Action","assert","isFunction","execute","results","isFalsy","errors","files","viewType","isRoot","match","testUtil","assertFileByPathInGeneratedFiles","Service","check","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;IAEqBA,sB,WASnB,iB,UAKA,iB,UAOA,iB;;;;;;;;;;;;;sGAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKC,MAAL,GAAc,KAAKC,MAAL,CAAY,MAAZ,EAAoB,MAApB,CAAd;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yGAKA;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKH,MAAL,CAAYI,OAA9B;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8HAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKJ,MAAL,CAAYI,OAAZ,CAAoB,EAApB,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAGCH,6BAAOI,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AACAL,6BAAOI,OAAP,CAAeD,OAAO,CAACG,KAAvB;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKP,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BG,OAA9B,CAAsC;AAC3DK,kBAAAA,QAAQ,EAAE,WADiD;AAE3DC,kBAAAA,MAAM,EAAE;AAFmD,iBAAtC,CAFvB;;AAAA;AAEOL,gBAAAA,OAFP;AAOOM,gBAAAA,KAPP,GAOeC,kBAASC,gCAAT,mBAEbR,OAAO,CAACG,KAFK,CAPf;AAAA;AAAA,uBAYO,KAAKM,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCJ,KAAlC,CAZP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EArBmDK,8B,8DAClB,O","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/view/actions/SyncAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingViewsInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: SyncAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'sync')\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoViewsGeneratesNothing() {\n\t\tconst results = await this.action.execute({})\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isFalsy(results.files)\n\t}\n\n\t@test()\n\tprotected static async createsValidCombinedEventsFileWhenCreatingANewSvc() {\n\t\tconst results = await this.Action('view', 'create').execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t`views/views.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n}\n"],"file":"KeepingViewsInSync.test.js"}
1
+ {"version":3,"file":"KeepingViewsInSync.test.js","names":["KeepingViewsInSyncTest","action","Action","assert","isFunction","execute","results","isFalsy","errors","files","viewType","isRoot","match","testUtil","assertFileByPathInGeneratedFiles","Service","check","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/KeepingViewsInSync.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/view/actions/SyncAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingViewsInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprivate static action: SyncAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'sync')\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoViewsGeneratesNothing() {\n\t\tconst results = await this.action.execute({})\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isFalsy(results.files)\n\t}\n\n\t@test()\n\tprotected static async createsValidCombinedEventsFileWhenCreatingANewSvc() {\n\t\tconst results = await this.Action('view', 'create').execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t`views/views.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;IAEqBA,sB,WASnB,iB,UAKA,iB,UAOA,iB;;;;;;;;;;;;;sGAjBD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,MAAL,GAAc,KAAKC,MAAL,CAAY,MAAZ,EAAoB,MAApB,CAAd;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yGAKA;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkB,KAAKH,MAAL,CAAYI,OAA9B;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;8HAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKJ,MAAL,CAAYI,OAAZ,CAAoB,EAApB,CAFvB;;cAAA;gBAEOC,OAFP;;gBAGCH,aAAOI,OAAP,CAAeD,OAAO,CAACE,MAAvB;;gBACAL,aAAOI,OAAP,CAAeD,OAAO,CAACG,KAAvB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6IAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKP,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BG,OAA9B,CAAsC;kBAC3DK,QAAQ,EAAE,WADiD;kBAE3DC,MAAM,EAAE;gBAFmD,CAAtC,CAFvB;;cAAA;gBAEOL,OAFP;gBAOOM,KAPP,GAOeC,kBAASC,gCAAT,mBAEbR,OAAO,CAACG,KAFK,CAPf;gBAAA;gBAAA,OAYO,KAAKM,OAAL,CAAa,aAAb,EAA4BC,KAA5B,CAAkCJ,KAAlC,CAZP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EArBmDK,8B,8DAClB,O"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/SettingUpViews.test.ts"],"names":["SettingUpViewsTest","Cli","cli","feature","getFeature","assert","isTruthy","FeatureFixture","installFeatures","code","options","name","description","people","loginAsDemoPerson","dependencies","Service","get","isLength","isEqual","namespace","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,kB,WACnB,iB,UAOA,iB;;;;;;;;;;;;;6GAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKC,GAAL,EAFnB;;AAAA;AAEOC,gBAAAA,GAFP;AAGOC,gBAAAA,OAHP,GAGiBD,GAAG,CAACE,UAAJ,CAAe,MAAf,CAHjB;;AAICC,6BAAOC,QAAP,CAAgBH,OAAhB;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oIAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKI,cAAL,GAAsBC,eAAtB,CAAsC,CAC3C;AACCC,kBAAAA,IAAI,EAAE,OADP;AAECC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAE,eADE;AAERC,oBAAAA,WAAW,EAAE;AAFL;AAFV,iBAD2C,EAQ3C;AACCH,kBAAAA,IAAI,EAAE;AADP,iBAR2C,CAAtC,CAFP;;AAAA;AAAA;AAAA,uBAeO,KAAKI,MAAL,CAAYC,iBAAZ,EAfP;;AAAA;AAiBOC,gBAAAA,YAjBP,GAiBsB,KAAKC,OAAL,CAAa,YAAb,EAA2BC,GAA3B,EAjBtB;;AAkBCZ,6BAAOa,QAAP,CAAgBH,YAAhB,EAA8B,CAA9B;;AAEAV,6BAAOc,OAAP,CAAeJ,YAAY,CAAC,CAAD,CAAZ,CAAgBK,SAA/B,EAA0C,WAA1C;;AApBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAR+CC,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class SettingUpViewsTest extends AbstractCliTest {\n\t@test()\n\tprotected static async canGetViewFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst feature = cli.getFeature('view')\n\t\tassert.isTruthy(feature)\n\t}\n\n\t@test()\n\tprotected static async installingViewsAddsHeartwoodAsDependency() {\n\t\tawait this.FeatureFixture().installFeatures([\n\t\t\t{\n\t\t\t\tcode: 'skill',\n\t\t\t\toptions: {\n\t\t\t\t\tname: 'testing views',\n\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'view',\n\t\t\t},\n\t\t])\n\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst dependencies = this.Service('dependency').get()\n\t\tassert.isLength(dependencies, 1)\n\n\t\tassert.isEqual(dependencies[0].namespace, 'heartwood')\n\t}\n}\n"],"file":"SettingUpViews.test.js"}
1
+ {"version":3,"file":"SettingUpViews.test.js","names":["SettingUpViewsTest","Cli","cli","feature","getFeature","assert","isTruthy","FeatureFixture","installFeatures","code","options","name","description","people","loginAsDemoPerson","dependencies","Service","get","isLength","isEqual","namespace","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/views/SettingUpViews.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class SettingUpViewsTest extends AbstractCliTest {\n\t@test()\n\tprotected static async canGetViewFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst feature = cli.getFeature('view')\n\t\tassert.isTruthy(feature)\n\t}\n\n\t@test()\n\tprotected static async installingViewsAddsHeartwoodAsDependency() {\n\t\tawait this.FeatureFixture().installFeatures([\n\t\t\t{\n\t\t\t\tcode: 'skill',\n\t\t\t\toptions: {\n\t\t\t\t\tname: 'testing views',\n\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tcode: 'view',\n\t\t\t},\n\t\t])\n\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst dependencies = this.Service('dependency').get()\n\t\tassert.isLength(dependencies, 1)\n\n\t\tassert.isEqual(dependencies[0].namespace, 'heartwood')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,kB,WACnB,iB,UAOA,iB;;;;;;;;;;;;;6GAPD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKC,GAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAGOC,OAHP,GAGiBD,GAAG,CAACE,UAAJ,CAAe,MAAf,CAHjB;;gBAICC,aAAOC,QAAP,CAAgBH,OAAhB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oIAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKI,cAAL,GAAsBC,eAAtB,CAAsC,CAC3C;kBACCC,IAAI,EAAE,OADP;kBAECC,OAAO,EAAE;oBACRC,IAAI,EAAE,eADE;oBAERC,WAAW,EAAE;kBAFL;gBAFV,CAD2C,EAQ3C;kBACCH,IAAI,EAAE;gBADP,CAR2C,CAAtC,CAFP;;cAAA;gBAAA;gBAAA,OAeO,KAAKI,MAAL,CAAYC,iBAAZ,EAfP;;cAAA;gBAiBOC,YAjBP,GAiBsB,KAAKC,OAAL,CAAa,YAAb,EAA2BC,GAA3B,EAjBtB;;gBAkBCZ,aAAOa,QAAP,CAAgBH,YAAhB,EAA8B,CAA9B;;gBAEAV,aAAOc,OAAP,CAAeJ,YAAY,CAAC,CAAD,CAAZ,CAAgBK,SAA/B,EAA0C,WAA1C;;cApBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAR+CC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/views/TestingViewControllers.test.ts"],"names":["TestingViewControllersTest","LintService","enableLinting","viewFeature","cli","getFeature","isInstalled","executeCreate","waitForInput","last","ui","getLastInvocation","assert","doesInclude","options","choices","label","reset","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","Action","execute","shouldReportWhileRunning","testResults","isArray","isLength","meta","testFiles","path","status","type","nameReadable","nameCamel","namePascal","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingViewControllersTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'viewsWithTests'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tLintService.enableLinting()\n\t}\n\n\t@test()\n\tprotected static async showsNotInstalled() {\n\t\tconst viewFeature = this.cli.getFeature('view')\n\t\tviewFeature.isInstalled = async () => false\n\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTest() {\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async testsRun() {\n\t\tconst promise = this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractViewControllerTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'RenderingRootViewController.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'RenderingRootViewControllerTest extends AbstractViewControllerTest'\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { AbstractViewControllerTest } from '@sprucelabs/spruce-view-plugin'\"\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tassert.doesInclude(testResults.meta?.testResults.testFiles, {\n\t\t\tpath: 'behavioral/RenderingRootViewController.test.ts',\n\t\t\tstatus: 'failed',\n\t\t})\n\t}\n\n\tprivate static async executeCreate() {\n\t\treturn this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Rendering root view controller',\n\t\t\tnameCamel: 'renderingRootViewController',\n\t\t\tnamePascal: 'RenderingRootViewController',\n\t\t})\n\t}\n}\n"],"file":"TestingViewControllers.test.js"}
1
+ {"version":3,"file":"TestingViewControllers.test.js","names":["TestingViewControllersTest","LintService","enableLinting","viewFeature","cli","getFeature","isInstalled","executeCreate","waitForInput","last","ui","getLastInvocation","assert","doesInclude","options","choices","label","reset","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","Action","execute","shouldReportWhileRunning","testResults","isArray","isLength","meta","testFiles","path","status","type","nameReadable","nameCamel","namePascal","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/TestingViewControllers.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingViewControllersTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'viewsWithTests'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tLintService.enableLinting()\n\t}\n\n\t@test()\n\tprotected static async showsNotInstalled() {\n\t\tconst viewFeature = this.cli.getFeature('view')\n\t\tviewFeature.isInstalled = async () => false\n\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTest() {\n\t\tvoid this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async testsRun() {\n\t\tconst promise = this.executeCreate()\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractViewControllerTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'RenderingRootViewController.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'RenderingRootViewControllerTest extends AbstractViewControllerTest'\n\t\t)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { AbstractViewControllerTest } from '@sprucelabs/spruce-view-plugin'\"\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tassert.doesInclude(testResults.meta?.testResults.testFiles, {\n\t\t\tpath: 'behavioral/RenderingRootViewController.test.ts',\n\t\t\tstatus: 'failed',\n\t\t})\n\t}\n\n\tprivate static async executeCreate() {\n\t\treturn this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Rendering root view controller',\n\t\t\tnameCamel: 'renderingRootViewController',\n\t\t\tnamePascal: 'RenderingRootViewController',\n\t\t})\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"names":["WatchingForChangesTest","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","wait","delay","sourceDir","runner","e","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;;;;;IAGqBA,sB,WACnB,iB,UAMA,iB,UAOA,iB,UAgBA,gBAAK,oBAAL,EAA2B,KAA3B,EAAkC,KAAlC,C,UACA,gBAAK,kBAAL,EAAyB,OAAzB,EAAkC,IAAlC,C,UA0BA,gBAAK,4BAAL,EAAmC,CAAnC,C,UACA,gBAAK,6BAAL,EAAoC,CAApC,C,UACA,gBAAK,+BAAL,EAAsC,CAAtC,C,UAgFA,iB,WAqBA,iB,WAwBA,iB,WAuBA,iB;;;;;;;;;;;;;4GA9MD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,EAFP;;AAAA;AAAA;AAAA,uBAGO,KAAKC,wBAAL,CAA8B,OAA9B,CAHP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKD,YAAL,EAFnB;;AAAA;AAEOE,gBAAAA,GAFP;AAAA;AAAA,uBAG0BA,GAAG,CAACC,UAAJ,CAAe,OAAf,EAAwBC,UAAxB,EAH1B;;AAAA;AAGOA,gBAAAA,UAHP;;AAICC,6BAAOC,OAAP,CAAeF,UAAf;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKJ,YAAL,EAFnB;;AAAA;AAEOE,gBAAAA,GAFP;AAGOK,gBAAAA,OAHP,GAGiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAHjB;AAKC,qBAAKI,OAAO,CAACC,aAAR,EAAL;AALD;AAAA,uBAOwBD,OAAO,CAACH,UAAR,EAPxB;;AAAA;AAOKA,gBAAAA,UAPL;;AAQCC,6BAAOI,MAAP,CAAcL,UAAd;;AARD;AAAA,uBAUOG,OAAO,CAACG,YAAR,EAVP;;AAAA;AAAA;AAAA,uBAYoBH,OAAO,CAACH,UAAR,EAZpB;;AAAA;AAYCA,gBAAAA,UAZD;;AAaCC,6BAAOC,OAAP,CAAeF,UAAf;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAgBA,kBAGCO,IAHD,EAICC,UAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMmB,KAAKZ,YAAL,EANnB;;AAAA;AAMOE,gBAAAA,GANP;AAOOK,gBAAAA,OAPP,GAOiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAPjB;AAAA;AAAA,uBASO,KAAKK,aAAL,CAAmBD,OAAnB,CATP;;AAAA;AAWKM,gBAAAA,SAXL,GAWiB,CAXjB;AAaC,qBAAKX,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,YAAM;AAC9CD,kBAAAA,SAAS;AACT,iBAFI,CAAL;;AAIAE,2CAASC,SAAT,CACC,KAAKC,WAAL,CAAiBN,IAAjB,EAAuB,SAAvB,CADD,EAEC,4BAFD;;AAjBD;AAAA,uBAsBO,KAAKD,YAAL,CAAkBH,OAAlB,CAtBP;;AAAA;AAwBCF,6BAAOa,OAAP,CAAeL,SAAf,EAA0BD,UAAU,GAAG,CAAH,GAAO,CAA3C;;AAxBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIA2BA,kBAICO,WAJD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAMKN,gBAAAA,SANL,GAMiB,CANjB;AAAA;AAAA,uBAQmB,KAAKb,YAAL,EARnB;;AAAA;AAQOE,gBAAAA,GARP;AASOK,gBAAAA,OATP,GASiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CATjB;AAUKiB,gBAAAA,cAVL,GAU2B,EAV3B;AAYC,qBAAKlB,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,UAACO,OAAD,EAAa;AACrDR,kBAAAA,SAAS;AACTO,kBAAAA,cAAc,GAAGC,OAAO,CAACC,OAAzB;AACA,iBAHI,CAAL;;AAKAP,2CAASQ,SAAT,CAAmB,KAAKC,GAAxB;;AAjBD;AAAA,uBAmBO,KAAKhB,aAAL,CAAmBD,OAAnB,CAnBP;;AAAA;AAqBOkB,gBAAAA,eArBP,GAqBgC,EArBhC;;AAsBC,qBAASC,GAAT,GAAe,CAAf,EAAkBA,GAAG,GAAGP,WAAxB,EAAqCO,GAAG,EAAxC,EAA4C;AACrCC,kBAAAA,QADqC,mBACjBD,GADiB;;AAE3CX,6CAASC,SAAT,CACC,KAAKC,WAAL,CAAiB,OAAjB,EAA0BU,QAA1B,CADD,EAEC,4BAFD;;AAIAF,kBAAAA,eAAe,CAACG,IAAhB,CAAqB;AACpBC,oBAAAA,QAAQ,EAAE,eADU;AAEpBC,oBAAAA,OAAO,EAAEC,sCAAoBC,UAFT;AAGpBC,oBAAAA,MAAM,EAAE;AACPC,sBAAAA,MAAM,EAAE,WADD;AAEPvB,sBAAAA,IAAI,EAAE,KAAKM,WAAL,CAAiB,OAAjB,EAA0BU,QAA1B,CAFC;AAGPQ,sBAAAA,IAAI,EAAER;AAHC;AAHY,mBAArB;AASA;;AArCF;AAAA,uBAuCO,KAAKjB,YAAL,CAAkBH,OAAlB,CAvCP;;AAAA;AAyCCF,6BAAOa,OAAP,CAAeL,SAAf,EAA0B,CAA1B;;AACAR,6BAAOI,MAAP,CAAcW,cAAc,CAACgB,MAAf,IAAyBjB,WAAvC;;AAEA,gDAAuBM,eAAvB,sCAAwC;AAA7BY,kBAAAA,QAA6B;;AACvChC,+BAAOiC,WAAP,CAAmBlB,cAAnB,EAAmCiB,QAAnC;AACA;;AA9CF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAiDA,kBAAkC9B,OAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACO,KAAKgC,IAAL,CAAU,IAAV,CADP;;AAAA;AAAA;AAAA,uBAEOhC,OAAO,CAACG,YAAR,EAFP;;AAAA;AAAA;AAAA,uBAGO,KAAK6B,IAAL,CAAU,GAAV,CAHP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yGAMA,kBAAmChC,OAAnC;AAAA;AAAA;AAAA;AAAA;AACC,qBAAKA,OAAO,CAACC,aAAR,CAAsB;AAAEgC,kBAAAA,KAAK,EAAE,IAAT;AAAeC,kBAAAA,SAAS,EAAE;AAA1B,iBAAtB,CAAL;AADD;AAAA,uBAEO,KAAKF,IAAL,CAAU,GAAV,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAKA,kBACCG,MADD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAGmB,KAAK1C,YAAL,EAHnB;;AAAA;AAGOE,gBAAAA,GAHP;AAIOK,gBAAAA,OAJP,GAIiBL,GAAG,CAACC,UAAJ,CAAe,OAAf,CAJjB;AAMKiB,gBAAAA,cANL,GAM2B,EAN3B;AAOC,qBAAKlB,GAAG,CAACY,EAAJ,CAAO,2BAAP,EAAoC,UAACO,OAAD,EAAa;AACrDD,kBAAAA,cAAc,GAAGC,OAAO,CAACC,OAAzB;AACA,iBAFI,CAAL;AAPD;AAAA,uBAWO,KAAKd,aAAL,CAAmBD,OAAnB,CAXP;;AAAA;AAAA;AAAA,uBAa8CmC,MAAM,EAbpD;;AAAA;AAaOL,gBAAAA,QAbP;AAAA;AAAA,uBAeO,KAAK3B,YAAL,CAAkBH,OAAlB,CAfP;;AAAA;AAAA,uDAiBiB8B,QAjBjB;;AAAA;AAiBC,sEAA0B;AAAfM,oBAAAA,CAAe;;AACzBtC,iCAAOiC,WAAP,CAAmBlB,cAAnB,EAAmCuB,CAAnC;AACA;AAnBF;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAsBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,6FAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AACjBC,0BAAAA,UADiB,GACJ,KAAI,CAAC5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CADI;;AAEvBF,qDAASQ,SAAT,CAAmBsB,UAAnB;;AAEMR,0BAAAA,QAJiB,GAIgB,CACtC;AACCR,4BAAAA,QAAQ,EAAE,cADX;AAECC,4BAAAA,OAAO,EAAE,aAFV;AAGCG,4BAAAA,MAAM,EAAE;AACPC,8BAAAA,MAAM,EAAE,WADD;AAEPC,8BAAAA,IAAI,EAAE,SAFC;AAGPxB,8BAAAA,IAAI,EAAE,KAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;AAHC;AAHT,2BADsC,CAJhB;AAAA,4DAehBoB,QAfgB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAlB,GAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAqBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOQ,gBAAAA,UAFP,GAEoB,KAAK5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFpB;;AAGCF,2CAASQ,SAAT,CAAmBsB,UAAnB;;AAHD;AAAA,uBAKO,KAAKD,YAAL,6FAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AACvB7B,qDAAS+B,SAAT,CAAmBD,UAAnB;;AAEMR,0BAAAA,QAHiB,GAGgB,CACtC;AACCR,4BAAAA,QAAQ,EAAE,cADX;AAECC,4BAAAA,OAAO,EAAE,aAFV;AAGCG,4BAAAA,MAAM,EAAE;AACPC,8BAAAA,MAAM,EAAE,SADD;AAEPC,8BAAAA,IAAI,EAAE,SAFC;AAGPxB,8BAAAA,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;AAHC;AAHT,2BADsC,CAHhB;AAAA,6DAehBoB,QAfgB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAlB,GALP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAwBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOU,gBAAAA,OAFP,GAEiB,KAAK9B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFjB;;AAGCF,2CAASC,SAAT,CAAmB+B,OAAnB,EAA4B,MAA5B;;AAHD;AAAA,uBAKO,KAAKH,YAAL,6FAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AACvB7B,qDAASiC,UAAT,CAAoBD,OAApB;;AAEMV,0BAAAA,QAHiB,GAGgB,CACtC;AACCR,4BAAAA,QAAQ,EAAE,eADX;AAECC,4BAAAA,OAAO,EAAE,aAFV;AAGCG,4BAAAA,MAAM,EAAE;AACPC,8BAAAA,MAAM,EAAE,SADD;AAEPC,8BAAAA,IAAI,EAAE,SAFC;AAGPxB,8BAAAA,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B;AAHC;AAHT,2BADsC,CAHhB;AAAA,6DAchBoB,QAdgB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAlB,GALP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2HAuBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOQ,gBAAAA,UAFP,GAEoB,KAAK5B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,CAFpB;;AAGCF,2CAASQ,SAAT,CAAmBsB,UAAnB;;AAEME,gBAAAA,OALP,GAKiB,KAAK9B,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,EAAqC,SAArC,CALjB;;AAMCF,2CAASC,SAAT,CAAmB+B,OAAnB,EAA4B,MAA5B;;AAND;AAAA,uBAQO,KAAKH,YAAL,6FAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AACvB7B,qDAASiC,UAAT,CAAoBD,OAApB;;AAEMV,0BAAAA,QAHiB,GAGgB,CACtC;AACCR,4BAAAA,QAAQ,EAAE,eADX;AAECC,4BAAAA,OAAO,EAAE,aAFV;AAGCG,4BAAAA,MAAM,EAAE;AACPC,8BAAAA,MAAM,EAAE,SADD;AAEPC,8BAAAA,IAAI,EAAE,SAFC;AAGPxB,8BAAAA,IAAI,EAAE,MAAI,CAACM,WAAL,CAAiB,OAAjB,EAA0B,SAA1B,EAAqC,SAArC;AAHC;AAHT,2BADsC,CAHhB;AAAA,6DAehBoB,QAfgB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAlB,GARP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AACOY,gBAAAA,OADP,GACiB,KAAKC,cAAL,EADjB;AAAA;AAAA,uBAEmBD,OAAO,CAACE,eAAR,CAAwB,CAAC;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAAD,CAAxB,CAFnB;;AAAA;AAEOlD,gBAAAA,GAFP;AAAA,mDAGQA,GAHR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1OmDmD,4B","sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tawait this.startWatching(feature)\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t\tawait this.wait(500)\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 2000, sourceDir: '.' })\n\t\tawait this.wait(500)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"file":"WatchingForChanges.test.js"}
1
+ {"version":3,"file":"WatchingForChanges.test.js","names":["WatchingForChangesTest","installWatch","assertIsFeatureInstalled","cli","getFeature","isWatching","assert","isFalse","feature","startWatching","isTrue","stopWatching","path","shouldFire","fireCount","on","diskUtil","writeFile","resolvePath","isEqual","changeCount","payloadChanges","payload","changes","createDir","cwd","expectedChanges","idx","filename","push","schemaId","version","CORE_SCHEMA_VERSION","constValue","values","action","name","length","expected","doesInclude","wait","delay","sourceDir","runner","e","watchRunStop","newDirDest","deleteDir","newFile","deleteFile","fixture","FeatureFixture","installFeatures","code","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/watchers/WatchingForChanges.test.ts"],"sourcesContent":["import { CORE_SCHEMA_VERSION, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport WatchFeature from '../../../features/watch/WatchFeature'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { GeneratedFileOrDir } from '../../../types/cli.types'\n\nexport default class WatchingForChangesTest extends AbstractCliTest {\n\t@test()\n\tprotected static async installsWatchers() {\n\t\tawait this.installWatch()\n\t\tawait this.assertIsFeatureInstalled('watch')\n\t}\n\n\t@test()\n\tprotected static async notWatchingAtTheStart() {\n\t\tconst cli = await this.installWatch()\n\t\tconst isWatching = await cli.getFeature('watch').isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test()\n\tprotected static async canStartAndStopWatch() {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tvoid feature.startWatching()\n\n\t\tlet isWatching = await feature.isWatching()\n\t\tassert.isTrue(isWatching)\n\n\t\tawait feature.stopWatching()\n\n\t\tisWatching = await feature.isWatching()\n\t\tassert.isFalse(isWatching)\n\t}\n\n\t@test('does not watch src', 'src', false)\n\t@test('does watch build', 'build', true)\n\tprotected static async watchesInCorrectDir(\n\t\tpath: string,\n\t\tshouldFire: boolean\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tawait this.startWatching(feature)\n\n\t\tlet fireCount = 0\n\n\t\tvoid cli.on('watcher.did-detect-change', () => {\n\t\t\tfireCount++\n\t\t})\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath(path, 'test.ts'),\n\t\t\t'console.log(\"hello world\")'\n\t\t)\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, shouldFire ? 1 : 0)\n\t}\n\n\t@test('fires once with one change', 1)\n\t@test('fires once with two changes', 2)\n\t@test('fires once with three changes', 3)\n\tprotected static async watcherFiresEventWhenASrcFileChanges(\n\t\tchangeCount: number\n\t) {\n\t\tlet fireCount = 0\n\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\t\tlet payloadChanges: any = {}\n\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tfireCount++\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tdiskUtil.createDir(this.cwd)\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expectedChanges: any[] = []\n\t\tfor (let idx = 0; idx < changeCount; idx++) {\n\t\t\tconst filename = `index-${idx}.js`\n\t\t\tdiskUtil.writeFile(\n\t\t\t\tthis.resolvePath('build', filename),\n\t\t\t\t'console.log(\"hello world\")'\n\t\t\t)\n\t\t\texpectedChanges.push({\n\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\tversion: CORE_SCHEMA_VERSION.constValue,\n\t\t\t\tvalues: {\n\t\t\t\t\taction: 'generated',\n\t\t\t\t\tpath: this.resolvePath('build', filename),\n\t\t\t\t\tname: filename,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tawait this.stopWatching(feature)\n\n\t\tassert.isEqual(fireCount, 1)\n\t\tassert.isTrue(payloadChanges.length >= changeCount)\n\n\t\tfor (const expected of expectedChanges) {\n\t\t\tassert.doesInclude(payloadChanges, expected)\n\t\t}\n\t}\n\n\tprivate static async stopWatching(feature: WatchFeature) {\n\t\tawait this.wait(3000)\n\t\tawait feature.stopWatching()\n\t\tawait this.wait(500)\n\t}\n\n\tprivate static async startWatching(feature: WatchFeature) {\n\t\tvoid feature.startWatching({ delay: 2000, sourceDir: '.' })\n\t\tawait this.wait(500)\n\t}\n\n\tprotected static async watchRunStop(\n\t\trunner: () => Promise<GeneratedFileOrDir[]>\n\t) {\n\t\tconst cli = await this.installWatch()\n\t\tconst feature = cli.getFeature('watch')\n\n\t\tlet payloadChanges: any = {}\n\t\tvoid cli.on('watcher.did-detect-change', (payload) => {\n\t\t\tpayloadChanges = payload.changes\n\t\t})\n\n\t\tawait this.startWatching(feature)\n\n\t\tconst expected: GeneratedFileOrDir[] = await runner()\n\n\t\tawait this.stopWatching(feature)\n\n\t\tfor (const e of expected) {\n\t\t\tassert.doesInclude(payloadChanges, e)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canTrackAddingDir() {\n\t\tawait this.watchRunStop(async () => {\n\t\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\t\tdiskUtil.createDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'generated',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingDir() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteDir(newDirDest)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedDir',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'new_dir',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFile() {\n\t\tconst newFile = this.resolvePath('build', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\t\t\treturn expected\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canTrackDeletingFileInDirectory() {\n\t\tconst newDirDest = this.resolvePath('build', 'new_dir')\n\t\tdiskUtil.createDir(newDirDest)\n\n\t\tconst newFile = this.resolvePath('build', 'new_dir', 'test.js')\n\t\tdiskUtil.writeFile(newFile, 'test')\n\n\t\tawait this.watchRunStop(async () => {\n\t\t\tdiskUtil.deleteFile(newFile)\n\n\t\t\tconst expected: GeneratedFileOrDir[] = [\n\t\t\t\t{\n\t\t\t\t\tschemaId: 'generatedFile',\n\t\t\t\t\tversion: 'v2020_07_22',\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\taction: 'deleted',\n\t\t\t\t\t\tname: 'test.js',\n\t\t\t\t\t\tpath: this.resolvePath('build', 'new_dir', 'test.js'),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t]\n\n\t\t\treturn expected\n\t\t})\n\t}\n\n\tprivate static async installWatch() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installFeatures([{ code: 'watch' }])\n\t\treturn cli\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","getFeatureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"mappings":"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","sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async shouldInstallDependentFeatures() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('Skill with 1 dependency')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Restaurant')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tlet isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isFalse(isInstalled)\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('skill-with-1-dependency', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: this.generateExpectedHealthSchemas([\n\t\t\t\t\t...Object.values(coreSchemas),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'restaurant',\n\t\t\t\t\t\tname: 'Restaurant',\n\t\t\t\t\t\tnamespace: 'SkillWith1Dependency',\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t\t},\n\t\t})\n\n\t\tisInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async shouldInstallTwoDependentFeatures() {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('My skill with 2 dependent features')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Test error')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-skill-with-2-dependent-features', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: [],\n\t\t\t},\n\t\t\terror: {\n\t\t\t\terrorSchemas: [{ name: 'Test error', id: 'testError' }],\n\t\t\t\tstatus: 'passed',\n\t\t\t},\n\t\t})\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"file":"ActionExecuter.test.js"}
1
+ {"version":3,"file":"ActionExecuter.test.js","names":["FeatureCommandExecuterTest","executer","Action","shouldAutoHandleDependencies","promise","execute","waitForInput","ui","sendInput","wait","installer","getFeatureInstaller","isInstalled","assert","isFalse","assertHealthySkillNamed","skill","status","schema","schemas","generateExpectedHealthSchemas","Object","values","coreSchemas","id","name","namespace","version","versionUtil","generateVersion","constValue","isTrue","error","errorSchemas","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nexport default class FeatureCommandExecuterTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async shouldInstallDependentFeatures() {\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('Skill with 1 dependency')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Restaurant')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tlet isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isFalse(isInstalled)\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('skill-with-1-dependency', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: this.generateExpectedHealthSchemas([\n\t\t\t\t\t...Object.values(coreSchemas),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'restaurant',\n\t\t\t\t\t\tname: 'Restaurant',\n\t\t\t\t\t\tnamespace: 'SkillWith1Dependency',\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t},\n\t\t\t\t]),\n\t\t\t},\n\t\t})\n\n\t\tisInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async shouldInstallTwoDependentFeatures() {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('yes')\n\n\t\tawait this.ui.sendInput('My skill with 2 dependent features')\n\n\t\tawait this.ui.sendInput('A skill that is so good')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.ui.sendInput('Test error')\n\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait promise\n\n\t\tawait this.assertHealthySkillNamed('my-skill-with-2-dependent-features', {\n\t\t\tskill: { status: 'passed' },\n\t\t\tschema: {\n\t\t\t\tstatus: 'passed',\n\t\t\t\tschemas: [],\n\t\t\t},\n\t\t\terror: {\n\t\t\t\terrorSchemas: [{ name: 'Test error', id: 'testError' }],\n\t\t\t\tstatus: 'passed',\n\t\t\t},\n\t\t})\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('schema')\n\n\t\tassert.isTrue(isInstalled)\n\t}\n}\n"],"mappings":"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"}