@sprucelabs/spruce-cli 18.2.0 → 18.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
  35. package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
  36. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
  37. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
  38. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
  39. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
  40. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
  41. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
  42. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
  43. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
  44. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
  45. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
  46. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  47. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  48. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  49. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
  50. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
  51. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
  52. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  53. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  54. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  55. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  56. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  57. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
  59. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
  60. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  61. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  63. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  64. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  65. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  66. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  67. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  68. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  69. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  70. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  71. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  72. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  73. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  74. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  75. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  76. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  77. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  78. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  79. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
  80. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
  81. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
  82. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  83. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  84. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  85. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
  86. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
  87. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
  88. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
  89. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
  90. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
  91. package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
  92. package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
  93. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
  94. package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
  95. package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
  96. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
  97. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  98. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  99. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
  100. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
  101. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
  102. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
  103. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
  104. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
  105. package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
  106. package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
  107. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
  108. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  109. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  110. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  111. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  112. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  113. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  114. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
  115. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
  116. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
  117. package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
  118. package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
  119. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
  120. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  121. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  122. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  123. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  124. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  125. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  126. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  127. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  128. package/build/features/AbstractAction.d.ts +1 -1
  129. package/build/features/AbstractAction.js.map +1 -1
  130. package/build/features/AbstractFeature.d.ts +3 -3
  131. package/build/features/AbstractFeature.js +8 -8
  132. package/build/features/AbstractFeature.js.map +1 -1
  133. package/build/features/ActionExecuter.d.ts +1 -1
  134. package/build/features/ActionExecuter.js +3 -4
  135. package/build/features/ActionExecuter.js.map +1 -1
  136. package/build/features/ActionFactory.d.ts +12 -5
  137. package/build/features/ActionFactory.js +27 -6
  138. package/build/features/ActionFactory.js.map +1 -1
  139. package/build/features/ActionQuestionAsker.d.ts +1 -1
  140. package/build/features/ActionQuestionAsker.js +6 -6
  141. package/build/features/ActionQuestionAsker.js.map +1 -1
  142. package/build/features/conversation/ConversationFeature.js +1 -1
  143. package/build/features/conversation/ConversationFeature.js.map +1 -1
  144. package/build/features/dependencies/DependencyFeature.js +1 -1
  145. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  146. package/build/features/deploy/actions/HerokuAction.js +31 -33
  147. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  148. package/build/features/error/ErrorFeature.js +4 -4
  149. package/build/features/error/ErrorFeature.js.map +1 -1
  150. package/build/features/event/EventFeature.d.ts +8 -8
  151. package/build/features/event/EventFeature.js +7 -4
  152. package/build/features/event/EventFeature.js.map +1 -1
  153. package/build/features/event/actions/CreateAction.js.map +1 -1
  154. package/build/features/event/actions/ListenAction.js.map +1 -1
  155. package/build/features/event/stores/EventStore.d.ts +9 -9
  156. package/build/features/event/stores/EventStore.js +26 -26
  157. package/build/features/event/stores/EventStore.js.map +1 -1
  158. package/build/features/eventContract/EventContractFeature.js +4 -1
  159. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  160. package/build/features/eventContract/actions/PullAction.js +10 -5
  161. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  162. package/build/features/features.types.d.ts +2 -37
  163. package/build/features/features.types.js +0 -41
  164. package/build/features/features.types.js.map +1 -1
  165. package/build/features/log/LogFeature.js +1 -1
  166. package/build/features/log/LogFeature.js.map +1 -1
  167. package/build/features/node/NodeFeature.js.map +1 -1
  168. package/build/features/organization/actions/InstallAction.js.map +1 -1
  169. package/build/features/permission/PermissionFeature.d.ts +12 -2
  170. package/build/features/permission/PermissionFeature.js +138 -15
  171. package/build/features/permission/PermissionFeature.js.map +1 -1
  172. package/build/features/permission/actions/CreateAction.js +4 -1
  173. package/build/features/permission/actions/CreateAction.js.map +1 -1
  174. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  175. package/build/features/permission/actions/SyncAction.js +28 -10
  176. package/build/features/permission/actions/SyncAction.js.map +1 -1
  177. package/build/features/permission/stores/PermissionStore.d.ts +6 -1
  178. package/build/features/permission/stores/PermissionStore.js +43 -31
  179. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  180. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  181. package/build/features/permission/writers/PermissionWriter.js +67 -18
  182. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  183. package/build/features/person/PersonFeature.js +1 -1
  184. package/build/features/person/PersonFeature.js.map +1 -1
  185. package/build/features/sandbox/SandboxFeature.js +1 -1
  186. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  187. package/build/features/schema/SchemaFeature.d.ts +8 -8
  188. package/build/features/schema/SchemaFeature.js +4 -4
  189. package/build/features/schema/SchemaFeature.js.map +1 -1
  190. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  191. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  192. package/build/features/skill/SkillFeature.d.ts +11 -11
  193. package/build/features/skill/SkillFeature.js +2 -2
  194. package/build/features/skill/SkillFeature.js.map +1 -1
  195. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  196. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  197. package/build/features/skill/stores/SkillStore.js +1 -2
  198. package/build/features/skill/stores/SkillStore.js.map +1 -1
  199. package/build/features/store/StoreFeature.js +1 -1
  200. package/build/features/store/StoreFeature.js.map +1 -1
  201. package/build/features/store/actions/SyncAction.d.ts +1 -1
  202. package/build/features/store/actions/SyncAction.js.map +1 -1
  203. package/build/features/test/TestFeature.js +1 -1
  204. package/build/features/test/TestFeature.js.map +1 -1
  205. package/build/features/view/ViewFeature.js +1 -1
  206. package/build/features/view/ViewFeature.js.map +1 -1
  207. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  208. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  209. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  210. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  211. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  212. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  213. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  214. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  215. package/build/services/CommandService.d.ts +2 -2
  216. package/build/services/CommandService.js +6 -6
  217. package/build/services/CommandService.js.map +1 -1
  218. package/build/services/PkgService.d.ts +1 -0
  219. package/build/services/PkgService.js +5 -0
  220. package/build/services/PkgService.js.map +1 -1
  221. package/build/tests/AbstractCliTest.d.ts +7 -3
  222. package/build/tests/AbstractCliTest.js +81 -45
  223. package/build/tests/AbstractCliTest.js.map +1 -1
  224. package/build/tests/buildTestCache.js +7 -0
  225. package/build/tests/buildTestCache.js.map +1 -1
  226. package/build/tests/fixtures/FeatureFixture.js +1 -0
  227. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  228. package/build/tests/utilities/test.utility.d.ts +2 -0
  229. package/build/tests/utilities/test.utility.js +6 -0
  230. package/build/tests/utilities/test.utility.js.map +1 -1
  231. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  233. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  235. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  237. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  238. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  239. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  240. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  241. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
  245. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  246. package/node_modules/@typescript-eslint/types/package.json +2 -2
  247. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  248. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
  249. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  250. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
  251. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  252. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  253. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
  255. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  257. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
  259. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  260. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  261. package/package.json +65 -33
  262. package/src/.spruce/events/events.contract.ts +24 -0
  263. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  264. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  265. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  266. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  267. package/src/.spruce/schemas/schemas.types.ts +171 -52
  268. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  269. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  270. package/src/.spruce/settings.json +2 -1
  271. package/src/GlobalEmitter.ts +2 -7
  272. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  273. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  274. package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
  275. package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
  276. package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
  277. package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
  278. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  279. package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
  280. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  281. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  282. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
  283. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
  284. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  285. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  286. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  287. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  288. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  289. package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
  290. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  291. package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
  292. package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
  293. package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
  294. package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
  295. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  296. package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
  297. package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
  298. package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
  299. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  300. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  301. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  302. package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
  303. package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
  304. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  305. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  306. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  307. package/src/features/AbstractAction.ts +2 -2
  308. package/src/features/AbstractFeature.ts +8 -8
  309. package/src/features/ActionExecuter.ts +4 -5
  310. package/src/features/ActionFactory.ts +44 -20
  311. package/src/features/ActionQuestionAsker.ts +17 -17
  312. package/src/features/conversation/ConversationFeature.ts +1 -1
  313. package/src/features/dependencies/DependencyFeature.ts +1 -1
  314. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  315. package/src/features/error/ErrorFeature.ts +4 -4
  316. package/src/features/event/EventFeature.ts +15 -14
  317. package/src/features/event/actions/CreateAction.ts +1 -1
  318. package/src/features/event/actions/ListenAction.ts +1 -1
  319. package/src/features/event/stores/EventStore.ts +37 -37
  320. package/src/features/eventContract/EventContractFeature.ts +6 -1
  321. package/src/features/eventContract/actions/PullAction.ts +7 -3
  322. package/src/features/features.types.ts +4 -41
  323. package/src/features/log/LogFeature.ts +1 -1
  324. package/src/features/node/NodeFeature.ts +1 -1
  325. package/src/features/organization/actions/InstallAction.ts +1 -1
  326. package/src/features/permission/PermissionFeature.ts +68 -11
  327. package/src/features/permission/actions/CreateAction.ts +2 -0
  328. package/src/features/permission/actions/SyncAction.ts +22 -3
  329. package/src/features/permission/stores/PermissionStore.ts +27 -8
  330. package/src/features/permission/writers/PermissionWriter.ts +62 -4
  331. package/src/features/person/PersonFeature.ts +1 -1
  332. package/src/features/sandbox/SandboxFeature.ts +1 -3
  333. package/src/features/schema/SchemaFeature.ts +14 -14
  334. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  335. package/src/features/skill/SkillFeature.ts +18 -18
  336. package/src/features/skill/actions/RebuildAction.ts +1 -1
  337. package/src/features/skill/actions/RegisterAction.ts +1 -1
  338. package/src/features/skill/stores/SkillStore.ts +1 -2
  339. package/src/features/store/StoreFeature.ts +1 -1
  340. package/src/features/store/actions/SyncAction.ts +1 -1
  341. package/src/features/test/TestFeature.ts +1 -1
  342. package/src/features/view/ViewFeature.ts +1 -1
  343. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  344. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  345. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  346. package/src/services/CommandService.ts +5 -5
  347. package/src/services/PkgService.ts +4 -0
  348. package/src/tests/AbstractCliTest.ts +31 -13
  349. package/src/tests/buildTestCache.ts +7 -0
  350. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  351. package/src/tests/utilities/test.utility.ts +13 -0
  352. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
  353. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
  354. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
  355. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
  356. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
  357. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
  358. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
  359. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
  360. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
  361. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
  362. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
  363. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
  364. package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
  365. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
  366. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  367. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  368. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -111,8 +111,11 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
111
111
  switch (_context4.prev = _context4.next) {
112
112
  case 0:
113
113
  _context4.next = 2;
114
- return this.Action('eventContract', 'pull').execute({});
114
+ return this.FeatureFixture().installCachedFeatures('events');
115
115
  case 2:
116
+ _context4.next = 4;
117
+ return this.Action('eventContract', 'pull').execute({});
118
+ case 4:
116
119
  results = _context4.sent;
117
120
  _testUtils.assert.isFalsy(results.errors);
118
121
  match = _test["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
@@ -123,7 +126,7 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
123
126
  });
124
127
  contents = _spruceSkillUtils.diskUtil.readFile(match);
125
128
  _testUtils.assert.doesInclude(contents, "import { buildEventContract } from '@sprucelabs/mercury-types'");
126
- case 9:
129
+ case 11:
127
130
  case "end":
128
131
  return _context4.stop();
129
132
  }
@@ -145,15 +148,18 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
145
148
  switch (_context5.prev = _context5.next) {
146
149
  case 0:
147
150
  _context5.next = 2;
151
+ return this.FeatureFixture().installCachedFeatures('events');
152
+ case 2:
153
+ _context5.next = 4;
148
154
  return this.Action('eventContract', 'pull').execute({
149
155
  destination: './src/tests'
150
156
  });
151
- case 2:
157
+ case 4:
152
158
  results = _context5.sent;
153
159
  match = _test["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
154
160
  expected = this.resolvePath('src/tests/events.contract.ts');
155
161
  _testUtils.assert.isEqual(expected, match);
156
- case 6:
162
+ case 8:
157
163
  case "end":
158
164
  return _context5.stop();
159
165
  }
@@ -255,7 +261,7 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
255
261
  key: "contractHasTypes",
256
262
  value: function () {
257
263
  var _contractHasTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
258
- var results, match, contents;
264
+ var promise, results, match, contents;
259
265
  return _regenerator["default"].wrap(function _callee8$(_context8) {
260
266
  while (1) {
261
267
  switch (_context8.prev = _context8.next) {
@@ -264,16 +270,31 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
264
270
  return this.FeatureFixture().installCachedFeatures('node');
265
271
  case 2:
266
272
  this.cli = _context8.sent;
267
- _context8.next = 5;
268
- return this.Action('eventContract', 'pull').execute({});
269
- case 5:
273
+ promise = this.Action('eventContract', 'pull', {
274
+ shouldAutoHandleDependencies: true
275
+ }).execute({});
276
+ _context8.next = 6;
277
+ return this.waitForInput();
278
+ case 6:
279
+ _context8.next = 8;
280
+ return this.ui.sendInput('Y');
281
+ case 8:
282
+ _context8.next = 10;
283
+ return this.waitForInput();
284
+ case 10:
285
+ _context8.next = 12;
286
+ return this.ui.sendInput('\n');
287
+ case 12:
288
+ _context8.next = 14;
289
+ return promise;
290
+ case 14:
270
291
  results = _context8.sent;
271
292
  match = _test["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
272
293
  contents = _spruceSkillUtils.diskUtil.readFile(match);
273
294
  _testUtils.assert.doesInclude(contents, 'export default eventContracts');
274
295
  _testUtils.assert.doesInclude(contents, 'as const');
275
296
  _testUtils.assert.doesInclude(contents, 'export type CoreEventContract = typeof eventContracts[0] & typeof eventContracts[1]');
276
- case 11:
297
+ case 20:
277
298
  case "end":
278
299
  return _context8.stop();
279
300
  }
@@ -296,18 +317,22 @@ var GeneratingMercuryEventContractTest = (_dec = (0, _testUtils.test)(), _dec2 =
296
317
  switch (_context9.prev = _context9.next) {
297
318
  case 0:
298
319
  _context9.next = 2;
299
- return this.Action('eventContract', 'pull').execute({});
320
+ return this.FeatureFixture().installCachedFeatures('events');
300
321
  case 2:
301
- _context9.next = 4;
322
+ this.cli = _context9.sent;
323
+ _context9.next = 5;
302
324
  return this.Action('eventContract', 'pull').execute({});
303
- case 4:
325
+ case 5:
326
+ _context9.next = 7;
327
+ return this.Action('eventContract', 'pull').execute({});
328
+ case 7:
304
329
  results = _context9.sent;
305
330
  _test["default"].assertFileByNameInGeneratedFiles('events.contract.ts', results.files);
306
331
  _testUtils.assert.doesInclude((_results$files2 = results.files) !== null && _results$files2 !== void 0 ? _results$files2 : [], {
307
332
  name: 'events.contract.ts',
308
333
  action: 'updated'
309
334
  });
310
- case 7:
335
+ case 10:
311
336
  case "end":
312
337
  return _context9.stop();
313
338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PullingMercuryEventContract.test.js","names":["GeneratingMercuryEventContractTest","test","Cli","cli","diskUtil","writeFile","resolvePath","assert","isTruthy","getFeature","isFunction","Action","execute","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","isEqual","doesInclude","name","action","contents","readFile","destination","expected","installSkillAndPullContracts","contracts","isArray","isObject","eventSignatures","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","skill","Store","events","registerEventContract","eventContract","isGlobal","fqen","eventNameUtil","join","eventName","eventNamespace","slug","version","isAbove","length","pullContracts","Service","importDefault","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts"],"sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class GeneratingMercuryEventContractTest extends AbstractCliTest {\n\tprivate static cli: CliInterface\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cli = await this.Cli()\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t}\n\n\t@test()\n\tprotected static async hasEventContractFeature() {\n\t\tassert.isTruthy(this.cli.getFeature('eventContract'))\n\t}\n\n\t@test()\n\tprotected static async hasPullFeature() {\n\t\tassert.isFunction(this.Action('eventContract', 'pull').execute)\n\t}\n\n\t@test()\n\tprotected static async generatesContractAtCwd() {\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isEqual(match, this.resolvePath('events.contract.ts'))\n\n\t\tassert.doesInclude(results.files ?? [], {\n\t\t\tname: 'events.contract.ts',\n\t\t\taction: 'generated',\n\t\t})\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { buildEventContract } from '@sprucelabs/mercury-types'\"\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesAtDestination() {\n\t\tconst results = await this.Action('eventContract', 'pull').execute({\n\t\t\tdestination: './src/tests',\n\t\t})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t\tconst expected = this.resolvePath('src/tests/events.contract.ts')\n\n\t\tassert.isEqual(expected, match)\n\t}\n\n\t@test()\n\tprotected static async savesContractLocallyAndImportsAsDefault() {\n\t\tconst contracts = await this.installSkillAndPullContracts()\n\n\t\tassert.isArray(contracts)\n\t\tassert.isObject(contracts[0].eventSignatures)\n\t\tassert.isObject(contracts[0].eventSignatures[`did-message::v2020_12_25`])\n\t}\n\n\t@test()\n\tprotected static async pullsGlobalContracts() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'heartwood test',\n\t\t})\n\n\t\tconst events = await this.Store('event')\n\t\tawait events.registerEventContract({\n\t\t\teventContract: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\t'test-event::v2020_01_01': {\n\t\t\t\t\t\tisGlobal: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst fqen = eventNameUtil.join({\n\t\t\teventName: 'test-event',\n\t\t\teventNamespace: skill.slug,\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tconst contracts = await this.installSkillAndPullContracts()\n\n\t\tassert.isAbove(contracts.length, 1)\n\t\tassert.isObject(contracts[1].eventSignatures)\n\t\tassert.isObject(contracts[1].eventSignatures[fqen])\n\t}\n\n\t@test()\n\tprotected static async contractHasTypes() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('node')\n\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(contents, 'export default eventContracts')\n\t\tassert.doesInclude(contents, 'as const')\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export type CoreEventContract = typeof eventContracts[0] & typeof eventContracts[1]'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatingASecondTimeReportsAnUpdate() {\n\t\tawait this.Action('eventContract', 'pull').execute({})\n\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(results.files ?? [], {\n\t\t\tname: 'events.contract.ts',\n\t\t\taction: 'updated',\n\t\t})\n\t}\n\n\tprivate static async installSkillAndPullContracts() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\treturn await this.pullContracts()\n\t}\n\n\tprivate static async pullContracts() {\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contracts = await this.Service('import').importDefault(match)\n\t\treturn contracts as EventContract[]\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PullingMercuryEventContract.test.js","names":["GeneratingMercuryEventContractTest","test","Cli","cli","diskUtil","writeFile","resolvePath","assert","isTruthy","getFeature","isFunction","Action","execute","FeatureFixture","installCachedFeatures","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","isEqual","doesInclude","name","action","contents","readFile","destination","expected","installSkillAndPullContracts","contracts","isArray","isObject","eventSignatures","getSkillFixture","registerCurrentSkill","skill","Store","events","registerEventContract","eventContract","isGlobal","fqen","eventNameUtil","join","eventName","eventNamespace","slug","version","isAbove","length","promise","shouldAutoHandleDependencies","waitForInput","ui","sendInput","pullContracts","Service","importDefault","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts"],"sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class GeneratingMercuryEventContractTest extends AbstractCliTest {\n\tprivate static cli: CliInterface\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cli = await this.Cli()\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t}\n\n\t@test()\n\tprotected static async hasEventContractFeature() {\n\t\tassert.isTruthy(this.cli.getFeature('eventContract'))\n\t}\n\n\t@test()\n\tprotected static async hasPullFeature() {\n\t\tassert.isFunction(this.Action('eventContract', 'pull').execute)\n\t}\n\n\t@test()\n\tprotected static async generatesContractAtCwd() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isEqual(match, this.resolvePath('events.contract.ts'))\n\n\t\tassert.doesInclude(results.files ?? [], {\n\t\t\tname: 'events.contract.ts',\n\t\t\taction: 'generated',\n\t\t})\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { buildEventContract } from '@sprucelabs/mercury-types'\"\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesAtDestination() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\t\tconst results = await this.Action('eventContract', 'pull').execute({\n\t\t\tdestination: './src/tests',\n\t\t})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t\tconst expected = this.resolvePath('src/tests/events.contract.ts')\n\n\t\tassert.isEqual(expected, match)\n\t}\n\n\t@test()\n\tprotected static async savesContractLocallyAndImportsAsDefault() {\n\t\tconst contracts = await this.installSkillAndPullContracts()\n\n\t\tassert.isArray(contracts)\n\t\tassert.isObject(contracts[0].eventSignatures)\n\t\tassert.isObject(contracts[0].eventSignatures[`did-message::v2020_12_25`])\n\t}\n\n\t@test()\n\tprotected static async pullsGlobalContracts() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'heartwood test',\n\t\t})\n\n\t\tconst events = await this.Store('event')\n\t\tawait events.registerEventContract({\n\t\t\teventContract: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\t'test-event::v2020_01_01': {\n\t\t\t\t\t\tisGlobal: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst fqen = eventNameUtil.join({\n\t\t\teventName: 'test-event',\n\t\t\teventNamespace: skill.slug,\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tconst contracts = await this.installSkillAndPullContracts()\n\n\t\tassert.isAbove(contracts.length, 1)\n\t\tassert.isObject(contracts[1].eventSignatures)\n\t\tassert.isObject(contracts[1].eventSignatures[fqen])\n\t}\n\n\t@test()\n\tprotected static async contractHasTypes() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('node')\n\n\t\tconst promise = this.Action('eventContract', 'pull', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t}).execute({})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('Y')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tconst results = await promise\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(contents, 'export default eventContracts')\n\t\tassert.doesInclude(contents, 'as const')\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export type CoreEventContract = typeof eventContracts[0] & typeof eventContracts[1]'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatingASecondTimeReportsAnUpdate() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('events')\n\t\tawait this.Action('eventContract', 'pull').execute({})\n\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(results.files ?? [], {\n\t\t\tname: 'events.contract.ts',\n\t\t\taction: 'updated',\n\t\t})\n\t}\n\n\tprivate static async installSkillAndPullContracts() {\n\t\tthis.cli = await this.FeatureFixture().installCachedFeatures('events')\n\t\treturn await this.pullContracts()\n\t}\n\n\tprivate static async pullContracts() {\n\t\tconst results = await this.Action('eventContract', 'pull').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contracts = await this.Service('import').importDefault(match)\n\t\treturn contracts as EventContract[]\n\t}\n}\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
2
+ export default class EventWriterTest extends AbstractCliTest {
3
+ protected static canCreateEventWriter(): Promise<void>;
4
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
+ var _testUtils = require("@sprucelabs/test-utils");
19
+ var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
20
+ var _dec, _class;
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
+ var EventWriterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
24
+ (0, _inherits2["default"])(EventWriterTest, _AbstractCliTest);
25
+ var _super = _createSuper(EventWriterTest);
26
+ function EventWriterTest() {
27
+ (0, _classCallCheck2["default"])(this, EventWriterTest);
28
+ return _super.apply(this, arguments);
29
+ }
30
+ (0, _createClass2["default"])(EventWriterTest, null, [{
31
+ key: "canCreateEventWriter",
32
+ value: function () {
33
+ var _canCreateEventWriter = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
34
+ var _permWriter$writeType;
35
+ var writer, name, namespace, contractId1, contractId2, permissionId1, permissionId2, sig, permWriter, results, match, imported;
36
+ return _regenerator["default"].wrap(function _callee$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ _context.next = 2;
41
+ return this.FeatureFixture().installCachedFeatures('events');
42
+ case 2:
43
+ writer = this.writers.Writer('event', {
44
+ fileDescriptions: []
45
+ });
46
+ name = 'My event';
47
+ namespace = 'appointments';
48
+ contractId1 = (0, _testUtils.generateId)();
49
+ contractId2 = (0, _testUtils.generateId)();
50
+ permissionId1 = (0, _testUtils.generateId)();
51
+ permissionId2 = (0, _testUtils.generateId)();
52
+ sig = {
53
+ isGlobal: true,
54
+ emitPermissions: {
55
+ contractId: contractId1,
56
+ permissionIdsAny: [permissionId1]
57
+ },
58
+ listenPermissions: {
59
+ contractId: contractId2,
60
+ permissionIdsAny: [permissionId2]
61
+ }
62
+ };
63
+ permWriter = this.writers.Writer('permission', {
64
+ fileDescriptions: []
65
+ }); //@ts-ignore
66
+ _context.next = 13;
67
+ return permWriter.writeTypesFile(this.cwd, (_permWriter$writeType = {}, (0, _defineProperty2["default"])(_permWriter$writeType, contractId1, [permissionId1]), (0, _defineProperty2["default"])(_permWriter$writeType, contractId2, [permissionId2]), _permWriter$writeType));
68
+ case 13:
69
+ _context.next = 15;
70
+ return writer.writeContracts(this.resolveHashSprucePath('events'), {
71
+ eventBuilderFile: '@sprucelabs/mercury-types',
72
+ schemaTemplateItems: [],
73
+ shouldImportCoreEvents: false,
74
+ skillEventContractTypesFile: '',
75
+ eventContractTemplateItems: [{
76
+ imports: [{
77
+ importAs: '{ buildEventContract }',
78
+ "package": '@sprucelabs/mercury-types'
79
+ }],
80
+ isLocal: true,
81
+ nameCamel: _spruceSkillUtils.namesUtil.toCamel(name),
82
+ namePascal: _spruceSkillUtils.namesUtil.toPascal(name),
83
+ namespace: namespace,
84
+ namespaceCamel: _spruceSkillUtils.namesUtil.toCamel(namespace),
85
+ namespacePascal: _spruceSkillUtils.namesUtil.toPascal(namespace),
86
+ version: _spruceSkillUtils.versionUtil.generateVersion().constValue,
87
+ eventSignatures: {
88
+ test: sig
89
+ }
90
+ }]
91
+ });
92
+ case 15:
93
+ results = _context.sent;
94
+ match = results[0];
95
+ _context.next = 19;
96
+ return this.Service('import').importDefault(match.path);
97
+ case 19:
98
+ imported = _context.sent;
99
+ _testUtils.assert.isEqualDeep(imported.eventSignatures.test, sig);
100
+ case 21:
101
+ case "end":
102
+ return _context.stop();
103
+ }
104
+ }
105
+ }, _callee, this);
106
+ }));
107
+ function canCreateEventWriter() {
108
+ return _canCreateEventWriter.apply(this, arguments);
109
+ }
110
+ return canCreateEventWriter;
111
+ }()
112
+ }]);
113
+ return EventWriterTest;
114
+ }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "canCreateEventWriter", [_dec], Object.getOwnPropertyDescriptor(_class, "canCreateEventWriter"), _class)), _class));
115
+ exports["default"] = EventWriterTest;
116
+ //# sourceMappingURL=EventWriter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventWriter.test.js","names":["EventWriterTest","test","FeatureFixture","installCachedFeatures","writer","writers","Writer","fileDescriptions","name","namespace","contractId1","generateId","contractId2","permissionId1","permissionId2","sig","isGlobal","emitPermissions","contractId","permissionIdsAny","listenPermissions","permWriter","writeTypesFile","cwd","writeContracts","resolveHashSprucePath","eventBuilderFile","schemaTemplateItems","shouldImportCoreEvents","skillEventContractTypesFile","eventContractTemplateItems","imports","importAs","isLocal","nameCamel","namesUtil","toCamel","namePascal","toPascal","namespaceCamel","namespacePascal","version","versionUtil","generateVersion","constValue","eventSignatures","results","match","Service","importDefault","path","imported","assert","isEqualDeep","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/events/EventWriter.test.ts"],"sourcesContent":["import { namesUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { EventSignatureTemplateItem } from '@sprucelabs/spruce-templates'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class EventWriterTest extends AbstractCliTest {\n\t@test()\n\tprotected static async canCreateEventWriter() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\t\tconst writer = this.writers.Writer('event', { fileDescriptions: [] })\n\t\tconst name = 'My event'\n\t\tconst namespace = 'appointments'\n\n\t\tconst contractId1 = generateId() as any\n\t\tconst contractId2 = generateId() as any\n\t\tconst permissionId1 = generateId() as any\n\t\tconst permissionId2 = generateId() as any\n\n\t\tconst sig: EventSignatureTemplateItem = {\n\t\t\tisGlobal: true,\n\t\t\temitPermissions: {\n\t\t\t\tcontractId: contractId1,\n\t\t\t\tpermissionIdsAny: [permissionId1],\n\t\t\t},\n\t\t\tlistenPermissions: {\n\t\t\t\tcontractId: contractId2,\n\t\t\t\tpermissionIdsAny: [permissionId2],\n\t\t\t},\n\t\t}\n\n\t\tconst permWriter = this.writers.Writer('permission', {\n\t\t\tfileDescriptions: [],\n\t\t})\n\n\t\t//@ts-ignore\n\t\tawait permWriter.writeTypesFile(this.cwd, {\n\t\t\t[contractId1]: [permissionId1],\n\t\t\t[contractId2]: [permissionId2],\n\t\t})\n\n\t\tconst results = await writer.writeContracts(\n\t\t\tthis.resolveHashSprucePath('events'),\n\t\t\t{\n\t\t\t\teventBuilderFile: '@sprucelabs/mercury-types',\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t\tshouldImportCoreEvents: false,\n\t\t\t\tskillEventContractTypesFile: '',\n\t\t\t\teventContractTemplateItems: [\n\t\t\t\t\t{\n\t\t\t\t\t\timports: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\t\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\tnameCamel: namesUtil.toCamel(name),\n\t\t\t\t\t\tnamePascal: namesUtil.toPascal(name),\n\t\t\t\t\t\tnamespace,\n\t\t\t\t\t\tnamespaceCamel: namesUtil.toCamel(namespace),\n\t\t\t\t\t\tnamespacePascal: namesUtil.toPascal(namespace),\n\t\t\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t\ttest: sig,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t)\n\n\t\tconst match = results[0]\n\t\tconst imported = await this.Service('import').importDefault(match.path)\n\t\tassert.isEqualDeep(imported.eventSignatures.test, sig)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAA4D;AAAA;AAAA;AAAA,IAEvCA,eAAe,WAClC,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,0GAAP;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,cAAc,EAAE,CAACC,qBAAqB,CAAC,QAAQ,CAAC;cAAA;gBACrDC,MAAM,GAAG,IAAI,CAACC,OAAO,CAACC,MAAM,CAAC,OAAO,EAAE;kBAAEC,gBAAgB,EAAE;gBAAG,CAAC,CAAC;gBAC/DC,IAAI,GAAG,UAAU;gBACjBC,SAAS,GAAG,cAAc;gBAE1BC,WAAW,GAAG,IAAAC,qBAAU,GAAE;gBAC1BC,WAAW,GAAG,IAAAD,qBAAU,GAAE;gBAC1BE,aAAa,GAAG,IAAAF,qBAAU,GAAE;gBAC5BG,aAAa,GAAG,IAAAH,qBAAU,GAAE;gBAE5BI,GAA+B,GAAG;kBACvCC,QAAQ,EAAE,IAAI;kBACdC,eAAe,EAAE;oBAChBC,UAAU,EAAER,WAAW;oBACvBS,gBAAgB,EAAE,CAACN,aAAa;kBACjC,CAAC;kBACDO,iBAAiB,EAAE;oBAClBF,UAAU,EAAEN,WAAW;oBACvBO,gBAAgB,EAAE,CAACL,aAAa;kBACjC;gBACD,CAAC;gBAEKO,UAAU,GAAG,IAAI,CAAChB,OAAO,CAACC,MAAM,CAAC,YAAY,EAAE;kBACpDC,gBAAgB,EAAE;gBACnB,CAAC,CAAC,EAEF;gBAAA;gBAAA,OACMc,UAAU,CAACC,cAAc,CAAC,IAAI,CAACC,GAAG,uFACtCb,WAAW,EAAG,CAACG,aAAa,CAAC,2DAC7BD,WAAW,EAAG,CAACE,aAAa,CAAC,0BAC7B;cAAA;gBAAA;gBAAA,OAEoBV,MAAM,CAACoB,cAAc,CAC1C,IAAI,CAACC,qBAAqB,CAAC,QAAQ,CAAC,EACpC;kBACCC,gBAAgB,EAAE,2BAA2B;kBAC7CC,mBAAmB,EAAE,EAAE;kBACvBC,sBAAsB,EAAE,KAAK;kBAC7BC,2BAA2B,EAAE,EAAE;kBAC/BC,0BAA0B,EAAE,CAC3B;oBACCC,OAAO,EAAE,CACR;sBACCC,QAAQ,EAAE,wBAAwB;sBAClC,WAAS;oBACV,CAAC,CACD;oBACDC,OAAO,EAAE,IAAI;oBACbC,SAAS,EAAEC,2BAAS,CAACC,OAAO,CAAC5B,IAAI,CAAC;oBAClC6B,UAAU,EAAEF,2BAAS,CAACG,QAAQ,CAAC9B,IAAI,CAAC;oBACpCC,SAAS,EAATA,SAAS;oBACT8B,cAAc,EAAEJ,2BAAS,CAACC,OAAO,CAAC3B,SAAS,CAAC;oBAC5C+B,eAAe,EAAEL,2BAAS,CAACG,QAAQ,CAAC7B,SAAS,CAAC;oBAC9CgC,OAAO,EAAEC,6BAAW,CAACC,eAAe,EAAE,CAACC,UAAU;oBACjDC,eAAe,EAAE;sBAChB5C,IAAI,EAAEc;oBACP;kBACD,CAAC;gBAEH,CAAC,CACD;cAAA;gBA5BK+B,OAAO;gBA8BPC,KAAK,GAAGD,OAAO,CAAC,CAAC,CAAC;gBAAA;gBAAA,OACD,IAAI,CAACE,OAAO,CAAC,QAAQ,CAAC,CAACC,aAAa,CAACF,KAAK,CAACG,IAAI,CAAC;cAAA;gBAAjEC,QAAQ;gBACdC,iBAAM,CAACC,WAAW,CAACF,QAAQ,CAACN,eAAe,CAAC5C,IAAI,EAAEc,GAAG,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EApE2CuC,4BAAe;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class ListeningToCoreEventsTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static canListenToDidInstallWithoutErroring(): Promise<void>;
@@ -15,7 +15,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
19
19
  var _dec, _dec2, _class, _class2;
20
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
21
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListeningToCoreEvents.test.js","names":["ListeningToCoreEventsTest","test","Action","execute","eventName","namespace","version","results","assert","isFalsy","errors","getSkillFixture","registerCurrentSkill","name","local","response","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/events/ListeningToCoreEvents.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class ListeningToCoreEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async canListenToDidInstallWithoutErroring() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\teventName: 'did-install',\n\t\t\tnamespace: 'mercury',\n\t\t\tversion: 'v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors?.[0])\n\t}\n\n\t@test()\n\tprotected static async canBootASkillWithACoreListener() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'global listen test',\n\t\t})\n\t\tconst response = await this.Action('skill', 'boot').execute({ local: true })\n\t\tassert.isFalsy(response.errors)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,yBAAyB,WAG5C,IAAAC,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,0HAXP;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBAC5DC,SAAS,EAAE,aAAa;kBACxBC,SAAS,EAAE,SAAS;kBACpBC,OAAO,EAAE;gBACV,CAAC,CAAC;cAAA;gBAJIC,OAAO;gBAMbC,iBAAM,CAACC,OAAO,oBAACF,OAAO,CAACG,MAAM,oDAAd,gBAAiB,CAAC,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,eAAe,EAAE,CAACC,oBAAoB,CAAC;kBACjDC,IAAI,EAAE;gBACP,CAAC,CAAC;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACX,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC;kBAAEW,KAAK,EAAE;gBAAK,CAAC,CAAC;cAAA;gBAAtEC,QAAQ;gBACdP,iBAAM,CAACC,OAAO,CAACM,QAAQ,CAACL,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC/B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArBqDM,8BAAiB,8DACtC,QAAQ;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractEventTest from '../../tests/AbstractEventTest';
1
+ import AbstractEventTest from '../../../tests/AbstractEventTest';
2
2
  export default class RegisteringEventsOnBootTest extends AbstractEventTest {
3
3
  protected static beforeEach(): Promise<void>;
4
4
  protected static registeringEventsOnBoot(): Promise<void>;
@@ -17,8 +17,8 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
17
17
  var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
18
18
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
19
  var _testUtils = require("@sprucelabs/test-utils");
20
- var _AbstractEventTest2 = _interopRequireDefault(require("../../tests/AbstractEventTest"));
21
- var _constants = require("../../tests/constants");
20
+ var _AbstractEventTest2 = _interopRequireDefault(require("../../../tests/AbstractEventTest"));
21
+ var _constants = require("../../../tests/constants");
22
22
  var _dec, _class;
23
23
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
24
24
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteringEventsOnBoot.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringEventsOnBootTest","test","people","loginAsDemoPerson","DEMO_NUMBER_EVENTS_ON_BOOT","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skill2","currentSkill","Action","execute","nameReadable","nameKebab","nameCamel","copyEventBuildersAndPermissions","local","boot","connectToApi","skillId","id","apiKey","client","Store","apiClientFactory","fetchEventContracts","contracts","meta","kill","version","versionUtil","generateVersion","constValue","name","eventNameUtil","join","eventNamespace","slug","eventName","assert","isTrue","length","namespace","namesUtil","toPascal","sig","eventContractUtil","getSignatureByName","doesInclude","emitPayloadSchema","responsePayloadSchema","emitPermissionContract","listenPermissionContract","AbstractEventTest"],"sources":["../../../../src/__tests__/behavioral/events/RegisteringEventsOnBoot.test.ts"],"sourcesContent":["import {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { namesUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_EVENTS_ON_BOOT } from '../../../tests/constants'\n\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = 'did-book-appointment'\nconst EVENT_CAMEL = 'didBookAppointment'\n\nexport default class RegisteringEventsOnBootTest extends AbstractEventTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_EVENTS_ON_BOOT)\n\t}\n\n\t@test()\n\tprotected static async registeringEventsOnBoot() {\n\t\tconst { skill2, currentSkill } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})\n\n\t\tconst { contracts } = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst name = eventNameUtil.join({\n\t\t\teventNamespace: currentSkill.slug,\n\t\t\teventName: EVENT_NAME,\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isTrue(contracts.length >= 2)\n\n\t\tconst namespace = namesUtil.toPascal(currentSkill.slug)\n\t\tconst sig = eventContractUtil.getSignatureByName(contracts[1], name)\n\n\t\tassert.doesInclude(sig.emitPayloadSchema, {\n\t\t\tid: 'didBookAppointmentEmitTargetAndPayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\n\t\tassert.doesInclude(sig.responsePayloadSchema, {\n\t\t\tid: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\t\tassert.doesInclude(sig.emitPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventEmitPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\n\t\tassert.doesInclude(sig.listenPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventListenPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\t}\n}\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
2
- import { RegisteredSkill } from '../../types/cli.types';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
+ import { RegisteredSkill } from '../../../types/cli.types';
3
3
  export default class RegisteringGlobalEventsTest extends AbstractSkillTest {
4
4
  protected static skillCacheKey: string;
5
5
  protected static skill: RegisteredSkill;
6
6
  protected static beforeAll(): Promise<void>;
7
7
  protected static afterAll(): Promise<void>;
8
- private static resetAccount;
9
8
  protected static canCreateGlobalEvent(): Promise<void>;
10
9
  protected static registersGloballyOnBoot(): Promise<void>;
11
10
  protected static canSyncGlobalEvents(): Promise<void>;