@sprucelabs/spruce-cli 15.2.24 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) 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.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
  182. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
  183. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  184. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  193. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  194. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  198. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  199. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  200. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  203. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  204. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  205. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  206. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  207. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  208. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  211. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  212. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  217. package/build/__tests__/implementation/EventStore.test.js +61 -33
  218. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  219. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  224. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  225. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  226. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  230. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  231. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  237. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  238. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  240. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  241. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  242. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  243. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  245. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  246. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  247. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  248. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  249. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  250. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  251. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  252. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  253. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  254. package/build/addons/filePrompt.addon.js.map +1 -1
  255. package/build/cli.js.map +1 -1
  256. package/build/components/AbstractComponent.js.map +1 -1
  257. package/build/components/FormComponent.js.map +1 -1
  258. package/build/components/QuizComponent.js.map +1 -1
  259. package/build/constants.js.map +1 -1
  260. package/build/errors/SpruceError.js.map +1 -1
  261. package/build/errors/actionCancelled.builder.js.map +1 -1
  262. package/build/errors/bootError.builder.js.map +1 -1
  263. package/build/errors/buildFailed.builder.js.map +1 -1
  264. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  265. package/build/errors/commandAborted.builder.js.map +1 -1
  266. package/build/errors/commandBlocked.builder.js.map +1 -1
  267. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  268. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  269. package/build/errors/dependencyExists.builder.js.map +1 -1
  270. package/build/errors/deployFailed.builder.js.map +1 -1
  271. package/build/errors/directoryEmpty.builder.js.map +1 -1
  272. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  273. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  274. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  275. package/build/errors/failedToImport.builder.js.map +1 -1
  276. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  277. package/build/errors/fileExists.builder.js.map +1 -1
  278. package/build/errors/generic.builder.js.map +1 -1
  279. package/build/errors/invalidCommand.builder.js.map +1 -1
  280. package/build/errors/invalidEventContract.builder.js.map +1 -1
  281. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  282. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  283. package/build/errors/lintFailed.builder.js.map +1 -1
  284. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  285. package/build/errors/missingDependencies.builder.js.map +1 -1
  286. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  287. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  288. package/build/errors/notImplemented.builder.js.map +1 -1
  289. package/build/errors/notLoggedIn.builder.js.map +1 -1
  290. package/build/errors/schemaExists.builder.js.map +1 -1
  291. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  292. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  293. package/build/errors/skillNotFound.builder.js.map +1 -1
  294. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  295. package/build/errors/skillViewExists.builder.js.map +1 -1
  296. package/build/errors/storeExists.builder.js.map +1 -1
  297. package/build/errors/testFailed.builder.js.map +1 -1
  298. package/build/errors/themeExists.builder.js.map +1 -1
  299. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  300. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  301. package/build/features/AbstractAction.js.map +1 -1
  302. package/build/features/AbstractFeature.js.map +1 -1
  303. package/build/features/ActionExecuter.js.map +1 -1
  304. package/build/features/ActionFactory.js.map +1 -1
  305. package/build/features/ActionQuestionAsker.js.map +1 -1
  306. package/build/features/FeatureCommandAttacher.js.map +1 -1
  307. package/build/features/FeatureInstaller.js.map +1 -1
  308. package/build/features/FeatureInstallerFactory.js.map +1 -1
  309. package/build/features/OverrideActionDecorator.js.map +1 -1
  310. package/build/features/cache/CacheFeature.js.map +1 -1
  311. package/build/features/cache/actions/DisableAction.js.map +1 -1
  312. package/build/features/cache/actions/EnableAction.js.map +1 -1
  313. package/build/features/cache/constants.js.map +1 -1
  314. package/build/features/conversation/ConversationFeature.js.map +1 -1
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js.map +1 -1
  317. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  318. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  319. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  320. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  321. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  322. package/build/features/deploy/DeployFeature.js.map +1 -1
  323. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  324. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  325. package/build/features/error/ErrorFeature.js.map +1 -1
  326. package/build/features/error/ParentTestFinder.js.map +1 -1
  327. package/build/features/error/actions/CreateAction.js.map +1 -1
  328. package/build/features/error/actions/SyncAction.js.map +1 -1
  329. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  330. package/build/features/event/EventFeature.js.map +1 -1
  331. package/build/features/event/actions/CreateAction.js.map +1 -1
  332. package/build/features/event/actions/ListenAction.js.map +1 -1
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js.map +1 -1
  335. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  336. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  337. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  338. package/build/features/event/services/EventSettingsService.js.map +1 -1
  339. package/build/features/event/services/RemoteService.js.map +1 -1
  340. package/build/features/event/stores/EventStore.d.ts +1 -0
  341. package/build/features/event/stores/EventStore.js +6 -1
  342. package/build/features/event/stores/EventStore.js.map +1 -1
  343. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  344. package/build/features/event/stores/ListenerStore.js +6 -1
  345. package/build/features/event/stores/ListenerStore.js.map +1 -1
  346. package/build/features/event/writers/EventWriter.js +1 -1
  347. package/build/features/event/writers/EventWriter.js.map +1 -1
  348. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  349. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  350. package/build/features/feature.utilities.js.map +1 -1
  351. package/build/features/features.types.js.map +1 -1
  352. package/build/features/log/LogFeature.js.map +1 -1
  353. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  354. package/build/features/log/writers/LogWriter.js.map +1 -1
  355. package/build/features/node/NodeFeature.js.map +1 -1
  356. package/build/features/node/actions/CreateAction.js.map +1 -1
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  359. package/build/features/node/writers/NodeWriter.js.map +1 -1
  360. package/build/features/onboard/OnboardFeature.js.map +1 -1
  361. package/build/features/onboard/ScriptLoader.js.map +1 -1
  362. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  363. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  364. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  365. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  366. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  367. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  368. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  369. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  370. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  371. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  372. package/build/features/organization/OrganizationFeature.js.map +1 -1
  373. package/build/features/organization/actions/CreateAction.js.map +1 -1
  374. package/build/features/organization/actions/InstallAction.js.map +1 -1
  375. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  376. package/build/features/person/PersonFeature.js.map +1 -1
  377. package/build/features/person/actions/LoginAction.js.map +1 -1
  378. package/build/features/person/actions/LogoutAction.js.map +1 -1
  379. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  380. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  381. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  382. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  383. package/build/features/schema/SchemaFeature.js.map +1 -1
  384. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  385. package/build/features/schema/actions/CreateAction.js.map +1 -1
  386. package/build/features/schema/actions/SyncAction.js.map +1 -1
  387. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  388. package/build/features/schema/services/SchemaService.js.map +1 -1
  389. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  390. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  391. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  392. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  393. package/build/features/schema/writers/SchemaWriter.js +1 -1
  394. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  395. package/build/features/skill/SkillFeature.js.map +1 -1
  396. package/build/features/skill/actions/BootAction.js.map +1 -1
  397. package/build/features/skill/actions/CreateAction.js.map +1 -1
  398. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  399. package/build/features/skill/actions/LoginAction.js.map +1 -1
  400. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  401. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  402. package/build/features/skill/stores/SkillStore.js.map +1 -1
  403. package/build/features/skill/updaters/Updater.js.map +1 -1
  404. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  405. package/build/features/store/StoreFeature.js +1 -1
  406. package/build/features/store/StoreFeature.js.map +1 -1
  407. package/build/features/store/actions/CreateAction.js.map +1 -1
  408. package/build/features/store/actions/SyncAction.js.map +1 -1
  409. package/build/features/store/stores/StoreStore.d.ts +1 -0
  410. package/build/features/store/stores/StoreStore.js +6 -1
  411. package/build/features/store/stores/StoreStore.js.map +1 -1
  412. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  413. package/build/features/store/writers/StoreWriter.js.map +1 -1
  414. package/build/features/test/TestFeature.js.map +1 -1
  415. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  416. package/build/features/test/TestReporter.js.map +1 -1
  417. package/build/features/test/TestRunner.js.map +1 -1
  418. package/build/features/test/actions/CreateAction.js +1 -1
  419. package/build/features/test/actions/CreateAction.js.map +1 -1
  420. package/build/features/test/actions/SetupAction.js.map +1 -1
  421. package/build/features/test/actions/TestAction.js.map +1 -1
  422. package/build/features/test/test.types.js.map +1 -1
  423. package/build/features/test/writers/TestWriter.js.map +1 -1
  424. package/build/features/universalDevDependencies.js.map +1 -1
  425. package/build/features/universalFileDescriptions.js.map +1 -1
  426. package/build/features/universalScripts.js.map +1 -1
  427. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  428. package/build/features/validateAndNormalize.utility.js +2 -2
  429. package/build/features/validateAndNormalize.utility.js.map +1 -1
  430. package/build/features/view/ViewFeature.js.map +1 -1
  431. package/build/features/view/actions/CreateAction.js.map +1 -1
  432. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  433. package/build/features/view/actions/SyncAction.js.map +1 -1
  434. package/build/features/view/actions/WatchAction.js.map +1 -1
  435. package/build/features/view/stores/ViewStore.js.map +1 -1
  436. package/build/features/view/writers/ViewWriter.js +1 -3
  437. package/build/features/view/writers/ViewWriter.js.map +1 -1
  438. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  439. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  440. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  441. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  442. package/build/features/watch/WatchFeature.js.map +1 -1
  443. package/build/index.js.map +1 -1
  444. package/build/interfaces/SpyInterface.js.map +1 -1
  445. package/build/interfaces/TerminalInterface.js.map +1 -1
  446. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  460. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  461. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  462. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  463. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  464. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  465. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  466. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  467. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  468. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  469. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  470. package/build/services/BuildService.js.map +1 -1
  471. package/build/services/CommandService.js.map +1 -1
  472. package/build/services/DependencyService.js.map +1 -1
  473. package/build/services/GameService.js.map +1 -1
  474. package/build/services/ImportService.js.map +1 -1
  475. package/build/services/LintService.js.map +1 -1
  476. package/build/services/PkgService.js.map +1 -1
  477. package/build/services/ServiceFactory.js.map +1 -1
  478. package/build/services/TypeCheckerService.js.map +1 -1
  479. package/build/stores/AbstractLocalStore.js.map +1 -1
  480. package/build/stores/AbstractStore.js.map +1 -1
  481. package/build/stores/StoreFactory.js.map +1 -1
  482. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  483. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  484. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  485. package/build/tests/AbstractCliTest.js.map +1 -1
  486. package/build/tests/AbstractErrorTest.js.map +1 -1
  487. package/build/tests/AbstractEventTest.js.map +1 -1
  488. package/build/tests/AbstractSchemaTest.js.map +1 -1
  489. package/build/tests/AbstractSkillTest.js.map +1 -1
  490. package/build/tests/AbstractTestTest.js.map +1 -1
  491. package/build/tests/CommandFaker.d.ts +2 -1
  492. package/build/tests/CommandFaker.js +13 -7
  493. package/build/tests/CommandFaker.js.map +1 -1
  494. package/build/tests/JestJsonParser.js.map +1 -1
  495. package/build/tests/MockProgramFactory.js.map +1 -1
  496. package/build/tests/buildTestCache.js.map +1 -1
  497. package/build/tests/cleanTestCache.js.map +1 -1
  498. package/build/tests/cleanTestData.js.map +1 -1
  499. package/build/tests/constants.js.map +1 -1
  500. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  501. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  502. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  503. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  504. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  505. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  506. package/build/tests/utilities/test.utility.js.map +1 -1
  507. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  508. package/build/types/apiClient.types.js.map +1 -1
  509. package/build/types/cli.types.js.map +1 -1
  510. package/build/types/graphicsInterface.types.js.map +1 -1
  511. package/build/updaters/ScriptUpdater.js.map +1 -1
  512. package/build/utilities/action.utility.js.map +1 -1
  513. package/build/utilities/apiClient.utility.js.map +1 -1
  514. package/build/utilities/argParser.utility.js.map +1 -1
  515. package/build/utilities/commander.utility.js.map +1 -1
  516. package/build/utilities/duration.utility.js.map +1 -1
  517. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  518. package/build/utilities/form.utility.js.map +1 -1
  519. package/build/utilities/introspection.utility.js.map +1 -1
  520. package/build/utilities/isCi.js.map +1 -1
  521. package/build/utilities/tsConfig.utility.js.map +1 -1
  522. package/build/utilities/ui.utility.js.map +1 -1
  523. package/build/widgets/Theme.js.map +1 -1
  524. package/build/widgets/WidgetFactory.js.map +1 -1
  525. package/build/widgets/keySelectChoices.js.map +1 -1
  526. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  527. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  528. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  529. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  530. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  531. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  532. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  533. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  534. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  535. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  536. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  537. package/build/widgets/types/button.types.js.map +1 -1
  538. package/build/widgets/types/factory.types.js.map +1 -1
  539. package/build/widgets/types/input.types.js.map +1 -1
  540. package/build/widgets/types/layout.types.js.map +1 -1
  541. package/build/widgets/types/menuBar.types.js.map +1 -1
  542. package/build/widgets/types/popup.types.js.map +1 -1
  543. package/build/widgets/types/progressBar.types.js.map +1 -1
  544. package/build/widgets/types/table.types.js.map +1 -1
  545. package/build/widgets/types/text.types.js.map +1 -1
  546. package/build/widgets/types/widgets.types.js.map +1 -1
  547. package/build/widgets/types/window.types.js.map +1 -1
  548. package/build/widgets/widget.utilities.js.map +1 -1
  549. package/build/writers/AbstractWriter.js.map +1 -1
  550. package/build/writers/WriterFactory.js.map +1 -1
  551. package/package.json +36 -36
  552. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
  553. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  554. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  555. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  556. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  557. package/src/features/AbstractAction.ts +2 -2
  558. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  559. package/src/features/event/stores/EventStore.ts +11 -8
  560. package/src/features/event/stores/ListenerStore.ts +5 -3
  561. package/src/features/event/writers/EventWriter.ts +1 -1
  562. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  563. package/src/features/store/StoreFeature.ts +1 -1
  564. package/src/features/store/stores/StoreStore.ts +5 -1
  565. package/src/features/test/actions/CreateAction.ts +1 -1
  566. package/src/features/validateAndNormalize.utility.ts +2 -2
  567. package/src/features/view/writers/ViewWriter.ts +3 -2
  568. package/src/tests/CommandFaker.ts +9 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/features/OverrideActionDecorator.ts"],"names":["methodDelegator","getAllFuncs","toCheck","props","obj","push","Object","getOwnPropertyNames","getPrototypeOf","sort","filter","e","i","arr","delegateFunctionCalls","from","to","prop","OverrideActionDecorator","options","optionsArg","assertCommandIsNotBlocked","mixinOptionOverrides","childAction","execute","response","action","feature","ui","blockedCommands","optionOverrides","actionCode","SpruceError","code","friendlyMessage","nameReadable","parent","invocationMessage","commandAliases","optionsSchema","commands","getCommands","commandStr","command","hint","featuresUtil","generateCommandsIncludingAliases","optionsArgs","overrides","renderLine","renderObject"],"mappings":"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","sourcesContent":["import { GraphicsInterface } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport { FeatureAction } from '../features/features.types'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractFeature from './AbstractFeature'\nimport featuresUtil from './feature.utilities'\n\nconst methodDelegator = {\n\tgetAllFuncs(toCheck: any) {\n\t\tconst props = []\n\t\tlet obj = toCheck\n\t\tdo {\n\t\t\tprops.push(...Object.getOwnPropertyNames(obj))\n\t\t} while ((obj = Object.getPrototypeOf(obj)))\n\n\t\treturn props.sort().filter((e: any, i: any, arr: any) => {\n\t\t\treturn e != arr[i + 1] && typeof toCheck[e] == 'function'\n\t\t})\n\t},\n\n\tdelegateFunctionCalls(from: any, to: any) {\n\t\tconst props = this.getAllFuncs(to)\n\t\tfor (const prop of props) {\n\t\t\t//@ts-ignore\n\t\t\tif (!from[prop]) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tfrom[prop] = (...args: []) => {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn to[prop](...args)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n}\n\nexport default class OverrideActionDecorator implements FeatureAction {\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate ui?: GraphicsInterface\n\tprivate actionCode: string\n\n\tpublic get invocationMessage() {\n\t\treturn this.childAction.invocationMessage\n\t}\n\n\tpublic get commandAliases() {\n\t\treturn this.childAction.commandAliases\n\t}\n\n\tprivate childAction: FeatureAction\n\tprivate parent: AbstractFeature\n\n\tpublic get optionsSchema() {\n\t\treturn this.childAction.optionsSchema\n\t}\n\n\tpublic getChild() {\n\t\treturn this.childAction\n\t}\n\n\tpublic constructor(options: {\n\t\taction: FeatureAction\n\t\tfeature: AbstractFeature\n\t\tui?: GraphicsInterface\n\t\tblockedCommands?: BlockedCommands\n\t\toptionOverrides?: OptionOverrides\n\t\tactionCode: string\n\t}) {\n\t\tconst {\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tui,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t\tactionCode,\n\t\t} = options\n\n\t\tif (!action || !action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `${feature.nameReadable} failed to load action.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.childAction = action\n\t\tthis.parent = feature\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t\tthis.ui = ui\n\t\tthis.actionCode = actionCode\n\n\t\tmethodDelegator.delegateFunctionCalls(this, action)\n\t}\n\n\tprivate assertCommandIsNotBlocked() {\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tif (this.blockedCommands?.[commandStr]) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'COMMAND_BLOCKED',\n\t\t\t\t\tcommand: commandStr,\n\t\t\t\t\thint: this.blockedCommands[commandStr],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic execute = async (optionsArg: any) => {\n\t\tthis.assertCommandIsNotBlocked()\n\n\t\tlet { ...options } = optionsArg\n\n\t\toptions = this.mixinOptionOverrides(options)\n\n\t\tlet response = await this.childAction.execute(options)\n\n\t\treturn response\n\t}\n\n\tprivate getCommands() {\n\t\treturn featuresUtil.generateCommandsIncludingAliases(\n\t\t\tthis.parent.code,\n\t\t\tthis.actionCode,\n\t\t\tthis\n\t\t)\n\t}\n\n\tprivate mixinOptionOverrides(optionsArgs: any) {\n\t\tlet { ...options } = optionsArgs\n\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tconst overrides = this.optionOverrides?.[commandStr]\n\t\t\tif (overrides) {\n\t\t\t\tthis.ui?.renderLine(`Overrides found in package.json`)\n\t\t\t\tthis.ui?.renderObject(overrides)\n\t\t\t\toptions = {\n\t\t\t\t\t...options,\n\t\t\t\t\t...overrides,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn options\n\t}\n}\n"],"file":"OverrideActionDecorator.js"}
1
+ {"version":3,"file":"OverrideActionDecorator.js","names":["methodDelegator","getAllFuncs","toCheck","props","obj","push","Object","getOwnPropertyNames","getPrototypeOf","sort","filter","e","i","arr","delegateFunctionCalls","from","to","prop","OverrideActionDecorator","options","optionsArg","assertCommandIsNotBlocked","mixinOptionOverrides","childAction","execute","response","action","feature","ui","blockedCommands","optionOverrides","actionCode","SpruceError","code","friendlyMessage","nameReadable","parent","invocationMessage","commandAliases","optionsSchema","commands","getCommands","commandStr","command","hint","featuresUtil","generateCommandsIncludingAliases","optionsArgs","overrides","renderLine","renderObject"],"sources":["../../src/features/OverrideActionDecorator.ts"],"sourcesContent":["import { GraphicsInterface } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport { FeatureAction } from '../features/features.types'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractFeature from './AbstractFeature'\nimport featuresUtil from './feature.utilities'\n\nconst methodDelegator = {\n\tgetAllFuncs(toCheck: any) {\n\t\tconst props = []\n\t\tlet obj = toCheck\n\t\tdo {\n\t\t\tprops.push(...Object.getOwnPropertyNames(obj))\n\t\t} while ((obj = Object.getPrototypeOf(obj)))\n\n\t\treturn props.sort().filter((e: any, i: any, arr: any) => {\n\t\t\treturn e != arr[i + 1] && typeof toCheck[e] == 'function'\n\t\t})\n\t},\n\n\tdelegateFunctionCalls(from: any, to: any) {\n\t\tconst props = this.getAllFuncs(to)\n\t\tfor (const prop of props) {\n\t\t\t//@ts-ignore\n\t\t\tif (!from[prop]) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tfrom[prop] = (...args: []) => {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn to[prop](...args)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n}\n\nexport default class OverrideActionDecorator implements FeatureAction {\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate ui?: GraphicsInterface\n\tprivate actionCode: string\n\n\tpublic get invocationMessage() {\n\t\treturn this.childAction.invocationMessage\n\t}\n\n\tpublic get commandAliases() {\n\t\treturn this.childAction.commandAliases\n\t}\n\n\tprivate childAction: FeatureAction\n\tprivate parent: AbstractFeature\n\n\tpublic get optionsSchema() {\n\t\treturn this.childAction.optionsSchema\n\t}\n\n\tpublic getChild() {\n\t\treturn this.childAction\n\t}\n\n\tpublic constructor(options: {\n\t\taction: FeatureAction\n\t\tfeature: AbstractFeature\n\t\tui?: GraphicsInterface\n\t\tblockedCommands?: BlockedCommands\n\t\toptionOverrides?: OptionOverrides\n\t\tactionCode: string\n\t}) {\n\t\tconst {\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tui,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t\tactionCode,\n\t\t} = options\n\n\t\tif (!action || !action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `${feature.nameReadable} failed to load action.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.childAction = action\n\t\tthis.parent = feature\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t\tthis.ui = ui\n\t\tthis.actionCode = actionCode\n\n\t\tmethodDelegator.delegateFunctionCalls(this, action)\n\t}\n\n\tprivate assertCommandIsNotBlocked() {\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tif (this.blockedCommands?.[commandStr]) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'COMMAND_BLOCKED',\n\t\t\t\t\tcommand: commandStr,\n\t\t\t\t\thint: this.blockedCommands[commandStr],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic execute = async (optionsArg: any) => {\n\t\tthis.assertCommandIsNotBlocked()\n\n\t\tlet { ...options } = optionsArg\n\n\t\toptions = this.mixinOptionOverrides(options)\n\n\t\tlet response = await this.childAction.execute(options)\n\n\t\treturn response\n\t}\n\n\tprivate getCommands() {\n\t\treturn featuresUtil.generateCommandsIncludingAliases(\n\t\t\tthis.parent.code,\n\t\t\tthis.actionCode,\n\t\t\tthis\n\t\t)\n\t}\n\n\tprivate mixinOptionOverrides(optionsArgs: any) {\n\t\tlet { ...options } = optionsArgs\n\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tconst overrides = this.optionOverrides?.[commandStr]\n\t\t\tif (overrides) {\n\t\t\t\tthis.ui?.renderLine(`Overrides found in package.json`)\n\t\t\t\tthis.ui?.renderObject(overrides)\n\t\t\t\toptions = {\n\t\t\t\t\t...options,\n\t\t\t\t\t...overrides,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn options\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/cache/CacheFeature.ts"],"names":["CacheFeature","diskUtil","resolvePath","__dirname","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,Y;;;;;;;;;;;;;;;oGACC,mC;6FACM,O;qGACL,O;mGACFC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;;;uGAEpB;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ,IADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EANyCC,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tcache: CacheFeature\n\t}\n}\n\nexport default class CacheFeature extends AbstractFeature {\n\tpublic description = 'Caching for all things Sprucebot.'\n\tpublic code: FeatureCode = 'cache'\n\tpublic nameReadable = 'Cache'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async isInstalled() {\n\t\treturn true\n\t}\n}\n"],"file":"CacheFeature.js"}
1
+ {"version":3,"file":"CacheFeature.js","names":["CacheFeature","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/cache/CacheFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tcache: CacheFeature\n\t}\n}\n\nexport default class CacheFeature extends AbstractFeature {\n\tpublic description = 'Caching for all things Sprucebot.'\n\tpublic code: FeatureCode = 'cache'\n\tpublic nameReadable = 'Cache'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async isInstalled() {\n\t\treturn true\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,Y;;;;;;;;;;;;;;;oGACC,mC;6FACM,O;qGACL,O;mGACFC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;;;uGAEpB;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ,IADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EANyCC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/cache/actions/DisableAction.ts"],"names":["optionsSchema","id","description","fields","DisableCacheAction","_options","Service","execute","DISABLE_NPM_CACHE_COMMAND","headline","summaryLines","error","options","cmd","includes","SpruceError","code","dependencies","name","hint","message","toLowerCase","errors","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,oBAD6B;AAEjCC,EAAAA,WAAW,EAAE,kBAFoB;AAGjCC,EAAAA,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IASqBC,kB;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CACvB,eADuB,EAEvB,YAFuB,EAGvB,iBAHuB,EAIvB,cAJuB,C;0GAMG,oB;;;;;;;mGAE3B,iBAAqBK,QAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEQ,KAAKC,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgC,cAAhC,CAFR;;AAAA;AAAA;AAAA,uBAGQ,KAAKD,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgCC,oCAAhC,CAHR;;AAAA;AAAA,iDAKS;AACNC,kBAAAA,QAAQ,EAAE,gBADJ;AAENC,kBAAAA,YAAY,EAAE,CAAC,sBAAD;AAFR,iBALT;;AAAA;AAAA;AAAA;AAUMC,gBAAAA,KAVN;;AAWE,oCAAI,YAAIC,OAAR,6DAAI,aAAaC,GAAjB,6CAAI,iBAAkBC,QAAlB,CAA2B,OAA3B,CAAJ,EAAyC;AACxCH,kBAAAA,KAAK,GAAG,IAAII,uBAAJ,CAAgB;AACvBC,oBAAAA,IAAI,EAAE,sBADiB;AAEvBC,oBAAAA,YAAY,EAAE,CACb;AACCC,sBAAAA,IAAI,EAAE,QADP;AAECC,sBAAAA,IAAI,EAAE;AAFP,qBADa;AAFS,mBAAhB,CAAR;AASA,iBAVD,MAUO,oBAAI,YAAIC,OAAR,kEAAI,aAAaC,WAAb,EAAJ,kDAAI,sBAA4BP,QAA5B,CAAqC,mBAArC,CAAJ,EAA+D;AACrEH,kBAAAA,KAAK,GAAG,IAAII,uBAAJ,CAAgB;AACvBC,oBAAAA,IAAI,EAAE;AADiB,mBAAhB,CAAR;AAGA,iBAJM,MAIA;AACNL,kBAAAA,KAAK,GAAG,IAAII,uBAAJ,CAAgB;AACvBC,oBAAAA,IAAI,EAAE,sBADiB;AAEvBC,oBAAAA,YAAY,EAAE,CACb;AACCC,sBAAAA,IAAI,EAAE,QADP;AAECC,sBAAAA,IAAI,EAAE;AAFP,qBADa;AAFS,mBAAhB,CAAR;AASA;;AAnCH,iDAqCS;AACNG,kBAAAA,MAAM,EAAE,CAACX,KAAD;AADF,iBArCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAV+CY,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { DISABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'disableCacheAction',\n\tdescription: 'Disable caching.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DisableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'disable.cache',\n\t\t'stop.cache',\n\t\t'disable.caching',\n\t\t'stop.caching',\n\t]\n\tpublic invocationMessage = 'Disabling cache...'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\t\t\tawait this.Service('command').execute(DISABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Stopping cache',\n\t\t\t\tsummaryLines: ['Shutting down cache!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else if (err.message?.toLowerCase()?.includes('no such container')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'CACHE_NOT_ENABLED',\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\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\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"DisableAction.js"}
1
+ {"version":3,"file":"DisableAction.js","names":["optionsSchema","id","description","fields","DisableCacheAction","_options","Service","execute","DISABLE_NPM_CACHE_COMMAND","headline","summaryLines","error","options","cmd","includes","SpruceError","code","dependencies","name","hint","message","toLowerCase","errors","AbstractAction"],"sources":["../../../../src/features/cache/actions/DisableAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { DISABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'disableCacheAction',\n\tdescription: 'Disable caching.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DisableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'disable.cache',\n\t\t'stop.cache',\n\t\t'disable.caching',\n\t\t'stop.caching',\n\t]\n\tpublic invocationMessage = 'Disabling cache...'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\t\t\tawait this.Service('command').execute(DISABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Stopping cache',\n\t\t\t\tsummaryLines: ['Shutting down cache!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else if (err.message?.toLowerCase()?.includes('no such container')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'CACHE_NOT_ENABLED',\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\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\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,oBAD6B;EAEjCC,WAAW,EAAE,kBAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IASqBC,kB;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CACvB,eADuB,EAEvB,YAFuB,EAGvB,iBAHuB,EAIvB,cAJuB,C;0GAMG,oB;;;;;;;mGAE3B,iBAAqBK,QAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEQ,KAAKC,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgC,cAAhC,CAFR;;cAAA;gBAAA;gBAAA,OAGQ,KAAKD,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgCC,oCAAhC,CAHR;;cAAA;gBAAA,iCAKS;kBACNC,QAAQ,EAAE,gBADJ;kBAENC,YAAY,EAAE,CAAC,sBAAD;gBAFR,CALT;;cAAA;gBAAA;gBAAA;gBAUMC,KAVN;;gBAWE,oBAAI,YAAIC,OAAR,6DAAI,aAAaC,GAAjB,6CAAI,iBAAkBC,QAAlB,CAA2B,OAA3B,CAAJ,EAAyC;kBACxCH,KAAK,GAAG,IAAII,uBAAJ,CAAgB;oBACvBC,IAAI,EAAE,sBADiB;oBAEvBC,YAAY,EAAE,CACb;sBACCC,IAAI,EAAE,QADP;sBAECC,IAAI,EAAE;oBAFP,CADa;kBAFS,CAAhB,CAAR;gBASA,CAVD,MAUO,oBAAI,YAAIC,OAAR,kEAAI,aAAaC,WAAb,EAAJ,kDAAI,sBAA4BP,QAA5B,CAAqC,mBAArC,CAAJ,EAA+D;kBACrEH,KAAK,GAAG,IAAII,uBAAJ,CAAgB;oBACvBC,IAAI,EAAE;kBADiB,CAAhB,CAAR;gBAGA,CAJM,MAIA;kBACNL,KAAK,GAAG,IAAII,uBAAJ,CAAgB;oBACvBC,IAAI,EAAE,sBADiB;oBAEvBC,YAAY,EAAE,CACb;sBACCC,IAAI,EAAE,QADP;sBAECC,IAAI,EAAE;oBAFP,CADa;kBAFS,CAAhB,CAAR;gBASA;;gBAnCH,iCAqCS;kBACNG,MAAM,EAAE,CAACX,KAAD;gBADF,CArCT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAV+CY,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/cache/actions/EnableAction.ts"],"names":["optionsSchema","id","description","fields","EnableCacheAction","_options","Service","execute","Action","ENABLE_NPM_CACHE_COMMAND","headline","summaryLines","error","options","cmd","includes","SpruceError","code","dependencies","name","hint","errors","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,mBAD6B;AAEjCC,EAAAA,WAAW,EAAE,4DAFoB;AAGjCC,EAAAA,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IASqBC,iB;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CACvB,cADuB,EAEvB,aAFuB,EAGvB,gBAHuB,EAIvB,eAJuB,C;0GAMG,sB;;;;;;;mGAE3B,iBAAqBK,QAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEQ,KAAKC,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgC,cAAhC,CAFR;;AAAA;AAAA;AAAA,uBAIQ,KAAKC,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCD,OAAhC,CAAwC,EAAxC,CAJR;;AAAA;AAAA;AAAA,uBAKQ,KAAKD,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgCE,mCAAhC,CALR;;AAAA;AAAA,iDAOS;AACNC,kBAAAA,QAAQ,EAAE,gBADJ;AAENC,kBAAAA,YAAY,EAAE,CAAC,2CAAD;AAFR,iBAPT;;AAAA;AAAA;AAAA;AAYMC,gBAAAA,KAZN;;AAaE,oCAAI,YAAIC,OAAR,6DAAI,aAAaC,GAAjB,6CAAI,iBAAkBC,QAAlB,CAA2B,OAA3B,CAAJ,EAAyC;AACxCH,kBAAAA,KAAK,GAAG,IAAII,uBAAJ,CAAgB;AACvBC,oBAAAA,IAAI,EAAE,sBADiB;AAEvBC,oBAAAA,YAAY,EAAE,CACb;AACCC,sBAAAA,IAAI,EAAE,QADP;AAECC,sBAAAA,IAAI,EAAE;AAFP,qBADa;AAFS,mBAAhB,CAAR;AASA,iBAVD,MAUO;AACNR,kBAAAA,KAAK,GAAG,IAAII,uBAAJ,CAAgB;AAAEC,oBAAAA,IAAI,EAAE;AAAR,mBAAhB,CAAR;AACA;;AAzBH,iDA2BS;AACNI,kBAAAA,MAAM,EAAE,CAACT,KAAD;AADF,iBA3BT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAV8CU,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'enableCacheAction',\n\tdescription: 'Enable npm caching so pulling node_modules is much faster.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class EnableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'enable.cache',\n\t\t'start.cache',\n\t\t'enable.caching',\n\t\t'start.caching',\n\t]\n\tpublic invocationMessage = 'Enabling cache... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\n\t\t\tawait this.Action('cache', 'disable').execute({})\n\t\t\tawait this.Service('command').execute(ENABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Starting cache',\n\t\t\t\tsummaryLines: ['Booting cache systems now. Give it a sec!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({ code: 'DOCKER_NOT_STARTED' })\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"EnableAction.js"}
1
+ {"version":3,"file":"EnableAction.js","names":["optionsSchema","id","description","fields","EnableCacheAction","_options","Service","execute","Action","ENABLE_NPM_CACHE_COMMAND","headline","summaryLines","error","options","cmd","includes","SpruceError","code","dependencies","name","hint","errors","AbstractAction"],"sources":["../../../../src/features/cache/actions/EnableAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'enableCacheAction',\n\tdescription: 'Enable npm caching so pulling node_modules is much faster.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class EnableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'enable.cache',\n\t\t'start.cache',\n\t\t'enable.caching',\n\t\t'start.caching',\n\t]\n\tpublic invocationMessage = 'Enabling cache... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\n\t\t\tawait this.Action('cache', 'disable').execute({})\n\t\t\tawait this.Service('command').execute(ENABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Starting cache',\n\t\t\t\tsummaryLines: ['Booting cache systems now. Give it a sec!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({ code: 'DOCKER_NOT_STARTED' })\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,mBAD6B;EAEjCC,WAAW,EAAE,4DAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IASqBC,iB;;;;;;;;;;;;;;;sGACGJ,a;uGACC,CACvB,cADuB,EAEvB,aAFuB,EAGvB,gBAHuB,EAIvB,eAJuB,C;0GAMG,sB;;;;;;;mGAE3B,iBAAqBK,QAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEQ,KAAKC,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgC,cAAhC,CAFR;;cAAA;gBAAA;gBAAA,OAIQ,KAAKC,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCD,OAAhC,CAAwC,EAAxC,CAJR;;cAAA;gBAAA;gBAAA,OAKQ,KAAKD,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CAAgCE,mCAAhC,CALR;;cAAA;gBAAA,iCAOS;kBACNC,QAAQ,EAAE,gBADJ;kBAENC,YAAY,EAAE,CAAC,2CAAD;gBAFR,CAPT;;cAAA;gBAAA;gBAAA;gBAYMC,KAZN;;gBAaE,oBAAI,YAAIC,OAAR,6DAAI,aAAaC,GAAjB,6CAAI,iBAAkBC,QAAlB,CAA2B,OAA3B,CAAJ,EAAyC;kBACxCH,KAAK,GAAG,IAAII,uBAAJ,CAAgB;oBACvBC,IAAI,EAAE,sBADiB;oBAEvBC,YAAY,EAAE,CACb;sBACCC,IAAI,EAAE,QADP;sBAECC,IAAI,EAAE;oBAFP,CADa;kBAFS,CAAhB,CAAR;gBASA,CAVD,MAUO;kBACNR,KAAK,GAAG,IAAII,uBAAJ,CAAgB;oBAAEC,IAAI,EAAE;kBAAR,CAAhB,CAAR;gBACA;;gBAzBH,iCA2BS;kBACNI,MAAM,EAAE,CAACT,KAAD;gBADF,CA3BT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAV8CU,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/cache/constants.ts"],"names":["ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND"],"mappings":";;;;;;AAAO,IAAMA,wBAAwB,GACpC,qSADM;;AAGA,IAAMC,yBAAyB,GACrC,6JADM","sourcesContent":["export const ENABLE_NPM_CACHE_COMMAND =\n\t'npm config set registry http://localhost:28080 && npm config set @sprucelabs:registry https://registry.npmjs.org && docker run --name npm-proxy-redis -d redis && docker run -e REDIS_ADDRESS=redis:6379 -p 28080:8080 -it --link npm-proxy-redis:redis --name npm-proxy -d pkgems/npm-cache-proxy'\n\nexport const DISABLE_NPM_CACHE_COMMAND =\n\t'npm config set registry https://registry.npmjs.org && docker stop npm-proxy-redis ; docker stop npm-proxy ; docker rm npm-proxy-redis ; docker rm npm-proxy'\n"],"file":"constants.js"}
1
+ {"version":3,"file":"constants.js","names":["ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND"],"sources":["../../../src/features/cache/constants.ts"],"sourcesContent":["export const ENABLE_NPM_CACHE_COMMAND =\n\t'npm config set registry http://localhost:28080 && npm config set @sprucelabs:registry https://registry.npmjs.org && docker run --name npm-proxy-redis -d redis && docker run -e REDIS_ADDRESS=redis:6379 -p 28080:8080 -it --link npm-proxy-redis:redis --name npm-proxy -d pkgems/npm-cache-proxy'\n\nexport const DISABLE_NPM_CACHE_COMMAND =\n\t'npm config set registry https://registry.npmjs.org && docker stop npm-proxy-redis ; docker stop npm-proxy ; docker rm npm-proxy-redis ; docker rm npm-proxy'\n"],"mappings":";;;;;;AAAO,IAAMA,wBAAwB,GACpC,qSADM;;AAGA,IAAMC,yBAAyB,GACrC,6JADM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/conversation/ConversationFeature.ts"],"names":["ConversationFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecute","bind","payload","featureInstaller","isInstalled","featureCode","actionCode","writePlugin","files","Writer","cwd","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IAaqBA,mB;;;;;AAgBpB,+BAAmBC,OAAnB,EAA4C;AAAA;;AAAA;AAC3C,8BAAMA,OAAN;AAD2C,qGAftB,cAesB;AAAA,6FAdjB,cAciB;AAAA,oGAbvB,8BAauB;AAAA,qGAXD,CAC1C;AAAEC,MAAAA,IAAI,EAAE,OAAR;AAAiBC,MAAAA,UAAU,EAAE;AAA7B,KAD0C,CAWC;AAAA,4GARD,CAC1C;AACCC,MAAAA,IAAI,EAAE,+CADP;AAECC,MAAAA,KAAK,EAAE;AAFR,KAD0C,CAQC;AAAA,mGAFxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEwB;AAG3C,SAAK,MAAKC,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKC,iBAAL,CAAuBC,IAAvB,gDAFI,CAAL;AAH2C;AAO3C;;;;;6GAED,iBAAgCC,OAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAI2B,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,cAAlC,CAJ3B;;AAAA;AAIOA,gBAAAA,WAJP;;AAAA,sBAOEF,OAAO,CAACG,WAAR,KAAwB,MAAxB,IACAH,OAAO,CAACI,UAAR,KAAuB,SADvB,IAEAF,WATF;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAWsB,KAAKG,WAAL,EAXtB;;AAAA;AAWQC,gBAAAA,KAXR;AAAA,iDAYS;AAAEA,kBAAAA,KAAK,EAALA;AAAF,iBAZT;;AAAA;AAAA,iDAeQ,EAfR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACqB,KAAKD,WAAL,EADrB;;AAAA;AACOC,gBAAAA,KADP;AAAA,kDAGQ;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAHR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uGAQA;AAAA;AAAA;AAAA;AAAA;AAAA,kDACQ,KAAKC,MAAL,CAAY,cAAZ,EAA4BF,WAA5B,CAAwC,KAAKG,GAA7C,CADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnDgDC,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tconversation: ConversationFeature\n\t}\n}\n\nexport default class ConversationFeature extends AbstractFeature {\n\tpublic nameReadable = 'Conversation'\n\tpublic code: FeatureCode = 'conversation'\n\tpublic description = 'Computers like to talk, too.'\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'event', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-conversation-plugin@latest',\n\t\t\tisDev: false,\n\t\t},\n\t]\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'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('conversation')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled\n\t\t) {\n\t\t\tconst files = await this.writePlugin()\n\t\t\treturn { files }\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.Writer('conversation').writePlugin(this.cwd)\n\t}\n}\n"],"file":"ConversationFeature.js"}
1
+ {"version":3,"file":"ConversationFeature.js","names":["ConversationFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecute","bind","payload","featureInstaller","isInstalled","featureCode","actionCode","writePlugin","files","Writer","cwd","AbstractFeature"],"sources":["../../../src/features/conversation/ConversationFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tconversation: ConversationFeature\n\t}\n}\n\nexport default class ConversationFeature extends AbstractFeature {\n\tpublic nameReadable = 'Conversation'\n\tpublic code: FeatureCode = 'conversation'\n\tpublic description = 'Computers like to talk, too.'\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'event', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-conversation-plugin@latest',\n\t\t\tisDev: false,\n\t\t},\n\t]\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'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('conversation')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled\n\t\t) {\n\t\t\tconst files = await this.writePlugin()\n\t\t\treturn { files }\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.Writer('conversation').writePlugin(this.cwd)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IAaqBA,mB;;;;;EAgBpB,6BAAmBC,OAAnB,EAA4C;IAAA;;IAAA;IAC3C,0BAAMA,OAAN;IAD2C,iGAftB,cAesB;IAAA,yFAdjB,cAciB;IAAA,gGAbvB,8BAauB;IAAA,iGAXD,CAC1C;MAAEC,IAAI,EAAE,OAAR;MAAiBC,UAAU,EAAE;IAA7B,CAD0C,CAWC;IAAA,wGARD,CAC1C;MACCC,IAAI,EAAE,+CADP;MAECC,KAAK,EAAE;IAFR,CAD0C,CAQC;IAAA,+FAFxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEwB;IAG3C,KAAK,MAAKC,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKC,iBAAL,CAAuBC,IAAvB,gDAFI,CAAL;IAH2C;EAO3C;;;;;6GAED,iBAAgCC,OAAhC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAI2B,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,cAAlC,CAJ3B;;cAAA;gBAIOA,WAJP;;gBAAA,MAOEF,OAAO,CAACG,WAAR,KAAwB,MAAxB,IACAH,OAAO,CAACI,UAAR,KAAuB,SADvB,IAEAF,WATF;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAWsB,KAAKG,WAAL,EAXtB;;cAAA;gBAWQC,KAXR;gBAAA,iCAYS;kBAAEA,KAAK,EAALA;gBAAF,CAZT;;cAAA;gBAAA,iCAeQ,EAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAkBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,KAAKD,WAAL,EADrB;;cAAA;gBACOC,KADP;gBAAA,kCAGQ;kBACNA,KAAK,EAALA;gBADM,CAHR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;uGAQA;QAAA;UAAA;YAAA;cAAA;gBAAA,kCACQ,KAAKC,MAAL,CAAY,cAAZ,EAA4BF,WAA5B,CAAwC,KAAKG,GAA7C,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAnDgDC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/conversation/actions/CreateAction.ts"],"names":["CreateAction","createConversationTopicOptionsSchema","options","validateAndNormalizeOptions","nameReadable","nameCamel","Writer","writeDefinition","cwd","file","files","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAOqBA,Y;;;;;;;;;;;;;;;0GACO,gD;sGACJC,0C;;;;;;;mGAEvB,iBAAqBC,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSE,YADT,yBACSA,YADT,EACuBC,SADvB,yBACuBA,SADvB;AAAA;AAAA,uBAIoB,KAAKC,MAAL,CAAY,cAAZ,EAA4BC,eAA5B,CAA4C,KAAKC,GAAjD,EAAsD;AACxEH,kBAAAA,SAAS,EAATA,SADwE;AAExED,kBAAAA,YAAY,EAAZA;AAFwE,iBAAtD,CAJpB;;AAAA;AAIOK,gBAAAA,IAJP;AAAA,iDASQ;AACNC,kBAAAA,KAAK,EAAE,CAACD,IAAD;AADD,iBATR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAJyCE,2B","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createConversationTopicOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptionsSchema\ntype Options =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Creating your new topic for conversation... 🎙'\n\tpublic optionsSchema = createConversationTopicOptionsSchema\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameCamel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst file = await this.Writer('conversation').writeDefinition(this.cwd, {\n\t\t\tnameCamel,\n\t\t\tnameReadable,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles: [file],\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["CreateAction","createConversationTopicOptionsSchema","options","validateAndNormalizeOptions","nameReadable","nameCamel","Writer","writeDefinition","cwd","file","files","AbstractAction"],"sources":["../../../../src/features/conversation/actions/CreateAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createConversationTopicOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptionsSchema\ntype Options =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Creating your new topic for conversation... 🎙'\n\tpublic optionsSchema = createConversationTopicOptionsSchema\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameCamel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst file = await this.Writer('conversation').writeDefinition(this.cwd, {\n\t\t\tnameCamel,\n\t\t\tnameReadable,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles: [file],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAOqBA,Y;;;;;;;;;;;;;;;0GACO,gD;sGACJC,0C;;;;;;;mGAEvB,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSE,YADT,yBACSA,YADT,EACuBC,SADvB,yBACuBA,SADvB;gBAAA;gBAAA,OAIoB,KAAKC,MAAL,CAAY,cAAZ,EAA4BC,eAA5B,CAA4C,KAAKC,GAAjD,EAAsD;kBACxEH,SAAS,EAATA,SADwE;kBAExED,YAAY,EAAZA;gBAFwE,CAAtD,CAJpB;;cAAA;gBAIOK,IAJP;gBAAA,iCASQ;kBACNC,KAAK,EAAE,CAACD,IAAD;gBADD,CATR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCE,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/conversation/actions/TestAction.ts"],"names":["optionsSchema","id","description","fields","shouldReturnImmediately","type","isPrivate","shouldRunSilently","TestAction","options","validateAndNormalizeOptions","ui","startLoading","command","Service","isWriting","promise","Promise","resolve","reject","execute","spawnOptions","undefined","stdio","process","stdin","onData","data","search","clear","stopLoading","stdout","write","replace","onError","includes","env","ACTION","then","killHandler","kill","bind","meta","pid","stderr","code","summaryLines","errors","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'testConversationOptions',\n\tdescription: 'Test your conversation topics.',\n\tfields: {\n\t\tshouldReturnImmediately: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tshouldRunSilently: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['test.conversation', 'chat']\n\tpublic invocationMessage = \"Let's test talking about topics... 🎙\"\n\n\tprivate killHandler?: () => void\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldReturnImmediately, shouldRunSilently } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tthis.ui.startLoading('Booting skill...')\n\n\t\ttry {\n\t\t\tconst command = this.Service('command')\n\t\t\tlet isWriting = false\n\n\t\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\t\tcommand\n\t\t\t\t\t.execute('yarn boot.local', {\n\t\t\t\t\t\tspawnOptions: shouldRunSilently\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tstdio: [process.stdin, 'pipe', 'pipe'],\n\t\t\t\t\t\t\t },\n\n\t\t\t\t\t\tonData: shouldRunSilently\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: async (data) => {\n\t\t\t\t\t\t\t\t\tif (!isWriting) {\n\t\t\t\t\t\t\t\t\t\tisWriting = data.search(':: Skill booted') > -1\n\t\t\t\t\t\t\t\t\t\tif (isWriting) {\n\t\t\t\t\t\t\t\t\t\t\tthis.ui.clear()\n\t\t\t\t\t\t\t\t\t\t\tthis.ui.stopLoading()\n\t\t\t\t\t\t\t\t\t\t\tprocess.stdout?.write(\n\t\t\t\t\t\t\t\t\t\t\t\t'? Send your first message to kick-off the conversation: '\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else if (isWriting) {\n\t\t\t\t\t\t\t\t\t\tprocess.stdout?.write(\n\t\t\t\t\t\t\t\t\t\t\tdata.replace('Skill :: Skill booted', '')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t },\n\t\t\t\t\t\tonError: (data) => {\n\t\t\t\t\t\t\tif (!data.includes('warning package.json')) {\n\t\t\t\t\t\t\t\t// const err = new SpruceError({\n\t\t\t\t\t\t\t\t// \tfriendlyMessage:\n\t\t\t\t\t\t\t\t// \t\t`Testing conversations failed because of the following error:\\n\\n` +\n\t\t\t\t\t\t\t\t// \t\tdata,\n\t\t\t\t\t\t\t\t// \tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\t\t\t\t// \tcmd: 'ACTION=test.conversation yarn.boot.local',\n\t\t\t\t\t\t\t\t// \tstderr: data,\n\t\t\t\t\t\t\t\t// })\n\t\t\t\t\t\t\t\t// reject(err)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tACTION: 'test.conversation',\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then(resolve)\n\t\t\t\t\t.catch(reject)\n\t\t\t})\n\n\t\t\tthis.killHandler = command.kill.bind(command)\n\n\t\t\tif (shouldReturnImmediately) {\n\t\t\t\treturn {\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tkill: this.killHandler,\n\t\t\t\t\t\tpid: command.pid() as number,\n\t\t\t\t\t\tpromise,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait promise\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (\n\t\t\t\terr.options?.stderr?.includes('SIGINT') ||\n\t\t\t\terr.options?.code === 'CONVERSATION_ABORTED'\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\tsummaryLines: ['Conversation terminated. ✌️'],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsummaryLines: ['Talk soon! 👋'],\n\t\t}\n\t}\n\n\tpublic async kill() {\n\t\tthis.killHandler?.()\n\t}\n}\n"],"file":"TestAction.js"}
1
+ {"version":3,"file":"TestAction.js","names":["optionsSchema","id","description","fields","shouldReturnImmediately","type","isPrivate","shouldRunSilently","TestAction","options","validateAndNormalizeOptions","ui","startLoading","command","Service","isWriting","promise","Promise","resolve","reject","execute","spawnOptions","undefined","stdio","process","stdin","onData","data","search","clear","stopLoading","stdout","write","replace","onError","includes","env","ACTION","then","killHandler","kill","bind","meta","pid","stderr","code","summaryLines","errors","AbstractAction"],"sources":["../../../../src/features/conversation/actions/TestAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'testConversationOptions',\n\tdescription: 'Test your conversation topics.',\n\tfields: {\n\t\tshouldReturnImmediately: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tshouldRunSilently: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['test.conversation', 'chat']\n\tpublic invocationMessage = \"Let's test talking about topics... 🎙\"\n\n\tprivate killHandler?: () => void\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldReturnImmediately, shouldRunSilently } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tthis.ui.startLoading('Booting skill...')\n\n\t\ttry {\n\t\t\tconst command = this.Service('command')\n\t\t\tlet isWriting = false\n\n\t\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\t\tcommand\n\t\t\t\t\t.execute('yarn boot.local', {\n\t\t\t\t\t\tspawnOptions: shouldRunSilently\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tstdio: [process.stdin, 'pipe', 'pipe'],\n\t\t\t\t\t\t\t },\n\n\t\t\t\t\t\tonData: shouldRunSilently\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: async (data) => {\n\t\t\t\t\t\t\t\t\tif (!isWriting) {\n\t\t\t\t\t\t\t\t\t\tisWriting = data.search(':: Skill booted') > -1\n\t\t\t\t\t\t\t\t\t\tif (isWriting) {\n\t\t\t\t\t\t\t\t\t\t\tthis.ui.clear()\n\t\t\t\t\t\t\t\t\t\t\tthis.ui.stopLoading()\n\t\t\t\t\t\t\t\t\t\t\tprocess.stdout?.write(\n\t\t\t\t\t\t\t\t\t\t\t\t'? Send your first message to kick-off the conversation: '\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else if (isWriting) {\n\t\t\t\t\t\t\t\t\t\tprocess.stdout?.write(\n\t\t\t\t\t\t\t\t\t\t\tdata.replace('Skill :: Skill booted', '')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t },\n\t\t\t\t\t\tonError: (data) => {\n\t\t\t\t\t\t\tif (!data.includes('warning package.json')) {\n\t\t\t\t\t\t\t\t// const err = new SpruceError({\n\t\t\t\t\t\t\t\t// \tfriendlyMessage:\n\t\t\t\t\t\t\t\t// \t\t`Testing conversations failed because of the following error:\\n\\n` +\n\t\t\t\t\t\t\t\t// \t\tdata,\n\t\t\t\t\t\t\t\t// \tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\t\t\t\t// \tcmd: 'ACTION=test.conversation yarn.boot.local',\n\t\t\t\t\t\t\t\t// \tstderr: data,\n\t\t\t\t\t\t\t\t// })\n\t\t\t\t\t\t\t\t// reject(err)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tACTION: 'test.conversation',\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then(resolve)\n\t\t\t\t\t.catch(reject)\n\t\t\t})\n\n\t\t\tthis.killHandler = command.kill.bind(command)\n\n\t\t\tif (shouldReturnImmediately) {\n\t\t\t\treturn {\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tkill: this.killHandler,\n\t\t\t\t\t\tpid: command.pid() as number,\n\t\t\t\t\t\tpromise,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait promise\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (\n\t\t\t\terr.options?.stderr?.includes('SIGINT') ||\n\t\t\t\terr.options?.code === 'CONVERSATION_ABORTED'\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\tsummaryLines: ['Conversation terminated. ✌️'],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsummaryLines: ['Talk soon! 👋'],\n\t\t}\n\t}\n\n\tpublic async kill() {\n\t\tthis.killHandler?.()\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/conversation/stores/ConversationStore.ts"],"names":["ConversationStore","connectToApi","client","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","errors","topics","AbstractStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;IAOqBA,iB;;;;;;;;;;;;;;;6FACN,O;;;;;;;iHAEd;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACsB,KAAKC,YAAL,EADtB;;AAAA;AACOC,gBAAAA,MADP;AAAA;AAAA,uBAEuBA,MAAM,CAACC,IAAP,CAAY,sCAAZ,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;AAAA,wCAIEC,oCAAkBC,+BAAlB,CAAkDF,OAAlD,EAA2DG,uBAA3D,CAJF,EAGSC,QAHT,yBAGSA,QAHT,EAGmBC,MAHnB,yBAGmBA,MAHnB;AAMOC,gBAAAA,MANP,uCAMgBF,QAAQ,CAAC,CAAD,CANxB,+CAMgB,WAAaE,MAN7B,mEAMuC,EANvC;AAAA,iDAQQ;AAAEA,kBAAAA,MAAM,EAANA,MAAF;AAAUD,kBAAAA,MAAM,EAANA;AAAV,iBARR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAH8CE,0B","sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\ttopics: SpruceSchemas.Mercury.v2020_12_25.GetConversationTopicsTopic[]\n}\n\nexport default class ConversationStore extends AbstractStore {\n\tpublic name = 'event'\n\n\tpublic async fetchRegisteredTopics() {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('get-conversation-topics::v2020_12_25')\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(results, SpruceError)\n\n\t\tconst topics = payloads[0]?.topics ?? []\n\n\t\treturn { topics, errors }\n\t}\n}\n"],"file":"ConversationStore.js"}
1
+ {"version":3,"file":"ConversationStore.js","names":["ConversationStore","connectToApi","client","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","errors","topics","AbstractStore"],"sources":["../../../../src/features/conversation/stores/ConversationStore.ts"],"sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\ttopics: SpruceSchemas.Mercury.v2020_12_25.GetConversationTopicsTopic[]\n}\n\nexport default class ConversationStore extends AbstractStore {\n\tpublic name = 'event'\n\n\tpublic async fetchRegisteredTopics() {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('get-conversation-topics::v2020_12_25')\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(results, SpruceError)\n\n\t\tconst topics = payloads[0]?.topics ?? []\n\n\t\treturn { topics, errors }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;IAOqBA,iB;;;;;;;;;;;;;;;6FACN,O;;;;;;;iHAEd;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAKC,YAAL,EADtB;;cAAA;gBACOC,MADP;gBAAA;gBAAA,OAEuBA,MAAM,CAACC,IAAP,CAAY,sCAAZ,CAFvB;;cAAA;gBAEOC,OAFP;gBAAA,wBAIEC,oCAAkBC,+BAAlB,CAAkDF,OAAlD,EAA2DG,uBAA3D,CAJF,EAGSC,QAHT,yBAGSA,QAHT,EAGmBC,MAHnB,yBAGmBA,MAHnB;gBAMOC,MANP,uCAMgBF,QAAQ,CAAC,CAAD,CANxB,+CAMgB,WAAaE,MAN7B,mEAMuC,EANvC;gBAAA,iCAQQ;kBAAEA,MAAM,EAANA,MAAF;kBAAUD,MAAM,EAANA;gBAAV,CARR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAH8CE,0B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/conversation/writers/ConversationWriter.ts"],"names":["ConversationWriter","destinationDir","options","nameCamel","nameReadable","filename","destination","diskUtil","resolvePath","contents","templates","conversationTopic","writeFile","lint","file","name","path","action","description","toLowerCase","cwd","resolveHashSprucePath","pluginContents","conversationPlugin","results","writeFileIfChangedMixinResults","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IAEqBA,kB;;;;;;;;;;;;;2GACpB,iBACCC,cADD,EAECC,OAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAISC,gBAAAA,SAJT,GAIqCD,OAJrC,CAISC,SAJT,EAIoBC,YAJpB,GAIqCF,OAJrC,CAIoBE,YAJpB;AAMOC,gBAAAA,QANP,aAMqBF,SANrB;AAOOG,gBAAAA,WAPP,GAOqBC,2BAASC,WAAT,CACnBP,cADmB,EAEnB,KAFmB,EAGnB,eAHmB,EAInBI,QAJmB,CAPrB;AAcOI,gBAAAA,QAdP,GAckB,KAAKC,SAAL,CAAeC,iBAAf,CAAiC;AAAEP,kBAAAA,YAAY,EAAZA;AAAF,iBAAjC,CAdlB;;AAgBCG,2CAASK,SAAT,CAAmBN,WAAnB,EAAgCG,QAAhC;;AAhBD;AAAA,uBAkBO,KAAKI,IAAL,CAAUP,WAAV,CAlBP;;AAAA;AAoBOQ,gBAAAA,IApBP,GAoB6B;AAC3BC,kBAAAA,IAAI,EAAEV,QADqB;AAE3BW,kBAAAA,IAAI,EAAEV,WAFqB;AAG3BW,kBAAAA,MAAM,EAAE,WAHmB;AAI3BC,kBAAAA,WAAW,yCAAkCd,YAAY,CAACe,WAAb,EAAlC;AAJgB,iBApB7B;AAAA,iDA0BQL,IA1BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WA6BA,qBAAmBM,GAAnB,EAAgC;AAC/B,UAAMd,WAAW,GAAGC,2BAASc,qBAAT,CACnBD,GADmB,EAEnB,UAFmB,EAGnB,wBAHmB,CAApB;;AAMA,UAAME,cAAc,GAAG,KAAKZ,SAAL,CAAea,kBAAf,EAAvB;AAEA,UAAMC,OAAO,GAAG,KAAKC,8BAAL,CACfnB,WADe,EAEfgB,cAFe,EAGf,gDAHe,CAAhB;AAMA,aAAOE,OAAP;AACA;;;EA9C8CE,2B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class ConversationWriter extends AbstractWriter {\n\tpublic async writeDefinition(\n\t\tdestinationDir: string,\n\t\toptions: { nameCamel: string; nameReadable: string }\n\t) {\n\t\tconst { nameCamel, nameReadable } = options\n\n\t\tconst filename = `${nameCamel}.topic.ts`\n\t\tconst destination = diskUtil.resolvePath(\n\t\t\tdestinationDir,\n\t\t\t'src',\n\t\t\t'conversations',\n\t\t\tfilename\n\t\t)\n\n\t\tconst contents = this.templates.conversationTopic({ nameReadable })\n\n\t\tdiskUtil.writeFile(destination, contents)\n\n\t\tawait this.lint(destination)\n\n\t\tconst file: GeneratedFile = {\n\t\t\tname: filename,\n\t\t\tpath: destination,\n\t\t\taction: 'generated',\n\t\t\tdescription: `The definition talking about ${nameReadable.toLowerCase()}`,\n\t\t}\n\t\treturn file\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'conversation.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.conversationPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with having conversations.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"file":"ConversationWriter.js"}
1
+ {"version":3,"file":"ConversationWriter.js","names":["ConversationWriter","destinationDir","options","nameCamel","nameReadable","filename","destination","diskUtil","resolvePath","contents","templates","conversationTopic","writeFile","lint","file","name","path","action","description","toLowerCase","cwd","resolveHashSprucePath","pluginContents","conversationPlugin","results","writeFileIfChangedMixinResults","AbstractWriter"],"sources":["../../../../src/features/conversation/writers/ConversationWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class ConversationWriter extends AbstractWriter {\n\tpublic async writeDefinition(\n\t\tdestinationDir: string,\n\t\toptions: { nameCamel: string; nameReadable: string }\n\t) {\n\t\tconst { nameCamel, nameReadable } = options\n\n\t\tconst filename = `${nameCamel}.topic.ts`\n\t\tconst destination = diskUtil.resolvePath(\n\t\t\tdestinationDir,\n\t\t\t'src',\n\t\t\t'conversations',\n\t\t\tfilename\n\t\t)\n\n\t\tconst contents = this.templates.conversationTopic({ nameReadable })\n\n\t\tdiskUtil.writeFile(destination, contents)\n\n\t\tawait this.lint(destination)\n\n\t\tconst file: GeneratedFile = {\n\t\t\tname: filename,\n\t\t\tpath: destination,\n\t\t\taction: 'generated',\n\t\t\tdescription: `The definition talking about ${nameReadable.toLowerCase()}`,\n\t\t}\n\t\treturn file\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'conversation.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.conversationPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with having conversations.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IAEqBA,kB;;;;;;;;;;;;;2GACpB,iBACCC,cADD,EAECC,OAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAISC,SAJT,GAIqCD,OAJrC,CAISC,SAJT,EAIoBC,YAJpB,GAIqCF,OAJrC,CAIoBE,YAJpB;gBAMOC,QANP,aAMqBF,SANrB;gBAOOG,WAPP,GAOqBC,2BAASC,WAAT,CACnBP,cADmB,EAEnB,KAFmB,EAGnB,eAHmB,EAInBI,QAJmB,CAPrB;gBAcOI,QAdP,GAckB,KAAKC,SAAL,CAAeC,iBAAf,CAAiC;kBAAEP,YAAY,EAAZA;gBAAF,CAAjC,CAdlB;;gBAgBCG,2BAASK,SAAT,CAAmBN,WAAnB,EAAgCG,QAAhC;;gBAhBD;gBAAA,OAkBO,KAAKI,IAAL,CAAUP,WAAV,CAlBP;;cAAA;gBAoBOQ,IApBP,GAoB6B;kBAC3BC,IAAI,EAAEV,QADqB;kBAE3BW,IAAI,EAAEV,WAFqB;kBAG3BW,MAAM,EAAE,WAHmB;kBAI3BC,WAAW,yCAAkCd,YAAY,CAACe,WAAb,EAAlC;gBAJgB,CApB7B;gBAAA,iCA0BQL,IA1BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WA6BA,qBAAmBM,GAAnB,EAAgC;MAC/B,IAAMd,WAAW,GAAGC,2BAASc,qBAAT,CACnBD,GADmB,EAEnB,UAFmB,EAGnB,wBAHmB,CAApB;;MAMA,IAAME,cAAc,GAAG,KAAKZ,SAAL,CAAea,kBAAf,EAAvB;MAEA,IAAMC,OAAO,GAAG,KAAKC,8BAAL,CACfnB,WADe,EAEfgB,cAFe,EAGf,gDAHe,CAAhB;MAMA,OAAOE,OAAP;IACA;;;EA9C8CE,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/dependencies/DependencyFeature.ts"],"names":["DependencyFeature","diskUtil","resolvePath","__dirname","code","isRequired","featureInstaller","isInstalled","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,iB;;;;;;;;;;;;;;;oGACC,qC;6FACM,Y;qGACL,c;mGACFC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;qGACuB,CAC1C;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAD0C,C;4GAMd,E;;;;;;;uGAE7B;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAb8CC,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tdependency: DependencyFeature\n\t}\n}\n\nexport default class DependencyFeature extends AbstractFeature {\n\tpublic description = 'Tell me which skills you depend on.'\n\tpublic code: FeatureCode = 'dependency'\n\tpublic nameReadable = 'Dependencies'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\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\n\tpublic async isInstalled() {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n"],"file":"DependencyFeature.js"}
1
+ {"version":3,"file":"DependencyFeature.js","names":["DependencyFeature","diskUtil","resolvePath","__dirname","code","isRequired","featureInstaller","isInstalled","AbstractFeature"],"sources":["../../../src/features/dependencies/DependencyFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tdependency: DependencyFeature\n\t}\n}\n\nexport default class DependencyFeature extends AbstractFeature {\n\tpublic description = 'Tell me which skills you depend on.'\n\tpublic code: FeatureCode = 'dependency'\n\tpublic nameReadable = 'Dependencies'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\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\n\tpublic async isInstalled() {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,iB;;;;;;;;;;;;;;;oGACC,qC;6FACM,Y;qGACL,c;mGACFC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;qGACuB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,E;;;;;;;uGAE7B;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAb8CC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/dependencies/actions/AddAction.ts"],"names":["optionsSchema","id","description","fields","namespace","type","label","hint","DeployAction","options","validateAndNormalizeOptions","Store","fetchAllSkills","skills","dependencyService","Service","dependencies","get","map","d","choices","filter","s","indexOf","slug","value","name","ui","prompt","isRequired","skill","find","SpruceError","code","friendlyMessage","add","summaryLines","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,eAD6B;AAEjCC,EAAAA,WAAW,EAAE,8BAFoB;AAGjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,SAAS,EAAE;AACVC,MAAAA,IAAI,EAAE,IADI;AAEVC,MAAAA,KAAK,EAAE,WAFG;AAGVC,MAAAA,IAAI,EAAE;AAHI;AADJ;AAHyB,CAAZ,CAAtB;;IAeqBC,Y;;;;;;;;;;;;;;;sGACGR,a;uGACC,CAAC,4BAAD,C;0GACG,2B;;;;;;;mGAE3B,iBAAqBS,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCACqB,KAAKC,2BAAL,CAAiCD,OAAjC,CADrB,EACOL,SADP,yBACOA,SADP;AAAA;AAAA,uBAGsB,KAAKO,KAAL,CAAW,OAAX,EAAoBC,cAApB,EAHtB;;AAAA;AAGOC,gBAAAA,MAHP;AAIOC,gBAAAA,iBAJP,GAI2B,KAAKC,OAAL,CAAa,YAAb,CAJ3B;;AAAA,oBAMMX,SANN;AAAA;AAAA;AAAA;;AAOQY,gBAAAA,YAPR,GAOuBF,iBAAiB,CAACG,GAAlB,GAAwBC,GAAxB,CAA4B,UAACC,CAAD;AAAA,yBAAOA,CAAC,CAACf,SAAT;AAAA,iBAA5B,CAPvB;AASQgB,gBAAAA,OATR,GASkBP,MAAM,CACpBQ,MADc,CACP,UAACC,CAAD;AAAA,yBAAON,YAAY,CAACO,OAAb,CAAqBD,CAAC,CAACE,IAAvB,MAAiC,CAAC,CAAzC;AAAA,iBADO,EAEdN,GAFc,CAEV,UAACI,CAAD;AAAA,yBAAQ;AACZG,oBAAAA,KAAK,EAAEH,CAAC,CAACE,IADG;AAEZlB,oBAAAA,KAAK,EAAEgB,CAAC,CAACI;AAFG,mBAAR;AAAA,iBAFU,CATlB;AAAA;AAAA,uBAgBoB,KAAKC,EAAL,CAAQC,MAAR,CAAe;AAChCvB,kBAAAA,IAAI,EAAE,QAD0B;AAEhCC,kBAAAA,KAAK,EAAE,oDAFyB;AAGhCuB,kBAAAA,UAAU,EAAE,IAHoB;AAIhCpB,kBAAAA,OAAO,EAAE;AACRW,oBAAAA,OAAO,EAAPA;AADQ;AAJuB,iBAAf,CAhBpB;;AAAA;AAgBEhB,gBAAAA,SAhBF;;AAAA;AA0BO0B,gBAAAA,KA1BP,GA0BejB,MAAM,CAACkB,IAAP,CAAY,UAACT,CAAD;AAAA,yBAAOA,CAAC,CAACE,IAAF,KAAWpB,SAAlB;AAAA,iBAAZ,CA1Bf;;AAAA,oBA4BM0B,KA5BN;AAAA;AAAA;AAAA;;AAAA,sBA6BQ,IAAIE,uBAAJ,CAAgB;AACrBC,kBAAAA,IAAI,EAAE,iBADe;AAErBC,kBAAAA,eAAe,sDAA+C9B,SAA/C;AAFM,iBAAhB,CA7BR;;AAAA;AAmCCU,gBAAAA,iBAAiB,CAACqB,GAAlB,CAAsB;AACrBlC,kBAAAA,EAAE,EAAE6B,KAAK,CAAC7B,EADW;AAErBG,kBAAAA,SAAS,EAAE0B,KAAK,CAACN;AAFI,iBAAtB;AAnCD,iDAwCQ;AACNY,kBAAAA,YAAY,EAAE,mBAAWN,KAAK,CAACJ,IAAjB;AADR,iBAxCR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALyCW,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'addDepnedency',\n\tdescription: 'Add a skill as a dependency.',\n\tfields: {\n\t\tnamespace: {\n\t\t\ttype: 'id',\n\t\t\tlabel: 'Namespace',\n\t\t\thint: 'The namespace of the skill you want to add as a dependency.',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['add.dependency [namespace]']\n\tpublic invocationMessage = 'Adding a dependency... 🔗'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tlet { namespace } = this.validateAndNormalizeOptions(options)\n\n\t\tconst skills = await this.Store('skill').fetchAllSkills()\n\t\tconst dependencyService = this.Service('dependency')\n\n\t\tif (!namespace) {\n\t\t\tconst dependencies = dependencyService.get().map((d) => d.namespace)\n\n\t\t\tconst choices = skills\n\t\t\t\t.filter((s) => dependencies.indexOf(s.slug) === -1)\n\t\t\t\t.map((s) => ({\n\t\t\t\t\tvalue: s.slug,\n\t\t\t\t\tlabel: s.name,\n\t\t\t\t}))\n\n\t\t\tnamespace = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill would you like to add as a dependency?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tconst skill = skills.find((s) => s.slug === namespace)\n\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\tfriendlyMessage: `I could not find a skill with the slug of ${namespace}.`,\n\t\t\t})\n\t\t}\n\n\t\tdependencyService.add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\treturn {\n\t\t\tsummaryLines: [`Added \"${skill.name}\" as a dependency!`],\n\t\t}\n\t}\n}\n"],"file":"AddAction.js"}
1
+ {"version":3,"file":"AddAction.js","names":["optionsSchema","id","description","fields","namespace","type","label","hint","DeployAction","options","validateAndNormalizeOptions","Store","fetchAllSkills","skills","dependencyService","Service","dependencies","get","map","d","choices","filter","s","indexOf","slug","value","name","ui","prompt","isRequired","skill","find","SpruceError","code","friendlyMessage","add","summaryLines","AbstractAction"],"sources":["../../../../src/features/dependencies/actions/AddAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'addDepnedency',\n\tdescription: 'Add a skill as a dependency.',\n\tfields: {\n\t\tnamespace: {\n\t\t\ttype: 'id',\n\t\t\tlabel: 'Namespace',\n\t\t\thint: 'The namespace of the skill you want to add as a dependency.',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['add.dependency [namespace]']\n\tpublic invocationMessage = 'Adding a dependency... 🔗'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tlet { namespace } = this.validateAndNormalizeOptions(options)\n\n\t\tconst skills = await this.Store('skill').fetchAllSkills()\n\t\tconst dependencyService = this.Service('dependency')\n\n\t\tif (!namespace) {\n\t\t\tconst dependencies = dependencyService.get().map((d) => d.namespace)\n\n\t\t\tconst choices = skills\n\t\t\t\t.filter((s) => dependencies.indexOf(s.slug) === -1)\n\t\t\t\t.map((s) => ({\n\t\t\t\t\tvalue: s.slug,\n\t\t\t\t\tlabel: s.name,\n\t\t\t\t}))\n\n\t\t\tnamespace = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill would you like to add as a dependency?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\n\t\tconst skill = skills.find((s) => s.slug === namespace)\n\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\tfriendlyMessage: `I could not find a skill with the slug of ${namespace}.`,\n\t\t\t})\n\t\t}\n\n\t\tdependencyService.add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\treturn {\n\t\t\tsummaryLines: [`Added \"${skill.name}\" as a dependency!`],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,eAD6B;EAEjCC,WAAW,EAAE,8BAFoB;EAGjCC,MAAM,EAAE;IACPC,SAAS,EAAE;MACVC,IAAI,EAAE,IADI;MAEVC,KAAK,EAAE,WAFG;MAGVC,IAAI,EAAE;IAHI;EADJ;AAHyB,CAAZ,CAAtB;;IAeqBC,Y;;;;;;;;;;;;;;;sGACGR,a;uGACC,CAAC,4BAAD,C;0GACG,2B;;;;;;;mGAE3B,iBAAqBS,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBACqB,KAAKC,2BAAL,CAAiCD,OAAjC,CADrB,EACOL,SADP,yBACOA,SADP;gBAAA;gBAAA,OAGsB,KAAKO,KAAL,CAAW,OAAX,EAAoBC,cAApB,EAHtB;;cAAA;gBAGOC,MAHP;gBAIOC,iBAJP,GAI2B,KAAKC,OAAL,CAAa,YAAb,CAJ3B;;gBAAA,IAMMX,SANN;kBAAA;kBAAA;gBAAA;;gBAOQY,YAPR,GAOuBF,iBAAiB,CAACG,GAAlB,GAAwBC,GAAxB,CAA4B,UAACC,CAAD;kBAAA,OAAOA,CAAC,CAACf,SAAT;gBAAA,CAA5B,CAPvB;gBASQgB,OATR,GASkBP,MAAM,CACpBQ,MADc,CACP,UAACC,CAAD;kBAAA,OAAON,YAAY,CAACO,OAAb,CAAqBD,CAAC,CAACE,IAAvB,MAAiC,CAAC,CAAzC;gBAAA,CADO,EAEdN,GAFc,CAEV,UAACI,CAAD;kBAAA,OAAQ;oBACZG,KAAK,EAAEH,CAAC,CAACE,IADG;oBAEZlB,KAAK,EAAEgB,CAAC,CAACI;kBAFG,CAAR;gBAAA,CAFU,CATlB;gBAAA;gBAAA,OAgBoB,KAAKC,EAAL,CAAQC,MAAR,CAAe;kBAChCvB,IAAI,EAAE,QAD0B;kBAEhCC,KAAK,EAAE,oDAFyB;kBAGhCuB,UAAU,EAAE,IAHoB;kBAIhCpB,OAAO,EAAE;oBACRW,OAAO,EAAPA;kBADQ;gBAJuB,CAAf,CAhBpB;;cAAA;gBAgBEhB,SAhBF;;cAAA;gBA0BO0B,KA1BP,GA0BejB,MAAM,CAACkB,IAAP,CAAY,UAACT,CAAD;kBAAA,OAAOA,CAAC,CAACE,IAAF,KAAWpB,SAAlB;gBAAA,CAAZ,CA1Bf;;gBAAA,IA4BM0B,KA5BN;kBAAA;kBAAA;gBAAA;;gBAAA,MA6BQ,IAAIE,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,iBADe;kBAErBC,eAAe,sDAA+C9B,SAA/C;gBAFM,CAAhB,CA7BR;;cAAA;gBAmCCU,iBAAiB,CAACqB,GAAlB,CAAsB;kBACrBlC,EAAE,EAAE6B,KAAK,CAAC7B,EADW;kBAErBG,SAAS,EAAE0B,KAAK,CAACN;gBAFI,CAAtB;gBAnCD,iCAwCQ;kBACNY,YAAY,EAAE,mBAAWN,KAAK,CAACJ,IAAjB;gBADR,CAxCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCW,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/dependencies/actions/ManageAction.ts"],"names":["optionsSchema","id","description","fields","DeployAction","Store","fetchMySkills","skills","sort","a","b","name1","name","toLowerCase","name2","dep","Service","dependencies","get","loadCurrentSkill","currentSkill","isRegistered","filter","s","ui","prompt","label","type","isArray","isRequired","value","map","d","options","choices","skill","slug","selected","summary","updatedDependencies","find","push","namespace","set","summaryLines","length","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'manageDependencies',\n\tdescription: 'Manage the skills you depend on.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'manage.dependencies',\n\t\t'remove.dependency',\n\t\t'dependencies',\n\t]\n\tpublic invocationMessage = 'Managing dependencies... 🔗'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tlet skills = await this.Store('skill').fetchMySkills()\n\t\tskills.sort((a, b) => {\n\t\t\tconst name1 = a.name.toLowerCase()\n\t\t\tconst name2 = b.name.toLowerCase()\n\n\t\t\tif (name1 < name2) {\n\t\t\t\treturn -1\n\t\t\t} else if (name1 > name2) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\treturn 0\n\t\t})\n\n\t\tconst dep = this.Service('dependency')\n\t\tconst dependencies = dep.get()\n\n\t\tconst currentSkill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (currentSkill.isRegistered) {\n\t\t\tskills = skills.filter((s) => s.id !== currentSkill.id)\n\t\t}\n\n\t\tconst selected = await this.ui.prompt({\n\t\t\tlabel: 'Which skills do you depend on?',\n\t\t\ttype: 'select',\n\t\t\tisArray: true,\n\t\t\tisRequired: true,\n\t\t\tvalue: dependencies.map((d: any) => d.id),\n\t\t\toptions: {\n\t\t\t\tchoices: skills.map((skill) => ({\n\t\t\t\t\tvalue: skill.id,\n\t\t\t\t\tlabel: skill.name + ' (' + skill.slug + ')',\n\t\t\t\t})),\n\t\t\t},\n\t\t})\n\n\t\tconst summary: string[] = []\n\n\t\tconst updatedDependencies = selected.map((id) => {\n\t\t\tconst skill = skills.find((s) => s.id === id)\n\n\t\t\tsummary.push(skill?.name + ' (' + skill?.id + ')')\n\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tnamespace: skill?.slug ?? '**missing**',\n\t\t\t}\n\t\t})\n\n\t\tdep.set(updatedDependencies)\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t`${updatedDependencies.length} dependenc${\n\t\t\t\t\tupdatedDependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t} added.`,\n\t\t\t\t...summary,\n\t\t\t],\n\t\t}\n\t}\n}\n"],"file":"ManageAction.js"}
1
+ {"version":3,"file":"ManageAction.js","names":["optionsSchema","id","description","fields","DeployAction","Store","fetchMySkills","skills","sort","a","b","name1","name","toLowerCase","name2","dep","Service","dependencies","get","loadCurrentSkill","currentSkill","isRegistered","filter","s","ui","prompt","label","type","isArray","isRequired","value","map","d","options","choices","skill","slug","selected","summary","updatedDependencies","find","push","namespace","set","summaryLines","length","AbstractAction"],"sources":["../../../../src/features/dependencies/actions/ManageAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'manageDependencies',\n\tdescription: 'Manage the skills you depend on.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'manage.dependencies',\n\t\t'remove.dependency',\n\t\t'dependencies',\n\t]\n\tpublic invocationMessage = 'Managing dependencies... 🔗'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tlet skills = await this.Store('skill').fetchMySkills()\n\t\tskills.sort((a, b) => {\n\t\t\tconst name1 = a.name.toLowerCase()\n\t\t\tconst name2 = b.name.toLowerCase()\n\n\t\t\tif (name1 < name2) {\n\t\t\t\treturn -1\n\t\t\t} else if (name1 > name2) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\treturn 0\n\t\t})\n\n\t\tconst dep = this.Service('dependency')\n\t\tconst dependencies = dep.get()\n\n\t\tconst currentSkill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (currentSkill.isRegistered) {\n\t\t\tskills = skills.filter((s) => s.id !== currentSkill.id)\n\t\t}\n\n\t\tconst selected = await this.ui.prompt({\n\t\t\tlabel: 'Which skills do you depend on?',\n\t\t\ttype: 'select',\n\t\t\tisArray: true,\n\t\t\tisRequired: true,\n\t\t\tvalue: dependencies.map((d: any) => d.id),\n\t\t\toptions: {\n\t\t\t\tchoices: skills.map((skill) => ({\n\t\t\t\t\tvalue: skill.id,\n\t\t\t\t\tlabel: skill.name + ' (' + skill.slug + ')',\n\t\t\t\t})),\n\t\t\t},\n\t\t})\n\n\t\tconst summary: string[] = []\n\n\t\tconst updatedDependencies = selected.map((id) => {\n\t\t\tconst skill = skills.find((s) => s.id === id)\n\n\t\t\tsummary.push(skill?.name + ' (' + skill?.id + ')')\n\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tnamespace: skill?.slug ?? '**missing**',\n\t\t\t}\n\t\t})\n\n\t\tdep.set(updatedDependencies)\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t`${updatedDependencies.length} dependenc${\n\t\t\t\t\tupdatedDependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t} added.`,\n\t\t\t\t...summary,\n\t\t\t],\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/deploy/DeployFeature.ts"],"names":["DeployFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","Writer","writePlugin","cwd","files","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAYqBA,a;;;;;;;;;;;;;;;oGACC,8B;6FACM,Q;qGACL,Q;qGACqB,CAC1C;AACCC,MAAAA,IAAI,EAAE,MADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAD0C,C;4GAMd,CAC5B;AAAEC,MAAAA,IAAI,EAAE,yCAAR;AAAmDC,MAAAA,KAAK,EAAE;AAA1D,KAD4B,C;mGAITC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;;;+GAEpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACqB,KAAKC,MAAL,CAAY,QAAZ,EAAsBC,WAAtB,CAAkC,KAAKC,GAAvC,CADrB;;AAAA;AACOC,gBAAAA,KADP;AAAA,iDAGQ;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAHR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhB0CC,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tdeploy: DeployFeature\n\t}\n}\n\nexport default class DeployFeature extends AbstractFeature {\n\tpublic description = 'Deploy your skill with ease.'\n\tpublic code: FeatureCode = 'deploy'\n\tpublic nameReadable = 'Deploy'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-deploy-plugin@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst files = await this.Writer('deploy').writePlugin(this.cwd)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"file":"DeployFeature.js"}
1
+ {"version":3,"file":"DeployFeature.js","names":["DeployFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","Writer","writePlugin","cwd","files","AbstractFeature"],"sources":["../../../src/features/deploy/DeployFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tdeploy: DeployFeature\n\t}\n}\n\nexport default class DeployFeature extends AbstractFeature {\n\tpublic description = 'Deploy your skill with ease.'\n\tpublic code: FeatureCode = 'deploy'\n\tpublic nameReadable = 'Deploy'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-deploy-plugin@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst files = await this.Writer('deploy').writePlugin(this.cwd)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAYqBA,a;;;;;;;;;;;;;;;oGACC,8B;6FACM,Q;qGACL,Q;qGACqB,CAC1C;MACCC,IAAI,EAAE,MADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,CAC5B;MAAEC,IAAI,EAAE,yCAAR;MAAmDC,KAAK,EAAE;IAA1D,CAD4B,C;mGAITC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;;;+GAEpB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,KAAKC,MAAL,CAAY,QAAZ,EAAsBC,WAAtB,CAAkC,KAAKC,GAAvC,CADrB;;cAAA;gBACOC,KADP;gBAAA,iCAGQ;kBACNA,KAAK,EAALA;gBADM,CAHR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAhB0CC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/deploy/actions/HerokuAction.ts"],"names":["optionsSchema","id","description","fields","teamName","type","label","isRequired","shouldRunSilently","isPrivate","shouldBuildAndLint","defaultValue","shouldRunTests","DeployAction","options","results","assertRegisteredSkill","assertDependencies","assertLoggedInToHeroku","setupGitRepo","setupGitRemote","setupProcFile","procResults","actionUtil","mergeActionResults","assertNoPendingGitChanges","errors","validateAndNormalizeOptions","buildAndLint","runTests","deploy","ui","clear","skill","Service","getCurrentSkill","summaryLines","name","slug","apiKey","SpruceError","code","stage","friendlyMessage","execute","failed","stdout","toLowerCase","search","command","confirm","pass","pkg","skillName","get","prompt","namesUtil","toKebab","args","env","HOME","process","procFile","diskUtil","resolvePath","cwd","files","doesFileExist","writeFile","push","action","path","inRepo","missing","hint","length","dependencies","featureInstaller","isInstalled","isTestInstalled","startLoading","Action","watchMode","shouldReportWhileRunning","testResults","isSkillInstalled","build","shouldFixLintFirst","buildResults","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil, SkillAuth } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'deployHeroku',\n\tdescription: 'Deploy your skill to Heroku.',\n\tfields: {\n\t\tteamName: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'team name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tshouldRunSilently: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tshouldBuildAndLint: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldRunTests: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['deploy.heroku']\n\tpublic invocationMessage = 'Deploying to Heroku... 🚀'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\ttry {\n\t\t\tawait this.assertRegisteredSkill()\n\t\t\tawait this.assertDependencies()\n\t\t\tawait this.assertLoggedInToHeroku()\n\t\t\tawait this.setupGitRepo()\n\t\t\tawait this.setupGitRemote()\n\n\t\t\tconst procResults = await this.setupProcFile()\n\t\t\tresults = actionUtil.mergeActionResults(results, procResults)\n\n\t\t\tawait this.assertNoPendingGitChanges()\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tconst { shouldBuildAndLint, shouldRunTests } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tif (shouldBuildAndLint) {\n\t\t\tresults = await this.buildAndLint()\n\n\t\t\tif (results.errors) {\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRunTests) {\n\t\t\tresults = await this.runTests()\n\n\t\t\tif (results.errors) {\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\tawait this.deploy()\n\n\t\tthis.ui.clear()\n\n\t\tconst skill = this.Service('auth').getCurrentSkill() as SkillAuth\n\n\t\tresults.summaryLines = [\n\t\t\t`You are good to go!`,\n\t\t\t\"You gotta make sure that your ENV's are set on Heroku to the following:\\n\",\n\t\t\t`SKILL_NAME=${skill.name}`,\n\t\t\t`SKILL_SLUG=${skill.slug}`,\n\t\t\t`SKILL_ID=${skill.id}`,\n\t\t\t`SKILL_API_KEY=${skill.apiKey}`,\n\t\t]\n\n\t\treturn results\n\t}\n\n\tprivate assertRegisteredSkill() {\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'skill',\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You have to register your skill. Try `spruce login && spruce register` to get going!',\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async deploy() {\n\t\tawait this.Service('command').execute(\n\t\t\t'git push --set-upstream heroku master'\n\t\t)\n\t}\n\n\tprivate async assertNoPendingGitChanges() {\n\t\tconst results = await this.Service('command').execute('git status')\n\n\t\tconst failed =\n\t\t\t(results.stdout ?? '').toLowerCase().search('not staged') > -1 ||\n\t\t\t(results.stdout ?? '').toLowerCase().search('no commits') > -1\n\n\t\tif (failed) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'git',\n\t\t\t\tfriendlyMessage: 'You have pending changes. Commit them and try again!',\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async setupGitRemote() {\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tawait command.execute('git ls-remote heroku')\n\n\t\t\treturn\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tconst confirm = await this.ui.confirm(\n\t\t\t`I didn't find a a remote named \"heroku\", want me to create one?`\n\t\t)\n\n\t\tif (!confirm) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'remote',\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You need to setup a remote named \"heroku\" that Heroku will pull from.',\n\t\t\t})\n\t\t}\n\n\t\tlet pass = false\n\t\tlet label =\n\t\t\t'What name do you wanna give your app on heroku (using-kebab-case)?'\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst skillName = pkg.get('name')\n\n\t\tdo {\n\t\t\tlet name = await this.ui.prompt({\n\t\t\t\ttype: 'text',\n\t\t\t\tlabel,\n\t\t\t\tdefaultValue: skillName,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tname = namesUtil.toKebab(name)\n\n\t\t\ttry {\n\t\t\t\tawait command.execute('heroku create', {\n\t\t\t\t\targs: [name],\n\t\t\t\t\tenv: { HOME: process.env.HOME },\n\t\t\t\t})\n\n\t\t\t\tpass = true\n\t\t\t} catch {\n\t\t\t\tlabel = `Uh oh, \"${name}\" is taken, try again!`\n\t\t\t}\n\t\t} while (!pass)\n\n\t\ttry {\n\t\t\tawait command.execute('heroku buildpacks:set heroku/nodejs', {\n\t\t\t\tenv: { HOME: process.env.HOME },\n\t\t\t})\n\t\t} catch {\n\t\t\tthrow new SpruceError({ code: 'DEPLOY_FAILED', stage: 'remote' })\n\t\t}\n\t}\n\n\tprivate async setupProcFile(): Promise<FeatureActionResponse> {\n\t\tconst procFile = diskUtil.resolvePath(this.cwd, 'Procfile')\n\t\tconst results: FeatureActionResponse = {\n\t\t\tfiles: [],\n\t\t}\n\t\tif (!diskUtil.doesFileExist(procFile)) {\n\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t`I don't see a Procfile, which Heroku needs to know how to run your skill. Want me to create one?`\n\t\t\t)\n\t\t\tif (!confirm) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\t\tstage: 'procfile',\n\t\t\t\t\tfriendlyMessage:\n\t\t\t\t\t\t'You are gonna need to create a Procfile in your project root so heroku knows how to run your skill.',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tdiskUtil.writeFile(procFile, 'worker: npm run boot')\n\t\t\tresults.files?.push({\n\t\t\t\tname: 'Procfile',\n\t\t\t\taction: 'generated',\n\t\t\t\tpath: procFile,\n\t\t\t\tdescription: 'Used by Heroku to know how to run your skill.',\n\t\t\t})\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async setupGitRepo() {\n\t\tconst command = this.Service('command')\n\n\t\tlet inRepo = true\n\t\ttry {\n\t\t\tawait command.execute('git status')\n\t\t} catch {\n\t\t\tinRepo = false\n\t\t}\n\n\t\tif (!inRepo) {\n\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t'You are not in a git repo. Would you like to initialize one now?'\n\t\t\t)\n\n\t\t\ttry {\n\t\t\t\tif (confirm) {\n\t\t\t\t\tawait command.execute('git init')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch {}\n\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'git',\n\t\t\t\tfriendlyMessage: 'You must be in a git repo to deploy!',\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async assertLoggedInToHeroku() {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('grep api.heroku.com ~/.netrc')\n\t\t} catch {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'heroku',\n\t\t\t\tfriendlyMessage: `You gotta be logged in using \\`heroku login\\` before you can deploy.!`,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async assertDependencies() {\n\t\tconst command = this.Service('command')\n\t\tconst missing: { name: string; hint: string }[] = []\n\n\t\ttry {\n\t\t\tawait command.execute('which heroku')\n\t\t} catch {\n\t\t\tmissing.push({\n\t\t\t\tname: 'heroku',\n\t\t\t\thint: 'Follow install instructions @ https://devcenter.heroku.com/articles/heroku-cli#download-and-install',\n\t\t\t})\n\t\t}\n\n\t\ttry {\n\t\t\tawait command.execute('which git')\n\t\t} catch {\n\t\t\tmissing.push({\n\t\t\t\tname: 'git',\n\t\t\t\thint: 'Follow install instructions @ https://git-scm.com/downloads',\n\t\t\t})\n\t\t}\n\n\t\tif (missing.length > 0) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\tdependencies: missing,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async runTests() {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tconst isTestInstalled = await this.featureInstaller.isInstalled('test')\n\n\t\tif (isTestInstalled) {\n\t\t\ttry {\n\t\t\t\tthis.ui.startLoading('Testing your skill. Hold onto your pants. 👖')\n\n\t\t\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\t\t\twatchMode: 'off',\n\t\t\t\t\tshouldReportWhileRunning: false,\n\t\t\t\t})\n\n\t\t\t\tresults = actionUtil.mergeActionResults(results, testResults)\n\t\t\t} catch (err) {\n\t\t\t\tresults = {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({ code: 'DEPLOY_FAILED', stage: 'testing' }),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate async buildAndLint() {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isSkillInstalled) {\n\t\t\ttry {\n\t\t\t\tthis.ui.startLoading('Building your skill. This may take a minute...')\n\n\t\t\t\tconst buildResults = await this.Service('build').build({\n\t\t\t\t\tshouldFixLintFirst: true,\n\t\t\t\t})\n\n\t\t\t\tresults = actionUtil.mergeActionResults(results, buildResults)\n\t\t\t} catch (err) {\n\t\t\t\tresults = {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({ code: 'DEPLOY_FAILED', stage: 'building' }),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n}\n"],"file":"HerokuAction.js"}
1
+ {"version":3,"file":"HerokuAction.js","names":["optionsSchema","id","description","fields","teamName","type","label","isRequired","shouldRunSilently","isPrivate","shouldBuildAndLint","defaultValue","shouldRunTests","DeployAction","options","results","assertRegisteredSkill","assertDependencies","assertLoggedInToHeroku","setupGitRepo","setupGitRemote","setupProcFile","procResults","actionUtil","mergeActionResults","assertNoPendingGitChanges","errors","validateAndNormalizeOptions","buildAndLint","runTests","deploy","ui","clear","skill","Service","getCurrentSkill","summaryLines","name","slug","apiKey","SpruceError","code","stage","friendlyMessage","execute","failed","stdout","toLowerCase","search","command","confirm","pass","pkg","skillName","get","prompt","namesUtil","toKebab","args","env","HOME","process","procFile","diskUtil","resolvePath","cwd","files","doesFileExist","writeFile","push","action","path","inRepo","missing","hint","length","dependencies","featureInstaller","isInstalled","isTestInstalled","startLoading","Action","watchMode","shouldReportWhileRunning","testResults","isSkillInstalled","build","shouldFixLintFirst","buildResults","AbstractAction"],"sources":["../../../../src/features/deploy/actions/HerokuAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil, SkillAuth } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'deployHeroku',\n\tdescription: 'Deploy your skill to Heroku.',\n\tfields: {\n\t\tteamName: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'team name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tshouldRunSilently: {\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tshouldBuildAndLint: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldRunTests: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DeployAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['deploy.heroku']\n\tpublic invocationMessage = 'Deploying to Heroku... 🚀'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\ttry {\n\t\t\tawait this.assertRegisteredSkill()\n\t\t\tawait this.assertDependencies()\n\t\t\tawait this.assertLoggedInToHeroku()\n\t\t\tawait this.setupGitRepo()\n\t\t\tawait this.setupGitRemote()\n\n\t\t\tconst procResults = await this.setupProcFile()\n\t\t\tresults = actionUtil.mergeActionResults(results, procResults)\n\n\t\t\tawait this.assertNoPendingGitChanges()\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tconst { shouldBuildAndLint, shouldRunTests } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tif (shouldBuildAndLint) {\n\t\t\tresults = await this.buildAndLint()\n\n\t\t\tif (results.errors) {\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRunTests) {\n\t\t\tresults = await this.runTests()\n\n\t\t\tif (results.errors) {\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\tawait this.deploy()\n\n\t\tthis.ui.clear()\n\n\t\tconst skill = this.Service('auth').getCurrentSkill() as SkillAuth\n\n\t\tresults.summaryLines = [\n\t\t\t`You are good to go!`,\n\t\t\t\"You gotta make sure that your ENV's are set on Heroku to the following:\\n\",\n\t\t\t`SKILL_NAME=${skill.name}`,\n\t\t\t`SKILL_SLUG=${skill.slug}`,\n\t\t\t`SKILL_ID=${skill.id}`,\n\t\t\t`SKILL_API_KEY=${skill.apiKey}`,\n\t\t]\n\n\t\treturn results\n\t}\n\n\tprivate assertRegisteredSkill() {\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'skill',\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You have to register your skill. Try `spruce login && spruce register` to get going!',\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async deploy() {\n\t\tawait this.Service('command').execute(\n\t\t\t'git push --set-upstream heroku master'\n\t\t)\n\t}\n\n\tprivate async assertNoPendingGitChanges() {\n\t\tconst results = await this.Service('command').execute('git status')\n\n\t\tconst failed =\n\t\t\t(results.stdout ?? '').toLowerCase().search('not staged') > -1 ||\n\t\t\t(results.stdout ?? '').toLowerCase().search('no commits') > -1\n\n\t\tif (failed) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'git',\n\t\t\t\tfriendlyMessage: 'You have pending changes. Commit them and try again!',\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async setupGitRemote() {\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tawait command.execute('git ls-remote heroku')\n\n\t\t\treturn\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tconst confirm = await this.ui.confirm(\n\t\t\t`I didn't find a a remote named \"heroku\", want me to create one?`\n\t\t)\n\n\t\tif (!confirm) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'remote',\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You need to setup a remote named \"heroku\" that Heroku will pull from.',\n\t\t\t})\n\t\t}\n\n\t\tlet pass = false\n\t\tlet label =\n\t\t\t'What name do you wanna give your app on heroku (using-kebab-case)?'\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst skillName = pkg.get('name')\n\n\t\tdo {\n\t\t\tlet name = await this.ui.prompt({\n\t\t\t\ttype: 'text',\n\t\t\t\tlabel,\n\t\t\t\tdefaultValue: skillName,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tname = namesUtil.toKebab(name)\n\n\t\t\ttry {\n\t\t\t\tawait command.execute('heroku create', {\n\t\t\t\t\targs: [name],\n\t\t\t\t\tenv: { HOME: process.env.HOME },\n\t\t\t\t})\n\n\t\t\t\tpass = true\n\t\t\t} catch {\n\t\t\t\tlabel = `Uh oh, \"${name}\" is taken, try again!`\n\t\t\t}\n\t\t} while (!pass)\n\n\t\ttry {\n\t\t\tawait command.execute('heroku buildpacks:set heroku/nodejs', {\n\t\t\t\tenv: { HOME: process.env.HOME },\n\t\t\t})\n\t\t} catch {\n\t\t\tthrow new SpruceError({ code: 'DEPLOY_FAILED', stage: 'remote' })\n\t\t}\n\t}\n\n\tprivate async setupProcFile(): Promise<FeatureActionResponse> {\n\t\tconst procFile = diskUtil.resolvePath(this.cwd, 'Procfile')\n\t\tconst results: FeatureActionResponse = {\n\t\t\tfiles: [],\n\t\t}\n\t\tif (!diskUtil.doesFileExist(procFile)) {\n\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t`I don't see a Procfile, which Heroku needs to know how to run your skill. Want me to create one?`\n\t\t\t)\n\t\t\tif (!confirm) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\t\tstage: 'procfile',\n\t\t\t\t\tfriendlyMessage:\n\t\t\t\t\t\t'You are gonna need to create a Procfile in your project root so heroku knows how to run your skill.',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tdiskUtil.writeFile(procFile, 'worker: npm run boot')\n\t\t\tresults.files?.push({\n\t\t\t\tname: 'Procfile',\n\t\t\t\taction: 'generated',\n\t\t\t\tpath: procFile,\n\t\t\t\tdescription: 'Used by Heroku to know how to run your skill.',\n\t\t\t})\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async setupGitRepo() {\n\t\tconst command = this.Service('command')\n\n\t\tlet inRepo = true\n\t\ttry {\n\t\t\tawait command.execute('git status')\n\t\t} catch {\n\t\t\tinRepo = false\n\t\t}\n\n\t\tif (!inRepo) {\n\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t'You are not in a git repo. Would you like to initialize one now?'\n\t\t\t)\n\n\t\t\ttry {\n\t\t\t\tif (confirm) {\n\t\t\t\t\tawait command.execute('git init')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch {}\n\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'git',\n\t\t\t\tfriendlyMessage: 'You must be in a git repo to deploy!',\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async assertLoggedInToHeroku() {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('grep api.heroku.com ~/.netrc')\n\t\t} catch {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPLOY_FAILED',\n\t\t\t\tstage: 'heroku',\n\t\t\t\tfriendlyMessage: `You gotta be logged in using \\`heroku login\\` before you can deploy.!`,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async assertDependencies() {\n\t\tconst command = this.Service('command')\n\t\tconst missing: { name: string; hint: string }[] = []\n\n\t\ttry {\n\t\t\tawait command.execute('which heroku')\n\t\t} catch {\n\t\t\tmissing.push({\n\t\t\t\tname: 'heroku',\n\t\t\t\thint: 'Follow install instructions @ https://devcenter.heroku.com/articles/heroku-cli#download-and-install',\n\t\t\t})\n\t\t}\n\n\t\ttry {\n\t\t\tawait command.execute('which git')\n\t\t} catch {\n\t\t\tmissing.push({\n\t\t\t\tname: 'git',\n\t\t\t\thint: 'Follow install instructions @ https://git-scm.com/downloads',\n\t\t\t})\n\t\t}\n\n\t\tif (missing.length > 0) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\tdependencies: missing,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async runTests() {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tconst isTestInstalled = await this.featureInstaller.isInstalled('test')\n\n\t\tif (isTestInstalled) {\n\t\t\ttry {\n\t\t\t\tthis.ui.startLoading('Testing your skill. Hold onto your pants. 👖')\n\n\t\t\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\t\t\twatchMode: 'off',\n\t\t\t\t\tshouldReportWhileRunning: false,\n\t\t\t\t})\n\n\t\t\t\tresults = actionUtil.mergeActionResults(results, testResults)\n\t\t\t} catch (err) {\n\t\t\t\tresults = {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({ code: 'DEPLOY_FAILED', stage: 'testing' }),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate async buildAndLint() {\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isSkillInstalled) {\n\t\t\ttry {\n\t\t\t\tthis.ui.startLoading('Building your skill. This may take a minute...')\n\n\t\t\t\tconst buildResults = await this.Service('build').build({\n\t\t\t\t\tshouldFixLintFirst: true,\n\t\t\t\t})\n\n\t\t\t\tresults = actionUtil.mergeActionResults(results, buildResults)\n\t\t\t} catch (err) {\n\t\t\t\tresults = {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({ code: 'DEPLOY_FAILED', stage: 'building' }),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/deploy/writers/DeployWriter.ts"],"names":["DeployWriter","cwd","destination","diskUtil","resolveHashSprucePath","pluginContents","templates","deployPlugin","results","writeFileIfChangedMixinResults","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,Y;;;;;;;;;;;;WACpB,qBAAmBC,GAAnB,EAAgC;AAC/B,UAAMC,WAAW,GAAGC,2BAASC,qBAAT,CACnBH,GADmB,EAEnB,UAFmB,EAGnB,kBAHmB,CAApB;;AAMA,UAAMI,cAAc,GAAG,KAAKC,SAAL,CAAeC,YAAf,EAAvB;AAEA,UAAMC,OAAO,GAAG,KAAKC,8BAAL,CACfP,WADe,EAEfG,cAFe,EAGf,mCAHe,CAAhB;AAMA,aAAOG,OAAP;AACA;;;EAjBwCE,2B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class DeployWriter extends AbstractWriter {\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'deploy.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.deployPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with deploys!'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"file":"DeployWriter.js"}
1
+ {"version":3,"file":"DeployWriter.js","names":["DeployWriter","cwd","destination","diskUtil","resolveHashSprucePath","pluginContents","templates","deployPlugin","results","writeFileIfChangedMixinResults","AbstractWriter"],"sources":["../../../../src/features/deploy/writers/DeployWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class DeployWriter extends AbstractWriter {\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'deploy.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.deployPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with deploys!'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,Y;;;;;;;;;;;;WACpB,qBAAmBC,GAAnB,EAAgC;MAC/B,IAAMC,WAAW,GAAGC,2BAASC,qBAAT,CACnBH,GADmB,EAEnB,UAFmB,EAGnB,kBAHmB,CAApB;;MAMA,IAAMI,cAAc,GAAG,KAAKC,SAAL,CAAeC,YAAf,EAAvB;MAEA,IAAMC,OAAO,GAAG,KAAKC,8BAAL,CACfP,WADe,EAEfG,cAFe,EAGf,mCAHe,CAAhB;MAMA,OAAOG,OAAP;IACA;;;EAjBwCE,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/error/ErrorFeature.ts"],"names":["ErrorFeature","options","code","isRequired","name","diskUtil","resolvePath","__dirname","emitter","on","handleDidExecuteCommand","bind","featureInstaller","isInstalled","filesToSkip","isSkillInstalled","writePlugin","files","payload","featureCode","actionCode","Action","execute","results","plugin","push","Writer","cwd","AbstractFeature"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\terror: ErrorFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\terror: undefined\n\t}\n}\n\nexport default class ErrorFeature extends AbstractFeature {\n\tpublic nameReadable = 'error handling'\n\tpublic description =\n\t\t'Errors: Use schemas to define your errors and get great type checking!'\n\tpublic code: FeatureCode = 'error'\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'schema', isRequired: true },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/error@latest',\n\t\t},\n\t]\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'feature.did-execute',\n\t\t\tthis.handleDidExecuteCommand.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on('skill.will-write-directory-template', async () => {\n\t\t\tconst isInstalled = await this.featureInstaller.isInstalled('error')\n\t\t\tif (isInstalled) {\n\t\t\t\treturn {\n\t\t\t\t\tfilesToSkip: ['options.types.ts'],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isSkillInstalled) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async handleDidExecuteCommand(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst { featureCode, actionCode } = payload\n\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('error')\n\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst results = await this.Action('error', 'sync').execute({})\n\n\t\t\tif (isSkillInstalled) {\n\t\t\t\tif (!results.files) {\n\t\t\t\t\tresults.files = []\n\t\t\t\t}\n\n\t\t\t\tconst plugin = await this.writePlugin()\n\t\t\t\tresults.files.push(...plugin)\n\t\t\t}\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\tprivate async writePlugin() {\n\t\treturn this.Writer('error').writePlugin(this.cwd)\n\t}\n}\n"],"file":"ErrorFeature.js"}
1
+ {"version":3,"file":"ErrorFeature.js","names":["ErrorFeature","options","code","isRequired","name","diskUtil","resolvePath","__dirname","emitter","on","handleDidExecuteCommand","bind","featureInstaller","isInstalled","filesToSkip","isSkillInstalled","writePlugin","files","payload","featureCode","actionCode","Action","execute","results","plugin","push","Writer","cwd","AbstractFeature"],"sources":["../../../src/features/error/ErrorFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\terror: ErrorFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\terror: undefined\n\t}\n}\n\nexport default class ErrorFeature extends AbstractFeature {\n\tpublic nameReadable = 'error handling'\n\tpublic description =\n\t\t'Errors: Use schemas to define your errors and get great type checking!'\n\tpublic code: FeatureCode = 'error'\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'schema', isRequired: true },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/error@latest',\n\t\t},\n\t]\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'feature.did-execute',\n\t\t\tthis.handleDidExecuteCommand.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on('skill.will-write-directory-template', async () => {\n\t\t\tconst isInstalled = await this.featureInstaller.isInstalled('error')\n\t\t\tif (isInstalled) {\n\t\t\t\treturn {\n\t\t\t\t\tfilesToSkip: ['options.types.ts'],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isSkillInstalled) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async handleDidExecuteCommand(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst { featureCode, actionCode } = payload\n\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('error')\n\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst results = await this.Action('error', 'sync').execute({})\n\n\t\t\tif (isSkillInstalled) {\n\t\t\t\tif (!results.files) {\n\t\t\t\t\tresults.files = []\n\t\t\t\t}\n\n\t\t\t\tconst plugin = await this.writePlugin()\n\t\t\t\tresults.files.push(...plugin)\n\t\t\t}\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\tprivate async writePlugin() {\n\t\treturn this.Writer('error').writePlugin(this.cwd)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/error/ParentTestFinder.ts"],"names":["ParentTestFinder","cwd","diskUtil","resolvePath","matches","allDetails","introspectionUtil","introspect","map","path","idx","details","name","classes","className","isDefaultExport","filter","match"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;IAEqBA,gB;AAGpB,4BAAmBC,GAAnB,EAAgC;AAAA;AAAA;AAC/B,SAAKA,GAAL,GAAWA,GAAX;AACA;;;;;6GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACuB,wBAAO,CAC5BC,2BAASC,WAAT,CAAqB,KAAKF,GAA1B,EAA+B,IAA/B,EAAqC,mBAArC,CAD4B,EAE5B,YAF4B,CAAP,CADvB;;AAAA;AACOG,gBAAAA,OADP;AAMOC,gBAAAA,UANP,GAMoBC,0BAAkBC,UAAlB,CAA6BH,OAA7B,CANpB;AAAA,iDAQQA,OAAO,CACZI,GADK,CACD,UAACC,IAAD,EAAOC,GAAP,EAAe;AAAA;;AACnB,sBAAMC,OAAO,GAAGN,UAAU,CAACK,GAAD,CAA1B;AACA,yBAAO;AACND,oBAAAA,IAAI,EAAJA,IADM;AAENG,oBAAAA,IAAI,sBAAED,OAAO,CAACE,OAAV,0EAAE,iBAAkB,CAAlB,CAAF,sDAAE,kBAAsBC,SAFtB;AAGNC,oBAAAA,eAAe,EAAE;AAHX,mBAAP;AAKA,iBARK,EASLC,MATK,CASE,UAACC,KAAD;AAAA,yBAAW,CAAC,CAACA,KAAK,CAACL,IAAnB;AAAA,iBATF,CARR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport introspectionUtil from '../../utilities/introspection.utility'\n\nexport default class ParentTestFinder {\n\tprivate cwd: string\n\n\tpublic constructor(cwd: string) {\n\t\tthis.cwd = cwd\n\t}\n\n\tpublic async findAbstractTests() {\n\t\tconst matches = await globby([\n\t\t\tdiskUtil.resolvePath(this.cwd, '**', 'Abstract*Test*.ts'),\n\t\t\t'!**/*.d.ts',\n\t\t])\n\n\t\tconst allDetails = introspectionUtil.introspect(matches)\n\n\t\treturn matches\n\t\t\t.map((path, idx) => {\n\t\t\t\tconst details = allDetails[idx]\n\t\t\t\treturn {\n\t\t\t\t\tpath,\n\t\t\t\t\tname: details.classes?.[0]?.className,\n\t\t\t\t\tisDefaultExport: true,\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((match) => !!match.name)\n\t}\n}\n"],"file":"ParentTestFinder.js"}
1
+ {"version":3,"file":"ParentTestFinder.js","names":["ParentTestFinder","cwd","diskUtil","resolvePath","matches","allDetails","introspectionUtil","introspect","map","path","idx","details","name","classes","className","isDefaultExport","filter","match"],"sources":["../../../src/features/error/ParentTestFinder.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport introspectionUtil from '../../utilities/introspection.utility'\n\nexport default class ParentTestFinder {\n\tprivate cwd: string\n\n\tpublic constructor(cwd: string) {\n\t\tthis.cwd = cwd\n\t}\n\n\tpublic async findAbstractTests() {\n\t\tconst matches = await globby([\n\t\t\tdiskUtil.resolvePath(this.cwd, '**', 'Abstract*Test*.ts'),\n\t\t\t'!**/*.d.ts',\n\t\t])\n\n\t\tconst allDetails = introspectionUtil.introspect(matches)\n\n\t\treturn matches\n\t\t\t.map((path, idx) => {\n\t\t\t\tconst details = allDetails[idx]\n\t\t\t\treturn {\n\t\t\t\t\tpath,\n\t\t\t\t\tname: details.classes?.[0]?.className,\n\t\t\t\t\tisDefaultExport: true,\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((match) => !!match.name)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;IAEqBA,gB;EAGpB,0BAAmBC,GAAnB,EAAgC;IAAA;IAAA;IAC/B,KAAKA,GAAL,GAAWA,GAAX;EACA;;;;;6GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACuB,wBAAO,CAC5BC,2BAASC,WAAT,CAAqB,KAAKF,GAA1B,EAA+B,IAA/B,EAAqC,mBAArC,CAD4B,EAE5B,YAF4B,CAAP,CADvB;;cAAA;gBACOG,OADP;gBAMOC,UANP,GAMoBC,0BAAkBC,UAAlB,CAA6BH,OAA7B,CANpB;gBAAA,iCAQQA,OAAO,CACZI,GADK,CACD,UAACC,IAAD,EAAOC,GAAP,EAAe;kBAAA;;kBACnB,IAAMC,OAAO,GAAGN,UAAU,CAACK,GAAD,CAA1B;kBACA,OAAO;oBACND,IAAI,EAAJA,IADM;oBAENG,IAAI,sBAAED,OAAO,CAACE,OAAV,0EAAE,iBAAkB,CAAlB,CAAF,sDAAE,kBAAsBC,SAFtB;oBAGNC,eAAe,EAAE;kBAHX,CAAP;gBAKA,CARK,EASLC,MATK,CASE,UAACC,KAAD;kBAAA,OAAW,CAAC,CAACA,KAAK,CAACL,IAAnB;gBAAA,CATF,CARR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/error/actions/CreateAction.ts"],"names":["CreateAction","createErrorActionSchema","options","normalizedOptions","validateAndNormalizeOptions","schemaCreateAction","Action","createSchemaOptions","createSchemaActionSchema","builderFunction","shouldEnableVersioning","syncAfterCreate","schemaBuilderDestinationDir","errorBuilderDestinationDir","execute","createResults","syncOptions","syncErrorActionSchema","syncResults","mergedResults","actionUtil","mergeActionResults","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAMqBA,Y;;;;;;;;;;;;;;;sGACGC,8B;0GACI,uC;;;;;;;mGAE3B,iBAAqBC,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;AAGOG,gBAAAA,kBAHP,GAG4B,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,CAH5B;AAKOC,gBAAAA,mBALP,GAK6B,mCAC3BC,+BAD2B,kCAGvBL,iBAHuB;AAI1BM,kBAAAA,eAAe,EAAE,kBAJS;AAK1BC,kBAAAA,sBAAsB,EAAE,KALE;AAM1BC,kBAAAA,eAAe,EAAE,KANS;AAO1BC,kBAAAA,2BAA2B,EAC1BT,iBAAiB,CAACU;AARO,mBAL7B;AAAA;AAAA,uBAiB6BR,kBAAkB,CAACS,OAAnB,CAA2BP,mBAA3B,CAjB7B;;AAAA;AAiBOQ,gBAAAA,aAjBP;AAmBOC,gBAAAA,WAnBP,GAmBqB,mCACnBC,4BADmB,EAEnBd,iBAFmB,CAnBrB;AAAA;AAAA,uBAuB2B,KAAKG,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BQ,OAA7B,CAAqCE,WAArC,CAvB3B;;AAAA;AAuBOE,gBAAAA,WAvBP;AAwBOC,gBAAAA,aAxBP,GAwBuBC,mBAAWC,kBAAX,CACrBN,aADqB,EAErBG,WAFqB,CAxBvB;AAAA,iDA6BQC,aA7BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAJyCG,2B","sourcesContent":["import { normalizeSchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema'\nimport createSchemaActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema'\nimport syncErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createErrorActionSchema\n\tpublic invocationMessage = 'Creating a new error builder... 🤾‍♀️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst schemaCreateAction = this.Action('schema', 'create')\n\n\t\tconst createSchemaOptions = normalizeSchemaValues(\n\t\t\tcreateSchemaActionSchema,\n\t\t\t{\n\t\t\t\t...normalizedOptions,\n\t\t\t\tbuilderFunction: 'buildErrorSchema',\n\t\t\t\tshouldEnableVersioning: false,\n\t\t\t\tsyncAfterCreate: false,\n\t\t\t\tschemaBuilderDestinationDir:\n\t\t\t\t\tnormalizedOptions.errorBuilderDestinationDir,\n\t\t\t}\n\t\t)\n\n\t\tconst createResults = await schemaCreateAction.execute(createSchemaOptions)\n\n\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\tsyncErrorActionSchema,\n\t\t\tnormalizedOptions\n\t\t)\n\t\tconst syncResults = await this.Action('error', 'sync').execute(syncOptions)\n\t\tconst mergedResults = actionUtil.mergeActionResults(\n\t\t\tcreateResults,\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn mergedResults\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["CreateAction","createErrorActionSchema","options","normalizedOptions","validateAndNormalizeOptions","schemaCreateAction","Action","createSchemaOptions","createSchemaActionSchema","builderFunction","shouldEnableVersioning","syncAfterCreate","schemaBuilderDestinationDir","errorBuilderDestinationDir","execute","createResults","syncOptions","syncErrorActionSchema","syncResults","mergedResults","actionUtil","mergeActionResults","AbstractAction"],"sources":["../../../../src/features/error/actions/CreateAction.ts"],"sourcesContent":["import { normalizeSchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema'\nimport createSchemaActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema'\nimport syncErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createErrorActionSchema\n\tpublic invocationMessage = 'Creating a new error builder... 🤾‍♀️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst schemaCreateAction = this.Action('schema', 'create')\n\n\t\tconst createSchemaOptions = normalizeSchemaValues(\n\t\t\tcreateSchemaActionSchema,\n\t\t\t{\n\t\t\t\t...normalizedOptions,\n\t\t\t\tbuilderFunction: 'buildErrorSchema',\n\t\t\t\tshouldEnableVersioning: false,\n\t\t\t\tsyncAfterCreate: false,\n\t\t\t\tschemaBuilderDestinationDir:\n\t\t\t\t\tnormalizedOptions.errorBuilderDestinationDir,\n\t\t\t}\n\t\t)\n\n\t\tconst createResults = await schemaCreateAction.execute(createSchemaOptions)\n\n\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\tsyncErrorActionSchema,\n\t\t\tnormalizedOptions\n\t\t)\n\t\tconst syncResults = await this.Action('error', 'sync').execute(syncOptions)\n\t\tconst mergedResults = actionUtil.mergeActionResults(\n\t\t\tcreateResults,\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn mergedResults\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAMqBA,Y;;;;;;;;;;;;;;;sGACGC,8B;0GACI,uC;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;gBAGOG,kBAHP,GAG4B,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,CAH5B;gBAKOC,mBALP,GAK6B,mCAC3BC,+BAD2B,kCAGvBL,iBAHuB;kBAI1BM,eAAe,EAAE,kBAJS;kBAK1BC,sBAAsB,EAAE,KALE;kBAM1BC,eAAe,EAAE,KANS;kBAO1BC,2BAA2B,EAC1BT,iBAAiB,CAACU;gBARO,GAL7B;gBAAA;gBAAA,OAiB6BR,kBAAkB,CAACS,OAAnB,CAA2BP,mBAA3B,CAjB7B;;cAAA;gBAiBOQ,aAjBP;gBAmBOC,WAnBP,GAmBqB,mCACnBC,4BADmB,EAEnBd,iBAFmB,CAnBrB;gBAAA;gBAAA,OAuB2B,KAAKG,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BQ,OAA7B,CAAqCE,WAArC,CAvB3B;;cAAA;gBAuBOE,WAvBP;gBAwBOC,aAxBP,GAwBuBC,mBAAWC,kBAAX,CACrBN,aADqB,EAErBG,WAFqB,CAxBvB;gBAAA,iCA6BQC,aA7BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCG,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/error/actions/SyncAction.ts"],"names":["SyncAction","syncErrorActionSchema","options","normalizedOptions","validateAndNormalizeOptions","errorTypesDestinationDir","errorClassDestinationDir","schemaSyncAction","Action","syncErrors","errorSyncResults","errors","areSyncResultsEmpty","deleteOrphanedDirs","meta","schemaTemplateItems","errorTemplateItems","map","item","code","namesUtil","toConst","namePascal","errorWriter","Writer","generateOptionTypes","optionsResults","writeOrAppendErrorsToClass","diskUtil","resolvePath","cwd","errorClassGeneratedFiles","files","deleteDir","resolvedErrorTypesDestinationDir","syncOptions","syncSchemasActionSchema","schemaTypesDestinationDirOrFile","schemaLookupDir","errorLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","syncingMessage","execute","length","errorGenerator","resolvedTypesDestination","topLevelItems","filter","i","isNested","writeOptionsTypesFile","AbstractAction"],"mappings":"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","sourcesContent":["import {\n\tSchemaTemplateItem,\n\tnormalizeSchemaValues,\n\tSchemaValuesWithDefaults,\n} from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ErrorTemplateItem } from '@sprucelabs/spruce-templates'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, FeatureAction } from '../../features.types'\nimport ErrorWriter from '../writers/ErrorWriter'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncErrorActionSchema\n\tpublic commandAliases = ['sync.errors']\n\tpublic invocationMessage = 'Generating error types... 🤾‍♀️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst { errorTypesDestinationDir, errorClassDestinationDir } =\n\t\t\tnormalizedOptions\n\n\t\tconst schemaSyncAction = this.Action(\n\t\t\t'schema',\n\t\t\t'sync'\n\t\t) as any as FeatureAction<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema>\n\n\t\tconst errorSyncResults = await this.syncErrors(\n\t\t\tschemaSyncAction,\n\t\t\tnormalizedOptions\n\t\t)\n\n\t\tif (errorSyncResults.errors) {\n\t\t\treturn errorSyncResults\n\t\t}\n\n\t\tif (this.areSyncResultsEmpty(errorSyncResults)) {\n\t\t\tthis.deleteOrphanedDirs(errorTypesDestinationDir)\n\t\t\treturn {}\n\t\t}\n\n\t\tconst { schemaTemplateItems } = errorSyncResults.meta as {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t}\n\n\t\tconst errorTemplateItems = schemaTemplateItems.map((item) => ({\n\t\t\t...item,\n\t\t\tcode: namesUtil.toConst(item.namePascal),\n\t\t}))\n\n\t\tconst errorWriter = this.Writer('error')\n\n\t\tconst optionsResults = await this.generateOptionTypes(\n\t\t\terrorWriter,\n\t\t\terrorTemplateItems,\n\t\t\terrorTypesDestinationDir\n\t\t)\n\n\t\tconst errorClassGeneratedFiles =\n\t\t\tawait errorWriter.writeOrAppendErrorsToClass(\n\t\t\t\tdiskUtil.resolvePath(this.cwd, errorClassDestinationDir),\n\t\t\t\terrorTemplateItems\n\t\t\t)\n\n\t\treturn {\n\t\t\tfiles: [\n\t\t\t\t...(errorSyncResults.files ?? []),\n\t\t\t\t...errorClassGeneratedFiles,\n\t\t\t\t...optionsResults,\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate deleteOrphanedDirs(errorTypesDestinationDir: string) {\n\t\tdiskUtil.deleteDir(diskUtil.resolvePath(this.cwd, errorTypesDestinationDir))\n\t}\n\n\tprivate async syncErrors(\n\t\tschemaSyncAction: FeatureAction<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema>,\n\t\tnormalizedOptions: SchemaValuesWithDefaults<SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema>\n\t) {\n\t\tconst resolvedErrorTypesDestinationDir = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tnormalizedOptions.errorTypesDestinationDir,\n\t\t\t'errors.types.ts'\n\t\t)\n\n\t\tconst syncOptions = normalizeSchemaValues(syncSchemasActionSchema, {\n\t\t\t...normalizedOptions,\n\t\t\tschemaTypesDestinationDirOrFile: resolvedErrorTypesDestinationDir,\n\t\t\tschemaLookupDir: normalizedOptions.errorLookupDir,\n\t\t\tshouldEnableVersioning: false,\n\t\t\tglobalSchemaNamespace: 'SpruceErrors',\n\t\t\tshouldFetchRemoteSchemas: false,\n\t\t\tgenerateFieldTypes: true,\n\t\t\tgenerateStandaloneTypesFile: true,\n\t\t\tdeleteDestinationDirIfNoSchemas: true,\n\t\t\tshouldFetchCoreSchemas: false,\n\t\t\tsyncingMessage: 'Syncing errors...',\n\t\t})\n\n\t\tconst errorSyncResults = await schemaSyncAction.execute(syncOptions)\n\n\t\treturn errorSyncResults\n\t}\n\n\tprivate areSyncResultsEmpty(errorSyncResults: FeatureActionResponse) {\n\t\treturn (\n\t\t\t!errorSyncResults.meta ||\n\t\t\t!errorSyncResults.files ||\n\t\t\terrorSyncResults.files.length === 0\n\t\t)\n\t}\n\n\tprivate async generateOptionTypes(\n\t\terrorGenerator: ErrorWriter,\n\t\terrorTemplateItems: ErrorTemplateItem[],\n\t\terrorTypesDestinationDir: string\n\t) {\n\t\tif (errorTemplateItems.length === 0) {\n\t\t\treturn []\n\t\t}\n\n\t\tconst resolvedTypesDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\terrorTypesDestinationDir\n\t\t)\n\n\t\tconst topLevelItems = errorTemplateItems.filter((i) => !i.isNested)\n\n\t\tconst optionsResults = await errorGenerator.writeOptionsTypesFile(\n\t\t\tresolvedTypesDestination,\n\t\t\ttopLevelItems\n\t\t)\n\n\t\treturn optionsResults\n\t}\n}\n"],"file":"SyncAction.js"}
1
+ {"version":3,"file":"SyncAction.js","names":["SyncAction","syncErrorActionSchema","options","normalizedOptions","validateAndNormalizeOptions","errorTypesDestinationDir","errorClassDestinationDir","schemaSyncAction","Action","syncErrors","errorSyncResults","errors","areSyncResultsEmpty","deleteOrphanedDirs","meta","schemaTemplateItems","errorTemplateItems","map","item","code","namesUtil","toConst","namePascal","errorWriter","Writer","generateOptionTypes","optionsResults","writeOrAppendErrorsToClass","diskUtil","resolvePath","cwd","errorClassGeneratedFiles","files","deleteDir","resolvedErrorTypesDestinationDir","syncOptions","syncSchemasActionSchema","schemaTypesDestinationDirOrFile","schemaLookupDir","errorLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","syncingMessage","execute","length","errorGenerator","resolvedTypesDestination","topLevelItems","filter","i","isNested","writeOptionsTypesFile","AbstractAction"],"sources":["../../../../src/features/error/actions/SyncAction.ts"],"sourcesContent":["import {\n\tSchemaTemplateItem,\n\tnormalizeSchemaValues,\n\tSchemaValuesWithDefaults,\n} from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ErrorTemplateItem } from '@sprucelabs/spruce-templates'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncErrorActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, FeatureAction } from '../../features.types'\nimport ErrorWriter from '../writers/ErrorWriter'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncErrorActionSchema\n\tpublic commandAliases = ['sync.errors']\n\tpublic invocationMessage = 'Generating error types... 🤾‍♀️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst { errorTypesDestinationDir, errorClassDestinationDir } =\n\t\t\tnormalizedOptions\n\n\t\tconst schemaSyncAction = this.Action(\n\t\t\t'schema',\n\t\t\t'sync'\n\t\t) as any as FeatureAction<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema>\n\n\t\tconst errorSyncResults = await this.syncErrors(\n\t\t\tschemaSyncAction,\n\t\t\tnormalizedOptions\n\t\t)\n\n\t\tif (errorSyncResults.errors) {\n\t\t\treturn errorSyncResults\n\t\t}\n\n\t\tif (this.areSyncResultsEmpty(errorSyncResults)) {\n\t\t\tthis.deleteOrphanedDirs(errorTypesDestinationDir)\n\t\t\treturn {}\n\t\t}\n\n\t\tconst { schemaTemplateItems } = errorSyncResults.meta as {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t}\n\n\t\tconst errorTemplateItems = schemaTemplateItems.map((item) => ({\n\t\t\t...item,\n\t\t\tcode: namesUtil.toConst(item.namePascal),\n\t\t}))\n\n\t\tconst errorWriter = this.Writer('error')\n\n\t\tconst optionsResults = await this.generateOptionTypes(\n\t\t\terrorWriter,\n\t\t\terrorTemplateItems,\n\t\t\terrorTypesDestinationDir\n\t\t)\n\n\t\tconst errorClassGeneratedFiles =\n\t\t\tawait errorWriter.writeOrAppendErrorsToClass(\n\t\t\t\tdiskUtil.resolvePath(this.cwd, errorClassDestinationDir),\n\t\t\t\terrorTemplateItems\n\t\t\t)\n\n\t\treturn {\n\t\t\tfiles: [\n\t\t\t\t...(errorSyncResults.files ?? []),\n\t\t\t\t...errorClassGeneratedFiles,\n\t\t\t\t...optionsResults,\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate deleteOrphanedDirs(errorTypesDestinationDir: string) {\n\t\tdiskUtil.deleteDir(diskUtil.resolvePath(this.cwd, errorTypesDestinationDir))\n\t}\n\n\tprivate async syncErrors(\n\t\tschemaSyncAction: FeatureAction<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema>,\n\t\tnormalizedOptions: SchemaValuesWithDefaults<SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema>\n\t) {\n\t\tconst resolvedErrorTypesDestinationDir = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tnormalizedOptions.errorTypesDestinationDir,\n\t\t\t'errors.types.ts'\n\t\t)\n\n\t\tconst syncOptions = normalizeSchemaValues(syncSchemasActionSchema, {\n\t\t\t...normalizedOptions,\n\t\t\tschemaTypesDestinationDirOrFile: resolvedErrorTypesDestinationDir,\n\t\t\tschemaLookupDir: normalizedOptions.errorLookupDir,\n\t\t\tshouldEnableVersioning: false,\n\t\t\tglobalSchemaNamespace: 'SpruceErrors',\n\t\t\tshouldFetchRemoteSchemas: false,\n\t\t\tgenerateFieldTypes: true,\n\t\t\tgenerateStandaloneTypesFile: true,\n\t\t\tdeleteDestinationDirIfNoSchemas: true,\n\t\t\tshouldFetchCoreSchemas: false,\n\t\t\tsyncingMessage: 'Syncing errors...',\n\t\t})\n\n\t\tconst errorSyncResults = await schemaSyncAction.execute(syncOptions)\n\n\t\treturn errorSyncResults\n\t}\n\n\tprivate areSyncResultsEmpty(errorSyncResults: FeatureActionResponse) {\n\t\treturn (\n\t\t\t!errorSyncResults.meta ||\n\t\t\t!errorSyncResults.files ||\n\t\t\terrorSyncResults.files.length === 0\n\t\t)\n\t}\n\n\tprivate async generateOptionTypes(\n\t\terrorGenerator: ErrorWriter,\n\t\terrorTemplateItems: ErrorTemplateItem[],\n\t\terrorTypesDestinationDir: string\n\t) {\n\t\tif (errorTemplateItems.length === 0) {\n\t\t\treturn []\n\t\t}\n\n\t\tconst resolvedTypesDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\terrorTypesDestinationDir\n\t\t)\n\n\t\tconst topLevelItems = errorTemplateItems.filter((i) => !i.isNested)\n\n\t\tconst optionsResults = await errorGenerator.writeOptionsTypesFile(\n\t\t\tresolvedTypesDestination,\n\t\t\ttopLevelItems\n\t\t)\n\n\t\treturn optionsResults\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/error/writers/ErrorWriter.ts"],"names":["ErrorWriter","destinationDir","errors","results","length","Error","resolvedDestination","diskUtil","resolvePath","doesFileExist","ui","startLoading","errorContents","templates","error","filter","isNested","writeFileIfChangedMixinResults","dropInNewErrorCases","updates","push","description","lint","destinationFile","dropInErrorCaseIfMissing","dropInResults","errorBlock","renderClassDefinition","currentErrorContents","readFile","blockMatches","search","doesErrorCaseExist","newErrorContents","substring","code","currentContents","RegExp","errorTemplateItems","contents","errorOptionsTypes","options","destination","cwd","resolveHashSprucePath","pluginContents","errorPlugin","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAGA;;;;;;;;;;;;;;;;IAEqBA,W;;;;;;;;;;;;;sHACpB,iBACCC,cADD,EAECC,MAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAIKC,gBAAAA,OAJL,GAI6B,EAJ7B;;AAAA,sBAMKD,MAAM,CAACE,MAAP,KAAkB,CANvB;AAAA;AAAA;AAAA;;AAAA,sBAQQ,IAAIC,KAAJ,CAAU,yBAAV,CARR;;AAAA;AAWOC,gBAAAA,mBAXP,GAW6BC,2BAASC,WAAT,CAC3BP,cAD2B,mBAX7B;;AAAA,oBAgBMM,2BAASE,aAAT,CAAuBH,mBAAvB,CAhBN;AAAA;AAAA;AAAA;;AAiBE,qBAAKI,EAAL,CAAQC,YAAR,CAAqB,sBAArB;AAEMC,gBAAAA,aAnBR,GAmBwB,KAAKC,SAAL,CAAeC,KAAf,CAAqB;AAC1CZ,kBAAAA,MAAM,EAAEA,MAAM,CAACa,MAAP,CAAc,UAACD,KAAD;AAAA,2BAAW,CAACA,KAAK,CAACE,QAAlB;AAAA,mBAAd;AADkC,iBAArB,CAnBxB;AAAA;AAAA,uBAsBkB,KAAKC,8BAAL,CACfX,mBADe,EAEfM,aAFe,EAGf,+EAHe,EAIfT,OAJe,CAtBlB;;AAAA;AAsBEA,gBAAAA,OAtBF;AAAA;AAAA;;AAAA;AA6BE,qBAAKO,EAAL,CAAQC,YAAR,CAAqB,sBAArB;AA7BF;AAAA,uBA+BwB,KAAKO,mBAAL,CACrBhB,MADqB,EAErBI,mBAFqB,CA/BxB;;AAAA;AA+BQa,gBAAAA,OA/BR;;AAmCE,oBAAIA,OAAO,CAACf,MAAR,GAAiB,CAArB,EAAwB;AACvBD,kBAAAA,OAAO,CAACiB,IAAR,iCACID,OAAO,CAAC,CAAD,CADX;AAECE,oBAAAA,WAAW,YAAKF,OAAO,CAACf,MAAb;AAFZ;AAIA;;AAxCH;AAAA;AAAA,uBA2CO,KAAKkB,IAAL,CAAUhB,mBAAV,CA3CP;;AAAA;AAAA,iDA6CQH,OA7CR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAgDA,kBACCD,MADD,EAECqB,eAFD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAIKpB,gBAAAA,OAJL,GAIgC,EAJhC;AAAA,uDAMqBD,MANrB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMYY,gBAAAA,KANZ;;AAAA,oBAOOA,KAAK,CAACE,QAPb;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAQ+B,KAAKQ,wBAAL,CAC3BV,KAD2B,EAE3BS,eAF2B,CAR/B;;AAAA;AAQSE,gBAAAA,aART;AAYGtB,gBAAAA,OAAO,CAACiB,IAAR,OAAAjB,OAAO,sCAASsB,aAAT,EAAP;;AAZH;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA,kDAgBQtB,OAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAmBA,kBACCW,KADD,EAECS,eAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAIKpB,gBAAAA,OAJL,GAIgC,EAJhC;AAKOuB,gBAAAA,UALP,GAKoB,KAAKb,SAAL,CAAeC,KAAf,CAAqB;AACvCZ,kBAAAA,MAAM,EAAE,CAACY,KAAD,CAD+B;AAEvCa,kBAAAA,qBAAqB,EAAE;AAFgB,iBAArB,CALpB,EAUC;;AACMC,gBAAAA,oBAXP,GAW8BrB,2BAASsB,QAAT,CAAkBN,eAAlB,CAX9B;AAYOO,gBAAAA,YAZP,GAYsBF,oBAAoB,CAACG,MAArB,CAA4B,WAA5B,CAZtB;;AAAA,sBAcED,YAAY,GAAG,CAAC,CAAhB,IACA,CAAC,KAAKE,kBAAL,CAAwBJ,oBAAxB,EAA8Cd,KAA9C,CAfH;AAAA;AAAA;AAAA;;AAiBQmB,gBAAAA,gBAjBR,GAkBGL,oBAAoB,CAACM,SAArB,CAA+B,CAA/B,EAAkCJ,YAAlC,IACA,IADA,GAEAJ,UAFA,GAGA,IAHA,GAIAE,oBAAoB,CAACM,SAArB,CAA+BJ,YAA/B,CAtBH;AAAA;AAAA,uBAwBkB,KAAKb,8BAAL,CACfM,eADe,EAEfU,gBAFe,4CAGoBnB,KAAK,CAACqB,IAH1B,QAIfhC,OAJe,CAxBlB;;AAAA;AAwBEA,gBAAAA,OAxBF;;AAAA;AAAA,kDA+BQA,OA/BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAkCA,4BACCiC,eADD,EAECtB,KAFD,EAGE;AACD,aAAOsB,eAAe,CAACL,MAAhB,CAAuB,IAAIM,MAAJ,iBAAoBvB,KAAK,CAACqB,IAA1B,QAAvB,IAA8D,CAAC,CAAtE;AACA;;;;iHAED,kBACClC,cADD,EAECqC,kBAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAIOC,gBAAAA,QAJP,GAIkB,KAAK1B,SAAL,CAAe2B,iBAAf,CAAiC;AACjDC,kBAAAA,OAAO,EAAEH;AADwC,iBAAjC,CAJlB;AAQOI,gBAAAA,WARP,GAQqBnC,2BAASC,WAAT,CAAqBP,cAArB,EAAqC,kBAArC,CARrB;AAUC,qBAAKS,EAAL,CAAQC,YAAR,CAAqB,2BAArB;AAEMR,gBAAAA,OAZP,GAYiB,KAAKc,8BAAL,CACfyB,WADe,EAEfH,QAFe,EAGf,wDAHe,CAZjB;AAAA;AAAA,uBAkBO,KAAKjB,IAAL,CAAUoB,WAAV,CAlBP;;AAAA;AAAA,kDAoBQvC,OApBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uGAuBA,kBAAyBwC,GAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOD,gBAAAA,WADP,GACqBnC,2BAASqC,qBAAT,CACnBD,GADmB,EAEnB,UAFmB,EAGnB,iBAHmB,CADrB;AAOOE,gBAAAA,cAPP,GAOwB,KAAKhC,SAAL,CAAeiC,WAAf,EAPxB;AASO3C,gBAAAA,OATP,GASiB,KAAKc,8BAAL,CACfyB,WADe,EAEfG,cAFe,EAGf,yDAHe,CATjB;AAAA;AAAA,uBAeO,KAAKvB,IAAL,CAAUoB,WAAV,CAfP;;AAAA;AAAA,kDAiBQvC,OAjBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EApIwC4C,2B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ErrorTemplateItem } from '@sprucelabs/spruce-templates'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class ErrorWriter extends AbstractWriter {\n\tpublic async writeOrAppendErrorsToClass(\n\t\tdestinationDir: string,\n\t\terrors: ErrorTemplateItem[]\n\t): Promise<WriteResults> {\n\t\tlet results: WriteResults = []\n\n\t\tif (errors.length === 0) {\n\t\t\t// todo move to proper error\n\t\t\tthrow new Error('Need at least one error')\n\t\t}\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tdestinationDir,\n\t\t\t`SpruceError.ts`\n\t\t)\n\n\t\tif (!diskUtil.doesFileExist(resolvedDestination)) {\n\t\t\tthis.ui.startLoading('Creating Error class')\n\n\t\t\tconst errorContents = this.templates.error({\n\t\t\t\terrors: errors.filter((error) => !error.isNested),\n\t\t\t})\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\terrorContents,\n\t\t\t\t'A new subclass of SpruceBaseError where you can control your error messaging.',\n\t\t\t\tresults\n\t\t\t)\n\t\t} else {\n\t\t\tthis.ui.startLoading('Updating Error class')\n\n\t\t\tconst updates = await this.dropInNewErrorCases(\n\t\t\t\terrors,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\t\t\tif (updates.length > 0) {\n\t\t\t\tresults.push({\n\t\t\t\t\t...updates[0],\n\t\t\t\t\tdescription: `${updates.length} new error cases were dropped in.`,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n\n\tprivate async dropInNewErrorCases(\n\t\terrors: ErrorTemplateItem[],\n\t\tdestinationFile: string\n\t) {\n\t\tlet results: GeneratedFile[] = []\n\n\t\tfor (const error of errors) {\n\t\t\tif (!error.isNested) {\n\t\t\t\tconst dropInResults = await this.dropInErrorCaseIfMissing(\n\t\t\t\t\terror,\n\t\t\t\t\tdestinationFile\n\t\t\t\t)\n\t\t\t\tresults.push(...dropInResults)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async dropInErrorCaseIfMissing(\n\t\terror: ErrorTemplateItem,\n\t\tdestinationFile: string\n\t) {\n\t\tlet results: GeneratedFile[] = []\n\t\tconst errorBlock = this.templates.error({\n\t\t\terrors: [error],\n\t\t\trenderClassDefinition: false,\n\t\t})\n\n\t\t// Try and drop in the block right before \"default:\"\n\t\tconst currentErrorContents = diskUtil.readFile(destinationFile)\n\t\tconst blockMatches = currentErrorContents.search(/default:/g)\n\t\tif (\n\t\t\tblockMatches > -1 &&\n\t\t\t!this.doesErrorCaseExist(currentErrorContents, error)\n\t\t) {\n\t\t\tconst newErrorContents =\n\t\t\t\tcurrentErrorContents.substring(0, blockMatches) +\n\t\t\t\t'\\n' +\n\t\t\t\terrorBlock +\n\t\t\t\t'\\n' +\n\t\t\t\tcurrentErrorContents.substring(blockMatches)\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tdestinationFile,\n\t\t\t\tnewErrorContents,\n\t\t\t\t`A new block was added to handle ${error.code}.`,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate doesErrorCaseExist(\n\t\tcurrentContents: string,\n\t\terror: ErrorTemplateItem\n\t) {\n\t\treturn currentContents.search(new RegExp(`case '${error.code}':`)) > -1\n\t}\n\n\tpublic async writeOptionsTypesFile(\n\t\tdestinationDir: string,\n\t\terrorTemplateItems: ErrorTemplateItem[]\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.errorOptionsTypes({\n\t\t\toptions: errorTemplateItems,\n\t\t})\n\n\t\tconst destination = diskUtil.resolvePath(destinationDir, 'options.types.ts')\n\n\t\tthis.ui.startLoading('Updating error options...')\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'A union of all possible error codes and their options.'\n\t\t)\n\n\t\tawait this.lint(destination)\n\n\t\treturn results\n\t}\n\n\tpublic async writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'error.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.errorPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with Error generation and handling.'\n\t\t)\n\n\t\tawait this.lint(destination)\n\n\t\treturn results\n\t}\n}\n"],"file":"ErrorWriter.js"}
1
+ {"version":3,"file":"ErrorWriter.js","names":["ErrorWriter","destinationDir","errors","results","length","Error","resolvedDestination","diskUtil","resolvePath","doesFileExist","ui","startLoading","errorContents","templates","error","filter","isNested","writeFileIfChangedMixinResults","dropInNewErrorCases","updates","push","description","lint","destinationFile","dropInErrorCaseIfMissing","dropInResults","errorBlock","renderClassDefinition","currentErrorContents","readFile","blockMatches","search","doesErrorCaseExist","newErrorContents","substring","code","currentContents","RegExp","errorTemplateItems","contents","errorOptionsTypes","options","destination","cwd","resolveHashSprucePath","pluginContents","errorPlugin","AbstractWriter"],"sources":["../../../../src/features/error/writers/ErrorWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ErrorTemplateItem } from '@sprucelabs/spruce-templates'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class ErrorWriter extends AbstractWriter {\n\tpublic async writeOrAppendErrorsToClass(\n\t\tdestinationDir: string,\n\t\terrors: ErrorTemplateItem[]\n\t): Promise<WriteResults> {\n\t\tlet results: WriteResults = []\n\n\t\tif (errors.length === 0) {\n\t\t\t// todo move to proper error\n\t\t\tthrow new Error('Need at least one error')\n\t\t}\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tdestinationDir,\n\t\t\t`SpruceError.ts`\n\t\t)\n\n\t\tif (!diskUtil.doesFileExist(resolvedDestination)) {\n\t\t\tthis.ui.startLoading('Creating Error class')\n\n\t\t\tconst errorContents = this.templates.error({\n\t\t\t\terrors: errors.filter((error) => !error.isNested),\n\t\t\t})\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\terrorContents,\n\t\t\t\t'A new subclass of SpruceBaseError where you can control your error messaging.',\n\t\t\t\tresults\n\t\t\t)\n\t\t} else {\n\t\t\tthis.ui.startLoading('Updating Error class')\n\n\t\t\tconst updates = await this.dropInNewErrorCases(\n\t\t\t\terrors,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\t\t\tif (updates.length > 0) {\n\t\t\t\tresults.push({\n\t\t\t\t\t...updates[0],\n\t\t\t\t\tdescription: `${updates.length} new error cases were dropped in.`,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n\n\tprivate async dropInNewErrorCases(\n\t\terrors: ErrorTemplateItem[],\n\t\tdestinationFile: string\n\t) {\n\t\tlet results: GeneratedFile[] = []\n\n\t\tfor (const error of errors) {\n\t\t\tif (!error.isNested) {\n\t\t\t\tconst dropInResults = await this.dropInErrorCaseIfMissing(\n\t\t\t\t\terror,\n\t\t\t\t\tdestinationFile\n\t\t\t\t)\n\t\t\t\tresults.push(...dropInResults)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async dropInErrorCaseIfMissing(\n\t\terror: ErrorTemplateItem,\n\t\tdestinationFile: string\n\t) {\n\t\tlet results: GeneratedFile[] = []\n\t\tconst errorBlock = this.templates.error({\n\t\t\terrors: [error],\n\t\t\trenderClassDefinition: false,\n\t\t})\n\n\t\t// Try and drop in the block right before \"default:\"\n\t\tconst currentErrorContents = diskUtil.readFile(destinationFile)\n\t\tconst blockMatches = currentErrorContents.search(/default:/g)\n\t\tif (\n\t\t\tblockMatches > -1 &&\n\t\t\t!this.doesErrorCaseExist(currentErrorContents, error)\n\t\t) {\n\t\t\tconst newErrorContents =\n\t\t\t\tcurrentErrorContents.substring(0, blockMatches) +\n\t\t\t\t'\\n' +\n\t\t\t\terrorBlock +\n\t\t\t\t'\\n' +\n\t\t\t\tcurrentErrorContents.substring(blockMatches)\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tdestinationFile,\n\t\t\t\tnewErrorContents,\n\t\t\t\t`A new block was added to handle ${error.code}.`,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate doesErrorCaseExist(\n\t\tcurrentContents: string,\n\t\terror: ErrorTemplateItem\n\t) {\n\t\treturn currentContents.search(new RegExp(`case '${error.code}':`)) > -1\n\t}\n\n\tpublic async writeOptionsTypesFile(\n\t\tdestinationDir: string,\n\t\terrorTemplateItems: ErrorTemplateItem[]\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.errorOptionsTypes({\n\t\t\toptions: errorTemplateItems,\n\t\t})\n\n\t\tconst destination = diskUtil.resolvePath(destinationDir, 'options.types.ts')\n\n\t\tthis.ui.startLoading('Updating error options...')\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'A union of all possible error codes and their options.'\n\t\t)\n\n\t\tawait this.lint(destination)\n\n\t\treturn results\n\t}\n\n\tpublic async writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'error.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.errorPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with Error generation and handling.'\n\t\t)\n\n\t\tawait this.lint(destination)\n\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}