@sprucelabs/spruce-cli 14.19.3 → 14.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +38 -0
  3. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.d.ts +11 -0
  4. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js +27 -0
  5. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js.map +1 -0
  6. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.d.ts +10 -0
  7. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js +24 -0
  8. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js.map +1 -0
  9. package/build/.spruce/events/events.contract.d.ts +74 -147
  10. package/build/.spruce/events/events.contract.js +4 -10
  11. package/build/.spruce/events/events.contract.js.map +1 -1
  12. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +15 -0
  13. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +17 -2
  14. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  15. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +21 -4
  16. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +24 -7
  17. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  18. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +21 -1
  19. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +26 -6
  20. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  21. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +11 -0
  22. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +1 -1
  23. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.d.ts +3 -0
  24. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js +29 -0
  25. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js.map +1 -0
  26. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.d.ts +3 -0
  27. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js +36 -0
  28. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js.map +1 -0
  29. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.d.ts +3 -0
  30. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js +46 -0
  31. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js.map +1 -0
  32. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.d.ts +3 -0
  33. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js +35 -0
  34. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js.map +1 -0
  35. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.d.ts +3 -0
  36. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js +59 -0
  37. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js.map +1 -0
  38. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.d.ts +3 -0
  39. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js +54 -0
  40. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js.map +1 -0
  41. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.d.ts +3 -0
  42. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js +37 -0
  43. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js.map +1 -0
  44. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js +11 -0
  45. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  46. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.d.ts +3 -0
  47. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js +29 -0
  48. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js.map +1 -0
  49. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js +11 -0
  50. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  51. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js +11 -0
  52. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js +2 -2
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js +2 -2
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js +11 -0
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.d.ts +1 -0
  60. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/{text.schema.js → theme.schema.js} +2 -2
  61. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -0
  62. package/build/.spruce/schemas/schemas.types.d.ts +368 -851
  63. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  64. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.d.ts +3 -0
  65. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +46 -0
  66. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -0
  67. package/build/GlobalEmitter.d.ts +11 -0
  68. package/build/GlobalEmitter.js +11 -0
  69. package/build/GlobalEmitter.js.map +1 -1
  70. package/build/__tests__/behavioral/DeployingToSandbox.test.d.ts +3 -2
  71. package/build/__tests__/behavioral/DeployingToSandbox.test.js +237 -162
  72. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  73. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +5 -83
  74. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  75. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.d.ts +1 -1
  76. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.d.ts +3 -2
  77. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +174 -31
  78. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  79. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.d.ts +1 -1
  80. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +61 -61
  81. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  82. package/build/__tests__/behavioral/{CreatingAnEvent.test.d.ts → events/CreatingAnEvent.test.d.ts} +1 -1
  83. package/build/__tests__/behavioral/{CreatingAnEvent.test.js → events/CreatingAnEvent.test.js} +3 -3
  84. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -0
  85. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +4 -2
  86. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  87. package/build/__tests__/behavioral/node/CreatingANodeModule.test.d.ts +6 -0
  88. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +168 -0
  89. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -0
  90. package/build/__tests__/behavioral/{CreatingASkill.test.d.ts → skill/CreatingASkill.test.d.ts} +1 -1
  91. package/build/__tests__/behavioral/{CreatingASkill.test.js → skill/CreatingASkill.test.js} +3 -3
  92. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -0
  93. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +5 -0
  94. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +144 -19
  95. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
  96. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +4 -4
  97. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  98. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +4 -4
  99. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  100. package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.d.ts +1 -1
  101. package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.js +1 -1
  102. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -0
  103. package/build/cli.js +6 -7
  104. package/build/cli.js.map +1 -1
  105. package/build/features/FeatureInstaller.d.ts +2 -32
  106. package/build/features/conversation/writers/ConversationWriter.d.ts +1 -1
  107. package/build/features/error/ErrorFeature.js +66 -35
  108. package/build/features/error/ErrorFeature.js.map +1 -1
  109. package/build/features/event/EventFeature.js +4 -4
  110. package/build/features/event/EventFeature.js.map +1 -1
  111. package/build/features/event/actions/SetRemoteAction.js +1 -1
  112. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  113. package/build/features/event/stores/EventStore.js.map +1 -1
  114. package/build/features/event/writers/EventWriter.d.ts +2 -2
  115. package/build/features/features.types.d.ts +1 -1
  116. package/build/features/log/actions/CreateTransportAction.d.ts +1 -1
  117. package/build/features/log/writers/LogWriter.d.ts +1 -1
  118. package/build/features/node/NodeFeature.d.ts +7 -22
  119. package/build/features/node/NodeFeature.js +49 -72
  120. package/build/features/node/NodeFeature.js.map +1 -1
  121. package/build/features/node/actions/CreateAction.d.ts +12 -0
  122. package/build/features/node/actions/CreateAction.js +92 -0
  123. package/build/features/node/actions/CreateAction.js.map +1 -0
  124. package/build/features/node/actions/UpdateDependenciesAction.js +13 -16
  125. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  126. package/build/features/organization/stores/OrganizationStore.d.ts +2 -2
  127. package/build/features/sandbox/actions/SetupAction.d.ts +1 -1
  128. package/build/features/schema/actions/SyncAction.js +1 -1
  129. package/build/features/schema/actions/SyncAction.js.map +1 -1
  130. package/build/features/schema/writers/SchemaWriter.js +4 -6
  131. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  132. package/build/features/skill/SkillFeature.d.ts +0 -3
  133. package/build/features/skill/SkillFeature.js +6 -31
  134. package/build/features/skill/SkillFeature.js.map +1 -1
  135. package/build/features/skill/stores/SkillStore.d.ts +1 -1
  136. package/build/features/skill/stores/SkillStore.js +8 -1
  137. package/build/features/skill/stores/SkillStore.js.map +1 -1
  138. package/build/features/skill/updaters/Updater.d.ts +3 -1
  139. package/build/features/skill/updaters/Updater.js +43 -5
  140. package/build/features/skill/updaters/Updater.js.map +1 -1
  141. package/build/features/store/actions/SyncAction.d.ts +1 -1
  142. package/build/features/store/writers/StoreWriter.d.ts +1 -1
  143. package/build/features/universalDevDependencies.d.ts +5 -0
  144. package/build/features/universalDevDependencies.js +40 -0
  145. package/build/features/universalDevDependencies.js.map +1 -0
  146. package/build/features/universalScripts.d.ts +0 -3
  147. package/build/features/universalScripts.js +0 -3
  148. package/build/features/universalScripts.js.map +1 -1
  149. package/build/features/view/stores/ViewStore.d.ts +1 -1
  150. package/build/interfaces/SpyInterface.js +7 -1
  151. package/build/interfaces/SpyInterface.js.map +1 -1
  152. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.d.ts +22 -0
  153. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js +33 -0
  154. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -0
  155. package/build/services/AuthService.d.ts +1 -0
  156. package/build/services/AuthService.js +8 -0
  157. package/build/services/AuthService.js.map +1 -1
  158. package/build/services/PkgService.d.ts +2 -1
  159. package/build/services/PkgService.js +20 -17
  160. package/build/services/PkgService.js.map +1 -1
  161. package/build/tests/AbstractCliTest.d.ts +5 -0
  162. package/build/tests/AbstractCliTest.js +31 -0
  163. package/build/tests/AbstractCliTest.js.map +1 -1
  164. package/build/tests/AbstractEventTest.d.ts +2 -2
  165. package/build/tests/buildTestCache.js +3 -0
  166. package/build/tests/buildTestCache.js.map +1 -1
  167. package/build/tests/cleanTestData.js +1 -0
  168. package/build/tests/cleanTestData.js.map +1 -1
  169. package/build/tests/fixtures/OrganizationFixture.d.ts +1 -1
  170. package/build/tests/fixtures/ViewFixture.d.ts +1 -1
  171. package/build/writers/AbstractWriter.js.map +1 -1
  172. package/package.json +4 -3
  173. package/src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts +17 -0
  174. package/src/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.ts +16 -0
  175. package/src/.spruce/events/events.contract.ts +16 -34
  176. package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +15 -0
  177. package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +21 -4
  178. package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +21 -1
  179. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +7 -0
  180. package/src/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.ts +23 -0
  181. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.ts +29 -0
  182. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.ts +30 -0
  183. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.ts +23 -0
  184. package/src/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.ts +48 -0
  185. package/src/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.ts +39 -0
  186. package/src/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.ts +25 -0
  187. package/src/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  188. package/src/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.ts +23 -0
  189. package/src/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.ts +7 -0
  190. package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  191. package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.ts +2 -2
  192. package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.ts +2 -2
  193. package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  194. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.ts +1 -0
  195. package/src/.spruce/schemas/schemas.types.ts +411 -1056
  196. package/src/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.ts +38 -0
  197. package/src/GlobalEmitter.ts +11 -0
  198. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +47 -20
  199. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -63
  200. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +110 -5
  201. package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +5 -5
  202. package/src/__tests__/behavioral/{CreatingAnEvent.test.ts → events/CreatingAnEvent.test.ts} +6 -6
  203. package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -2
  204. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +47 -0
  205. package/src/__tests__/behavioral/{CreatingASkill.test.ts → skill/CreatingASkill.test.ts} +3 -3
  206. package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +69 -8
  207. package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
  208. package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +3 -5
  209. package/src/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.ts +1 -1
  210. package/src/cli.ts +3 -1
  211. package/src/features/error/ErrorFeature.ts +11 -0
  212. package/src/features/event/EventFeature.ts +4 -4
  213. package/src/features/event/actions/SetRemoteAction.ts +1 -1
  214. package/src/features/event/stores/EventStore.ts +1 -0
  215. package/src/features/node/NodeFeature.ts +37 -41
  216. package/src/features/node/actions/CreateAction.ts +34 -0
  217. package/src/features/node/actions/UpdateDependenciesAction.ts +5 -6
  218. package/src/features/schema/actions/SyncAction.ts +1 -2
  219. package/src/features/schema/writers/SchemaWriter.ts +3 -5
  220. package/src/features/skill/SkillFeature.ts +5 -12
  221. package/src/features/skill/stores/SkillStore.ts +5 -0
  222. package/src/features/skill/updaters/Updater.ts +25 -2
  223. package/src/features/universalDevDependencies.ts +14 -0
  224. package/src/features/universalScripts.ts +0 -5
  225. package/src/interfaces/SpyInterface.ts +6 -1
  226. package/src/schemas/v2020_07_22/nodeFeatureOptions.builder.ts +24 -0
  227. package/src/services/AuthService.ts +7 -0
  228. package/src/services/PkgService.ts +10 -4
  229. package/src/tests/AbstractCliTest.ts +11 -0
  230. package/src/tests/buildTestCache.ts +2 -0
  231. package/src/tests/cleanTestData.ts +1 -0
  232. package/src/writers/AbstractWriter.ts +0 -1
  233. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +0 -25
  234. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +0 -41
  235. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js.map +0 -1
  236. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.d.ts +0 -25
  237. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +0 -41
  238. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js.map +0 -1
  239. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.d.ts +0 -25
  240. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +0 -41
  241. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +0 -1
  242. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +0 -28
  243. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +0 -42
  244. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js.map +0 -1
  245. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.d.ts +0 -46
  246. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +0 -60
  247. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +0 -1
  248. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.d.ts +0 -3
  249. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js +0 -28
  250. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js.map +0 -1
  251. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.d.ts +0 -3
  252. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js +0 -66
  253. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js.map +0 -1
  254. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.d.ts +0 -3
  255. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js +0 -50
  256. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js.map +0 -1
  257. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.d.ts +0 -3
  258. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js +0 -59
  259. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js.map +0 -1
  260. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.d.ts +0 -3
  261. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js +0 -30
  262. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js.map +0 -1
  263. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.d.ts +0 -3
  264. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js +0 -35
  265. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js.map +0 -1
  266. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.d.ts +0 -3
  267. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js +0 -34
  268. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js.map +0 -1
  269. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.d.ts +0 -3
  270. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js +0 -30
  271. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js.map +0 -1
  272. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.d.ts +0 -3
  273. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js +0 -35
  274. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js.map +0 -1
  275. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.d.ts +0 -3
  276. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js +0 -33
  277. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js.map +0 -1
  278. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.d.ts +0 -3
  279. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js +0 -52
  280. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js.map +0 -1
  281. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.d.ts +0 -3
  282. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js +0 -35
  283. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js.map +0 -1
  284. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.d.ts +0 -3
  285. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js +0 -44
  286. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js.map +0 -1
  287. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.d.ts +0 -3
  288. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js +0 -29
  289. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js.map +0 -1
  290. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  291. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js +0 -35
  292. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  293. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.d.ts +0 -3
  294. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js +0 -29
  295. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js.map +0 -1
  296. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.d.ts +0 -3
  297. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js +0 -29
  298. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js.map +0 -1
  299. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  300. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js +0 -35
  301. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  302. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.d.ts +0 -3
  303. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js +0 -29
  304. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js.map +0 -1
  305. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  306. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js +0 -35
  307. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  308. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.d.ts +0 -3
  309. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js +0 -78
  310. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js.map +0 -1
  311. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.d.ts +0 -3
  312. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js +0 -35
  313. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js.map +0 -1
  314. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.d.ts +0 -3
  315. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js +0 -37
  316. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js.map +0 -1
  317. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.d.ts +0 -3
  318. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js +0 -51
  319. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js.map +0 -1
  320. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.d.ts +0 -3
  321. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js +0 -37
  322. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js.map +0 -1
  323. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.d.ts +0 -3
  324. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js +0 -38
  325. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js.map +0 -1
  326. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  327. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js +0 -35
  328. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  329. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.d.ts +0 -3
  330. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js +0 -29
  331. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js.map +0 -1
  332. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.d.ts +0 -3
  333. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js +0 -35
  334. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js.map +0 -1
  335. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.d.ts +0 -1
  336. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js +0 -14
  337. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js.map +0 -1
  338. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.d.ts +0 -1
  339. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js +0 -14
  340. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js.map +0 -1
  341. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.d.ts +0 -1
  342. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js +0 -14
  343. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js.map +0 -1
  344. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.d.ts +0 -1
  345. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js +0 -14
  346. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js.map +0 -1
  347. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.d.ts +0 -1
  348. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js +0 -14
  349. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js.map +0 -1
  350. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.d.ts +0 -1
  351. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js +0 -14
  352. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js.map +0 -1
  353. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.d.ts +0 -1
  354. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js +0 -14
  355. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js.map +0 -1
  356. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.d.ts +0 -1
  357. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js +0 -14
  358. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js.map +0 -1
  359. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.d.ts +0 -1
  360. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js +0 -14
  361. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js.map +0 -1
  362. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.d.ts +0 -1
  363. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js +0 -14
  364. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js.map +0 -1
  365. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.d.ts +0 -1
  366. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js.map +0 -1
  367. package/build/__tests__/behavioral/CreatingASkill.test.js.map +0 -1
  368. package/build/__tests__/behavioral/CreatingAnEvent.test.js.map +0 -1
  369. package/build/__tests__/behavioral/node/SettingUpANodeModule.test.js.map +0 -1
  370. package/build/__tests__/support/coreEventContract.d.ts +0 -3
  371. package/build/__tests__/support/coreEventContract.js +0 -5152
  372. package/build/__tests__/support/coreEventContract.js.map +0 -1
  373. package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +0 -33
  374. package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +0 -34
  375. package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +0 -33
  376. package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +0 -37
  377. package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +0 -56
  378. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.ts +0 -22
  379. package/src/.spruce/schemas/forms/v2021_07_02/builtForm.schema.ts +0 -50
  380. package/src/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.ts +0 -41
  381. package/src/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.ts +0 -44
  382. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.ts +0 -24
  383. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.ts +0 -23
  384. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.ts +0 -22
  385. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.ts +0 -24
  386. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.ts +0 -23
  387. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.ts +0 -25
  388. package/src/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.ts +0 -38
  389. package/src/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.ts +0 -23
  390. package/src/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.ts +0 -29
  391. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.ts +0 -23
  392. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  393. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.ts +0 -23
  394. package/src/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.ts +0 -23
  395. package/src/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  396. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.ts +0 -23
  397. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  398. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.ts +0 -58
  399. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.ts +0 -23
  400. package/src/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.ts +0 -25
  401. package/src/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.ts +0 -42
  402. package/src/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.ts +0 -25
  403. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.ts +0 -29
  404. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  405. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.ts +0 -23
  406. package/src/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.ts +0 -23
  407. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.ts +0 -1
  408. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.ts +0 -1
  409. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.ts +0 -1
  410. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.ts +0 -1
  411. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.ts +0 -1
  412. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.ts +0 -1
  413. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.ts +0 -1
  414. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.ts +0 -1
  415. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.ts +0 -1
  416. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.ts +0 -1
  417. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.ts +0 -1
  418. package/src/__tests__/support/coreEventContract.ts +0 -4184
@@ -1,6 +1,6 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import { errorAssertUtil } from '@sprucelabs/test-utils'
3
- import AbstractCliTest from '../../../tests/AbstractCliTest'
3
+ import AbstractCliTest from '../../tests/AbstractCliTest'
4
4
 
5
5
  export default class SettingUpANodeModuleTest extends AbstractCliTest {
6
6
  @test()
package/src/cli.ts CHANGED
@@ -12,7 +12,6 @@ import {
12
12
  import { templates } from '@sprucelabs/spruce-templates'
13
13
  import { Command, CommanderStatic } from 'commander'
14
14
  import './addons/filePrompt.addon'
15
- import eventsContracts from '#spruce/events/events.contract'
16
15
  import { CLI_HERO, DEFAULT_HOST } from './constants'
17
16
  import SpruceError from './errors/SpruceError'
18
17
  import ActionExecuter from './features/ActionExecuter'
@@ -340,6 +339,9 @@ export default class Cli implements CliInterface {
340
339
  const connect = bootOptions?.apiClientFactory
341
340
  ? bootOptions.apiClientFactory
342
341
  : async () => {
342
+ const eventsContracts =
343
+ require('#spruce/events/events.contract').default
344
+
343
345
  const client: ApiClient = await MercuryClientFactory.Client({
344
346
  contracts: eventsContracts as any,
345
347
  host: bootOptions?.host ?? DEFAULT_HOST,
@@ -41,6 +41,17 @@ export default class ErrorFeature extends AbstractFeature {
41
41
  'feature.did-execute',
42
42
  this.handleDidExecuteCommand.bind(this)
43
43
  )
44
+
45
+ void this.emitter.on('skill.will-write-directory-template', async () => {
46
+ const isInstalled = await this.featureInstaller.isInstalled('error')
47
+ if (isInstalled) {
48
+ return {
49
+ filesToSkip: ['options.types.ts'],
50
+ }
51
+ }
52
+
53
+ return {}
54
+ })
44
55
  }
45
56
 
46
57
  public async afterPackageInstall(): Promise<InstallResults> {
@@ -29,16 +29,16 @@ export default class EventFeature extends AbstractFeature {
29
29
  ]
30
30
  public packageDependencies = [
31
31
  {
32
- name: '@sprucelabs/mercury-client@latest',
32
+ name: '@sprucelabs/mercury-client',
33
33
  },
34
34
  {
35
- name: '@sprucelabs/mercury-types@latest',
35
+ name: '@sprucelabs/mercury-types',
36
36
  },
37
37
  {
38
- name: '@sprucelabs/spruce-event-utils@latest',
38
+ name: '@sprucelabs/spruce-event-utils',
39
39
  },
40
40
  {
41
- name: '@sprucelabs/spruce-event-plugin@latest',
41
+ name: '@sprucelabs/spruce-event-plugin',
42
42
  },
43
43
  ]
44
44
 
@@ -39,7 +39,7 @@ type OptionsSchema = typeof optionsSchema
39
39
  type Options = SchemaValues<OptionsSchema>
40
40
 
41
41
  export default class SyncAction extends AbstractAction<OptionsSchema> {
42
- public commandAliases = ['set.remote']
42
+ public commandAliases = ['set.remote [remote]']
43
43
  public optionsSchema: OptionsSchema = optionsSchema
44
44
  public invocationMessage = 'Set remote... 🜒'
45
45
 
@@ -97,6 +97,7 @@ export default class EventStore extends AbstractStore {
97
97
  const client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })
98
98
  const results = await client.emit('get-event-contracts::v2020_12_25')
99
99
  const { contracts } = eventResponseUtil.getFirstResponseOrThrow(results)
100
+
100
101
  EventStore.contractCache = contracts
101
102
  }
102
103
 
@@ -1,30 +1,18 @@
1
- import { buildSchema, Schema, SchemaValues } from '@sprucelabs/schema'
1
+ import { Schema, SchemaValues } from '@sprucelabs/schema'
2
+ import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'
2
3
  import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'
3
- import { FileDescription } from '../../types/cli.types'
4
+ import nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'
5
+ import { FileDescription, GeneratedFile } from '../../types/cli.types'
4
6
  import ScriptUpdater from '../../updaters/ScriptUpdater'
5
7
  import AbstractFeature, { FeatureDependency } from '../AbstractFeature'
6
8
  import { FeatureCode } from '../features.types'
9
+ import universalDevDependencies from '../universalDevDependencies'
7
10
  import universalFileDescriptions from '../universalFileDescriptions'
8
11
  import universalScripts from '../universalScripts'
9
12
 
10
- const nodeFeatureSchema = buildSchema({
11
- id: 'nodeFeature',
12
- name: 'Node feature options',
13
- fields: {
14
- name: {
15
- type: 'text',
16
- isRequired: true,
17
- label: "What's the name of your module?",
18
- },
19
- description: {
20
- type: 'text',
21
- isRequired: true,
22
- label: 'How would you describe your module?',
23
- },
24
- },
25
- })
26
-
27
- type OptionsSchema = typeof nodeFeatureSchema
13
+ type OptionsSchema =
14
+ SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema
15
+ type Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions
28
16
 
29
17
  declare module '../../features/features.types' {
30
18
  interface FeatureMap {
@@ -43,18 +31,8 @@ export default class NodeFeature<
43
31
  public nameReadable = 'nodejs support'
44
32
  public description = ''
45
33
  public dependencies: FeatureDependency[] = []
46
- public optionsSchema = nodeFeatureSchema as S
47
- public packageDependencies = [
48
- { name: 'typescript', isDev: true },
49
- { name: 'ts-node', isDev: true },
50
- { name: 'tsconfig-paths', isDev: true },
51
- { name: 'eslint', isDev: true },
52
- { name: 'eslint-config-spruce', isDev: true },
53
- { name: 'prettier', isDev: true },
54
- { name: 'chokidar-cli', isDev: true },
55
- { name: 'concurrently', isDev: true },
56
- { name: 'tsc-watch', isDev: true },
57
- ]
34
+ public optionsSchema = nodeFeatureOptionsSchema as S
35
+ public packageDependencies = [...universalDevDependencies]
58
36
 
59
37
  public scripts = {
60
38
  ...universalScripts,
@@ -66,25 +44,43 @@ export default class NodeFeature<
66
44
 
67
45
  public actionsDir = diskUtil.resolvePath(__dirname, 'actions')
68
46
 
69
- public async beforePackageInstall() {
70
- if (!diskUtil.doesDirExist(this.cwd)) {
71
- diskUtil.createDir(this.cwd)
47
+ public async beforePackageInstall(options: Options) {
48
+ const destination = this.resolveDestination(options)
49
+
50
+ if (!diskUtil.doesDirExist(destination)) {
51
+ diskUtil.createDir(destination)
72
52
  }
73
53
 
74
- await this.Service('command').execute('yarn init -y')
54
+ const files: GeneratedFile[] = [
55
+ {
56
+ name: 'package.json',
57
+ path: diskUtil.resolvePath(destination, 'package.json'),
58
+ action: 'generated',
59
+ },
60
+ ]
61
+
62
+ await this.Service('command', destination).execute('yarn init -y')
75
63
 
76
64
  const nodeWriter = this.Writer('node')
77
- const files = await nodeWriter.writeNodeModule(this.cwd)
65
+ const written = await nodeWriter.writeNodeModule(destination)
66
+
67
+ files.push(...written)
78
68
 
79
- await this.installScripts()
69
+ await this.installScripts(destination)
80
70
 
81
- return { files }
71
+ return { files, cwd: destination }
72
+ }
73
+
74
+ private resolveDestination(options: Options) {
75
+ return diskUtil.resolvePath(this.cwd, options.destination ?? '')
82
76
  }
83
77
 
84
78
  public async afterPackageInstall(
85
79
  options: S extends Schema ? SchemaValues<S> : undefined
86
80
  ) {
87
- const pkg = this.Service('pkg')
81
+ const cwd = this.resolveDestination(options)
82
+ const pkg = this.Service('pkg', cwd)
83
+
88
84
  pkg.set({ path: 'name', value: namesUtil.toKebab(options.name) })
89
85
  pkg.set({ path: 'description', value: options.description })
90
86
  pkg.set({ path: 'version', value: '0.0.1' })
@@ -92,7 +88,7 @@ export default class NodeFeature<
92
88
  pkg.unset('main')
93
89
  pkg.unset('license')
94
90
 
95
- await this.Store('skill').setCurrentSkillsNamespace(options.name)
91
+ await this.Store('skill', { cwd }).setCurrentSkillsNamespace(options.name)
96
92
 
97
93
  return {}
98
94
  }
@@ -0,0 +1,34 @@
1
+ import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'
2
+ import nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'
3
+ import AbstractAction from '../../AbstractAction'
4
+ import { FeatureActionResponse } from '../../features.types'
5
+
6
+ const optionsSchema = nodeFeatureOptionsSchema
7
+
8
+ type OptionsSchema =
9
+ SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema
10
+ type Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions
11
+
12
+ export default class CreateAction extends AbstractAction<OptionsSchema> {
13
+ public commandAliases = [
14
+ 'create.module [destination]',
15
+ 'create.node [destination]',
16
+ ]
17
+ public invocationMessage = 'Setting up a new mode module! 🤖'
18
+ public optionsSchema = optionsSchema
19
+ public async execute(options: Options): Promise<FeatureActionResponse> {
20
+ const codeSuggestion = options.destination
21
+ ? `cd ${options.destination} && code .`
22
+ : `code .`
23
+
24
+ return {
25
+ hints: [
26
+ 'Your new module is ready!',
27
+ `When you're ready, go ahead and run \`${codeSuggestion}\` to open vscode.`,
28
+ 'Once vscode loads, open the terminal and type `spruce setup.vscode`',
29
+ "Hint: You're going to want to install all extensions and setup all features (yes for everything).",
30
+ 'See you there! 💪',
31
+ ],
32
+ }
33
+ }
34
+ }
@@ -92,6 +92,8 @@ export default class UpdateDependenciesAction extends AbstractAction<OptionsSche
92
92
  (d) => !this.isBlockedFromUpgrade(d.stripped, pkg)
93
93
  )
94
94
 
95
+ pkg.deleteLockFile()
96
+
95
97
  if (dependencies.length > 0) {
96
98
  InFlightEntertainment.writeStatus(
97
99
  `Installing ${dependencies.length} dependenc${
@@ -102,6 +104,7 @@ export default class UpdateDependenciesAction extends AbstractAction<OptionsSche
102
104
  dependencies.map((d) => d.name),
103
105
  {
104
106
  shouldForceInstall: true,
107
+ shouldCleanupLockFiles: false,
105
108
  }
106
109
  )
107
110
  }
@@ -117,16 +120,12 @@ export default class UpdateDependenciesAction extends AbstractAction<OptionsSche
117
120
  {
118
121
  shouldForceInstall: true,
119
122
  isDev: true,
123
+ shouldCleanupLockFiles: false,
120
124
  }
121
125
  )
122
126
  }
123
127
 
124
- InFlightEntertainment.writeStatus(
125
- `Re-running yarn to catch any missed modules...`
126
- )
127
-
128
- //required to get install over the line for some reason????????
129
- await pkg.install()
128
+ pkg.deleteLockFile()
130
129
 
131
130
  return {
132
131
  totalDependencies: dependencies.length,
@@ -19,8 +19,7 @@ type Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptions
19
19
  export default class SyncAction extends AbstractAction<OptionsSchema> {
20
20
  public optionsSchema = syncSchemasActionSchema
21
21
  public commandAliases = ['sync.schemas']
22
- public invocationMessage =
23
- 'Syncing schemas and generating `SpruceSchemas` type namespace... 📃'
22
+ public invocationMessage = 'Building schemas and generating types... 📃'
24
23
 
25
24
  private readonly schemaWriter = this.Writer('schema')
26
25
  private readonly schemaStore = this.Store('schema')
@@ -140,13 +140,11 @@ export default class SchemaWriter extends AbstractWriter {
140
140
  let results: WriteResults = []
141
141
  this.ui.startLoading('Generating schema types...')
142
142
 
143
- const firstMatchWithoutImportFrom = schemaTemplateItems.find(
144
- (i) => !i.importFrom
145
- )
143
+ const localItems = schemaTemplateItems.filter((i) => !i.importFrom)
146
144
 
147
- if (firstMatchWithoutImportFrom) {
145
+ if (localItems.length > 0) {
148
146
  const schemaTypesContents = this.templates.schemasTypes({
149
- schemaTemplateItems: schemaTemplateItems.filter((i) => !i.importFrom),
147
+ schemaTemplateItems: localItems,
150
148
  fieldTemplateItems,
151
149
  valueTypes,
152
150
  globalSchemaNamespace: options.globalSchemaNamespace,
@@ -6,6 +6,7 @@ import { FileDescription, NpmPackage } from '../../types/cli.types'
6
6
  import ScriptUpdater from '../../updaters/ScriptUpdater'
7
7
  import AbstractFeature, { FeatureOptions } from '../AbstractFeature'
8
8
  import { FeatureCode } from '../features.types'
9
+ import universalDevDependencies from '../universalDevDependencies'
9
10
  import universalFileDescriptions from '../universalFileDescriptions'
10
11
  import universalScripts from '../universalScripts'
11
12
  import Updater from './updaters/Updater'
@@ -46,17 +47,9 @@ export default class SkillFeature<
46
47
  {
47
48
  name: '@sprucelabs/mercury-types',
48
49
  },
49
- { name: '@sprucelabs/resolve-path-aliases', isDev: true },
50
- { name: '@types/node', isDev: true },
51
- { name: 'typescript', isDev: true },
52
- { name: 'ts-node', isDev: true },
53
50
  { name: 'tsconfig-paths', isDev: true },
54
- { name: 'eslint', isDev: true },
55
- { name: 'eslint-config-spruce', isDev: true },
56
- { name: 'prettier', isDev: true },
57
- { name: 'chokidar-cli', isDev: true },
58
- { name: 'concurrently', isDev: true },
59
- { name: 'tsc-watch', isDev: true },
51
+ { name: 'ts-node', isDev: true },
52
+ ...universalDevDependencies,
60
53
  ]
61
54
 
62
55
  public optionsSchema = skillFeatureSchema as S
@@ -97,7 +90,7 @@ export default class SkillFeature<
97
90
  path: '.spruce/errors/options.types.ts',
98
91
  description:
99
92
  'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',
100
- shouldOverwriteWhenChanged: false,
93
+ shouldOverwriteWhenChanged: true,
101
94
  },
102
95
  {
103
96
  path: 'src/.spruce/features/event.plugin.ts',
@@ -202,7 +195,7 @@ export default class SkillFeature<
202
195
  const isInstalled = await this.featureInstaller.isInstalled('skill')
203
196
 
204
197
  if (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {
205
- const updater = new Updater(this)
198
+ const updater = new Updater(this, this.emitter)
206
199
  const files = await updater.updateFiles(upgradeOptions as any)
207
200
  return {
208
201
  files,
@@ -160,6 +160,11 @@ export default class SkillStore extends AbstractStore {
160
160
  })
161
161
 
162
162
  eventResponseUtil.getFirstResponseOrThrow(response)
163
+
164
+ if (SkillStore.currentSkill?.id === skillId) {
165
+ SkillStore.currentSkill = undefined
166
+ this.Service('auth').logoutCurrentSkill()
167
+ }
163
168
  }
164
169
 
165
170
  public async fetchMySkills() {
@@ -1,4 +1,7 @@
1
+ import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'
1
2
  import { SpruceSchemas } from '#spruce/schemas/schemas.types'
3
+ import SpruceError from '../../../errors/SpruceError'
4
+ import { GlobalEmitter } from '../../../GlobalEmitter'
2
5
  import AbstractFeature from '../../AbstractFeature'
3
6
 
4
7
  type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions
@@ -8,7 +11,10 @@ type Feature =
8
11
 
9
12
  export default class Updater {
10
13
  private feature: Feature
11
- public constructor(skill: Feature) {
14
+ private emitter: GlobalEmitter
15
+
16
+ public constructor(skill: Feature, emitter: GlobalEmitter) {
17
+ this.emitter = emitter
12
18
  this.feature = skill
13
19
  }
14
20
 
@@ -20,10 +26,27 @@ export default class Updater {
20
26
  const name = pkgService.get('name')
21
27
  const description = pkgService.get('description')
22
28
 
29
+ const results = await this.emitter.emit(
30
+ 'skill.will-write-directory-template'
31
+ )
32
+
33
+ const { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(
34
+ results,
35
+ SpruceError
36
+ )
37
+
38
+ const filesToSkip = ['package.json']
39
+
40
+ for (const payload of payloads) {
41
+ if (payload.filesToSkip) {
42
+ filesToSkip.push(...payload.filesToSkip)
43
+ }
44
+ }
45
+
23
46
  const generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {
24
47
  name,
25
48
  description,
26
- filesToSkip: ['package.json'],
49
+ filesToSkip,
27
50
  })
28
51
 
29
52
  return generatedFiles
@@ -0,0 +1,14 @@
1
+ const universalDevDependencies = [
2
+ { name: '@sprucelabs/resolve-path-aliases', isDev: true },
3
+ { name: '@types/node', isDev: true },
4
+ { name: 'typescript', isDev: true },
5
+ { name: 'eslint', isDev: true },
6
+ { name: 'eslint-config-spruce', isDev: true },
7
+ { name: 'prettier', isDev: true },
8
+ { name: 'chokidar-cli', isDev: true },
9
+ { name: 'concurrently', isDev: true },
10
+ { name: 'tsc-watch', isDev: true },
11
+ { name: 'ts-node', isDev: true },
12
+ ]
13
+
14
+ export default universalDevDependencies
@@ -18,11 +18,6 @@ const universalScripts = {
18
18
  'update.dependencies': 'yarn clean.dependencies && yarn',
19
19
  'resolve-paths.lint': 'yarn build.resolve-paths ; yarn lint',
20
20
  test: 'jest',
21
- 'upgrade.packages':
22
- 'yarn-upgrade-all && rm -f yarn.lock ; yarn ; yarn fix.lint ; true',
23
- 'upgrade.packages.all': 'yarn install && yarn upgrade.packages',
24
- 'upgrade.packages.test':
25
- 'yarn upgrade.packages.all && yarn lint && yarn build.dev && yarn test',
26
21
  'watch.build.dev':
27
22
  "tsc-watch --sourceMap --onCompilationComplete 'yarn post.watch.build'",
28
23
  'watch.lint':
@@ -1,5 +1,6 @@
1
1
  import { FieldDefinitionValueType } from '@sprucelabs/schema'
2
2
  import { namesUtil, testLog } from '@sprucelabs/spruce-skill-utils'
3
+ import { assert } from '@sprucelabs/test'
3
4
  import { FieldDefinitions } from '#spruce/schemas/fields/fields.types'
4
5
  import { ExecutionResults } from '../types/cli.types'
5
6
  import { GraphicsInterface } from '../types/cli.types'
@@ -240,7 +241,11 @@ export default class SpyInterface implements GraphicsInterface {
240
241
  this.promptTimeout = setTimeout(() => {
241
242
  this.reset()
242
243
 
243
- reject(`Timed out waiting for input: ${definition.label}`)
244
+ try {
245
+ assert.fail(`Timed out waiting for input: ${definition.label}`)
246
+ } catch (err: any) {
247
+ reject(err)
248
+ }
244
249
  }, 10000)
245
250
  this.promptDefaultValue = definition.defaultValue
246
251
  }
@@ -0,0 +1,24 @@
1
+ import { buildSchema } from '@sprucelabs/schema'
2
+
3
+ export default buildSchema({
4
+ id: 'nodeFeatureOptions',
5
+ name: 'Create node module',
6
+ description:
7
+ 'Create a new node module, to be written in typescript, ready to rock!',
8
+ fields: {
9
+ destination: {
10
+ type: 'text',
11
+ defaultValue: '.',
12
+ },
13
+ name: {
14
+ type: 'text',
15
+ isRequired: true,
16
+ label: "What's the name of your module?",
17
+ },
18
+ description: {
19
+ type: 'text',
20
+ isRequired: true,
21
+ label: 'How would you describe your module?',
22
+ },
23
+ },
24
+ })
@@ -65,6 +65,13 @@ export default class AuthService {
65
65
  return null
66
66
  }
67
67
 
68
+ public logoutCurrentSkill() {
69
+ this.env.unset('SKILL_ID')
70
+ this.env.unset('SKILL_API_KEY')
71
+ this.env.unset('SKILL_NAME')
72
+ this.env.unset('SKILL_SLUG')
73
+ }
74
+
68
75
  public updateCurrentSkill(skill: SkillAuth) {
69
76
  this.env.set('SKILL_ID', skill.id)
70
77
  this.env.set('SKILL_API_KEY', skill.apiKey)
@@ -10,6 +10,7 @@ import CommandService from './CommandService'
10
10
  export interface AddOptions {
11
11
  isDev?: boolean
12
12
  shouldForceInstall?: boolean
13
+ shouldCleanupLockFiles?: boolean
13
14
  }
14
15
 
15
16
  export default class PkgService extends CommandService {
@@ -77,13 +78,18 @@ export default class PkgService extends CommandService {
77
78
  }
78
79
 
79
80
  public async install(pkg?: string[] | string, options?: AddOptions) {
81
+ const shouldCleanupLockFiles = options?.shouldCleanupLockFiles !== false
82
+ const deleteLockFile = shouldCleanupLockFiles
83
+ ? this.deleteLockFile.bind(this)
84
+ : () => {}
85
+
80
86
  if (!pkg) {
81
87
  await this.execute('yarn', { args: ['install'] })
82
- this.deleteLockFile()
88
+ deleteLockFile()
83
89
  return { totalInstalled: -1, totalSkipped: -1 }
84
90
  }
85
91
 
86
- this.deleteLockFile()
92
+ deleteLockFile()
87
93
 
88
94
  const packages = Array.isArray(pkg) ? pkg : [pkg]
89
95
  const toInstall = []
@@ -118,7 +124,7 @@ export default class PkgService extends CommandService {
118
124
  await this.execute('yarn', { args: ['install'] })
119
125
  }
120
126
 
121
- this.deleteLockFile()
127
+ deleteLockFile()
122
128
 
123
129
  this._parsedPkg = undefined
124
130
 
@@ -144,7 +150,7 @@ export default class PkgService extends CommandService {
144
150
  return { executable, args }
145
151
  }
146
152
 
147
- private deleteLockFile() {
153
+ public deleteLockFile() {
148
154
  const files = ['package-lock.json', 'yarn.lock']
149
155
  for (const file of files) {
150
156
  const lock = pathUtil.join(this.cwd, file)
@@ -420,6 +420,17 @@ export default abstract class AbstractCliTest extends AbstractSpruceTest {
420
420
  await this.wait(options?.timeout ?? 99999999)
421
421
  }
422
422
 
423
+ protected static async openInFinder(options?: {
424
+ file?: string
425
+ dir?: string
426
+ timeout?: number
427
+ }) {
428
+ await this.Service('command').execute(
429
+ `open ${options?.file ?? options?.dir ?? this.cwd}`
430
+ )
431
+ await this.wait(options?.timeout ?? 99999999)
432
+ }
433
+
423
434
  protected static log(...args: any[]) {
424
435
  testUtil.log(...args)
425
436
  }
@@ -74,6 +74,8 @@ async function run() {
74
74
  remaining
75
75
  )}`}. ${durationUtil.msToFriendly(getTimeSpent())}`
76
76
  )
77
+
78
+ term.clearBelowCursor()
77
79
  }
78
80
 
79
81
  progressInterval = doesSupportColor && setInterval(render, 1000)
@@ -81,4 +81,5 @@ void run()
81
81
  })
82
82
  .catch((err) => {
83
83
  term.renderError(err)
84
+ process.exit(1)
84
85
  })
@@ -93,7 +93,6 @@ export default abstract class AbstractWriter {
93
93
  !filesToWrite || filesToWrite.indexOf(generated.filename) > -1
94
94
  const shouldSkip =
95
95
  filesToSkip && filesToSkip.indexOf(generated.filename) > -1
96
-
97
96
  if (shouldWrite && !shouldSkip) {
98
97
  results = await this.writeFileIfChangedMixinResults(
99
98
  pathUtil.join(destinationDir, generated.relativePath),
@@ -1,25 +0,0 @@
1
- declare const convertPdfToFormEventContract: {
2
- eventSignatures: {
3
- 'forms.convert-pdf-to-form::v2021_07_02': {
4
- isGlobal: true;
5
- emitPayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.Forms.v2021_07_02.ConvertPdfToFormEmitTargetAndPayloadSchema;
6
- responsePayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.Forms.v2021_07_02.ConvertPdfToFormResponsePayloadSchema;
7
- emitPermissionContract: {
8
- id: string;
9
- name: string;
10
- requireAllPermissions: false;
11
- permissions: {
12
- id: string;
13
- name: string;
14
- defaults: {
15
- anonymous: {
16
- default: true;
17
- };
18
- };
19
- }[];
20
- };
21
- };
22
- };
23
- };
24
- export default convertPdfToFormEventContract;
25
- export declare type ConvertPdfToFormEventContract = typeof convertPdfToFormEventContract;
@@ -1,41 +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 _convertPdfToFormEmitTargetAndPayload = _interopRequireDefault(require("../../schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema"));
13
-
14
- var _convertPdfToFormResponsePayload = _interopRequireDefault(require("../../schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema"));
15
-
16
- var convertPdfToFormEventContract = (0, _mercuryTypes.buildEventContract)({
17
- eventSignatures: {
18
- 'forms.convert-pdf-to-form::v2021_07_02': {
19
- isGlobal: true,
20
- emitPayloadSchema: _convertPdfToFormEmitTargetAndPayload["default"],
21
- responsePayloadSchema: _convertPdfToFormResponsePayload["default"],
22
- emitPermissionContract: (0, _mercuryTypes.buildPermissionContract)({
23
- id: 'convertPdfToFormEmitPermissions',
24
- name: 'Convert Pdf to Form',
25
- requireAllPermissions: false,
26
- permissions: [{
27
- id: 'can-convert-pdf-to-form',
28
- name: 'Can convert pdf to form',
29
- defaults: {
30
- anonymous: {
31
- "default": true
32
- }
33
- }
34
- }]
35
- })
36
- }
37
- }
38
- });
39
- var _default = convertPdfToFormEventContract;
40
- exports["default"] = _default;
41
- //# sourceMappingURL=convertPdfToForm.v2021_07_02.contract.js.map