@sprucelabs/spruce-cli 15.2.23 → 15.4.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 (661) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js +3 -1
  116. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  119. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  121. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
  123. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  124. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  125. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
  126. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  127. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  128. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
  129. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  130. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  131. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
  132. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  133. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  134. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
  136. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  138. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
  139. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  140. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
  141. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  142. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
  143. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  144. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  145. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  146. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  147. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
  148. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  149. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  150. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  151. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  153. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  154. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  155. package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
  156. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  157. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  158. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  159. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  160. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  161. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  162. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
  163. package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
  164. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  165. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
  166. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  167. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  168. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  169. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  171. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  172. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  173. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
  174. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  175. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  176. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  177. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  178. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  179. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  180. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  181. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  182. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  183. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  184. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  185. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  186. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  187. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  188. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
  190. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  191. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  192. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  193. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
  194. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  195. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  196. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  197. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  198. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
  199. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
  200. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  201. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  202. package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
  203. package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
  204. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
  205. package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
  206. package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
  207. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
  208. package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
  209. package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
  210. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
  211. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
  212. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
  213. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
  214. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
  215. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
  216. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
  217. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
  218. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
  219. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -0
  220. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
  221. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
  222. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -0
  223. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
  224. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
  225. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -0
  226. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
  227. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
  228. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
  229. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
  230. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
  231. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  232. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  233. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  234. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  235. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  236. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  237. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  238. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  239. package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
  240. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  241. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  242. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
  243. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  244. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  245. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  246. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  247. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  248. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  249. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  250. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  251. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  252. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  253. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  254. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  255. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  256. package/build/__tests__/implementation/EventStore.test.js +68 -35
  257. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  258. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  259. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  260. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  261. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  262. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  263. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  264. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  265. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  266. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  267. package/build/__tests__/implementation/LintService.test.js +2 -2
  268. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  269. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  270. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  271. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  272. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  273. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  274. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  275. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  276. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  277. package/build/__tests__/implementation/PkgService.test.js +2 -2
  278. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  279. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  280. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  281. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  282. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  283. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  284. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  285. package/build/__tests__/implementation/StoreFeature.test.js +2 -2
  286. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  287. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  288. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  289. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  290. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  291. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  292. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  293. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  294. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  295. package/build/addons/filePrompt.addon.js.map +1 -1
  296. package/build/cli.js +1 -1
  297. package/build/cli.js.map +1 -1
  298. package/build/components/AbstractComponent.js.map +1 -1
  299. package/build/components/FormComponent.js.map +1 -1
  300. package/build/components/QuizComponent.js.map +1 -1
  301. package/build/constants.js.map +1 -1
  302. package/build/errors/SpruceError.js.map +1 -1
  303. package/build/errors/actionCancelled.builder.js.map +1 -1
  304. package/build/errors/bootError.builder.js.map +1 -1
  305. package/build/errors/buildFailed.builder.js.map +1 -1
  306. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  307. package/build/errors/commandAborted.builder.js.map +1 -1
  308. package/build/errors/commandBlocked.builder.js.map +1 -1
  309. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  310. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  311. package/build/errors/dependencyExists.builder.js.map +1 -1
  312. package/build/errors/deployFailed.builder.js.map +1 -1
  313. package/build/errors/directoryEmpty.builder.js.map +1 -1
  314. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  315. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  316. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  317. package/build/errors/failedToImport.builder.js.map +1 -1
  318. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  319. package/build/errors/fileExists.builder.js.map +1 -1
  320. package/build/errors/generic.builder.js.map +1 -1
  321. package/build/errors/invalidCommand.builder.js.map +1 -1
  322. package/build/errors/invalidEventContract.builder.js.map +1 -1
  323. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  324. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  325. package/build/errors/lintFailed.builder.js.map +1 -1
  326. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  327. package/build/errors/missingDependencies.builder.js.map +1 -1
  328. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  329. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  330. package/build/errors/notImplemented.builder.js.map +1 -1
  331. package/build/errors/notLoggedIn.builder.js.map +1 -1
  332. package/build/errors/schemaExists.builder.js.map +1 -1
  333. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  334. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  335. package/build/errors/skillNotFound.builder.js.map +1 -1
  336. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  337. package/build/errors/skillViewExists.builder.js.map +1 -1
  338. package/build/errors/storeExists.builder.js.map +1 -1
  339. package/build/errors/testFailed.builder.js.map +1 -1
  340. package/build/errors/themeExists.builder.js.map +1 -1
  341. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  342. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  343. package/build/features/AbstractAction.js.map +1 -1
  344. package/build/features/AbstractFeature.js.map +1 -1
  345. package/build/features/ActionExecuter.js.map +1 -1
  346. package/build/features/ActionFactory.js.map +1 -1
  347. package/build/features/ActionQuestionAsker.js.map +1 -1
  348. package/build/features/FeatureCommandAttacher.js.map +1 -1
  349. package/build/features/FeatureInstaller.js.map +1 -1
  350. package/build/features/FeatureInstallerFactory.js.map +1 -1
  351. package/build/features/OverrideActionDecorator.js.map +1 -1
  352. package/build/features/cache/CacheFeature.js.map +1 -1
  353. package/build/features/cache/actions/DisableAction.js.map +1 -1
  354. package/build/features/cache/actions/EnableAction.js.map +1 -1
  355. package/build/features/cache/constants.js.map +1 -1
  356. package/build/features/conversation/ConversationFeature.js.map +1 -1
  357. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  358. package/build/features/conversation/actions/TestAction.js.map +1 -1
  359. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  360. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  361. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  362. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  363. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  364. package/build/features/deploy/DeployFeature.js.map +1 -1
  365. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  366. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  367. package/build/features/error/ErrorFeature.js.map +1 -1
  368. package/build/features/error/ParentTestFinder.js.map +1 -1
  369. package/build/features/error/actions/CreateAction.js.map +1 -1
  370. package/build/features/error/actions/SyncAction.js.map +1 -1
  371. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  372. package/build/features/event/EventFeature.d.ts +1 -0
  373. package/build/features/event/EventFeature.js +89 -56
  374. package/build/features/event/EventFeature.js.map +1 -1
  375. package/build/features/event/actions/CreateAction.js.map +1 -1
  376. package/build/features/event/actions/ListenAction.d.ts +1 -0
  377. package/build/features/event/actions/ListenAction.js +23 -31
  378. package/build/features/event/actions/ListenAction.js.map +1 -1
  379. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  380. package/build/features/event/actions/SyncAction.js.map +1 -1
  381. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  382. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  383. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  384. package/build/features/event/services/EventSettingsService.js.map +1 -1
  385. package/build/features/event/services/RemoteService.js.map +1 -1
  386. package/build/features/event/stores/EventStore.d.ts +7 -5
  387. package/build/features/event/stores/EventStore.js +16 -8
  388. package/build/features/event/stores/EventStore.js.map +1 -1
  389. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  390. package/build/features/event/stores/ListenerStore.js +6 -1
  391. package/build/features/event/stores/ListenerStore.js.map +1 -1
  392. package/build/features/event/writers/EventWriter.js.map +1 -1
  393. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  394. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  395. package/build/features/feature.utilities.js.map +1 -1
  396. package/build/features/features.types.js.map +1 -1
  397. package/build/features/log/LogFeature.js.map +1 -1
  398. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  399. package/build/features/log/writers/LogWriter.js.map +1 -1
  400. package/build/features/node/NodeFeature.js.map +1 -1
  401. package/build/features/node/actions/CreateAction.js.map +1 -1
  402. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  403. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  404. package/build/features/node/writers/NodeWriter.js.map +1 -1
  405. package/build/features/onboard/OnboardFeature.js.map +1 -1
  406. package/build/features/onboard/ScriptLoader.js.map +1 -1
  407. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  408. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  409. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  410. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  411. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  412. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  413. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  414. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  415. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  416. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  417. package/build/features/organization/OrganizationFeature.js.map +1 -1
  418. package/build/features/organization/actions/CreateAction.js.map +1 -1
  419. package/build/features/organization/actions/InstallAction.js.map +1 -1
  420. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  421. package/build/features/person/PersonFeature.js.map +1 -1
  422. package/build/features/person/actions/LoginAction.js.map +1 -1
  423. package/build/features/person/actions/LogoutAction.js.map +1 -1
  424. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  425. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  426. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  427. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  428. package/build/features/schema/SchemaFeature.js.map +1 -1
  429. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  430. package/build/features/schema/actions/CreateAction.js.map +1 -1
  431. package/build/features/schema/actions/SyncAction.js.map +1 -1
  432. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  433. package/build/features/schema/services/SchemaService.js.map +1 -1
  434. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  435. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  436. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  437. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  438. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  439. package/build/features/skill/SkillFeature.js.map +1 -1
  440. package/build/features/skill/actions/BootAction.js.map +1 -1
  441. package/build/features/skill/actions/CreateAction.js.map +1 -1
  442. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  443. package/build/features/skill/actions/LoginAction.js.map +1 -1
  444. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  445. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  446. package/build/features/skill/stores/SkillStore.js.map +1 -1
  447. package/build/features/skill/updaters/Updater.js.map +1 -1
  448. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  449. package/build/features/store/StoreFeature.d.ts +1 -1
  450. package/build/features/store/StoreFeature.js +15 -14
  451. package/build/features/store/StoreFeature.js.map +1 -1
  452. package/build/features/store/actions/CreateAction.js.map +1 -1
  453. package/build/features/store/actions/SyncAction.js.map +1 -1
  454. package/build/features/store/stores/StoreStore.d.ts +1 -0
  455. package/build/features/store/stores/StoreStore.js +6 -1
  456. package/build/features/store/stores/StoreStore.js.map +1 -1
  457. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  458. package/build/features/store/writers/StoreWriter.js.map +1 -1
  459. package/build/features/test/TestFeature.js.map +1 -1
  460. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  461. package/build/features/test/TestReporter.js.map +1 -1
  462. package/build/features/test/TestRunner.js.map +1 -1
  463. package/build/features/test/actions/CreateAction.js.map +1 -1
  464. package/build/features/test/actions/SetupAction.js.map +1 -1
  465. package/build/features/test/actions/TestAction.js.map +1 -1
  466. package/build/features/test/test.types.js.map +1 -1
  467. package/build/features/test/writers/TestWriter.js.map +1 -1
  468. package/build/features/universalDevDependencies.js.map +1 -1
  469. package/build/features/universalFileDescriptions.js.map +1 -1
  470. package/build/features/universalScripts.js.map +1 -1
  471. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  472. package/build/features/validateAndNormalize.utility.js +2 -2
  473. package/build/features/validateAndNormalize.utility.js.map +1 -1
  474. package/build/features/view/ViewFeature.js.map +1 -1
  475. package/build/features/view/actions/CreateAction.js.map +1 -1
  476. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  477. package/build/features/view/actions/SyncAction.js.map +1 -1
  478. package/build/features/view/actions/WatchAction.js.map +1 -1
  479. package/build/features/view/stores/ViewStore.js.map +1 -1
  480. package/build/features/view/writers/ViewWriter.js.map +1 -1
  481. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  482. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  483. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  484. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  485. package/build/features/watch/WatchFeature.js.map +1 -1
  486. package/build/index.js.map +1 -1
  487. package/build/interfaces/SpyInterface.js.map +1 -1
  488. package/build/interfaces/TerminalInterface.js.map +1 -1
  489. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  490. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  491. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  492. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  493. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  494. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  495. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  496. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  497. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  498. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  499. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  500. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  501. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  502. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  503. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  504. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  505. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  506. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  507. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  508. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  509. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  510. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  511. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  512. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  513. package/build/services/BuildService.js.map +1 -1
  514. package/build/services/CommandService.d.ts +1 -1
  515. package/build/services/CommandService.js +2 -2
  516. package/build/services/CommandService.js.map +1 -1
  517. package/build/services/DependencyService.js.map +1 -1
  518. package/build/services/GameService.js.map +1 -1
  519. package/build/services/ImportService.js.map +1 -1
  520. package/build/services/LintService.js.map +1 -1
  521. package/build/services/PkgService.js.map +1 -1
  522. package/build/services/ServiceFactory.js.map +1 -1
  523. package/build/services/TypeCheckerService.js.map +1 -1
  524. package/build/stores/AbstractLocalStore.js.map +1 -1
  525. package/build/stores/AbstractStore.js.map +1 -1
  526. package/build/stores/StoreFactory.js.map +1 -1
  527. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  528. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  529. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  530. package/build/tests/AbstractCliTest.d.ts +2 -0
  531. package/build/tests/AbstractCliTest.js +9 -2
  532. package/build/tests/AbstractCliTest.js.map +1 -1
  533. package/build/tests/AbstractErrorTest.js.map +1 -1
  534. package/build/tests/AbstractEventTest.js.map +1 -1
  535. package/build/tests/AbstractSchemaTest.js.map +1 -1
  536. package/build/tests/AbstractSkillTest.js.map +1 -1
  537. package/build/tests/AbstractTestTest.js.map +1 -1
  538. package/build/tests/CommandFaker.d.ts +8 -0
  539. package/build/tests/CommandFaker.js +54 -0
  540. package/build/tests/CommandFaker.js.map +1 -0
  541. package/build/tests/JestJsonParser.js.map +1 -1
  542. package/build/tests/MockProgramFactory.js.map +1 -1
  543. package/build/tests/buildTestCache.js.map +1 -1
  544. package/build/tests/cleanTestCache.js.map +1 -1
  545. package/build/tests/cleanTestData.js +9 -10
  546. package/build/tests/cleanTestData.js.map +1 -1
  547. package/build/tests/constants.d.ts +8 -0
  548. package/build/tests/constants.js +28 -0
  549. package/build/tests/constants.js.map +1 -0
  550. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  551. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  552. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  553. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  554. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  555. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  556. package/build/tests/utilities/test.utility.js.map +1 -1
  557. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  558. package/build/types/apiClient.types.js.map +1 -1
  559. package/build/types/cli.types.js.map +1 -1
  560. package/build/types/graphicsInterface.types.js.map +1 -1
  561. package/build/updaters/ScriptUpdater.js.map +1 -1
  562. package/build/utilities/action.utility.js.map +1 -1
  563. package/build/utilities/apiClient.utility.js.map +1 -1
  564. package/build/utilities/argParser.utility.js.map +1 -1
  565. package/build/utilities/commander.utility.js.map +1 -1
  566. package/build/utilities/duration.utility.js.map +1 -1
  567. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  568. package/build/utilities/form.utility.js.map +1 -1
  569. package/build/utilities/introspection.utility.js.map +1 -1
  570. package/build/utilities/isCi.js.map +1 -1
  571. package/build/utilities/tsConfig.utility.js.map +1 -1
  572. package/build/utilities/ui.utility.js.map +1 -1
  573. package/build/widgets/Theme.js.map +1 -1
  574. package/build/widgets/WidgetFactory.js.map +1 -1
  575. package/build/widgets/keySelectChoices.js.map +1 -1
  576. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  577. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  578. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  579. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  580. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  581. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  582. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  583. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  584. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  585. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  586. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  587. package/build/widgets/types/button.types.js.map +1 -1
  588. package/build/widgets/types/factory.types.js.map +1 -1
  589. package/build/widgets/types/input.types.js.map +1 -1
  590. package/build/widgets/types/layout.types.js.map +1 -1
  591. package/build/widgets/types/menuBar.types.js.map +1 -1
  592. package/build/widgets/types/popup.types.js.map +1 -1
  593. package/build/widgets/types/progressBar.types.js.map +1 -1
  594. package/build/widgets/types/table.types.js.map +1 -1
  595. package/build/widgets/types/text.types.js.map +1 -1
  596. package/build/widgets/types/widgets.types.js.map +1 -1
  597. package/build/widgets/types/window.types.js.map +1 -1
  598. package/build/widgets/widget.utilities.js.map +1 -1
  599. package/build/writers/AbstractWriter.js.map +1 -1
  600. package/build/writers/WriterFactory.js.map +1 -1
  601. package/package.json +72 -72
  602. package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
  603. package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
  604. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
  605. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
  606. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
  607. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  608. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
  609. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
  610. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
  611. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
  612. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
  613. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
  614. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
  615. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  616. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  617. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  618. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
  619. package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
  620. package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
  621. package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
  622. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
  623. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
  624. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
  625. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
  626. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
  627. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
  628. package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
  629. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  630. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  631. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  632. package/src/__tests__/implementation/EventStore.test.ts +17 -1
  633. package/src/__tests__/implementation/LintService.test.ts +2 -2
  634. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  635. package/src/__tests__/implementation/PkgService.test.ts +4 -7
  636. package/src/__tests__/implementation/StoreFeature.test.ts +2 -2
  637. package/src/cli.ts +1 -1
  638. package/src/features/AbstractAction.ts +2 -2
  639. package/src/features/event/EventFeature.ts +14 -11
  640. package/src/features/event/actions/ListenAction.ts +22 -12
  641. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  642. package/src/features/event/stores/EventStore.ts +28 -20
  643. package/src/features/event/stores/ListenerStore.ts +5 -3
  644. package/src/features/store/StoreFeature.ts +7 -6
  645. package/src/features/store/stores/StoreStore.ts +5 -1
  646. package/src/features/validateAndNormalize.utility.ts +2 -2
  647. package/src/services/CommandService.ts +1 -4
  648. package/src/tests/AbstractCliTest.ts +6 -1
  649. package/src/tests/CommandFaker.ts +24 -0
  650. package/src/tests/cleanTestData.ts +2 -19
  651. package/src/tests/constants.ts +17 -0
  652. package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
  653. package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
  654. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
  655. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
  656. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
  657. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
  658. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +0 -1
  659. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +0 -1
  660. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +0 -1
  661. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":"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","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
1
+ {"version":3,"file":"SkillFeature.js","names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"sources":["../../../src/features/skill/SkillFeature.ts"],"sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/BootAction.ts"],"names":["BootAction","bootSkillOptionsSchema","options","command","Service","script","onDataHandler","onData","onErrorHandler","onError","local","bootPromise","Promise","resolve","reject","runningPromise","boot","hints","meta","isBooted","kill","bind","pid","promise","then","err","shouldReturnImmediately","execute","data","search","undefined","results","mappedErr","message","SpruceError","code","friendlyMessage","AbstractAction"],"mappings":"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","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport bootSkillOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport CommandService from '../../../services/CommandService'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptions\n\nexport interface BootMeta {\n\tkill: () => void\n\tpid: number\n\tpromise: Promise<void>\n\tisBooted: boolean\n\tbootPromise: Promise<void>\n}\n\nexport default class BootAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = bootSkillOptionsSchema\n\tpublic commandAliases = ['boot']\n\tpublic invocationMessage = 'Booting skill... ⚡️'\n\tprivate onDataHandler: ((msg: string) => void) | null | undefined\n\tprivate onErrorHandler: ((msg: string) => void) | null | undefined\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst command = this.Service('command')\n\n\t\tlet script = 'boot'\n\t\tthis.onDataHandler = options.onData\n\t\tthis.onErrorHandler = options.onError\n\n\t\tif (options.local) {\n\t\t\tscript += '.local'\n\t\t}\n\n\t\tlet runningPromise: any\n\n\t\tlet bootPromise = new Promise((resolve, reject) => {\n\t\t\trunningPromise = this.boot(command, script, resolve, reject)\n\t\t})\n\n\t\tconst hints = ['Skill booted succesfully!', 'Skill torn down cleanly!']\n\n\t\tconst meta = {\n\t\t\tisBooted: false,\n\t\t\tkill: command.kill.bind(command),\n\t\t\tpid: command.pid() as number,\n\t\t\tpromise: runningPromise,\n\t\t\tbootPromise,\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tbootPromise = bootPromise\n\t\t\t\t.then(() => {\n\t\t\t\t\tmeta.isBooted = true\n\t\t\t\t\treturn { meta, hints }\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t\treturn err\n\t\t\t\t})\n\n\t\t\tif (!options.shouldReturnImmediately) {\n\t\t\t\tvoid bootPromise.then(() => resolve({ meta, hints }))\n\t\t\t} else {\n\t\t\t\tmeta.bootPromise = bootPromise\n\n\t\t\t\tresolve({\n\t\t\t\t\tmeta,\n\t\t\t\t\thints,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async boot(\n\t\tcommand: CommandService,\n\t\tscript: string,\n\t\tresolve: (value: unknown) => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tlet isBooted = false\n\t\ttry {\n\t\t\tconst results = await command.execute(`yarn ${script}`, {\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tthis.onDataHandler?.(data)\n\t\t\t\t\tif (!isBooted && data.search(':: Skill booted') > -1) {\n\t\t\t\t\t\tisBooted = true\n\t\t\t\t\t\tresolve(undefined)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: (data) => {\n\t\t\t\t\tthis.onErrorHandler?.(data)\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tif (!isBooted) {\n\t\t\t\tisBooted = true\n\t\t\t\tresolve(undefined)\n\t\t\t}\n\n\t\t\treturn results\n\t\t} catch (err: any) {\n\t\t\tlet mappedErr = err\n\t\t\tif (\n\t\t\t\tmappedErr.message.search(/Error: cannot find module.*?build\\/index/gi) >\n\t\t\t\t-1\n\t\t\t) {\n\t\t\t\tmappedErr = new SpruceError({\n\t\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\t\tfriendlyMessage: 'You must build your skill before you can boot it!',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!isBooted) {\n\t\t\t\treject(mappedErr)\n\t\t\t} else {\n\t\t\t\tthrow mappedErr\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n}\n"],"file":"BootAction.js"}
1
+ {"version":3,"file":"BootAction.js","names":["BootAction","bootSkillOptionsSchema","options","command","Service","script","onDataHandler","onData","onErrorHandler","onError","local","bootPromise","Promise","resolve","reject","runningPromise","boot","hints","meta","isBooted","kill","bind","pid","promise","then","err","shouldReturnImmediately","execute","data","search","undefined","results","mappedErr","message","SpruceError","code","friendlyMessage","AbstractAction"],"sources":["../../../../src/features/skill/actions/BootAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport bootSkillOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport CommandService from '../../../services/CommandService'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptions\n\nexport interface BootMeta {\n\tkill: () => void\n\tpid: number\n\tpromise: Promise<void>\n\tisBooted: boolean\n\tbootPromise: Promise<void>\n}\n\nexport default class BootAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = bootSkillOptionsSchema\n\tpublic commandAliases = ['boot']\n\tpublic invocationMessage = 'Booting skill... ⚡️'\n\tprivate onDataHandler: ((msg: string) => void) | null | undefined\n\tprivate onErrorHandler: ((msg: string) => void) | null | undefined\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst command = this.Service('command')\n\n\t\tlet script = 'boot'\n\t\tthis.onDataHandler = options.onData\n\t\tthis.onErrorHandler = options.onError\n\n\t\tif (options.local) {\n\t\t\tscript += '.local'\n\t\t}\n\n\t\tlet runningPromise: any\n\n\t\tlet bootPromise = new Promise((resolve, reject) => {\n\t\t\trunningPromise = this.boot(command, script, resolve, reject)\n\t\t})\n\n\t\tconst hints = ['Skill booted succesfully!', 'Skill torn down cleanly!']\n\n\t\tconst meta = {\n\t\t\tisBooted: false,\n\t\t\tkill: command.kill.bind(command),\n\t\t\tpid: command.pid() as number,\n\t\t\tpromise: runningPromise,\n\t\t\tbootPromise,\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tbootPromise = bootPromise\n\t\t\t\t.then(() => {\n\t\t\t\t\tmeta.isBooted = true\n\t\t\t\t\treturn { meta, hints }\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t\treturn err\n\t\t\t\t})\n\n\t\t\tif (!options.shouldReturnImmediately) {\n\t\t\t\tvoid bootPromise.then(() => resolve({ meta, hints }))\n\t\t\t} else {\n\t\t\t\tmeta.bootPromise = bootPromise\n\n\t\t\t\tresolve({\n\t\t\t\t\tmeta,\n\t\t\t\t\thints,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async boot(\n\t\tcommand: CommandService,\n\t\tscript: string,\n\t\tresolve: (value: unknown) => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tlet isBooted = false\n\t\ttry {\n\t\t\tconst results = await command.execute(`yarn ${script}`, {\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tthis.onDataHandler?.(data)\n\t\t\t\t\tif (!isBooted && data.search(':: Skill booted') > -1) {\n\t\t\t\t\t\tisBooted = true\n\t\t\t\t\t\tresolve(undefined)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: (data) => {\n\t\t\t\t\tthis.onErrorHandler?.(data)\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tif (!isBooted) {\n\t\t\t\tisBooted = true\n\t\t\t\tresolve(undefined)\n\t\t\t}\n\n\t\t\treturn results\n\t\t} catch (err: any) {\n\t\t\tlet mappedErr = err\n\t\t\tif (\n\t\t\t\tmappedErr.message.search(/Error: cannot find module.*?build\\/index/gi) >\n\t\t\t\t-1\n\t\t\t) {\n\t\t\t\tmappedErr = new SpruceError({\n\t\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\t\tfriendlyMessage: 'You must build your skill before you can boot it!',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!isBooted) {\n\t\t\t\treject(mappedErr)\n\t\t\t} else {\n\t\t\t\tthrow mappedErr\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/CreateAction.ts"],"names":["optionsSchema","id","name","description","fields","skillFeatureSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,aAD6B;AAEjCC,EAAAA,IAAI,EAAE,cAF2B;AAGjCC,EAAAA,WAAW,EACV,wFAJgC;AAKjCC,EAAAA,MAAM,oBACFC,yBAAmBD,MADjB;AAL2B,CAAZ,CAAtB;;IAaqBE,Y;;;;;;;;;;;;;;;sGACGN,a;uGACC,CAAC,4BAAD,C;0GACG,+B;;;;;;;mGAE3B,iBAAqBO,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;AAAA,iDAKQ;AACNC,kBAAAA,KAAK,EAAE,CACN,wCADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;AADD,iBALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALyCG,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createSkill',\n\tname: 'create skill',\n\tdescription:\n\t\t'A skill is a micro-app, focused on delivering personaziled (and discrete) experiences.',\n\tfields: {\n\t\t...skillFeatureSchema.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.skill [destination]']\n\tpublic invocationMessage = 'Creating your new skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'This is so much fun! Lets keep moving.',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","id","name","description","fields","skillFeatureSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"sources":["../../../../src/features/skill/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createSkill',\n\tname: 'create skill',\n\tdescription:\n\t\t'A skill is a micro-app, focused on delivering personaziled (and discrete) experiences.',\n\tfields: {\n\t\t...skillFeatureSchema.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.skill [destination]']\n\tpublic invocationMessage = 'Creating your new skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'This is so much fun! Lets keep moving.',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,aAD6B;EAEjCC,IAAI,EAAE,cAF2B;EAGjCC,WAAW,EACV,wFAJgC;EAKjCC,MAAM,oBACFC,yBAAmBD,MADjB;AAL2B,CAAZ,CAAtB;;IAaqBE,Y;;;;;;;;;;;;;;;sGACGN,a;uGACC,CAAC,4BAAD,C;0GACG,+B;;;;;;;mGAE3B,iBAAqBO,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;gBAAA,iCAKQ;kBACNC,KAAK,EAAE,CACN,wCADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;gBADD,CALR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCG,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/DashboardAction.ts"],"names":["optionsSchema","id","name","description","fields","DashboardAction","hints","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAGO,IAAMA,aAAa,GAAG,yBAAY;AACxCC,EAAAA,EAAE,EAAE,WADoC;AAExCC,EAAAA,IAAI,EAAE,iBAFkC;AAGxCC,EAAAA,WAAW,EAAE,gBAH2B;AAIxCC,EAAAA,MAAM,EAAE;AAJgC,CAAZ,CAAtB;;;IAScC,e;;;;;;;;;;;;;;;sGACGL,a;uGACC,CAAC,WAAD,C;0GACG,yB;;;;;;;mGAE3B;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ;AACNM,kBAAAA,KAAK,EAAE,CAAC,cAAD;AADD,iBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL4CC,2B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport const optionsSchema = buildSchema({\n\tid: 'dashboard',\n\tname: 'Skill dashboard',\n\tdescription: 'Coming soon...',\n\tfields: {},\n})\n\nexport type DashboardActionDefinition = typeof optionsSchema\n\nexport default class DashboardAction extends AbstractAction<DashboardActionDefinition> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['dashboard']\n\tpublic invocationMessage = 'Loading dashboard... ⚡️'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\treturn {\n\t\t\thints: ['Coming soon.'],\n\t\t}\n\t}\n}\n"],"file":"DashboardAction.js"}
1
+ {"version":3,"file":"DashboardAction.js","names":["optionsSchema","id","name","description","fields","DashboardAction","hints","AbstractAction"],"sources":["../../../../src/features/skill/actions/DashboardAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport const optionsSchema = buildSchema({\n\tid: 'dashboard',\n\tname: 'Skill dashboard',\n\tdescription: 'Coming soon...',\n\tfields: {},\n})\n\nexport type DashboardActionDefinition = typeof optionsSchema\n\nexport default class DashboardAction extends AbstractAction<DashboardActionDefinition> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['dashboard']\n\tpublic invocationMessage = 'Loading dashboard... ⚡️'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\treturn {\n\t\t\thints: ['Coming soon.'],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAGO,IAAMA,aAAa,GAAG,yBAAY;EACxCC,EAAE,EAAE,WADoC;EAExCC,IAAI,EAAE,iBAFkC;EAGxCC,WAAW,EAAE,gBAH2B;EAIxCC,MAAM,EAAE;AAJgC,CAAZ,CAAtB;;;IAScC,e;;;;;;;;;;;;;;;sGACGL,a;uGACC,CAAC,WAAD,C;0GACG,yB;;;;;;;mGAE3B;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNM,KAAK,EAAE,CAAC,cAAD;gBADD,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL4CC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/LoginAction.ts"],"names":["optionsSchema","id","description","fields","skillSlug","type","label","LoginAction","options","validateAndNormalizeOptions","person","Service","getLoggedInPerson","loginResponse","skillResponse","ui","renderLine","prompt","isRequired","phone","Action","execute","connectToApi","client","emit","payload","shouldOnlyShowMine","skillResults","eventResponseUtil","getFirstResponseOrThrow","skills","match","find","s","slug","errors","SpruceError","code","friendlyMessage","length","error","choices","map","name","value","selectedSkillId","filter","target","skillId","shouldIncludeApiKey","currentSkillResults","skill","updateCurrentSkill","summaryLines","meta","actionUtil","mergeActionResults","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { generateSkillSummaryLines } from './RegisterAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginSkillAction',\n\tdescription:\n\t\t'If you already registered your skill but lost your env or changed environments.',\n\tfields: {\n\t\tskillSlug: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class LoginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['login.skill']\n\tpublic invocationMessage = 'Logging in as skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { skillSlug } = this.validateAndNormalizeOptions(options)\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\t\tlet loginResponse: FeatureActionResponse = {}\n\t\tlet skillResponse: FeatureActionResponse = {}\n\n\t\tif (!person) {\n\t\t\tthis.ui.renderLine(\n\t\t\t\t'You gotta login as a person before you can login as a skill.'\n\t\t\t)\n\n\t\t\tconst phone = await this.ui.prompt({\n\t\t\t\ttype: 'phone',\n\t\t\t\tlabel: 'Phone number',\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tloginResponse = await this.Action('person', 'login').execute({\n\t\t\t\tphone,\n\t\t\t})\n\t\t}\n\n\t\tconst client = await this.connectToApi()\n\t\tconst skillResults = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tlet { skills } = eventResponseUtil.getFirstResponseOrThrow(skillResults)\n\n\t\tif (skillSlug) {\n\t\t\tconst match = skills.find((s) => s.slug === skillSlug)\n\n\t\t\tif (!match) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\t\t\t\tfriendlyMessage: `I couldn't find a skill that you own with the slug: ${skillSlug}`,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tskills = [match]\n\t\t}\n\n\t\tif (skills.length === 0) {\n\t\t\tconst error = new SpruceError({ code: 'NO_SKILLS_REGISTERED' })\n\n\t\t\tif (error) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [error],\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (skills.length > 1) {\n\t\t\tconst selectedSkillId = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill are we logging in as?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: skills.map((s) => ({\n\t\t\t\t\t\tlabel: s.name,\n\t\t\t\t\t\tvalue: s.id,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tskills = skills.filter((s) => s.id === selectedSkillId)\n\t\t}\n\n\t\tif (skills.length === 1) {\n\t\t\tconst currentSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: skills[0].id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tshouldIncludeApiKey: true,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } =\n\t\t\t\teventResponseUtil.getFirstResponseOrThrow(currentSkillResults)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\tskillResponse.summaryLines = generateSkillSummaryLines(skill)\n\t\t\tskillResponse.meta = {\n\t\t\t\tskill,\n\t\t\t}\n\t\t}\n\n\t\treturn actionUtil.mergeActionResults(loginResponse, skillResponse)\n\t}\n}\n"],"file":"LoginAction.js"}
1
+ {"version":3,"file":"LoginAction.js","names":["optionsSchema","id","description","fields","skillSlug","type","label","LoginAction","options","validateAndNormalizeOptions","person","Service","getLoggedInPerson","loginResponse","skillResponse","ui","renderLine","prompt","isRequired","phone","Action","execute","connectToApi","client","emit","payload","shouldOnlyShowMine","skillResults","eventResponseUtil","getFirstResponseOrThrow","skills","match","find","s","slug","errors","SpruceError","code","friendlyMessage","length","error","choices","map","name","value","selectedSkillId","filter","target","skillId","shouldIncludeApiKey","currentSkillResults","skill","updateCurrentSkill","summaryLines","meta","actionUtil","mergeActionResults","AbstractAction"],"sources":["../../../../src/features/skill/actions/LoginAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { generateSkillSummaryLines } from './RegisterAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginSkillAction',\n\tdescription:\n\t\t'If you already registered your skill but lost your env or changed environments.',\n\tfields: {\n\t\tskillSlug: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class LoginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['login.skill']\n\tpublic invocationMessage = 'Logging in as skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { skillSlug } = this.validateAndNormalizeOptions(options)\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\t\tlet loginResponse: FeatureActionResponse = {}\n\t\tlet skillResponse: FeatureActionResponse = {}\n\n\t\tif (!person) {\n\t\t\tthis.ui.renderLine(\n\t\t\t\t'You gotta login as a person before you can login as a skill.'\n\t\t\t)\n\n\t\t\tconst phone = await this.ui.prompt({\n\t\t\t\ttype: 'phone',\n\t\t\t\tlabel: 'Phone number',\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tloginResponse = await this.Action('person', 'login').execute({\n\t\t\t\tphone,\n\t\t\t})\n\t\t}\n\n\t\tconst client = await this.connectToApi()\n\t\tconst skillResults = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tlet { skills } = eventResponseUtil.getFirstResponseOrThrow(skillResults)\n\n\t\tif (skillSlug) {\n\t\t\tconst match = skills.find((s) => s.slug === skillSlug)\n\n\t\t\tif (!match) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\t\t\t\tfriendlyMessage: `I couldn't find a skill that you own with the slug: ${skillSlug}`,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tskills = [match]\n\t\t}\n\n\t\tif (skills.length === 0) {\n\t\t\tconst error = new SpruceError({ code: 'NO_SKILLS_REGISTERED' })\n\n\t\t\tif (error) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [error],\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (skills.length > 1) {\n\t\t\tconst selectedSkillId = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill are we logging in as?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: skills.map((s) => ({\n\t\t\t\t\t\tlabel: s.name,\n\t\t\t\t\t\tvalue: s.id,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tskills = skills.filter((s) => s.id === selectedSkillId)\n\t\t}\n\n\t\tif (skills.length === 1) {\n\t\t\tconst currentSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: skills[0].id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tshouldIncludeApiKey: true,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } =\n\t\t\t\teventResponseUtil.getFirstResponseOrThrow(currentSkillResults)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\tskillResponse.summaryLines = generateSkillSummaryLines(skill)\n\t\t\tskillResponse.meta = {\n\t\t\t\tskill,\n\t\t\t}\n\t\t}\n\n\t\treturn actionUtil.mergeActionResults(loginResponse, skillResponse)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"names":["optionsSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,gBAD6B;AAEjCC,EAAAA,WAAW,EACV,iEAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,eAAe,EAAE;AAChBC,MAAAA,IAAI,EAAE,SADU;AAEhBC,MAAAA,KAAK,EAAE,YAFS;AAGhBC,MAAAA,YAAY,EAAE;AAHE;AADV;AAJyB,CAAZ,CAAtB;;IAgBqBC,a;;;;;;;;;;;;;;;sGACkBR,a;uGACd,CAAC,SAAD,C;0GACG,6B;;;;;;;mGAE3B,iBAAqBS,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAC6B,KAAKC,2BAAL,CAAiCD,OAAjC,CAD7B,EACSL,eADT,yBACSA,eADT;AAEOO,gBAAAA,OAFP,GAEiB,KAAKC,OAAL,CAAa,SAAb,CAFjB;AAAA;;AAKE,oBAAIR,eAAJ,EAAqB;AACpBS,oDAAsBC,KAAtB,CAA4B,CAC3B,iCAD2B,EAE3B,8CAF2B,CAA5B;AAIA,iBALD,MAKO;AACN,uBAAKC,EAAL,CAAQC,YAAR,CAAqB,gBAArB;AACA;;AAZH;AAAA,uBAcQL,OAAO,CAACM,OAAR,CAAgB,cAAhB,EAAgC;AACrCC,kBAAAA,MAAM,EAAE,gBAACC,IAAD,EAAkB;AACzBN,4JAAuBO,WAAvB,CAAmCD,IAAnC;AACA;AAHoC,iBAAhC,CAdR;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAoBE,qBAAKE,OAAL;AApBF,iDAsBS;AACNC,kBAAAA,MAAM,EAAE;AADF,iBAtBT;;AAAA;AA2BC,qBAAKD,OAAL;AA3BD,iDA6BQ;AACNE,kBAAAA,YAAY,EAAE,CACb,0BADa,EAEb,4BAFa,EAGb,0BAHa,EAIb,oBAJa;AADR,iBA7BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuCA,mBAAkB;AACjBV,wCAAsBW,IAAtB;;AACA,WAAKT,EAAL,CAAQU,WAAR;AACA;;;EA/CyCC,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"file":"RebuildAction.js"}
1
+ {"version":3,"file":"RebuildAction.js","names":["optionsSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,gBAD6B;EAEjCC,WAAW,EACV,iEAHgC;EAIjCC,MAAM,EAAE;IACPC,eAAe,EAAE;MAChBC,IAAI,EAAE,SADU;MAEhBC,KAAK,EAAE,YAFS;MAGhBC,YAAY,EAAE;IAHE;EADV;AAJyB,CAAZ,CAAtB;;IAgBqBC,a;;;;;;;;;;;;;;;sGACkBR,a;uGACd,CAAC,SAAD,C;0GACG,6B;;;;;;;mGAE3B,iBAAqBS,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAC6B,KAAKC,2BAAL,CAAiCD,OAAjC,CAD7B,EACSL,eADT,yBACSA,eADT;gBAEOO,OAFP,GAEiB,KAAKC,OAAL,CAAa,SAAb,CAFjB;gBAAA;;gBAKE,IAAIR,eAAJ,EAAqB;kBACpBS,kCAAsBC,KAAtB,CAA4B,CAC3B,iCAD2B,EAE3B,8CAF2B,CAA5B;gBAIA,CALD,MAKO;kBACN,KAAKC,EAAL,CAAQC,YAAR,CAAqB,gBAArB;gBACA;;gBAZH;gBAAA,OAcQL,OAAO,CAACM,OAAR,CAAgB,cAAhB,EAAgC;kBACrCC,MAAM,EAAE,gBAACC,IAAD,EAAkB;oBACzBN,wIAAuBO,WAAvB,CAAmCD,IAAnC;kBACA;gBAHoC,CAAhC,CAdR;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;gBAoBE,KAAKE,OAAL;gBApBF,iCAsBS;kBACNC,MAAM,EAAE;gBADF,CAtBT;;cAAA;gBA2BC,KAAKD,OAAL;gBA3BD,iCA6BQ;kBACNE,YAAY,EAAE,CACb,0BADa,EAEb,4BAFa,EAGb,0BAHa,EAIb,oBAJa;gBADR,CA7BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAuCA,mBAAkB;MACjBV,kCAAsBW,IAAtB;;MACA,KAAKT,EAAL,CAAQU,WAAR;IACA;;;EA/CyCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,qBAD6B;AAEjCC,EAAAA,WAAW,EACV,oFAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,YAAY,EAAE;AACbC,MAAAA,IAAI,EAAE,MADO;AAEbC,MAAAA,KAAK,8BAFQ;AAGbC,MAAAA,UAAU,EAAE;AAHC,KADP;AAMPC,IAAAA,SAAS,EAAE;AACVH,MAAAA,IAAI,EAAE,MADI;AAEVC,MAAAA,KAAK,EAAE,WAFG;AAGVC,MAAAA,UAAU,EAAE;AAHF,KANJ;AAWPL,IAAAA,WAAW,EAAE;AACZG,MAAAA,IAAI,EAAE,MADM;AAEZC,MAAAA,KAAK,EAAE;AAFK;AAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;AAAA;AAAA,uBAIsB,KAAKU,YAAL,EAJtB;;AAAA;AAIOC,gBAAAA,MAJP;AAAA;AAAA,uBAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;AAChEC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAEZ,YADE;AAERa,oBAAAA,IAAI,EAAET,SAFE;AAGRN,oBAAAA,WAAW,EAAXA;AAHQ;AADuD,iBAA3C,CALvB;;AAAA;AAKOgB,gBAAAA,OALP;AAAA;AAAA,wCAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;AAgBQC,gBAAAA,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;AAkBE,qBAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;AAlBF,iDAoBS;AACNC,kBAAAA,YAAY,EAAZA,YADM;AAENI,kBAAAA,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;AAONC,kBAAAA,IAAI,EAAE;AACLN,oBAAAA,KAAK,EAALA;AADK;AAPA,iBApBT;;AAAA;AAAA;AAAA;AAAA,iDAgCS;AACNK,kBAAAA,KAAK,EAAE,sEADD;AAINE,kBAAAA,MAAM,EAAE;AAJF,iBAhCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;AACjE,SAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Slug: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"file":"RegisterAction.js"}
1
+ {"version":3,"file":"RegisterAction.js","names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Slug: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,qBAD6B;EAEjCC,WAAW,EACV,oFAHgC;EAIjCC,MAAM,EAAE;IACPC,YAAY,EAAE;MACbC,IAAI,EAAE,MADO;MAEbC,KAAK,8BAFQ;MAGbC,UAAU,EAAE;IAHC,CADP;IAMPC,SAAS,EAAE;MACVH,IAAI,EAAE,MADI;MAEVC,KAAK,EAAE,WAFG;MAGVC,UAAU,EAAE;IAHF,CANJ;IAWPL,WAAW,EAAE;MACZG,IAAI,EAAE,MADM;MAEZC,KAAK,EAAE;IAFK;EAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;gBAAA;gBAAA,OAIsB,KAAKU,YAAL,EAJtB;;cAAA;gBAIOC,MAJP;gBAAA;gBAAA,OAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;kBAChEC,OAAO,EAAE;oBACRC,IAAI,EAAEZ,YADE;oBAERa,IAAI,EAAET,SAFE;oBAGRN,WAAW,EAAXA;kBAHQ;gBADuD,CAA3C,CALvB;;cAAA;gBAKOgB,OALP;gBAAA;gBAAA,wBAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;gBAgBQC,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;gBAkBE,KAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;gBAlBF,iCAoBS;kBACNC,YAAY,EAAZA,YADM;kBAENI,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;kBAONC,IAAI,EAAE;oBACLN,KAAK,EAALA;kBADK;gBAPA,CApBT;;cAAA;gBAAA;gBAAA;gBAAA,iCAgCS;kBACNK,KAAK,EAAE,sEADD;kBAINE,MAAM,EAAE;gBAJF,CAhCT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;EACjE,OAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"mappings":"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","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"file":"SkillStore.js"}
1
+ {"version":3,"file":"SkillStore.js","names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/updaters/Updater.ts"],"names":["Updater","skill","emitter","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","filesToSkip","NODE_FILES_TO_UPGRADE","payload","push","writeSkill","cwd","generatedFiles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;;;;;;;IAOqBA,O;AAIpB,mBAAmBC,KAAnB,EAAmCC,OAAnC,EAA2D;AAAA;AAAA;AAAA;AAC1D,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeF,KAAf;AACA;;;;;uGAED,iBAAyBG,iBAAzB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,WADP,GACqB,KAAKF,OAAL,CAAaG,MAAb,CAAoB,OAApB,EAA6B;AAChDC,kBAAAA,WAAW,EAAEH,iBAAiB,CAACG;AADiB,iBAA7B,CADrB;AAIOC,gBAAAA,UAJP,GAIoB,KAAKL,OAAL,CAAaM,OAAb,CAAqB,KAArB,CAJpB;AAKOC,gBAAAA,IALP,GAKcF,UAAU,CAACG,GAAX,CAAe,MAAf,CALd;AAMOC,gBAAAA,WANP,GAMqBJ,UAAU,CAACG,GAAX,CAAe,aAAf,CANrB;AAAA;AAAA,uBAQuB,KAAKT,OAAL,CAAaW,IAAb,CACrB,qCADqB,CARvB;;AAAA;AAQOC,gBAAAA,OARP;AAAA,wCAYsBC,oCAAkBC,+BAAlB,CACpBF,OADoB,EAEpBG,uBAFoB,CAZtB,EAYSC,QAZT,yBAYSA,QAZT;AAiBOC,gBAAAA,WAjBP,iDAiByBC,iCAjBzB,IAiBgD,cAjBhD;AAAA,uDAmBuBF,QAnBvB;;AAAA;AAmBC,sEAAgC;AAArBG,oBAAAA,OAAqB;;AAC/B,wBAAIA,OAAO,CAACF,WAAZ,EAAyB;AACxBA,sBAAAA,WAAW,CAACG,IAAZ,OAAAH,WAAW,sCAASE,OAAO,CAACF,WAAjB,EAAX;AACA;AACD;AAvBF;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAyB8Bd,WAAW,CAACkB,UAAZ,CAAuB,KAAKpB,OAAL,CAAaqB,GAApC,EAAyC;AACrEd,kBAAAA,IAAI,EAAJA,IADqE;AAErEE,kBAAAA,WAAW,EAAXA,WAFqE;AAGrEO,kBAAAA,WAAW,EAAXA;AAHqE,iBAAzC,CAzB9B;;AAAA;AAyBOM,gBAAAA,cAzBP;AAAA,iDA+BQA,cA/BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"file":"Updater.js"}
1
+ {"version":3,"file":"Updater.js","names":["Updater","skill","emitter","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","filesToSkip","NODE_FILES_TO_UPGRADE","payload","push","writeSkill","cwd","generatedFiles"],"sources":["../../../../src/features/skill/updaters/Updater.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;;;;;;;IAOqBA,O;EAIpB,iBAAmBC,KAAnB,EAAmCC,OAAnC,EAA2D;IAAA;IAAA;IAAA;IAC1D,KAAKA,OAAL,GAAeA,OAAf;IACA,KAAKC,OAAL,GAAeF,KAAf;EACA;;;;;uGAED,iBAAyBG,iBAAzB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,WADP,GACqB,KAAKF,OAAL,CAAaG,MAAb,CAAoB,OAApB,EAA6B;kBAChDC,WAAW,EAAEH,iBAAiB,CAACG;gBADiB,CAA7B,CADrB;gBAIOC,UAJP,GAIoB,KAAKL,OAAL,CAAaM,OAAb,CAAqB,KAArB,CAJpB;gBAKOC,IALP,GAKcF,UAAU,CAACG,GAAX,CAAe,MAAf,CALd;gBAMOC,WANP,GAMqBJ,UAAU,CAACG,GAAX,CAAe,aAAf,CANrB;gBAAA;gBAAA,OAQuB,KAAKT,OAAL,CAAaW,IAAb,CACrB,qCADqB,CARvB;;cAAA;gBAQOC,OARP;gBAAA,wBAYsBC,oCAAkBC,+BAAlB,CACpBF,OADoB,EAEpBG,uBAFoB,CAZtB,EAYSC,QAZT,yBAYSA,QAZT;gBAiBOC,WAjBP,iDAiByBC,iCAjBzB,IAiBgD,cAjBhD;gBAAA,uCAmBuBF,QAnBvB;;gBAAA;kBAmBC,oDAAgC;oBAArBG,OAAqB;;oBAC/B,IAAIA,OAAO,CAACF,WAAZ,EAAyB;sBACxBA,WAAW,CAACG,IAAZ,OAAAH,WAAW,sCAASE,OAAO,CAACF,WAAjB,EAAX;oBACA;kBACD;gBAvBF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAyB8Bd,WAAW,CAACkB,UAAZ,CAAuB,KAAKpB,OAAL,CAAaqB,GAApC,EAAyC;kBACrEd,IAAI,EAAJA,IADqE;kBAErEE,WAAW,EAAXA,WAFqE;kBAGrEO,WAAW,EAAXA;gBAHqE,CAAzC,CAzB9B;;cAAA;gBAyBOM,cAzBP;gBAAA,iCA+BQA,cA/BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"names":["SkillGenerator","destinationDir","options","filesToSkip","context","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAIA;;;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;;sGACpB,iBACCC,cADD,EAECC,OAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAISC,gBAAAA,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIyBC,OAJzB,6CAIqCF,OAJrC;AAAA,iDAMQ,KAAKG,sBAAL,CAA4B;AAClCJ,kBAAAA,cAAc,EAAdA,cADkC;AAElCK,kBAAAA,IAAI,EAAEC,uCAAsBC,KAFM;AAGlCL,kBAAAA,WAAW,EAAXA,WAHkC;AAIlCM,kBAAAA,qBAAqB,EACpB,yGALiC;AAMlCL,kBAAAA,OAAO,kCACHA,OADG;AAENM,oBAAAA,IAAI,EAAEC,4BAAUC,OAAV,CAAkBV,OAAO,CAACQ,IAA1B;AAFA;AAN2B,iBAA5B,CANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAD2CG,2B","sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"file":"SkillWriter.js"}
1
+ {"version":3,"file":"SkillWriter.js","names":["SkillGenerator","destinationDir","options","filesToSkip","context","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","AbstractWriter"],"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAIA;;;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;;sGACpB,iBACCC,cADD,EAECC,OAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAISC,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIyBC,OAJzB,6CAIqCF,OAJrC;gBAAA,iCAMQ,KAAKG,sBAAL,CAA4B;kBAClCJ,cAAc,EAAdA,cADkC;kBAElCK,IAAI,EAAEC,uCAAsBC,KAFM;kBAGlCL,WAAW,EAAXA,WAHkC;kBAIlCM,qBAAqB,EACpB,yGALiC;kBAMlCL,OAAO,kCACHA,OADG;oBAENM,IAAI,EAAEC,4BAAUC,OAAV,CAAkBV,OAAO,CAACQ,IAA1B;kBAFA;gBAN2B,CAA5B,CANR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD2CG,2B"}
@@ -17,7 +17,7 @@ export default class StoreFeature extends AbstractFeature {
17
17
  actionsDir: string;
18
18
  constructor(options: FeatureOptions);
19
19
  private registerAbstractTestClassHandler;
20
- private handleWillExecute;
20
+ private handleDidExecute;
21
21
  afterPackageInstall(): Promise<{
22
22
  files: import("../../writers/AbstractWriter").WriteResults;
23
23
  }>;
@@ -61,7 +61,7 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
61
61
  }]);
62
62
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
63
63
  void _this.emitter.on('test.register-abstract-test-classes', _this.registerAbstractTestClassHandler.bind((0, _assertThisInitialized2["default"])(_this)));
64
- void _this.emitter.on('feature.will-execute', _this.handleWillExecute.bind((0, _assertThisInitialized2["default"])(_this)));
64
+ void _this.emitter.on('feature.did-execute', _this.handleDidExecute.bind((0, _assertThisInitialized2["default"])(_this)));
65
65
  return _this;
66
66
  }
67
67
 
@@ -97,10 +97,10 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
97
97
  return registerAbstractTestClassHandler;
98
98
  }()
99
99
  }, {
100
- key: "handleWillExecute",
100
+ key: "handleDidExecute",
101
101
  value: function () {
102
- var _handleWillExecute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(payload) {
103
- var isInstalled, results;
102
+ var _handleDidExecute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(payload) {
103
+ var isInstalled, isUpgrade, results;
104
104
  return _regenerator["default"].wrap(function _callee2$(_context2) {
105
105
  while (1) {
106
106
  switch (_context2.prev = _context2.next) {
@@ -110,28 +110,29 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
110
110
 
111
111
  case 2:
112
112
  isInstalled = _context2.sent;
113
+ isUpgrade = isInstalled && payload.featureCode === 'node' && payload.actionCode === 'upgrade';
113
114
 
114
- if (!(isInstalled && payload.featureCode === 'node' && payload.actionCode === 'upgrade')) {
115
- _context2.next = 9;
115
+ if (!isUpgrade) {
116
+ _context2.next = 10;
116
117
  break;
117
118
  }
118
119
 
119
120
  _ui["default"].renderMasthead({
120
121
  ui: this.ui,
121
- headline: 'Resyncing data stores...'
122
+ headline: 'Re-syncing data stores...'
122
123
  });
123
124
 
124
- _context2.next = 7;
125
+ _context2.next = 8;
125
126
  return this.Action('store', 'sync').execute({});
126
127
 
127
- case 7:
128
+ case 8:
128
129
  results = _context2.sent;
129
130
  return _context2.abrupt("return", results);
130
131
 
131
- case 9:
132
+ case 10:
132
133
  return _context2.abrupt("return", {});
133
134
 
134
- case 10:
135
+ case 11:
135
136
  case "end":
136
137
  return _context2.stop();
137
138
  }
@@ -139,11 +140,11 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
139
140
  }, _callee2, this);
140
141
  }));
141
142
 
142
- function handleWillExecute(_x) {
143
- return _handleWillExecute.apply(this, arguments);
143
+ function handleDidExecute(_x) {
144
+ return _handleDidExecute.apply(this, arguments);
144
145
  }
145
146
 
146
- return handleWillExecute;
147
+ return handleDidExecute;
147
148
  }()
148
149
  }, {
149
150
  key: "afterPackageInstall",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/store/StoreFeature.ts"],"names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleWillExecute","abstractClasses","label","featureCode","payload","featureInstaller","isInstalled","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","results","Writer","writePlugin","cwd","files","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAYqBA,Y;;;;;AAiBpB,wBAAmBC,OAAnB,EAA4C;AAAA;;AAAA;AAC3C,8BAAMA,OAAN;AAD2C,qGAhBtB,aAgBsB;AAAA,oGAfvB,4CAeuB;AAAA,6FAdjB,OAciB;AAAA,qGAbD,CAC1C;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAD0C,CAaC;AAAA,4GAPf,CAC5B;AAAEC,MAAAA,IAAI,EAAE,wCAAR;AAAkDC,MAAAA,KAAK,EAAE;AAAzD,KAD4B,EAE5B;AAAED,MAAAA,IAAI,EAAE,gCAAR;AAA0CC,MAAAA,KAAK,EAAE;AAAjD,KAF4B,CAOe;AAAA,mGAFxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEwB;AAG3C,SAAK,MAAKC,OAAL,CAAaC,EAAb,CACJ,qCADI,EAEJ,MAAKC,gCAAL,CAAsCC,IAAtC,gDAFI,CAAL;AAIA,SAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKG,iBAAL,CAAuBD,IAAvB,gDAFI,CAAL;AAP2C;AAW3C;;;;;4HAED;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ;AACNE,kBAAAA,eAAe,EAAE,CAChB;AACCV,oBAAAA,IAAI,EAAE,mBADP;AAECW,oBAAAA,KAAK,EAAE,mBAFR;AAGC,8BAAQ,iCAHT;AAICC,oBAAAA,WAAW,EAAE;AAJd,mBADgB;AADX,iBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAaA,kBAAgCC,OAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAI2B,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAJ3B;;AAAA;AAIOA,gBAAAA,WAJP;;AAAA,sBAOEA,WAAW,IACXF,OAAO,CAACD,WAAR,KAAwB,MADxB,IAEAC,OAAO,CAACG,UAAR,KAAuB,SATzB;AAAA;AAAA;AAAA;;AAWEC,+BAAOC,cAAP,CAAsB;AACrBC,kBAAAA,EAAE,EAAE,KAAKA,EADY;AAErBC,kBAAAA,QAAQ,EAAE;AAFW,iBAAtB;;AAXF;AAAA,uBAgBwB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAhBxB;;AAAA;AAgBQC,gBAAAA,OAhBR;AAAA,kDAkBSA,OAlBT;;AAAA;AAAA,kDAqBQ,EArBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACqB,KAAKC,MAAL,CAAY,OAAZ,EAAqBC,WAArB,CAAiC,KAAKC,GAAtC,CADrB;;AAAA;AACOC,gBAAAA,KADP;AAAA,kDAEQ;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAFR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnEyCC,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('store')\n\n\t\tif (\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\t\t) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Resyncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"file":"StoreFeature.js"}
1
+ {"version":3,"file":"StoreFeature.js","names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","abstractClasses","label","featureCode","payload","featureInstaller","isInstalled","isUpgrade","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","results","Writer","writePlugin","cwd","files","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAYqBA,Y;;;;;EAiBpB,sBAAmBC,OAAnB,EAA4C;IAAA;;IAAA;IAC3C,0BAAMA,OAAN;IAD2C,iGAhBtB,aAgBsB;IAAA,gGAfvB,4CAeuB;IAAA,yFAdjB,OAciB;IAAA,iGAbD,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,CAaC;IAAA,wGAPf,CAC5B;MAAEC,IAAI,EAAE,wCAAR;MAAkDC,KAAK,EAAE;IAAzD,CAD4B,EAE5B;MAAED,IAAI,EAAE,gCAAR;MAA0CC,KAAK,EAAE;IAAjD,CAF4B,CAOe;IAAA,+FAFxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEwB;IAG3C,KAAK,MAAKC,OAAL,CAAaC,EAAb,CACJ,qCADI,EAEJ,MAAKC,gCAAL,CAAsCC,IAAtC,gDAFI,CAAL;IAIA,KAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,qBADI,EAEJ,MAAKG,gBAAL,CAAsBD,IAAtB,gDAFI,CAAL;IAP2C;EAW3C;;;;;4HAED;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNE,eAAe,EAAE,CAChB;oBACCV,IAAI,EAAE,mBADP;oBAECW,KAAK,EAAE,mBAFR;oBAGC,UAAQ,iCAHT;oBAICC,WAAW,EAAE;kBAJd,CADgB;gBADX,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;4GAaA,kBAA+BC,OAA/B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAI2B,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAJ3B;;cAAA;gBAIOA,WAJP;gBAMOC,SANP,GAOED,WAAW,IACXF,OAAO,CAACD,WAAR,KAAwB,MADxB,IAEAC,OAAO,CAACI,UAAR,KAAuB,SATzB;;gBAAA,KAWKD,SAXL;kBAAA;kBAAA;gBAAA;;gBAYEE,eAAOC,cAAP,CAAsB;kBACrBC,EAAE,EAAE,KAAKA,EADY;kBAErBC,QAAQ,EAAE;gBAFW,CAAtB;;gBAZF;gBAAA,OAiBwB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAjBxB;;cAAA;gBAiBQC,OAjBR;gBAAA,kCAmBSA,OAnBT;;cAAA;gBAAA,kCAsBQ,EAtBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAyBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,KAAKC,MAAL,CAAY,OAAZ,EAAqBC,WAArB,CAAiC,KAAKC,GAAtC,CADrB;;cAAA;gBACOC,KADP;gBAAA,kCAEQ;kBACNA,KAAK,EAALA;gBADM,CAFR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EApEyCC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/store/actions/CreateAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","label","hint","nameReadablePlural","namePascal","isRequired","namePascalPlural","nameSnakePlural","CreateAction","options","validateAndNormalizeOptions","writer","Writer","writeStore","cwd","namesUtil","toPascal","toSnake","files","Action","execute","syncResults","actionUtil","mergeActionResults","errors","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,oBAD6B;AAEjCC,EAAAA,WAAW,EACV,8HAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,YAAY,kCACRC,8BAAyBF,MAAzB,CAAgCC,YADxB;AAEXE,MAAAA,KAAK,EAAE,uBAFI;AAGXC,MAAAA,IAAI,EAAE;AAHK,MADL;AAMPC,IAAAA,kBAAkB,kCACdH,8BAAyBF,MAAzB,CAAgCK,kBADlB;AAEjBF,MAAAA,KAAK,EAAE,qBAFU;AAGjBC,MAAAA,IAAI,EAAE;AAHW,MANX;AAWPE,IAAAA,UAAU,kCACNJ,8BAAyBF,MAAzB,CAAgCM,UAD1B;AAETC,MAAAA,UAAU,EAAE;AAFH,MAXH;AAePC,IAAAA,gBAAgB,EAAEN,8BAAyBF,MAAzB,CAAgCQ,gBAf3C;AAgBPC,IAAAA,eAAe,EAAEP,8BAAyBF,MAAzB,CAAgCS;AAhB1C;AAJyB,CAAZ,CAAtB;;IA2BqBC,Y;;;;;;;;;;;;;;;sGACGb,a;0GACI,6B;;;;;;;mGAE3B,iBAAqBc,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAMK,KAAKC,2BAAL,CAAiCD,OAAjC,CANL,EAEEL,UAFF,yBAEEA,UAFF,EAGEE,gBAHF,yBAGEA,gBAHF,EAIEC,eAJF,yBAIEA,eAJF,EAKEJ,kBALF,yBAKEA,kBALF;AAQOQ,gBAAAA,MARP,GAQgB,KAAKC,MAAL,CAAY,OAAZ,CARhB;AAAA;AAAA;AAAA,uBAWsBD,MAAM,CAACE,UAAP,CAAkB,KAAKC,GAAvB,EAA4B;AAC/CV,kBAAAA,UAAU,EAAVA,UAD+C;AAE/CE,kBAAAA,gBAAgB,EACfA,gBADe,aACfA,gBADe,cACfA,gBADe,GACKS,4BAAUC,QAAV,CAAmBb,kBAAnB,CAH0B;AAI/CI,kBAAAA,eAAe,EACdA,eADc,aACdA,eADc,cACdA,eADc,GACKQ,4BAAUE,OAAV,CAAkBd,kBAAlB;AAL2B,iBAA5B,CAXtB;;AAAA;AAWQe,gBAAAA,KAXR;AAAA;AAAA,uBAmB4B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAnB5B;;AAAA;AAmBQC,gBAAAA,WAnBR;AAAA,iDAqBSC,mBAAWC,kBAAX,CAA8BF,WAA9B,EAA2C;AACjDH,kBAAAA,KAAK,EAALA;AADiD,iBAA3C,CArBT;;AAAA;AAAA;AAAA;AAAA,iDAyBS;AACNM,kBAAAA,MAAM,EAAE;AADF,iBAzBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAJyCC,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createStoreOptions',\n\tdescription:\n\t\t'Create a place to store data. Can be a database, can be memory, can be a spreadsheet. If you need to store data, do it here.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Store name (singular)',\n\t\t\thint: 'Make it easy to read and singlar, e.g. Person or Bid',\n\t\t},\n\t\tnameReadablePlural: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadablePlural,\n\t\t\tlabel: 'Store name (plural)',\n\t\t\thint: 'Make it easy to read and plural, e.g. People or Bids',\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascalPlural: namedTemplateItemBuilder.fields.namePascalPlural,\n\t\tnameSnakePlural: namedTemplateItemBuilder.fields.nameSnakePlural,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a data store... 💿'\n\n\tpublic async execute(options: Options) {\n\t\tconst {\n\t\t\tnamePascal,\n\t\t\tnamePascalPlural,\n\t\t\tnameSnakePlural,\n\t\t\tnameReadablePlural,\n\t\t} = this.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('store')\n\n\t\ttry {\n\t\t\tconst files = await writer.writeStore(this.cwd, {\n\t\t\t\tnamePascal,\n\t\t\t\tnamePascalPlural:\n\t\t\t\t\tnamePascalPlural ?? namesUtil.toPascal(nameReadablePlural),\n\t\t\t\tnameSnakePlural:\n\t\t\t\t\tnameSnakePlural ?? namesUtil.toSnake(nameReadablePlural),\n\t\t\t})\n\n\t\t\tconst syncResults = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn actionUtil.mergeActionResults(syncResults, {\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","label","hint","nameReadablePlural","namePascal","isRequired","namePascalPlural","nameSnakePlural","CreateAction","options","validateAndNormalizeOptions","writer","Writer","writeStore","cwd","namesUtil","toPascal","toSnake","files","Action","execute","syncResults","actionUtil","mergeActionResults","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createStoreOptions',\n\tdescription:\n\t\t'Create a place to store data. Can be a database, can be memory, can be a spreadsheet. If you need to store data, do it here.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Store name (singular)',\n\t\t\thint: 'Make it easy to read and singlar, e.g. Person or Bid',\n\t\t},\n\t\tnameReadablePlural: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadablePlural,\n\t\t\tlabel: 'Store name (plural)',\n\t\t\thint: 'Make it easy to read and plural, e.g. People or Bids',\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascalPlural: namedTemplateItemBuilder.fields.namePascalPlural,\n\t\tnameSnakePlural: namedTemplateItemBuilder.fields.nameSnakePlural,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a data store... 💿'\n\n\tpublic async execute(options: Options) {\n\t\tconst {\n\t\t\tnamePascal,\n\t\t\tnamePascalPlural,\n\t\t\tnameSnakePlural,\n\t\t\tnameReadablePlural,\n\t\t} = this.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('store')\n\n\t\ttry {\n\t\t\tconst files = await writer.writeStore(this.cwd, {\n\t\t\t\tnamePascal,\n\t\t\t\tnamePascalPlural:\n\t\t\t\t\tnamePascalPlural ?? namesUtil.toPascal(nameReadablePlural),\n\t\t\t\tnameSnakePlural:\n\t\t\t\t\tnameSnakePlural ?? namesUtil.toSnake(nameReadablePlural),\n\t\t\t})\n\n\t\t\tconst syncResults = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn actionUtil.mergeActionResults(syncResults, {\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,oBAD6B;EAEjCC,WAAW,EACV,8HAHgC;EAIjCC,MAAM,EAAE;IACPC,YAAY,kCACRC,8BAAyBF,MAAzB,CAAgCC,YADxB;MAEXE,KAAK,EAAE,uBAFI;MAGXC,IAAI,EAAE;IAHK,EADL;IAMPC,kBAAkB,kCACdH,8BAAyBF,MAAzB,CAAgCK,kBADlB;MAEjBF,KAAK,EAAE,qBAFU;MAGjBC,IAAI,EAAE;IAHW,EANX;IAWPE,UAAU,kCACNJ,8BAAyBF,MAAzB,CAAgCM,UAD1B;MAETC,UAAU,EAAE;IAFH,EAXH;IAePC,gBAAgB,EAAEN,8BAAyBF,MAAzB,CAAgCQ,gBAf3C;IAgBPC,eAAe,EAAEP,8BAAyBF,MAAzB,CAAgCS;EAhB1C;AAJyB,CAAZ,CAAtB;;IA2BqBC,Y;;;;;;;;;;;;;;;sGACGb,a;0GACI,6B;;;;;;;mGAE3B,iBAAqBc,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAMK,KAAKC,2BAAL,CAAiCD,OAAjC,CANL,EAEEL,UAFF,yBAEEA,UAFF,EAGEE,gBAHF,yBAGEA,gBAHF,EAIEC,eAJF,yBAIEA,eAJF,EAKEJ,kBALF,yBAKEA,kBALF;gBAQOQ,MARP,GAQgB,KAAKC,MAAL,CAAY,OAAZ,CARhB;gBAAA;gBAAA;gBAAA,OAWsBD,MAAM,CAACE,UAAP,CAAkB,KAAKC,GAAvB,EAA4B;kBAC/CV,UAAU,EAAVA,UAD+C;kBAE/CE,gBAAgB,EACfA,gBADe,aACfA,gBADe,cACfA,gBADe,GACKS,4BAAUC,QAAV,CAAmBb,kBAAnB,CAH0B;kBAI/CI,eAAe,EACdA,eADc,aACdA,eADc,cACdA,eADc,GACKQ,4BAAUE,OAAV,CAAkBd,kBAAlB;gBAL2B,CAA5B,CAXtB;;cAAA;gBAWQe,KAXR;gBAAA;gBAAA,OAmB4B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAnB5B;;cAAA;gBAmBQC,WAnBR;gBAAA,iCAqBSC,mBAAWC,kBAAX,CAA8BF,WAA9B,EAA2C;kBACjDH,KAAK,EAALA;gBADiD,CAA3C,CArBT;;cAAA;gBAAA;gBAAA;gBAAA,iCAyBS;kBACNM,MAAM,EAAE;gBADF,CAzBT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/store/actions/SyncAction.ts"],"names":["optionsSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,sBAD6B;AAEjCC,EAAAA,WAAW,EACV,uEAHgC;AAIjCC,EAAAA,MAAM,EAAE;AAJyB,CAAZ,CAAtB;;IAUqBC,U;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CAAC,aAAD,C;0GAEvB,2D;;;;;;;mGAED,iBAAqBK,QAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKC,KAAL,CAAW,OAAX,EAAoBC,WAApB,EAFvB;;AAAA;AAEQC,gBAAAA,MAFR;AAIMC,gBAAAA,KAJN,GAI+B,EAJ/B;;AAAA,sBAMMD,MAAM,CAACE,MAAP,GAAgB,CANtB;AAAA;AAAA;AAAA;;AAOSC,gBAAAA,WAPT,GAOuBC,2BAASC,qBAAT,CAA+B,KAAKC,GAApC,EAAyC,QAAzC,CAPvB;AAQSC,gBAAAA,OART,GAQmB,IAAIC,oCAAJ,EARnB;AASSC,gBAAAA,aATT,GASyBF,OAAO,CAACG,kBAAR,CAA2BV,MAA3B,EAAmCG,WAAnC,CATzB;AAWSQ,gBAAAA,MAXT,GAWkB,KAAKC,MAAL,CAAY,OAAZ,CAXlB;AAAA;AAAA,uBAYiBD,MAAM,CAACE,gBAAP,CAAwBV,WAAxB,EAAqC;AAClDH,kBAAAA,MAAM,EAAES;AAD0C,iBAArC,CAZjB;;AAAA;AAYGR,gBAAAA,KAZH;;AAAA;AAAA,iDAiBS;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAjBT;;AAAA;AAAA;AAAA;AAAA,iDAqBS;AACNa,kBAAAA,MAAM,EAAE;AADF,iBArBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EANuCC,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"SyncAction.js"}
1
+ {"version":3,"file":"SyncAction.js","names":["optionsSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,sBAD6B;EAEjCC,WAAW,EACV,uEAHgC;EAIjCC,MAAM,EAAE;AAJyB,CAAZ,CAAtB;;IAUqBC,U;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CAAC,aAAD,C;0GAEvB,2D;;;;;;;mGAED,iBAAqBK,QAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEuB,KAAKC,KAAL,CAAW,OAAX,EAAoBC,WAApB,EAFvB;;cAAA;gBAEQC,MAFR;gBAIMC,KAJN,GAI+B,EAJ/B;;gBAAA,MAMMD,MAAM,CAACE,MAAP,GAAgB,CANtB;kBAAA;kBAAA;gBAAA;;gBAOSC,WAPT,GAOuBC,2BAASC,qBAAT,CAA+B,KAAKC,GAApC,EAAyC,QAAzC,CAPvB;gBAQSC,OART,GAQmB,IAAIC,oCAAJ,EARnB;gBASSC,aATT,GASyBF,OAAO,CAACG,kBAAR,CAA2BV,MAA3B,EAAmCG,WAAnC,CATzB;gBAWSQ,MAXT,GAWkB,KAAKC,MAAL,CAAY,OAAZ,CAXlB;gBAAA;gBAAA,OAYiBD,MAAM,CAACE,gBAAP,CAAwBV,WAAxB,EAAqC;kBAClDH,MAAM,EAAES;gBAD0C,CAArC,CAZjB;;cAAA;gBAYGR,KAZH;;cAAA;gBAAA,iCAiBS;kBACNA,KAAK,EAALA;gBADM,CAjBT;;cAAA;gBAAA;gBAAA;gBAAA,iCAqBS;kBACNa,MAAM,EAAE;gBADF,CArBT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EANuCC,2B"}
@@ -6,4 +6,5 @@ export interface LoadedStore {
6
6
  export default class StoreStore extends AbstractStore {
7
7
  name: string;
8
8
  fetchStores(): Promise<LoadedStore[]>;
9
+ private generateGlobbyPattern;
9
10
  }
@@ -68,7 +68,7 @@ var StoreStore = /*#__PURE__*/function (_AbstractStore) {
68
68
  while (1) {
69
69
  switch (_context.prev = _context.next) {
70
70
  case 0:
71
- search = _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', 'stores', '*.store.ts');
71
+ search = this.generateGlobbyPattern();
72
72
  _context.next = 3;
73
73
  return (0, _globby["default"])(search);
74
74
 
@@ -125,6 +125,11 @@ var StoreStore = /*#__PURE__*/function (_AbstractStore) {
125
125
 
126
126
  return fetchStores;
127
127
  }()
128
+ }, {
129
+ key: "generateGlobbyPattern",
130
+ value: function generateGlobbyPattern() {
131
+ return _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', '**', '*.store.ts');
132
+ }
128
133
  }]);
129
134
  return StoreStore;
130
135
  }(_AbstractStore2["default"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/store/stores/StoreStore.ts"],"names":["StoreStore","search","diskUtil","resolvePath","cwd","matches","results","introspectionUtil","introspect","stores","i","length","className","classes","SpruceError","code","file","push","path","AbstractStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAOqBA,U;;;;;;;;;;;;;;;6FACN,O;;;;;;;uGAEd;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,MADP,GACgBC,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,EAAsC,QAAtC,EAAgD,YAAhD,CADhB;AAAA;AAAA,uBAEuB,wBAAOH,MAAP,CAFvB;;AAAA;AAEOI,gBAAAA,OAFP;AAIOC,gBAAAA,OAJP,GAIiBC,0BAAkBC,UAAlB,CAA6BH,OAA7B,CAJjB;AAMOI,gBAAAA,MANP,GAM+B,EAN/B;AAQUC,gBAAAA,CARV,GAQc,CARd;;AAAA;AAAA,sBAQiBA,CAAC,GAAGJ,OAAO,CAACK,MAR7B;AAAA;AAAA;AAAA;;AASQH,gBAAAA,UATR,GASqBF,OAAO,CAACI,CAAD,CAT5B;AAUQE,gBAAAA,SAVR,2BAUoBJ,UAAU,CAACK,OAAX,CAAmB,CAAnB,CAVpB,yDAUoB,qBAAuBD,SAV3C;;AAAA,oBAWOA,SAXP;AAAA;AAAA;AAAA;;AAAA,sBAYS,IAAIE,uBAAJ,CAAgB;AAAEC,kBAAAA,IAAI,EAAE,kBAAR;AAA4BC,kBAAAA,IAAI,EAAEX,OAAO,CAACK,CAAD;AAAzC,iBAAhB,CAZT;;AAAA;AAeED,gBAAAA,MAAM,CAACQ,IAAP,CAAY;AAAEL,kBAAAA,SAAS,EAATA,SAAF;AAAaM,kBAAAA,IAAI,EAAEb,OAAO,CAACK,CAAD;AAA1B,iBAAZ;;AAfF;AAQqCA,gBAAAA,CAAC,EARtC;AAAA;AAAA;;AAAA;AAAA,iDAkBQD,MAlBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAHuCU,0B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport introspectionUtil from '../../../utilities/introspection.utility'\n\nexport interface LoadedStore {\n\tclassName: string\n\tpath: string\n}\n\nexport default class StoreStore extends AbstractStore {\n\tpublic name = 'store'\n\n\tpublic async fetchStores() {\n\t\tconst search = diskUtil.resolvePath(this.cwd, 'src', 'stores', '*.store.ts')\n\t\tconst matches = await globby(search)\n\n\t\tconst results = introspectionUtil.introspect(matches)\n\n\t\tconst stores: LoadedStore[] = []\n\n\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\tconst introspect = results[i]\n\t\t\tconst className = introspect.classes[0]?.className\n\t\t\tif (!className) {\n\t\t\t\tthrow new SpruceError({ code: 'FAILED_TO_IMPORT', file: matches[i] })\n\t\t\t}\n\n\t\t\tstores.push({ className, path: matches[i] })\n\t\t}\n\n\t\treturn stores\n\t}\n}\n"],"file":"StoreStore.js"}
1
+ {"version":3,"file":"StoreStore.js","names":["StoreStore","search","generateGlobbyPattern","matches","results","introspectionUtil","introspect","stores","i","length","className","classes","SpruceError","code","file","push","path","diskUtil","resolvePath","cwd","AbstractStore"],"sources":["../../../../src/features/store/stores/StoreStore.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport introspectionUtil from '../../../utilities/introspection.utility'\n\nexport interface LoadedStore {\n\tclassName: string\n\tpath: string\n}\n\nexport default class StoreStore extends AbstractStore {\n\tpublic name = 'store'\n\n\tpublic async fetchStores() {\n\t\tconst search = this.generateGlobbyPattern()\n\t\tconst matches = await globby(search)\n\n\t\tconst results = introspectionUtil.introspect(matches)\n\n\t\tconst stores: LoadedStore[] = []\n\n\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\tconst introspect = results[i]\n\t\t\tconst className = introspect.classes[0]?.className\n\t\t\tif (!className) {\n\t\t\t\tthrow new SpruceError({ code: 'FAILED_TO_IMPORT', file: matches[i] })\n\t\t\t}\n\n\t\t\tstores.push({ className, path: matches[i] })\n\t\t}\n\n\t\treturn stores\n\t}\n\n\tprivate generateGlobbyPattern() {\n\t\treturn diskUtil.resolvePath(this.cwd, 'src', '**', '*.store.ts')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAOqBA,U;;;;;;;;;;;;;;;6FACN,O;;;;;;;uGAEd;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,MADP,GACgB,KAAKC,qBAAL,EADhB;gBAAA;gBAAA,OAEuB,wBAAOD,MAAP,CAFvB;;cAAA;gBAEOE,OAFP;gBAIOC,OAJP,GAIiBC,0BAAkBC,UAAlB,CAA6BH,OAA7B,CAJjB;gBAMOI,MANP,GAM+B,EAN/B;gBAQUC,CARV,GAQc,CARd;;cAAA;gBAAA,MAQiBA,CAAC,GAAGJ,OAAO,CAACK,MAR7B;kBAAA;kBAAA;gBAAA;;gBASQH,UATR,GASqBF,OAAO,CAACI,CAAD,CAT5B;gBAUQE,SAVR,2BAUoBJ,UAAU,CAACK,OAAX,CAAmB,CAAnB,CAVpB,yDAUoB,qBAAuBD,SAV3C;;gBAAA,IAWOA,SAXP;kBAAA;kBAAA;gBAAA;;gBAAA,MAYS,IAAIE,uBAAJ,CAAgB;kBAAEC,IAAI,EAAE,kBAAR;kBAA4BC,IAAI,EAAEX,OAAO,CAACK,CAAD;gBAAzC,CAAhB,CAZT;;cAAA;gBAeED,MAAM,CAACQ,IAAP,CAAY;kBAAEL,SAAS,EAATA,SAAF;kBAAaM,IAAI,EAAEb,OAAO,CAACK,CAAD;gBAA1B,CAAZ;;cAfF;gBAQqCA,CAAC,EARtC;gBAAA;gBAAA;;cAAA;gBAAA,iCAkBQD,MAlBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAqBA,iCAAgC;MAC/B,OAAOU,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,EAAsC,IAAtC,EAA4C,YAA5C,CAAP;IACA;;;EA1BsCC,0B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/store/templateItemBuilders/StoreTemplateItemBuilder.ts"],"names":["StoreTemplateItemBuilder","stores","destination","items","store","ext","pathUtil","extname","path","relativePath","relative","replace","pascalPlural","className","push","namePascalPlural","nameCamelPlural","namesUtil","toCamel"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAIqBA,wB;;;;;;;WACpB,4BACCC,MADD,EAECC,WAFD,EAGuB;AACtB,UAAMC,KAA0B,GAAG,EAAnC;;AADsB,iDAGFF,MAHE;AAAA;;AAAA;AAGtB,4DAA4B;AAAA,cAAjBG,KAAiB;;AAC3B,cAAMC,GAAG,GAAGC,iBAASC,OAAT,CAAiBH,KAAK,CAACI,IAAvB,CAAZ;;AACA,cAAMC,YAAY,GAAGH,iBACnBI,QADmB,CACVR,WADU,EACGE,KAAK,CAACI,IADT,EAEnBG,OAFmB,CAEXN,GAFW,EAEN,EAFM,CAArB;;AAIA,cAAMO,YAAY,GAAGR,KAAK,CAACS,SAAN,CAAgBF,OAAhB,CAAwB,OAAxB,EAAiC,EAAjC,CAArB;AACAR,UAAAA,KAAK,CAACW,IAAN,CAAW;AACVC,YAAAA,gBAAgB,EAAEH,YADR;AAEVI,YAAAA,eAAe,EAAEC,4BAAUC,OAAV,CAAkBN,YAAlB,CAFP;AAGVJ,YAAAA,IAAI,EAAEC;AAHI,WAAX;AAKA;AAfqB;AAAA;AAAA;AAAA;AAAA;;AAiBtB,aAAON,KAAP;AACA","sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { StoreTemplateItem } from '@sprucelabs/spruce-templates'\nimport { LoadedStore } from '../stores/StoreStore'\n\nexport default class StoreTemplateItemBuilder {\n\tpublic buildTemplateItems(\n\t\tstores: LoadedStore[],\n\t\tdestination: string\n\t): StoreTemplateItem[] {\n\t\tconst items: StoreTemplateItem[] = []\n\n\t\tfor (const store of stores) {\n\t\t\tconst ext = pathUtil.extname(store.path)\n\t\t\tconst relativePath = pathUtil\n\t\t\t\t.relative(destination, store.path)\n\t\t\t\t.replace(ext, '')\n\n\t\t\tconst pascalPlural = store.className.replace('Store', '')\n\t\t\titems.push({\n\t\t\t\tnamePascalPlural: pascalPlural,\n\t\t\t\tnameCamelPlural: namesUtil.toCamel(pascalPlural),\n\t\t\t\tpath: relativePath,\n\t\t\t})\n\t\t}\n\n\t\treturn items\n\t}\n}\n"],"file":"StoreTemplateItemBuilder.js"}
1
+ {"version":3,"file":"StoreTemplateItemBuilder.js","names":["StoreTemplateItemBuilder","stores","destination","items","store","ext","pathUtil","extname","path","relativePath","relative","replace","pascalPlural","className","push","namePascalPlural","nameCamelPlural","namesUtil","toCamel"],"sources":["../../../../src/features/store/templateItemBuilders/StoreTemplateItemBuilder.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { StoreTemplateItem } from '@sprucelabs/spruce-templates'\nimport { LoadedStore } from '../stores/StoreStore'\n\nexport default class StoreTemplateItemBuilder {\n\tpublic buildTemplateItems(\n\t\tstores: LoadedStore[],\n\t\tdestination: string\n\t): StoreTemplateItem[] {\n\t\tconst items: StoreTemplateItem[] = []\n\n\t\tfor (const store of stores) {\n\t\t\tconst ext = pathUtil.extname(store.path)\n\t\t\tconst relativePath = pathUtil\n\t\t\t\t.relative(destination, store.path)\n\t\t\t\t.replace(ext, '')\n\n\t\t\tconst pascalPlural = store.className.replace('Store', '')\n\t\t\titems.push({\n\t\t\t\tnamePascalPlural: pascalPlural,\n\t\t\t\tnameCamelPlural: namesUtil.toCamel(pascalPlural),\n\t\t\t\tpath: relativePath,\n\t\t\t})\n\t\t}\n\n\t\treturn items\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAIqBA,wB;;;;;;;WACpB,4BACCC,MADD,EAECC,WAFD,EAGuB;MACtB,IAAMC,KAA0B,GAAG,EAAnC;;MADsB,2CAGFF,MAHE;MAAA;;MAAA;QAGtB,oDAA4B;UAAA,IAAjBG,KAAiB;;UAC3B,IAAMC,GAAG,GAAGC,iBAASC,OAAT,CAAiBH,KAAK,CAACI,IAAvB,CAAZ;;UACA,IAAMC,YAAY,GAAGH,iBACnBI,QADmB,CACVR,WADU,EACGE,KAAK,CAACI,IADT,EAEnBG,OAFmB,CAEXN,GAFW,EAEN,EAFM,CAArB;;UAIA,IAAMO,YAAY,GAAGR,KAAK,CAACS,SAAN,CAAgBF,OAAhB,CAAwB,OAAxB,EAAiC,EAAjC,CAArB;UACAR,KAAK,CAACW,IAAN,CAAW;YACVC,gBAAgB,EAAEH,YADR;YAEVI,eAAe,EAAEC,4BAAUC,OAAV,CAAkBN,YAAlB,CAFP;YAGVJ,IAAI,EAAEC;UAHI,CAAX;QAKA;MAfqB;QAAA;MAAA;QAAA;MAAA;;MAiBtB,OAAON,KAAP;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/store/writers/StoreWriter.ts"],"names":["StoreWriter","destination","options","namePascalPlural","files","filename","fileDest","diskUtil","resolvePath","doesFileExist","SpruceError","code","contents","templates","store","writeFile","lint","push","action","name","path","cwd","resolveHashSprucePath","pluginContents","storePlugin","results","writeFileIfChangedMixinResults","Promise","all","writeTypes","writeMap","types","map","file","typesContent","storeTypes","mapContent","stores","AbstractWriter"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tStoreTemplateItem,\n\tStoreTemplateOptions,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class StoreWriter extends AbstractWriter {\n\tpublic async writeStore(destination: string, options: StoreTemplateOptions) {\n\t\tconst { namePascalPlural } = options\n\n\t\tconst files: GeneratedFile[] = []\n\n\t\tconst filename = `${namePascalPlural}.store.ts`\n\n\t\tconst fileDest = diskUtil.resolvePath(\n\t\t\tdestination,\n\t\t\t'src',\n\t\t\t'stores',\n\t\t\tfilename\n\t\t)\n\n\t\tif (diskUtil.doesFileExist(fileDest)) {\n\t\t\tthrow new SpruceError({ code: 'STORE_EXISTS' })\n\t\t}\n\n\t\tconst contents = this.templates.store(options)\n\n\t\tdiskUtil.writeFile(fileDest, contents)\n\n\t\tawait this.lint(fileDest)\n\n\t\tfiles.push({\n\t\t\taction: 'generated',\n\t\t\tname: filename,\n\t\t\tpath: fileDest,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'store.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.storePlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Loads all your data stores and connects you to any databases you have configured.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic async writeTypesAndMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst [types, map] = await Promise.all([\n\t\t\tthis.writeTypes(destination, options),\n\t\t\tthis.writeMap(destination, options),\n\t\t])\n\n\t\treturn [...types, ...map]\n\t}\n\n\tpublic async writeTypes(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.types.ts')\n\n\t\tconst typesContent = this.templates.storeTypes(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\ttypesContent,\n\t\t\t'The type merging for so the StoreFactory properly types you stores.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n\n\tpublic async writeMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.ts')\n\t\tconst mapContent = this.templates.stores(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\tmapContent,\n\t\t\t'A reference to all your data stores for easy inclusion.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n}\n"],"file":"StoreWriter.js"}
1
+ {"version":3,"file":"StoreWriter.js","names":["StoreWriter","destination","options","namePascalPlural","files","filename","fileDest","diskUtil","resolvePath","doesFileExist","SpruceError","code","contents","templates","store","writeFile","lint","push","action","name","path","cwd","resolveHashSprucePath","pluginContents","storePlugin","results","writeFileIfChangedMixinResults","Promise","all","writeTypes","writeMap","types","map","file","typesContent","storeTypes","mapContent","stores","AbstractWriter"],"sources":["../../../../src/features/store/writers/StoreWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tStoreTemplateItem,\n\tStoreTemplateOptions,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class StoreWriter extends AbstractWriter {\n\tpublic async writeStore(destination: string, options: StoreTemplateOptions) {\n\t\tconst { namePascalPlural } = options\n\n\t\tconst files: GeneratedFile[] = []\n\n\t\tconst filename = `${namePascalPlural}.store.ts`\n\n\t\tconst fileDest = diskUtil.resolvePath(\n\t\t\tdestination,\n\t\t\t'src',\n\t\t\t'stores',\n\t\t\tfilename\n\t\t)\n\n\t\tif (diskUtil.doesFileExist(fileDest)) {\n\t\t\tthrow new SpruceError({ code: 'STORE_EXISTS' })\n\t\t}\n\n\t\tconst contents = this.templates.store(options)\n\n\t\tdiskUtil.writeFile(fileDest, contents)\n\n\t\tawait this.lint(fileDest)\n\n\t\tfiles.push({\n\t\t\taction: 'generated',\n\t\t\tname: filename,\n\t\t\tpath: fileDest,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'store.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.storePlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Loads all your data stores and connects you to any databases you have configured.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic async writeTypesAndMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst [types, map] = await Promise.all([\n\t\t\tthis.writeTypes(destination, options),\n\t\t\tthis.writeMap(destination, options),\n\t\t])\n\n\t\treturn [...types, ...map]\n\t}\n\n\tpublic async writeTypes(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.types.ts')\n\n\t\tconst typesContent = this.templates.storeTypes(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\ttypesContent,\n\t\t\t'The type merging for so the StoreFactory properly types you stores.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n\n\tpublic async writeMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.ts')\n\t\tconst mapContent = this.templates.stores(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\tmapContent,\n\t\t\t'A reference to all your data stores for easy inclusion.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n}\n"],"mappings":"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"}