@sprucelabs/spruce-cli 19.0.0 → 19.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1014) hide show
  1. package/.DS_Store +0 -0
  2. package/.env +25 -0
  3. package/.eslintcache +1 -0
  4. package/CHANGELOG.md +6 -0
  5. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  45. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  46. package/build/.spruce/events/events.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  52. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
  53. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  54. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
  55. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
  56. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  57. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  70. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  71. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  72. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  73. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  74. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  75. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  76. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  77. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  78. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  79. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  80. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  81. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  82. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  83. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  84. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  85. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  112. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  113. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  114. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  115. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  116. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  117. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  118. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  119. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  120. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  121. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  122. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  123. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  124. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  125. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  126. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  127. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  128. package/build/.spruce/skill.types.js.map +1 -1
  129. package/build/GlobalEmitter.js.map +1 -1
  130. package/build/InFlightEntertainment.js.map +1 -1
  131. package/build/__tests__/behavioral/AddingADependency.test.js +130 -144
  132. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  133. package/build/__tests__/behavioral/BlockingCommands.test.js +59 -63
  134. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  135. package/build/__tests__/behavioral/BootingTheCli.test.d.ts +2 -1
  136. package/build/__tests__/behavioral/BootingTheCli.test.js +60 -22
  137. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  138. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +46 -52
  139. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  140. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +50 -56
  141. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  142. package/build/__tests__/behavioral/DeployingASkill.test.js +512 -548
  143. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  144. package/build/__tests__/behavioral/DeployingToSandbox.test.js +321 -351
  145. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  146. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +137 -153
  147. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  148. package/build/__tests__/behavioral/GettingCliVersion.test.js +31 -37
  149. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  150. package/build/__tests__/behavioral/ManagingDependencies.test.js +112 -122
  151. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +41 -45
  153. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  154. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +55 -59
  155. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  156. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +56 -64
  157. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  158. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +90 -104
  159. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  160. package/build/__tests__/behavioral/SettingRemote.test.js +64 -74
  161. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  162. package/build/__tests__/behavioral/SettingUpVscode.test.js +52 -56
  163. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  164. package/build/__tests__/behavioral/TestingAConversation.test.js +143 -157
  165. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  166. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +90 -100
  167. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  168. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +74 -78
  169. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +180 -190
  171. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  172. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +34 -38
  173. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  174. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +179 -201
  175. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  176. package/build/__tests__/behavioral/events/CreatingAListener.test.js +423 -459
  177. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  178. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +287 -315
  179. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  180. package/build/__tests__/behavioral/events/EventWriter.test.js +64 -66
  181. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  182. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +286 -316
  183. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  184. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +398 -420
  185. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  186. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +43 -49
  187. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  188. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +55 -59
  189. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  190. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +31 -35
  191. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  192. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +98 -104
  193. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  194. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +123 -135
  195. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  196. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +15 -17
  197. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  198. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +66 -72
  199. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  200. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +76 -82
  201. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  202. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +49 -55
  203. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  204. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +79 -85
  205. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  206. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +45 -49
  207. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  208. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +40 -46
  209. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  210. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +15 -19
  211. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  212. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +174 -198
  213. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  214. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +23 -27
  215. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  216. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +1 -0
  217. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +209 -208
  218. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  219. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +34 -40
  220. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  221. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  222. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  223. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
  224. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +153 -171
  225. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  226. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +40 -46
  227. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  228. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +102 -116
  229. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  230. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +227 -247
  231. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  232. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +27 -29
  233. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  234. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +38 -42
  235. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  236. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +65 -73
  237. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  238. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +100 -110
  239. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  240. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +25 -27
  241. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  242. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +425 -465
  243. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  244. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +49 -55
  245. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  246. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +435 -467
  247. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  248. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +19 -21
  249. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  250. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +9 -11
  251. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  252. package/build/__tests__/behavioral/skill/BootingASkill.test.js +61 -67
  253. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  254. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +37 -41
  255. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  256. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +183 -199
  257. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  258. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +153 -171
  259. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  260. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +37 -43
  261. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  262. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +96 -104
  263. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  264. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +168 -184
  265. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  266. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +169 -191
  267. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  268. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +105 -125
  269. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  270. package/build/__tests__/behavioral/tests/CreatingATest.test.js +208 -232
  271. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  272. package/build/__tests__/behavioral/tests/RunningTests.test.js +75 -79
  273. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  274. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +293 -355
  275. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  276. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +65 -75
  277. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  278. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +29 -33
  279. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  280. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +50 -54
  281. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  282. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +87 -95
  283. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  284. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +57 -65
  285. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  286. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +146 -156
  287. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  288. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +79 -87
  289. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  290. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +282 -302
  291. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  292. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +183 -197
  293. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  294. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +214 -238
  295. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  296. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +118 -126
  297. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  298. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +138 -152
  299. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  300. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +61 -69
  301. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  302. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +90 -104
  303. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  304. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +194 -220
  305. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  306. package/build/__tests__/behavioral/views/CreatingATheme.test.js +83 -97
  307. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  308. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +64 -76
  309. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  310. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +102 -114
  311. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  312. package/build/__tests__/behavioral/views/SettingUpViews.test.js +33 -37
  313. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  314. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +94 -106
  315. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  316. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +32 -38
  317. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  318. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +302 -336
  319. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  320. package/build/__tests__/implementation/ActionExecuter.test.js +132 -136
  321. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  322. package/build/__tests__/implementation/ActionExecuter2.test.js +270 -286
  323. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  324. package/build/__tests__/implementation/ActionExecuter3.test.js +64 -72
  325. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  326. package/build/__tests__/implementation/ActionExecuter4.test.js +41 -47
  327. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  328. package/build/__tests__/implementation/ArgParser.test.js +13 -17
  329. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  330. package/build/__tests__/implementation/BuildService.test.js +25 -29
  331. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  332. package/build/__tests__/implementation/BulkImporting.test.js +116 -136
  333. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  334. package/build/__tests__/implementation/CachingImports.test.js +89 -99
  335. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  336. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  337. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +72 -90
  338. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  339. package/build/__tests__/implementation/DataStoreStore.test.js +127 -147
  340. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  341. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +46 -52
  342. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  343. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +27 -35
  344. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  345. package/build/__tests__/implementation/EventStore.test.js +371 -399
  346. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  347. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +21 -27
  348. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  349. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +155 -173
  350. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  351. package/build/__tests__/implementation/FeatureFixture.test.js +54 -62
  352. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  353. package/build/__tests__/implementation/FeatureInstaller.test.js +69 -77
  354. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  355. package/build/__tests__/implementation/FeaturesUtil.test.js +7 -9
  356. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  357. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +6 -8
  358. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  359. package/build/__tests__/implementation/GlobalEmitter.test.js +29 -33
  360. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  361. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  362. package/build/__tests__/implementation/JestJsonParser.test.js +9 -11
  363. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  364. package/build/__tests__/implementation/LintService.test.js +32 -36
  365. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  366. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  367. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +72 -80
  368. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  369. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +217 -243
  370. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  371. package/build/__tests__/implementation/OnboardingStore.test.js +19 -23
  372. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  373. package/build/__tests__/implementation/OrganizationStore.test.js +114 -124
  374. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  375. package/build/__tests__/implementation/ParentTestFinder.test.js +38 -44
  376. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  377. package/build/__tests__/implementation/PkgService.test.js +63 -75
  378. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  379. package/build/__tests__/implementation/SchemaStore.test.js +314 -346
  380. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  381. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +9 -11
  382. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  383. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +128 -142
  384. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  385. package/build/__tests__/implementation/ServiceFactory.test.js +8 -10
  386. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  387. package/build/__tests__/implementation/SettingUpANodeModule.test.js +59 -65
  388. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  389. package/build/__tests__/implementation/SkillStore.test.js +153 -169
  390. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  391. package/build/__tests__/implementation/StoreFeature.test.js +49 -53
  392. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  393. package/build/__tests__/implementation/TestReporter.test.js +31 -39
  394. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  395. package/build/__tests__/implementation/TestRunner.test.js +215 -233
  396. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  397. package/build/__tests__/implementation/ValueTypeMapping.test.js +24 -28
  398. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  399. package/build/__tests__/implementation/Widgets.test.js +34 -42
  400. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  401. package/build/__tests__/support/EventFaker.js +12 -14
  402. package/build/__tests__/support/EventFaker.js.map +1 -1
  403. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  404. package/build/__tests__/support/scripts/first.script.js +7 -9
  405. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  406. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  407. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  408. package/build/addons/filePrompt.addon.js.map +1 -1
  409. package/build/boot.d.ts +2 -0
  410. package/build/boot.js +162 -0
  411. package/build/boot.js.map +1 -0
  412. package/build/{cli.d.ts → cli/Cli.d.ts} +9 -33
  413. package/build/cli/Cli.js +528 -0
  414. package/build/cli/Cli.js.map +1 -0
  415. package/build/components/AbstractComponent.js.map +1 -1
  416. package/build/components/FormComponent.js +156 -160
  417. package/build/components/FormComponent.js.map +1 -1
  418. package/build/components/QuizComponent.js +124 -128
  419. package/build/components/QuizComponent.js.map +1 -1
  420. package/build/constants.js.map +1 -1
  421. package/build/errors/SpruceError.js +1 -1
  422. package/build/errors/SpruceError.js.map +1 -1
  423. package/build/errors/actionCancelled.builder.js.map +1 -1
  424. package/build/errors/bootError.builder.js.map +1 -1
  425. package/build/errors/buildFailed.builder.js.map +1 -1
  426. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  427. package/build/errors/commandAborted.builder.js.map +1 -1
  428. package/build/errors/commandBlocked.builder.js.map +1 -1
  429. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  430. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  431. package/build/errors/dependencyExists.builder.js.map +1 -1
  432. package/build/errors/deployFailed.builder.js.map +1 -1
  433. package/build/errors/directoryEmpty.builder.js.map +1 -1
  434. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  435. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  436. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  437. package/build/errors/failedToImport.builder.js.map +1 -1
  438. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  439. package/build/errors/fileExists.builder.js.map +1 -1
  440. package/build/errors/generic.builder.js.map +1 -1
  441. package/build/errors/invalidCommand.builder.js.map +1 -1
  442. package/build/errors/invalidEventContract.builder.js.map +1 -1
  443. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  444. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  445. package/build/errors/lintFailed.builder.js.map +1 -1
  446. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  447. package/build/errors/missingDependencies.builder.js.map +1 -1
  448. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  449. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  450. package/build/errors/notImplemented.builder.js.map +1 -1
  451. package/build/errors/notLoggedIn.builder.js.map +1 -1
  452. package/build/errors/schemaExists.builder.js.map +1 -1
  453. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  454. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  455. package/build/errors/skillNotFound.builder.js.map +1 -1
  456. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  457. package/build/errors/skillViewExists.builder.js.map +1 -1
  458. package/build/errors/storeExists.builder.js.map +1 -1
  459. package/build/errors/testFailed.builder.js.map +1 -1
  460. package/build/errors/themeExists.builder.js.map +1 -1
  461. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  462. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  463. package/build/features/AbstractAction.js +65 -71
  464. package/build/features/AbstractAction.js.map +1 -1
  465. package/build/features/AbstractFeature.js +54 -62
  466. package/build/features/AbstractFeature.js.map +1 -1
  467. package/build/features/ActionExecuter.js +206 -210
  468. package/build/features/ActionExecuter.js.map +1 -1
  469. package/build/features/ActionFactory.js.map +1 -1
  470. package/build/features/ActionQuestionAsker.js +304 -320
  471. package/build/features/ActionQuestionAsker.js.map +1 -1
  472. package/build/features/FeatureCommandAttacher.js +45 -49
  473. package/build/features/FeatureCommandAttacher.js.map +1 -1
  474. package/build/features/FeatureInstaller.js +353 -375
  475. package/build/features/FeatureInstaller.js.map +1 -1
  476. package/build/features/FeatureInstallerFactory.js.map +1 -1
  477. package/build/features/OverrideActionDecorator.js +13 -15
  478. package/build/features/OverrideActionDecorator.js.map +1 -1
  479. package/build/features/cache/CacheFeature.js +6 -8
  480. package/build/features/cache/CacheFeature.js.map +1 -1
  481. package/build/features/cache/actions/DisableAction.js +42 -44
  482. package/build/features/cache/actions/DisableAction.js.map +1 -1
  483. package/build/features/cache/actions/EnableAction.js +37 -39
  484. package/build/features/cache/actions/EnableAction.js.map +1 -1
  485. package/build/features/cache/constants.js.map +1 -1
  486. package/build/features/conversation/ConversationFeature.js +40 -46
  487. package/build/features/conversation/ConversationFeature.js.map +1 -1
  488. package/build/features/conversation/actions/CreateAction.js +16 -18
  489. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  490. package/build/features/conversation/actions/TestAction.js +96 -102
  491. package/build/features/conversation/actions/TestAction.js.map +1 -1
  492. package/build/features/conversation/stores/ConversationStore.js +19 -21
  493. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  494. package/build/features/conversation/writers/ConversationWriter.js +22 -24
  495. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  496. package/build/features/dependencies/DependencyFeature.js +6 -8
  497. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  498. package/build/features/dependencies/actions/AddAction.js +64 -66
  499. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  500. package/build/features/dependencies/actions/ManageAction.js +63 -65
  501. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  502. package/build/features/deploy/DeployFeature.js +12 -14
  503. package/build/features/deploy/DeployFeature.js.map +1 -1
  504. package/build/features/deploy/actions/HerokuAction.js +389 -409
  505. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  506. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  507. package/build/features/error/ErrorFeature.js +84 -92
  508. package/build/features/error/ErrorFeature.js.map +1 -1
  509. package/build/features/error/ParentTestFinder.js +22 -24
  510. package/build/features/error/ParentTestFinder.js.map +1 -1
  511. package/build/features/error/actions/CreateAction.js +24 -26
  512. package/build/features/error/actions/CreateAction.js.map +1 -1
  513. package/build/features/error/actions/SyncAction.js +85 -91
  514. package/build/features/error/actions/SyncAction.js.map +1 -1
  515. package/build/features/error/writers/ErrorWriter.js +130 -140
  516. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  517. package/build/features/event/EventFeature.js +153 -167
  518. package/build/features/event/EventFeature.js.map +1 -1
  519. package/build/features/event/actions/CreateAction.js +59 -61
  520. package/build/features/event/actions/CreateAction.js.map +1 -1
  521. package/build/features/event/actions/ListenAction.js +205 -219
  522. package/build/features/event/actions/ListenAction.js.map +1 -1
  523. package/build/features/event/actions/SetRemoteAction.js +11 -13
  524. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  525. package/build/features/event/actions/SyncAction.js +25 -27
  526. package/build/features/event/actions/SyncAction.js.map +1 -1
  527. package/build/features/event/actions/SyncListenersAction.js +23 -25
  528. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  529. package/build/features/event/builders/EventContractBuilder.js +136 -144
  530. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  531. package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -1
  532. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  533. package/build/features/event/services/EventSettingsService.js.map +1 -1
  534. package/build/features/event/services/RemoteService.js.map +1 -1
  535. package/build/features/event/stores/EventStore.js +246 -258
  536. package/build/features/event/stores/EventStore.js.map +1 -1
  537. package/build/features/event/stores/ListenerStore.js +26 -28
  538. package/build/features/event/stores/ListenerStore.js.map +1 -1
  539. package/build/features/event/writers/EventWriter.js +171 -183
  540. package/build/features/event/writers/EventWriter.js.map +1 -1
  541. package/build/features/eventContract/EventContractFeature.js +6 -8
  542. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  543. package/build/features/eventContract/actions/PullAction.js +58 -62
  544. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  545. package/build/features/feature.utilities.js.map +1 -1
  546. package/build/features/log/LogFeature.js.map +1 -1
  547. package/build/features/log/actions/CreateTransportAction.js +16 -18
  548. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  549. package/build/features/log/writers/LogWriter.js +23 -25
  550. package/build/features/log/writers/LogWriter.js.map +1 -1
  551. package/build/features/node/NodeFeature.js +110 -122
  552. package/build/features/node/NodeFeature.js.map +1 -1
  553. package/build/features/node/actions/CreateAction.js +9 -11
  554. package/build/features/node/actions/CreateAction.js.map +1 -1
  555. package/build/features/node/actions/UpdateDependenciesAction.js +140 -113
  556. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  557. package/build/features/node/actions/UpgradeAction.js +70 -76
  558. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  559. package/build/features/node/writers/NodeWriter.js +29 -31
  560. package/build/features/node/writers/NodeWriter.js.map +1 -1
  561. package/build/features/onboard/OnboardFeature.js +77 -87
  562. package/build/features/onboard/OnboardFeature.js.map +1 -1
  563. package/build/features/onboard/ScriptLoader.js +31 -33
  564. package/build/features/onboard/ScriptLoader.js.map +1 -1
  565. package/build/features/onboard/ScriptPlayer.js +80 -86
  566. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  567. package/build/features/onboard/actions/OnboardAction.js +36 -38
  568. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  569. package/build/features/onboard/scripts/onboarding.first.script.js +68 -80
  570. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  571. package/build/features/onboard/scripts/onboarding.immersive.script.js +24 -28
  572. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  573. package/build/features/onboard/scripts/onboarding.returning.script.js +42 -44
  574. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  575. package/build/features/onboard/scripts/onboarding.short.script.js +38 -48
  576. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  577. package/build/features/onboard/scripts/todo/todo.create.skill.script.js +9 -11
  578. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  579. package/build/features/onboard/scripts/todo/todo.test.script.js +7 -9
  580. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  581. package/build/features/onboard/scripts/wrongCommand.script.js +40 -42
  582. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  583. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  584. package/build/features/organization/OrganizationFeature.js.map +1 -1
  585. package/build/features/organization/actions/CreateAction.js +18 -20
  586. package/build/features/organization/actions/CreateAction.js.map +1 -1
  587. package/build/features/organization/actions/InstallAction.js +81 -83
  588. package/build/features/organization/actions/InstallAction.js.map +1 -1
  589. package/build/features/organization/stores/OrganizationStore.js +101 -111
  590. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  591. package/build/features/permission/PermissionFeature.js +73 -79
  592. package/build/features/permission/PermissionFeature.js.map +1 -1
  593. package/build/features/permission/actions/CreateAction.js +23 -25
  594. package/build/features/permission/actions/CreateAction.js.map +1 -1
  595. package/build/features/permission/actions/SyncAction.js +50 -54
  596. package/build/features/permission/actions/SyncAction.js.map +1 -1
  597. package/build/features/permission/stores/PermissionStore.js +100 -104
  598. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  599. package/build/features/permission/writers/PermissionWriter.js +57 -63
  600. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  601. package/build/features/person/PersonFeature.js.map +1 -1
  602. package/build/features/person/actions/LoginAction.js +69 -71
  603. package/build/features/person/actions/LoginAction.js.map +1 -1
  604. package/build/features/person/actions/LogoutAction.js +21 -23
  605. package/build/features/person/actions/LogoutAction.js.map +1 -1
  606. package/build/features/person/actions/WhoamiAction.js +24 -26
  607. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  608. package/build/features/polish/PolishFeature.js.map +1 -1
  609. package/build/features/polish/actions/SetupAction.js +23 -25
  610. package/build/features/polish/actions/SetupAction.js.map +1 -1
  611. package/build/features/polish/writers/PolishWriter.js +16 -18
  612. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  613. package/build/features/sandbox/SandboxFeature.js +20 -22
  614. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  615. package/build/features/sandbox/actions/SetupAction.js +42 -44
  616. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  617. package/build/features/sandbox/writers/SandboxWriter.js +9 -11
  618. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  619. package/build/features/schema/SchemaFeature.js +82 -90
  620. package/build/features/schema/SchemaFeature.js.map +1 -1
  621. package/build/features/schema/ValueTypeBuilder.js +26 -28
  622. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  623. package/build/features/schema/actions/CreateAction.js +48 -50
  624. package/build/features/schema/actions/CreateAction.js.map +1 -1
  625. package/build/features/schema/actions/SyncAction.js +260 -270
  626. package/build/features/schema/actions/SyncAction.js.map +1 -1
  627. package/build/features/schema/actions/SyncFieldsAction.js +42 -44
  628. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  629. package/build/features/schema/services/SchemaService.js +24 -26
  630. package/build/features/schema/services/SchemaService.js.map +1 -1
  631. package/build/features/schema/stores/SchemaStore.js +205 -219
  632. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  633. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  634. package/build/features/schema/utilities/schemaDisk.utility.js +15 -17
  635. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  636. package/build/features/schema/utilities/schemaGenerator.utility.js +40 -42
  637. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  638. package/build/features/schema/writers/SchemaWriter.js +173 -185
  639. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  640. package/build/features/skill/SkillFeature.js +99 -112
  641. package/build/features/skill/SkillFeature.js.map +1 -1
  642. package/build/features/skill/actions/BootAction.js +92 -96
  643. package/build/features/skill/actions/BootAction.js.map +1 -1
  644. package/build/features/skill/actions/CreateAction.js +9 -11
  645. package/build/features/skill/actions/CreateAction.js.map +1 -1
  646. package/build/features/skill/actions/DashboardAction.js +8 -10
  647. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  648. package/build/features/skill/actions/LoginAction.js +122 -124
  649. package/build/features/skill/actions/LoginAction.js.map +1 -1
  650. package/build/features/skill/actions/RebuildAction.js +33 -35
  651. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  652. package/build/features/skill/actions/RegisterAction.js +38 -40
  653. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  654. package/build/features/skill/stores/SkillStore.d.ts +2 -2
  655. package/build/features/skill/stores/SkillStore.js +198 -216
  656. package/build/features/skill/stores/SkillStore.js.map +1 -1
  657. package/build/features/skill/updaters/Updater.js +38 -40
  658. package/build/features/skill/updaters/Updater.js.map +1 -1
  659. package/build/features/skill/writers/SkillWriter.js +15 -17
  660. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  661. package/build/features/store/StoreFeature.js +50 -56
  662. package/build/features/store/StoreFeature.js.map +1 -1
  663. package/build/features/store/actions/CreateAction.js +29 -31
  664. package/build/features/store/actions/CreateAction.js.map +1 -1
  665. package/build/features/store/actions/SyncAction.js +35 -37
  666. package/build/features/store/actions/SyncAction.js.map +1 -1
  667. package/build/features/store/stores/StoreStore.js +39 -41
  668. package/build/features/store/stores/StoreStore.js.map +1 -1
  669. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -1
  670. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  671. package/build/features/store/writers/StoreWriter.js +65 -73
  672. package/build/features/store/writers/StoreWriter.js.map +1 -1
  673. package/build/features/test/TestFeature.js +98 -102
  674. package/build/features/test/TestFeature.js.map +1 -1
  675. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  676. package/build/features/test/TestReporter.d.ts +19 -19
  677. package/build/features/test/TestReporter.js +74 -82
  678. package/build/features/test/TestReporter.js.map +1 -1
  679. package/build/features/test/TestRunner.js +82 -88
  680. package/build/features/test/TestRunner.js.map +1 -1
  681. package/build/features/test/actions/CreateAction.js +145 -153
  682. package/build/features/test/actions/CreateAction.js.map +1 -1
  683. package/build/features/test/actions/SetupAction.js +37 -39
  684. package/build/features/test/actions/SetupAction.js.map +1 -1
  685. package/build/features/test/actions/TestAction.js +203 -213
  686. package/build/features/test/actions/TestAction.js.map +1 -1
  687. package/build/features/test/test.types.d.ts +1 -1
  688. package/build/features/test/test.types.js.map +1 -1
  689. package/build/features/test/writers/TestWriter.js +17 -19
  690. package/build/features/test/writers/TestWriter.js.map +1 -1
  691. package/build/features/universalDevDependencies.js.map +1 -1
  692. package/build/features/universalFileDescriptions.js.map +1 -1
  693. package/build/features/universalScripts.js.map +1 -1
  694. package/build/features/validateAndNormalize.utility.js.map +1 -1
  695. package/build/features/view/ViewFeature.js +52 -58
  696. package/build/features/view/ViewFeature.js.map +1 -1
  697. package/build/features/view/actions/CreateAction.js +64 -66
  698. package/build/features/view/actions/CreateAction.js.map +1 -1
  699. package/build/features/view/actions/CreateThemeAction.js +35 -37
  700. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  701. package/build/features/view/actions/SyncAction.js +61 -63
  702. package/build/features/view/actions/SyncAction.js.map +1 -1
  703. package/build/features/view/actions/WatchAction.d.ts +1 -0
  704. package/build/features/view/actions/WatchAction.js +26 -27
  705. package/build/features/view/actions/WatchAction.js.map +1 -1
  706. package/build/features/view/stores/ViewStore.js +35 -37
  707. package/build/features/view/stores/ViewStore.js.map +1 -1
  708. package/build/features/view/writers/ViewWriter.js +47 -51
  709. package/build/features/view/writers/ViewWriter.js.map +1 -1
  710. package/build/features/vscode/VsCodeFeature.js +18 -20
  711. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  712. package/build/features/vscode/actions/SetupAction.js +173 -183
  713. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  714. package/build/features/vscode/services/VsCodeService.js +63 -69
  715. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  716. package/build/features/vscode/writers/VsCodeWriter.js +12 -14
  717. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  718. package/build/features/watch/WatchFeature.js +77 -88
  719. package/build/features/watch/WatchFeature.js.map +1 -1
  720. package/build/index.js +2 -2
  721. package/build/index.js.map +1 -1
  722. package/build/interfaces/SpyInterface.d.ts +1 -0
  723. package/build/interfaces/SpyInterface.js +139 -148
  724. package/build/interfaces/SpyInterface.js.map +1 -1
  725. package/build/interfaces/TerminalInterface.d.ts +1 -0
  726. package/build/interfaces/TerminalInterface.js +196 -207
  727. package/build/interfaces/TerminalInterface.js.map +1 -1
  728. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
  729. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  730. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  731. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  732. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  733. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  734. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  735. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
  736. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  737. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  738. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  739. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  740. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  741. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  742. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  743. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  744. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  745. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  746. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  747. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  748. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  749. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  750. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  751. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  752. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  753. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  754. package/build/services/BuildService.js +16 -18
  755. package/build/services/BuildService.js.map +1 -1
  756. package/build/services/CommandService.js +107 -109
  757. package/build/services/CommandService.js.map +1 -1
  758. package/build/services/DependencyService.js.map +1 -1
  759. package/build/services/GameService.js +49 -51
  760. package/build/services/GameService.js.map +1 -1
  761. package/build/services/ImportService.js +186 -194
  762. package/build/services/ImportService.js.map +1 -1
  763. package/build/services/LintService.js +81 -83
  764. package/build/services/LintService.js.map +1 -1
  765. package/build/services/PkgService.js +85 -89
  766. package/build/services/PkgService.js.map +1 -1
  767. package/build/services/ServiceFactory.js.map +1 -1
  768. package/build/services/TypeCheckerService.js +7 -9
  769. package/build/services/TypeCheckerService.js.map +1 -1
  770. package/build/stores/AbstractLocalStore.js.map +1 -1
  771. package/build/stores/AbstractStore.js +6 -8
  772. package/build/stores/AbstractStore.js.map +1 -1
  773. package/build/stores/StoreFactory.js.map +1 -1
  774. package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -1
  775. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  776. package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -1
  777. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  778. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -1
  779. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  780. package/build/tests/AbstractCliTest.d.ts +2 -3
  781. package/build/tests/AbstractCliTest.js +236 -266
  782. package/build/tests/AbstractCliTest.js.map +1 -1
  783. package/build/tests/AbstractErrorTest.d.ts +1 -1
  784. package/build/tests/AbstractErrorTest.js +19 -21
  785. package/build/tests/AbstractErrorTest.js.map +1 -1
  786. package/build/tests/AbstractEventTest.d.ts +3 -3
  787. package/build/tests/AbstractEventTest.js +89 -97
  788. package/build/tests/AbstractEventTest.js.map +1 -1
  789. package/build/tests/AbstractSchemaTest.d.ts +3 -3
  790. package/build/tests/AbstractSchemaTest.js +92 -98
  791. package/build/tests/AbstractSchemaTest.js.map +1 -1
  792. package/build/tests/AbstractSkillTest.d.ts +1 -1
  793. package/build/tests/AbstractSkillTest.js +40 -46
  794. package/build/tests/AbstractSkillTest.js.map +1 -1
  795. package/build/tests/AbstractTestTest.d.ts +1 -1
  796. package/build/tests/AbstractTestTest.js +14 -16
  797. package/build/tests/AbstractTestTest.js.map +1 -1
  798. package/build/tests/CommandFaker.js.map +1 -1
  799. package/build/tests/JestJsonParser.js +5 -2
  800. package/build/tests/JestJsonParser.js.map +1 -1
  801. package/build/tests/MockProgramFactory.js +11 -15
  802. package/build/tests/MockProgramFactory.js.map +1 -1
  803. package/build/tests/buildTestCache.js +223 -243
  804. package/build/tests/buildTestCache.js.map +1 -1
  805. package/build/tests/cleanTestCache.js.map +1 -1
  806. package/build/tests/cleanTestData.js +70 -72
  807. package/build/tests/cleanTestData.js.map +1 -1
  808. package/build/tests/constants.js.map +1 -1
  809. package/build/tests/fixtures/FeatureFixture.d.ts +15 -16
  810. package/build/tests/fixtures/FeatureFixture.js +142 -154
  811. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  812. package/build/tests/fixtures/MercuryFixture.js +9 -11
  813. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  814. package/build/tests/fixtures/OrganizationFixture.js +62 -68
  815. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  816. package/build/tests/fixtures/PersonFixture.js +69 -73
  817. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  818. package/build/tests/fixtures/SkillFixture.js +123 -137
  819. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  820. package/build/tests/fixtures/ViewFixture.js +13 -15
  821. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  822. package/build/tests/utilities/test.utility.js.map +1 -1
  823. package/build/tests/utilities/uiAssert.utility.js +31 -35
  824. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  825. package/build/types/cli.types.d.ts +26 -0
  826. package/build/types/cli.types.js.map +1 -1
  827. package/build/types/graphicsInterface.types.js.map +1 -1
  828. package/build/updaters/ScriptUpdater.js +78 -80
  829. package/build/updaters/ScriptUpdater.js.map +1 -1
  830. package/build/utilities/action.utility.js.map +1 -1
  831. package/build/utilities/apiClient.utility.js.map +1 -1
  832. package/build/utilities/argParser.utility.js +1 -1
  833. package/build/utilities/argParser.utility.js.map +1 -1
  834. package/build/utilities/commander.utility.js.map +1 -1
  835. package/build/utilities/duration.utility.js.map +1 -1
  836. package/build/utilities/eventContractCleaner.utility.js +1 -1
  837. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  838. package/build/utilities/form.utility.js.map +1 -1
  839. package/build/utilities/introspection.utility.js +3 -3
  840. package/build/utilities/introspection.utility.js.map +1 -1
  841. package/build/utilities/isCi.js.map +1 -1
  842. package/build/utilities/tsConfig.utility.js.map +1 -1
  843. package/build/utilities/ui.utility.js.map +1 -1
  844. package/build/widgets/Theme.js.map +1 -1
  845. package/build/widgets/WidgetFactory.js.map +1 -1
  846. package/build/widgets/keySelectChoices.js.map +1 -1
  847. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  848. package/build/widgets/terminalKit/TkBaseWidget.js +8 -10
  849. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  850. package/build/widgets/terminalKit/TkInputWidget.js +16 -20
  851. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  852. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  853. package/build/widgets/terminalKit/TkLayoutWidget.js +6 -8
  854. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  855. package/build/widgets/terminalKit/TkMenuBarWidget.js +1 -1
  856. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  857. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  858. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  859. package/build/widgets/terminalKit/TkTextWidget.js +13 -15
  860. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  861. package/build/widgets/terminalKit/TkWindowWidget.js +39 -45
  862. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  863. package/build/widgets/terminalKit/termKit.utility.js +1 -1
  864. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  865. package/build/widgets/types/button.types.js.map +1 -1
  866. package/build/widgets/types/factory.types.js.map +1 -1
  867. package/build/widgets/types/input.types.js.map +1 -1
  868. package/build/widgets/types/menuBar.types.js.map +1 -1
  869. package/build/widgets/types/popup.types.js.map +1 -1
  870. package/build/widgets/types/text.types.js.map +1 -1
  871. package/build/widgets/types/window.types.js.map +1 -1
  872. package/build/widgets/widget.utilities.js.map +1 -1
  873. package/build/writers/AbstractWriter.js +160 -166
  874. package/build/writers/AbstractWriter.js.map +1 -1
  875. package/build/writers/WriterFactory.js.map +1 -1
  876. package/junit.xml +7 -0
  877. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  878. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +1 -1
  879. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  880. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +1 -1
  881. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  882. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  883. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +1 -3
  884. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  885. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +2 -2
  886. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  887. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  888. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +62 -7
  889. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +6 -2
  890. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +62 -7
  891. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  892. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  893. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +6 -2
  894. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  895. package/node_modules/@typescript-eslint/types/package.json +4 -4
  896. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/clear-caches.d.ts +10 -0
  897. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/describeFilePath.d.ts +2 -0
  898. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +7 -1
  899. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +2 -2
  900. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/ExpiringCache.d.ts +17 -0
  901. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +1 -0
  902. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  903. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +6 -1
  904. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/resolveProjectList.d.ts +19 -0
  905. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +22 -3
  906. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts +10 -0
  907. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts.map +1 -0
  908. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +24 -0
  909. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js.map +1 -0
  910. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -1
  911. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js.map +1 -1
  912. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  913. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +38 -12
  914. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  915. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  916. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +5 -10
  917. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  918. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts +2 -0
  919. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts.map +1 -0
  920. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +32 -0
  921. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js.map +1 -0
  922. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -1
  923. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +2 -15
  924. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -1
  925. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +7 -1
  926. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  927. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +15 -1
  928. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  929. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +1 -1
  930. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js.map +1 -1
  931. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +2 -2
  932. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
  933. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -4
  934. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
  935. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +17 -0
  936. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +1 -0
  937. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +62 -0
  938. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js.map +1 -0
  939. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +1 -0
  940. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -1
  941. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +22 -48
  942. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -1
  943. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  944. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +1 -0
  945. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +70 -0
  946. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +1 -0
  947. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +6 -1
  948. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  949. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +19 -0
  950. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +1 -0
  951. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +103 -0
  952. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js.map +1 -0
  953. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
  954. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +22 -3
  955. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  956. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -1
  957. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js.map +1 -1
  958. package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -5
  959. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  960. package/package.json +592 -597
  961. package/src/.DS_Store +0 -0
  962. package/src/__tests__/behavioral/BootingTheCli.test.ts +32 -2
  963. package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
  964. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
  965. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -2
  966. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +11 -0
  967. package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
  968. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  969. package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -2
  970. package/src/__tests__/implementation/TestRunner.test.ts +1 -1
  971. package/src/boot.ts +92 -0
  972. package/src/{cli.ts → cli/Cli.ts} +48 -150
  973. package/src/features/AbstractFeature.ts +1 -1
  974. package/src/features/FeatureInstaller.ts +3 -3
  975. package/src/features/error/ParentTestFinder.ts +1 -1
  976. package/src/features/event/builders/EventContractBuilder.ts +1 -1
  977. package/src/features/event/stores/EventStore.ts +4 -2
  978. package/src/features/event/stores/ListenerStore.ts +1 -1
  979. package/src/features/onboard/ScriptLoader.ts +1 -1
  980. package/src/features/permission/PermissionFeature.ts +3 -1
  981. package/src/features/permission/stores/PermissionStore.ts +1 -1
  982. package/src/features/schema/stores/SchemaStore.ts +1 -1
  983. package/src/features/schema/utilities/schemaGenerator.utility.ts +1 -1
  984. package/src/features/skill/SkillFeature.ts +1 -1
  985. package/src/features/store/stores/StoreStore.ts +1 -1
  986. package/src/features/test/TestReporter.ts +25 -25
  987. package/src/features/test/test.types.ts +8 -1
  988. package/src/features/view/actions/SyncAction.ts +1 -1
  989. package/src/features/view/actions/WatchAction.ts +8 -3
  990. package/src/index.ts +1 -1
  991. package/src/interfaces/SpyInterface.ts +2 -0
  992. package/src/interfaces/TerminalInterface.ts +5 -1
  993. package/src/tests/AbstractCliTest.ts +2 -3
  994. package/src/tests/AbstractSchemaTest.ts +1 -1
  995. package/src/tests/AbstractSkillTest.ts +1 -1
  996. package/src/tests/JestJsonParser.ts +4 -1
  997. package/src/tests/fixtures/FeatureFixture.ts +24 -20
  998. package/src/tests/fixtures/MercuryFixture.ts +1 -1
  999. package/src/types/cli.types.ts +30 -0
  1000. package/yarn-error.log +12174 -0
  1001. package/LICENSE +0 -21
  1002. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +0 -17
  1003. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +0 -137
  1004. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +0 -1
  1005. package/build/cli.js +0 -690
  1006. package/build/cli.js.map +0 -1
  1007. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js +0 -120
  1008. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts +0 -186
  1009. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js +0 -181
  1010. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license +0 -9
  1011. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json +0 -82
  1012. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md +0 -170
  1013. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js +0 -46
  1014. package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +0 -46
@@ -1 +1 @@
1
- {"version":3,"file":"TestAction.js","names":["optionsSchema","testOptionsSchema","TestAction","options","totalTestFiles","watchMode","settings","Service","get","normalizedOptions","validateAndNormalizeOptions","pattern","shouldReportWhileRunning","inspect","shouldHoldAtStart","shouldReturnImmediately","originalInspect","hasWatchEverBeenEnabled","testReporter","TestReporter","cwd","status","isDebugging","filterPattern","undefined","handleRestart","bind","handleStartStop","handleQuit","handleRerunTestFile","handleOpenTestFile","handleFilterPatternChange","handleToggleDebug","handletoggleStandardWatch","handleToggleSmartWatch","start","watcher","getFeature","startWatching","delay","emitter","on","handleFileChange","runnerStatus","promise","startTestRunner","meta","test","emit","reporter","testResults","stopWatching","destroy","actionResponse","summaryLines","totalTests","totalPassed","totalFailed","totalSkipped","totalTodo","errors","generateErrorsFromTestResults","payload","changes","shouldRestart","filesWeCareAbout","change","values","path","name","doWeCareAboutThisFileChanging","setStatusLabel","push","fileChangeTimeout","clearTimeout","startCountdownTimer","watchDelaySec","setTimeout","smartFilter","generateFilterFromChangedFiles","length","restart","filter","file","search","map","fileToFilterPattern","join","ext","pathUtil","extname","setIsDebugging","setWatchMode","mode","kill","setFilterPattern","filename","basename","replace","dirname","split","sep","pop","holdPromiseResolve","testRunner","fileName","openTestFile","waitForStart","lastTestResults","setStatus","stopCountdownTimer","TestRunner","commandService","firstUpdate","reset","results","failed","testFiles","find","updateResults","render","appendError","message","run","debugPort","hasFailedTests","hasSkippedTests","Promise","resolve","diskUtil","resolvePath","open","forEach","tests","errorMessages","err","mapErrorResultToSpruceError","SpruceError","code","testName","errorMessage","AbstractAction"],"sources":["../../../../src/features/test/actions/TestAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport open from 'open'\nimport testOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/testOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, ActionOptions } from '../../features.types'\nimport WatchFeature from '../../watch/WatchFeature'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tSpruceTestResults,\n} from '../test.types'\nimport TestReporter, { WatchMode } from '../TestReporter'\nimport TestRunner from '../TestRunner'\n\nexport const optionsSchema = testOptionsSchema\n\nexport type OptionsSchema = typeof optionsSchema\n\ntype DidChangePayload =\n\tSchemaValues<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema>\n\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Starting tests... 🛡'\n\n\tprivate testReporter?: TestReporter | undefined\n\tprivate testRunner?: TestRunner\n\tprivate runnerStatus: 'hold' | 'quit' | 'run' | 'restart' = 'hold'\n\tprivate pattern: string | undefined\n\tprivate inspect?: number | null\n\tprivate holdPromiseResolve?: () => void\n\tprivate lastTestResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate originalInspect!: number\n\tprivate watcher?: WatchFeature\n\tprivate watchMode: WatchMode = 'off'\n\tprivate fileChangeTimeout?: any\n\tprivate hasWatchEverBeenEnabled = false\n\n\tprivate readonly watchDelaySec = 2\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\t}\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tif (!options.watchMode) {\n\t\t\tconst settings = this.Service('settings')\n\t\t\toptions.watchMode = settings.get('test.watchMode') ?? 'off'\n\t\t}\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tpattern,\n\t\t\tshouldReportWhileRunning,\n\t\t\tinspect,\n\t\t\tshouldHoldAtStart,\n\t\t\twatchMode,\n\t\t\tshouldReturnImmediately,\n\t\t} = normalizedOptions\n\n\t\tthis.originalInspect = inspect ?? 5200\n\t\tthis.inspect = inspect\n\t\tthis.pattern = pattern\n\t\tthis.hasWatchEverBeenEnabled = watchMode !== 'off'\n\t\tthis.watchMode = watchMode as WatchMode\n\n\t\tif (shouldReportWhileRunning) {\n\t\t\tthis.testReporter = new TestReporter({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\twatchMode: this.watchMode,\n\t\t\t\tstatus: shouldHoldAtStart ? 'stopped' : 'ready',\n\t\t\t\tisDebugging: !!inspect,\n\t\t\t\tfilterPattern: pattern ?? undefined,\n\t\t\t\thandleRestart: this.handleRestart.bind(this),\n\t\t\t\thandleStartStop: this.handleStartStop.bind(this),\n\t\t\t\thandleQuit: this.handleQuit.bind(this),\n\t\t\t\thandleRerunTestFile: this.handleRerunTestFile.bind(this),\n\t\t\t\thandleOpenTestFile: this.handleOpenTestFile.bind(this),\n\t\t\t\thandleFilterPatternChange: this.handleFilterPatternChange.bind(this),\n\t\t\t\thandleToggleDebug: this.handleToggleDebug.bind(this),\n\t\t\t\thandletoggleStandardWatch: this.handletoggleStandardWatch.bind(this),\n\t\t\t\thandleToggleSmartWatch: this.handleToggleSmartWatch?.bind(this),\n\t\t\t})\n\n\t\t\tawait this.testReporter.start()\n\t\t}\n\n\t\tthis.watcher = this.getFeature('watch') as WatchFeature\n\t\tvoid this.watcher.startWatching({ delay: 0 })\n\n\t\tawait this.emitter.on(\n\t\t\t'watcher.did-detect-change',\n\t\t\tthis.handleFileChange.bind(this)\n\t\t)\n\n\t\tthis.runnerStatus = shouldHoldAtStart ? 'hold' : 'run'\n\n\t\tconst promise = this.startTestRunner(normalizedOptions)\n\n\t\tif (shouldReturnImmediately) {\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\tpromise,\n\t\t\t\t\ttest: this,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tvoid this.emitter.emit('test.reporter-did-boot', {\n\t\t\treporter: this,\n\t\t})\n\n\t\tconst testResults = await promise\n\n\t\tawait this.watcher?.stopWatching()\n\t\tawait this.testReporter?.destroy()\n\n\t\tconst actionResponse: FeatureActionResponse = {\n\t\t\tmeta: { testResults },\n\t\t\tsummaryLines: [\n\t\t\t\t`Test files: ${testResults.totalTestFiles}`,\n\t\t\t\t`Tests: ${testResults.totalTests ?? '0'}`,\n\t\t\t\t`Passed: ${testResults.totalPassed ?? '0'}`,\n\t\t\t\t`Failed: ${testResults.totalFailed ?? '0'}`,\n\t\t\t\t`Skipped: ${testResults.totalSkipped ?? '0'}`,\n\t\t\t\t`Todo: ${testResults.totalTodo ?? '0'}`,\n\t\t\t],\n\t\t}\n\n\t\tif (testResults.totalFailed ?? 0 > 0) {\n\t\t\tactionResponse.errors = this.generateErrorsFromTestResults(testResults)\n\t\t}\n\n\t\treturn actionResponse\n\t}\n\n\tprivate handleFileChange(payload: DidChangePayload) {\n\t\tif (\n\t\t\tthis.watchMode === 'off' ||\n\t\t\t!(this.runnerStatus === 'run' || this.runnerStatus == 'hold')\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\tconst { changes } = payload\n\n\t\tlet shouldRestart = false\n\t\tconst filesWeCareAbout: string[] = []\n\n\t\tfor (const change of changes) {\n\t\t\tconst { path, name } = change.values\n\n\t\t\tif (this.doWeCareAboutThisFileChanging(path)) {\n\t\t\t\tthis.testReporter?.setStatusLabel(`Built file: ${name}`)\n\t\t\t\tshouldRestart = true\n\t\t\t\tfilesWeCareAbout.push(path)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRestart) {\n\t\t\tif (this.fileChangeTimeout) {\n\t\t\t\tclearTimeout(this.fileChangeTimeout)\n\t\t\t}\n\n\t\t\tthis.testReporter?.startCountdownTimer(this.watchDelaySec)\n\t\t\tthis.fileChangeTimeout = setTimeout(() => {\n\t\t\t\tif (this.watchMode === 'smart') {\n\t\t\t\t\tconst smartFilter =\n\t\t\t\t\t\tthis.generateFilterFromChangedFiles(filesWeCareAbout)\n\t\t\t\t\tif (smartFilter.length > 0) {\n\t\t\t\t\t\tthis.handleFilterPatternChange(smartFilter)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.restart()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.restart()\n\t\t\t\t}\n\t\t\t}, this.watchDelaySec * 1000) as any\n\t\t}\n\t}\n\n\tprivate generateFilterFromChangedFiles(filesWeCareAbout: string[]): string {\n\t\tconst filter = filesWeCareAbout\n\t\t\t.filter((file) => file.search('test.js') > -1)\n\t\t\t.map((file) => this.fileToFilterPattern(file))\n\t\t\t.join(' ')\n\n\t\treturn filter\n\t}\n\n\tprivate doWeCareAboutThisFileChanging(path: string) {\n\t\tconst ext = pathUtil.extname(path)\n\n\t\tif (\n\t\t\tpath.search('testDirsAndFiles') > -1 ||\n\t\t\tpath.search('.change_cache') > -1\n\t\t) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (ext === '.js') {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate handleToggleDebug() {\n\t\tif (this.inspect) {\n\t\t\tthis.inspect = undefined\n\t\t} else {\n\t\t\tthis.inspect = this.originalInspect\n\t\t}\n\n\t\tthis.testReporter?.setIsDebugging(!!this.inspect)\n\t\tthis.restart()\n\t}\n\n\tprivate handletoggleStandardWatch() {\n\t\tif (this.watchMode === 'standard') {\n\t\t\tthis.testReporter?.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('standard')\n\t\t}\n\t}\n\n\tprivate handleToggleSmartWatch() {\n\t\tif (this.watchMode === 'smart') {\n\t\t\tthis.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('smart')\n\t\t}\n\t}\n\n\tpublic setWatchMode(mode: WatchMode) {\n\t\tthis.watchMode = mode\n\t\tthis.testReporter?.setWatchMode(mode)\n\t\tthis.hasWatchEverBeenEnabled = true\n\t}\n\n\tprivate restart() {\n\t\tthis.runnerStatus = 'restart'\n\t\tthis.kill()\n\t}\n\n\tprivate handleQuit() {\n\t\tthis.runnerStatus = 'quit'\n\t\tthis.kill()\n\t}\n\n\tprivate handleRerunTestFile(file: string) {\n\t\tconst name = this.fileToFilterPattern(file)\n\n\t\tthis.testReporter?.setFilterPattern(name)\n\t\tthis.handleFilterPatternChange(name)\n\t}\n\n\tprivate fileToFilterPattern(file: string) {\n\t\tconst filename = pathUtil\n\t\t\t.basename(file, '.ts')\n\t\t\t.replace('.tsx', '')\n\t\t\t.replace('.js', '')\n\t\tconst dirname = pathUtil.dirname(file).split(pathUtil.sep).pop() ?? ''\n\n\t\tconst name = pathUtil.join(dirname, filename)\n\t\treturn name\n\t}\n\n\tprivate handleFilterPatternChange(filterPattern?: string) {\n\t\tthis.pattern = filterPattern\n\t\tthis.testReporter?.setFilterPattern(filterPattern)\n\n\t\tthis.restart()\n\t}\n\n\tprivate handleStartStop() {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tthis.runnerStatus = 'run'\n\t\t\tthis.holdPromiseResolve?.()\n\t\t\tthis.holdPromiseResolve = undefined\n\t\t} else if (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.kill()\n\t\t}\n\t}\n\n\tprivate handleRestart() {\n\t\tthis.restart()\n\t}\n\n\tpublic kill() {\n\t\tthis.testRunner?.kill()\n\t\tthis.holdPromiseResolve?.()\n\t\tthis.holdPromiseResolve = undefined\n\t}\n\n\tprivate async handleOpenTestFile(fileName: string) {\n\t\tawait this.openTestFile(fileName)\n\t}\n\n\tprivate async startTestRunner(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<SpruceTestResults> {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tawait this.waitForStart()\n\t\t}\n\n\t\tif (this.runnerStatus === 'quit') {\n\t\t\treturn this.lastTestResults\n\t\t}\n\n\t\tthis.testReporter?.setStatus('ready')\n\t\tthis.testReporter?.stopCountdownTimer()\n\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\n\t\tlet firstUpdate = true\n\n\t\tif (this.testReporter) {\n\t\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\t\tif (firstUpdate) {\n\t\t\t\t\tfirstUpdate = false\n\t\t\t\t\tthis.testReporter?.setStatus('running')\n\t\t\t\t\tthis.testReporter?.reset()\n\t\t\t\t}\n\n\t\t\t\tif (this.watchMode === 'smart' && payload.results.totalFailed > 0) {\n\t\t\t\t\tconst failed = payload.results.testFiles.find(\n\t\t\t\t\t\t(file: any) => file.status === 'failed'\n\t\t\t\t\t)\n\n\t\t\t\t\tif (failed) {\n\t\t\t\t\t\tconst pattern = this.fileToFilterPattern(failed.path)\n\t\t\t\t\t\tif (this.pattern !== pattern) {\n\t\t\t\t\t\t\tthis.handleFilterPatternChange(pattern)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.testReporter?.updateResults(payload.results)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\n\t\t\tawait this.testRunner.on('did-error', (payload) => {\n\t\t\t\tthis.testReporter?.appendError(payload.message)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\t\t}\n\n\t\tthis.runnerStatus = 'run'\n\n\t\tlet testResults: SpruceTestResults = await this.testRunner.run({\n\t\t\tpattern: this.pattern,\n\t\t\tdebugPort: this.inspect,\n\t\t})\n\n\t\tif (\n\t\t\t//@ts-ignore\n\t\t\tthis.runnerStatus !== 'restart' &&\n\t\t\t(!options.shouldReportWhileRunning ||\n\t\t\t\t!this.hasWatchEverBeenEnabled ||\n\t\t\t\t(this.runnerStatus as any) === 'quit')\n\t\t) {\n\t\t\treturn testResults\n\t\t}\n\n\t\tif (\n\t\t\tthis.runnerStatus === 'run' &&\n\t\t\tthis.watchMode === 'smart' &&\n\t\t\tthis.testRunner?.hasFailedTests() === false &&\n\t\t\t!this.testRunner?.hasSkippedTests() &&\n\t\t\t(this.pattern ?? []).length > 0\n\t\t) {\n\t\t\tthis.testReporter?.setStatusLabel('Restarting...')\n\t\t\tthis.runnerStatus = 'restart'\n\t\t\tthis.testReporter?.startCountdownTimer(3)\n\n\t\t\treturn await new Promise((resolve) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.pattern = ''\n\t\t\t\t\tthis.testReporter?.setFilterPattern('')\n\t\t\t\t\tresolve(this.startTestRunner(options))\n\t\t\t\t}, 3000)\n\t\t\t})\n\t\t}\n\n\t\tif (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t}\n\n\t\tthis.testReporter?.setStatus('stopped')\n\n\t\tthis.lastTestResults = testResults\n\n\t\treturn this.startTestRunner(options)\n\t}\n\n\tpublic async waitForStart() {\n\t\tawait new Promise((resolve: any) => {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.holdPromiseResolve = resolve\n\t\t})\n\t}\n\n\tprivate async openTestFile(fileName: string): Promise<void> {\n\t\tconst path = diskUtil.resolvePath(this.cwd, 'src', '__tests__', fileName)\n\t\tawait open(path)\n\t}\n\n\tprivate generateErrorsFromTestResults(testResults: SpruceTestResults) {\n\t\tconst errors: SpruceError[] = []\n\t\ttestResults.testFiles?.forEach((file) => {\n\t\t\tfile.tests?.forEach((test) => {\n\t\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\t\tconst err = this.mapErrorResultToSpruceError(test, file, message)\n\t\t\t\t\terrors.push(err)\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t\tif (errors.length > 0) {\n\t\t\treturn errors\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate mapErrorResultToSpruceError(\n\t\ttest: SpruceTestFileTest,\n\t\tfile: SpruceTestFile,\n\t\tmessage: string\n\t) {\n\t\treturn new SpruceError({\n\t\t\tcode: 'TEST_FAILED',\n\t\t\ttestName: test.name,\n\t\t\tfileName: file.path,\n\t\t\terrorMessage: message,\n\t\t})\n\t}\n\n\tpublic getWatchMode() {\n\t\treturn this.watchMode\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestAction.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_open","_testOptions","_SpruceError","_AbstractAction2","_TestReporter","_TestRunner","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","optionsSchema","testOptionsSchema","exports","TestAction","_AbstractAction","_inherits2","_super","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","totalTestFiles","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_this$watcher","_this$testReporter","_testResults$totalTes","_testResults$totalPas","_testResults$totalFai","_testResults$totalSki","_testResults$totalTod","_testResults$totalFai2","_settings$get","settings","normalizedOptions","pattern","shouldReportWhileRunning","inspect","shouldHoldAtStart","watchMode","shouldReturnImmediately","_this$handleToggleSma","promise","testResults","actionResponse","wrap","_callee$","_context","prev","Service","get","validateAndNormalizeOptions","originalInspect","hasWatchEverBeenEnabled","testReporter","TestReporter","cwd","status","isDebugging","filterPattern","undefined","handleRestart","bind","handleStartStop","handleQuit","handleRerunTestFile","handleOpenTestFile","handleFilterPatternChange","handleToggleDebug","handletoggleStandardWatch","handleToggleSmartWatch","start","watcher","getFeature","startWatching","delay","emitter","on","handleFileChange","runnerStatus","startTestRunner","abrupt","meta","emit","reporter","sent","stopWatching","destroy","summaryLines","concat","totalTests","totalPassed","totalFailed","totalSkipped","totalTodo","errors","generateErrorsFromTestResults","stop","execute","_x","payload","_this2","changes","shouldRestart","filesWeCareAbout","_iterator","_step","change","_change$values","values","path","doWeCareAboutThisFileChanging","_this$testReporter3","setStatusLabel","push","_this$testReporter2","fileChangeTimeout","clearTimeout","startCountdownTimer","watchDelaySec","setTimeout","smartFilter","generateFilterFromChangedFiles","restart","_this3","filter","file","search","map","fileToFilterPattern","join","ext","pathUtil","extname","_this$testReporter4","setIsDebugging","_this$testReporter5","setWatchMode","mode","_this$testReporter6","kill","_this$testReporter7","setFilterPattern","_pathUtil$dirname$spl","filename","basename","replace","dirname","split","sep","pop","_this$testReporter8","_this$holdPromiseReso","holdPromiseResolve","_this$testRunner","_this$holdPromiseReso2","testRunner","_handleOpenTestFile","_callee2","fileName","_callee2$","_context2","openTestFile","_x2","_startTestRunner","_callee3","_this$testReporter9","_this$testReporter10","_this4","_this$testRunner2","_this$testRunner3","_this$pattern","_this$testReporter13","firstUpdate","_this$testReporter11","_this$testReporter12","_callee3$","_context3","waitForStart","lastTestResults","setStatus","stopCountdownTimer","TestRunner","commandService","_this4$testReporter3","_this4$testReporter4","_this4$testReporter","_this4$testReporter2","reset","results","failed","testFiles","find","updateResults","render","_this4$testReporter5","_this4$testReporter6","appendError","message","run","debugPort","hasFailedTests","hasSkippedTests","Promise","resolve","_this4$testReporter7","_x3","_waitForStart","_callee4","_this5","_callee4$","_context4","_openTestFile","_callee5","_callee5$","_context5","diskUtil","resolvePath","open","_x4","_testResults$testFile","_this6","forEach","_file$tests","tests","_test$errorMessages","errorMessages","mapErrorResultToSpruceError","SpruceError","code","testName","errorMessage","getWatchMode","AbstractAction"],"sources":["../../../../src/features/test/actions/TestAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport open from 'open'\nimport testOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/testOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse, ActionOptions } from '../../features.types'\nimport WatchFeature from '../../watch/WatchFeature'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tSpruceTestResults,\n} from '../test.types'\nimport TestReporter, { WatchMode } from '../TestReporter'\nimport TestRunner from '../TestRunner'\n\nexport const optionsSchema = testOptionsSchema\n\nexport type OptionsSchema = typeof optionsSchema\n\ntype DidChangePayload =\n\tSchemaValues<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema>\n\nexport default class TestAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Starting tests... 🛡'\n\n\tprivate testReporter?: TestReporter | undefined\n\tprivate testRunner?: TestRunner\n\tprivate runnerStatus: 'hold' | 'quit' | 'run' | 'restart' = 'hold'\n\tprivate pattern: string | undefined\n\tprivate inspect?: number | null\n\tprivate holdPromiseResolve?: () => void\n\tprivate lastTestResults: SpruceTestResults = { totalTestFiles: 0 }\n\tprivate originalInspect!: number\n\tprivate watcher?: WatchFeature\n\tprivate watchMode: WatchMode = 'off'\n\tprivate fileChangeTimeout?: any\n\tprivate hasWatchEverBeenEnabled = false\n\n\tprivate readonly watchDelaySec = 2\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\t}\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tif (!options.watchMode) {\n\t\t\tconst settings = this.Service('settings')\n\t\t\toptions.watchMode = settings.get('test.watchMode') ?? 'off'\n\t\t}\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tpattern,\n\t\t\tshouldReportWhileRunning,\n\t\t\tinspect,\n\t\t\tshouldHoldAtStart,\n\t\t\twatchMode,\n\t\t\tshouldReturnImmediately,\n\t\t} = normalizedOptions\n\n\t\tthis.originalInspect = inspect ?? 5200\n\t\tthis.inspect = inspect\n\t\tthis.pattern = pattern\n\t\tthis.hasWatchEverBeenEnabled = watchMode !== 'off'\n\t\tthis.watchMode = watchMode as WatchMode\n\n\t\tif (shouldReportWhileRunning) {\n\t\t\tthis.testReporter = new TestReporter({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\twatchMode: this.watchMode,\n\t\t\t\tstatus: shouldHoldAtStart ? 'stopped' : 'ready',\n\t\t\t\tisDebugging: !!inspect,\n\t\t\t\tfilterPattern: pattern ?? undefined,\n\t\t\t\thandleRestart: this.handleRestart.bind(this),\n\t\t\t\thandleStartStop: this.handleStartStop.bind(this),\n\t\t\t\thandleQuit: this.handleQuit.bind(this),\n\t\t\t\thandleRerunTestFile: this.handleRerunTestFile.bind(this),\n\t\t\t\thandleOpenTestFile: this.handleOpenTestFile.bind(this),\n\t\t\t\thandleFilterPatternChange: this.handleFilterPatternChange.bind(this),\n\t\t\t\thandleToggleDebug: this.handleToggleDebug.bind(this),\n\t\t\t\thandletoggleStandardWatch: this.handletoggleStandardWatch.bind(this),\n\t\t\t\thandleToggleSmartWatch: this.handleToggleSmartWatch?.bind(this),\n\t\t\t})\n\n\t\t\tawait this.testReporter.start()\n\t\t}\n\n\t\tthis.watcher = this.getFeature('watch') as WatchFeature\n\t\tvoid this.watcher.startWatching({ delay: 0 })\n\n\t\tawait this.emitter.on(\n\t\t\t'watcher.did-detect-change',\n\t\t\tthis.handleFileChange.bind(this)\n\t\t)\n\n\t\tthis.runnerStatus = shouldHoldAtStart ? 'hold' : 'run'\n\n\t\tconst promise = this.startTestRunner(normalizedOptions)\n\n\t\tif (shouldReturnImmediately) {\n\t\t\treturn {\n\t\t\t\tmeta: {\n\t\t\t\t\tpromise,\n\t\t\t\t\ttest: this,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tvoid this.emitter.emit('test.reporter-did-boot', {\n\t\t\treporter: this,\n\t\t})\n\n\t\tconst testResults = await promise\n\n\t\tawait this.watcher?.stopWatching()\n\t\tawait this.testReporter?.destroy()\n\n\t\tconst actionResponse: FeatureActionResponse = {\n\t\t\tmeta: { testResults },\n\t\t\tsummaryLines: [\n\t\t\t\t`Test files: ${testResults.totalTestFiles}`,\n\t\t\t\t`Tests: ${testResults.totalTests ?? '0'}`,\n\t\t\t\t`Passed: ${testResults.totalPassed ?? '0'}`,\n\t\t\t\t`Failed: ${testResults.totalFailed ?? '0'}`,\n\t\t\t\t`Skipped: ${testResults.totalSkipped ?? '0'}`,\n\t\t\t\t`Todo: ${testResults.totalTodo ?? '0'}`,\n\t\t\t],\n\t\t}\n\n\t\tif (testResults.totalFailed ?? 0 > 0) {\n\t\t\tactionResponse.errors = this.generateErrorsFromTestResults(testResults)\n\t\t}\n\n\t\treturn actionResponse\n\t}\n\n\tprivate handleFileChange(payload: DidChangePayload) {\n\t\tif (\n\t\t\tthis.watchMode === 'off' ||\n\t\t\t!(this.runnerStatus === 'run' || this.runnerStatus == 'hold')\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\tconst { changes } = payload\n\n\t\tlet shouldRestart = false\n\t\tconst filesWeCareAbout: string[] = []\n\n\t\tfor (const change of changes) {\n\t\t\tconst { path, name } = change.values\n\n\t\t\tif (this.doWeCareAboutThisFileChanging(path)) {\n\t\t\t\tthis.testReporter?.setStatusLabel(`Built file: ${name}`)\n\t\t\t\tshouldRestart = true\n\t\t\t\tfilesWeCareAbout.push(path)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (shouldRestart) {\n\t\t\tif (this.fileChangeTimeout) {\n\t\t\t\tclearTimeout(this.fileChangeTimeout)\n\t\t\t}\n\n\t\t\tthis.testReporter?.startCountdownTimer(this.watchDelaySec)\n\t\t\tthis.fileChangeTimeout = setTimeout(() => {\n\t\t\t\tif (this.watchMode === 'smart') {\n\t\t\t\t\tconst smartFilter =\n\t\t\t\t\t\tthis.generateFilterFromChangedFiles(filesWeCareAbout)\n\t\t\t\t\tif (smartFilter.length > 0) {\n\t\t\t\t\t\tthis.handleFilterPatternChange(smartFilter)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.restart()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.restart()\n\t\t\t\t}\n\t\t\t}, this.watchDelaySec * 1000) as any\n\t\t}\n\t}\n\n\tprivate generateFilterFromChangedFiles(filesWeCareAbout: string[]): string {\n\t\tconst filter = filesWeCareAbout\n\t\t\t.filter((file) => file.search('test.js') > -1)\n\t\t\t.map((file) => this.fileToFilterPattern(file))\n\t\t\t.join(' ')\n\n\t\treturn filter\n\t}\n\n\tprivate doWeCareAboutThisFileChanging(path: string) {\n\t\tconst ext = pathUtil.extname(path)\n\n\t\tif (\n\t\t\tpath.search('testDirsAndFiles') > -1 ||\n\t\t\tpath.search('.change_cache') > -1\n\t\t) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (ext === '.js') {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprivate handleToggleDebug() {\n\t\tif (this.inspect) {\n\t\t\tthis.inspect = undefined\n\t\t} else {\n\t\t\tthis.inspect = this.originalInspect\n\t\t}\n\n\t\tthis.testReporter?.setIsDebugging(!!this.inspect)\n\t\tthis.restart()\n\t}\n\n\tprivate handletoggleStandardWatch() {\n\t\tif (this.watchMode === 'standard') {\n\t\t\tthis.testReporter?.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('standard')\n\t\t}\n\t}\n\n\tprivate handleToggleSmartWatch() {\n\t\tif (this.watchMode === 'smart') {\n\t\t\tthis.setWatchMode('off')\n\t\t} else {\n\t\t\tthis.setWatchMode('smart')\n\t\t}\n\t}\n\n\tpublic setWatchMode(mode: WatchMode) {\n\t\tthis.watchMode = mode\n\t\tthis.testReporter?.setWatchMode(mode)\n\t\tthis.hasWatchEverBeenEnabled = true\n\t}\n\n\tprivate restart() {\n\t\tthis.runnerStatus = 'restart'\n\t\tthis.kill()\n\t}\n\n\tprivate handleQuit() {\n\t\tthis.runnerStatus = 'quit'\n\t\tthis.kill()\n\t}\n\n\tprivate handleRerunTestFile(file: string) {\n\t\tconst name = this.fileToFilterPattern(file)\n\n\t\tthis.testReporter?.setFilterPattern(name)\n\t\tthis.handleFilterPatternChange(name)\n\t}\n\n\tprivate fileToFilterPattern(file: string) {\n\t\tconst filename = pathUtil\n\t\t\t.basename(file, '.ts')\n\t\t\t.replace('.tsx', '')\n\t\t\t.replace('.js', '')\n\t\tconst dirname = pathUtil.dirname(file).split(pathUtil.sep).pop() ?? ''\n\n\t\tconst name = pathUtil.join(dirname, filename)\n\t\treturn name\n\t}\n\n\tprivate handleFilterPatternChange(filterPattern?: string) {\n\t\tthis.pattern = filterPattern\n\t\tthis.testReporter?.setFilterPattern(filterPattern)\n\n\t\tthis.restart()\n\t}\n\n\tprivate handleStartStop() {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tthis.runnerStatus = 'run'\n\t\t\tthis.holdPromiseResolve?.()\n\t\t\tthis.holdPromiseResolve = undefined\n\t\t} else if (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.kill()\n\t\t}\n\t}\n\n\tprivate handleRestart() {\n\t\tthis.restart()\n\t}\n\n\tpublic kill() {\n\t\tthis.testRunner?.kill()\n\t\tthis.holdPromiseResolve?.()\n\t\tthis.holdPromiseResolve = undefined\n\t}\n\n\tprivate async handleOpenTestFile(fileName: string) {\n\t\tawait this.openTestFile(fileName)\n\t}\n\n\tprivate async startTestRunner(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<SpruceTestResults> {\n\t\tif (this.runnerStatus === 'hold') {\n\t\t\tawait this.waitForStart()\n\t\t}\n\n\t\tif (this.runnerStatus === 'quit') {\n\t\t\treturn this.lastTestResults\n\t\t}\n\n\t\tthis.testReporter?.setStatus('ready')\n\t\tthis.testReporter?.stopCountdownTimer()\n\n\t\tthis.testRunner = new TestRunner({\n\t\t\tcwd: this.cwd,\n\t\t\tcommandService: this.Service('command'),\n\t\t})\n\n\t\tlet firstUpdate = true\n\n\t\tif (this.testReporter) {\n\t\t\tawait this.testRunner.on('did-update', (payload) => {\n\t\t\t\tif (firstUpdate) {\n\t\t\t\t\tfirstUpdate = false\n\t\t\t\t\tthis.testReporter?.setStatus('running')\n\t\t\t\t\tthis.testReporter?.reset()\n\t\t\t\t}\n\n\t\t\t\tif (this.watchMode === 'smart' && payload.results.totalFailed > 0) {\n\t\t\t\t\tconst failed = payload.results.testFiles.find(\n\t\t\t\t\t\t(file: any) => file.status === 'failed'\n\t\t\t\t\t)\n\n\t\t\t\t\tif (failed) {\n\t\t\t\t\t\tconst pattern = this.fileToFilterPattern(failed.path)\n\t\t\t\t\t\tif (this.pattern !== pattern) {\n\t\t\t\t\t\t\tthis.handleFilterPatternChange(pattern)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.testReporter?.updateResults(payload.results)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\n\t\t\tawait this.testRunner.on('did-error', (payload) => {\n\t\t\t\tthis.testReporter?.appendError(payload.message)\n\t\t\t\tthis.testReporter?.render()\n\t\t\t})\n\t\t}\n\n\t\tthis.runnerStatus = 'run'\n\n\t\tlet testResults: SpruceTestResults = await this.testRunner.run({\n\t\t\tpattern: this.pattern,\n\t\t\tdebugPort: this.inspect,\n\t\t})\n\n\t\tif (\n\t\t\t//@ts-ignore\n\t\t\tthis.runnerStatus !== 'restart' &&\n\t\t\t(!options.shouldReportWhileRunning ||\n\t\t\t\t!this.hasWatchEverBeenEnabled ||\n\t\t\t\t(this.runnerStatus as any) === 'quit')\n\t\t) {\n\t\t\treturn testResults\n\t\t}\n\n\t\tif (\n\t\t\tthis.runnerStatus === 'run' &&\n\t\t\tthis.watchMode === 'smart' &&\n\t\t\tthis.testRunner?.hasFailedTests() === false &&\n\t\t\t!this.testRunner?.hasSkippedTests() &&\n\t\t\t(this.pattern ?? []).length > 0\n\t\t) {\n\t\t\tthis.testReporter?.setStatusLabel('Restarting...')\n\t\t\tthis.runnerStatus = 'restart'\n\t\t\tthis.testReporter?.startCountdownTimer(3)\n\n\t\t\treturn await new Promise((resolve) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.pattern = ''\n\t\t\t\t\tthis.testReporter?.setFilterPattern('')\n\t\t\t\t\tresolve(this.startTestRunner(options))\n\t\t\t\t}, 3000)\n\t\t\t})\n\t\t}\n\n\t\tif (this.runnerStatus === 'run') {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t}\n\n\t\tthis.testReporter?.setStatus('stopped')\n\n\t\tthis.lastTestResults = testResults\n\n\t\treturn this.startTestRunner(options)\n\t}\n\n\tpublic async waitForStart() {\n\t\tawait new Promise((resolve: any) => {\n\t\t\tthis.runnerStatus = 'hold'\n\t\t\tthis.holdPromiseResolve = resolve\n\t\t})\n\t}\n\n\tprivate async openTestFile(fileName: string): Promise<void> {\n\t\tconst path = diskUtil.resolvePath(this.cwd, 'src', '__tests__', fileName)\n\t\tawait open(path)\n\t}\n\n\tprivate generateErrorsFromTestResults(testResults: SpruceTestResults) {\n\t\tconst errors: SpruceError[] = []\n\t\ttestResults.testFiles?.forEach((file) => {\n\t\t\tfile.tests?.forEach((test) => {\n\t\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\t\tconst err = this.mapErrorResultToSpruceError(test, file, message)\n\t\t\t\t\terrors.push(err)\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t\tif (errors.length > 0) {\n\t\t\treturn errors\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate mapErrorResultToSpruceError(\n\t\ttest: SpruceTestFileTest,\n\t\tfile: SpruceTestFile,\n\t\tmessage: string\n\t) {\n\t\treturn new SpruceError({\n\t\t\tcode: 'TEST_FAILED',\n\t\t\ttestName: test.name,\n\t\t\tfileName: file.path,\n\t\t\terrorMessage: message,\n\t\t})\n\t}\n\n\tpublic getWatchMode() {\n\t\treturn this.watchMode\n\t}\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export declare type TestResultStatus = 'running' | 'passed' | 'failed';
2
2
  export interface SpruceTestFileTest {
3
3
  name: string;
4
- status: 'passed' | 'failed' | 'skipped' | 'pending' | 'todo' | 'disabled';
4
+ status: 'passed' | 'failed' | 'skipped' | 'pending' | 'todo' | 'disabled' | 'focused';
5
5
  errorMessages?: string[];
6
6
  duration: number;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.types.js","names":[],"sources":["../../../src/features/test/test.types.ts"],"sourcesContent":["export type TestResultStatus = 'running' | 'passed' | 'failed'\nexport interface SpruceTestFileTest {\n\tname: string\n\tstatus: 'passed' | 'failed' | 'skipped' | 'pending' | 'todo' | 'disabled'\n\terrorMessages?: string[]\n\tduration: number\n}\n\nexport interface SpruceTestFile {\n\tpath: string\n\tstatus: TestResultStatus\n\ttests?: SpruceTestFileTest[]\n\terrorMessage?: string\n}\n\nexport interface SpruceTestResults {\n\ttotalTests?: number\n\ttotalPassed?: number\n\ttotalFailed?: number\n\ttotalSkipped?: number\n\ttotalTodo?: number\n\ttotalTestFiles: number\n\ttotalTestFilesComplete?: number\n\ttestFiles?: SpruceTestFile[]\n}\n\nexport type TestRunnerStatus = 'running' | 'stopped' | 'ready'\n"],"mappings":""}
1
+ {"version":3,"file":"test.types.js","names":[],"sources":["../../../src/features/test/test.types.ts"],"sourcesContent":["export type TestResultStatus = 'running' | 'passed' | 'failed'\nexport interface SpruceTestFileTest {\n\tname: string\n\tstatus:\n\t\t| 'passed'\n\t\t| 'failed'\n\t\t| 'skipped'\n\t\t| 'pending'\n\t\t| 'todo'\n\t\t| 'disabled'\n\t\t| 'focused'\n\terrorMessages?: string[]\n\tduration: number\n}\n\nexport interface SpruceTestFile {\n\tpath: string\n\tstatus: TestResultStatus\n\ttests?: SpruceTestFileTest[]\n\terrorMessage?: string\n}\n\nexport interface SpruceTestResults {\n\ttotalTests?: number\n\ttotalPassed?: number\n\ttotalFailed?: number\n\ttotalSkipped?: number\n\ttotalTodo?: number\n\ttotalTestFiles: number\n\ttotalTestFilesComplete?: number\n\ttestFiles?: SpruceTestFile[]\n}\n\nexport type TestRunnerStatus = 'running' | 'stopped' | 'ready'\n"],"mappings":""}
@@ -29,25 +29,23 @@ var TestGenerator = /*#__PURE__*/function (_AbstractWriter) {
29
29
  var _generateTest = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(destinationDir, options) {
30
30
  var namePascal, filename, resolvedDestination, testContent, results;
31
31
  return _regenerator["default"].wrap(function _callee$(_context) {
32
- while (1) {
33
- switch (_context.prev = _context.next) {
34
- case 0:
35
- namePascal = options.namePascal;
36
- filename = "".concat(namePascal, ".test.ts");
37
- resolvedDestination = _path["default"].join(destinationDir, filename);
38
- testContent = this.templates.test(options);
39
- _context.next = 6;
40
- return this.writeFileIfChangedMixinResults(resolvedDestination, testContent, "Your ".concat(options.type, " test."));
41
- case 6:
42
- results = _context.sent;
43
- _context.next = 9;
44
- return this.lint(resolvedDestination);
45
- case 9:
46
- return _context.abrupt("return", results);
47
- case 10:
48
- case "end":
49
- return _context.stop();
50
- }
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ namePascal = options.namePascal;
35
+ filename = "".concat(namePascal, ".test.ts");
36
+ resolvedDestination = _path["default"].join(destinationDir, filename);
37
+ testContent = this.templates.test(options);
38
+ _context.next = 6;
39
+ return this.writeFileIfChangedMixinResults(resolvedDestination, testContent, "Your ".concat(options.type, " test."));
40
+ case 6:
41
+ results = _context.sent;
42
+ _context.next = 9;
43
+ return this.lint(resolvedDestination);
44
+ case 9:
45
+ return _context.abrupt("return", results);
46
+ case 10:
47
+ case "end":
48
+ return _context.stop();
51
49
  }
52
50
  }, _callee, this);
53
51
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"TestWriter.js","names":["TestGenerator","destinationDir","options","namePascal","filename","resolvedDestination","pathUtil","join","testContent","templates","test","writeFileIfChangedMixinResults","type","results","lint","AbstractWriter"],"sources":["../../../../src/features/test/writers/TestWriter.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { TestOptions } from '@sprucelabs/spruce-templates'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class TestGenerator extends AbstractWriter {\n\tpublic async generateTest(\n\t\tdestinationDir: string,\n\t\toptions: TestOptions & { type: string }\n\t) {\n\t\tconst { namePascal } = options\n\t\tconst filename = `${namePascal}.test.ts`\n\n\t\tconst resolvedDestination = pathUtil.join(destinationDir, filename)\n\t\tconst testContent = this.templates.test(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\ttestContent,\n\t\t\t`Your ${options.type} test.`\n\t\t)\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAEA;AAA4D;AAAA;AAAA,IAEvCA,aAAa;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,kGACjC,iBACCC,cAAsB,EACtBC,OAAuC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAE/BC,UAAU,GAAKD,OAAO,CAAtBC,UAAU;gBACZC,QAAQ,aAAMD,UAAU;gBAExBE,mBAAmB,GAAGC,gBAAQ,CAACC,IAAI,CAACN,cAAc,EAAEG,QAAQ,CAAC;gBAC7DI,WAAW,GAAG,IAAI,CAACC,SAAS,CAACC,IAAI,CAACR,OAAO,CAAC;gBAAA;gBAAA,OAE1B,IAAI,CAACS,8BAA8B,CACxDN,mBAAmB,EACnBG,WAAW,iBACHN,OAAO,CAACU,IAAI,YACpB;cAAA;gBAJKC,OAAO;gBAAA;gBAAA,OAMP,IAAI,CAACC,IAAI,CAACT,mBAAmB,CAAC;cAAA;gBAAA,iCAE7BQ,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EApByCE,2BAAc;AAAA"}
1
+ {"version":3,"file":"TestWriter.js","names":["_path","_interopRequireDefault","require","_AbstractWriter2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","TestGenerator","_AbstractWriter","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_generateTest","_asyncToGenerator2","_regenerator","mark","_callee","destinationDir","options","namePascal","filename","resolvedDestination","testContent","results","wrap","_callee$","_context","prev","next","concat","pathUtil","join","templates","test","writeFileIfChangedMixinResults","type","sent","lint","abrupt","stop","generateTest","_x","_x2","AbstractWriter","exports"],"sources":["../../../../src/features/test/writers/TestWriter.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { TestOptions } from '@sprucelabs/spruce-templates'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class TestGenerator extends AbstractWriter {\n\tpublic async generateTest(\n\t\tdestinationDir: string,\n\t\toptions: TestOptions & { type: string }\n\t) {\n\t\tconst { namePascal } = options\n\t\tconst filename = `${namePascal}.test.ts`\n\n\t\tconst resolvedDestination = pathUtil.join(destinationDir, filename)\n\t\tconst testContent = this.templates.test(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\ttestContent,\n\t\t\t`Your ${options.type} test.`\n\t\t)\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA4D,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAEvCC,aAAa,0BAAAC,eAAA;EAAA,IAAAC,UAAA,aAAAF,aAAA,EAAAC,eAAA;EAAA,IAAAE,MAAA,GAAAzB,YAAA,CAAAsB,aAAA;EAAA,SAAAA,cAAA;IAAA,IAAAI,gBAAA,mBAAAJ,aAAA;IAAA,OAAAG,MAAA,CAAAZ,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAe,aAAA,aAAAL,aAAA;IAAAM,GAAA;IAAAC,KAAA;MAAA,IAAAC,aAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CACjC,SAAAC,QACCC,cAAsB,EACtBC,OAAuC;QAAA,IAAAC,UAAA,EAAAC,QAAA,EAAAC,mBAAA,EAAAC,WAAA,EAAAC,OAAA;QAAA,OAAAT,YAAA,YAAAU,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAE/BT,UAAU,GAAKD,OAAO,CAAtBC,UAAU;cACZC,QAAQ,MAAAS,MAAA,CAAMV,UAAU;cAExBE,mBAAmB,GAAGS,gBAAQ,CAACC,IAAI,CAACd,cAAc,EAAEG,QAAQ,CAAC;cAC7DE,WAAW,GAAG,IAAI,CAACU,SAAS,CAACC,IAAI,CAACf,OAAO,CAAC;cAAAQ,QAAA,CAAAE,IAAA;cAAA,OAE1B,IAAI,CAACM,8BAA8B,CACxDb,mBAAmB,EACnBC,WAAW,UAAAO,MAAA,CACHX,OAAO,CAACiB,IAAI,YACpB;YAAA;cAJKZ,OAAO,GAAAG,QAAA,CAAAU,IAAA;cAAAV,QAAA,CAAAE,IAAA;cAAA,OAMP,IAAI,CAACS,IAAI,CAAChB,mBAAmB,CAAC;YAAA;cAAA,OAAAK,QAAA,CAAAY,MAAA,WAE7Bf,OAAO;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAa,IAAA;UAAA;QAAA,GAAAvB,OAAA;MAAA,CACd;MAAA,SAAAwB,aAAAC,EAAA,EAAAC,GAAA;QAAA,OAAA9B,aAAA,CAAAjB,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA8C,YAAA;IAAA;EAAA;EAAA,OAAApC,aAAA;AAAA,EApByCuC,2BAAc;AAAAC,OAAA,cAAAxC,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"universalDevDependencies.js","names":["universalDevDependencies","name","isDev"],"sources":["../../src/features/universalDevDependencies.ts"],"sourcesContent":["const universalDevDependencies = [\n\t{ name: '@sprucelabs/resolve-path-aliases', isDev: true },\n\t{ name: '@types/node', isDev: true },\n\t{ name: 'typescript', isDev: true },\n\t{ name: 'eslint', isDev: true },\n\t{ name: 'eslint-config-spruce', isDev: true },\n\t{ name: 'prettier', isDev: true },\n\t{ name: 'chokidar-cli', isDev: true },\n\t{ name: 'concurrently', isDev: true },\n\t{ name: 'tsc-watch', isDev: true },\n\t{ name: 'ts-node', isDev: true },\n]\n\nexport default universalDevDependencies\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAChC;EAAEC,IAAI,EAAE,kCAAkC;EAAEC,KAAK,EAAE;AAAK,CAAC,EACzD;EAAED,IAAI,EAAE,aAAa;EAAEC,KAAK,EAAE;AAAK,CAAC,EACpC;EAAED,IAAI,EAAE,YAAY;EAAEC,KAAK,EAAE;AAAK,CAAC,EACnC;EAAED,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC/B;EAAED,IAAI,EAAE,sBAAsB;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC7C;EAAED,IAAI,EAAE,UAAU;EAAEC,KAAK,EAAE;AAAK,CAAC,EACjC;EAAED,IAAI,EAAE,cAAc;EAAEC,KAAK,EAAE;AAAK,CAAC,EACrC;EAAED,IAAI,EAAE,cAAc;EAAEC,KAAK,EAAE;AAAK,CAAC,EACrC;EAAED,IAAI,EAAE,WAAW;EAAEC,KAAK,EAAE;AAAK,CAAC,EAClC;EAAED,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAK,CAAC,CAChC;AAAA,eAEcF,wBAAwB;AAAA"}
1
+ {"version":3,"file":"universalDevDependencies.js","names":["universalDevDependencies","name","isDev","_default","exports"],"sources":["../../src/features/universalDevDependencies.ts"],"sourcesContent":["const universalDevDependencies = [\n\t{ name: '@sprucelabs/resolve-path-aliases', isDev: true },\n\t{ name: '@types/node', isDev: true },\n\t{ name: 'typescript', isDev: true },\n\t{ name: 'eslint', isDev: true },\n\t{ name: 'eslint-config-spruce', isDev: true },\n\t{ name: 'prettier', isDev: true },\n\t{ name: 'chokidar-cli', isDev: true },\n\t{ name: 'concurrently', isDev: true },\n\t{ name: 'tsc-watch', isDev: true },\n\t{ name: 'ts-node', isDev: true },\n]\n\nexport default universalDevDependencies\n"],"mappings":";;;;;;AAAA,IAAMA,wBAAwB,GAAG,CAChC;EAAEC,IAAI,EAAE,kCAAkC;EAAEC,KAAK,EAAE;AAAK,CAAC,EACzD;EAAED,IAAI,EAAE,aAAa;EAAEC,KAAK,EAAE;AAAK,CAAC,EACpC;EAAED,IAAI,EAAE,YAAY;EAAEC,KAAK,EAAE;AAAK,CAAC,EACnC;EAAED,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC/B;EAAED,IAAI,EAAE,sBAAsB;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC7C;EAAED,IAAI,EAAE,UAAU;EAAEC,KAAK,EAAE;AAAK,CAAC,EACjC;EAAED,IAAI,EAAE,cAAc;EAAEC,KAAK,EAAE;AAAK,CAAC,EACrC;EAAED,IAAI,EAAE,cAAc;EAAEC,KAAK,EAAE;AAAK,CAAC,EACrC;EAAED,IAAI,EAAE,WAAW;EAAEC,KAAK,EAAE;AAAK,CAAC,EAClC;EAAED,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAK,CAAC,CAChC;AAAA,IAAAC,QAAA,GAEcH,wBAAwB;AAAAI,OAAA,cAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"universalFileDescriptions.js","names":["universalFileDescriptions","path","description","shouldOverwriteWhenChanged"],"sources":["../../src/features/universalFileDescriptions.ts"],"sourcesContent":["import { FileDescription } from '../types/cli.types'\n\nconst universalFileDescriptions: FileDescription[] = [\n\t{\n\t\tpath: '.eslintignore',\n\t\tdescription: 'Ignore things like build and node_module dirs.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.eslintrc.js',\n\t\tdescription: 'Extends Spruce configurations.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.gitignore',\n\t\tdescription: 'The usual suspects.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: '.nvmrc',\n\t\tdescription: 'Keep node at the latest.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: 'readme.md',\n\t\tdescription: \"Don't forget to update this at some point.\",\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: 'package.json',\n\t\tdescription: 'All dependencies and scripts.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: 'tsconfig.json',\n\t\tdescription: 'Maps #spruce paths.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.spruce/settings.json',\n\t\tdescription: 'Tracks things like which features are installed.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n]\n\nexport default universalFileDescriptions\n"],"mappings":";;;;;;AAEA,IAAMA,yBAA4C,GAAG,CACpD;EACCC,IAAI,EAAE,eAAe;EACrBC,WAAW,EAAE,gDAAgD;EAC7DC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,cAAc;EACpBC,WAAW,EAAE,gCAAgC;EAC7CC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,qBAAqB;EAClCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,0BAA0B;EACvCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,WAAW;EACjBC,WAAW,EAAE,4CAA4C;EACzDC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,cAAc;EACpBC,WAAW,EAAE,+BAA+B;EAC5CC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,eAAe;EACrBC,WAAW,EAAE,qBAAqB;EAClCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,uBAAuB;EAC7BC,WAAW,EAAE,kDAAkD;EAC/DC,0BAA0B,EAAE;AAC7B,CAAC,CACD;AAAA,eAEcH,yBAAyB;AAAA"}
1
+ {"version":3,"file":"universalFileDescriptions.js","names":["universalFileDescriptions","path","description","shouldOverwriteWhenChanged","_default","exports"],"sources":["../../src/features/universalFileDescriptions.ts"],"sourcesContent":["import { FileDescription } from '../types/cli.types'\n\nconst universalFileDescriptions: FileDescription[] = [\n\t{\n\t\tpath: '.eslintignore',\n\t\tdescription: 'Ignore things like build and node_module dirs.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.eslintrc.js',\n\t\tdescription: 'Extends Spruce configurations.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.gitignore',\n\t\tdescription: 'The usual suspects.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: '.nvmrc',\n\t\tdescription: 'Keep node at the latest.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: 'readme.md',\n\t\tdescription: \"Don't forget to update this at some point.\",\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: 'package.json',\n\t\tdescription: 'All dependencies and scripts.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n\t{\n\t\tpath: 'tsconfig.json',\n\t\tdescription: 'Maps #spruce paths.',\n\t\tshouldOverwriteWhenChanged: true,\n\t},\n\t{\n\t\tpath: '.spruce/settings.json',\n\t\tdescription: 'Tracks things like which features are installed.',\n\t\tshouldOverwriteWhenChanged: false,\n\t},\n]\n\nexport default universalFileDescriptions\n"],"mappings":";;;;;;AAEA,IAAMA,yBAA4C,GAAG,CACpD;EACCC,IAAI,EAAE,eAAe;EACrBC,WAAW,EAAE,gDAAgD;EAC7DC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,cAAc;EACpBC,WAAW,EAAE,gCAAgC;EAC7CC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,qBAAqB;EAClCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,0BAA0B;EACvCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,WAAW;EACjBC,WAAW,EAAE,4CAA4C;EACzDC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,cAAc;EACpBC,WAAW,EAAE,+BAA+B;EAC5CC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,eAAe;EACrBC,WAAW,EAAE,qBAAqB;EAClCC,0BAA0B,EAAE;AAC7B,CAAC,EACD;EACCF,IAAI,EAAE,uBAAuB;EAC7BC,WAAW,EAAE,kDAAkD;EAC/DC,0BAA0B,EAAE;AAC7B,CAAC,CACD;AAAA,IAAAC,QAAA,GAEcJ,yBAAyB;AAAAK,OAAA,cAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"universalScripts.js","names":["universalScripts","clean","lint","rebuild","test"],"sources":["../../src/features/universalScripts.ts"],"sourcesContent":["const universalScripts = {\n\t'build.ci': 'yarn build.tsc && yarn build.resolve-paths && yarn lint',\n\t'build.dev': 'yarn build.tsc --sourceMap ; yarn resolve-paths.lint',\n\t'build.copy-files':\n\t\t\"mkdir -p build && rsync -avzq --exclude='*.ts' ./src/ ./build/\",\n\t'build.resolve-paths':\n\t\t\"resolve-path-aliases --target build --patterns '**/*.js,**/*.d.ts'\",\n\t'build.tsc': 'yarn build.copy-files && tsc',\n\tclean: 'yarn clean.build',\n\t'clean.all': 'yarn clean.dependencies && yarn clean.build',\n\t'clean.build': 'rm -rf build/',\n\t'clean.dependencies': 'rm -rf node_modules/ package-lock.json yarn.lock',\n\t'fix.lint': \"eslint --fix --cache '**/*.ts'\",\n\tlint: \"eslint --cache '**/*.ts'\",\n\t'lint.tsc': 'tsc -p . --noEmit',\n\t'post.watch.build': 'yarn build.copy-files && yarn build.resolve-paths',\n\trebuild: 'yarn clean.all && yarn && yarn build.dev',\n\t'update.dependencies': 'yarn clean.dependencies && yarn',\n\t'resolve-paths.lint': 'yarn build.resolve-paths ; yarn lint',\n\ttest: 'jest',\n\t'watch.build.dev':\n\t\t\"tsc-watch --sourceMap --onCompilationComplete 'yarn post.watch.build'\",\n\t'watch.lint':\n\t\t\"concurrently 'yarn lint' \\\"chokidar 'src/**/*' -c 'yarn lint.tsc'\\\"\",\n\t'watch.rebuild': 'yarn clean.all && yarn && yarn watch.build.dev',\n\t'watch.tsc': 'tsc -w',\n}\n\nexport default universalScripts\n"],"mappings":";;;;;;AAAA,IAAMA,gBAAgB,GAAG;EACxB,UAAU,EAAE,yDAAyD;EACrE,WAAW,EAAE,sDAAsD;EACnE,kBAAkB,EACjB,gEAAgE;EACjE,qBAAqB,EACpB,oEAAoE;EACrE,WAAW,EAAE,8BAA8B;EAC3CC,KAAK,EAAE,kBAAkB;EACzB,WAAW,EAAE,6CAA6C;EAC1D,aAAa,EAAE,eAAe;EAC9B,oBAAoB,EAAE,kDAAkD;EACxE,UAAU,EAAE,gCAAgC;EAC5CC,IAAI,EAAE,0BAA0B;EAChC,UAAU,EAAE,mBAAmB;EAC/B,kBAAkB,EAAE,mDAAmD;EACvEC,OAAO,EAAE,0CAA0C;EACnD,qBAAqB,EAAE,iCAAiC;EACxD,oBAAoB,EAAE,sCAAsC;EAC5DC,IAAI,EAAE,MAAM;EACZ,iBAAiB,EAChB,uEAAuE;EACxE,YAAY,EACX,qEAAqE;EACtE,eAAe,EAAE,gDAAgD;EACjE,WAAW,EAAE;AACd,CAAC;AAAA,eAEcJ,gBAAgB;AAAA"}
1
+ {"version":3,"file":"universalScripts.js","names":["universalScripts","clean","lint","rebuild","test","_default","exports"],"sources":["../../src/features/universalScripts.ts"],"sourcesContent":["const universalScripts = {\n\t'build.ci': 'yarn build.tsc && yarn build.resolve-paths && yarn lint',\n\t'build.dev': 'yarn build.tsc --sourceMap ; yarn resolve-paths.lint',\n\t'build.copy-files':\n\t\t\"mkdir -p build && rsync -avzq --exclude='*.ts' ./src/ ./build/\",\n\t'build.resolve-paths':\n\t\t\"resolve-path-aliases --target build --patterns '**/*.js,**/*.d.ts'\",\n\t'build.tsc': 'yarn build.copy-files && tsc',\n\tclean: 'yarn clean.build',\n\t'clean.all': 'yarn clean.dependencies && yarn clean.build',\n\t'clean.build': 'rm -rf build/',\n\t'clean.dependencies': 'rm -rf node_modules/ package-lock.json yarn.lock',\n\t'fix.lint': \"eslint --fix --cache '**/*.ts'\",\n\tlint: \"eslint --cache '**/*.ts'\",\n\t'lint.tsc': 'tsc -p . --noEmit',\n\t'post.watch.build': 'yarn build.copy-files && yarn build.resolve-paths',\n\trebuild: 'yarn clean.all && yarn && yarn build.dev',\n\t'update.dependencies': 'yarn clean.dependencies && yarn',\n\t'resolve-paths.lint': 'yarn build.resolve-paths ; yarn lint',\n\ttest: 'jest',\n\t'watch.build.dev':\n\t\t\"tsc-watch --sourceMap --onCompilationComplete 'yarn post.watch.build'\",\n\t'watch.lint':\n\t\t\"concurrently 'yarn lint' \\\"chokidar 'src/**/*' -c 'yarn lint.tsc'\\\"\",\n\t'watch.rebuild': 'yarn clean.all && yarn && yarn watch.build.dev',\n\t'watch.tsc': 'tsc -w',\n}\n\nexport default universalScripts\n"],"mappings":";;;;;;AAAA,IAAMA,gBAAgB,GAAG;EACxB,UAAU,EAAE,yDAAyD;EACrE,WAAW,EAAE,sDAAsD;EACnE,kBAAkB,EACjB,gEAAgE;EACjE,qBAAqB,EACpB,oEAAoE;EACrE,WAAW,EAAE,8BAA8B;EAC3CC,KAAK,EAAE,kBAAkB;EACzB,WAAW,EAAE,6CAA6C;EAC1D,aAAa,EAAE,eAAe;EAC9B,oBAAoB,EAAE,kDAAkD;EACxE,UAAU,EAAE,gCAAgC;EAC5CC,IAAI,EAAE,0BAA0B;EAChC,UAAU,EAAE,mBAAmB;EAC/B,kBAAkB,EAAE,mDAAmD;EACvEC,OAAO,EAAE,0CAA0C;EACnD,qBAAqB,EAAE,iCAAiC;EACxD,oBAAoB,EAAE,sCAAsC;EAC5DC,IAAI,EAAE,MAAM;EACZ,iBAAiB,EAChB,uEAAuE;EACxE,YAAY,EACX,qEAAqE;EACtE,eAAe,EAAE,gDAAgD;EACjE,WAAW,EAAE;AACd,CAAC;AAAA,IAAAC,QAAA,GAEcL,gBAAgB;AAAAM,OAAA,cAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateAndNormalize.utility.js","names":["validateAndNormalizer","validateAndNormalize","schema","options","values","defaultSchemaValues","stripUndefined","validateSchemaValues","normalized","normalizeSchemaValues","noUndefined","Object","keys","forEach","key","undefined"],"sources":["../../src/features/validateAndNormalize.utility.ts"],"sourcesContent":["import {\n\tdefaultSchemaValues,\n\tnormalizeSchemaValues,\n\tSchema,\n\tSchemaPartialValues,\n\tSchemaValuesWithDefaults,\n\tvalidateSchemaValues,\n} from '@sprucelabs/schema'\n\ntype StripNulls<T extends Record<string, any>> = {\n\t[K in keyof T]: Exclude<T[K], null>\n}\n\nconst validateAndNormalizer = {\n\tvalidateAndNormalize<S extends Schema = Schema>(\n\t\tschema: S,\n\t\toptions: SchemaPartialValues<S, false>\n\t) {\n\t\tconst values = {\n\t\t\t...defaultSchemaValues(schema),\n\t\t\t...this.stripUndefined(options),\n\t\t} as SchemaPartialValues<S, false>\n\n\t\tvalidateSchemaValues(schema, values, {})\n\n\t\tconst normalized = normalizeSchemaValues(schema, values)\n\n\t\treturn this.stripUndefined(normalized) as StripNulls<\n\t\t\tSchemaValuesWithDefaults<S>\n\t\t>\n\t},\n\n\tstripUndefined(normalized: Record<string, any>) {\n\t\tconst noUndefined = {}\n\n\t\tObject.keys(normalized).forEach((key: string) => {\n\t\t\t// @ts-ignore\n\t\t\tif (normalized[key] !== undefined) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tnoUndefined[key] = normalized[key]\n\t\t\t}\n\t\t})\n\t\treturn noUndefined\n\t},\n}\n\nexport default validateAndNormalizer\n"],"mappings":";;;;;;;;AAAA;AAO2B;AAAA;AAM3B,IAAMA,qBAAqB,GAAG;EAC7BC,oBAAoB,gCACnBC,MAAS,EACTC,OAAsC,EACrC;IACD,IAAMC,MAAM,mCACR,IAAAC,2BAAmB,EAACH,MAAM,CAAC,GAC3B,IAAI,CAACI,cAAc,CAACH,OAAO,CAAC,CACE;IAElC,IAAAI,4BAAoB,EAACL,MAAM,EAAEE,MAAM,EAAE,CAAC,CAAC,CAAC;IAExC,IAAMI,UAAU,GAAG,IAAAC,6BAAqB,EAACP,MAAM,EAAEE,MAAM,CAAC;IAExD,OAAO,IAAI,CAACE,cAAc,CAACE,UAAU,CAAC;EAGvC,CAAC;EAEDF,cAAc,0BAACE,UAA+B,EAAE;IAC/C,IAAME,WAAW,GAAG,CAAC,CAAC;IAEtBC,MAAM,CAACC,IAAI,CAACJ,UAAU,CAAC,CAACK,OAAO,CAAC,UAACC,GAAW,EAAK;MAChD;MACA,IAAIN,UAAU,CAACM,GAAG,CAAC,KAAKC,SAAS,EAAE;QAClC;QACAL,WAAW,CAACI,GAAG,CAAC,GAAGN,UAAU,CAACM,GAAG,CAAC;MACnC;IACD,CAAC,CAAC;IACF,OAAOJ,WAAW;EACnB;AACD,CAAC;AAAA,eAEcV,qBAAqB;AAAA"}
1
+ {"version":3,"file":"validateAndNormalize.utility.js","names":["_schema","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","validateAndNormalizer","validateAndNormalize","schema","options","values","defaultSchemaValues","stripUndefined","validateSchemaValues","normalized","normalizeSchemaValues","noUndefined","undefined","_default","exports"],"sources":["../../src/features/validateAndNormalize.utility.ts"],"sourcesContent":["import {\n\tdefaultSchemaValues,\n\tnormalizeSchemaValues,\n\tSchema,\n\tSchemaPartialValues,\n\tSchemaValuesWithDefaults,\n\tvalidateSchemaValues,\n} from '@sprucelabs/schema'\n\ntype StripNulls<T extends Record<string, any>> = {\n\t[K in keyof T]: Exclude<T[K], null>\n}\n\nconst validateAndNormalizer = {\n\tvalidateAndNormalize<S extends Schema = Schema>(\n\t\tschema: S,\n\t\toptions: SchemaPartialValues<S, false>\n\t) {\n\t\tconst values = {\n\t\t\t...defaultSchemaValues(schema),\n\t\t\t...this.stripUndefined(options),\n\t\t} as SchemaPartialValues<S, false>\n\n\t\tvalidateSchemaValues(schema, values, {})\n\n\t\tconst normalized = normalizeSchemaValues(schema, values)\n\n\t\treturn this.stripUndefined(normalized) as StripNulls<\n\t\t\tSchemaValuesWithDefaults<S>\n\t\t>\n\t},\n\n\tstripUndefined(normalized: Record<string, any>) {\n\t\tconst noUndefined = {}\n\n\t\tObject.keys(normalized).forEach((key: string) => {\n\t\t\t// @ts-ignore\n\t\t\tif (normalized[key] !== undefined) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tnoUndefined[key] = normalized[key]\n\t\t\t}\n\t\t})\n\t\treturn noUndefined\n\t},\n}\n\nexport default validateAndNormalizer\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAO2B,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAM3B,IAAMW,qBAAqB,GAAG;EAC7BC,oBAAoB,WAAAA,qBACnBC,MAAS,EACTC,OAAsC,EACrC;IACD,IAAMC,MAAM,GAAAhB,aAAA,CAAAA,aAAA,KACR,IAAAiB,2BAAmB,EAACH,MAAM,CAAC,GAC3B,IAAI,CAACI,cAAc,CAACH,OAAO,CAAC,CACE;IAElC,IAAAI,4BAAoB,EAACL,MAAM,EAAEE,MAAM,EAAE,CAAC,CAAC,CAAC;IAExC,IAAMI,UAAU,GAAG,IAAAC,6BAAqB,EAACP,MAAM,EAAEE,MAAM,CAAC;IAExD,OAAO,IAAI,CAACE,cAAc,CAACE,UAAU,CAAC;EAGvC,CAAC;EAEDF,cAAc,WAAAA,eAACE,UAA+B,EAAE;IAC/C,IAAME,WAAW,GAAG,CAAC,CAAC;IAEtB/B,MAAM,CAACD,IAAI,CAAC8B,UAAU,CAAC,CAACd,OAAO,CAAC,UAACC,GAAW,EAAK;MAChD;MACA,IAAIa,UAAU,CAACb,GAAG,CAAC,KAAKgB,SAAS,EAAE;QAClC;QACAD,WAAW,CAACf,GAAG,CAAC,GAAGa,UAAU,CAACb,GAAG,CAAC;MACnC;IACD,CAAC,CAAC;IACF,OAAOe,WAAW;EACnB;AACD,CAAC;AAAA,IAAAE,QAAA,GAEcZ,qBAAqB;AAAAa,OAAA,cAAAD,QAAA"}
@@ -48,31 +48,29 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
48
48
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(payload) {
49
49
  var featureCode, actionCode, isInstalled, files;
50
50
  return _regenerator["default"].wrap(function _callee$(_context) {
51
- while (1) {
52
- switch (_context.prev = _context.next) {
53
- case 0:
54
- featureCode = payload.featureCode, actionCode = payload.actionCode;
55
- _context.next = 3;
56
- return _this.features.isInstalled('view');
57
- case 3:
58
- isInstalled = _context.sent;
59
- if (!(isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
60
- _context.next = 9;
61
- break;
62
- }
63
- _context.next = 7;
64
- return _this.Writer('view').writePlugin(_this.cwd);
65
- case 7:
66
- files = _context.sent;
67
- return _context.abrupt("return", {
68
- files: files
69
- });
70
- case 9:
71
- return _context.abrupt("return", {});
72
- case 10:
73
- case "end":
74
- return _context.stop();
75
- }
51
+ while (1) switch (_context.prev = _context.next) {
52
+ case 0:
53
+ featureCode = payload.featureCode, actionCode = payload.actionCode;
54
+ _context.next = 3;
55
+ return _this.features.isInstalled('view');
56
+ case 3:
57
+ isInstalled = _context.sent;
58
+ if (!(isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
59
+ _context.next = 9;
60
+ break;
61
+ }
62
+ _context.next = 7;
63
+ return _this.Writer('view').writePlugin(_this.cwd);
64
+ case 7:
65
+ files = _context.sent;
66
+ return _context.abrupt("return", {
67
+ files: files
68
+ });
69
+ case 9:
70
+ return _context.abrupt("return", {});
71
+ case 10:
72
+ case "end":
73
+ return _context.stop();
76
74
  }
77
75
  }, _callee);
78
76
  }));
@@ -82,21 +80,19 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
82
80
  }());
83
81
  void _this.emitter.on('test.register-abstract-test-classes', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
84
82
  return _regenerator["default"].wrap(function _callee2$(_context2) {
85
- while (1) {
86
- switch (_context2.prev = _context2.next) {
87
- case 0:
88
- return _context2.abrupt("return", {
89
- abstractClasses: [{
90
- name: 'AbstractViewControllerTest',
91
- label: 'AbstractViewControllerTest',
92
- "import": '@sprucelabs/spruce-view-plugin',
93
- featureCode: 'view'
94
- }]
95
- });
96
- case 1:
97
- case "end":
98
- return _context2.stop();
99
- }
83
+ while (1) switch (_context2.prev = _context2.next) {
84
+ case 0:
85
+ return _context2.abrupt("return", {
86
+ abstractClasses: [{
87
+ name: 'AbstractViewControllerTest',
88
+ label: 'AbstractViewControllerTest',
89
+ "import": '@sprucelabs/spruce-view-plugin',
90
+ featureCode: 'view'
91
+ }]
92
+ });
93
+ case 1:
94
+ case "end":
95
+ return _context2.stop();
100
96
  }
101
97
  }, _callee2);
102
98
  })));
@@ -108,24 +104,22 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
108
104
  var _afterPackageInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
109
105
  var files;
110
106
  return _regenerator["default"].wrap(function _callee3$(_context3) {
111
- while (1) {
112
- switch (_context3.prev = _context3.next) {
113
- case 0:
114
- _context3.next = 2;
115
- return this.Writer('view').writePlugin(this.cwd);
116
- case 2:
117
- files = _context3.sent;
118
- this.Service('dependency').add({
119
- id: '**',
120
- namespace: 'heartwood'
121
- });
122
- return _context3.abrupt("return", {
123
- files: files
124
- });
125
- case 5:
126
- case "end":
127
- return _context3.stop();
128
- }
107
+ while (1) switch (_context3.prev = _context3.next) {
108
+ case 0:
109
+ _context3.next = 2;
110
+ return this.Writer('view').writePlugin(this.cwd);
111
+ case 2:
112
+ files = _context3.sent;
113
+ this.Service('dependency').add({
114
+ id: '**',
115
+ namespace: 'heartwood'
116
+ });
117
+ return _context3.abrupt("return", {
118
+ files: files
119
+ });
120
+ case 5:
121
+ case "end":
122
+ return _context3.stop();
129
123
  }
130
124
  }, _callee3, this);
131
125
  }));
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"ViewFeature.js","names":["_spruceSkillUtils","require","_AbstractFeature2","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ViewFeature","_AbstractFeature","_inherits2","_super","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","_ref","_asyncToGenerator2","_regenerator","mark","_callee","payload","featureCode","actionCode","isInstalled","files","wrap","_callee$","_context","prev","next","features","sent","Writer","writePlugin","cwd","abrupt","stop","_x","_callee2","_callee2$","_context2","abstractClasses","label","_createClass2","key","value","_afterPackageInstall","_callee3","_callee3$","_context3","Service","add","id","namespace","afterPackageInstall","AbstractFeature","exports"],"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":"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"}