@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
@@ -1 +1 @@
1
- {"version":3,"file":"SkillStore.js","names":["SkillStore","options","values","isRegisteringCurrentSkill","assertInSkill","name","slug","description","isPublished","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","emitAndFlattenResponses","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore, { StoreOptions } from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic constructor(options: StoreOptions<SkillStoreOptions>) {\n\t\tsuper(options)\n\t}\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && (await this.assertInSkill())\n\n\t\tconst { name, slug, description, isPublished } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t\tisPublished,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate async assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tawait this.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst [{ skills }] = await client.emitAndFlattenResponses(\n\t\t\t'list-skills::v2020_12_25',\n\t\t\t{\n\t\t\t\tpayload: {\n\t\t\t\t\t...query,\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn skills\n\t}\n}\n\nexport interface CreateSkill {\n\tname: string\n\tslug?: string\n\tdescription?: string\n\tisPublished?: boolean\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport interface SkillStoreOptions {}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkillStore.js","names":["SkillStore","options","values","isRegisteringCurrentSkill","assertInSkill","name","slug","description","isPublished","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","nameFromPackage","getSkillNamespace","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","pkg","get","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","emitAndFlattenResponses","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore, { StoreOptions } from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic constructor(options: StoreOptions<SkillStoreOptions>) {\n\t\tsuper(options)\n\t}\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && (await this.assertInSkill())\n\n\t\tconst { name, slug, description, isPublished } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t\tisPublished,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate async assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tawait this.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst nameFromPackage = this.Service('pkg').getSkillNamespace()\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst [{ skills }] = await client.emitAndFlattenResponses(\n\t\t\t'list-skills::v2020_12_25',\n\t\t\t{\n\t\t\t\tpayload: {\n\t\t\t\t\t...query,\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn skills\n\t}\n}\n\nexport interface CreateSkill {\n\tname: string\n\tslug?: string\n\tdescription?: string\n\tisPublished?: boolean\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport interface SkillStoreOptions {}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA2E;AAAA;AAAA;AAAA;AAAA,IAGtDA,UAAU;EAAA;EAAA;EAI9B,oBAAmBC,OAAwC,EAAE;IAAA;IAAA;IAC5D,0BAAMA,OAAO;IAAC,yFAJQ,OAAO;IAAA;EAK9B;EAAC;IAAA;IAAA;MAAA,8FAMD,iBACCC,MAAmB,EACnBD,OAA8B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAExBE,yBAAyB,GAC9B,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,yBAAyB,MAAK,KAAK;gBAAA,cAE7CA,yBAAyB;gBAAA;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAAW,IAAI,CAACC,aAAa,EAAE;cAAA;gBAEhDC,IAAI,GAAqCH,MAAM,CAA/CG,IAAI,EAAEC,IAAI,GAA+BJ,MAAM,CAAzCI,IAAI,EAAEC,WAAW,GAAkBL,MAAM,CAAnCK,WAAW,EAAEC,WAAW,GAAKN,MAAM,CAAtBM,WAAW;gBAAA;gBAAA,OACvB,IAAI,CAACC,YAAY,EAAE;cAAA;gBAAlCC,MAAM;gBAAA;gBAAA,OAEUA,MAAM,CAACC,IAAI,CAAC,6BAA6B,EAAE;kBAChEC,OAAO,EAAE;oBACRP,IAAI,EAAJA,IAAI;oBACJC,IAAI,EAAJA,IAAI;oBACJC,WAAW,EAAXA,WAAW;oBACXC,WAAW,EAAXA;kBACD;gBACD,CAAC,CAAC;cAAA;gBAPIK,OAAO;gBAAA,wBASKC,mCAAiB,CAACC,uBAAuB,CAACF,OAAO,CAAC,EAA5DG,KAAK,yBAALA,KAAK;gBAAA,KAETb,yBAAyB;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OACtB,IAAI,CAACc,yBAAyB,CAACD,KAAK,CAACV,IAAI,CAAC;cAAA;gBAChD,IAAI,CAACY,OAAO,CAAC,MAAM,CAAC,CAACC,kBAAkB,CAACH,KAAK,CAAC;cAAA;gBAAA,iCAGxCA,KAAK;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACZ;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,mGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOI,WAAW,GAAG,IAAI,CAACF,OAAO,CAAC,UAAU,CAAC,CAACG,mBAAmB,CAAC,OAAO,CAAC;gBAAA,IAEpED,WAAW;kBAAA;kBAAA;gBAAA;gBAAA,MACT,IAAIE,uBAAW,CAAC;kBAAEC,IAAI,EAAE;gBAAsB,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEvD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,KACKvB,UAAU,CAACwB,YAAY;kBAAA;kBAAA;gBAAA;gBAAA,kCACnBxB,UAAU,CAACwB,YAAY;cAAA;gBAAA;gBAAA,OAGzB,IAAI,CAACpB,aAAa,EAAE;cAAA;gBAEpBoB,YAAY,GAAG,IAAI,CAACN,OAAO,CAAC,MAAM,CAAC,CAACO,eAAe,EAAE;gBAAA,KAEvDD,YAAY;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OACM,IAAI,CAACf,YAAY,CAAC;kBAAEiB,wBAAwB,EAAE;gBAAK,CAAC,CAAC;cAAA;gBAApEhB,MAAM;gBAAA;gBAAA,OAEWA,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE;kBAC5DgB,MAAM,EAAE;oBACPC,OAAO,EAAEJ,YAAY,CAACK;kBACvB;gBACD,CAAC,CAAC;cAAA;gBAJIC,QAAQ;gBAAA,yBAMIhB,mCAAiB,CAACC,uBAAuB,CAACe,QAAQ,CAAC,EAA7Dd,KAAK,0BAALA,KAAK;gBAEbhB,UAAU,CAACwB,YAAY,mCACnBR,KAAK;kBACRe,eAAe,EAAEC,2BAAS,CAACC,QAAQ,CAACjB,KAAK,CAACV,IAAI,CAAC;kBAC/C4B,YAAY,EAAE,IAAI;kBAClBC,MAAM,EAAEX,YAAY,CAACW;gBAAM,EAC3B;gBAAA,kCAEMnC,UAAU,CAACwB,YAAY;cAAA;gBAAA,kCAGxB;kBACNnB,IAAI,EAAE,IAAI,CAAC+B,mBAAmB,EAAE;kBAChCL,eAAe,EAAE,IAAI,CAACM,iCAAiC,EAAE;kBACzD9B,WAAW,EAAE,IAAI,CAAC+B,0BAA0B,EAAE;kBAC9CJ,YAAY,EAAE;gBACf,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACK,gBAAgB,EAAE;cAAA;gBAArCvB,KAAK;gBAAA,kCACJA,KAAK,CAACkB,YAAY;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACzB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,+BAA8B;MAC7B,IAAMM,eAAe,GAAG,IAAI,CAACtB,OAAO,CAAC,KAAK,CAAC,CAACuB,iBAAiB,EAAE;MAC/D,IAAI,CAACD,eAAe,EAAE;QACrB,MAAM,IAAIE,KAAK,CACd,0DAA0D,CAC1D;MACF;MACA,OAAOF,eAAe;IACvB;EAAC;IAAA;IAAA;MAAA,gHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOG,QAAQ,GAAGX,2BAAS,CAACC,QAAQ,CAAC,IAAI,CAACG,mBAAmB,EAAE,CAAC;gBAAA,KAE3D,IAAI,CAAClB,OAAO,CAAC,MAAM,CAAC,CAACO,eAAe,EAAE;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OACnB,IAAI,CAACc,gBAAgB,EAAE;cAAA;gBAAvCK,OAAO;gBAAA,kCACNZ,2BAAS,CAACC,QAAQ,kBAACW,OAAO,CAACtC,IAAI,yDAAIqC,QAAQ,CAAC;cAAA;gBAAA,kCAG7CA,QAAQ;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+GAED,kBAAuCE,SAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACnDX,YAAY,GAAG,KAAK;gBAAA;gBAAA;gBAAA,OAEF,IAAI,CAACY,wBAAwB,EAAE;cAAA;gBAApDZ,YAAY;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA,KAITA,YAAY;kBAAA;kBAAA;gBAAA;gBAAA,MACT,IAAIZ,uBAAW,CAAC;kBACrBC,IAAI,EAAE,SAAS;kBACfwB,eAAe;gBAChB,CAAC,CAAC;cAAA;gBAGH,IAAI,CAAC7B,OAAO,CAAC,MAAM,CAAC,CAAC8B,2BAA2B,CAACH,SAAS,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,6CAA4C;MAC3C,OAAOb,2BAAS,CAACC,QAAQ,CAAC,IAAI,CAACG,mBAAmB,EAAE,CAAC;IACtD;EAAC;IAAA;IAAA,OAED,sCAAqC;MACpC,IAAMa,GAAG,GAAG,IAAI,CAAC/B,OAAO,CAAC,KAAK,CAAC;MAC/B,OAAO+B,GAAG,CAACC,GAAG,CAAC,aAAa,CAAC;IAC9B;EAAC;IAAA;IAAA;MAAA,qGAED,kBAA6BtB,OAAe;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACtB,IAAI,CAACnB,YAAY,EAAE;cAAA;gBAAlCC,MAAM;gBAAA;gBAAA,OAEWA,MAAM,CAACC,IAAI,CAAC,+BAA+B,EAAE;kBACnEgB,MAAM,EAAE;oBACPC,OAAO,EAAPA;kBACD;gBACD,CAAC,CAAC;cAAA;gBAJIE,QAAQ;gBAMdhB,mCAAiB,CAACC,uBAAuB,CAACe,QAAQ,CAAC;gBAEnD,IAAI,0BAAA9B,UAAU,CAACwB,YAAY,0DAAvB,sBAAyBK,EAAE,MAAKD,OAAO,EAAE;kBAC5C5B,UAAU,CAACwB,YAAY,GAAG2B,SAAS;kBACnC,IAAI,CAACjC,OAAO,CAAC,MAAM,CAAC,CAACkC,kBAAkB,EAAE;gBAC1C;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,mGAED;QAAA;UAAA;YAAA;cAAA;gBAAA,kCACQ,IAAI,CAACC,cAAc,CAAC;kBAAEC,kBAAkB,EAAE;gBAAK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED,kBAA4BC,KAG3B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAAC9C,YAAY,EAAE;cAAA;gBAAlCC,MAAM;gBAAA;gBAAA,OAEeA,MAAM,CAAC8C,uBAAuB,CACxD,0BAA0B,EAC1B;kBACC5C,OAAO,oBACH2C,KAAK;gBAEV,CAAC,CACD;cAAA;gBAAA;gBAAA;gBAPQE,MAAM,6BAANA,MAAM;gBAAA,kCASRA,MAAM;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACb;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OA1KD,6BAAkC;MACjC,IAAI,CAACjC,YAAY,GAAG2B,SAAS;IAC9B;EAAC;EAAA;AAAA,EAVsCO,0BAAa;AAAA;AAAA,iCAAhC1D,UAAU"}
@@ -83,7 +83,7 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
83
83
  switch (_context2.prev = _context2.next) {
84
84
  case 0:
85
85
  _context2.next = 2;
86
- return this.featureInstaller.isInstalled('store');
86
+ return this.features.isInstalled('store');
87
87
  case 2:
88
88
  isInstalled = _context2.sent;
89
89
  isUpgrade = isInstalled && payload.featureCode === 'node' && payload.actionCode === 'upgrade';
@@ -1 +1 @@
1
- {"version":3,"file":"StoreFeature.js","names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","abstractClasses","label","featureCode","payload","featureInstaller","isInstalled","isUpgrade","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","results","Writer","writePlugin","cwd","files","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAG2B;AAAA;AAAA,IASNA,YAAY;EAAA;EAAA;EAiBhC,sBAAmBC,OAAuB,EAAE;IAAA;IAAA;IAC3C,0BAAMA,OAAO;IAAC,iGAjBO,aAAa;IAAA,gGACd,4CAA4C;IAAA,yFACtC,OAAO;IAAA,iGACS,CAC1C;MACCC,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAAA,wGAC4B,CAC5B;MAAEC,IAAI,EAAE,wCAAwC;MAAEC,KAAK,EAAE;IAAM,CAAC,EAChE;MAAED,IAAI,EAAE,gCAAgC;MAAEC,KAAK,EAAE;IAAM,CAAC,CACxD;IAAA,+FAEmBC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAK7D,KAAK,MAAKC,OAAO,CAACC,EAAE,CACnB,qCAAqC,EACrC,MAAKC,gCAAgC,CAACC,IAAI,gDAAM,CAChD;IACD,KAAK,MAAKH,OAAO,CAACC,EAAE,CACnB,qBAAqB,EACrB,MAAKG,gBAAgB,CAACD,IAAI,gDAAM,CAChC;IAAA;EACF;EAAC;IAAA;IAAA;MAAA,sHAED;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNE,eAAe,EAAE,CAChB;oBACCV,IAAI,EAAE,mBAAmB;oBACzBW,KAAK,EAAE,mBAAmB;oBAC1B,UAAQ,iCAAiC;oBACzCC,WAAW,EAAE;kBACd,CAAC;gBAEH,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED,kBAA+BC,OAG9B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC0B,IAAI,CAACC,gBAAgB,CAACC,WAAW,CAAC,OAAO,CAAC;cAAA;gBAA9DA,WAAW;gBAEXC,SAAS,GACdD,WAAW,IACXF,OAAO,CAACD,WAAW,KAAK,MAAM,IAC9BC,OAAO,CAACI,UAAU,KAAK,SAAS;gBAAA,KAE7BD,SAAS;kBAAA;kBAAA;gBAAA;gBACZE,cAAM,CAACC,cAAc,CAAC;kBACrBC,EAAE,EAAE,IAAI,CAACA,EAAE;kBACXC,QAAQ,EAAE;gBACX,CAAC,CAAC;gBAAA;gBAAA,OAEoB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAxDC,OAAO;gBAAA,kCAENA,OAAO;cAAA;gBAAA,kCAGR,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAxDC,KAAK;gBAAA,kCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAzEwCC,4BAAe;AAAA"}
1
+ {"version":3,"file":"StoreFeature.js","names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","abstractClasses","label","featureCode","payload","features","isInstalled","isUpgrade","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","results","Writer","writePlugin","cwd","files","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.features.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAG2B;AAAA;AAAA,IASNA,YAAY;EAAA;EAAA;EAiBhC,sBAAmBC,OAAuB,EAAE;IAAA;IAAA;IAC3C,0BAAMA,OAAO;IAAC,iGAjBO,aAAa;IAAA,gGACd,4CAA4C;IAAA,yFACtC,OAAO;IAAA,iGACS,CAC1C;MACCC,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAAA,wGAC4B,CAC5B;MAAEC,IAAI,EAAE,wCAAwC;MAAEC,KAAK,EAAE;IAAM,CAAC,EAChE;MAAED,IAAI,EAAE,gCAAgC;MAAEC,KAAK,EAAE;IAAM,CAAC,CACxD;IAAA,+FAEmBC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAK7D,KAAK,MAAKC,OAAO,CAACC,EAAE,CACnB,qCAAqC,EACrC,MAAKC,gCAAgC,CAACC,IAAI,gDAAM,CAChD;IACD,KAAK,MAAKH,OAAO,CAACC,EAAE,CACnB,qBAAqB,EACrB,MAAKG,gBAAgB,CAACD,IAAI,gDAAM,CAChC;IAAA;EACF;EAAC;IAAA;IAAA;MAAA,sHAED;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNE,eAAe,EAAE,CAChB;oBACCV,IAAI,EAAE,mBAAmB;oBACzBW,KAAK,EAAE,mBAAmB;oBAC1B,UAAQ,iCAAiC;oBACzCC,WAAW,EAAE;kBACd,CAAC;gBAEH,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED,kBAA+BC,OAG9B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC0B,IAAI,CAACC,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;cAAA;gBAAtDA,WAAW;gBAEXC,SAAS,GACdD,WAAW,IACXF,OAAO,CAACD,WAAW,KAAK,MAAM,IAC9BC,OAAO,CAACI,UAAU,KAAK,SAAS;gBAAA,KAE7BD,SAAS;kBAAA;kBAAA;gBAAA;gBACZE,cAAM,CAACC,cAAc,CAAC;kBACrBC,EAAE,EAAE,IAAI,CAACA,EAAE;kBACXC,QAAQ,EAAE;gBACX,CAAC,CAAC;gBAAA;gBAAA,OAEoB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAxDC,OAAO;gBAAA,kCAENA,OAAO;cAAA;gBAAA,kCAGR,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAxDC,KAAK;gBAAA,kCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAzEwCC,4BAAe;AAAA"}
@@ -19,7 +19,7 @@ export default class SyncAction extends AbstractAction<OptionsSchema> {
19
19
  files: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[];
20
20
  errors?: undefined;
21
21
  } | {
22
- errors: unknown[];
22
+ errors: any[];
23
23
  files?: undefined;
24
24
  }>;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["optionsSchema","buildSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAuF;AAAA;AAEvF,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,sBAAsB;EAC1BC,WAAW,EACV,uEAAuE;EACxEC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAKmBC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACPL,aAAa;IAAA,mGACZ,CAAC,aAAa,CAAC;IAAA,sGAEtC,2DAA2D;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAE5D,iBAAqBM,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEf,IAAI,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,WAAW,EAAE;cAAA;gBAAhDC,MAAM;gBAERC,KAAsB,GAAG,EAAE;gBAAA,MAE3BD,MAAM,CAACE,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACdC,WAAW,GAAGC,0BAAQ,CAACC,qBAAqB,CAAC,IAAI,CAACC,GAAG,EAAE,QAAQ,CAAC;gBAChEC,OAAO,GAAG,IAAIC,oCAAwB,EAAE;gBACxCC,aAAa,GAAGF,OAAO,CAACG,kBAAkB,CAACV,MAAM,EAAEG,WAAW,CAAC;gBAE/DQ,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC;gBAAA;gBAAA,OACrBD,MAAM,CAACE,gBAAgB,CAACV,WAAW,EAAE;kBAClDH,MAAM,EAAES;gBACT,CAAC,CAAC;cAAA;gBAFFR,KAAK;cAAA;gBAAA,iCAKC;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNa,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/BsCC,2BAAc;AAAA"}
1
+ {"version":3,"file":"SyncAction.js","names":["optionsSchema","buildSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAuF;AAAA;AAEvF,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,sBAAsB;EAC1BC,WAAW,EACV,uEAAuE;EACxEC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAKmBC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACPL,aAAa;IAAA,mGACZ,CAAC,aAAa,CAAC;IAAA,sGAEtC,2DAA2D;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAE5D,iBAAqBM,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEf,IAAI,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,WAAW,EAAE;cAAA;gBAAhDC,MAAM;gBAERC,KAAsB,GAAG,EAAE;gBAAA,MAE3BD,MAAM,CAACE,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACdC,WAAW,GAAGC,0BAAQ,CAACC,qBAAqB,CAAC,IAAI,CAACC,GAAG,EAAE,QAAQ,CAAC;gBAChEC,OAAO,GAAG,IAAIC,oCAAwB,EAAE;gBACxCC,aAAa,GAAGF,OAAO,CAACG,kBAAkB,CAACV,MAAM,EAAEG,WAAW,CAAC;gBAE/DQ,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC;gBAAA;gBAAA,OACrBD,MAAM,CAACE,gBAAgB,CAACV,WAAW,EAAE;kBAClDH,MAAM,EAAES;gBACT,CAAC,CAAC;cAAA;gBAFFR,KAAK;cAAA;gBAAA,iCAKC;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNa,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/BsCC,2BAAc;AAAA"}
@@ -196,7 +196,7 @@ var TestFeature = /*#__PURE__*/function (_AbstractFeature) {
196
196
  break;
197
197
  }
198
198
  _context2.next = 23;
199
- return this.featureInstaller.isInstalled(ac.featureCode);
199
+ return this.features.isInstalled(ac.featureCode);
200
200
  case 23:
201
201
  isInstalled = _context2.sent;
202
202
  if (!isInstalled) {
@@ -1 +1 @@
1
- {"version":3,"file":"TestFeature.js","names":["TestFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","service","Service","configureJest","configureScripts","configureTsConfig","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","err","scripts","get","test","set","path","value","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","parentFinder","ParentTestFinder","findAbstractTests","candidates","map","a","label","emitter","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","payload","abstractClasses","ac","isDefaultExport","featureCode","featureInstaller","isInstalled","push","sort","b","AbstractFeature"],"sources":["../../../src/features/test/TestFeature.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../errors/SpruceError'\nimport PkgService from '../../services/PkgService'\nimport { NpmPackage } from '../../types/cli.types'\nimport tsConfigUtil from '../../utilities/tsConfig.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport ParentTestFinder from '../error/ParentTestFinder'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\ttest: TestFeature\n\t}\n}\n\nexport interface ParentClassCandidate {\n\tname: string\n\tlabel: string\n\tpath?: string\n\timport?: string\n\tisDefaultExport: boolean\n\tfeatureCode?: FeatureCode\n}\n\nexport default class TestFeature extends AbstractFeature {\n\tpublic nameReadable = 'Testing'\n\tpublic description = 'Test first. Test everything! 💪'\n\tpublic code: FeatureCode = 'test'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/test@latest', isDev: true },\n\t\t{ name: '@sprucelabs/test-utils@latest', isDev: true },\n\t\t{ name: '@sprucelabs/jest-json-reporter@latest', isDev: true },\n\t\t{ name: '@sprucelabs/spruce-test-fixtures@latest', isDev: true },\n\t\t{ name: 'jest-circus', isDev: true },\n\t\t{ name: 'jest', isDev: true },\n\t]\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall() {\n\t\tconst service = this.Service('pkg')\n\n\t\tthis.configureJest(service)\n\t\tthis.configureScripts(service)\n\t\tthis.configureTsConfig()\n\n\t\treturn {}\n\t}\n\n\tprivate configureTsConfig() {\n\t\ttry {\n\t\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\t\t\tif (!tsConfig.compilerOptions.experimentalDecorators) {\n\t\t\t\ttsConfig.compilerOptions.experimentalDecorators = true\n\t\t\t\ttsConfigUtil.setCompilerOption(this.cwd, 'experimentalDecorators', true)\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t//@ts-ignore\n\t\t}\n\t}\n\n\tprivate configureScripts(service: PkgService) {\n\t\tlet scripts = service.get('scripts') as Record<string, any> | undefined\n\n\t\tif (!scripts) {\n\t\t\tscripts = {}\n\t\t}\n\n\t\tif (!scripts.test) {\n\t\t\tscripts.test = 'jest'\n\t\t\tscripts['watch.tests'] = 'jest --watch'\n\t\t\tservice.set({ path: 'scripts', value: scripts })\n\t\t}\n\t}\n\n\tprivate configureJest(service: PkgService) {\n\t\tconst jestConfig = {\n\t\t\ttestRunner: 'jest-circus/runner',\n\t\t\tmaxWorkers: 4,\n\t\t\ttestTimeout: 120000,\n\t\t\ttestEnvironment: 'node',\n\t\t\ttestPathIgnorePatterns: [\n\t\t\t\t'<rootDir>/tmp/',\n\t\t\t\t'<rootDir>/src/',\n\t\t\t\t'<rootDir>/node_modules/',\n\t\t\t\t'<rootDir>/build/__tests__/testDirsAndFiles/',\n\t\t\t],\n\t\t\ttestMatch: ['**/__tests__/**/*.test.js?(x)'],\n\t\t\tmoduleNameMapper: {\n\t\t\t\t'^#spruce/(.*)$': '<rootDir>/build/.spruce/$1',\n\t\t\t},\n\t\t}\n\n\t\tconst existingJest = service.get('jest') as Record<string, any>\n\t\tif (!existingJest) {\n\t\t\tservice.set({ path: 'jest', value: jestConfig })\n\t\t}\n\t}\n\n\tpublic async buildParentClassCandidates(): Promise<ParentClassCandidate[]> {\n\t\tconst parentFinder = new ParentTestFinder(this.cwd)\n\t\tconst candidates: ParentClassCandidate[] = (\n\t\t\tawait parentFinder.findAbstractTests()\n\t\t).map((a) => ({ ...a, label: a.name }))\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'test.register-abstract-test-classes'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tfor (const payload of payloads) {\n\t\t\tconst { abstractClasses } = payload\n\n\t\t\tfor (const ac of abstractClasses) {\n\t\t\t\tconst a = { ...ac, isDefaultExport: false }\n\n\t\t\t\tif (ac.featureCode) {\n\t\t\t\t\tconst isInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\t\t\tac.featureCode as any\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!isInstalled) {\n\t\t\t\t\t\ta.label = `${a.label} (requires install)`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcandidates.push(a as any)\n\t\t\t}\n\t\t}\n\n\t\tcandidates.sort((a, b) => {\n\t\t\tif (a.label > b.label) {\n\t\t\t\treturn 1\n\t\t\t} else {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t})\n\n\t\treturn candidates\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestFeature.js","names":["TestFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","service","Service","configureJest","configureScripts","configureTsConfig","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","err","scripts","get","test","set","path","value","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","parentFinder","ParentTestFinder","findAbstractTests","candidates","map","a","label","emitter","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","payload","abstractClasses","ac","isDefaultExport","featureCode","features","isInstalled","push","sort","b","AbstractFeature"],"sources":["../../../src/features/test/TestFeature.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../errors/SpruceError'\nimport PkgService from '../../services/PkgService'\nimport { NpmPackage } from '../../types/cli.types'\nimport tsConfigUtil from '../../utilities/tsConfig.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport ParentTestFinder from '../error/ParentTestFinder'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\ttest: TestFeature\n\t}\n}\n\nexport interface ParentClassCandidate {\n\tname: string\n\tlabel: string\n\tpath?: string\n\timport?: string\n\tisDefaultExport: boolean\n\tfeatureCode?: FeatureCode\n}\n\nexport default class TestFeature extends AbstractFeature {\n\tpublic nameReadable = 'Testing'\n\tpublic description = 'Test first. Test everything! 💪'\n\tpublic code: FeatureCode = 'test'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/test@latest', isDev: true },\n\t\t{ name: '@sprucelabs/test-utils@latest', isDev: true },\n\t\t{ name: '@sprucelabs/jest-json-reporter@latest', isDev: true },\n\t\t{ name: '@sprucelabs/spruce-test-fixtures@latest', isDev: true },\n\t\t{ name: 'jest-circus', isDev: true },\n\t\t{ name: 'jest', isDev: true },\n\t]\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall() {\n\t\tconst service = this.Service('pkg')\n\n\t\tthis.configureJest(service)\n\t\tthis.configureScripts(service)\n\t\tthis.configureTsConfig()\n\n\t\treturn {}\n\t}\n\n\tprivate configureTsConfig() {\n\t\ttry {\n\t\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\t\t\tif (!tsConfig.compilerOptions.experimentalDecorators) {\n\t\t\t\ttsConfig.compilerOptions.experimentalDecorators = true\n\t\t\t\ttsConfigUtil.setCompilerOption(this.cwd, 'experimentalDecorators', true)\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t//@ts-ignore\n\t\t}\n\t}\n\n\tprivate configureScripts(service: PkgService) {\n\t\tlet scripts = service.get('scripts') as Record<string, any> | undefined\n\n\t\tif (!scripts) {\n\t\t\tscripts = {}\n\t\t}\n\n\t\tif (!scripts.test) {\n\t\t\tscripts.test = 'jest'\n\t\t\tscripts['watch.tests'] = 'jest --watch'\n\t\t\tservice.set({ path: 'scripts', value: scripts })\n\t\t}\n\t}\n\n\tprivate configureJest(service: PkgService) {\n\t\tconst jestConfig = {\n\t\t\ttestRunner: 'jest-circus/runner',\n\t\t\tmaxWorkers: 4,\n\t\t\ttestTimeout: 120000,\n\t\t\ttestEnvironment: 'node',\n\t\t\ttestPathIgnorePatterns: [\n\t\t\t\t'<rootDir>/tmp/',\n\t\t\t\t'<rootDir>/src/',\n\t\t\t\t'<rootDir>/node_modules/',\n\t\t\t\t'<rootDir>/build/__tests__/testDirsAndFiles/',\n\t\t\t],\n\t\t\ttestMatch: ['**/__tests__/**/*.test.js?(x)'],\n\t\t\tmoduleNameMapper: {\n\t\t\t\t'^#spruce/(.*)$': '<rootDir>/build/.spruce/$1',\n\t\t\t},\n\t\t}\n\n\t\tconst existingJest = service.get('jest') as Record<string, any>\n\t\tif (!existingJest) {\n\t\t\tservice.set({ path: 'jest', value: jestConfig })\n\t\t}\n\t}\n\n\tpublic async buildParentClassCandidates(): Promise<ParentClassCandidate[]> {\n\t\tconst parentFinder = new ParentTestFinder(this.cwd)\n\t\tconst candidates: ParentClassCandidate[] = (\n\t\t\tawait parentFinder.findAbstractTests()\n\t\t).map((a) => ({ ...a, label: a.name }))\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'test.register-abstract-test-classes'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tfor (const payload of payloads) {\n\t\t\tconst { abstractClasses } = payload\n\n\t\t\tfor (const ac of abstractClasses) {\n\t\t\t\tconst a = { ...ac, isDefaultExport: false }\n\n\t\t\t\tif (ac.featureCode) {\n\t\t\t\t\tconst isInstalled = await this.features.isInstalled(\n\t\t\t\t\t\tac.featureCode as any\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!isInstalled) {\n\t\t\t\t\t\ta.label = `${a.label} (requires install)`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcandidates.push(a as any)\n\t\t\t}\n\t\t}\n\n\t\tcandidates.sort((a, b) => {\n\t\t\tif (a.label > b.label) {\n\t\t\t\treturn 1\n\t\t\t} else {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t})\n\n\t\treturn candidates\n\t}\n}\n"],"mappings":"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"}
@@ -53,7 +53,7 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
53
53
  case 0:
54
54
  featureCode = payload.featureCode, actionCode = payload.actionCode;
55
55
  _context.next = 3;
56
- return _this.featureInstaller.isInstalled('view');
56
+ return _this.features.isInstalled('view');
57
57
  case 3:
58
58
  isInstalled = _context.sent;
59
59
  if (!(isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewFeature.js","names":["ViewFeature","options","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","payload","featureCode","actionCode","featureInstaller","isInstalled","Writer","writePlugin","cwd","files","abstractClasses","label","Service","add","id","namespace","AbstractFeature"],"sources":["../../../src/features/view/ViewFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tview: ViewFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tview: undefined\n\t}\n}\n\nexport default class ViewFeature extends AbstractFeature {\n\tpublic nameReadable = 'views'\n\tpublic description = 'Views: Create views using the Heartwood framework.'\n\tpublic code: FeatureCode = 'view'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/heartwood-view-controllers@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-view-plugin@latest',\n\t\t},\n\t]\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'schema',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.did-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\t\t\tconst isInstalled = await this.featureInstaller.isInstalled('view')\n\n\t\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\t\t\t\treturn {\n\t\t\t\t\tfiles,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid this.emitter.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'AbstractViewControllerTest',\n\t\t\t\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t\t\t\t\timport: '@sprucelabs/spruce-view-plugin',\n\t\t\t\t\t\tfeatureCode: 'view',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: '**',\n\t\t\tnamespace: 'heartwood',\n\t\t})\n\n\t\treturn { files }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AAAuE;AAAA;AAAA,IAalDA,WAAW;EAAA;EAAA;EA8B/B,qBAAmBC,OAAsB,EAAE;IAAA;IAAA;IAC1C,0BAAMA,OAAO;IAAC,iGA9BO,OAAO;IAAA,gGACR,oDAAoD;IAAA,yFAC9C,MAAM;IAAA,+FACbC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,wGAEV,CACnD;MACCC,IAAI,EAAE;IACP,CAAC,EACD;MACCA,IAAI,EAAE;IACP,CAAC,CACD;IAAA,iGAE0C,CAC1C;MACCC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAKA,KAAK,MAAKC,OAAO,CAACC,EAAE,CAAC,qBAAqB;MAAA,yFAAE,iBAAOC,OAAO;QAAA;QAAA;UAAA;YAAA;cAAA;gBACjDC,WAAW,GAAiBD,OAAO,CAAnCC,WAAW,EAAEC,UAAU,GAAKF,OAAO,CAAtBE,UAAU;gBAAA;gBAAA,OACL,MAAKC,gBAAgB,CAACC,WAAW,CAAC,MAAM,CAAC;cAAA;gBAA7DA,WAAW;gBAAA,MAEbA,WAAW,IAAIH,WAAW,KAAK,MAAM,IAAIC,UAAU,KAAK,SAAS;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAChD,MAAKG,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,MAAKC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAAA,iCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA,iCAEK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;IAAA,IAAC;IAEF,KAAK,MAAKV,OAAO,CAACC,EAAE,CAAC,qCAAqC,6FAAE;MAAA;QAAA;UAAA;YAAA;cAAA,kCACpD;gBACNU,eAAe,EAAE,CAChB;kBACCd,IAAI,EAAE,4BAA4B;kBAClCe,KAAK,EAAE,4BAA4B;kBACnC,UAAQ,gCAAgC;kBACxCT,WAAW,EAAE;gBACd,CAAC;cAEH,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CACD,GAAC;IAAA;EACH;EAAC;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACI,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAEX,IAAI,CAACG,OAAO,CAAC,YAAY,CAAC,CAACC,GAAG,CAAC;kBAC9BC,EAAE,EAAE,IAAI;kBACRC,SAAS,EAAE;gBACZ,CAAC,CAAC;gBAAA,kCAEK;kBAAEN,KAAK,EAALA;gBAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArEuCO,4BAAe;AAAA"}
1
+ {"version":3,"file":"ViewFeature.js","names":["ViewFeature","options","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","payload","featureCode","actionCode","features","isInstalled","Writer","writePlugin","cwd","files","abstractClasses","label","Service","add","id","namespace","AbstractFeature"],"sources":["../../../src/features/view/ViewFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tview: ViewFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tview: undefined\n\t}\n}\n\nexport default class ViewFeature extends AbstractFeature {\n\tpublic nameReadable = 'views'\n\tpublic description = 'Views: Create views using the Heartwood framework.'\n\tpublic code: FeatureCode = 'view'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/heartwood-view-controllers@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-view-plugin@latest',\n\t\t},\n\t]\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'schema',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.did-execute', async (payload) => {\n\t\t\tconst { featureCode, actionCode } = payload\n\t\t\tconst isInstalled = await this.features.isInstalled('view')\n\n\t\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\t\t\t\treturn {\n\t\t\t\t\tfiles,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid this.emitter.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'AbstractViewControllerTest',\n\t\t\t\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t\t\t\t\timport: '@sprucelabs/spruce-view-plugin',\n\t\t\t\t\t\tfeatureCode: 'view',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: '**',\n\t\t\tnamespace: 'heartwood',\n\t\t})\n\n\t\treturn { files }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AAAuE;AAAA;AAAA,IAalDA,WAAW;EAAA;EAAA;EA8B/B,qBAAmBC,OAAsB,EAAE;IAAA;IAAA;IAC1C,0BAAMA,OAAO;IAAC,iGA9BO,OAAO;IAAA,gGACR,oDAAoD;IAAA,yFAC9C,MAAM;IAAA,+FACbC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,wGAEV,CACnD;MACCC,IAAI,EAAE;IACP,CAAC,EACD;MACCA,IAAI,EAAE;IACP,CAAC,CACD;IAAA,iGAE0C,CAC1C;MACCC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAKA,KAAK,MAAKC,OAAO,CAACC,EAAE,CAAC,qBAAqB;MAAA,yFAAE,iBAAOC,OAAO;QAAA;QAAA;UAAA;YAAA;cAAA;gBACjDC,WAAW,GAAiBD,OAAO,CAAnCC,WAAW,EAAEC,UAAU,GAAKF,OAAO,CAAtBE,UAAU;gBAAA;gBAAA,OACL,MAAKC,QAAQ,CAACC,WAAW,CAAC,MAAM,CAAC;cAAA;gBAArDA,WAAW;gBAAA,MAEbA,WAAW,IAAIH,WAAW,KAAK,MAAM,IAAIC,UAAU,KAAK,SAAS;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAChD,MAAKG,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,MAAKC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAAA,iCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA,iCAEK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;IAAA,IAAC;IAEF,KAAK,MAAKV,OAAO,CAACC,EAAE,CAAC,qCAAqC,6FAAE;MAAA;QAAA;UAAA;YAAA;cAAA,kCACpD;gBACNU,eAAe,EAAE,CAChB;kBACCd,IAAI,EAAE,4BAA4B;kBAClCe,KAAK,EAAE,4BAA4B;kBACnC,UAAQ,gCAAgC;kBACxCT,WAAW,EAAE;gBACd,CAAC;cAEH,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CACD,GAAC;IAAA;EACH;EAAC;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACI,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAEX,IAAI,CAACG,OAAO,CAAC,YAAY,CAAC,CAACC,GAAG,CAAC;kBAC9BC,EAAE,EAAE,IAAI;kBACRC,SAAS,EAAE;gBACZ,CAAC,CAAC;gBAAA,kCAEK;kBAAEN,KAAK,EAALA;gBAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArEuCO,4BAAe;AAAA"}
@@ -0,0 +1,85 @@
1
+ declare const _default: {
2
+ id: string;
3
+ name: string;
4
+ importsWhenLocal: string[];
5
+ fields: {
6
+ files: {
7
+ type: "schema";
8
+ isArray: true;
9
+ options: {
10
+ schema: {
11
+ id: string;
12
+ fields: {
13
+ name: {
14
+ type: "text";
15
+ isRequired: true;
16
+ };
17
+ path: {
18
+ type: "text";
19
+ isRequired: true;
20
+ };
21
+ description: {
22
+ type: "text";
23
+ };
24
+ action: {
25
+ type: "select";
26
+ isRequired: true;
27
+ options: {
28
+ choices: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ };
33
+ };
34
+ };
35
+ };
36
+ };
37
+ };
38
+ headline: {
39
+ type: "text";
40
+ };
41
+ hints: {
42
+ type: "text";
43
+ isArray: true;
44
+ };
45
+ summaryLines: {
46
+ type: "text";
47
+ isArray: true;
48
+ };
49
+ errors: {
50
+ type: "raw";
51
+ isArray: true;
52
+ options: {
53
+ valueType: string;
54
+ };
55
+ };
56
+ meta: {
57
+ type: "raw";
58
+ options: {
59
+ valueType: string;
60
+ };
61
+ };
62
+ packagesInstalled: {
63
+ type: "schema";
64
+ isArray: true;
65
+ options: {
66
+ schema: {
67
+ id: string;
68
+ fields: {
69
+ name: {
70
+ type: "text";
71
+ isRequired: true;
72
+ };
73
+ version: {
74
+ type: "text";
75
+ };
76
+ isDev: {
77
+ type: "boolean";
78
+ };
79
+ };
80
+ };
81
+ };
82
+ };
83
+ };
84
+ };
85
+ export default _default;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _schema = require("@sprucelabs/schema");
9
+ var _generatedFile = _interopRequireDefault(require("./generatedFile.builder"));
10
+ var _default = (0, _schema.buildSchema)({
11
+ id: 'actionResponse',
12
+ name: 'Action response',
13
+ importsWhenLocal: ["import AbstractSpruceError from '@sprucelabs/error'"],
14
+ fields: {
15
+ files: {
16
+ type: 'schema',
17
+ isArray: true,
18
+ options: {
19
+ schema: _generatedFile["default"]
20
+ }
21
+ },
22
+ headline: {
23
+ type: 'text'
24
+ },
25
+ hints: {
26
+ type: 'text',
27
+ isArray: true
28
+ },
29
+ summaryLines: {
30
+ type: 'text',
31
+ isArray: true
32
+ },
33
+ errors: {
34
+ type: 'raw',
35
+ isArray: true,
36
+ options: {
37
+ valueType: 'AbstractSpruceError<any>'
38
+ }
39
+ },
40
+ meta: {
41
+ type: 'raw',
42
+ options: {
43
+ valueType: 'Record<string, any>'
44
+ }
45
+ },
46
+ packagesInstalled: {
47
+ type: 'schema',
48
+ isArray: true,
49
+ options: {
50
+ schema: (0, _schema.buildSchema)({
51
+ id: 'npmPackage',
52
+ fields: {
53
+ name: {
54
+ type: 'text',
55
+ isRequired: true
56
+ },
57
+ version: {
58
+ type: 'text'
59
+ },
60
+ isDev: {
61
+ type: 'boolean'
62
+ }
63
+ }
64
+ })
65
+ }
66
+ }
67
+ }
68
+ });
69
+ exports["default"] = _default;
70
+ //# sourceMappingURL=actionResponse.builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionResponse.builder.js","names":["buildSchema","id","name","importsWhenLocal","fields","files","type","isArray","options","schema","generatedFileBuilder","headline","hints","summaryLines","errors","valueType","meta","packagesInstalled","isRequired","version","isDev"],"sources":["../../../src/schemas/v2020_07_22/actionResponse.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'actionResponse',\n\tname: 'Action response',\n\timportsWhenLocal: [`import AbstractSpruceError from '@sprucelabs/error'`],\n\tfields: {\n\t\tfiles: {\n\t\t\ttype: 'schema',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschema: generatedFileBuilder,\n\t\t\t},\n\t\t},\n\t\theadline: {\n\t\t\ttype: 'text',\n\t\t},\n\t\thints: {\n\t\t\ttype: 'text',\n\t\t\tisArray: true,\n\t\t},\n\t\tsummaryLines: {\n\t\t\ttype: 'text',\n\t\t\tisArray: true,\n\t\t},\n\t\terrors: {\n\t\t\ttype: 'raw',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tvalueType: 'AbstractSpruceError<any>',\n\t\t\t},\n\t\t},\n\t\tmeta: {\n\t\t\ttype: 'raw',\n\t\t\toptions: {\n\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t},\n\t\t},\n\t\tpackagesInstalled: {\n\t\t\ttype: 'schema',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschema: buildSchema({\n\t\t\t\t\tid: 'npmPackage',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tversion: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDev: {\n\t\t\t\t\t\t\ttype: 'boolean',\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\t},\n})\n"],"mappings":";;;;;;;AAAA;AACA;AAA0D,eAE3C,IAAAA,mBAAW,EAAC;EAC1BC,EAAE,EAAE,gBAAgB;EACpBC,IAAI,EAAE,iBAAiB;EACvBC,gBAAgB,EAAE,uDAAuD;EACzEC,MAAM,EAAE;IACPC,KAAK,EAAE;MACNC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,MAAM,EAAEC;MACT;IACD,CAAC;IACDC,QAAQ,EAAE;MACTL,IAAI,EAAE;IACP,CAAC;IACDM,KAAK,EAAE;MACNN,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACV,CAAC;IACDM,YAAY,EAAE;MACbP,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACV,CAAC;IACDO,MAAM,EAAE;MACPR,IAAI,EAAE,KAAK;MACXC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRO,SAAS,EAAE;MACZ;IACD,CAAC;IACDC,IAAI,EAAE;MACLV,IAAI,EAAE,KAAK;MACXE,OAAO,EAAE;QACRO,SAAS,EAAE;MACZ;IACD,CAAC;IACDE,iBAAiB,EAAE;MAClBX,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,MAAM,EAAE,IAAAT,mBAAW,EAAC;UACnBC,EAAE,EAAE,YAAY;UAChBG,MAAM,EAAE;YACPF,IAAI,EAAE;cACLI,IAAI,EAAE,MAAM;cACZY,UAAU,EAAE;YACb,CAAC;YACDC,OAAO,EAAE;cACRb,IAAI,EAAE;YACP,CAAC;YACDc,KAAK,EAAE;cACNd,IAAI,EAAE;YACP;UACD;QACD,CAAC;MACF;IACD;EACD;AACD,CAAC,CAAC;AAAA"}
@@ -0,0 +1,27 @@
1
+ declare const generatedFileBuilder: {
2
+ id: string;
3
+ fields: {
4
+ name: {
5
+ type: "text";
6
+ isRequired: true;
7
+ };
8
+ path: {
9
+ type: "text";
10
+ isRequired: true;
11
+ };
12
+ description: {
13
+ type: "text";
14
+ };
15
+ action: {
16
+ type: "select";
17
+ isRequired: true;
18
+ options: {
19
+ choices: {
20
+ label: string;
21
+ value: string;
22
+ }[];
23
+ };
24
+ };
25
+ };
26
+ };
27
+ export default generatedFileBuilder;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _schema = require("@sprucelabs/schema");
8
+ var generatedFileBuilder = (0, _schema.buildSchema)({
9
+ id: 'generatedFile',
10
+ fields: {
11
+ name: {
12
+ type: 'text',
13
+ isRequired: true
14
+ },
15
+ path: {
16
+ type: 'text',
17
+ isRequired: true
18
+ },
19
+ description: {
20
+ type: 'text'
21
+ },
22
+ action: {
23
+ type: 'select',
24
+ isRequired: true,
25
+ options: {
26
+ choices: [{
27
+ label: 'Skipped',
28
+ value: 'skipped'
29
+ }, {
30
+ label: 'Generated',
31
+ value: 'generated'
32
+ }, {
33
+ label: 'Updated',
34
+ value: 'updated'
35
+ }, {
36
+ label: 'Deleted',
37
+ value: 'deleted'
38
+ }]
39
+ }
40
+ }
41
+ }
42
+ });
43
+ var _default = generatedFileBuilder;
44
+ exports["default"] = _default;
45
+ //# sourceMappingURL=generatedFile.builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatedFile.builder.js","names":["generatedFileBuilder","buildSchema","id","fields","name","type","isRequired","path","description","action","options","choices","label","value"],"sources":["../../../src/schemas/v2020_07_22/generatedFile.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nconst generatedFileBuilder = buildSchema({\n\tid: 'generatedFile',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tpath: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t},\n\t\taction: {\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Skipped',\n\t\t\t\t\t\tvalue: 'skipped',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Generated',\n\t\t\t\t\t\tvalue: 'generated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Updated',\n\t\t\t\t\t\tvalue: 'updated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Deleted',\n\t\t\t\t\t\tvalue: 'deleted',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n\nexport default generatedFileBuilder\n"],"mappings":";;;;;;AAAA;AAEA,IAAMA,oBAAoB,GAAG,IAAAC,mBAAW,EAAC;EACxCC,EAAE,EAAE,eAAe;EACnBC,MAAM,EAAE;IACPC,IAAI,EAAE;MACLC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDC,IAAI,EAAE;MACLF,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDE,WAAW,EAAE;MACZH,IAAI,EAAE;IACP,CAAC;IACDI,MAAM,EAAE;MACPJ,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBI,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,WAAW;UAClBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC;AAAA,eAEab,oBAAoB;AAAA"}
@@ -1,45 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports["default"] = void 0;
7
8
  var _schema = require("@sprucelabs/schema");
8
- var fieldsSchema = (0, _schema.buildSchema)({
9
- id: 'generatedFileFields',
10
- fields: {
11
- name: {
12
- type: 'text',
13
- isRequired: true
14
- },
15
- path: {
16
- type: 'text',
17
- isRequired: true
18
- },
19
- description: {
20
- type: 'text'
21
- },
22
- action: {
23
- type: 'select',
24
- isRequired: true,
25
- options: {
26
- choices: [{
27
- label: 'Skipped',
28
- value: 'skipped'
29
- }, {
30
- label: 'Generated',
31
- value: 'generated'
32
- }, {
33
- label: 'Updated',
34
- value: 'updated'
35
- }, {
36
- label: 'Deleted',
37
- value: 'deleted'
38
- }]
39
- }
40
- }
41
- }
42
- });
9
+ var _generatedFile = _interopRequireDefault(require("./generatedFile.builder"));
43
10
  var _default = (0, _schema.buildSchema)({
44
11
  id: 'watcherDidDetectChangesEmitPayload',
45
12
  name: 'Watcher did detect changes emit payload',
@@ -49,12 +16,9 @@ var _default = (0, _schema.buildSchema)({
49
16
  isRequired: true,
50
17
  isArray: true,
51
18
  options: {
52
- schemas: [(0, _schema.buildSchema)({
53
- id: 'generatedFile',
54
- fields: fieldsSchema.fields
55
- }), (0, _schema.buildSchema)({
19
+ schemas: [_generatedFile["default"], (0, _schema.buildSchema)({
56
20
  id: 'generatedDir',
57
- fields: fieldsSchema.fields
21
+ fields: _generatedFile["default"].fields
58
22
  })]
59
23
  }
60
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["fieldsSchema","buildSchema","id","fields","name","type","isRequired","path","description","action","options","choices","label","value","changes","isArray","schemas"],"sources":["../../../src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nconst fieldsSchema = buildSchema({\n\tid: 'generatedFileFields',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tpath: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t},\n\t\taction: {\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Skipped',\n\t\t\t\t\t\tvalue: 'skipped',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Generated',\n\t\t\t\t\t\tvalue: 'generated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Updated',\n\t\t\t\t\t\tvalue: 'updated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Deleted',\n\t\t\t\t\t\tvalue: 'deleted',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n\nexport default buildSchema({\n\tid: 'watcherDidDetectChangesEmitPayload',\n\tname: 'Watcher did detect changes emit payload',\n\tfields: {\n\t\tchanges: {\n\t\t\ttype: 'schema',\n\t\t\tisRequired: true,\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschemas: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedFile',\n\t\t\t\t\t\tfields: fieldsSchema.fields,\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedDir',\n\t\t\t\t\t\tfields: fieldsSchema.fields,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA;AAEA,IAAMA,YAAY,GAAG,IAAAC,mBAAW,EAAC;EAChCC,EAAE,EAAE,qBAAqB;EACzBC,MAAM,EAAE;IACPC,IAAI,EAAE;MACLC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDC,IAAI,EAAE;MACLF,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDE,WAAW,EAAE;MACZH,IAAI,EAAE;IACP,CAAC;IACDI,MAAM,EAAE;MACPJ,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBI,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,WAAW;UAClBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC;AAAA,eAEa,IAAAZ,mBAAW,EAAC;EAC1BC,EAAE,EAAE,oCAAoC;EACxCE,IAAI,EAAE,yCAAyC;EAC/CD,MAAM,EAAE;IACPW,OAAO,EAAE;MACRT,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBS,OAAO,EAAE,IAAI;MACbL,OAAO,EAAE;QACRM,OAAO,EAAE,CACR,IAAAf,mBAAW,EAAC;UACXC,EAAE,EAAE,eAAe;UACnBC,MAAM,EAAEH,YAAY,CAACG;QACtB,CAAC,CAAC,EACF,IAAAF,mBAAW,EAAC;UACXC,EAAE,EAAE,cAAc;UAClBC,MAAM,EAAEH,YAAY,CAACG;QACtB,CAAC,CAAC;MAEJ;IACD;EACD;AACD,CAAC,CAAC;AAAA"}
1
+ {"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["buildSchema","id","name","fields","changes","type","isRequired","isArray","options","schemas","generatedFileBuilder"],"sources":["../../../src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'watcherDidDetectChangesEmitPayload',\n\tname: 'Watcher did detect changes emit payload',\n\tfields: {\n\t\tchanges: {\n\t\t\ttype: 'schema',\n\t\t\tisRequired: true,\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschemas: [\n\t\t\t\t\tgeneratedFileBuilder,\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedDir',\n\t\t\t\t\t\tfields: generatedFileBuilder.fields,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;;AAAA;AACA;AAA0D,eAE3C,IAAAA,mBAAW,EAAC;EAC1BC,EAAE,EAAE,oCAAoC;EACxCC,IAAI,EAAE,yCAAyC;EAC/CC,MAAM,EAAE;IACPC,OAAO,EAAE;MACRC,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,OAAO,EAAE,CACRC,yBAAoB,EACpB,IAAAV,mBAAW,EAAC;UACXC,EAAE,EAAE,cAAc;UAClBE,MAAM,EAAEO,yBAAoB,CAACP;QAC9B,CAAC,CAAC;MAEJ;IACD;EACD;AACD,CAAC,CAAC;AAAA"}
@@ -6,7 +6,7 @@ export default class CommandService {
6
6
  cwd: string;
7
7
  private activeChildProcess;
8
8
  private ignoreCloseErrors;
9
- private static mockResponses;
9
+ private static fakeResponses;
10
10
  private static commandsRunCapturedByMockResponses;
11
11
  constructor(cwd: string);
12
12
  execute(cmd: string, options?: {
@@ -26,7 +26,7 @@ export default class CommandService {
26
26
  pid: () => number | undefined;
27
27
  private getMockResponse;
28
28
  static fakeCommand(command: string | RegExp, response: MockResponse): void;
29
- static clearMockResponses(): void;
29
+ static clearFakedResponses(): void;
30
30
  }
31
31
  interface MockResponse {
32
32
  code: number;
@@ -173,7 +173,7 @@ var CommandService = /*#__PURE__*/function () {
173
173
  key: "getMockResponse",
174
174
  value: function getMockResponse(executable, args) {
175
175
  var mockKey = "".concat(executable, " ").concat(args.join(' ')).trim();
176
- var commands = CommandService.mockResponses;
176
+ var commands = CommandService.fakeResponses;
177
177
  var match = commands.find(function (r) {
178
178
  return r.command instanceof RegExp ? mockKey.search(r.command) > -1 : r.command.replace(/ +/gi, '') === mockKey.replace(/ +/gi, '');
179
179
  });
@@ -185,20 +185,20 @@ var CommandService = /*#__PURE__*/function () {
185
185
  }], [{
186
186
  key: "fakeCommand",
187
187
  value: function fakeCommand(command, response) {
188
- this.mockResponses.unshift({
188
+ this.fakeResponses.unshift({
189
189
  command: command,
190
190
  response: response
191
191
  });
192
192
  }
193
193
  }, {
194
- key: "clearMockResponses",
195
- value: function clearMockResponses() {
196
- this.mockResponses = [];
194
+ key: "clearFakedResponses",
195
+ value: function clearFakedResponses() {
196
+ this.fakeResponses = [];
197
197
  }
198
198
  }]);
199
199
  return CommandService;
200
200
  }();
201
201
  exports["default"] = CommandService;
202
- (0, _defineProperty2["default"])(CommandService, "mockResponses", []);
202
+ (0, _defineProperty2["default"])(CommandService, "fakeResponses", []);
203
203
  (0, _defineProperty2["default"])(CommandService, "commandsRunCapturedByMockResponses", []);
204
204
  //# sourceMappingURL=CommandService.js.map