@sprucelabs/spruce-cli 18.2.0 → 18.3.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 (368) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
  35. package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
  36. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
  37. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
  38. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
  39. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
  40. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
  41. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
  42. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
  43. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
  44. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
  45. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
  46. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  47. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  48. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  49. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
  50. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
  51. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
  52. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  53. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  54. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  55. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  56. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  57. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
  59. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
  60. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  61. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  63. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  64. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  65. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  66. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  67. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  68. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  69. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  70. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  71. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  72. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  73. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  74. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  75. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  76. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  77. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  78. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  79. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
  80. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
  81. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
  82. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  83. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  84. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  85. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
  86. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
  87. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
  88. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
  89. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
  90. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
  91. package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
  92. package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
  93. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
  94. package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
  95. package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
  96. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
  97. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  98. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  99. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
  100. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
  101. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
  102. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
  103. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
  104. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
  105. package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
  106. package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
  107. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
  108. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  109. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  110. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  111. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  112. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  113. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  114. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
  115. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
  116. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
  117. package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
  118. package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
  119. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
  120. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  121. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  122. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  123. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  124. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  125. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  126. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  127. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  128. package/build/features/AbstractAction.d.ts +1 -1
  129. package/build/features/AbstractAction.js.map +1 -1
  130. package/build/features/AbstractFeature.d.ts +3 -3
  131. package/build/features/AbstractFeature.js +8 -8
  132. package/build/features/AbstractFeature.js.map +1 -1
  133. package/build/features/ActionExecuter.d.ts +1 -1
  134. package/build/features/ActionExecuter.js +3 -4
  135. package/build/features/ActionExecuter.js.map +1 -1
  136. package/build/features/ActionFactory.d.ts +12 -5
  137. package/build/features/ActionFactory.js +27 -6
  138. package/build/features/ActionFactory.js.map +1 -1
  139. package/build/features/ActionQuestionAsker.d.ts +1 -1
  140. package/build/features/ActionQuestionAsker.js +6 -6
  141. package/build/features/ActionQuestionAsker.js.map +1 -1
  142. package/build/features/conversation/ConversationFeature.js +1 -1
  143. package/build/features/conversation/ConversationFeature.js.map +1 -1
  144. package/build/features/dependencies/DependencyFeature.js +1 -1
  145. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  146. package/build/features/deploy/actions/HerokuAction.js +31 -33
  147. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  148. package/build/features/error/ErrorFeature.js +4 -4
  149. package/build/features/error/ErrorFeature.js.map +1 -1
  150. package/build/features/event/EventFeature.d.ts +8 -8
  151. package/build/features/event/EventFeature.js +7 -4
  152. package/build/features/event/EventFeature.js.map +1 -1
  153. package/build/features/event/actions/CreateAction.js.map +1 -1
  154. package/build/features/event/actions/ListenAction.js.map +1 -1
  155. package/build/features/event/stores/EventStore.d.ts +9 -9
  156. package/build/features/event/stores/EventStore.js +26 -26
  157. package/build/features/event/stores/EventStore.js.map +1 -1
  158. package/build/features/eventContract/EventContractFeature.js +4 -1
  159. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  160. package/build/features/eventContract/actions/PullAction.js +10 -5
  161. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  162. package/build/features/features.types.d.ts +2 -37
  163. package/build/features/features.types.js +0 -41
  164. package/build/features/features.types.js.map +1 -1
  165. package/build/features/log/LogFeature.js +1 -1
  166. package/build/features/log/LogFeature.js.map +1 -1
  167. package/build/features/node/NodeFeature.js.map +1 -1
  168. package/build/features/organization/actions/InstallAction.js.map +1 -1
  169. package/build/features/permission/PermissionFeature.d.ts +12 -2
  170. package/build/features/permission/PermissionFeature.js +138 -15
  171. package/build/features/permission/PermissionFeature.js.map +1 -1
  172. package/build/features/permission/actions/CreateAction.js +4 -1
  173. package/build/features/permission/actions/CreateAction.js.map +1 -1
  174. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  175. package/build/features/permission/actions/SyncAction.js +28 -10
  176. package/build/features/permission/actions/SyncAction.js.map +1 -1
  177. package/build/features/permission/stores/PermissionStore.d.ts +6 -1
  178. package/build/features/permission/stores/PermissionStore.js +43 -31
  179. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  180. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  181. package/build/features/permission/writers/PermissionWriter.js +67 -18
  182. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  183. package/build/features/person/PersonFeature.js +1 -1
  184. package/build/features/person/PersonFeature.js.map +1 -1
  185. package/build/features/sandbox/SandboxFeature.js +1 -1
  186. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  187. package/build/features/schema/SchemaFeature.d.ts +8 -8
  188. package/build/features/schema/SchemaFeature.js +4 -4
  189. package/build/features/schema/SchemaFeature.js.map +1 -1
  190. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  191. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  192. package/build/features/skill/SkillFeature.d.ts +11 -11
  193. package/build/features/skill/SkillFeature.js +2 -2
  194. package/build/features/skill/SkillFeature.js.map +1 -1
  195. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  196. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  197. package/build/features/skill/stores/SkillStore.js +1 -2
  198. package/build/features/skill/stores/SkillStore.js.map +1 -1
  199. package/build/features/store/StoreFeature.js +1 -1
  200. package/build/features/store/StoreFeature.js.map +1 -1
  201. package/build/features/store/actions/SyncAction.d.ts +1 -1
  202. package/build/features/store/actions/SyncAction.js.map +1 -1
  203. package/build/features/test/TestFeature.js +1 -1
  204. package/build/features/test/TestFeature.js.map +1 -1
  205. package/build/features/view/ViewFeature.js +1 -1
  206. package/build/features/view/ViewFeature.js.map +1 -1
  207. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  208. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  209. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  210. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  211. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  212. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  213. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  214. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  215. package/build/services/CommandService.d.ts +2 -2
  216. package/build/services/CommandService.js +6 -6
  217. package/build/services/CommandService.js.map +1 -1
  218. package/build/services/PkgService.d.ts +1 -0
  219. package/build/services/PkgService.js +5 -0
  220. package/build/services/PkgService.js.map +1 -1
  221. package/build/tests/AbstractCliTest.d.ts +7 -3
  222. package/build/tests/AbstractCliTest.js +81 -45
  223. package/build/tests/AbstractCliTest.js.map +1 -1
  224. package/build/tests/buildTestCache.js +7 -0
  225. package/build/tests/buildTestCache.js.map +1 -1
  226. package/build/tests/fixtures/FeatureFixture.js +1 -0
  227. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  228. package/build/tests/utilities/test.utility.d.ts +2 -0
  229. package/build/tests/utilities/test.utility.js +6 -0
  230. package/build/tests/utilities/test.utility.js.map +1 -1
  231. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  233. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  235. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  237. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  238. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  239. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  240. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  241. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
  245. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  246. package/node_modules/@typescript-eslint/types/package.json +2 -2
  247. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  248. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
  249. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  250. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
  251. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  252. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  253. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
  255. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  257. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
  259. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  260. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  261. package/package.json +65 -33
  262. package/src/.spruce/events/events.contract.ts +24 -0
  263. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  264. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  265. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  266. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  267. package/src/.spruce/schemas/schemas.types.ts +171 -52
  268. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  269. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  270. package/src/.spruce/settings.json +2 -1
  271. package/src/GlobalEmitter.ts +2 -7
  272. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  273. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  274. package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
  275. package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
  276. package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
  277. package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
  278. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  279. package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
  280. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  281. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  282. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
  283. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
  284. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  285. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  286. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  287. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  288. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  289. package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
  290. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  291. package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
  292. package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
  293. package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
  294. package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
  295. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  296. package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
  297. package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
  298. package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
  299. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  300. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  301. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  302. package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
  303. package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
  304. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  305. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  306. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  307. package/src/features/AbstractAction.ts +2 -2
  308. package/src/features/AbstractFeature.ts +8 -8
  309. package/src/features/ActionExecuter.ts +4 -5
  310. package/src/features/ActionFactory.ts +44 -20
  311. package/src/features/ActionQuestionAsker.ts +17 -17
  312. package/src/features/conversation/ConversationFeature.ts +1 -1
  313. package/src/features/dependencies/DependencyFeature.ts +1 -1
  314. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  315. package/src/features/error/ErrorFeature.ts +4 -4
  316. package/src/features/event/EventFeature.ts +15 -14
  317. package/src/features/event/actions/CreateAction.ts +1 -1
  318. package/src/features/event/actions/ListenAction.ts +1 -1
  319. package/src/features/event/stores/EventStore.ts +37 -37
  320. package/src/features/eventContract/EventContractFeature.ts +6 -1
  321. package/src/features/eventContract/actions/PullAction.ts +7 -3
  322. package/src/features/features.types.ts +4 -41
  323. package/src/features/log/LogFeature.ts +1 -1
  324. package/src/features/node/NodeFeature.ts +1 -1
  325. package/src/features/organization/actions/InstallAction.ts +1 -1
  326. package/src/features/permission/PermissionFeature.ts +68 -11
  327. package/src/features/permission/actions/CreateAction.ts +2 -0
  328. package/src/features/permission/actions/SyncAction.ts +22 -3
  329. package/src/features/permission/stores/PermissionStore.ts +27 -8
  330. package/src/features/permission/writers/PermissionWriter.ts +62 -4
  331. package/src/features/person/PersonFeature.ts +1 -1
  332. package/src/features/sandbox/SandboxFeature.ts +1 -3
  333. package/src/features/schema/SchemaFeature.ts +14 -14
  334. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  335. package/src/features/skill/SkillFeature.ts +18 -18
  336. package/src/features/skill/actions/RebuildAction.ts +1 -1
  337. package/src/features/skill/actions/RegisterAction.ts +1 -1
  338. package/src/features/skill/stores/SkillStore.ts +1 -2
  339. package/src/features/store/StoreFeature.ts +1 -1
  340. package/src/features/store/actions/SyncAction.ts +1 -1
  341. package/src/features/test/TestFeature.ts +1 -1
  342. package/src/features/view/ViewFeature.ts +1 -1
  343. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  344. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  345. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  346. package/src/services/CommandService.ts +5 -5
  347. package/src/services/PkgService.ts +4 -0
  348. package/src/tests/AbstractCliTest.ts +31 -13
  349. package/src/tests/buildTestCache.ts +7 -0
  350. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  351. package/src/tests/utilities/test.utility.ts +13 -0
  352. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
  353. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
  354. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
  355. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
  356. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
  357. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
  358. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
  359. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
  360. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
  361. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
  362. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
  363. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
  364. package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
  365. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
  366. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  367. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  368. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -109,10 +109,14 @@ var UpgradingANodeModuleTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
109
109
  while (1) {
110
110
  switch (_context3.prev = _context3.next) {
111
111
  case 0:
112
+ _CommandService["default"].fakeCommand(/build/gi, {
113
+ code: 0
114
+ });
112
115
  shouldNotBeFound = ['src/.spruce/skill.ts', 'src/.spruce/features'];
113
- _context3.next = 3;
116
+ _spruceSkillUtils.diskUtil.deleteDir(this.resolveHashSprucePath('features'));
117
+ _context3.next = 5;
114
118
  return this.Action('node', 'upgrade').execute({});
115
- case 3:
119
+ case 5:
116
120
  results = _context3.sent;
117
121
  _testUtils.assert.isFalsy(results.errors);
118
122
  for (_i = 0, _shouldNotBeFound = shouldNotBeFound; _i < _shouldNotBeFound.length; _i++) {
@@ -120,7 +124,7 @@ var UpgradingANodeModuleTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
120
124
  doesExist = _spruceSkillUtils.diskUtil.doesFileExist(this.resolvePath(search));
121
125
  _testUtils.assert.isFalse(doesExist, "Should not have found ".concat(search));
122
126
  }
123
- case 6:
127
+ case 8:
124
128
  case "end":
125
129
  return _context3.stop();
126
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradingANodeModule.test.js","names":["UpgradingANodeModuleTest","test","FeatureFixture","installCachedFeatures","featureInstaller","markAsPermanentlySkipped","CommandService","fakeCommand","code","emitter","on","errors","undefined","Action","execute","results","assert","isTruthy","shouldNotBeFound","isFalsy","search","doesExist","diskUtil","doesFileExist","resolvePath","isFalse","file","tsConfig","writeFile","promise","uiAssert","assertRendersConfirmWriteFile","ui","isEqual","readFile","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class UpgradingANodeModuleTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('everythingInNode')\n\n\t\tconst featureInstaller = this.featureInstaller\n\t\tfeatureInstaller.markAsPermanentlySkipped('skill')\n\t}\n\n\t@test()\n\tprotected static async buildErrorsGetPassedThroughToResults() {\n\t\tCommandService.fakeCommand(/yarn (add|install)/gis, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn clean.build/gis, { code: 1 })\n\t\tCommandService.fakeCommand(/yarn build.dev/gis, { code: 0 })\n\n\t\tawait this.emitter.on('feature.did-execute', () => {\n\t\t\treturn {\n\t\t\t\terrors: undefined,\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async upgradingWritesExpectedFiles() {\n\t\tconst shouldNotBeFound = ['src/.spruce/skill.ts', 'src/.spruce/features']\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tfor (const search of shouldNotBeFound) {\n\t\t\tconst doesExist = diskUtil.doesFileExist(this.resolvePath(search))\n\t\t\tassert.isFalse(doesExist, `Should not have found ${search}`)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async shouldReWriteNodeDirsAndSkipIndx() {\n\t\tfor (const file of ['tsconfig.json', 'src/index.ts']) {\n\t\t\tconst tsConfig = this.resolvePath(file)\n\t\t\tdiskUtil.writeFile(tsConfig, 'beenChanged')\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn/gi, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait uiAssert.assertRendersConfirmWriteFile(this.ui)\n\n\t\tassert.isEqual(\n\t\t\tdiskUtil.readFile(this.resolvePath('src/index.ts')),\n\t\t\t'beenChanged'\n\t\t)\n\n\t\tawait promise\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UpgradingANodeModule.test.js","names":["UpgradingANodeModuleTest","test","FeatureFixture","installCachedFeatures","featureInstaller","markAsPermanentlySkipped","CommandService","fakeCommand","code","emitter","on","errors","undefined","Action","execute","results","assert","isTruthy","shouldNotBeFound","diskUtil","deleteDir","resolveHashSprucePath","isFalsy","search","doesExist","doesFileExist","resolvePath","isFalse","file","tsConfig","writeFile","promise","uiAssert","assertRendersConfirmWriteFile","ui","isEqual","readFile","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class UpgradingANodeModuleTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('everythingInNode')\n\n\t\tconst featureInstaller = this.featureInstaller\n\t\tfeatureInstaller.markAsPermanentlySkipped('skill')\n\t}\n\n\t@test()\n\tprotected static async buildErrorsGetPassedThroughToResults() {\n\t\tCommandService.fakeCommand(/yarn (add|install)/gis, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn clean.build/gis, { code: 1 })\n\t\tCommandService.fakeCommand(/yarn build.dev/gis, { code: 0 })\n\n\t\tawait this.emitter.on('feature.did-execute', () => {\n\t\t\treturn {\n\t\t\t\terrors: undefined,\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async upgradingWritesExpectedFiles() {\n\t\tCommandService.fakeCommand(/build/gis, { code: 0 })\n\n\t\tconst shouldNotBeFound = ['src/.spruce/skill.ts', 'src/.spruce/features']\n\t\tdiskUtil.deleteDir(this.resolveHashSprucePath('features'))\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tfor (const search of shouldNotBeFound) {\n\t\t\tconst doesExist = diskUtil.doesFileExist(this.resolvePath(search))\n\t\t\tassert.isFalse(doesExist, `Should not have found ${search}`)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async shouldReWriteNodeDirsAndSkipIndx() {\n\t\tfor (const file of ['tsconfig.json', 'src/index.ts']) {\n\t\t\tconst tsConfig = this.resolvePath(file)\n\t\t\tdiskUtil.writeFile(tsConfig, 'beenChanged')\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn/gi, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait uiAssert.assertRendersConfirmWriteFile(this.ui)\n\n\t\tassert.isEqual(\n\t\t\tdiskUtil.readFile(this.resolvePath('src/index.ts')),\n\t\t\t'beenChanged'\n\t\t)\n\n\t\tawait promise\n\t}\n}\n"],"mappings":"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"}
@@ -73,7 +73,7 @@ var UpgradingASkill3Test = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
73
73
  while (1) {
74
74
  switch (_context2.prev = _context2.next) {
75
75
  case 0:
76
- _CommandService["default"].clearMockResponses();
76
+ _CommandService["default"].clearFakedResponses();
77
77
  _context2.next = 3;
78
78
  return this.FeatureFixture().installCachedFeatures('views');
79
79
  case 3:
@@ -103,7 +103,7 @@ var UpgradingASkill3Test = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
103
103
  while (1) {
104
104
  switch (_context3.prev = _context3.next) {
105
105
  case 0:
106
- _CommandService["default"].clearMockResponses();
106
+ _CommandService["default"].clearFakedResponses();
107
107
  _context3.next = 3;
108
108
  return this.FeatureFixture().installCachedFeatures('schemas');
109
109
  case 3:
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradingASkill3.test.js","names":["UpgradingASkill3Test","test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","fakeCommand","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts"],"sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill3Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.fakeCommand(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UpgradingASkill3.test.js","names":["UpgradingASkill3Test","test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","fakeCommand","RegExp","code","clearFakedResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts"],"sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill3Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearFakedResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearFakedResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.fakeCommand(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.fakeCommand('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
@@ -43,7 +43,7 @@ var UpgradingASkill4Test = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtil
43
43
  _context.next = 2;
44
44
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(UpgradingASkill4Test), "beforeEach", this).call(this);
45
45
  case 2:
46
- _CommandService["default"].fakeCommand(new RegExp(/yarn rebuild/gi), {
46
+ _CommandService["default"].fakeCommand(new RegExp(/rebuild/gi), {
47
47
  code: 0
48
48
  });
49
49
  case 3:
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradingASkill4.test.js","names":["UpgradingASkill4Test","test","CommandService","fakeCommand","RegExp","code","FeatureFixture","installCachedFeatures","features","Service","process","cwd","get","pkg","checks","feat","nodeModule","path","resolveHashSprucePath","plugin","diskUtil","doesFileExist","undefined","push","check","unset","deleteFile","Action","execute","assert","isTruthy","isTrue","cli","skillFeature","getFeature","scripts","isEqual","assertSandboxListenerNotWritten","set","value","promise","waitForInput","last","ui","getLastInvocation","command","sendInput","isNotEqual","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts"],"sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async restoresMissingPackagesAndPlugins() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst features = this.Service('pkg', process.cwd()).get(\n\t\t\t'testSkillCache.everything'\n\t\t)\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst checks: { nodeModule?: string; plugin?: string }[] = []\n\n\t\tfor (const feat of features) {\n\t\t\tconst { code } = feat\n\t\t\tconst nodeModule = `@sprucelabs/spruce-${code}-plugin`\n\t\t\tconst path = this.resolveHashSprucePath('features', `${code}.plugin.ts`)\n\t\t\tconst plugin = diskUtil.doesFileExist(path) ? path : undefined\n\n\t\t\tchecks.push({\n\t\t\t\tnodeModule: pkg.get(['dependencies', nodeModule])\n\t\t\t\t\t? nodeModule\n\t\t\t\t\t: undefined,\n\t\t\t\tplugin,\n\t\t\t})\n\t\t}\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tpkg.unset(['dependencies', check.nodeModule])\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tdiskUtil.deleteFile(check.plugin)\n\t\t\t}\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn clean/, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn build.dev/, { code: 0 })\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tpkg.get(['dependencies', check.nodeModule]),\n\t\t\t\t\t`${check.nodeModule} was not added back as a dependencies.`\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tassert.isTrue(\n\t\t\t\t\tdiskUtil.doesFileExist(check.plugin),\n\t\t\t\t\t`${check.plugin} was not rewritten.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async doesNotAskIfNewScriptsAreAddedToSkillFeature() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tconst skillFeature = cli.getFeature('skill')\n\t\t//@ts-ignore\n\t\tskillFeature.scripts['taco'] = 'bravo'\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(pkg.get(['scripts', 'taco']), 'bravo')\n\n\t\tthis.assertSandboxListenerNotWritten()\n\t}\n\n\t@test()\n\tprotected static async canOverwriteMultipleChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isNotEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UpgradingASkill4.test.js","names":["UpgradingASkill4Test","test","CommandService","fakeCommand","RegExp","code","FeatureFixture","installCachedFeatures","features","Service","process","cwd","get","pkg","checks","feat","nodeModule","path","resolveHashSprucePath","plugin","diskUtil","doesFileExist","undefined","push","check","unset","deleteFile","Action","execute","assert","isTruthy","isTrue","cli","skillFeature","getFeature","scripts","isEqual","assertSandboxListenerNotWritten","set","value","promise","waitForInput","last","ui","getLastInvocation","command","sendInput","isNotEqual","listeners","resolvePath","doesDirExist","matches","fsUtil","readdirSync","isLength","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts"],"sourcesContent":["import fsUtil from 'fs'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingASkill4Test extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async restoresMissingPackagesAndPlugins() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst features = this.Service('pkg', process.cwd()).get(\n\t\t\t'testSkillCache.everything'\n\t\t)\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst checks: { nodeModule?: string; plugin?: string }[] = []\n\n\t\tfor (const feat of features) {\n\t\t\tconst { code } = feat\n\t\t\tconst nodeModule = `@sprucelabs/spruce-${code}-plugin`\n\t\t\tconst path = this.resolveHashSprucePath('features', `${code}.plugin.ts`)\n\t\t\tconst plugin = diskUtil.doesFileExist(path) ? path : undefined\n\n\t\t\tchecks.push({\n\t\t\t\tnodeModule: pkg.get(['dependencies', nodeModule])\n\t\t\t\t\t? nodeModule\n\t\t\t\t\t: undefined,\n\t\t\t\tplugin,\n\t\t\t})\n\t\t}\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tpkg.unset(['dependencies', check.nodeModule])\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tdiskUtil.deleteFile(check.plugin)\n\t\t\t}\n\t\t}\n\n\t\tCommandService.fakeCommand(/yarn clean/, { code: 0 })\n\t\tCommandService.fakeCommand(/yarn build.dev/, { code: 0 })\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tfor (const check of checks) {\n\t\t\tif (check.nodeModule) {\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tpkg.get(['dependencies', check.nodeModule]),\n\t\t\t\t\t`${check.nodeModule} was not added back as a dependencies.`\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (check.plugin) {\n\t\t\t\tassert.isTrue(\n\t\t\t\t\tdiskUtil.doesFileExist(check.plugin),\n\t\t\t\t\t`${check.plugin} was not rewritten.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async doesNotAskIfNewScriptsAreAddedToSkillFeature() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tconst skillFeature = cli.getFeature('skill')\n\t\t//@ts-ignore\n\t\tskillFeature.scripts['taco'] = 'bravo'\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(pkg.get(['scripts', 'taco']), 'bravo')\n\n\t\tthis.assertSandboxListenerNotWritten()\n\t}\n\n\t@test()\n\tprotected static async canOverwriteMultipleChangedScript() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: ['scripts', 'build.dev'], value: 'taco' })\n\t\tpkg.set({ path: ['scripts', 'watch.build.dev'], value: 'taco' })\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tlast = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.command, 'prompt')\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tassert.isNotEqual(pkg.get(['scripts', 'build.dev']), 'taco')\n\t\tassert.isNotEqual(pkg.get(['scripts', 'watch.build.dev']), 'taco')\n\t}\n\n\tprotected static assertSandboxListenerNotWritten() {\n\t\tconst listeners = this.resolvePath('src', 'listeners')\n\t\tif (!diskUtil.doesDirExist(listeners)) {\n\t\t\treturn\n\t\t}\n\t\tconst matches = fsUtil.readdirSync(listeners)\n\t\tassert.isLength(\n\t\t\tmatches,\n\t\t\t0,\n\t\t\t'A sandbox listeners was written and it should not have been.'\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static noEventsToStart(): Promise<void>;
@@ -7,9 +7,9 @@ export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
7
7
  private static bootSkill;
8
8
  private static buildSkill;
9
9
  protected static registerCurrentSkillAndInstallToOrg(): Promise<{
10
- skillFixture: import("../../tests/fixtures/SkillFixture").default;
11
- currentSkill: import("../../types/cli.types").RegisteredSkill;
10
+ skillFixture: import("../../../tests/fixtures/SkillFixture").default;
11
+ currentSkill: import("../../../types/cli.types").RegisteredSkill;
12
12
  org: import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>;
13
- orgFixture: import("../../tests/fixtures/OrganizationFixture").default;
13
+ orgFixture: import("../../../tests/fixtures/OrganizationFixture").default;
14
14
  }>;
15
15
  }
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
- var _constants = require("../../tests/constants");
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
19
+ var _constants = require("../../../tests/constants");
20
20
  var _dec, _dec2, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteringSkillViewOnBoot.test.js","names":["RegisteringSkillViewOnBootTest","test","registerAndBootSkill","Store","fetchSkillViews","skillViews","assert","isFalsy","Action","execute","viewType","isRoot","buildSkill","bootSkill","results","errors","isTruthy","registerCurrentSkillAndInstallToOrg","boot","meta","kill","Service","build","people","loginAsDemoPerson","DEMO_NUMBER_VIEWS_ON_BOOT","skillFixture","getSkillFixture","orgFixture","getOrganizationFixture","seedDemoOrg","name","org","registerCurrentSkill","skill","installSkillAtOrganization","id","currentSkill","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_VIEWS_ON_BOOT } from '../../../tests/constants'\n\nexport default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async noEventsToStart() {\n\t\tawait this.registerAndBootSkill()\n\n\t\tconst skillViews = await this.Store('view').fetchSkillViews()\n\n\t\tassert.isFalsy(skillViews)\n\t}\n\n\t@test()\n\tprotected static async syncsViewsOnBoot() {\n\t\tawait this.Action('view', 'create').execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tawait this.buildSkill()\n\n\t\tconst results = await this.bootSkill()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst skillViews = await this.Store('view').fetchSkillViews()\n\n\t\tassert.isTruthy(skillViews, 'Skill views were not registered on boot!')\n\t}\n\n\tprotected static async registerAndBootSkill() {\n\t\tawait this.registerCurrentSkillAndInstallToOrg()\n\t\tawait this.buildSkill()\n\n\t\tconst results = await this.bootSkill()\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\tprivate static async bootSkill() {\n\t\tconst boot = await this.Action('skill', 'boot').execute({})\n\t\tboot.meta?.kill()\n\t\treturn boot\n\t}\n\n\tprivate static async buildSkill() {\n\t\tawait this.Service('build').build()\n\t}\n\n\tprotected static async registerCurrentSkillAndInstallToOrg() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_VIEWS_ON_BOOT)\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst orgFixture = this.getOrganizationFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\n\t\tconst skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'current skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill.id, org.id)\n\n\t\treturn { skillFixture, currentSkill: skill, org, orgFixture }\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class WatchingSkillViewsTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static oldBootExecute: any;
@@ -16,8 +16,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _CommandService = _interopRequireDefault(require("../../services/CommandService"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
21
  var _dec, _dec2, _class, _class2;
22
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WatchingSkillViews.test.js","names":["WatchingSkillViewsTest","test","action","Action","assert","isFunction","execute","wasHit","CommandService","fakeCommand","code","callback","wait","isTrue","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/WatchingSkillViews.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport WatchAction from '../../../features/view/actions/WatchAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class WatchingSkillViewsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprotected static oldBootExecute: any\n\tprivate static action: WatchAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'watch')\n\t}\n\n\t@test()\n\tprotected static async hasWatchSkillViewsEvent() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async shouldCallBoot() {\n\t\tlet wasHit = false\n\t\tCommandService.fakeCommand(\n\t\t\t'ENABLED_SKILL_FEATURES=view,event SHOULD_WATCH_VIEWS=true MAXIMUM_LOG_PREFIXES_LENGTH=0 yarn boot',\n\t\t\t{\n\t\t\t\tcode: 200,\n\t\t\t\tcallback: () => {\n\t\t\t\t\twasHit = true\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\tvoid this.action.execute()\n\n\t\tawait this.wait(10)\n\n\t\tassert.isTrue(wasHit)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,sBAAsB,WAUzC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGAVP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAEC,IAAI,CAACC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACH,MAAM,CAACI,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEKC,MAAM,GAAG,KAAK;gBAClBC,0BAAc,CAACC,WAAW,CACzB,mGAAmG,EACnG;kBACCC,IAAI,EAAE,GAAG;kBACTC,QAAQ,EAAE,oBAAM;oBACfJ,MAAM,GAAG,IAAI;kBACd;gBACD,CAAC,CACD;gBAED,KAAK,IAAI,CAACL,MAAM,CAACI,OAAO,EAAE;gBAAA;gBAAA,OAEpB,IAAI,CAACM,IAAI,CAAC,EAAE,CAAC;cAAA;gBAEnBR,iBAAM,CAACS,MAAM,CAACN,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAjCkDO,8BAAiB,8DACnC,OAAO;AAAA"}
@@ -8,5 +8,5 @@ export default class FeatureCommandExecuterContTest extends AbstractSchemaTest {
8
8
  protected static shouldAddListenerWithoutBreakingOnSkill(): Promise<void>;
9
9
  private static finishBuildingUpToNamingNewError;
10
10
  private static startBuildingNewErrorUntilOptionalDependencies;
11
- private static setupMockCommands;
11
+ private static fakeInstallCommands;
12
12
  }
@@ -74,7 +74,7 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
74
74
  while (1) {
75
75
  switch (_context2.prev = _context2.next) {
76
76
  case 0:
77
- this.setupMockCommands();
77
+ this.fakeInstallCommands();
78
78
  executer = this.Action('skill', 'create', {
79
79
  shouldAutoHandleDependencies: true
80
80
  });
@@ -199,7 +199,7 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
199
199
  while (1) {
200
200
  switch (_context4.prev = _context4.next) {
201
201
  case 0:
202
- this.setupMockCommands();
202
+ this.fakeInstallCommands();
203
203
  executer = this.Action('skill', 'create', {
204
204
  shouldAutoHandleDependencies: true
205
205
  });
@@ -235,7 +235,7 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
235
235
  while (1) {
236
236
  switch (_context5.prev = _context5.next) {
237
237
  case 0:
238
- this.setupMockCommands();
238
+ this.fakeInstallCommands();
239
239
  executer = this.Action('schema', 'create', {
240
240
  shouldAutoHandleDependencies: true
241
241
  });
@@ -268,7 +268,7 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
268
268
  while (1) {
269
269
  switch (_context6.prev = _context6.next) {
270
270
  case 0:
271
- this.setupMockCommands();
271
+ this.fakeInstallCommands();
272
272
  _context6.next = 3;
273
273
  return this.FeatureFixture().installCachedFeatures('schemas');
274
274
  case 3:
@@ -280,18 +280,30 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
280
280
  return this.waitForInput();
281
281
  case 7:
282
282
  _context6.next = 9;
283
- return this.ui.sendInput('skill');
283
+ return this.ui.sendInput('Y');
284
284
  case 9:
285
285
  _context6.next = 11;
286
- return this.ui.sendInput('will-boot');
286
+ return this.waitForInput();
287
287
  case 11:
288
288
  _context6.next = 13;
289
- return promise;
289
+ return this.ui.sendInput('\n');
290
290
  case 13:
291
+ _context6.next = 15;
292
+ return this.waitForInput();
293
+ case 15:
294
+ _context6.next = 17;
295
+ return this.ui.sendInput('skill');
296
+ case 17:
297
+ _context6.next = 19;
298
+ return this.ui.sendInput('will-boot');
299
+ case 19:
300
+ _context6.next = 21;
301
+ return promise;
302
+ case 21:
291
303
  results = _context6.sent;
292
304
  version = _spruceSkillUtils.versionUtil.generateVersion().dirValue;
293
305
  _test["default"].assertFileByNameInGeneratedFiles("will-boot.".concat(version, ".listener.ts"), results.files);
294
- case 16:
306
+ case 24:
295
307
  case "end":
296
308
  return _context6.stop();
297
309
  }
@@ -419,9 +431,9 @@ var FeatureCommandExecuterContTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
419
431
  return startBuildingNewErrorUntilOptionalDependencies;
420
432
  }()
421
433
  }, {
422
- key: "setupMockCommands",
423
- value: function setupMockCommands() {
424
- _CommandService["default"].fakeCommand(new RegExp(/npm[\s\S]*?install [\s\S]*?/gi), {
434
+ key: "fakeInstallCommands",
435
+ value: function fakeInstallCommands() {
436
+ _CommandService["default"].fakeCommand(new RegExp(/yarn|npm/gi), {
425
437
  code: 0
426
438
  });
427
439
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActionExecuter2.test.js","names":["FeatureCommandExecuterContTest","test","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","setupMockCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.emitter\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.setupMockCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.setupMockCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('skill')\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static setupMockCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionExecuter2.test.js","names":["FeatureCommandExecuterContTest","test","startBuildingNewErrorUntilOptionalDependencies","actionPromise","promise","finishBuildingUpToNamingNewError","results","assert","isTruthy","files","isFalsy","errors","pluginsDir","resolveHashSprucePath","isFalse","diskUtil","doesDirExist","testUtil","assertFileByNameInGeneratedFiles","fakeInstallCommands","executer","Action","shouldAutoHandleDependencies","emittedWillEvent","willEventCommand","emittedDidEvent","didEventCommand","willExecuteHitCount","didExecuteHitCount","emitter","on","payload","featuresUtil","generateCommand","featureCode","actionCode","meta","taco","isEqual","execute","waitForInput","ui","sendInput","doesNotInclude","getLastInvocation","command","options","type","secondTimeResults","name","description","packagesInstalled","isAbove","length","reset","lastQuestion","doesInclude","label","FeatureFixture","installCachedFeatures","version","versionUtil","generateVersion","dirValue","skillFeatureAnswer","message","invocations","choices","value","CommandService","fakeCommand","RegExp","code","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/ActionExecuter2.test.ts"],"sourcesContent":["import { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport featuresUtil from '../../features/feature.utilities'\nimport {\n\tFeatureActionResponse,\n\tFeatureInstallResponse,\n} from '../../features/features.types'\nimport CommandService from '../../services/CommandService'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureCommandExecuterContTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canSkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('skip')\n\n\t\tconst results = await this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst pluginsDir = this.resolveHashSprucePath('features')\n\t\tassert.isFalse(diskUtil.doesDirExist(pluginsDir))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldEmitExecutionEvents() {\n\t\tthis.fakeInstallCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tlet emittedWillEvent = false\n\t\tlet willEventCommand = ''\n\t\tlet emittedDidEvent = false\n\t\tlet didEventCommand = ''\n\t\tlet willExecuteHitCount = 0\n\t\tlet didExecuteHitCount = 0\n\n\t\tconst emitter = this.emitter\n\n\t\tvoid emitter.on('feature.will-execute', (payload) => {\n\t\t\temittedWillEvent = true\n\t\t\twillExecuteHitCount++\n\n\t\t\twillEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid emitter.on('feature.did-execute', (payload) => {\n\t\t\temittedDidEvent = true\n\t\t\tdidExecuteHitCount++\n\t\t\tdidEventCommand = featuresUtil.generateCommand(\n\t\t\t\tpayload.featureCode,\n\t\t\t\tpayload.actionCode\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\ttaco: 'bell',\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\n\t\tassert.isFalse(emittedWillEvent)\n\t\tassert.isFalse(emittedDidEvent)\n\t\tassert.isEqual(willExecuteHitCount, 0)\n\t\tassert.isEqual(didExecuteHitCount, 0)\n\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new skill')\n\t\tawait this.ui.sendInput('So great!')\n\n\t\tconst results = await promise\n\n\t\tassert.isEqual(results.meta?.taco, 'bell')\n\t\tassert.isEqual(willEventCommand, 'create.skill')\n\t\tassert.isEqual(didEventCommand, 'create.skill')\n\t\tassert.isEqual(willExecuteHitCount, 1)\n\t\tassert.isEqual(didExecuteHitCount, 1)\n\t}\n\n\t@test()\n\tprotected static async canPermanentlySkipOptionalDependencies() {\n\t\tconst { promise: actionPromise } =\n\t\t\tawait this.startBuildingNewErrorUntilOptionalDependencies('alwaysSkip')\n\n\t\tawait this.finishBuildingUpToNamingNewError(actionPromise)\n\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesNotInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput('My second error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst secondTimeResults = await promise\n\n\t\tassert.isTruthy(secondTimeResults.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'myNewError.schema.ts',\n\t\t\tsecondTimeResults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldReturnProperSummary() {\n\t\tthis.fakeInstallCommands()\n\n\t\tconst executer = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst results = await executer.execute({\n\t\t\tname: 'install summary test skill',\n\t\t\tdescription: 'go team!',\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isTruthy(results.packagesInstalled)\n\n\t\tassert.isAbove(results.files.length, 0)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\t}\n\n\t@test()\n\tprotected static async shouldAskInstallDependentFeatures() {\n\t\tthis.fakeInstallCommands()\n\n\t\tconst executer = this.Action('schema', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tvoid executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tthis.ui.reset()\n\t\tconst lastQuestion = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastQuestion.command, 'prompt')\n\t\tassert.doesInclude(\n\t\t\tlastQuestion.options.label,\n\t\t\t/install the skill feature/gi\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldAddListenerWithoutBreakingOnSkill() {\n\t\tthis.fakeInstallCommands()\n\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst executer = this.Action('event', 'listen', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('Y')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('skill')\n\n\t\tawait this.ui.sendInput('will-boot')\n\n\t\tconst results = await promise\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\tprivate static async finishBuildingUpToNamingNewError(\n\t\tactionPromise: Promise<FeatureInstallResponse & FeatureActionResponse>\n\t) {\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new error')\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await actionPromise\n\t\treturn results\n\t}\n\n\tprivate static async startBuildingNewErrorUntilOptionalDependencies(\n\t\tskillFeatureAnswer: 'skip' | 'yes' | 'alwaysSkip'\n\t) {\n\t\tconst executer = this.Action('error', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\t\tconst promise = executer.execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst message =\n\t\t\tthis.ui.invocations[this.ui.invocations.length - 2].options.message\n\t\tassert.isTruthy(message)\n\n\t\tassert.doesInclude(message, /2 required/gi)\n\t\tassert.doesInclude(message, /1 optional/gi)\n\n\t\tassert.doesInclude(this.ui.getLastInvocation(), {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'select',\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'yes',\n\t\t\t\t\t\t\tlabel: 'Yes',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'skip',\n\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'alwaysSkip',\n\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(skillFeatureAnswer)\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('My new module')\n\t\tawait this.ui.sendInput('it is for testing')\n\n\t\tawait this.waitForInput()\n\n\t\treturn { promise }\n\t}\n\n\tprivate static fakeInstallCommands() {\n\t\tCommandService.fakeCommand(new RegExp(/yarn|npm/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AAKA;AACA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,8BAA8B,WACjD,IAAAC,eAAI,GAAE,UAmBN,IAAAA,eAAI,GAAE,UAgEN,IAAAA,eAAI,GAAE,UAkCN,IAAAA,eAAI,GAAE,UAmBN,IAAAA,eAAI,GAAE,UAqBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,iHA7JP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAGQ,IAAI,CAACC,8CAA8C,CAAC,MAAM,CAAC;cAAA;gBAAA;gBADjDC,aAAa,yBAAtBC,OAAO;gBAAA;gBAAA,OAGO,IAAI,CAACC,gCAAgC,CAACF,aAAa,CAAC;cAAA;gBAApEG,OAAO;gBAEbC,iBAAM,CAACC,QAAQ,CAACF,OAAO,CAACG,KAAK,CAAC;gBAC9BF,iBAAM,CAACG,OAAO,CAACJ,OAAO,CAACK,MAAM,CAAC;gBAExBC,UAAU,GAAG,IAAI,CAACC,qBAAqB,CAAC,UAAU,CAAC;gBACzDN,iBAAM,CAACO,OAAO,CAACC,0BAAQ,CAACC,YAAY,CAACJ,UAAU,CAAC,CAAC;gBAEjDK,gBAAQ,CAACC,gCAAgC,CACxC,sBAAsB,EACtBZ,OAAO,CAACG,KAAK,CACb;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+GAED;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,IAAI,CAACU,mBAAmB,EAAE;gBAEpBC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;kBAC/CC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBAEEC,gBAAgB,GAAG,KAAK;gBACxBC,gBAAgB,GAAG,EAAE;gBACrBC,eAAe,GAAG,KAAK;gBACvBC,eAAe,GAAG,EAAE;gBACpBC,mBAAmB,GAAG,CAAC;gBACvBC,kBAAkB,GAAG,CAAC;gBAEpBC,OAAO,GAAG,IAAI,CAACA,OAAO;gBAE5B,KAAKA,OAAO,CAACC,EAAE,CAAC,sBAAsB,EAAE,UAACC,OAAO,EAAK;kBACpDR,gBAAgB,GAAG,IAAI;kBACvBI,mBAAmB,EAAE;kBAErBH,gBAAgB,GAAGQ,mBAAY,CAACC,eAAe,CAC9CF,OAAO,CAACG,WAAW,EACnBH,OAAO,CAACI,UAAU,CAClB;kBACD,OAAO,CAAC,CAAC;gBACV,CAAC,CAAC;gBAEF,KAAKN,OAAO,CAACC,EAAE,CAAC,qBAAqB,EAAE,UAACC,OAAO,EAAK;kBACnDN,eAAe,GAAG,IAAI;kBACtBG,kBAAkB,EAAE;kBACpBF,eAAe,GAAGM,mBAAY,CAACC,eAAe,CAC7CF,OAAO,CAACG,WAAW,EACnBH,OAAO,CAACI,UAAU,CAClB;kBAED,OAAO;oBACNC,IAAI,EAAE;sBACLC,IAAI,EAAE;oBACP;kBACD,CAAC;gBACF,CAAC,CAAC;gBAEF9B,iBAAM,CAACO,OAAO,CAACS,gBAAgB,CAAC;gBAChChB,iBAAM,CAACO,OAAO,CAACW,eAAe,CAAC;gBAC/BlB,iBAAM,CAAC+B,OAAO,CAACX,mBAAmB,EAAE,CAAC,CAAC;gBACtCpB,iBAAM,CAAC+B,OAAO,CAACV,kBAAkB,EAAE,CAAC,CAAC;gBAE/BxB,OAAO,GAAGgB,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAE9B,IAAI,CAACC,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,cAAc,CAAC;cAAA;gBAAA;gBAAA,OACjC,IAAI,CAACD,EAAE,CAACC,SAAS,CAAC,WAAW,CAAC;cAAA;gBAAA;gBAAA,OAEdtC,OAAO;cAAA;gBAAvBE,OAAO;gBAEbC,iBAAM,CAAC+B,OAAO,kBAAChC,OAAO,CAAC8B,IAAI,kDAAZ,cAAcC,IAAI,EAAE,MAAM,CAAC;gBAC1C9B,iBAAM,CAAC+B,OAAO,CAACd,gBAAgB,EAAE,cAAc,CAAC;gBAChDjB,iBAAM,CAAC+B,OAAO,CAACZ,eAAe,EAAE,cAAc,CAAC;gBAC/CnB,iBAAM,CAAC+B,OAAO,CAACX,mBAAmB,EAAE,CAAC,CAAC;gBACtCpB,iBAAM,CAAC+B,OAAO,CAACV,kBAAkB,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAGQ,IAAI,CAAC1B,8CAA8C,CAAC,YAAY,CAAC;cAAA;gBAAA;gBADvDC,aAAa,0BAAtBC,OAAO;gBAAA;gBAAA,OAGT,IAAI,CAACC,gCAAgC,CAACF,aAAa,CAAC;cAAA;gBAEpDiB,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;kBAC/CC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBACIlB,OAAO,GAAGgB,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAE9B,IAAI,CAACC,YAAY,EAAE;cAAA;gBAEzBjC,iBAAM,CAACoC,cAAc,CAAC,IAAI,CAACF,EAAE,CAACG,iBAAiB,EAAE,EAAE;kBAClDC,OAAO,EAAE,QAAQ;kBACjBC,OAAO,EAAE;oBACRC,IAAI,EAAE;kBACP;gBACD,CAAC,CAAC;gBAAA;gBAAA,OAEI,IAAI,CAACN,EAAE,CAACC,SAAS,CAAC,iBAAiB,CAAC;cAAA;gBAAA;gBAAA,OACpC,IAAI,CAACD,EAAE,CAACC,SAAS,CAAC,EAAE,CAAC;cAAA;gBAAA;gBAAA,OAEKtC,OAAO;cAAA;gBAAjC4C,iBAAiB;gBAEvBzC,iBAAM,CAACC,QAAQ,CAACwC,iBAAiB,CAACvC,KAAK,CAAC;gBAExCQ,gBAAQ,CAACC,gCAAgC,CACxC,sBAAsB,EACtB8B,iBAAiB,CAACvC,KAAK,CACvB;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,IAAI,CAACU,mBAAmB,EAAE;gBAEpBC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;kBAC/CC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBAAA;gBAAA,OACoBF,QAAQ,CAACmB,OAAO,CAAC;kBACtCU,IAAI,EAAE,4BAA4B;kBAClCC,WAAW,EAAE;gBACd,CAAC,CAAC;cAAA;gBAHI5C,OAAO;gBAKbC,iBAAM,CAACC,QAAQ,CAACF,OAAO,CAACG,KAAK,CAAC;gBAC9BF,iBAAM,CAACC,QAAQ,CAACF,OAAO,CAAC6C,iBAAiB,CAAC;gBAE1C5C,iBAAM,CAAC6C,OAAO,CAAC9C,OAAO,CAACG,KAAK,CAAC4C,MAAM,EAAE,CAAC,CAAC;gBACvC9C,iBAAM,CAAC6C,OAAO,CAAC9C,OAAO,CAAC6C,iBAAiB,CAACE,MAAM,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,uHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,IAAI,CAAClC,mBAAmB,EAAE;gBAEpBC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE;kBAChDC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBACF,KAAKF,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAEnB,IAAI,CAACC,YAAY,EAAE;cAAA;gBAEzB,IAAI,CAACC,EAAE,CAACa,KAAK,EAAE;gBACTC,YAAY,GAAG,IAAI,CAACd,EAAE,CAACG,iBAAiB,EAAE;gBAEhDrC,iBAAM,CAAC+B,OAAO,CAACiB,YAAY,CAACV,OAAO,EAAE,QAAQ,CAAC;gBAC9CtC,iBAAM,CAACiD,WAAW,CACjBD,YAAY,CAACT,OAAO,CAACW,KAAK,EAC1B,6BAA6B,CAC7B;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,IAAI,CAACtC,mBAAmB,EAAE;gBAAA;gBAAA,OAEpB,IAAI,CAACuC,cAAc,EAAE,CAACC,qBAAqB,CAAC,SAAS,CAAC;cAAA;gBAEtDvC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;kBAC/CC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBACIlB,OAAO,GAAGgB,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAE9B,IAAI,CAACC,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OACtB,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA;gBAAA,OACnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,IAAI,CAAC;cAAA;gBAAA;gBAAA,OAEvB,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,OAAO,CAAC;cAAA;gBAAA;gBAAA,OAE1B,IAAI,CAACD,EAAE,CAACC,SAAS,CAAC,WAAW,CAAC;cAAA;gBAAA;gBAAA,OAEdtC,OAAO;cAAA;gBAAvBE,OAAO;gBAEPsD,OAAO,GAAGC,6BAAW,CAACC,eAAe,EAAE,CAACC,QAAQ;gBACtD9C,gBAAQ,CAACC,gCAAgC,qBAC3B0C,OAAO,mBACpBtD,OAAO,CAACG,KAAK,CACb;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sHAED,kBACCN,aAAsE;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEhE,IAAI,CAACsC,EAAE,CAACC,SAAS,CAAC,EAAE,CAAC;cAAA;gBAAA;gBAAA,OAErB,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,EAAE,CAAC;cAAA;gBAAA;gBAAA,OAErB,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,cAAc,CAAC;cAAA;gBAAA;gBAAA,OACjC,IAAI,CAACD,EAAE,CAACC,SAAS,CAAC,EAAE,CAAC;cAAA;gBAAA;gBAAA,OAELvC,aAAa;cAAA;gBAA7BG,OAAO;gBAAA,kCACNA,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oIAED,kBACC0D,kBAAiD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAE3C5C,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;kBAC/CC,4BAA4B,EAAE;gBAC/B,CAAC,CAAC;gBACIlB,OAAO,GAAGgB,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAE9B,IAAI,CAACC,YAAY,EAAE;cAAA;gBAEnByB,OAAO,GACZ,IAAI,CAACxB,EAAE,CAACyB,WAAW,CAAC,IAAI,CAACzB,EAAE,CAACyB,WAAW,CAACb,MAAM,GAAG,CAAC,CAAC,CAACP,OAAO,CAACmB,OAAO;gBACpE1D,iBAAM,CAACC,QAAQ,CAACyD,OAAO,CAAC;gBAExB1D,iBAAM,CAACiD,WAAW,CAACS,OAAO,EAAE,cAAc,CAAC;gBAC3C1D,iBAAM,CAACiD,WAAW,CAACS,OAAO,EAAE,cAAc,CAAC;gBAE3C1D,iBAAM,CAACiD,WAAW,CAAC,IAAI,CAACf,EAAE,CAACG,iBAAiB,EAAE,EAAE;kBAC/CC,OAAO,EAAE,QAAQ;kBACjBC,OAAO,EAAE;oBACRC,IAAI,EAAE,QAAQ;oBACdD,OAAO,EAAE;sBACRqB,OAAO,EAAE,CACR;wBACCC,KAAK,EAAE,KAAK;wBACZX,KAAK,EAAE;sBACR,CAAC,EACD;wBACCW,KAAK,EAAE,MAAM;wBACbX,KAAK,EAAE;sBACR,CAAC,EACD;wBACCW,KAAK,EAAE,YAAY;wBACnBX,KAAK,EAAE;sBACR,CAAC;oBAEH;kBACD;gBACD,CAAC,CAAC;gBAAA;gBAAA,OAEI,IAAI,CAAChB,EAAE,CAACC,SAAS,CAACsB,kBAAkB,CAAC;cAAA;gBAAA;gBAAA,OAErC,IAAI,CAACvB,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OAEtB,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA;gBAAA,OAEnB,IAAI,CAACC,EAAE,CAACC,SAAS,CAAC,eAAe,CAAC;cAAA;gBAAA;gBAAA,OAClC,IAAI,CAACD,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;cAAA;gBAAA;gBAAA,OAEtC,IAAI,CAACF,YAAY,EAAE;cAAA;gBAAA,kCAElB;kBAAEpC,OAAO,EAAPA;gBAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,+BAAqC;MACpCiE,0BAAc,CAACC,WAAW,CAAC,IAAIC,MAAM,CAAC,YAAa,CAAC,EAAE;QACrDC,IAAI,EAAE;MACP,CAAC,CAAC;IACH;EAAC;EAAA;AAAA,EA1Q0DC,+BAAkB;AAAA"}
@@ -1,4 +1,5 @@
1
1
  import AbstractCliTest from '../../tests/AbstractCliTest';
2
2
  export default class GlobalEmitterTest extends AbstractCliTest {
3
3
  protected static globalEmitterEmitsEquentally(): Promise<void>;
4
+ protected static didExecuteAcceptsInstalledPackages(): Promise<void>;
4
5
  }
@@ -15,10 +15,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
16
16
  var _testUtils = require("@sprucelabs/test-utils");
17
17
  var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
18
- var _dec, _class;
18
+ var _dec, _dec2, _class;
19
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
20
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
- var GlobalEmitterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
21
+ var GlobalEmitterTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
22
22
  (0, _inherits2["default"])(GlobalEmitterTest, _AbstractCliTest);
23
23
  var _super = _createSuper(GlobalEmitterTest);
24
24
  function GlobalEmitterTest() {
@@ -47,8 +47,45 @@ var GlobalEmitterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__*/f
47
47
  }
48
48
  return globalEmitterEmitsEquentally;
49
49
  }()
50
+ }, {
51
+ key: "didExecuteAcceptsInstalledPackages",
52
+ value: function () {
53
+ var _didExecuteAcceptsInstalledPackages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
54
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
55
+ while (1) {
56
+ switch (_context2.prev = _context2.next) {
57
+ case 0:
58
+ _context2.next = 2;
59
+ return this.emitter.on('feature.did-execute', function () {
60
+ return {
61
+ packagesInstalled: [{
62
+ isDev: true,
63
+ name: (0, _testUtils.generateId)(),
64
+ version: (0, _testUtils.generateId)()
65
+ }]
66
+ };
67
+ });
68
+ case 2:
69
+ _context2.next = 4;
70
+ return this.emitter.emitAndFlattenResponses('feature.did-execute', {
71
+ actionCode: (0, _testUtils.generateId)(),
72
+ featureCode: 'permission',
73
+ results: {}
74
+ });
75
+ case 4:
76
+ case "end":
77
+ return _context2.stop();
78
+ }
79
+ }
80
+ }, _callee2, this);
81
+ }));
82
+ function didExecuteAcceptsInstalledPackages() {
83
+ return _didExecuteAcceptsInstalledPackages.apply(this, arguments);
84
+ }
85
+ return didExecuteAcceptsInstalledPackages;
86
+ }()
50
87
  }]);
51
88
  return GlobalEmitterTest;
52
- }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "globalEmitterEmitsEquentally", [_dec], Object.getOwnPropertyDescriptor(_class, "globalEmitterEmitsEquentally"), _class)), _class));
89
+ }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "globalEmitterEmitsEquentally", [_dec], Object.getOwnPropertyDescriptor(_class, "globalEmitterEmitsEquentally"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "didExecuteAcceptsInstalledPackages", [_dec2], Object.getOwnPropertyDescriptor(_class, "didExecuteAcceptsInstalledPackages"), _class)), _class));
53
90
  exports["default"] = GlobalEmitterTest;
54
91
  //# sourceMappingURL=GlobalEmitter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalEmitter.test.js","names":["GlobalEmitterTest","test","assert","isTrue","emitter","shouldEmitSequentally","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/GlobalEmitter.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GlobalEmitterTest extends AbstractCliTest {\n\t@test()\n\tprotected static async globalEmitterEmitsEquentally() {\n\t\t//@ts-ignore\n\t\tassert.isTrue(this.emitter.shouldEmitSequentally)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,iBAAiB,WACpC,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,kHAAP;QAAA;UAAA;YAAA;cAAA;gBAEC;gBACAC,iBAAM,CAACC,MAAM,CAAC,IAAI,CAACC,OAAO,CAACC,qBAAqB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACjD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAL6CC,4BAAe;AAAA"}
1
+ {"version":3,"file":"GlobalEmitter.test.js","names":["GlobalEmitterTest","test","assert","isTrue","emitter","shouldEmitSequentally","on","packagesInstalled","isDev","name","generateId","version","emitAndFlattenResponses","actionCode","featureCode","results","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/GlobalEmitter.test.ts"],"sourcesContent":["import { test, assert, generateId } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GlobalEmitterTest extends AbstractCliTest {\n\t@test()\n\tprotected static async globalEmitterEmitsEquentally() {\n\t\t//@ts-ignore\n\t\tassert.isTrue(this.emitter.shouldEmitSequentally)\n\t}\n\n\t@test()\n\tprotected static async didExecuteAcceptsInstalledPackages() {\n\t\tawait this.emitter.on('feature.did-execute', () => {\n\t\t\treturn {\n\t\t\t\tpackagesInstalled: [\n\t\t\t\t\t{\n\t\t\t\t\t\tisDev: true,\n\t\t\t\t\t\tname: generateId(),\n\t\t\t\t\t\tversion: generateId(),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tawait this.emitter.emitAndFlattenResponses('feature.did-execute', {\n\t\t\tactionCode: generateId(),\n\t\t\tfeatureCode: 'permission',\n\t\t\tresults: {},\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AAAyD;AAAA;AAAA;AAAA,IAEpCA,iBAAiB,WACpC,IAAAC,eAAI,GAAE,UAMN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,kHANP;QAAA;UAAA;YAAA;cAAA;gBAEC;gBACAC,iBAAM,CAACC,MAAM,CAAC,IAAI,CAACC,OAAO,CAACC,qBAAqB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACjD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wHAED;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACD,OAAO,CAACE,EAAE,CAAC,qBAAqB,EAAE,YAAM;kBAClD,OAAO;oBACNC,iBAAiB,EAAE,CAClB;sBACCC,KAAK,EAAE,IAAI;sBACXC,IAAI,EAAE,IAAAC,qBAAU,GAAE;sBAClBC,OAAO,EAAE,IAAAD,qBAAU;oBACpB,CAAC;kBAEH,CAAC;gBACF,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACN,OAAO,CAACQ,uBAAuB,CAAC,qBAAqB,EAAE;kBACjEC,UAAU,EAAE,IAAAH,qBAAU,GAAE;kBACxBI,WAAW,EAAE,YAAY;kBACzBC,OAAO,EAAE,CAAC;gBACX,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA1B6CC,4BAAe;AAAA"}
@@ -233,7 +233,7 @@ var SkillStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
233
233
  var _canRegister = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
234
234
  var _results$skill,
235
235
  _this4 = this;
236
- var slug, isRegistered, skill, client, results, currentSkill, env, err, pkg, namespace;
236
+ var slug, isRegistered, skill, client, results, currentSkill, env, err, namespace;
237
237
  return _regenerator["default"].wrap(function _callee8$(_context8) {
238
238
  while (1) {
239
239
  switch (_context8.prev = _context8.next) {
@@ -298,10 +298,9 @@ var SkillStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test
298
298
  case 41:
299
299
  err = _context8.sent;
300
300
  _testUtils.errorAssert.assertError(err, 'GENERIC');
301
- pkg = this.Service('pkg');
302
- namespace = pkg.get('skill.namespace');
301
+ namespace = this.Service('pkg').getSkillNamespace();
303
302
  _testUtils.assert.isEqual(namespace, slug);
304
- case 46:
303
+ case 45:
305
304
  case "end":
306
305
  return _context8.stop();
307
306
  }