@sprucelabs/spruce-cli 14.27.0 → 14.28.3

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 (330) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/.spruce/events/events.contract.d.ts +4 -621
  3. package/build/.spruce/events/events.contract.js +1 -35
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +0 -15
  6. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +2 -17
  7. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  8. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +4 -21
  9. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +7 -24
  10. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  11. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +1 -24
  12. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +5 -28
  13. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  14. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.d.ts +12 -0
  15. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js +13 -1
  16. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  17. package/build/.spruce/schemas/schemas.types.d.ts +54 -1142
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js +1 -1
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  21. package/build/.spruce/settings.json +6 -0
  22. package/build/__tests__/behavioral/UpgradingANodeModule.test.d.ts +1 -0
  23. package/build/__tests__/behavioral/UpgradingANodeModule.test.js +50 -3
  24. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +1 -1
  25. package/build/__tests__/behavioral/events/CreatingAListener.test.js +6 -6
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  27. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
  28. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  29. package/build/features/event/actions/ListenAction.js +66 -54
  30. package/build/features/event/actions/ListenAction.js.map +1 -1
  31. package/build/features/event/stores/EventStore.js +24 -13
  32. package/build/features/event/stores/EventStore.js.map +1 -1
  33. package/build/features/node/NodeFeature.d.ts +1 -0
  34. package/build/features/node/NodeFeature.js +83 -64
  35. package/build/features/node/NodeFeature.js.map +1 -1
  36. package/build/features/node/actions/UpgradeAction.js +20 -9
  37. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  38. package/build/features/node/writers/NodeWriter.d.ts +5 -2
  39. package/build/features/node/writers/NodeWriter.js +37 -22
  40. package/build/features/node/writers/NodeWriter.js.map +1 -1
  41. package/build/features/sandbox/actions/SetupAction.js +1 -1
  42. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  43. package/build/features/skill/updaters/Updater.js +3 -1
  44. package/build/features/skill/updaters/Updater.js.map +1 -1
  45. package/build/schemas/v2020_07_22/listenEventOptions.builder.d.ts +1 -1
  46. package/build/schemas/v2020_07_22/listenEventOptions.builder.js +1 -1
  47. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  48. package/build/tests/utilities/uiAssert.utility.d.ts +1 -0
  49. package/build/tests/utilities/uiAssert.utility.js +34 -0
  50. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  51. package/build/writers/AbstractWriter.d.ts +10 -10
  52. package/build/writers/AbstractWriter.js.map +1 -1
  53. package/package.json +30 -30
  54. package/src/.spruce/events/events.contract.ts +0 -102
  55. package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +0 -15
  56. package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +4 -21
  57. package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +1 -24
  58. package/src/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.ts +15 -0
  59. package/src/.spruce/schemas/schemas.types.ts +59 -1413
  60. package/src/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.ts +1 -1
  61. package/src/.spruce/settings.json +6 -0
  62. package/src/__tests__/behavioral/UpgradingANodeModule.test.ts +24 -0
  63. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +6 -6
  64. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +2 -2
  65. package/src/features/event/actions/ListenAction.ts +30 -20
  66. package/src/features/event/stores/EventStore.ts +7 -1
  67. package/src/features/node/NodeFeature.ts +31 -25
  68. package/src/features/node/actions/UpgradeAction.ts +8 -1
  69. package/src/features/node/writers/NodeWriter.ts +38 -23
  70. package/src/features/sandbox/actions/SetupAction.ts +1 -1
  71. package/src/features/skill/updaters/Updater.ts +2 -1
  72. package/src/schemas/v2020_07_22/listenEventOptions.builder.ts +1 -1
  73. package/src/tests/utilities/uiAssert.utility.ts +16 -0
  74. package/src/writers/AbstractWriter.ts +15 -10
  75. package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.d.ts +0 -10
  76. package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js +0 -24
  77. package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js.map +0 -1
  78. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.d.ts +0 -11
  79. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js +0 -27
  80. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js.map +0 -1
  81. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.d.ts +0 -10
  82. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js +0 -24
  83. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js.map +0 -1
  84. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +0 -46
  85. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +0 -62
  86. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js.map +0 -1
  87. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.d.ts +0 -46
  88. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +0 -62
  89. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js.map +0 -1
  90. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.d.ts +0 -46
  91. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +0 -62
  92. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +0 -1
  93. package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.d.ts +0 -46
  94. package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js +0 -62
  95. package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js.map +0 -1
  96. package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.d.ts +0 -10
  97. package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.js +0 -24
  98. package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.js.map +0 -1
  99. package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.d.ts +0 -40
  100. package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js +0 -56
  101. package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js.map +0 -1
  102. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +0 -45
  103. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +0 -59
  104. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js.map +0 -1
  105. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.d.ts +0 -80
  106. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +0 -94
  107. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +0 -1
  108. package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.d.ts +0 -11
  109. package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.js +0 -27
  110. package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.js.map +0 -1
  111. package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
  112. package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.js +0 -48
  113. package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.js.map +0 -1
  114. package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
  115. package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.js +0 -48
  116. package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.js.map +0 -1
  117. package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
  118. package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js +0 -48
  119. package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js.map +0 -1
  120. package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
  121. package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js +0 -48
  122. package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js.map +0 -1
  123. package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
  124. package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js +0 -48
  125. package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js.map +0 -1
  126. package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.d.ts +0 -3
  127. package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js +0 -28
  128. package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js.map +0 -1
  129. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.d.ts +0 -3
  130. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js +0 -36
  131. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js.map +0 -1
  132. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.d.ts +0 -3
  133. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js +0 -28
  134. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js.map +0 -1
  135. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.d.ts +0 -3
  136. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +0 -56
  137. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +0 -1
  138. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.d.ts +0 -3
  139. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js +0 -36
  140. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js.map +0 -1
  141. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.d.ts +0 -3
  142. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js +0 -46
  143. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js.map +0 -1
  144. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.d.ts +0 -3
  145. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js +0 -35
  146. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js.map +0 -1
  147. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.d.ts +0 -3
  148. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js +0 -54
  149. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js.map +0 -1
  150. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.d.ts +0 -3
  151. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js +0 -37
  152. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js.map +0 -1
  153. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.d.ts +0 -3
  154. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js +0 -66
  155. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js.map +0 -1
  156. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.d.ts +0 -3
  157. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js +0 -50
  158. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js.map +0 -1
  159. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.d.ts +0 -3
  160. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js +0 -59
  161. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js.map +0 -1
  162. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.d.ts +0 -3
  163. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js +0 -30
  164. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js.map +0 -1
  165. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.d.ts +0 -3
  166. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js +0 -46
  167. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js.map +0 -1
  168. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.d.ts +0 -3
  169. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js +0 -34
  170. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js.map +0 -1
  171. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.d.ts +0 -3
  172. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js +0 -30
  173. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js.map +0 -1
  174. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.d.ts +0 -3
  175. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js +0 -46
  176. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js.map +0 -1
  177. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.d.ts +0 -3
  178. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js +0 -33
  179. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js.map +0 -1
  180. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.d.ts +0 -3
  181. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js +0 -52
  182. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js.map +0 -1
  183. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.d.ts +0 -3
  184. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js +0 -46
  185. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js.map +0 -1
  186. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.d.ts +0 -3
  187. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js +0 -44
  188. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js.map +0 -1
  189. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.d.ts +0 -3
  190. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js +0 -29
  191. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js.map +0 -1
  192. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  193. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js +0 -46
  194. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  195. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.d.ts +0 -3
  196. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js +0 -29
  197. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js.map +0 -1
  198. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.d.ts +0 -3
  199. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js +0 -29
  200. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js.map +0 -1
  201. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  202. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js +0 -46
  203. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  204. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.d.ts +0 -3
  205. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js +0 -29
  206. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js.map +0 -1
  207. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  208. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js +0 -46
  209. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  210. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.d.ts +0 -3
  211. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js +0 -78
  212. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js.map +0 -1
  213. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.d.ts +0 -3
  214. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js +0 -35
  215. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js.map +0 -1
  216. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.d.ts +0 -3
  217. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js +0 -37
  218. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js.map +0 -1
  219. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.d.ts +0 -3
  220. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js +0 -51
  221. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js.map +0 -1
  222. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.d.ts +0 -3
  223. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js +0 -37
  224. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js.map +0 -1
  225. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.d.ts +0 -3
  226. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js +0 -38
  227. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js.map +0 -1
  228. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  229. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js +0 -46
  230. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  231. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.d.ts +0 -3
  232. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js +0 -29
  233. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js.map +0 -1
  234. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.d.ts +0 -1
  235. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js +0 -14
  236. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js.map +0 -1
  237. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.d.ts +0 -1
  238. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js +0 -14
  239. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js.map +0 -1
  240. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.d.ts +0 -1
  241. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js +0 -14
  242. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js.map +0 -1
  243. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.d.ts +0 -1
  244. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js +0 -14
  245. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js.map +0 -1
  246. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.d.ts +0 -1
  247. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js +0 -14
  248. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js.map +0 -1
  249. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.d.ts +0 -1
  250. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js +0 -14
  251. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js.map +0 -1
  252. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.d.ts +0 -1
  253. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js +0 -14
  254. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js.map +0 -1
  255. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.d.ts +0 -1
  256. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js +0 -14
  257. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js.map +0 -1
  258. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.d.ts +0 -1
  259. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js +0 -14
  260. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js.map +0 -1
  261. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.d.ts +0 -1
  262. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js +0 -14
  263. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js.map +0 -1
  264. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.d.ts +0 -1
  265. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js +0 -14
  266. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js.map +0 -1
  267. package/src/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.ts +0 -15
  268. package/src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts +0 -17
  269. package/src/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.ts +0 -16
  270. package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +0 -54
  271. package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +0 -55
  272. package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +0 -54
  273. package/src/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.ts +0 -55
  274. package/src/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.ts +0 -15
  275. package/src/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.ts +0 -48
  276. package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +0 -54
  277. package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +0 -90
  278. package/src/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.ts +0 -17
  279. package/src/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.ts +0 -45
  280. package/src/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.ts +0 -45
  281. package/src/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.ts +0 -45
  282. package/src/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.ts +0 -45
  283. package/src/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.ts +0 -45
  284. package/src/.spruce/schemas/appointments/v2021_06_23/appointments.schema.ts +0 -22
  285. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.ts +0 -24
  286. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.ts +0 -22
  287. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +0 -36
  288. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.ts +0 -29
  289. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.ts +0 -30
  290. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.ts +0 -23
  291. package/src/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.ts +0 -39
  292. package/src/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.ts +0 -25
  293. package/src/.spruce/schemas/forms/v2021_07_02/builtForm.schema.ts +0 -50
  294. package/src/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.ts +0 -41
  295. package/src/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.ts +0 -44
  296. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.ts +0 -24
  297. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.ts +0 -30
  298. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.ts +0 -22
  299. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.ts +0 -24
  300. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.ts +0 -30
  301. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.ts +0 -25
  302. package/src/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.ts +0 -38
  303. package/src/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.ts +0 -30
  304. package/src/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.ts +0 -29
  305. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.ts +0 -23
  306. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.ts +0 -30
  307. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.ts +0 -23
  308. package/src/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.ts +0 -23
  309. package/src/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.ts +0 -30
  310. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.ts +0 -23
  311. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.ts +0 -30
  312. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.ts +0 -58
  313. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.ts +0 -23
  314. package/src/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.ts +0 -25
  315. package/src/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.ts +0 -42
  316. package/src/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.ts +0 -25
  317. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.ts +0 -29
  318. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.ts +0 -30
  319. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.ts +0 -23
  320. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.ts +0 -1
  321. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.ts +0 -1
  322. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.ts +0 -1
  323. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.ts +0 -1
  324. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.ts +0 -1
  325. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.ts +0 -1
  326. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.ts +0 -1
  327. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.ts +0 -1
  328. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.ts +0 -1
  329. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.ts +0 -1
  330. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.ts +0 -1
@@ -48,7 +48,7 @@ const listenEventOptionsSchema: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventO
48
48
  options: undefined
49
49
  },
50
50
  /** Namespace. */
51
- 'eventNamespace': {
51
+ 'namespace': {
52
52
  label: 'Namespace',
53
53
  type: 'text',
54
54
  options: undefined
@@ -21,6 +21,12 @@
21
21
  "tsconfig.json"
22
22
  ]
23
23
  },
24
+ "dependencies": [
25
+ {
26
+ "id": "615c8e8940810e9c9fa1cf0a",
27
+ "namespace": "heartwood"
28
+ }
29
+ ],
24
30
  "scriptUpdater": {
25
31
  "skipped": [
26
32
  "build.ci",
@@ -2,6 +2,7 @@ import { diskUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { test, assert } from '@sprucelabs/test'
3
3
  import CommandService from '../../services/CommandService'
4
4
  import AbstractCliTest from '../../tests/AbstractCliTest'
5
+ import uiAssertUtil from '../../tests/utilities/uiAssert.utility'
5
6
 
6
7
  export default class UpgradingANodeModuleTest extends AbstractCliTest {
7
8
  protected static async beforeEach() {
@@ -43,4 +44,27 @@ export default class UpgradingANodeModuleTest extends AbstractCliTest {
43
44
  assert.isFalse(doesExist, `Should not have found ${search}`)
44
45
  }
45
46
  }
47
+
48
+ @test()
49
+ protected static async shouldReWriteNodeDirsAndSkipIndx() {
50
+ for (const file of ['tsconfig.json', 'src/index.ts']) {
51
+ const tsConfig = this.resolvePath(file)
52
+ diskUtil.writeFile(tsConfig, 'beenChanged')
53
+ }
54
+
55
+ CommandService.setMockResponse(/yarn/gi, {
56
+ code: 0,
57
+ })
58
+
59
+ const promise = this.Action('node', 'upgrade').execute({})
60
+
61
+ await uiAssertUtil.assertRendersConfirmWriteFile(this.ui)
62
+
63
+ assert.isEqual(
64
+ diskUtil.readFile(this.resolvePath('src/index.ts')),
65
+ 'beenChanged'
66
+ )
67
+
68
+ await promise
69
+ }
46
70
  }
@@ -24,14 +24,14 @@ export default class CreatingAListenerTest extends AbstractEventTest {
24
24
  protected static async throwsWithBadNamespace() {
25
25
  await this.installEventFeature('events')
26
26
  const results = await this.Action('event', 'listen').execute({
27
- eventNamespace: 'taco-bell',
27
+ namespace: 'taco-bell',
28
28
  })
29
29
 
30
30
  assert.isTruthy(results.errors)
31
31
  const err = results.errors[0]
32
32
 
33
- errorAssertUtil.assertError(err, 'INVALID_PARAMETERS', {
34
- parameters: ['eventNamespace'],
33
+ errorAssertUtil.assertError(err, 'INVALID_NAMESPACES', {
34
+ namespaces: ['taco-bell'],
35
35
  })
36
36
  }
37
37
 
@@ -39,7 +39,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
39
39
  protected static async throwsWithBadEventName() {
40
40
  await this.installEventFeature('events')
41
41
  const results = await this.Action('event', 'listen').execute({
42
- eventNamespace: 'mercury',
42
+ namespace: 'heartwood',
43
43
  eventName: 'bad-time',
44
44
  })
45
45
 
@@ -58,7 +58,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
58
58
  const version = 'v2020_01_01'
59
59
 
60
60
  const results = await this.Action('event', 'listen').execute({
61
- eventNamespace: 'skill',
61
+ namespace: 'skill',
62
62
  eventName: 'will-boot',
63
63
  version,
64
64
  })
@@ -283,7 +283,7 @@ export default class CreatingAListenerTest extends AbstractEventTest {
283
283
  })
284
284
 
285
285
  const results = await this.Action('event', 'listen').execute({
286
- eventNamespace: skill2.slug,
286
+ namespace: skill2.slug,
287
287
  eventName: `my-new-event`,
288
288
  version: expectedVersion,
289
289
  })
@@ -9,7 +9,7 @@ export default class SkillEmitsBootEventsTest extends AbstractEventTest {
9
9
  const version = 'v2020_01_01'
10
10
 
11
11
  await this.Action('event', 'listen').execute({
12
- eventNamespace: 'skill',
12
+ namespace: 'skill',
13
13
  eventName: 'will-boot',
14
14
  version,
15
15
  })
@@ -27,7 +27,7 @@ export default class SkillEmitsBootEventsTest extends AbstractEventTest {
27
27
  const version = 'v2020_01_01'
28
28
 
29
29
  await this.Action('event', 'listen').execute({
30
- eventNamespace: 'skill',
30
+ namespace: 'skill',
31
31
  eventName: 'did-boot',
32
32
  version,
33
33
  })
@@ -42,7 +42,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
42
42
  listenerDestinationDir,
43
43
  version: versionOptions,
44
44
  eventName,
45
- eventNamespace,
45
+ namespace,
46
46
  schemaTypesLookupDir,
47
47
  contractDestinationDir,
48
48
  } = normalizedOptions
@@ -53,42 +53,52 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
53
53
 
54
54
  const skill = await this.Store('skill').loadCurrentSkill()
55
55
 
56
+ const namespacesForFetch =
57
+ namespace && namespace !== 'skill' ? [namespace] : undefined
58
+
56
59
  const { contracts } = skill.slug
57
- ? await eventStore.fetchEventContracts({ localNamespace: skill.slug })
58
- : await eventStore.fetchEventContracts()
60
+ ? await eventStore.fetchEventContracts({
61
+ localNamespace: skill.slug,
62
+ namespaces: namespacesForFetch,
63
+ didUpdateHandler: (msg: string) => this.ui.startLoading(msg),
64
+ })
65
+ : await eventStore.fetchEventContracts({
66
+ namespaces: namespacesForFetch,
67
+ didUpdateHandler: (msg: string) => this.ui.startLoading(msg),
68
+ })
59
69
 
60
70
  this.ui.stopLoading()
61
71
 
62
- if (!eventNamespace) {
63
- eventNamespace = await this.collectNamespace(contracts)
72
+ if (!namespace) {
73
+ namespace = await this.collectNamespace(contracts)
64
74
  }
65
75
 
66
76
  const { eventChoicesByNamespace } =
67
77
  this.mapContractsToSelectChoices(contracts)
68
78
 
69
- if (!eventChoicesByNamespace[eventNamespace]) {
79
+ if (!eventChoicesByNamespace[namespace]) {
70
80
  throw new SchemaError({
71
81
  code: 'INVALID_PARAMETERS',
72
- friendlyMessage: `${eventNamespace} is not a valid event namespace. Try: \n\n${Object.keys(
82
+ friendlyMessage: `${namespace} is not a valid event namespace. Try: \n\n${Object.keys(
73
83
  eventChoicesByNamespace
74
84
  ).join('\n')}`,
75
- parameters: ['eventNamespace'],
85
+ parameters: ['namespace'],
76
86
  })
77
87
  }
78
88
 
79
89
  if (!eventName) {
80
- eventName = await this.collectEvent(contracts, eventNamespace)
90
+ eventName = await this.collectEvent(contracts, namespace)
81
91
  }
82
92
 
83
93
  const fqen = eventNameUtil.join({
84
94
  eventName,
85
- eventNamespace,
95
+ eventNamespace: namespace,
86
96
  version: versionOptions,
87
97
  })
88
98
 
89
99
  let { version } = eventNameUtil.split(fqen)
90
100
 
91
- const isValidEvent = !!eventChoicesByNamespace[eventNamespace].find(
101
+ const isValidEvent = !!eventChoicesByNamespace[namespace].find(
92
102
  (e) => e.value === eventName || e.value === fqen
93
103
  )
94
104
 
@@ -96,7 +106,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
96
106
  throw new SchemaError({
97
107
  code: 'INVALID_PARAMETERS',
98
108
  friendlyMessage: `${eventName} is not a valid event . Try: \n\n${eventChoicesByNamespace[
99
- eventNamespace
109
+ namespace
100
110
  ]
101
111
  .map((i) => i.value)
102
112
  .join('\n')}`,
@@ -119,7 +129,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
119
129
  schemaTypesLookupDir
120
130
  )
121
131
 
122
- const isSkillEvent = eventNamespace !== SKILL_EVENT_NAMESPACE
132
+ const isSkillEvent = namespace !== SKILL_EVENT_NAMESPACE
123
133
 
124
134
  let emitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined
125
135
  let responsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined
@@ -129,7 +139,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
129
139
  const templateItems = builder.buildEventTemplateItemForName(
130
140
  contracts,
131
141
  eventNameUtil.join({
132
- eventNamespace,
142
+ eventNamespace: namespace,
133
143
  eventName,
134
144
  version: resolvedVersion,
135
145
  })
@@ -146,10 +156,10 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
146
156
  ...normalizedOptions,
147
157
  version: resolvedVersion,
148
158
  eventName,
149
- eventNamespace,
159
+ eventNamespace: namespace,
150
160
  fullyQualifiedEventName: eventNameUtil.join({
151
161
  eventName,
152
- eventNamespace,
162
+ eventNamespace: namespace,
153
163
  version: resolvedVersion,
154
164
  }),
155
165
  emitPayloadSchemaTemplateItem,
@@ -183,11 +193,11 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
183
193
 
184
194
  private async collectEvent(
185
195
  contracts: EventContract[],
186
- eventNamespace: string
196
+ namespace: string
187
197
  ): Promise<string> {
188
198
  const eventChoices: SelectChoice[] =
189
199
  this.mapContractsToSelectChoices(contracts).eventChoicesByNamespace[
190
- eventNamespace
200
+ namespace
191
201
  ]
192
202
 
193
203
  const eventName = await this.ui.prompt({
@@ -205,7 +215,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
205
215
  private async collectNamespace(contracts: EventContract[]): Promise<string> {
206
216
  const { namespaceChoices } = this.mapContractsToSelectChoices(contracts)
207
217
 
208
- const eventNamespace = await this.ui.prompt({
218
+ const namespace = await this.ui.prompt({
209
219
  type: 'select',
210
220
  label: 'Select an event namespace',
211
221
  isRequired: true,
@@ -214,7 +224,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
214
224
  },
215
225
  })
216
226
 
217
- return eventNamespace
227
+ return namespace
218
228
  }
219
229
 
220
230
  private mapContractsToSelectChoices(contracts: EventContract[]) {
@@ -72,7 +72,13 @@ export default class EventStore extends AbstractStore {
72
72
 
73
73
  didUpdateHandler?.('Pulling remote contracts...')
74
74
 
75
- const contracts = await this.fetchRemoteContracts(namespaces)
75
+ let contracts
76
+ try {
77
+ contracts = await this.fetchRemoteContracts(namespaces)
78
+ } catch (err: any) {
79
+ const error = err.options.responseErrors[0]
80
+ throw error
81
+ }
76
82
 
77
83
  const localContract =
78
84
  localNamespace &&
@@ -5,7 +5,11 @@ import nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/node
5
5
  import { FileDescription, GeneratedFile } from '../../types/cli.types'
6
6
  import ScriptUpdater from '../../updaters/ScriptUpdater'
7
7
  import AbstractFeature, { FeatureDependency } from '../AbstractFeature'
8
- import { ActionOptions, FeatureCode } from '../features.types'
8
+ import {
9
+ ActionOptions,
10
+ FeatureActionResponse,
11
+ FeatureCode,
12
+ } from '../features.types'
9
13
  import universalDevDependencies from '../universalDevDependencies'
10
14
  import universalFileDescriptions from '../universalFileDescriptions'
11
15
  import universalScripts from '../universalScripts'
@@ -49,33 +53,36 @@ export default class NodeFeature<
49
53
 
50
54
  void this.emitter.on('feature.did-execute', async (payload) => {
51
55
  if (payload.featureCode === 'node' && payload.actionCode === 'upgrade') {
52
- try {
53
- this.ui.startLoading('Cleaning build...')
54
- await this.Service('command').execute('yarn clean.build')
55
-
56
- this.ui.startLoading('Applying lint rules to all files...')
57
- await this.Service('command').execute('yarn fix.lint')
58
-
59
- this.ui.startLoading('Rebuilding...')
60
- await this.Service('command').execute('yarn build.dev')
61
-
62
- return {
63
- summaryLines: [
64
- 'Build cleared.',
65
- 'Lint rules applied to source.',
66
- 'Code rebuilt successfully.',
67
- ],
68
- }
69
- } catch (err) {
70
- return {
71
- errors: [err],
72
- }
73
- }
56
+ return this.handleUpgrade()
74
57
  }
75
58
 
76
59
  return {}
77
60
  })
78
61
  }
62
+ private async handleUpgrade(): Promise<FeatureActionResponse> {
63
+ try {
64
+ this.ui.startLoading('Cleaning build...')
65
+ await this.Service('command').execute('yarn clean.build')
66
+
67
+ this.ui.startLoading('Applying lint rules to all files...')
68
+ await this.Service('command').execute('yarn fix.lint')
69
+
70
+ this.ui.startLoading('Rebuilding...')
71
+ await this.Service('command').execute('yarn build.dev')
72
+
73
+ return {
74
+ summaryLines: [
75
+ 'Build cleared.',
76
+ 'Lint rules applied to source.',
77
+ 'Code rebuilt successfully.',
78
+ ],
79
+ }
80
+ } catch (err) {
81
+ return {
82
+ errors: [err],
83
+ }
84
+ }
85
+ }
79
86
 
80
87
  public async beforePackageInstall(options: Options) {
81
88
  const destination = this.resolveDestination(options)
@@ -94,8 +101,7 @@ export default class NodeFeature<
94
101
 
95
102
  await this.Service('command', destination).execute('yarn init -y')
96
103
 
97
- const nodeWriter = this.Writer('node')
98
- const written = await nodeWriter.writeNodeModule(destination)
104
+ const written = await this.Writer('node').writeNodeModule(destination)
99
105
 
100
106
  files.push(...written)
101
107
 
@@ -24,6 +24,13 @@ export default class UpgradeAction extends AbstractAction<OptionsSchema> {
24
24
  })
25
25
 
26
26
  try {
27
+ const files = await this.Writer('node', {
28
+ upgradeMode: normalizedOptions.upgradeMode,
29
+ }).writeNodeModule(this.cwd, {
30
+ shouldConfirmBeforeWriting: true,
31
+ shouldWriteIndex: false,
32
+ })
33
+
27
34
  InFlightEntertainment.start([
28
35
  "Let's start the upgrade!",
29
36
  'While things are going, see if you can beat 1k points!',
@@ -34,10 +41,10 @@ export default class UpgradeAction extends AbstractAction<OptionsSchema> {
34
41
 
35
42
  return actionUtil.mergeActionResults(dependencyResults, {
36
43
  headline: 'Upgrade',
44
+ files,
37
45
  })
38
46
  } finally {
39
47
  InFlightEntertainment.stop()
40
-
41
48
  this.ui.renderHero('Upgrade')
42
49
  }
43
50
  }
@@ -1,35 +1,50 @@
1
1
  import { diskUtil } from '@sprucelabs/spruce-skill-utils'
2
2
  import { DirectoryTemplateCode } from '@sprucelabs/spruce-templates'
3
- import AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'
3
+ import { GeneratedFile } from '../../../types/cli.types'
4
+ import AbstractWriter, {
5
+ WriteDirectoryTemplateOptions,
6
+ WriteResults,
7
+ } from '../../../writers/AbstractWriter'
4
8
 
9
+ export const NODE_FILES_TO_UPGRADE = [
10
+ 'tsconfig.json',
11
+ '.eslintrc.js',
12
+ '.eslintignore',
13
+ '.gitignore',
14
+ '.nvmrc',
15
+ ]
5
16
  export default class NodeWriter extends AbstractWriter {
6
- public async writeNodeModule(destinationDir: string): Promise<WriteResults> {
7
- const contents = '//exports go here\n'
8
- const destination = diskUtil.resolvePath(destinationDir, 'src', 'index.ts')
9
-
10
- diskUtil.writeFile(destination, contents)
17
+ public async writeNodeModule(
18
+ destinationDir: string,
19
+ options?: Partial<WriteDirectoryTemplateOptions> & {
20
+ shouldWriteIndex?: boolean
21
+ }
22
+ ): Promise<WriteResults> {
23
+ let files: GeneratedFile[] = []
24
+ if (options?.shouldWriteIndex !== false) {
25
+ const contents = '//exports go here\n'
26
+ const destination = diskUtil.resolvePath(
27
+ destinationDir,
28
+ 'src',
29
+ 'index.ts'
30
+ )
31
+ diskUtil.writeFile(destination, contents)
32
+ files.push({
33
+ name: 'src/index.ts',
34
+ description: 'Placeholder entry file!',
35
+ action: 'generated',
36
+ path: destination,
37
+ })
38
+ }
11
39
 
12
- const files = await this.writeDirectoryTemplate({
40
+ const directoryTemplateFiles = await this.writeDirectoryTemplate({
13
41
  destinationDir,
14
42
  code: DirectoryTemplateCode.Skill,
15
- filesToWrite: [
16
- 'tsconfig.json',
17
- '.eslintrc.js',
18
- '.eslintignore',
19
- '.gitignore',
20
- '.nvmrc',
21
- ],
43
+ filesToWrite: NODE_FILES_TO_UPGRADE,
22
44
  context: { name: 'ignored', description: 'ignored' },
45
+ ...options,
23
46
  })
24
47
 
25
- return [
26
- {
27
- name: 'src/index.ts',
28
- description: 'Placeholder entry file!',
29
- action: 'generated',
30
- path: destination,
31
- },
32
- ...files,
33
- ]
48
+ return [...files, ...directoryTemplateFiles]
34
49
  }
35
50
  }
@@ -18,7 +18,7 @@ export default class SetupAction extends AbstractAction<OptionsSchema> {
18
18
  public async execute(): Promise<FeatureActionResponse> {
19
19
  const createListenerAction = this.Action('event', 'listen')
20
20
  const results = await createListenerAction.execute({
21
- eventNamespace: 'skill',
21
+ namespace: 'skill',
22
22
  eventName: 'will-boot',
23
23
  })
24
24
 
@@ -3,6 +3,7 @@ import { SpruceSchemas } from '#spruce/schemas/schemas.types'
3
3
  import SpruceError from '../../../errors/SpruceError'
4
4
  import { GlobalEmitter } from '../../../GlobalEmitter'
5
5
  import AbstractFeature from '../../AbstractFeature'
6
+ import { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'
6
7
 
7
8
  type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions
8
9
 
@@ -35,7 +36,7 @@ export default class Updater {
35
36
  SpruceError
36
37
  )
37
38
 
38
- const filesToSkip = ['package.json']
39
+ const filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']
39
40
 
40
41
  for (const payload of payloads) {
41
42
  if (payload.filesToSkip) {
@@ -7,7 +7,7 @@ export default buildSchema({
7
7
  description: 'Options for event.listen.',
8
8
  fields: {
9
9
  ...syncEventOptionsBuilder.fields,
10
- eventNamespace: {
10
+ namespace: {
11
11
  type: 'text',
12
12
  label: 'Namespace',
13
13
  },
@@ -24,6 +24,22 @@ const uiAssertUtil = {
24
24
  label,
25
25
  })
26
26
  },
27
+
28
+ async assertRendersConfirmWriteFile(ui: SpyInterface) {
29
+ await ui.waitForInput()
30
+
31
+ const last = ui.getLastInvocation()
32
+
33
+ assert.isEqual(last.options.type, 'select')
34
+ assert.isEqualDeep(last.options.options.choices, [
35
+ {
36
+ label: 'Overwrite',
37
+ value: 'overwrite',
38
+ },
39
+ { value: 'skip', label: 'Skip' },
40
+ { value: 'alwaysSkip', label: 'Always skip' },
41
+ ])
42
+ },
27
43
  }
28
44
 
29
45
  export default uiAssertUtil
@@ -16,13 +16,22 @@ export type WriteResults = GeneratedFile[]
16
16
  export interface WriterOptions {
17
17
  templates: Templates
18
18
  term: GraphicsInterface
19
- askBeforeUpdating?: boolean
20
19
  upgradeMode?: UpgradeMode
21
20
  fileDescriptions: FileDescription[]
22
21
  linter?: LintService
23
22
  settings: SettingsService
24
23
  }
25
24
 
25
+ export interface WriteDirectoryTemplateOptions {
26
+ destinationDir: string
27
+ code: DirectoryTemplateCode
28
+ filesToWrite?: string[]
29
+ filesToSkip?: string[]
30
+ context: any
31
+ shouldConfirmBeforeWriting?: boolean
32
+ firstFileWriteMessage?: string
33
+ }
34
+
26
35
  export default abstract class AbstractWriter {
27
36
  protected templates: Templates
28
37
  protected ui: GraphicsInterface
@@ -59,15 +68,9 @@ export default abstract class AbstractWriter {
59
68
  this.isLintingEnabled = true
60
69
  }
61
70
 
62
- protected async writeDirectoryTemplate(options: {
63
- destinationDir: string
64
- code: DirectoryTemplateCode
65
- filesToWrite?: string[]
66
- filesToSkip?: string[]
67
- context: any
68
- shouldConfirmBeforeWriting?: boolean
69
- firstFileWriteMessage?: string
70
- }) {
71
+ protected async writeDirectoryTemplate(
72
+ options: WriteDirectoryTemplateOptions
73
+ ) {
71
74
  const {
72
75
  context,
73
76
  destinationDir,
@@ -93,6 +96,7 @@ export default abstract class AbstractWriter {
93
96
  !filesToWrite || filesToWrite.indexOf(generated.filename) > -1
94
97
  const shouldSkip =
95
98
  filesToSkip && filesToSkip.indexOf(generated.filename) > -1
99
+
96
100
  if (shouldWrite && !shouldSkip) {
97
101
  results = await this.writeFileIfChangedMixinResults(
98
102
  pathUtil.join(destinationDir, generated.relativePath),
@@ -128,6 +132,7 @@ export default abstract class AbstractWriter {
128
132
 
129
133
  if (!diskUtil.doesFileExist(destination)) {
130
134
  let write = true
135
+
131
136
  if (
132
137
  this.shouldConfirmBeforeWriting &&
133
138
  fileDescription?.confirmPromptOnFirstWrite
@@ -1,10 +0,0 @@
1
- declare const didBookAppointmentsEventContract: {
2
- eventSignatures: {
3
- 'appointments.did-book-appointments::v2021_06_23': {
4
- isGlobal: true;
5
- emitPayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.DidBookAppointmentsEmitTargetAndPayloadSchema;
6
- };
7
- };
8
- };
9
- export default didBookAppointmentsEventContract;
10
- export declare type DidBookAppointmentsEventContract = typeof didBookAppointmentsEventContract;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _mercuryTypes = require("@sprucelabs/mercury-types");
11
-
12
- var _didBookAppointmentsEmitTargetAndPayload = _interopRequireDefault(require("../../schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema"));
13
-
14
- var didBookAppointmentsEventContract = (0, _mercuryTypes.buildEventContract)({
15
- eventSignatures: {
16
- 'appointments.did-book-appointments::v2021_06_23': {
17
- isGlobal: true,
18
- emitPayloadSchema: _didBookAppointmentsEmitTargetAndPayload["default"]
19
- }
20
- }
21
- });
22
- var _default = didBookAppointmentsEventContract;
23
- exports["default"] = _default;
24
- //# sourceMappingURL=didBookAppointments.v2021_06_23.contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.ts"],"names":["didBookAppointmentsEventContract","eventSignatures","isGlobal","emitPayloadSchema","didBookAppointmentsEmitTargetAndPayloadSchema"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,gCAAgC,GAAG,sCAAmB;AAC3DC,EAAAA,eAAe,EAAE;AAChB,uDAAmD;AAClDC,MAAAA,QAAQ,EAAE,IADwC;AAElDC,MAAAA,iBAAiB,EAAEC;AAF+B;AADnC;AAD0C,CAAnB,CAAzC;eAQeJ,gC","sourcesContent":["import { buildEventContract } from '@sprucelabs/mercury-types'\nimport didBookAppointmentsEmitTargetAndPayloadSchema from '#spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema'\n\nconst didBookAppointmentsEventContract = buildEventContract({\n\teventSignatures: {\n\t\t'appointments.did-book-appointments::v2021_06_23': {\n\t\t\tisGlobal: true,\n\t\t\temitPayloadSchema: didBookAppointmentsEmitTargetAndPayloadSchema,\n\t\t},\n\t},\n})\nexport default didBookAppointmentsEventContract\n\nexport type DidBookAppointmentsEventContract =\n\ttypeof didBookAppointmentsEventContract\n"],"file":"didBookAppointments.v2021_06_23.contract.js"}
@@ -1,11 +0,0 @@
1
- declare const createCalendarEventTypeEventContract: {
2
- eventSignatures: {
3
- 'calendar.create-calendar-event-type::v2021_05_19': {
4
- isGlobal: true;
5
- emitPayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeEmitTargetAndPayloadSchema;
6
- responsePayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema;
7
- };
8
- };
9
- };
10
- export default createCalendarEventTypeEventContract;
11
- export declare type CreateCalendarEventTypeEventContract = typeof createCalendarEventTypeEventContract;
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _mercuryTypes = require("@sprucelabs/mercury-types");
11
-
12
- var _createCalendarEventTypeEmitTargetAndPayload = _interopRequireDefault(require("../../schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema"));
13
-
14
- var _createCalendarEventTypeResponsePayload = _interopRequireDefault(require("../../schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema"));
15
-
16
- var createCalendarEventTypeEventContract = (0, _mercuryTypes.buildEventContract)({
17
- eventSignatures: {
18
- 'calendar.create-calendar-event-type::v2021_05_19': {
19
- isGlobal: true,
20
- emitPayloadSchema: _createCalendarEventTypeEmitTargetAndPayload["default"],
21
- responsePayloadSchema: _createCalendarEventTypeResponsePayload["default"]
22
- }
23
- }
24
- });
25
- var _default = createCalendarEventTypeEventContract;
26
- exports["default"] = _default;
27
- //# sourceMappingURL=createCalendarEventType.v2021_05_19.contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts"],"names":["createCalendarEventTypeEventContract","eventSignatures","isGlobal","emitPayloadSchema","createCalendarEventTypeEmitTargetAndPayloadSchema","responsePayloadSchema","createCalendarEventTypeResponsePayloadSchema"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,oCAAoC,GAAG,sCAAmB;AAC/DC,EAAAA,eAAe,EAAE;AAChB,wDAAoD;AACnDC,MAAAA,QAAQ,EAAE,IADyC;AAEnDC,MAAAA,iBAAiB,EAAEC,uDAFgC;AAGnDC,MAAAA,qBAAqB,EAAEC;AAH4B;AADpC;AAD8C,CAAnB,CAA7C;eASeN,oC","sourcesContent":["import { buildEventContract } from '@sprucelabs/mercury-types'\nimport createCalendarEventTypeEmitTargetAndPayloadSchema from '#spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema'\nimport createCalendarEventTypeResponsePayloadSchema from '#spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema'\n\nconst createCalendarEventTypeEventContract = buildEventContract({\n\teventSignatures: {\n\t\t'calendar.create-calendar-event-type::v2021_05_19': {\n\t\t\tisGlobal: true,\n\t\t\temitPayloadSchema: createCalendarEventTypeEmitTargetAndPayloadSchema,\n\t\t\tresponsePayloadSchema: createCalendarEventTypeResponsePayloadSchema,\n\t\t},\n\t},\n})\nexport default createCalendarEventTypeEventContract\n\nexport type CreateCalendarEventTypeEventContract =\n\ttypeof createCalendarEventTypeEventContract\n"],"file":"createCalendarEventType.v2021_05_19.contract.js"}