@sprucelabs/spruce-cli 19.0.0 → 19.1.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 (1014) hide show
  1. package/.DS_Store +0 -0
  2. package/.env +25 -0
  3. package/.eslintcache +1 -0
  4. package/CHANGELOG.md +6 -0
  5. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  45. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  46. package/build/.spruce/events/events.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  52. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
  53. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  54. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
  55. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
  56. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  57. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  70. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  71. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  72. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  73. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  74. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  75. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  76. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  77. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  78. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  79. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  80. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  81. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  82. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  83. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  84. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  85. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  112. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  113. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  114. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  115. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  116. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  117. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  118. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  119. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  120. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  121. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  122. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  123. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  124. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  125. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  126. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  127. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  128. package/build/.spruce/skill.types.js.map +1 -1
  129. package/build/GlobalEmitter.js.map +1 -1
  130. package/build/InFlightEntertainment.js.map +1 -1
  131. package/build/__tests__/behavioral/AddingADependency.test.js +130 -144
  132. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  133. package/build/__tests__/behavioral/BlockingCommands.test.js +59 -63
  134. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  135. package/build/__tests__/behavioral/BootingTheCli.test.d.ts +2 -1
  136. package/build/__tests__/behavioral/BootingTheCli.test.js +60 -22
  137. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  138. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +46 -52
  139. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  140. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +50 -56
  141. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  142. package/build/__tests__/behavioral/DeployingASkill.test.js +512 -548
  143. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  144. package/build/__tests__/behavioral/DeployingToSandbox.test.js +321 -351
  145. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  146. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +137 -153
  147. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  148. package/build/__tests__/behavioral/GettingCliVersion.test.js +31 -37
  149. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  150. package/build/__tests__/behavioral/ManagingDependencies.test.js +112 -122
  151. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +41 -45
  153. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  154. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +55 -59
  155. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  156. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +56 -64
  157. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  158. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +90 -104
  159. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  160. package/build/__tests__/behavioral/SettingRemote.test.js +64 -74
  161. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  162. package/build/__tests__/behavioral/SettingUpVscode.test.js +52 -56
  163. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  164. package/build/__tests__/behavioral/TestingAConversation.test.js +143 -157
  165. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  166. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +90 -100
  167. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  168. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +74 -78
  169. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +180 -190
  171. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  172. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +34 -38
  173. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  174. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +179 -201
  175. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  176. package/build/__tests__/behavioral/events/CreatingAListener.test.js +423 -459
  177. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  178. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +287 -315
  179. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  180. package/build/__tests__/behavioral/events/EventWriter.test.js +64 -66
  181. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  182. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +286 -316
  183. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  184. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +398 -420
  185. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  186. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +43 -49
  187. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  188. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +55 -59
  189. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  190. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +31 -35
  191. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  192. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +98 -104
  193. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  194. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +123 -135
  195. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  196. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +15 -17
  197. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  198. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +66 -72
  199. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  200. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +76 -82
  201. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  202. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +49 -55
  203. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  204. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +79 -85
  205. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  206. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +45 -49
  207. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  208. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +40 -46
  209. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  210. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +15 -19
  211. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  212. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +174 -198
  213. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  214. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +23 -27
  215. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  216. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +1 -0
  217. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +209 -208
  218. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  219. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +34 -40
  220. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  221. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  222. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  223. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
  224. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +153 -171
  225. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  226. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +40 -46
  227. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  228. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +102 -116
  229. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  230. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +227 -247
  231. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  232. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +27 -29
  233. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  234. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +38 -42
  235. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  236. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +65 -73
  237. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  238. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +100 -110
  239. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  240. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +25 -27
  241. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  242. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +425 -465
  243. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  244. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +49 -55
  245. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  246. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +435 -467
  247. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  248. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +19 -21
  249. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  250. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +9 -11
  251. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  252. package/build/__tests__/behavioral/skill/BootingASkill.test.js +61 -67
  253. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  254. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +37 -41
  255. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  256. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +183 -199
  257. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  258. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +153 -171
  259. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  260. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +37 -43
  261. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  262. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +96 -104
  263. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  264. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +168 -184
  265. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  266. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +169 -191
  267. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  268. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +105 -125
  269. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  270. package/build/__tests__/behavioral/tests/CreatingATest.test.js +208 -232
  271. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  272. package/build/__tests__/behavioral/tests/RunningTests.test.js +75 -79
  273. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  274. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +293 -355
  275. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  276. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +65 -75
  277. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  278. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +29 -33
  279. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  280. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +50 -54
  281. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  282. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +87 -95
  283. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  284. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +57 -65
  285. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  286. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +146 -156
  287. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  288. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +79 -87
  289. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  290. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +282 -302
  291. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  292. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +183 -197
  293. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  294. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +214 -238
  295. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  296. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +118 -126
  297. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  298. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +138 -152
  299. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  300. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +61 -69
  301. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  302. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +90 -104
  303. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  304. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +194 -220
  305. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  306. package/build/__tests__/behavioral/views/CreatingATheme.test.js +83 -97
  307. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  308. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +64 -76
  309. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  310. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +102 -114
  311. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  312. package/build/__tests__/behavioral/views/SettingUpViews.test.js +33 -37
  313. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  314. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +94 -106
  315. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  316. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +32 -38
  317. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  318. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +302 -336
  319. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  320. package/build/__tests__/implementation/ActionExecuter.test.js +132 -136
  321. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  322. package/build/__tests__/implementation/ActionExecuter2.test.js +270 -286
  323. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  324. package/build/__tests__/implementation/ActionExecuter3.test.js +64 -72
  325. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  326. package/build/__tests__/implementation/ActionExecuter4.test.js +41 -47
  327. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  328. package/build/__tests__/implementation/ArgParser.test.js +13 -17
  329. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  330. package/build/__tests__/implementation/BuildService.test.js +25 -29
  331. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  332. package/build/__tests__/implementation/BulkImporting.test.js +116 -136
  333. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  334. package/build/__tests__/implementation/CachingImports.test.js +89 -99
  335. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  336. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  337. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +72 -90
  338. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  339. package/build/__tests__/implementation/DataStoreStore.test.js +127 -147
  340. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  341. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +46 -52
  342. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  343. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +27 -35
  344. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  345. package/build/__tests__/implementation/EventStore.test.js +371 -399
  346. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  347. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +21 -27
  348. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  349. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +155 -173
  350. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  351. package/build/__tests__/implementation/FeatureFixture.test.js +54 -62
  352. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  353. package/build/__tests__/implementation/FeatureInstaller.test.js +69 -77
  354. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  355. package/build/__tests__/implementation/FeaturesUtil.test.js +7 -9
  356. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  357. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +6 -8
  358. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  359. package/build/__tests__/implementation/GlobalEmitter.test.js +29 -33
  360. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  361. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  362. package/build/__tests__/implementation/JestJsonParser.test.js +9 -11
  363. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  364. package/build/__tests__/implementation/LintService.test.js +32 -36
  365. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  366. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  367. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +72 -80
  368. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  369. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +217 -243
  370. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  371. package/build/__tests__/implementation/OnboardingStore.test.js +19 -23
  372. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  373. package/build/__tests__/implementation/OrganizationStore.test.js +114 -124
  374. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  375. package/build/__tests__/implementation/ParentTestFinder.test.js +38 -44
  376. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  377. package/build/__tests__/implementation/PkgService.test.js +63 -75
  378. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  379. package/build/__tests__/implementation/SchemaStore.test.js +314 -346
  380. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  381. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +9 -11
  382. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  383. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +128 -142
  384. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  385. package/build/__tests__/implementation/ServiceFactory.test.js +8 -10
  386. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  387. package/build/__tests__/implementation/SettingUpANodeModule.test.js +59 -65
  388. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  389. package/build/__tests__/implementation/SkillStore.test.js +153 -169
  390. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  391. package/build/__tests__/implementation/StoreFeature.test.js +49 -53
  392. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  393. package/build/__tests__/implementation/TestReporter.test.js +31 -39
  394. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  395. package/build/__tests__/implementation/TestRunner.test.js +215 -233
  396. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  397. package/build/__tests__/implementation/ValueTypeMapping.test.js +24 -28
  398. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  399. package/build/__tests__/implementation/Widgets.test.js +34 -42
  400. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  401. package/build/__tests__/support/EventFaker.js +12 -14
  402. package/build/__tests__/support/EventFaker.js.map +1 -1
  403. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  404. package/build/__tests__/support/scripts/first.script.js +7 -9
  405. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  406. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  407. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  408. package/build/addons/filePrompt.addon.js.map +1 -1
  409. package/build/boot.d.ts +2 -0
  410. package/build/boot.js +162 -0
  411. package/build/boot.js.map +1 -0
  412. package/build/{cli.d.ts → cli/Cli.d.ts} +9 -33
  413. package/build/cli/Cli.js +528 -0
  414. package/build/cli/Cli.js.map +1 -0
  415. package/build/components/AbstractComponent.js.map +1 -1
  416. package/build/components/FormComponent.js +156 -160
  417. package/build/components/FormComponent.js.map +1 -1
  418. package/build/components/QuizComponent.js +124 -128
  419. package/build/components/QuizComponent.js.map +1 -1
  420. package/build/constants.js.map +1 -1
  421. package/build/errors/SpruceError.js +1 -1
  422. package/build/errors/SpruceError.js.map +1 -1
  423. package/build/errors/actionCancelled.builder.js.map +1 -1
  424. package/build/errors/bootError.builder.js.map +1 -1
  425. package/build/errors/buildFailed.builder.js.map +1 -1
  426. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  427. package/build/errors/commandAborted.builder.js.map +1 -1
  428. package/build/errors/commandBlocked.builder.js.map +1 -1
  429. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  430. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  431. package/build/errors/dependencyExists.builder.js.map +1 -1
  432. package/build/errors/deployFailed.builder.js.map +1 -1
  433. package/build/errors/directoryEmpty.builder.js.map +1 -1
  434. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  435. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  436. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  437. package/build/errors/failedToImport.builder.js.map +1 -1
  438. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  439. package/build/errors/fileExists.builder.js.map +1 -1
  440. package/build/errors/generic.builder.js.map +1 -1
  441. package/build/errors/invalidCommand.builder.js.map +1 -1
  442. package/build/errors/invalidEventContract.builder.js.map +1 -1
  443. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  444. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  445. package/build/errors/lintFailed.builder.js.map +1 -1
  446. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  447. package/build/errors/missingDependencies.builder.js.map +1 -1
  448. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  449. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  450. package/build/errors/notImplemented.builder.js.map +1 -1
  451. package/build/errors/notLoggedIn.builder.js.map +1 -1
  452. package/build/errors/schemaExists.builder.js.map +1 -1
  453. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  454. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  455. package/build/errors/skillNotFound.builder.js.map +1 -1
  456. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  457. package/build/errors/skillViewExists.builder.js.map +1 -1
  458. package/build/errors/storeExists.builder.js.map +1 -1
  459. package/build/errors/testFailed.builder.js.map +1 -1
  460. package/build/errors/themeExists.builder.js.map +1 -1
  461. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  462. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  463. package/build/features/AbstractAction.js +65 -71
  464. package/build/features/AbstractAction.js.map +1 -1
  465. package/build/features/AbstractFeature.js +54 -62
  466. package/build/features/AbstractFeature.js.map +1 -1
  467. package/build/features/ActionExecuter.js +206 -210
  468. package/build/features/ActionExecuter.js.map +1 -1
  469. package/build/features/ActionFactory.js.map +1 -1
  470. package/build/features/ActionQuestionAsker.js +304 -320
  471. package/build/features/ActionQuestionAsker.js.map +1 -1
  472. package/build/features/FeatureCommandAttacher.js +45 -49
  473. package/build/features/FeatureCommandAttacher.js.map +1 -1
  474. package/build/features/FeatureInstaller.js +353 -375
  475. package/build/features/FeatureInstaller.js.map +1 -1
  476. package/build/features/FeatureInstallerFactory.js.map +1 -1
  477. package/build/features/OverrideActionDecorator.js +13 -15
  478. package/build/features/OverrideActionDecorator.js.map +1 -1
  479. package/build/features/cache/CacheFeature.js +6 -8
  480. package/build/features/cache/CacheFeature.js.map +1 -1
  481. package/build/features/cache/actions/DisableAction.js +42 -44
  482. package/build/features/cache/actions/DisableAction.js.map +1 -1
  483. package/build/features/cache/actions/EnableAction.js +37 -39
  484. package/build/features/cache/actions/EnableAction.js.map +1 -1
  485. package/build/features/cache/constants.js.map +1 -1
  486. package/build/features/conversation/ConversationFeature.js +40 -46
  487. package/build/features/conversation/ConversationFeature.js.map +1 -1
  488. package/build/features/conversation/actions/CreateAction.js +16 -18
  489. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  490. package/build/features/conversation/actions/TestAction.js +96 -102
  491. package/build/features/conversation/actions/TestAction.js.map +1 -1
  492. package/build/features/conversation/stores/ConversationStore.js +19 -21
  493. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  494. package/build/features/conversation/writers/ConversationWriter.js +22 -24
  495. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  496. package/build/features/dependencies/DependencyFeature.js +6 -8
  497. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  498. package/build/features/dependencies/actions/AddAction.js +64 -66
  499. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  500. package/build/features/dependencies/actions/ManageAction.js +63 -65
  501. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  502. package/build/features/deploy/DeployFeature.js +12 -14
  503. package/build/features/deploy/DeployFeature.js.map +1 -1
  504. package/build/features/deploy/actions/HerokuAction.js +389 -409
  505. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  506. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  507. package/build/features/error/ErrorFeature.js +84 -92
  508. package/build/features/error/ErrorFeature.js.map +1 -1
  509. package/build/features/error/ParentTestFinder.js +22 -24
  510. package/build/features/error/ParentTestFinder.js.map +1 -1
  511. package/build/features/error/actions/CreateAction.js +24 -26
  512. package/build/features/error/actions/CreateAction.js.map +1 -1
  513. package/build/features/error/actions/SyncAction.js +85 -91
  514. package/build/features/error/actions/SyncAction.js.map +1 -1
  515. package/build/features/error/writers/ErrorWriter.js +130 -140
  516. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  517. package/build/features/event/EventFeature.js +153 -167
  518. package/build/features/event/EventFeature.js.map +1 -1
  519. package/build/features/event/actions/CreateAction.js +59 -61
  520. package/build/features/event/actions/CreateAction.js.map +1 -1
  521. package/build/features/event/actions/ListenAction.js +205 -219
  522. package/build/features/event/actions/ListenAction.js.map +1 -1
  523. package/build/features/event/actions/SetRemoteAction.js +11 -13
  524. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  525. package/build/features/event/actions/SyncAction.js +25 -27
  526. package/build/features/event/actions/SyncAction.js.map +1 -1
  527. package/build/features/event/actions/SyncListenersAction.js +23 -25
  528. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  529. package/build/features/event/builders/EventContractBuilder.js +136 -144
  530. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  531. package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -1
  532. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  533. package/build/features/event/services/EventSettingsService.js.map +1 -1
  534. package/build/features/event/services/RemoteService.js.map +1 -1
  535. package/build/features/event/stores/EventStore.js +246 -258
  536. package/build/features/event/stores/EventStore.js.map +1 -1
  537. package/build/features/event/stores/ListenerStore.js +26 -28
  538. package/build/features/event/stores/ListenerStore.js.map +1 -1
  539. package/build/features/event/writers/EventWriter.js +171 -183
  540. package/build/features/event/writers/EventWriter.js.map +1 -1
  541. package/build/features/eventContract/EventContractFeature.js +6 -8
  542. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  543. package/build/features/eventContract/actions/PullAction.js +58 -62
  544. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  545. package/build/features/feature.utilities.js.map +1 -1
  546. package/build/features/log/LogFeature.js.map +1 -1
  547. package/build/features/log/actions/CreateTransportAction.js +16 -18
  548. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  549. package/build/features/log/writers/LogWriter.js +23 -25
  550. package/build/features/log/writers/LogWriter.js.map +1 -1
  551. package/build/features/node/NodeFeature.js +110 -122
  552. package/build/features/node/NodeFeature.js.map +1 -1
  553. package/build/features/node/actions/CreateAction.js +9 -11
  554. package/build/features/node/actions/CreateAction.js.map +1 -1
  555. package/build/features/node/actions/UpdateDependenciesAction.js +140 -113
  556. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  557. package/build/features/node/actions/UpgradeAction.js +70 -76
  558. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  559. package/build/features/node/writers/NodeWriter.js +29 -31
  560. package/build/features/node/writers/NodeWriter.js.map +1 -1
  561. package/build/features/onboard/OnboardFeature.js +77 -87
  562. package/build/features/onboard/OnboardFeature.js.map +1 -1
  563. package/build/features/onboard/ScriptLoader.js +31 -33
  564. package/build/features/onboard/ScriptLoader.js.map +1 -1
  565. package/build/features/onboard/ScriptPlayer.js +80 -86
  566. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  567. package/build/features/onboard/actions/OnboardAction.js +36 -38
  568. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  569. package/build/features/onboard/scripts/onboarding.first.script.js +68 -80
  570. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  571. package/build/features/onboard/scripts/onboarding.immersive.script.js +24 -28
  572. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  573. package/build/features/onboard/scripts/onboarding.returning.script.js +42 -44
  574. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  575. package/build/features/onboard/scripts/onboarding.short.script.js +38 -48
  576. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  577. package/build/features/onboard/scripts/todo/todo.create.skill.script.js +9 -11
  578. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  579. package/build/features/onboard/scripts/todo/todo.test.script.js +7 -9
  580. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  581. package/build/features/onboard/scripts/wrongCommand.script.js +40 -42
  582. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  583. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  584. package/build/features/organization/OrganizationFeature.js.map +1 -1
  585. package/build/features/organization/actions/CreateAction.js +18 -20
  586. package/build/features/organization/actions/CreateAction.js.map +1 -1
  587. package/build/features/organization/actions/InstallAction.js +81 -83
  588. package/build/features/organization/actions/InstallAction.js.map +1 -1
  589. package/build/features/organization/stores/OrganizationStore.js +101 -111
  590. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  591. package/build/features/permission/PermissionFeature.js +73 -79
  592. package/build/features/permission/PermissionFeature.js.map +1 -1
  593. package/build/features/permission/actions/CreateAction.js +23 -25
  594. package/build/features/permission/actions/CreateAction.js.map +1 -1
  595. package/build/features/permission/actions/SyncAction.js +50 -54
  596. package/build/features/permission/actions/SyncAction.js.map +1 -1
  597. package/build/features/permission/stores/PermissionStore.js +100 -104
  598. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  599. package/build/features/permission/writers/PermissionWriter.js +57 -63
  600. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  601. package/build/features/person/PersonFeature.js.map +1 -1
  602. package/build/features/person/actions/LoginAction.js +69 -71
  603. package/build/features/person/actions/LoginAction.js.map +1 -1
  604. package/build/features/person/actions/LogoutAction.js +21 -23
  605. package/build/features/person/actions/LogoutAction.js.map +1 -1
  606. package/build/features/person/actions/WhoamiAction.js +24 -26
  607. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  608. package/build/features/polish/PolishFeature.js.map +1 -1
  609. package/build/features/polish/actions/SetupAction.js +23 -25
  610. package/build/features/polish/actions/SetupAction.js.map +1 -1
  611. package/build/features/polish/writers/PolishWriter.js +16 -18
  612. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  613. package/build/features/sandbox/SandboxFeature.js +20 -22
  614. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  615. package/build/features/sandbox/actions/SetupAction.js +42 -44
  616. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  617. package/build/features/sandbox/writers/SandboxWriter.js +9 -11
  618. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  619. package/build/features/schema/SchemaFeature.js +82 -90
  620. package/build/features/schema/SchemaFeature.js.map +1 -1
  621. package/build/features/schema/ValueTypeBuilder.js +26 -28
  622. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  623. package/build/features/schema/actions/CreateAction.js +48 -50
  624. package/build/features/schema/actions/CreateAction.js.map +1 -1
  625. package/build/features/schema/actions/SyncAction.js +260 -270
  626. package/build/features/schema/actions/SyncAction.js.map +1 -1
  627. package/build/features/schema/actions/SyncFieldsAction.js +42 -44
  628. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  629. package/build/features/schema/services/SchemaService.js +24 -26
  630. package/build/features/schema/services/SchemaService.js.map +1 -1
  631. package/build/features/schema/stores/SchemaStore.js +205 -219
  632. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  633. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  634. package/build/features/schema/utilities/schemaDisk.utility.js +15 -17
  635. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  636. package/build/features/schema/utilities/schemaGenerator.utility.js +40 -42
  637. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  638. package/build/features/schema/writers/SchemaWriter.js +173 -185
  639. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  640. package/build/features/skill/SkillFeature.js +99 -112
  641. package/build/features/skill/SkillFeature.js.map +1 -1
  642. package/build/features/skill/actions/BootAction.js +92 -96
  643. package/build/features/skill/actions/BootAction.js.map +1 -1
  644. package/build/features/skill/actions/CreateAction.js +9 -11
  645. package/build/features/skill/actions/CreateAction.js.map +1 -1
  646. package/build/features/skill/actions/DashboardAction.js +8 -10
  647. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  648. package/build/features/skill/actions/LoginAction.js +122 -124
  649. package/build/features/skill/actions/LoginAction.js.map +1 -1
  650. package/build/features/skill/actions/RebuildAction.js +33 -35
  651. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  652. package/build/features/skill/actions/RegisterAction.js +38 -40
  653. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  654. package/build/features/skill/stores/SkillStore.d.ts +2 -2
  655. package/build/features/skill/stores/SkillStore.js +198 -216
  656. package/build/features/skill/stores/SkillStore.js.map +1 -1
  657. package/build/features/skill/updaters/Updater.js +38 -40
  658. package/build/features/skill/updaters/Updater.js.map +1 -1
  659. package/build/features/skill/writers/SkillWriter.js +15 -17
  660. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  661. package/build/features/store/StoreFeature.js +50 -56
  662. package/build/features/store/StoreFeature.js.map +1 -1
  663. package/build/features/store/actions/CreateAction.js +29 -31
  664. package/build/features/store/actions/CreateAction.js.map +1 -1
  665. package/build/features/store/actions/SyncAction.js +35 -37
  666. package/build/features/store/actions/SyncAction.js.map +1 -1
  667. package/build/features/store/stores/StoreStore.js +39 -41
  668. package/build/features/store/stores/StoreStore.js.map +1 -1
  669. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -1
  670. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  671. package/build/features/store/writers/StoreWriter.js +65 -73
  672. package/build/features/store/writers/StoreWriter.js.map +1 -1
  673. package/build/features/test/TestFeature.js +98 -102
  674. package/build/features/test/TestFeature.js.map +1 -1
  675. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  676. package/build/features/test/TestReporter.d.ts +19 -19
  677. package/build/features/test/TestReporter.js +74 -82
  678. package/build/features/test/TestReporter.js.map +1 -1
  679. package/build/features/test/TestRunner.js +82 -88
  680. package/build/features/test/TestRunner.js.map +1 -1
  681. package/build/features/test/actions/CreateAction.js +145 -153
  682. package/build/features/test/actions/CreateAction.js.map +1 -1
  683. package/build/features/test/actions/SetupAction.js +37 -39
  684. package/build/features/test/actions/SetupAction.js.map +1 -1
  685. package/build/features/test/actions/TestAction.js +203 -213
  686. package/build/features/test/actions/TestAction.js.map +1 -1
  687. package/build/features/test/test.types.d.ts +1 -1
  688. package/build/features/test/test.types.js.map +1 -1
  689. package/build/features/test/writers/TestWriter.js +17 -19
  690. package/build/features/test/writers/TestWriter.js.map +1 -1
  691. package/build/features/universalDevDependencies.js.map +1 -1
  692. package/build/features/universalFileDescriptions.js.map +1 -1
  693. package/build/features/universalScripts.js.map +1 -1
  694. package/build/features/validateAndNormalize.utility.js.map +1 -1
  695. package/build/features/view/ViewFeature.js +52 -58
  696. package/build/features/view/ViewFeature.js.map +1 -1
  697. package/build/features/view/actions/CreateAction.js +64 -66
  698. package/build/features/view/actions/CreateAction.js.map +1 -1
  699. package/build/features/view/actions/CreateThemeAction.js +35 -37
  700. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  701. package/build/features/view/actions/SyncAction.js +61 -63
  702. package/build/features/view/actions/SyncAction.js.map +1 -1
  703. package/build/features/view/actions/WatchAction.d.ts +1 -0
  704. package/build/features/view/actions/WatchAction.js +26 -27
  705. package/build/features/view/actions/WatchAction.js.map +1 -1
  706. package/build/features/view/stores/ViewStore.js +35 -37
  707. package/build/features/view/stores/ViewStore.js.map +1 -1
  708. package/build/features/view/writers/ViewWriter.js +47 -51
  709. package/build/features/view/writers/ViewWriter.js.map +1 -1
  710. package/build/features/vscode/VsCodeFeature.js +18 -20
  711. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  712. package/build/features/vscode/actions/SetupAction.js +173 -183
  713. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  714. package/build/features/vscode/services/VsCodeService.js +63 -69
  715. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  716. package/build/features/vscode/writers/VsCodeWriter.js +12 -14
  717. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  718. package/build/features/watch/WatchFeature.js +77 -88
  719. package/build/features/watch/WatchFeature.js.map +1 -1
  720. package/build/index.js +2 -2
  721. package/build/index.js.map +1 -1
  722. package/build/interfaces/SpyInterface.d.ts +1 -0
  723. package/build/interfaces/SpyInterface.js +139 -148
  724. package/build/interfaces/SpyInterface.js.map +1 -1
  725. package/build/interfaces/TerminalInterface.d.ts +1 -0
  726. package/build/interfaces/TerminalInterface.js +196 -207
  727. package/build/interfaces/TerminalInterface.js.map +1 -1
  728. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
  729. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  730. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  731. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  732. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  733. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  734. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  735. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
  736. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  737. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  738. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  739. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  740. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  741. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  742. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  743. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  744. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  745. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  746. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  747. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  748. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  749. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  750. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  751. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  752. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  753. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  754. package/build/services/BuildService.js +16 -18
  755. package/build/services/BuildService.js.map +1 -1
  756. package/build/services/CommandService.js +107 -109
  757. package/build/services/CommandService.js.map +1 -1
  758. package/build/services/DependencyService.js.map +1 -1
  759. package/build/services/GameService.js +49 -51
  760. package/build/services/GameService.js.map +1 -1
  761. package/build/services/ImportService.js +186 -194
  762. package/build/services/ImportService.js.map +1 -1
  763. package/build/services/LintService.js +81 -83
  764. package/build/services/LintService.js.map +1 -1
  765. package/build/services/PkgService.js +85 -89
  766. package/build/services/PkgService.js.map +1 -1
  767. package/build/services/ServiceFactory.js.map +1 -1
  768. package/build/services/TypeCheckerService.js +7 -9
  769. package/build/services/TypeCheckerService.js.map +1 -1
  770. package/build/stores/AbstractLocalStore.js.map +1 -1
  771. package/build/stores/AbstractStore.js +6 -8
  772. package/build/stores/AbstractStore.js.map +1 -1
  773. package/build/stores/StoreFactory.js.map +1 -1
  774. package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -1
  775. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  776. package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -1
  777. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  778. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -1
  779. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  780. package/build/tests/AbstractCliTest.d.ts +2 -3
  781. package/build/tests/AbstractCliTest.js +236 -266
  782. package/build/tests/AbstractCliTest.js.map +1 -1
  783. package/build/tests/AbstractErrorTest.d.ts +1 -1
  784. package/build/tests/AbstractErrorTest.js +19 -21
  785. package/build/tests/AbstractErrorTest.js.map +1 -1
  786. package/build/tests/AbstractEventTest.d.ts +3 -3
  787. package/build/tests/AbstractEventTest.js +89 -97
  788. package/build/tests/AbstractEventTest.js.map +1 -1
  789. package/build/tests/AbstractSchemaTest.d.ts +3 -3
  790. package/build/tests/AbstractSchemaTest.js +92 -98
  791. package/build/tests/AbstractSchemaTest.js.map +1 -1
  792. package/build/tests/AbstractSkillTest.d.ts +1 -1
  793. package/build/tests/AbstractSkillTest.js +40 -46
  794. package/build/tests/AbstractSkillTest.js.map +1 -1
  795. package/build/tests/AbstractTestTest.d.ts +1 -1
  796. package/build/tests/AbstractTestTest.js +14 -16
  797. package/build/tests/AbstractTestTest.js.map +1 -1
  798. package/build/tests/CommandFaker.js.map +1 -1
  799. package/build/tests/JestJsonParser.js +5 -2
  800. package/build/tests/JestJsonParser.js.map +1 -1
  801. package/build/tests/MockProgramFactory.js +11 -15
  802. package/build/tests/MockProgramFactory.js.map +1 -1
  803. package/build/tests/buildTestCache.js +223 -243
  804. package/build/tests/buildTestCache.js.map +1 -1
  805. package/build/tests/cleanTestCache.js.map +1 -1
  806. package/build/tests/cleanTestData.js +70 -72
  807. package/build/tests/cleanTestData.js.map +1 -1
  808. package/build/tests/constants.js.map +1 -1
  809. package/build/tests/fixtures/FeatureFixture.d.ts +15 -16
  810. package/build/tests/fixtures/FeatureFixture.js +142 -154
  811. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  812. package/build/tests/fixtures/MercuryFixture.js +9 -11
  813. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  814. package/build/tests/fixtures/OrganizationFixture.js +62 -68
  815. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  816. package/build/tests/fixtures/PersonFixture.js +69 -73
  817. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  818. package/build/tests/fixtures/SkillFixture.js +123 -137
  819. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  820. package/build/tests/fixtures/ViewFixture.js +13 -15
  821. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  822. package/build/tests/utilities/test.utility.js.map +1 -1
  823. package/build/tests/utilities/uiAssert.utility.js +31 -35
  824. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  825. package/build/types/cli.types.d.ts +26 -0
  826. package/build/types/cli.types.js.map +1 -1
  827. package/build/types/graphicsInterface.types.js.map +1 -1
  828. package/build/updaters/ScriptUpdater.js +78 -80
  829. package/build/updaters/ScriptUpdater.js.map +1 -1
  830. package/build/utilities/action.utility.js.map +1 -1
  831. package/build/utilities/apiClient.utility.js.map +1 -1
  832. package/build/utilities/argParser.utility.js +1 -1
  833. package/build/utilities/argParser.utility.js.map +1 -1
  834. package/build/utilities/commander.utility.js.map +1 -1
  835. package/build/utilities/duration.utility.js.map +1 -1
  836. package/build/utilities/eventContractCleaner.utility.js +1 -1
  837. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  838. package/build/utilities/form.utility.js.map +1 -1
  839. package/build/utilities/introspection.utility.js +3 -3
  840. package/build/utilities/introspection.utility.js.map +1 -1
  841. package/build/utilities/isCi.js.map +1 -1
  842. package/build/utilities/tsConfig.utility.js.map +1 -1
  843. package/build/utilities/ui.utility.js.map +1 -1
  844. package/build/widgets/Theme.js.map +1 -1
  845. package/build/widgets/WidgetFactory.js.map +1 -1
  846. package/build/widgets/keySelectChoices.js.map +1 -1
  847. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  848. package/build/widgets/terminalKit/TkBaseWidget.js +8 -10
  849. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  850. package/build/widgets/terminalKit/TkInputWidget.js +16 -20
  851. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  852. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  853. package/build/widgets/terminalKit/TkLayoutWidget.js +6 -8
  854. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  855. package/build/widgets/terminalKit/TkMenuBarWidget.js +1 -1
  856. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  857. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  858. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  859. package/build/widgets/terminalKit/TkTextWidget.js +13 -15
  860. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  861. package/build/widgets/terminalKit/TkWindowWidget.js +39 -45
  862. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  863. package/build/widgets/terminalKit/termKit.utility.js +1 -1
  864. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  865. package/build/widgets/types/button.types.js.map +1 -1
  866. package/build/widgets/types/factory.types.js.map +1 -1
  867. package/build/widgets/types/input.types.js.map +1 -1
  868. package/build/widgets/types/menuBar.types.js.map +1 -1
  869. package/build/widgets/types/popup.types.js.map +1 -1
  870. package/build/widgets/types/text.types.js.map +1 -1
  871. package/build/widgets/types/window.types.js.map +1 -1
  872. package/build/widgets/widget.utilities.js.map +1 -1
  873. package/build/writers/AbstractWriter.js +160 -166
  874. package/build/writers/AbstractWriter.js.map +1 -1
  875. package/build/writers/WriterFactory.js.map +1 -1
  876. package/junit.xml +7 -0
  877. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  878. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +1 -1
  879. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  880. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +1 -1
  881. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  882. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  883. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +1 -3
  884. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  885. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +2 -2
  886. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  887. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  888. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +62 -7
  889. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +6 -2
  890. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +62 -7
  891. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  892. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  893. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +6 -2
  894. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  895. package/node_modules/@typescript-eslint/types/package.json +4 -4
  896. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/clear-caches.d.ts +10 -0
  897. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/describeFilePath.d.ts +2 -0
  898. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +7 -1
  899. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +2 -2
  900. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/ExpiringCache.d.ts +17 -0
  901. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +1 -0
  902. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  903. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +6 -1
  904. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/resolveProjectList.d.ts +19 -0
  905. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +22 -3
  906. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts +10 -0
  907. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts.map +1 -0
  908. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +24 -0
  909. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js.map +1 -0
  910. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -1
  911. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js.map +1 -1
  912. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  913. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +38 -12
  914. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  915. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  916. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +5 -10
  917. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  918. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts +2 -0
  919. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts.map +1 -0
  920. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +32 -0
  921. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js.map +1 -0
  922. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -1
  923. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +2 -15
  924. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -1
  925. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +7 -1
  926. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  927. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +15 -1
  928. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  929. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +1 -1
  930. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js.map +1 -1
  931. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +2 -2
  932. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
  933. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -4
  934. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
  935. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +17 -0
  936. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +1 -0
  937. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +62 -0
  938. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js.map +1 -0
  939. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +1 -0
  940. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -1
  941. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +22 -48
  942. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -1
  943. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  944. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +1 -0
  945. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +70 -0
  946. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +1 -0
  947. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +6 -1
  948. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  949. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +19 -0
  950. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +1 -0
  951. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +103 -0
  952. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js.map +1 -0
  953. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
  954. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +22 -3
  955. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  956. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -1
  957. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js.map +1 -1
  958. package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -5
  959. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  960. package/package.json +592 -597
  961. package/src/.DS_Store +0 -0
  962. package/src/__tests__/behavioral/BootingTheCli.test.ts +32 -2
  963. package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
  964. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
  965. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -2
  966. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +11 -0
  967. package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
  968. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  969. package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -2
  970. package/src/__tests__/implementation/TestRunner.test.ts +1 -1
  971. package/src/boot.ts +92 -0
  972. package/src/{cli.ts → cli/Cli.ts} +48 -150
  973. package/src/features/AbstractFeature.ts +1 -1
  974. package/src/features/FeatureInstaller.ts +3 -3
  975. package/src/features/error/ParentTestFinder.ts +1 -1
  976. package/src/features/event/builders/EventContractBuilder.ts +1 -1
  977. package/src/features/event/stores/EventStore.ts +4 -2
  978. package/src/features/event/stores/ListenerStore.ts +1 -1
  979. package/src/features/onboard/ScriptLoader.ts +1 -1
  980. package/src/features/permission/PermissionFeature.ts +3 -1
  981. package/src/features/permission/stores/PermissionStore.ts +1 -1
  982. package/src/features/schema/stores/SchemaStore.ts +1 -1
  983. package/src/features/schema/utilities/schemaGenerator.utility.ts +1 -1
  984. package/src/features/skill/SkillFeature.ts +1 -1
  985. package/src/features/store/stores/StoreStore.ts +1 -1
  986. package/src/features/test/TestReporter.ts +25 -25
  987. package/src/features/test/test.types.ts +8 -1
  988. package/src/features/view/actions/SyncAction.ts +1 -1
  989. package/src/features/view/actions/WatchAction.ts +8 -3
  990. package/src/index.ts +1 -1
  991. package/src/interfaces/SpyInterface.ts +2 -0
  992. package/src/interfaces/TerminalInterface.ts +5 -1
  993. package/src/tests/AbstractCliTest.ts +2 -3
  994. package/src/tests/AbstractSchemaTest.ts +1 -1
  995. package/src/tests/AbstractSkillTest.ts +1 -1
  996. package/src/tests/JestJsonParser.ts +4 -1
  997. package/src/tests/fixtures/FeatureFixture.ts +24 -20
  998. package/src/tests/fixtures/MercuryFixture.ts +1 -1
  999. package/src/types/cli.types.ts +30 -0
  1000. package/yarn-error.log +12174 -0
  1001. package/LICENSE +0 -21
  1002. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +0 -17
  1003. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +0 -137
  1004. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +0 -1
  1005. package/build/cli.js +0 -690
  1006. package/build/cli.js.map +0 -1
  1007. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js +0 -120
  1008. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts +0 -186
  1009. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js +0 -181
  1010. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license +0 -9
  1011. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json +0 -82
  1012. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md +0 -170
  1013. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js +0 -46
  1014. package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +0 -46
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureInstaller.js","names":["FeatureInstallerImpl","cwd","serviceFactory","code","feature","getFeature","isInstalled","Service","isMarkedAsInstalled","isMarkedAsSkipped","featuresMarkedAsSkippedThisRun","push","markAsPermanentlySkipped","indexOf","isMarkedAsPermanentlySkipped","featureMap","SpruceError","featureCode","codes","Promise","all","map","f","results","i","length","result","deps","getFeatureDependenciesIncludingSelf","isRequired","filter","sortFeatures","featureDependency","trackedFeatures","features","isDependencyInTracker","dependencies","dependency","x","dependencyDependencies","find","options","installFeatureDependencies","didUpdateHandler","shouldAllowEntertainment","startInFlightIntertainmentHandler","handler","pendingFeatureInstalls","dependenciesToInstall","concat","uniq","isInstalledOrPendingInstall","installOptions","installFeature","installResults","merge","installAllPending","pendingResults","stopInFlightIntertainmentHandler","optionsSchema","validateSchemaValues","beforePackageInstall","beforeInstallResults","queueInstallPackageDependenciesWithoutEntertainment","packagesInstalled","afterPackageInstalls","featuresToMarkAsInstalled","files","undefined","installPackageDependenciesForFeatures","pkgService","packagesToInstall","install","devPackagesToInstall","isDev","settings","markAsInstalled","afterPackageInstall","afterInstallResults","packageDependencies","forEach","pkg","packageName","buildPackageName","name","getFeatureNameAndDesc","nameReadable","description","featureDependencies","sort","a","b","aFeature","bFeature","aDependsOnB","d","bDependsOnA","installOrderWeight","type","Object","keys","dep","getAllCodes","installed"],"sources":["../../src/features/FeatureInstaller.ts"],"sourcesContent":["import { validateSchemaValues } from '@sprucelabs/schema'\nimport { uniq } from 'lodash'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport ServiceFactory, {\n\tService,\n\tServiceProvider,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport { InternalUpdateHandler, NpmPackage } from '../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from './AbstractFeature'\nimport {\n\tInstallFeatureOptions,\n\tFeatureInstallResponse,\n\tFeatureCode,\n\tInstallFeature,\n\tFeatureMap,\n} from './features.types'\n\nexport class FeatureInstallerImpl implements ServiceProvider, FeatureInstaller {\n\tpublic cwd: string\n\n\tprivate featureMap: Partial<FeatureMap> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate featuresMarkedAsSkippedThisRun: FeatureCode[] = []\n\tpublic static startInFlightIntertainmentHandler?: (\n\t\tdidUpdateHandler: (handler: (message: string) => void) => void\n\t) => void\n\tpublic static stopInFlightIntertainmentHandler?: () => void\n\tprivate packagesToInstall: string[] = []\n\tprivate devPackagesToInstall: string[] = []\n\tprivate featuresToMarkAsInstalled: string[] = []\n\tprivate afterPackageInstalls: InstallFeature[] = []\n\tprivate pendingFeatureInstalls: Record<string, boolean> = {}\n\n\tpublic constructor(cwd: string, serviceFactory: ServiceFactory) {\n\t\tthis.cwd = cwd\n\t\tthis.serviceFactory = serviceFactory\n\t}\n\n\tpublic async isInstalled(code: FeatureCode): Promise<boolean> {\n\t\tconst feature = this.getFeature(code)\n\n\t\tif (feature.isInstalled) {\n\t\t\treturn feature.isInstalled()\n\t\t}\n\n\t\treturn this.Service('settings').isMarkedAsInstalled(code)\n\t}\n\n\tpublic markAsSkippedThisRun(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.featuresMarkedAsSkippedThisRun.push(code)\n\t\t}\n\t}\n\tpublic markAsPermanentlySkipped(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.Service('settings').markAsPermanentlySkipped(code)\n\t\t}\n\t}\n\n\tpublic isMarkedAsSkipped(code: FeatureCode) {\n\t\treturn (\n\t\t\tthis.featuresMarkedAsSkippedThisRun.indexOf(code) > -1 ||\n\t\t\tthis.Service('settings').isMarkedAsPermanentlySkipped(code)\n\t\t)\n\t}\n\n\tpublic mapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]) {\n\t\tthis.featureMap[code] = feature\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C): FeatureMap[C] {\n\t\tconst feature = this.featureMap[code]\n\t\tif (!feature) {\n\t\t\tthrow new SpruceError({ code: 'INVALID_FEATURE_CODE', featureCode: code })\n\t\t}\n\n\t\treturn feature as FeatureMap[C]\n\t}\n\n\tpublic async areInstalled(codes: FeatureCode[]) {\n\t\tconst results = await Promise.all(\n\t\t\tcodes.map((f) => {\n\t\t\t\treturn this.isInstalled(f)\n\t\t\t})\n\t\t)\n\n\t\tfor (let i = 0; i < results.length; i += 1) {\n\t\t\tconst result = results[i]\n\t\t\tif (!result) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tpublic getFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t\t// trackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tlet deps = this.getFeatureDependenciesIncludingSelf(\n\t\t\t{ code: featureCode, isRequired: true },\n\t\t\t[] // trackedFeatures\n\t\t).filter((f) => f.code !== featureCode)\n\n\t\tdeps = this.sortFeatures(deps)\n\n\t\treturn deps\n\t}\n\n\tprivate getFeatureDependenciesIncludingSelf(\n\t\tfeatureDependency: FeatureDependency,\n\t\ttrackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tconst features: FeatureDependency[] = []\n\n\t\tif (!this.isDependencyInTracker(trackedFeatures, featureDependency)) {\n\t\t\tfeatures.push(featureDependency)\n\t\t\ttrackedFeatures.push(featureDependency)\n\t\t}\n\n\t\tconst feature = this.getFeature(featureDependency.code)\n\t\tconst dependencies = feature.dependencies\n\n\t\tfor (let i = 0; i < dependencies.length; i += 1) {\n\t\t\tconst dependency = dependencies[i]\n\t\t\tif (!this.isDependencyInTracker(trackedFeatures, dependency)) {\n\t\t\t\tfeatures.push(dependency)\n\t\t\t\ttrackedFeatures.push(dependency)\n\t\t\t}\n\t\t}\n\n\t\tfor (let x = 0; x < dependencies.length; x += 1) {\n\t\t\tconst dependency = dependencies[x]\n\t\t\tlet dependencyDependencies = this.getFeatureDependenciesIncludingSelf(\n\t\t\t\tdependency,\n\t\t\t\ttrackedFeatures\n\t\t\t)\n\t\t\tif (!dependency.isRequired) {\n\t\t\t\tdependencyDependencies = dependencyDependencies.map((f) => ({\n\t\t\t\t\t...f,\n\t\t\t\t\tisRequired: false,\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tfeatures.push(...dependencyDependencies)\n\t\t}\n\n\t\treturn features\n\t}\n\n\tprivate isDependencyInTracker(\n\t\ttrackedFeatures: FeatureDependency[],\n\t\tdependency: FeatureDependency\n\t) {\n\t\treturn !!trackedFeatures.find((f) => f.code === dependency.code)\n\t}\n\n\tpublic async install(\n\t\toptions: InstallFeatureOptions\n\t): Promise<FeatureInstallResponse> {\n\t\tlet {\n\t\t\tfeatures,\n\t\t\tinstallFeatureDependencies = true,\n\t\t\tdidUpdateHandler,\n\t\t} = options\n\n\t\tconst shouldAllowEntertainment = !!features.find((f) => f.code === 'skill')\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tthis.pendingFeatureInstalls = {}\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tlet dependenciesToInstall: FeatureDependency[] = []\n\n\t\tfor (let i = 0; i < features.length; i += 1) {\n\t\t\tconst f = features[i]\n\t\t\tconst code = f.code\n\n\t\t\tdidUpdateHandler?.(`Checking if ${code} is installed...`)\n\n\t\t\tconst isInstalled = await this.isInstalled(code)\n\n\t\t\tif (!isInstalled && installFeatureDependencies) {\n\t\t\t\tdidUpdateHandler?.(`It is not, checking dependencies...`)\n\t\t\t\tdependenciesToInstall = dependenciesToInstall.concat(\n\t\t\t\t\tthis.getFeatureDependenciesIncludingSelf({ code, isRequired: true })\n\t\t\t\t)\n\t\t\t} else if (!isInstalled) {\n\t\t\t\tdependenciesToInstall.push({ code, isRequired: true })\n\t\t\t}\n\t\t}\n\n\t\tdependenciesToInstall = uniq(dependenciesToInstall)\n\t\tdependenciesToInstall = this.sortFeatures(dependenciesToInstall)\n\n\t\tfor (let i = 0; i < dependenciesToInstall.length; i += 1) {\n\t\t\tconst { code, isRequired } = dependenciesToInstall[i]\n\n\t\t\tconst isInstalled = await this.isInstalledOrPendingInstall(code)\n\n\t\t\tif (!isInstalled && isRequired) {\n\t\t\t\tconst installOptions =\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\toptions.features.find((f) => f.code === code)?.options\n\n\t\t\t\tconst installFeature = {\n\t\t\t\t\tcode: dependenciesToInstall[i].code,\n\t\t\t\t\toptions: installOptions,\n\t\t\t\t} as InstallFeature\n\n\t\t\t\tdidUpdateHandler?.(`Installing the ${installFeature.code} feature....`)\n\n\t\t\t\tconst installResults = await this.installFeature(\n\t\t\t\t\tinstallFeature,\n\t\t\t\t\tdidUpdateHandler\n\t\t\t\t)\n\n\t\t\t\tresults = merge(results, installResults)\n\t\t\t}\n\t\t}\n\n\t\tconst pendingResults = await this.installAllPending(didUpdateHandler)\n\t\tresults = merge(results, pendingResults)\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate isInstalledOrPendingInstall(code: string) {\n\t\treturn this.pendingFeatureInstalls[code] || this.isInstalled(code as any)\n\t}\n\n\tprivate async installFeature(\n\t\tinstallFeature: InstallFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tthis.pendingFeatureInstalls[installFeature.code] = true\n\n\t\tconst feature = this.getFeature(installFeature.code) as AbstractFeature\n\n\t\tif (feature.optionsSchema) {\n\t\t\t//@ts-ignore\n\t\t\tvalidateSchemaValues(feature.optionsSchema, installFeature.options ?? {})\n\t\t}\n\n\t\tdidUpdateHandler?.(`Running before package install hook...`)\n\t\tconst beforeInstallResults = await feature.beforePackageInstall(\n\t\t\t//@ts-ignore\n\t\t\tinstallFeature.options\n\t\t)\n\n\t\tif (beforeInstallResults.cwd) {\n\t\t\tthis.cwd = beforeInstallResults.cwd\n\t\t}\n\n\t\tdidUpdateHandler?.(`Installing package dependencies...`)\n\t\tconst packagesInstalled =\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\tdidUpdateHandler?.(`Running after package install hook...`)\n\n\t\tthis.afterPackageInstalls.push(installFeature)\n\n\t\tif (!feature.isInstalled) {\n\t\t\tthis.featuresToMarkAsInstalled.push(feature.code)\n\t\t}\n\n\t\tconst files = [...(beforeInstallResults.files ?? [])]\n\n\t\treturn {\n\t\t\tfiles: files ?? undefined,\n\t\t\tpackagesInstalled,\n\t\t}\n\t}\n\n\tpublic async installPackageDependencies(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\treturn this.installPackageDependenciesForFeatures(\n\t\t\t[feature],\n\t\t\tdidUpdateHandler\n\t\t)\n\t}\n\n\tpublic async installPackageDependenciesForFeatures(\n\t\tfeatures: AbstractFeature[],\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tif (FeatureInstallerImpl.startInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tfor (const feature of features) {\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\t\t}\n\n\t\tawait this.installAllPending(didUpdateHandler)\n\n\t\tif (FeatureInstallerImpl.stopInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\t}\n\n\tprivate async installAllPending(\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Installing ${this.packagesToInstall.length} node module${\n\t\t\t\t\tthis.packagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.packagesToInstall, {})\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Now installing ${this.devPackagesToInstall.length} DEV node module${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.devPackagesToInstall, {\n\t\t\t\tisDev: true,\n\t\t\t})\n\t\t}\n\n\t\tthis.packagesToInstall = []\n\t\tthis.devPackagesToInstall = []\n\n\t\tconst settings = this.Service('settings')\n\n\t\tfor (const code of this.featuresToMarkAsInstalled) {\n\t\t\tsettings.markAsInstalled(code)\n\t\t}\n\n\t\tthis.featuresToMarkAsInstalled = []\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tfor (const installFeature of this.afterPackageInstalls) {\n\t\t\tconst feature = this.getFeature(installFeature.code)\n\t\t\tconst afterInstallResults = await feature.afterPackageInstall(\n\t\t\t\t//@ts-ignore\n\t\t\t\tinstallFeature.options\n\t\t\t)\n\n\t\t\tresults = merge(results, afterInstallResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async queueInstallPackageDependenciesWithoutEntertainment(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst packagesInstalled: NpmPackage[] = []\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tfeature.packageDependencies?.forEach((pkg) => {\n\t\t\tconst packageName = pkgService.buildPackageName(pkg)\n\n\t\t\tpackagesInstalled.push(pkg)\n\n\t\t\tdidUpdateHandler?.(`Checking node dependency: ${pkg.name}`)\n\n\t\t\tif (pkg.isDev && this.devPackagesToInstall.indexOf(packageName) === -1) {\n\t\t\t\tthis.devPackagesToInstall.push(packageName)\n\t\t\t} else if (\n\t\t\t\t!pkg.isDev &&\n\t\t\t\tthis.packagesToInstall.indexOf(packageName) === -1\n\t\t\t) {\n\t\t\t\tthis.packagesToInstall.push(packageName)\n\t\t\t}\n\t\t})\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${this.packagesToInstall.length} node dependenc${\n\t\t\t\t\tthis.packagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '...'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${\n\t\t\t\t\tthis.devPackagesToInstall.length\n\t\t\t\t} DEV node dependenc${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '. 🤘'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\treturn packagesInstalled\n\t}\n\n\tprivate getFeatureNameAndDesc(feature: AbstractFeature) {\n\t\treturn `${feature.nameReadable}${\n\t\t\tfeature.description ? ' (' + feature.description + ')' : ''\n\t\t}`\n\t}\n\n\tprivate sortFeatures(\n\t\tfeatureDependencies: FeatureDependency[]\n\t): FeatureDependency[] {\n\t\treturn [...featureDependencies].sort((a, b) => {\n\t\t\tconst aFeature = this.getFeature(a.code)\n\t\t\tconst bFeature = this.getFeature(b.code)\n\n\t\t\tconst aDependsOnB = aFeature.dependencies.find((d) => d.code === b.code)\n\t\t\tconst bDependsOnA = bFeature.dependencies.find((d) => d.code === a.code)\n\n\t\t\tif (\n\t\t\t\taDependsOnB ||\n\t\t\t\taFeature.installOrderWeight < bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn 1\n\t\t\t} else if (\n\t\t\t\tbDependsOnA ||\n\t\t\t\taFeature.installOrderWeight > bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 0\n\t\t})\n\t}\n\n\tpublic Service<S extends Service>(type: S, cwd?: string): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tpublic getOptionsForFeature(code: FeatureCode) {\n\t\treturn this.getFeature(code).optionsSchema\n\t}\n\n\tpublic getAllCodes(): FeatureCode[] {\n\t\tconst codes = Object.keys(this.featureMap) as FeatureCode[]\n\t\treturn this.sortFeatures(\n\t\t\tcodes.map((code) => ({ code, isRequired: true }))\n\t\t).map((dep) => dep.code)\n\t}\n\n\tpublic async getInstalledFeatures() {\n\t\tconst installed = await Promise.all(\n\t\t\tthis.getAllCodes().map(async (code) => {\n\t\t\t\tconst isInstalled = await this.isInstalled(code)\n\t\t\t\tif (isInstalled) {\n\t\t\t\t\treturn this.getFeature(code)\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t})\n\t\t)\n\n\t\treturn installed.filter((f) => !!f) as FeatureMap[keyof FeatureMap][]\n\t}\n}\n\nexport default interface FeatureInstaller {\n\tisInstalled(code: FeatureCode): Promise<boolean>\n\tmarkAsSkippedThisRun(code: FeatureCode): void\n\tmarkAsPermanentlySkipped(code: FeatureCode): void\n\tisMarkedAsSkipped(code: FeatureCode): boolean\n\tgetFeature<C extends FeatureCode>(code: C): FeatureMap[C]\n\tareInstalled(codes: FeatureCode[]): Promise<boolean>\n\tinstall(options: InstallFeatureOptions): Promise<FeatureInstallResponse>\n\tgetInstalledFeatures(): Promise<FeatureMap[keyof FeatureMap][]>\n\tgetFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t): FeatureDependency[]\n\tgetAllCodes(): FeatureCode[]\n\tmapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]): void\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBlCA,oBAAoB;EAgBhC,8BAAmBC,GAAW,EAAEC,cAA8B,EAAE;IAAA;IAAA;IAAA,qDAbtB,CAAC,CAAC;IAAA;IAAA,yEAEY,EAAE;IAAA,4DAKpB,EAAE;IAAA,+DACC,EAAE;IAAA,oEACG,EAAE;IAAA,+DACC,EAAE;IAAA,iEACO,CAAC,CAAC;IAG3D,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,cAAc,GAAGA,cAAc;EACrC;EAAC;IAAA;IAAA;MAAA,iGAED,iBAAyBC,IAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACnCC,OAAO,GAAG,IAAI,CAACC,UAAU,CAACF,IAAI,CAAC;gBAAA,KAEjCC,OAAO,CAACE,WAAW;kBAAA;kBAAA;gBAAA;gBAAA,iCACfF,OAAO,CAACE,WAAW,EAAE;cAAA;gBAAA,iCAGtB,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC,CAACC,mBAAmB,CAACL,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACzD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,8BAA4BA,IAAiB,EAAE;MAC9C,IAAI,CAAC,IAAI,CAACM,iBAAiB,CAACN,IAAI,CAAC,EAAE;QAClC,IAAI,CAACO,8BAA8B,CAACC,IAAI,CAACR,IAAI,CAAC;MAC/C;IACD;EAAC;IAAA;IAAA,OACD,kCAAgCA,IAAiB,EAAE;MAClD,IAAI,CAAC,IAAI,CAACM,iBAAiB,CAACN,IAAI,CAAC,EAAE;QAClC,IAAI,CAACI,OAAO,CAAC,UAAU,CAAC,CAACK,wBAAwB,CAACT,IAAI,CAAC;MACxD;IACD;EAAC;IAAA;IAAA,OAED,2BAAyBA,IAAiB,EAAE;MAC3C,OACC,IAAI,CAACO,8BAA8B,CAACG,OAAO,CAACV,IAAI,CAAC,GAAG,CAAC,CAAC,IACtD,IAAI,CAACI,OAAO,CAAC,UAAU,CAAC,CAACO,4BAA4B,CAACX,IAAI,CAAC;IAE7D;EAAC;IAAA;IAAA,OAED,oBAAyCA,IAAO,EAAEC,OAAsB,EAAE;MACzE,IAAI,CAACW,UAAU,CAACZ,IAAI,CAAC,GAAGC,OAAO;IAChC;EAAC;IAAA;IAAA,OAED,oBAAyCD,IAAO,EAAiB;MAChE,IAAMC,OAAO,GAAG,IAAI,CAACW,UAAU,CAACZ,IAAI,CAAC;MACrC,IAAI,CAACC,OAAO,EAAE;QACb,MAAM,IAAIY,uBAAW,CAAC;UAAEb,IAAI,EAAE,sBAAsB;UAAEc,WAAW,EAAEd;QAAK,CAAC,CAAC;MAC3E;MAEA,OAAOC,OAAO;IACf;EAAC;IAAA;IAAA;MAAA,kGAED,kBAA0Bc,KAAoB;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACvBC,OAAO,CAACC,GAAG,CAChCF,KAAK,CAACG,GAAG,CAAC,UAACC,CAAC,EAAK;kBAChB,OAAO,KAAI,CAAChB,WAAW,CAACgB,CAAC,CAAC;gBAC3B,CAAC,CAAC,CACF;cAAA;gBAJKC,OAAO;gBAMJC,CAAC,GAAG,CAAC;cAAA;gBAAA,MAAEA,CAAC,GAAGD,OAAO,CAACE,MAAM;kBAAA;kBAAA;gBAAA;gBAC3BC,MAAM,GAAGH,OAAO,CAACC,CAAC,CAAC;gBAAA,IACpBE,MAAM;kBAAA;kBAAA;gBAAA;gBAAA,kCACH,KAAK;cAAA;gBAHsBF,CAAC,IAAI,CAAC;gBAAA;gBAAA;cAAA;gBAAA,kCAOnC,IAAI;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACX;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,gCACCP,WAAc,EAEQ;MACtB,IAAIU,IAAI,GAAG,IAAI,CAACC,mCAAmC,CAClD;QAAEzB,IAAI,EAAEc,WAAW;QAAEY,UAAU,EAAE;MAAK,CAAC,EACvC,EAAE,CAAC;MAAA,CACH,CAACC,MAAM,CAAC,UAACR,CAAC;QAAA,OAAKA,CAAC,CAACnB,IAAI,KAAKc,WAAW;MAAA,EAAC;MAEvCU,IAAI,GAAG,IAAI,CAACI,YAAY,CAACJ,IAAI,CAAC;MAE9B,OAAOA,IAAI;IACZ;EAAC;IAAA;IAAA,OAED,6CACCK,iBAAoC,EAEd;MAAA,IADtBC,eAAoC,uEAAG,EAAE;MAEzC,IAAMC,QAA6B,GAAG,EAAE;MAExC,IAAI,CAAC,IAAI,CAACC,qBAAqB,CAACF,eAAe,EAAED,iBAAiB,CAAC,EAAE;QACpEE,QAAQ,CAACvB,IAAI,CAACqB,iBAAiB,CAAC;QAChCC,eAAe,CAACtB,IAAI,CAACqB,iBAAiB,CAAC;MACxC;MAEA,IAAM5B,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC2B,iBAAiB,CAAC7B,IAAI,CAAC;MACvD,IAAMiC,YAAY,GAAGhC,OAAO,CAACgC,YAAY;MAEzC,KAAK,IAAIZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,YAAY,CAACX,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;QAChD,IAAMa,UAAU,GAAGD,YAAY,CAACZ,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAACW,qBAAqB,CAACF,eAAe,EAAEI,UAAU,CAAC,EAAE;UAC7DH,QAAQ,CAACvB,IAAI,CAAC0B,UAAU,CAAC;UACzBJ,eAAe,CAACtB,IAAI,CAAC0B,UAAU,CAAC;QACjC;MACD;MAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,YAAY,CAACX,MAAM,EAAEa,CAAC,IAAI,CAAC,EAAE;QAChD,IAAMD,WAAU,GAAGD,YAAY,CAACE,CAAC,CAAC;QAClC,IAAIC,sBAAsB,GAAG,IAAI,CAACX,mCAAmC,CACpES,WAAU,EACVJ,eAAe,CACf;QACD,IAAI,CAACI,WAAU,CAACR,UAAU,EAAE;UAC3BU,sBAAsB,GAAGA,sBAAsB,CAAClB,GAAG,CAAC,UAACC,CAAC;YAAA,uCAClDA,CAAC;cACJO,UAAU,EAAE;YAAK;UAAA,CAChB,CAAC;QACJ;QAEAK,QAAQ,CAACvB,IAAI,OAAbuB,QAAQ,sCAASK,sBAAsB,EAAC;MACzC;MAEA,OAAOL,QAAQ;IAChB;EAAC;IAAA;IAAA,OAED,+BACCD,eAAoC,EACpCI,UAA6B,EAC5B;MACD,OAAO,CAAC,CAACJ,eAAe,CAACO,IAAI,CAAC,UAAClB,CAAC;QAAA,OAAKA,CAAC,CAACnB,IAAI,KAAKkC,UAAU,CAAClC,IAAI;MAAA,EAAC;IACjE;EAAC;IAAA;IAAA;MAAA,6FAED,kBACCsC,OAA8B;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAG7BP,QAAQ,GAGLO,OAAO,CAHVP,QAAQ,0BAGLO,OAAO,CAFVC,0BAA0B,EAA1BA,0BAA0B,sCAAG,IAAI,0BACjCC,gBAAgB,GACbF,OAAO,CADVE,gBAAgB;gBAGXC,wBAAwB,GAAG,CAAC,CAACV,QAAQ,CAACM,IAAI,CAAC,UAAClB,CAAC;kBAAA,OAAKA,CAAC,CAACnB,IAAI,KAAK,OAAO;gBAAA,EAAC;gBAE3E,IACCH,oBAAoB,CAAC6C,iCAAiC,IACtDD,wBAAwB,EACvB;kBACD5C,oBAAoB,CAAC6C,iCAAiC,CACrD,UAACC,OAA8B,EAAK;oBACnCH,gBAAgB,GAAGG,OAAO;kBAC3B,CAAC,CACD;gBACF;gBAEA,IAAI,CAACC,sBAAsB,GAAG,CAAC,CAAC;gBAE5BxB,OAA+B,GAAG,CAAC,CAAC;gBAEpCyB,qBAA0C,GAAG,EAAE;gBAE1CxB,CAAC,GAAG,CAAC;cAAA;gBAAA,MAAEA,CAAC,GAAGU,QAAQ,CAACT,MAAM;kBAAA;kBAAA;gBAAA;gBAC5BH,CAAC,GAAGY,QAAQ,CAACV,CAAC,CAAC;gBACfrB,KAAI,GAAGmB,CAAC,CAACnB,IAAI;gBAEnB,qBAAAwC,gBAAgB,sDAAhB,wCAAkCxC,KAAI,sBAAmB;gBAAA;gBAAA,OAE/B,IAAI,CAACG,WAAW,CAACH,KAAI,CAAC;cAAA;gBAA1CG,aAAW;gBAEjB,IAAI,CAACA,aAAW,IAAIoC,0BAA0B,EAAE;kBAC/C,sBAAAC,gBAAgB,uDAAhB,yDAAyD;kBACzDK,qBAAqB,GAAGA,qBAAqB,CAACC,MAAM,CACnD,IAAI,CAACrB,mCAAmC,CAAC;oBAAEzB,IAAI,EAAJA,KAAI;oBAAE0B,UAAU,EAAE;kBAAK,CAAC,CAAC,CACpE;gBACF,CAAC,MAAM,IAAI,CAACvB,aAAW,EAAE;kBACxB0C,qBAAqB,CAACrC,IAAI,CAAC;oBAAER,IAAI,EAAJA,KAAI;oBAAE0B,UAAU,EAAE;kBAAK,CAAC,CAAC;gBACvD;cAAC;gBAfmCL,CAAC,IAAI,CAAC;gBAAA;gBAAA;cAAA;gBAkB3CwB,qBAAqB,GAAG,IAAAE,YAAI,EAACF,qBAAqB,CAAC;gBACnDA,qBAAqB,GAAG,IAAI,CAACjB,YAAY,CAACiB,qBAAqB,CAAC;gBAAA,iEAEvDxB,EAAC;kBAAA;kBAAA;oBAAA;sBAAA;wBAAA;0BAAA,wBACoBwB,qBAAqB,CAACxB,EAAC,CAAC,EAA7CrB,IAAI,yBAAJA,IAAI,EAAE0B,UAAU,yBAAVA,UAAU;0BAAA;0BAAA,OAEE,MAAI,CAACsB,2BAA2B,CAAChD,IAAI,CAAC;wBAAA;0BAA1DG,WAAW;0BAAA,MAEb,CAACA,WAAW,IAAIuB,UAAU;4BAAA;4BAAA;0BAAA;0BACvBuB,cAAc,GACnB;0BAAA,yBACAX,OAAO,CAACP,QAAQ,CAACM,IAAI,CAAC,UAAClB,CAAC;4BAAA,OAAKA,CAAC,CAACnB,IAAI,KAAKA,IAAI;0BAAA,EAAC,0DAA7C,sBAA+CsC,OAAO;0BAEjDY,cAAc,GAAG;4BACtBlD,IAAI,EAAE6C,qBAAqB,CAACxB,EAAC,CAAC,CAACrB,IAAI;4BACnCsC,OAAO,EAAEW;0BACV,CAAC;0BAED,sBAAAT,gBAAgB,uDAAhB,4CAAqCU,cAAc,CAAClD,IAAI,kBAAe;0BAAA;0BAAA,OAE1C,MAAI,CAACkD,cAAc,CAC/CA,cAAc,EACdV,gBAAgB,CAChB;wBAAA;0BAHKW,cAAc;0BAKpB/B,OAAO,GAAG,IAAAgC,iBAAK,EAAChC,OAAO,EAAE+B,cAAc,CAAC;wBAAA;wBAAA;0BAAA;sBAAA;oBAAA;kBAAA;gBAAA;gBAtBjC9B,EAAC,GAAG,CAAC;cAAA;gBAAA,MAAEA,EAAC,GAAGwB,qBAAqB,CAACvB,MAAM;kBAAA;kBAAA;gBAAA;gBAAA,qCAAvCD,EAAC;cAAA;gBAAwCA,EAAC,IAAI,CAAC;gBAAA;gBAAA;cAAA;gBAAA;gBAAA,OA0B3B,IAAI,CAACgC,iBAAiB,CAACb,gBAAgB,CAAC;cAAA;gBAA/Dc,cAAc;gBACpBlC,OAAO,GAAG,IAAAgC,iBAAK,EAAChC,OAAO,EAAEkC,cAAc,CAAC;gBAExC,IACCzD,oBAAoB,CAAC0D,gCAAgC,IACrDd,wBAAwB,EACvB;kBACD5C,oBAAoB,CAAC0D,gCAAgC,EAAE;gBACxD;gBAAC,kCAEMnC,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,qCAAoCpB,IAAY,EAAE;MACjD,OAAO,IAAI,CAAC4C,sBAAsB,CAAC5C,IAAI,CAAC,IAAI,IAAI,CAACG,WAAW,CAACH,IAAI,CAAQ;IAC1E;EAAC;IAAA;IAAA;MAAA,qGAED,kBACCkD,eAA8B,EAC9BV,gBAAwC;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAExC,IAAI,CAACI,sBAAsB,CAACM,eAAc,CAAClD,IAAI,CAAC,GAAG,IAAI;gBAEjDC,OAAO,GAAG,IAAI,CAACC,UAAU,CAACgD,eAAc,CAAClD,IAAI,CAAC;gBAEpD,IAAIC,OAAO,CAACuD,aAAa,EAAE;kBAC1B;kBACA,IAAAC,4BAAoB,EAACxD,OAAO,CAACuD,aAAa,2BAAEN,eAAc,CAACZ,OAAO,yEAAI,CAAC,CAAC,CAAC;gBAC1E;gBAEAE,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,0CAA4C;gBAAA;gBAAA,OACzBvC,OAAO,CAACyD,oBAAoB;gBAC9D;gBACAR,eAAc,CAACZ,OAAO,CACtB;cAAA;gBAHKqB,oBAAoB;gBAK1B,IAAIA,oBAAoB,CAAC7D,GAAG,EAAE;kBAC7B,IAAI,CAACA,GAAG,GAAG6D,oBAAoB,CAAC7D,GAAG;gBACpC;gBAEA0C,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,sCAAwC;gBAAA;gBAAA,OAEjD,IAAI,CAACoB,mDAAmD,CAC7D3D,OAAO,EACPuC,gBAAgB,CAChB;cAAA;gBAJIqB,iBAAiB;gBAMvBrB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,yCAA2C;gBAE3D,IAAI,CAACsB,oBAAoB,CAACtD,IAAI,CAAC0C,eAAc,CAAC;gBAE9C,IAAI,CAACjD,OAAO,CAACE,WAAW,EAAE;kBACzB,IAAI,CAAC4D,yBAAyB,CAACvD,IAAI,CAACP,OAAO,CAACD,IAAI,CAAC;gBAClD;gBAEMgE,KAAK,gEAAQL,oBAAoB,CAACK,KAAK,yEAAI,EAAE;gBAAA,kCAE5C;kBACNA,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIC,SAAS;kBACzBJ,iBAAiB,EAAjBA;gBACD,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,gHAED,kBACC5D,OAAwB,EACxBuC,gBAAwC;QAAA;UAAA;YAAA;cAAA;gBAAA,kCAEjC,IAAI,CAAC0B,qCAAqC,CAChD,CAACjE,OAAO,CAAC,EACTuC,gBAAgB,CAChB;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2HAED,kBACCT,QAA2B,EAC3BS,gBAAwC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAExC,IAAI3C,oBAAoB,CAAC6C,iCAAiC,EAAE;kBAC3D7C,oBAAoB,CAAC6C,iCAAiC,CACrD,UAACC,OAA8B,EAAK;oBACnCH,gBAAgB,GAAGG,OAAO;kBAC3B,CAAC,CACD;gBACF;gBAAC,uCAEqBZ,QAAQ;gBAAA;gBAAA;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAAnB9B,QAAO;gBAAA;gBAAA,OACX,IAAI,CAAC2D,mDAAmD,CAC7D3D,QAAO,EACPuC,gBAAgB,CAChB;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA,OAGI,IAAI,CAACa,iBAAiB,CAACb,gBAAgB,CAAC;cAAA;gBAE9C,IAAI3C,oBAAoB,CAAC0D,gCAAgC,EAAE;kBAC1D1D,oBAAoB,CAAC0D,gCAAgC,EAAE;gBACxD;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,uGAED,kBACCf,gBAAwC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAElC2B,UAAU,GAAG,IAAI,CAAC/D,OAAO,CAAC,KAAK,CAAC;gBAAA,MAElC,IAAI,CAACgE,iBAAiB,CAAC9C,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACpCkB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,sBACD,IAAI,CAAC4B,iBAAiB,CAAC9C,MAAM,yBAC1C,IAAI,CAAC8C,iBAAiB,CAAC9C,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,0BAE/C;gBAAA;gBAAA,OAEK6C,UAAU,CAACE,OAAO,CAAC,IAAI,CAACD,iBAAiB,EAAE,CAAC,CAAC,CAAC;cAAA;gBAAA,MAGjD,IAAI,CAACE,oBAAoB,CAAChD,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACvCkB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,0BACG,IAAI,CAAC8B,oBAAoB,CAAChD,MAAM,6BACjD,IAAI,CAACgD,oBAAoB,CAAChD,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,0BAElD;gBAAA;gBAAA,OAEK6C,UAAU,CAACE,OAAO,CAAC,IAAI,CAACC,oBAAoB,EAAE;kBACnDC,KAAK,EAAE;gBACR,CAAC,CAAC;cAAA;gBAGH,IAAI,CAACH,iBAAiB,GAAG,EAAE;gBAC3B,IAAI,CAACE,oBAAoB,GAAG,EAAE;gBAExBE,QAAQ,GAAG,IAAI,CAACpE,OAAO,CAAC,UAAU,CAAC;gBAAA,wCAEtB,IAAI,CAAC2D,yBAAyB;gBAAA;kBAAjD,uDAAmD;oBAAxC/D,MAAI;oBACdwE,QAAQ,CAACC,eAAe,CAACzE,MAAI,CAAC;kBAC/B;gBAAC;kBAAA;gBAAA;kBAAA;gBAAA;gBAED,IAAI,CAAC+D,yBAAyB,GAAG,EAAE;gBAE/B3C,OAA+B,GAAG,CAAC,CAAC;gBAAA,wCAEX,IAAI,CAAC0C,oBAAoB;gBAAA;gBAAA;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAA3CZ,cAAc;gBAClBjD,SAAO,GAAG,IAAI,CAACC,UAAU,CAACgD,cAAc,CAAClD,IAAI,CAAC;gBAAA;gBAAA,OAClBC,SAAO,CAACyE,mBAAmB;gBAC5D;gBACAxB,cAAc,CAACZ,OAAO,CACtB;cAAA;gBAHKqC,mBAAmB;gBAKzBvD,OAAO,GAAG,IAAAgC,iBAAK,EAAChC,OAAO,EAAEuD,mBAAmB,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA,kCAGvCvD,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yIAED,kBACCnB,OAAwB,EACxBuC,gBAAwC;QAAA;UAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAElCqB,iBAA+B,GAAG,EAAE;gBACpCM,UAAU,GAAG,IAAI,CAAC/D,OAAO,CAAC,KAAK,CAAC;gBAEtC,yBAAAH,OAAO,CAAC2E,mBAAmB,0DAA3B,sBAA6BC,OAAO,CAAC,UAACC,GAAG,EAAK;kBAC7C,IAAMC,WAAW,GAAGZ,UAAU,CAACa,gBAAgB,CAACF,GAAG,CAAC;kBAEpDjB,iBAAiB,CAACrD,IAAI,CAACsE,GAAG,CAAC;kBAE3BtC,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,qCAAgCsC,GAAG,CAACG,IAAI,EAAG;kBAE3D,IAAIH,GAAG,CAACP,KAAK,IAAI,MAAI,CAACD,oBAAoB,CAAC5D,OAAO,CAACqE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvE,MAAI,CAACT,oBAAoB,CAAC9D,IAAI,CAACuE,WAAW,CAAC;kBAC5C,CAAC,MAAM,IACN,CAACD,GAAG,CAACP,KAAK,IACV,MAAI,CAACH,iBAAiB,CAAC1D,OAAO,CAACqE,WAAW,CAAC,KAAK,CAAC,CAAC,EACjD;oBACD,MAAI,CAACX,iBAAiB,CAAC5D,IAAI,CAACuE,WAAW,CAAC;kBACzC;gBACD,CAAC,CAAC;gBAEF,IAAI,IAAI,CAACX,iBAAiB,CAAC9C,MAAM,GAAG,CAAC,EAAE;kBACtCkB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,+BACQ,IAAI,CAAC4B,iBAAiB,CAAC9C,MAAM,4BACnD,IAAI,CAAC8C,iBAAiB,CAAC9C,MAAM,KAAK,CAAC,GAChC,IAAI,GACJ,UAAU,GAAG,IAAI,CAAC4D,qBAAqB,CAACjF,OAAO,CAAC,GAAG,KAAK,OAE5D;gBACF;gBAEA,IAAI,IAAI,CAACqE,oBAAoB,CAAChD,MAAM,GAAG,CAAC,EAAE;kBACzCkB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,+BAEd,IAAI,CAAC8B,oBAAoB,CAAChD,MAAM,gCAEhC,IAAI,CAACgD,oBAAoB,CAAChD,MAAM,KAAK,CAAC,GACnC,IAAI,GACJ,UAAU,GAAG,IAAI,CAAC4D,qBAAqB,CAACjF,OAAO,CAAC,GAAG,MAAM,OAE7D;gBACF;gBAAC,kCAEM4D,iBAAiB;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,+BAA8B5D,OAAwB,EAAE;MACvD,iBAAUA,OAAO,CAACkF,YAAY,SAC7BlF,OAAO,CAACmF,WAAW,GAAG,IAAI,GAAGnF,OAAO,CAACmF,WAAW,GAAG,GAAG,GAAG,EAAE;IAE7D;EAAC;IAAA;IAAA,OAED,sBACCC,mBAAwC,EAClB;MAAA;MACtB,OAAO,oCAAIA,mBAAmB,EAAEC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAK;QAC9C,IAAMC,QAAQ,GAAG,MAAI,CAACvF,UAAU,CAACqF,CAAC,CAACvF,IAAI,CAAC;QACxC,IAAM0F,QAAQ,GAAG,MAAI,CAACxF,UAAU,CAACsF,CAAC,CAACxF,IAAI,CAAC;QAExC,IAAM2F,WAAW,GAAGF,QAAQ,CAACxD,YAAY,CAACI,IAAI,CAAC,UAACuD,CAAC;UAAA,OAAKA,CAAC,CAAC5F,IAAI,KAAKwF,CAAC,CAACxF,IAAI;QAAA,EAAC;QACxE,IAAM6F,WAAW,GAAGH,QAAQ,CAACzD,YAAY,CAACI,IAAI,CAAC,UAACuD,CAAC;UAAA,OAAKA,CAAC,CAAC5F,IAAI,KAAKuF,CAAC,CAACvF,IAAI;QAAA,EAAC;QAExE,IACC2F,WAAW,IACXF,QAAQ,CAACK,kBAAkB,GAAGJ,QAAQ,CAACI,kBAAkB,EACxD;UACD,OAAO,CAAC;QACT,CAAC,MAAM,IACND,WAAW,IACXJ,QAAQ,CAACK,kBAAkB,GAAGJ,QAAQ,CAACI,kBAAkB,EACxD;UACD,OAAO,CAAC,CAAC;QACV;QACA,OAAO,CAAC;MACT,CAAC,CAAC;IACH;EAAC;IAAA;IAAA;MAAA;QAAA;MAAA;MAAA;QAAA;MAAA;MAAA;IAAA,EAED,UAAkCC,IAAO,EAAEjG,GAAY,EAAiB;MACvE,OAAO,IAAI,CAACC,cAAc,CAACK,OAAO,CAACN,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI,IAAI,CAACA,GAAG,EAAEiG,IAAI,CAAC;IAC1D,CAAC;EAAA;IAAA;IAAA,OAED,8BAA4B/F,IAAiB,EAAE;MAC9C,OAAO,IAAI,CAACE,UAAU,CAACF,IAAI,CAAC,CAACwD,aAAa;IAC3C;EAAC;IAAA;IAAA,OAED,uBAAoC;MACnC,IAAMzC,KAAK,GAAGiF,MAAM,CAACC,IAAI,CAAC,IAAI,CAACrF,UAAU,CAAkB;MAC3D,OAAO,IAAI,CAACgB,YAAY,CACvBb,KAAK,CAACG,GAAG,CAAC,UAAClB,IAAI;QAAA,OAAM;UAAEA,IAAI,EAAJA,IAAI;UAAE0B,UAAU,EAAE;QAAK,CAAC;MAAA,CAAC,CAAC,CACjD,CAACR,GAAG,CAAC,UAACgF,GAAG;QAAA,OAAKA,GAAG,CAAClG,IAAI;MAAA,EAAC;IACzB;EAAC;IAAA;IAAA;MAAA,0GAED;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACyBgB,OAAO,CAACC,GAAG,CAClC,IAAI,CAACkF,WAAW,EAAE,CAACjF,GAAG;kBAAA,yFAAC,kBAAOlB,IAAI;oBAAA;oBAAA;sBAAA;wBAAA;0BAAA;4BAAA;4BAAA,OACP,MAAI,CAACG,WAAW,CAACH,IAAI,CAAC;0BAAA;4BAA1CG,WAAW;4BAAA,KACbA,WAAW;8BAAA;8BAAA;4BAAA;4BAAA,mCACP,MAAI,CAACD,UAAU,CAACF,IAAI,CAAC;0BAAA;4BAAA,mCAGtB,KAAK;0BAAA;0BAAA;4BAAA;wBAAA;sBAAA;oBAAA;kBAAA,CACZ;kBAAA;oBAAA;kBAAA;gBAAA,IAAC,CACF;cAAA;gBATKoG,SAAS;gBAAA,mCAWRA,SAAS,CAACzE,MAAM,CAAC,UAACR,CAAC;kBAAA,OAAK,CAAC,CAACA,CAAC;gBAAA,EAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA;AAAA,iCA5dWtB,oBAAoB;AAAA,iCAApBA,oBAAoB"}
1
+ {"version":3,"file":"FeatureInstaller.js","names":["_schema","require","_lodash","_merge","_interopRequireDefault","_SpruceError","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","FeatureInstallerImpl","cwd","serviceFactory","_classCallCheck2","_createClass2","_isInstalled","_asyncToGenerator2","_regenerator","mark","_callee","code","feature","wrap","_callee$","_context","prev","getFeature","isInstalled","abrupt","Service","isMarkedAsInstalled","stop","_x3","markAsSkippedThisRun","isMarkedAsSkipped","featuresMarkedAsSkippedThisRun","markAsPermanentlySkipped","indexOf","isMarkedAsPermanentlySkipped","mapFeature","featureMap","SpruceError","featureCode","_areInstalled","_callee2","codes","_this","results","result","_callee2$","_context2","Promise","all","map","sent","areInstalled","_x4","getFeatureDependencies","deps","getFeatureDependenciesIncludingSelf","isRequired","sortFeatures","featureDependency","trackedFeatures","undefined","features","isDependencyInTracker","dependencies","dependency","x","dependencyDependencies","_toConsumableArray2","find","_install","_callee3","options","_this2","_options$installFeatu","installFeatureDependencies","didUpdateHandler","shouldAllowEntertainment","dependenciesToInstall","_didUpdateHandler","_code","_isInstalled2","_didUpdateHandler2","_loop","pendingResults","_callee3$","_context4","startInFlightIntertainmentHandler","handler","pendingFeatureInstalls","concat","uniq","_dependenciesToInstal","_options$features$fin","_didUpdateHandler3","installOptions","installFeature","installResults","_loop$","_context3","isInstalledOrPendingInstall","merge","delegateYield","installAllPending","stopInFlightIntertainmentHandler","install","_x5","_installFeature2","_callee4","_beforeInstallResults","_installFeature$optio","beforeInstallResults","packagesInstalled","files","_callee4$","_context5","optionsSchema","validateSchemaValues","beforePackageInstall","queueInstallPackageDependenciesWithoutEntertainment","afterPackageInstalls","featuresToMarkAsInstalled","_x6","_x7","_installPackageDependencies","_callee5","_callee5$","_context6","installPackageDependenciesForFeatures","installPackageDependencies","_x8","_x9","_installPackageDependenciesForFeatures","_callee6","_iterator","_step","_feature","_callee6$","_context7","t0","finish","_x10","_x11","_installAllPending","_callee7","pkgService","settings","_iterator2","_step2","_code2","_iterator3","_step3","_feature2","afterInstallResults","_callee7$","_context8","packagesToInstall","devPackagesToInstall","isDev","markAsInstalled","afterPackageInstall","_x12","_queueInstallPackageDependenciesWithoutEntertainment","_callee8","_feature$packageDepen","_this3","_callee8$","_context9","packageDependencies","pkg","packageName","buildPackageName","getFeatureNameAndDesc","_x13","_x14","nameReadable","description","featureDependencies","_this4","sort","a","b","aFeature","bFeature","aDependsOnB","d","bDependsOnA","installOrderWeight","_Service","_x","_x2","type","getOptionsForFeature","getAllCodes","dep","_getInstalledFeatures","_callee10","_this5","installed","_callee10$","_context11","_ref","_callee9","_callee9$","_context10","_x15","getInstalledFeatures","exports"],"sources":["../../src/features/FeatureInstaller.ts"],"sourcesContent":["import { validateSchemaValues } from '@sprucelabs/schema'\nimport { uniq } from 'lodash'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport ServiceFactory, {\n\tService,\n\tServiceProvider,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport { InternalUpdateHandler, NpmPackage } from '../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from './AbstractFeature'\nimport {\n\tInstallFeatureOptions,\n\tFeatureInstallResponse,\n\tFeatureCode,\n\tInstallFeature,\n\tFeatureMap,\n} from './features.types'\n\nexport class FeatureInstallerImpl implements ServiceProvider, FeatureInstaller {\n\tpublic cwd: string\n\n\tprivate featureMap: Partial<FeatureMap> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate featuresMarkedAsSkippedThisRun: FeatureCode[] = []\n\tpublic static startInFlightIntertainmentHandler?: (\n\t\tdidUpdateHandler: (handler: (message: string) => void) => void\n\t) => void\n\tpublic static stopInFlightIntertainmentHandler?: () => void\n\tprivate packagesToInstall: string[] = []\n\tprivate devPackagesToInstall: string[] = []\n\tprivate featuresToMarkAsInstalled: string[] = []\n\tprivate afterPackageInstalls: InstallFeature[] = []\n\tprivate pendingFeatureInstalls: Record<string, boolean> = {}\n\n\tpublic constructor(cwd: string, serviceFactory: ServiceFactory) {\n\t\tthis.cwd = cwd\n\t\tthis.serviceFactory = serviceFactory\n\t}\n\n\tpublic async isInstalled(code: FeatureCode): Promise<boolean> {\n\t\tconst feature = this.getFeature(code)\n\n\t\tif (feature.isInstalled) {\n\t\t\treturn feature.isInstalled()\n\t\t}\n\n\t\treturn this.Service('settings').isMarkedAsInstalled(code)\n\t}\n\n\tpublic markAsSkippedThisRun(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.featuresMarkedAsSkippedThisRun.push(code)\n\t\t}\n\t}\n\tpublic markAsPermanentlySkipped(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.Service('settings').markAsPermanentlySkipped(code)\n\t\t}\n\t}\n\n\tpublic isMarkedAsSkipped(code: FeatureCode) {\n\t\treturn (\n\t\t\tthis.featuresMarkedAsSkippedThisRun.indexOf(code) > -1 ||\n\t\t\tthis.Service('settings').isMarkedAsPermanentlySkipped(code)\n\t\t)\n\t}\n\n\tpublic mapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]) {\n\t\tthis.featureMap[code] = feature\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C): FeatureMap[C] {\n\t\tconst feature = this.featureMap[code]\n\t\tif (!feature) {\n\t\t\tthrow new SpruceError({ code: 'INVALID_FEATURE_CODE', featureCode: code })\n\t\t}\n\n\t\treturn feature as FeatureMap[C]\n\t}\n\n\tpublic async areInstalled(codes: FeatureCode[]) {\n\t\tconst results = await Promise.all(\n\t\t\tcodes.map((f) => {\n\t\t\t\treturn this.isInstalled(f)\n\t\t\t})\n\t\t)\n\n\t\tfor (let i = 0; i < results.length; i += 1) {\n\t\t\tconst result = results[i]\n\t\t\tif (!result) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tpublic getFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t\t// trackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tlet deps = this.getFeatureDependenciesIncludingSelf(\n\t\t\t{ code: featureCode, isRequired: true },\n\t\t\t[] // trackedFeatures\n\t\t).filter((f) => f.code !== featureCode)\n\n\t\tdeps = this.sortFeatures(deps)\n\n\t\treturn deps\n\t}\n\n\tprivate getFeatureDependenciesIncludingSelf(\n\t\tfeatureDependency: FeatureDependency,\n\t\ttrackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tconst features: FeatureDependency[] = []\n\n\t\tif (!this.isDependencyInTracker(trackedFeatures, featureDependency)) {\n\t\t\tfeatures.push(featureDependency)\n\t\t\ttrackedFeatures.push(featureDependency)\n\t\t}\n\n\t\tconst feature = this.getFeature(featureDependency.code)\n\t\tconst dependencies = feature.dependencies\n\n\t\tfor (let i = 0; i < dependencies.length; i += 1) {\n\t\t\tconst dependency = dependencies[i]\n\t\t\tif (!this.isDependencyInTracker(trackedFeatures, dependency)) {\n\t\t\t\tfeatures.push(dependency)\n\t\t\t\ttrackedFeatures.push(dependency)\n\t\t\t}\n\t\t}\n\n\t\tfor (let x = 0; x < dependencies.length; x += 1) {\n\t\t\tconst dependency = dependencies[x]\n\t\t\tlet dependencyDependencies = this.getFeatureDependenciesIncludingSelf(\n\t\t\t\tdependency,\n\t\t\t\ttrackedFeatures\n\t\t\t)\n\t\t\tif (!dependency.isRequired) {\n\t\t\t\tdependencyDependencies = dependencyDependencies.map((f) => ({\n\t\t\t\t\t...f,\n\t\t\t\t\tisRequired: false,\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tfeatures.push(...dependencyDependencies)\n\t\t}\n\n\t\treturn features\n\t}\n\n\tprivate isDependencyInTracker(\n\t\ttrackedFeatures: FeatureDependency[],\n\t\tdependency: FeatureDependency\n\t) {\n\t\treturn !!trackedFeatures.find((f) => f.code === dependency.code)\n\t}\n\n\tpublic async install(\n\t\toptions: InstallFeatureOptions\n\t): Promise<FeatureInstallResponse> {\n\t\tlet {\n\t\t\tfeatures,\n\t\t\tinstallFeatureDependencies = true,\n\t\t\tdidUpdateHandler,\n\t\t} = options\n\n\t\tconst shouldAllowEntertainment = !!features.find((f) => f.code === 'skill')\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tthis.pendingFeatureInstalls = {}\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tlet dependenciesToInstall: FeatureDependency[] = []\n\n\t\tfor (let i = 0; i < features.length; i += 1) {\n\t\t\tconst f = features[i]\n\t\t\tconst code = f.code\n\n\t\t\tdidUpdateHandler?.(`Checking if ${code} is installed...`)\n\n\t\t\tconst isInstalled = await this.isInstalled(code)\n\n\t\t\tif (!isInstalled && installFeatureDependencies) {\n\t\t\t\tdidUpdateHandler?.(`It is not, checking dependencies...`)\n\t\t\t\tdependenciesToInstall = dependenciesToInstall.concat(\n\t\t\t\t\tthis.getFeatureDependenciesIncludingSelf({ code, isRequired: true })\n\t\t\t\t)\n\t\t\t} else if (!isInstalled) {\n\t\t\t\tdependenciesToInstall.push({ code, isRequired: true })\n\t\t\t}\n\t\t}\n\n\t\tdependenciesToInstall = uniq(dependenciesToInstall)\n\t\tdependenciesToInstall = this.sortFeatures(dependenciesToInstall)\n\n\t\tfor (let x = 0; x < dependenciesToInstall.length; x += 1) {\n\t\t\tconst { code, isRequired } = dependenciesToInstall[x]\n\n\t\t\tconst isInstalled = await this.isInstalledOrPendingInstall(code)\n\n\t\t\tif (!isInstalled && isRequired) {\n\t\t\t\tconst installOptions =\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\toptions.features.find((f) => f.code === code)?.options\n\n\t\t\t\tconst installFeature = {\n\t\t\t\t\tcode,\n\t\t\t\t\toptions: installOptions,\n\t\t\t\t} as InstallFeature\n\n\t\t\t\tdidUpdateHandler?.(`Installing the ${installFeature.code} feature....`)\n\n\t\t\t\tconst installResults = await this.installFeature(\n\t\t\t\t\tinstallFeature,\n\t\t\t\t\tdidUpdateHandler\n\t\t\t\t)\n\n\t\t\t\tresults = merge(results, installResults)\n\t\t\t}\n\t\t}\n\n\t\tconst pendingResults = await this.installAllPending(didUpdateHandler)\n\t\tresults = merge(results, pendingResults)\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate isInstalledOrPendingInstall(code: string) {\n\t\treturn this.pendingFeatureInstalls[code] || this.isInstalled(code as any)\n\t}\n\n\tprivate async installFeature(\n\t\tinstallFeature: InstallFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tthis.pendingFeatureInstalls[installFeature.code] = true\n\n\t\tconst feature = this.getFeature(installFeature.code) as AbstractFeature\n\n\t\tif (feature.optionsSchema) {\n\t\t\t//@ts-ignore\n\t\t\tvalidateSchemaValues(feature.optionsSchema, installFeature.options ?? {})\n\t\t}\n\n\t\tdidUpdateHandler?.(`Running before package install hook...`)\n\t\tconst beforeInstallResults = await feature.beforePackageInstall(\n\t\t\t//@ts-ignore\n\t\t\tinstallFeature.options\n\t\t)\n\n\t\tif (beforeInstallResults.cwd) {\n\t\t\tthis.cwd = beforeInstallResults.cwd\n\t\t}\n\n\t\tdidUpdateHandler?.(`Installing package dependencies...`)\n\t\tconst packagesInstalled =\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\tdidUpdateHandler?.(`Running after package install hook...`)\n\n\t\tthis.afterPackageInstalls.push(installFeature)\n\n\t\tif (!feature.isInstalled) {\n\t\t\tthis.featuresToMarkAsInstalled.push(feature.code)\n\t\t}\n\n\t\tconst files = [...(beforeInstallResults.files ?? [])]\n\n\t\treturn {\n\t\t\tfiles: files ?? undefined,\n\t\t\tpackagesInstalled,\n\t\t}\n\t}\n\n\tpublic async installPackageDependencies(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\treturn this.installPackageDependenciesForFeatures(\n\t\t\t[feature],\n\t\t\tdidUpdateHandler\n\t\t)\n\t}\n\n\tpublic async installPackageDependenciesForFeatures(\n\t\tfeatures: AbstractFeature[],\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tif (FeatureInstallerImpl.startInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tfor (const feature of features) {\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\t\t}\n\n\t\tawait this.installAllPending(didUpdateHandler)\n\n\t\tif (FeatureInstallerImpl.stopInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\t}\n\n\tprivate async installAllPending(\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Installing ${this.packagesToInstall.length} node module${\n\t\t\t\t\tthis.packagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.packagesToInstall, {})\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Now installing ${this.devPackagesToInstall.length} DEV node module${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.devPackagesToInstall, {\n\t\t\t\tisDev: true,\n\t\t\t})\n\t\t}\n\n\t\tthis.packagesToInstall = []\n\t\tthis.devPackagesToInstall = []\n\n\t\tconst settings = this.Service('settings')\n\n\t\tfor (const code of this.featuresToMarkAsInstalled) {\n\t\t\tsettings.markAsInstalled(code)\n\t\t}\n\n\t\tthis.featuresToMarkAsInstalled = []\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tfor (const installFeature of this.afterPackageInstalls) {\n\t\t\tconst feature = this.getFeature(installFeature.code)\n\t\t\tconst afterInstallResults = await feature.afterPackageInstall(\n\t\t\t\t//@ts-ignore\n\t\t\t\tinstallFeature.options\n\t\t\t)\n\n\t\t\tresults = merge(results, afterInstallResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async queueInstallPackageDependenciesWithoutEntertainment(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst packagesInstalled: NpmPackage[] = []\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tfeature.packageDependencies?.forEach((pkg) => {\n\t\t\tconst packageName = pkgService.buildPackageName(pkg)\n\n\t\t\tpackagesInstalled.push(pkg)\n\n\t\t\tdidUpdateHandler?.(`Checking node dependency: ${pkg.name}`)\n\n\t\t\tif (pkg.isDev && this.devPackagesToInstall.indexOf(packageName) === -1) {\n\t\t\t\tthis.devPackagesToInstall.push(packageName)\n\t\t\t} else if (\n\t\t\t\t!pkg.isDev &&\n\t\t\t\tthis.packagesToInstall.indexOf(packageName) === -1\n\t\t\t) {\n\t\t\t\tthis.packagesToInstall.push(packageName)\n\t\t\t}\n\t\t})\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${this.packagesToInstall.length} node dependenc${\n\t\t\t\t\tthis.packagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '...'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${\n\t\t\t\t\tthis.devPackagesToInstall.length\n\t\t\t\t} DEV node dependenc${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '. 🤘'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\treturn packagesInstalled\n\t}\n\n\tprivate getFeatureNameAndDesc(feature: AbstractFeature) {\n\t\treturn `${feature.nameReadable}${\n\t\t\tfeature.description ? ' (' + feature.description + ')' : ''\n\t\t}`\n\t}\n\n\tprivate sortFeatures(\n\t\tfeatureDependencies: FeatureDependency[]\n\t): FeatureDependency[] {\n\t\treturn [...featureDependencies].sort((a, b) => {\n\t\t\tconst aFeature = this.getFeature(a.code)\n\t\t\tconst bFeature = this.getFeature(b.code)\n\n\t\t\tconst aDependsOnB = aFeature.dependencies.find((d) => d.code === b.code)\n\t\t\tconst bDependsOnA = bFeature.dependencies.find((d) => d.code === a.code)\n\n\t\t\tif (\n\t\t\t\taDependsOnB ||\n\t\t\t\taFeature.installOrderWeight < bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn 1\n\t\t\t} else if (\n\t\t\t\tbDependsOnA ||\n\t\t\t\taFeature.installOrderWeight > bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 0\n\t\t})\n\t}\n\n\tpublic Service<S extends Service>(type: S, cwd?: string): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tpublic getOptionsForFeature(code: FeatureCode) {\n\t\treturn this.getFeature(code).optionsSchema\n\t}\n\n\tpublic getAllCodes(): FeatureCode[] {\n\t\tconst codes = Object.keys(this.featureMap) as FeatureCode[]\n\t\treturn this.sortFeatures(\n\t\t\tcodes.map((code) => ({ code, isRequired: true }))\n\t\t).map((dep) => dep.code)\n\t}\n\n\tpublic async getInstalledFeatures() {\n\t\tconst installed = await Promise.all(\n\t\t\tthis.getAllCodes().map(async (code) => {\n\t\t\t\tconst isInstalled = await this.isInstalled(code)\n\t\t\t\tif (isInstalled) {\n\t\t\t\t\treturn this.getFeature(code)\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t})\n\t\t)\n\n\t\treturn installed.filter((f) => !!f) as FeatureMap[keyof FeatureMap][]\n\t}\n}\n\nexport default interface FeatureInstaller {\n\tisInstalled(code: FeatureCode): Promise<boolean>\n\tmarkAsSkippedThisRun(code: FeatureCode): void\n\tmarkAsPermanentlySkipped(code: FeatureCode): void\n\tisMarkedAsSkipped(code: FeatureCode): boolean\n\tgetFeature<C extends FeatureCode>(code: C): FeatureMap[C]\n\tareInstalled(codes: FeatureCode[]): Promise<boolean>\n\tinstall(options: InstallFeatureOptions): Promise<FeatureInstallResponse>\n\tgetInstalledFeatures(): Promise<FeatureMap[keyof FeatureMap][]>\n\tgetFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t): FeatureDependency[]\n\tgetAllCodes(): FeatureCode[]\n\tmapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]): void\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureInstallerFactory.js","names":["FeatureInstallerFactory","options","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstallerImpl","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature","PolishFeature","PermissionFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller, { FeatureInstallerImpl } from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PermissionFeature from './permission/PermissionFeature'\nimport PersonFeature from './person/PersonFeature'\nimport PolishFeature from './polish/PolishFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\n\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t\tPolishFeature,\n\t\tPermissionFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t\t'polish',\n\t\t'permission',\n\t]\n\n\tpublic static WithAllFeatures(\n\t\toptions: InstallerWithAllFeaturesOptions\n\t): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstallerImpl(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n\ninterface InstallerWithAllFeaturesOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tstoreFactory: StoreFactory\n\tfeatureInstaller?: FeatureInstaller\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tapiClientFactory: ApiClientFactory\n\tactionExecuter: ActionExecuter\n}\n"],"mappings":";;;;;;;;;;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA+C,IAE1BA,uBAAuB;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OAmD3C,yBACCC,OAAwC,EACrB;MAAA;MACnB,IAAQC,GAAG,GACVD,OAAO,CADAC,GAAG;QAAEC,cAAc,GAC1BF,OAAO,CADKE,cAAc;QAAEC,YAAY,GACxCH,OAAO,CADqBG,YAAY;QAAEC,EAAE,GAC5CJ,OAAO,CADmCI,EAAE;QAAEC,OAAO,GACrDL,OAAO,CADuCK,OAAO;QAAEC,cAAc,GACrEN,OAAO,CADgDM,cAAc;MAGtE,IAAMC,gBAAgB,4BACrBP,OAAO,CAACO,gBAAgB,yEAAI,IAAIC,sCAAoB,CAACP,GAAG,EAAEC,cAAc,CAAC;MAE1E,IAAMO,cAA8B,GAAG;QACtCR,GAAG,EAAHA,GAAG;QACHC,cAAc,EAAdA,cAAc;QACdQ,SAAS,EAATA,0BAAS;QACTP,YAAY,EAAZA,YAAY;QACZI,gBAAgB,EAAhBA,gBAAgB;QAChBH,EAAE,EAAFA,EAAE;QACFC,OAAO,EAAPA,OAAO;QACPC,cAAc,EAAdA,cAAc;QACdK,gBAAgB,EAAEX,OAAO,CAACW;MAC3B,CAAC;MAED,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,UAACC,OAAO,EAAK;QAClC,IAAMC,OAAO,GAAG,IAAID,OAAO,CAACL,cAAc,CAAC;QAC3CF,gBAAgB,CAACS,UAAU,CAACD,OAAO,CAACE,IAAI,EAAEF,OAAO,CAAC;MACnD,CAAC,CAAC;MAEF,OAAOR,gBAAgB;IACxB;EAAC;EAAA;AAAA;AAAA;AAAA,iCA9EmBR,uBAAuB,cACD,CACzCmB,wBAAY,EACZC,yBAAa,EACbC,wBAAY,EACZC,uBAAW,EACXC,yBAAa,EACbC,wBAAY,EACZC,wBAAY,EACZC,uBAAW,EACXC,0BAAc,EACdC,yBAAa,EACbC,+BAAmB,EACnBC,+BAAmB,EACnBC,gCAAoB,EACpBC,yBAAa,EACbC,0BAAc,EACdC,wBAAY,EACZC,uBAAW,EACXC,wBAAY,EACZC,sBAAU,EACVC,6BAAiB,EACjBC,yBAAa,EACbC,6BAAiB,CACjB;AAAA,iCAxBmBxC,uBAAuB,kBA0BU,CACpD,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,YAAY,CACZ"}
1
+ {"version":3,"file":"FeatureInstallerFactory.js","names":["_spruceTemplates","require","_CacheFeature","_interopRequireDefault","_ConversationFeature","_DependencyFeature","_DeployFeature","_ErrorFeature","_EventFeature","_EventContractFeature","_FeatureInstaller","_LogFeature","_NodeFeature","_OnboardFeature","_OrganizationFeature","_PermissionFeature","_PersonFeature","_PolishFeature","_SandboxFeature","_SchemaFeature","_SkillFeature","_StoreFeature","_TestFeature","_ViewFeature","_VsCodeFeature","_WatchFeature","FeatureInstallerFactory","_classCallCheck2","_createClass2","key","value","WithAllFeatures","options","_options$featureInsta","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstallerImpl","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","exports","_defineProperty2","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature","PolishFeature","PermissionFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller, { FeatureInstallerImpl } from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PermissionFeature from './permission/PermissionFeature'\nimport PersonFeature from './person/PersonFeature'\nimport PolishFeature from './polish/PolishFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\n\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t\tPolishFeature,\n\t\tPermissionFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t\t'polish',\n\t\t'permission',\n\t]\n\n\tpublic static WithAllFeatures(\n\t\toptions: InstallerWithAllFeaturesOptions\n\t): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstallerImpl(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n\ninterface InstallerWithAllFeaturesOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tstoreFactory: StoreFactory\n\tfeatureInstaller?: FeatureInstaller\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tapiClientFactory: ApiClientFactory\n\tactionExecuter: ActionExecuter\n}\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
19
19
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
20
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
21
21
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
23
23
  var methodDelegator = {
24
24
  getAllFuncs: function getAllFuncs(toCheck) {
25
25
  var props = [];
@@ -71,20 +71,18 @@ var OverrideActionDecorator = /*#__PURE__*/function () {
71
71
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(optionsArg) {
72
72
  var options, response;
73
73
  return _regenerator["default"].wrap(function _callee$(_context) {
74
- while (1) {
75
- switch (_context.prev = _context.next) {
76
- case 0:
77
- _this.assertCommandIsNotBlocked();
78
- options = _this.mixinOptionOverrides(optionsArg);
79
- _context.next = 4;
80
- return _this.childAction.execute(options);
81
- case 4:
82
- response = _context.sent;
83
- return _context.abrupt("return", response);
84
- case 6:
85
- case "end":
86
- return _context.stop();
87
- }
74
+ while (1) switch (_context.prev = _context.next) {
75
+ case 0:
76
+ _this.assertCommandIsNotBlocked();
77
+ options = _this.mixinOptionOverrides(optionsArg);
78
+ _context.next = 4;
79
+ return _this.childAction.execute(options);
80
+ case 4:
81
+ response = _context.sent;
82
+ return _context.abrupt("return", response);
83
+ case 6:
84
+ case "end":
85
+ return _context.stop();
88
86
  }
89
87
  }, _callee);
90
88
  }));
@@ -1 +1 @@
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\tconst options = this.mixinOptionOverrides(optionsArg)\n\t\tconst 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
+ {"version":3,"file":"OverrideActionDecorator.js","names":["_SpruceError","_interopRequireDefault","require","_feature","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","methodDelegator","getAllFuncs","toCheck","props","obj","_toConsumableArray2","getOwnPropertyNames","getPrototypeOf","sort","delegateFunctionCalls","to","_iterator","_step","_loop","prop","OverrideActionDecorator","options","_this","_classCallCheck2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","optionsArg","response","wrap","_callee$","_context","prev","assertCommandIsNotBlocked","mixinOptionOverrides","childAction","execute","sent","abrupt","stop","_x","action","feature","ui","blockedCommands","optionOverrides","actionCode","SpruceError","code","friendlyMessage","concat","nameReadable","parent","_createClass2","get","invocationMessage","commandAliases","optionsSchema","getChild","commands","getCommands","_iterator2","_step2","_this$blockedCommands","commandStr","command","hint","featuresUtil","generateCommandsIncludingAliases","optionsArgs","_extends2","_objectDestructuringEmpty2","_iterator3","_step3","_this$optionOverrides","overrides","_this$ui","_this$ui2","renderLine","renderObject","exports"],"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\tconst options = this.mixinOptionOverrides(optionsArg)\n\t\tconst 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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"}
@@ -39,14 +39,12 @@ var CacheFeature = /*#__PURE__*/function (_AbstractFeature) {
39
39
  value: function () {
40
40
  var _isInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
41
41
  return _regenerator["default"].wrap(function _callee$(_context) {
42
- while (1) {
43
- switch (_context.prev = _context.next) {
44
- case 0:
45
- return _context.abrupt("return", true);
46
- case 1:
47
- case "end":
48
- return _context.stop();
49
- }
42
+ while (1) switch (_context.prev = _context.next) {
43
+ case 0:
44
+ return _context.abrupt("return", true);
45
+ case 1:
46
+ case "end":
47
+ return _context.stop();
50
48
  }
51
49
  }, _callee);
52
50
  }));
@@ -1 +1 @@
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;AAAgD;AAAA;AAAA,IAS3BA,YAAY;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,gGACX,mCAAmC;IAAA,yFAC7B,OAAO;IAAA,iGACZ,OAAO;IAAA,+FACTC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,iGAE9D;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ,IAAI;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACX;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EARwCC,4BAAe;AAAA"}
1
+ {"version":3,"file":"CacheFeature.js","names":["_spruceSkillUtils","require","_AbstractFeature2","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CacheFeature","_AbstractFeature","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","diskUtil","resolvePath","__dirname","_createClass2","key","value","_isInstalled","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","isInstalled","AbstractFeature","exports"],"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,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgD,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAS3BC,YAAY,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAzB,YAAA,CAAAsB,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,YAAA;IAAA,SAAAM,IAAA,GAAAhB,SAAA,CAAAiB,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAApB,SAAA,CAAAoB,IAAA;IAAA;IAAAN,KAAA,GAAAD,MAAA,CAAAL,IAAA,CAAAP,KAAA,CAAAY,MAAA,SAAAQ,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,kBACX,mCAAmC;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,WAC7B,OAAO;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,mBACZ,OAAO;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,iBACTU,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,OAAAZ,KAAA;EAAA;EAAA,IAAAa,aAAA,aAAAjB,YAAA;IAAAkB,GAAA;IAAAC,KAAA;MAAA,IAAAC,YAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAE9D,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACQ,IAAI;YAAA;YAAA;cAAA,OAAAH,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACX;MAAA,SAAAQ,YAAA;QAAA,OAAAZ,YAAA,CAAA7B,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA0C,WAAA;IAAA;EAAA;EAAA,OAAAhC,YAAA;AAAA,EARwCiC,4BAAe;AAAAC,OAAA,cAAAlC,YAAA"}
@@ -46,52 +46,50 @@ var DisableCacheAction = /*#__PURE__*/function (_AbstractAction) {
46
46
  var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
47
47
  var _err$options, _err$options$cmd, _err$message, _err$message$toLowerC, error;
48
48
  return _regenerator["default"].wrap(function _callee$(_context) {
49
- while (1) {
50
- switch (_context.prev = _context.next) {
51
- case 0:
52
- _context.prev = 0;
53
- _context.next = 3;
54
- return this.Service('command').execute('which docker');
55
- case 3:
56
- _context.next = 5;
57
- return this.Service('command').execute(_constants.DISABLE_NPM_CACHE_COMMAND);
58
- case 5:
59
- return _context.abrupt("return", {
60
- headline: 'Stopping cache',
61
- summaryLines: ['Shutting down cache!']
49
+ while (1) switch (_context.prev = _context.next) {
50
+ case 0:
51
+ _context.prev = 0;
52
+ _context.next = 3;
53
+ return this.Service('command').execute('which docker');
54
+ case 3:
55
+ _context.next = 5;
56
+ return this.Service('command').execute(_constants.DISABLE_NPM_CACHE_COMMAND);
57
+ case 5:
58
+ return _context.abrupt("return", {
59
+ headline: 'Stopping cache',
60
+ summaryLines: ['Shutting down cache!']
61
+ });
62
+ case 8:
63
+ _context.prev = 8;
64
+ _context.t0 = _context["catch"](0);
65
+ error = _context.t0;
66
+ if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
67
+ error = new _SpruceError["default"]({
68
+ code: 'MISSING_DEPENDENCIES',
69
+ dependencies: [{
70
+ name: 'Docker',
71
+ hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
72
+ }]
62
73
  });
63
- case 8:
64
- _context.prev = 8;
65
- _context.t0 = _context["catch"](0);
66
- error = _context.t0;
67
- if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
68
- error = new _SpruceError["default"]({
69
- code: 'MISSING_DEPENDENCIES',
70
- dependencies: [{
71
- name: 'Docker',
72
- hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
73
- }]
74
- });
75
- } else if ((_err$message = _context.t0.message) !== null && _err$message !== void 0 && (_err$message$toLowerC = _err$message.toLowerCase()) !== null && _err$message$toLowerC !== void 0 && _err$message$toLowerC.includes('no such container')) {
76
- error = new _SpruceError["default"]({
77
- code: 'CACHE_NOT_ENABLED'
78
- });
79
- } else {
80
- error = new _SpruceError["default"]({
81
- code: 'MISSING_DEPENDENCIES',
82
- dependencies: [{
83
- name: 'Docker',
84
- hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
85
- }]
86
- });
87
- }
88
- return _context.abrupt("return", {
89
- errors: [error]
74
+ } else if ((_err$message = _context.t0.message) !== null && _err$message !== void 0 && (_err$message$toLowerC = _err$message.toLowerCase()) !== null && _err$message$toLowerC !== void 0 && _err$message$toLowerC.includes('no such container')) {
75
+ error = new _SpruceError["default"]({
76
+ code: 'CACHE_NOT_ENABLED'
90
77
  });
91
- case 13:
92
- case "end":
93
- return _context.stop();
94
- }
78
+ } else {
79
+ error = new _SpruceError["default"]({
80
+ code: 'MISSING_DEPENDENCIES',
81
+ dependencies: [{
82
+ name: 'Docker',
83
+ hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
84
+ }]
85
+ });
86
+ }
87
+ return _context.abrupt("return", {
88
+ errors: [error]
89
+ });
90
+ case 13:
91
+ case "end":
92
+ return _context.stop();
95
93
  }
96
94
  }, _callee, this, [[0, 8]]);
97
95
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"DisableAction.js","names":["optionsSchema","buildSchema","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;AAAwD;AAAA;AAExD,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,oBAAoB;EACxBC,WAAW,EAAE,kBAAkB;EAC/BC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAKmBC,kBAAkB;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACfL,aAAa;IAAA,mGACZ,CACvB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,cAAc,CACd;IAAA,sGAC0B,oBAAoB;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAE/C,iBAAqBM,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAE9B,IAAI,CAACC,OAAO,CAAC,SAAS,CAAC,CAACC,OAAO,CAAC,cAAc,CAAC;cAAA;gBAAA;gBAAA,OAC/C,IAAI,CAACD,OAAO,CAAC,SAAS,CAAC,CAACC,OAAO,CAACC,oCAAyB,CAAC;cAAA;gBAAA,iCAEzD;kBACNC,QAAQ,EAAE,gBAAgB;kBAC1BC,YAAY,EAAE,CAAC,sBAAsB;gBACtC,CAAC;cAAA;gBAAA;gBAAA;gBAEGC,KAAK;gBACT,oBAAI,YAAIC,OAAO,6DAAX,aAAaC,GAAG,6CAAhB,iBAAkBC,QAAQ,CAAC,OAAO,CAAC,EAAE;kBACxCH,KAAK,GAAG,IAAII,uBAAW,CAAC;oBACvBC,IAAI,EAAE,sBAAsB;oBAC5BC,YAAY,EAAE,CACb;sBACCC,IAAI,EAAE,QAAQ;sBACdC,IAAI,EAAE;oBACP,CAAC;kBAEH,CAAC,CAAC;gBACH,CAAC,MAAM,oBAAI,YAAIC,OAAO,kEAAX,aAAaC,WAAW,EAAE,kDAA1B,sBAA4BP,QAAQ,CAAC,mBAAmB,CAAC,EAAE;kBACrEH,KAAK,GAAG,IAAII,uBAAW,CAAC;oBACvBC,IAAI,EAAE;kBACP,CAAC,CAAC;gBACH,CAAC,MAAM;kBACNL,KAAK,GAAG,IAAII,uBAAW,CAAC;oBACvBC,IAAI,EAAE,sBAAsB;oBAC5BC,YAAY,EAAE,CACb;sBACCC,IAAI,EAAE,QAAQ;sBACdC,IAAI,EAAE;oBACP,CAAC;kBAEH,CAAC,CAAC;gBACH;gBAAC,iCAEM;kBACNG,MAAM,EAAE,CAACX,KAAK;gBACf,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAnD8CY,2BAAc;AAAA"}
1
+ {"version":3,"file":"DisableAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_AbstractAction2","_constants","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","optionsSchema","buildSchema","id","description","fields","DisableCacheAction","_AbstractAction","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_err$options","_err$options$cmd","_err$message","_err$message$toLowerC","error","wrap","_callee$","_context","prev","next","Service","execute","DISABLE_NPM_CACHE_COMMAND","abrupt","headline","summaryLines","t0","options","cmd","includes","SpruceError","code","dependencies","name","hint","message","toLowerCase","errors","stop","_x","AbstractAction","exports"],"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":"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"}
@@ -46,47 +46,45 @@ var EnableCacheAction = /*#__PURE__*/function (_AbstractAction) {
46
46
  var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
47
47
  var _err$options, _err$options$cmd, error;
48
48
  return _regenerator["default"].wrap(function _callee$(_context) {
49
- while (1) {
50
- switch (_context.prev = _context.next) {
51
- case 0:
52
- _context.prev = 0;
53
- _context.next = 3;
54
- return this.Service('command').execute('which docker');
55
- case 3:
56
- _context.next = 5;
57
- return this.Action('cache', 'disable').execute({});
58
- case 5:
59
- _context.next = 7;
60
- return this.Service('command').execute(_constants.ENABLE_NPM_CACHE_COMMAND);
61
- case 7:
62
- return _context.abrupt("return", {
63
- headline: 'Starting cache',
64
- summaryLines: ['Booting cache systems now. Give it a sec!']
49
+ while (1) switch (_context.prev = _context.next) {
50
+ case 0:
51
+ _context.prev = 0;
52
+ _context.next = 3;
53
+ return this.Service('command').execute('which docker');
54
+ case 3:
55
+ _context.next = 5;
56
+ return this.Action('cache', 'disable').execute({});
57
+ case 5:
58
+ _context.next = 7;
59
+ return this.Service('command').execute(_constants.ENABLE_NPM_CACHE_COMMAND);
60
+ case 7:
61
+ return _context.abrupt("return", {
62
+ headline: 'Starting cache',
63
+ summaryLines: ['Booting cache systems now. Give it a sec!']
64
+ });
65
+ case 10:
66
+ _context.prev = 10;
67
+ _context.t0 = _context["catch"](0);
68
+ error = _context.t0;
69
+ if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
70
+ error = new _SpruceError["default"]({
71
+ code: 'MISSING_DEPENDENCIES',
72
+ dependencies: [{
73
+ name: 'Docker',
74
+ hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
75
+ }]
65
76
  });
66
- case 10:
67
- _context.prev = 10;
68
- _context.t0 = _context["catch"](0);
69
- error = _context.t0;
70
- if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
71
- error = new _SpruceError["default"]({
72
- code: 'MISSING_DEPENDENCIES',
73
- dependencies: [{
74
- name: 'Docker',
75
- hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
76
- }]
77
- });
78
- } else {
79
- error = new _SpruceError["default"]({
80
- code: 'DOCKER_NOT_STARTED'
81
- });
82
- }
83
- return _context.abrupt("return", {
84
- errors: [error]
77
+ } else {
78
+ error = new _SpruceError["default"]({
79
+ code: 'DOCKER_NOT_STARTED'
85
80
  });
86
- case 15:
87
- case "end":
88
- return _context.stop();
89
- }
81
+ }
82
+ return _context.abrupt("return", {
83
+ errors: [error]
84
+ });
85
+ case 15:
86
+ case "end":
87
+ return _context.stop();
90
88
  }
91
89
  }, _callee, this, [[0, 10]]);
92
90
  }));