@sprucelabs/spruce-cli 19.1.41 → 19.2.0

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 (602) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build/.spruce/errors/errors.types.d.ts +19 -0
  3. package/build/.spruce/errors/errors.types.js.map +1 -1
  4. package/build/.spruce/errors/options.types.d.ts +4 -1
  5. package/build/.spruce/errors/options.types.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  45. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  46. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.d.ts +3 -0
  47. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js +23 -0
  48. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js.map +1 -0
  49. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  50. package/build/.spruce/events/events.contract.js.map +1 -1
  51. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  52. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  53. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
  54. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  55. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  56. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
  57. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  58. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
  59. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
  60. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  61. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  70. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  71. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  72. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  73. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  74. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  75. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  76. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  77. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  78. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  79. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  80. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  81. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  82. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  83. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  84. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  85. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  86. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  87. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  88. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  89. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  112. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  113. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  114. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  115. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  116. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  117. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  118. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  119. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  120. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  121. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  122. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  123. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  124. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  125. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  126. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  127. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  128. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  129. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  130. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  131. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  132. package/build/.spruce/skill.types.js.map +1 -1
  133. package/build/GlobalEmitter.js.map +1 -1
  134. package/build/InFlightEntertainment.js.map +1 -1
  135. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  136. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  137. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  138. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  139. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  140. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  141. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  142. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  143. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  144. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  145. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  146. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  147. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  148. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  149. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  150. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  151. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  152. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  153. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  155. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  156. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  159. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  160. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  161. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  162. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  163. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  164. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  165. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  166. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  167. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  168. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  169. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  170. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  171. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  172. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  173. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  174. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  175. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  176. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  177. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  178. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  179. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  180. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  181. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
  182. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  183. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  184. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  185. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  186. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  187. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  188. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  189. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  190. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  191. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  192. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  193. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  194. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  195. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  196. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  197. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  198. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  199. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  200. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  201. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  202. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  203. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  204. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  205. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  206. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  207. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  208. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  209. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  210. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  211. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  212. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  213. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  214. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  215. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  216. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  217. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  218. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  219. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  220. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  221. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  222. package/build/__tests__/behavioral/views/CreatingASkillView.test.d.ts +1 -1
  223. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +6 -6
  224. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  225. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  226. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.d.ts +1 -1
  227. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +6 -6
  228. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  229. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  230. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  231. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  232. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  233. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.d.ts +23 -0
  234. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +355 -0
  235. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -0
  236. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  237. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  238. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  239. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  240. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  241. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  242. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  243. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  244. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  245. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  246. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  247. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  248. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  249. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  250. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  251. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  252. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  253. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  254. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  255. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  256. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  257. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  258. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  259. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  260. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  261. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  262. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  263. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  264. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  265. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  266. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  267. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  268. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  269. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  270. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  271. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  272. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  273. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  274. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  275. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  276. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  277. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  278. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  279. package/build/__tests__/support/EventFaker.js.map +1 -1
  280. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  281. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  282. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  283. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  284. package/build/addons/filePrompt.addon.js.map +1 -1
  285. package/build/boot.js.map +1 -1
  286. package/build/cli/Cli.js.map +1 -1
  287. package/build/components/AbstractComponent.js.map +1 -1
  288. package/build/components/FormComponent.js.map +1 -1
  289. package/build/components/QuizComponent.js.map +1 -1
  290. package/build/constants.js.map +1 -1
  291. package/build/errors/SpruceError.js +3 -0
  292. package/build/errors/SpruceError.js.map +1 -1
  293. package/build/errors/actionCancelled.builder.js.map +1 -1
  294. package/build/errors/bootError.builder.js.map +1 -1
  295. package/build/errors/buildFailed.builder.js.map +1 -1
  296. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  297. package/build/errors/commandAborted.builder.js.map +1 -1
  298. package/build/errors/commandBlocked.builder.js.map +1 -1
  299. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  300. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  301. package/build/errors/dependencyExists.builder.js.map +1 -1
  302. package/build/errors/deployFailed.builder.js.map +1 -1
  303. package/build/errors/directoryEmpty.builder.js.map +1 -1
  304. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  305. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  306. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  307. package/build/errors/failedToImport.builder.js.map +1 -1
  308. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  309. package/build/errors/fileExists.builder.js.map +1 -1
  310. package/build/errors/generic.builder.js.map +1 -1
  311. package/build/errors/invalidCommand.builder.js.map +1 -1
  312. package/build/errors/invalidEventContract.builder.js.map +1 -1
  313. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  314. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  315. package/build/errors/lintFailed.builder.js.map +1 -1
  316. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  317. package/build/errors/missingDependencies.builder.js.map +1 -1
  318. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  319. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  320. package/build/errors/notImplemented.builder.js.map +1 -1
  321. package/build/errors/notLoggedIn.builder.js.map +1 -1
  322. package/build/errors/schemaExists.builder.js.map +1 -1
  323. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  324. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  325. package/build/errors/skillNotFound.builder.js.map +1 -1
  326. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  327. package/build/errors/skillViewExists.builder.js.map +1 -1
  328. package/build/errors/storeExists.builder.js.map +1 -1
  329. package/build/errors/testFailed.builder.js.map +1 -1
  330. package/build/errors/themeExists.builder.js.map +1 -1
  331. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  332. package/build/errors/viewPluginAlreadyExists.builder.d.ts +11 -0
  333. package/build/errors/viewPluginAlreadyExists.builder.js +18 -0
  334. package/build/errors/viewPluginAlreadyExists.builder.js.map +1 -0
  335. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  336. package/build/features/AbstractAction.js.map +1 -1
  337. package/build/features/AbstractFeature.js.map +1 -1
  338. package/build/features/ActionExecuter.js.map +1 -1
  339. package/build/features/ActionFactory.js.map +1 -1
  340. package/build/features/ActionQuestionAsker.js.map +1 -1
  341. package/build/features/FeatureCommandAttacher.js.map +1 -1
  342. package/build/features/FeatureInstaller.js.map +1 -1
  343. package/build/features/FeatureInstallerFactory.js.map +1 -1
  344. package/build/features/OverrideActionDecorator.js.map +1 -1
  345. package/build/features/cache/CacheFeature.js.map +1 -1
  346. package/build/features/cache/actions/DisableAction.js.map +1 -1
  347. package/build/features/cache/actions/EnableAction.js.map +1 -1
  348. package/build/features/cache/constants.js.map +1 -1
  349. package/build/features/conversation/ConversationFeature.js.map +1 -1
  350. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  351. package/build/features/conversation/actions/TestAction.js.map +1 -1
  352. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  353. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  354. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  355. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  356. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  357. package/build/features/deploy/DeployFeature.js.map +1 -1
  358. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  359. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  360. package/build/features/error/ErrorFeature.js.map +1 -1
  361. package/build/features/error/ParentTestFinder.js.map +1 -1
  362. package/build/features/error/actions/CreateAction.js.map +1 -1
  363. package/build/features/error/actions/SyncAction.js.map +1 -1
  364. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  365. package/build/features/event/EventFeature.js.map +1 -1
  366. package/build/features/event/actions/CreateAction.js.map +1 -1
  367. package/build/features/event/actions/ListenAction.js.map +1 -1
  368. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  369. package/build/features/event/actions/SyncAction.js.map +1 -1
  370. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  371. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  372. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  373. package/build/features/event/services/EventSettingsService.js.map +1 -1
  374. package/build/features/event/services/RemoteService.js.map +1 -1
  375. package/build/features/event/stores/EventStore.js.map +1 -1
  376. package/build/features/event/stores/ListenerStore.js.map +1 -1
  377. package/build/features/event/writers/EventWriter.js.map +1 -1
  378. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  379. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  380. package/build/features/feature.utilities.js.map +1 -1
  381. package/build/features/features.types.js.map +1 -1
  382. package/build/features/log/LogFeature.js.map +1 -1
  383. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  384. package/build/features/log/writers/LogWriter.js.map +1 -1
  385. package/build/features/node/NodeFeature.js.map +1 -1
  386. package/build/features/node/actions/CreateAction.js.map +1 -1
  387. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  388. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  389. package/build/features/node/writers/NodeWriter.js.map +1 -1
  390. package/build/features/onboard/OnboardFeature.js.map +1 -1
  391. package/build/features/onboard/ScriptLoader.js.map +1 -1
  392. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  393. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  394. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  395. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  396. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  397. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  398. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  399. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  400. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  401. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  402. package/build/features/organization/OrganizationFeature.js.map +1 -1
  403. package/build/features/organization/actions/CreateAction.js.map +1 -1
  404. package/build/features/organization/actions/InstallAction.js.map +1 -1
  405. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  406. package/build/features/permission/PermissionFeature.js.map +1 -1
  407. package/build/features/permission/actions/CreateAction.js.map +1 -1
  408. package/build/features/permission/actions/SyncAction.js.map +1 -1
  409. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  410. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  411. package/build/features/person/PersonFeature.js.map +1 -1
  412. package/build/features/person/actions/LoginAction.js.map +1 -1
  413. package/build/features/person/actions/LogoutAction.js.map +1 -1
  414. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  415. package/build/features/polish/PolishFeature.js.map +1 -1
  416. package/build/features/polish/actions/SetupAction.js.map +1 -1
  417. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  418. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  419. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  420. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  421. package/build/features/schema/SchemaFeature.js.map +1 -1
  422. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  423. package/build/features/schema/actions/CreateAction.js.map +1 -1
  424. package/build/features/schema/actions/SyncAction.js.map +1 -1
  425. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  426. package/build/features/schema/services/SchemaService.js.map +1 -1
  427. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  428. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  429. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  430. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  431. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  432. package/build/features/skill/SkillFeature.js.map +1 -1
  433. package/build/features/skill/actions/BootAction.js.map +1 -1
  434. package/build/features/skill/actions/CreateAction.js.map +1 -1
  435. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  436. package/build/features/skill/actions/LoginAction.js.map +1 -1
  437. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  438. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  439. package/build/features/skill/stores/SkillStore.js.map +1 -1
  440. package/build/features/skill/updaters/Updater.js.map +1 -1
  441. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  442. package/build/features/store/StoreFeature.js.map +1 -1
  443. package/build/features/store/actions/CreateAction.js.map +1 -1
  444. package/build/features/store/actions/SyncAction.js.map +1 -1
  445. package/build/features/store/stores/StoreStore.js.map +1 -1
  446. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  447. package/build/features/store/writers/StoreWriter.js.map +1 -1
  448. package/build/features/test/TestFeature.js.map +1 -1
  449. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  450. package/build/features/test/TestReporter.js.map +1 -1
  451. package/build/features/test/TestRunner.js.map +1 -1
  452. package/build/features/test/actions/CreateAction.js.map +1 -1
  453. package/build/features/test/actions/SetupAction.js.map +1 -1
  454. package/build/features/test/actions/TestAction.js.map +1 -1
  455. package/build/features/test/test.types.js.map +1 -1
  456. package/build/features/test/writers/TestWriter.js.map +1 -1
  457. package/build/features/universalDevDependencies.js.map +1 -1
  458. package/build/features/universalFileDescriptions.js.map +1 -1
  459. package/build/features/universalScripts.js.map +1 -1
  460. package/build/features/validateAndNormalize.utility.js.map +1 -1
  461. package/build/features/view/ViewFeature.js.map +1 -1
  462. package/build/features/view/actions/CreateAction.d.ts +6 -6
  463. package/build/features/view/actions/CreateAction.js +59 -59
  464. package/build/features/view/actions/CreateAction.js.map +1 -1
  465. package/build/features/view/actions/CreatePluginAction.d.ts +56 -0
  466. package/build/features/view/actions/CreatePluginAction.js +95 -0
  467. package/build/features/view/actions/CreatePluginAction.js.map +1 -0
  468. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  469. package/build/features/view/actions/SyncAction.d.ts +6 -6
  470. package/build/features/view/actions/SyncAction.js +29 -15
  471. package/build/features/view/actions/SyncAction.js.map +1 -1
  472. package/build/features/view/actions/WatchAction.js.map +1 -1
  473. package/build/features/view/stores/ViewStore.js.map +1 -1
  474. package/build/features/view/writers/ViewWriter.d.ts +5 -0
  475. package/build/features/view/writers/ViewWriter.js +44 -7
  476. package/build/features/view/writers/ViewWriter.js.map +1 -1
  477. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  478. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  479. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  480. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  481. package/build/features/watch/WatchFeature.js.map +1 -1
  482. package/build/index.js.map +1 -1
  483. package/build/interfaces/SpyInterface.js.map +1 -1
  484. package/build/interfaces/TerminalInterface.js.map +1 -1
  485. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
  486. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  487. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  488. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  489. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  490. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  491. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  492. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
  493. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  494. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  495. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  496. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  497. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  498. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  499. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  500. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  501. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  502. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  503. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  504. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  505. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  506. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  507. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  508. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  509. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  510. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  511. package/build/services/BuildService.js.map +1 -1
  512. package/build/services/CommandService.js.map +1 -1
  513. package/build/services/DependencyService.js.map +1 -1
  514. package/build/services/GameService.js.map +1 -1
  515. package/build/services/ImportService.js.map +1 -1
  516. package/build/services/LintService.js.map +1 -1
  517. package/build/services/PkgService.js.map +1 -1
  518. package/build/services/ServiceFactory.js.map +1 -1
  519. package/build/services/TypeCheckerService.js.map +1 -1
  520. package/build/stores/AbstractLocalStore.js.map +1 -1
  521. package/build/stores/AbstractStore.js.map +1 -1
  522. package/build/stores/StoreFactory.js.map +1 -1
  523. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  524. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  525. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  526. package/build/tests/AbstractCliTest.js.map +1 -1
  527. package/build/tests/AbstractErrorTest.js.map +1 -1
  528. package/build/tests/AbstractEventTest.js.map +1 -1
  529. package/build/tests/AbstractSchemaTest.js.map +1 -1
  530. package/build/tests/AbstractSkillTest.js.map +1 -1
  531. package/build/tests/AbstractTestTest.js.map +1 -1
  532. package/build/tests/CommandFaker.js.map +1 -1
  533. package/build/tests/JestJsonParser.js.map +1 -1
  534. package/build/tests/MockProgramFactory.js.map +1 -1
  535. package/build/tests/buildTestCache.js.map +1 -1
  536. package/build/tests/cleanTestCache.js.map +1 -1
  537. package/build/tests/cleanTestData.js.map +1 -1
  538. package/build/tests/constants.js.map +1 -1
  539. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  540. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  541. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  542. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  543. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  544. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  545. package/build/tests/utilities/test.utility.js.map +1 -1
  546. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  547. package/build/types/apiClient.types.js.map +1 -1
  548. package/build/types/cli.types.js.map +1 -1
  549. package/build/types/graphicsInterface.types.js.map +1 -1
  550. package/build/updaters/ScriptUpdater.js.map +1 -1
  551. package/build/utilities/action.utility.js.map +1 -1
  552. package/build/utilities/apiClient.utility.js.map +1 -1
  553. package/build/utilities/argParser.utility.js.map +1 -1
  554. package/build/utilities/commander.utility.js.map +1 -1
  555. package/build/utilities/duration.utility.js.map +1 -1
  556. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  557. package/build/utilities/form.utility.js.map +1 -1
  558. package/build/utilities/introspection.utility.js.map +1 -1
  559. package/build/utilities/isCi.js.map +1 -1
  560. package/build/utilities/tsConfig.utility.js.map +1 -1
  561. package/build/utilities/ui.utility.js.map +1 -1
  562. package/build/widgets/Theme.js.map +1 -1
  563. package/build/widgets/WidgetFactory.js.map +1 -1
  564. package/build/widgets/keySelectChoices.js.map +1 -1
  565. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  566. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  567. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  568. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  569. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  570. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  571. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  572. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  573. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  574. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  575. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  576. package/build/widgets/types/button.types.js.map +1 -1
  577. package/build/widgets/types/factory.types.js.map +1 -1
  578. package/build/widgets/types/input.types.js.map +1 -1
  579. package/build/widgets/types/layout.types.js.map +1 -1
  580. package/build/widgets/types/menuBar.types.js.map +1 -1
  581. package/build/widgets/types/popup.types.js.map +1 -1
  582. package/build/widgets/types/progressBar.types.js.map +1 -1
  583. package/build/widgets/types/table.types.js.map +1 -1
  584. package/build/widgets/types/text.types.js.map +1 -1
  585. package/build/widgets/types/widgets.types.js.map +1 -1
  586. package/build/widgets/types/window.types.js.map +1 -1
  587. package/build/widgets/widget.utilities.js.map +1 -1
  588. package/build/writers/AbstractWriter.js.map +1 -1
  589. package/build/writers/WriterFactory.js.map +1 -1
  590. package/package.json +33 -33
  591. package/src/.spruce/errors/errors.types.ts +29 -0
  592. package/src/.spruce/errors/options.types.ts +4 -1
  593. package/src/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.ts +22 -0
  594. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  595. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
  596. package/src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts +161 -0
  597. package/src/errors/SpruceError.ts +4 -0
  598. package/src/errors/viewPluginAlreadyExists.builder.ts +12 -0
  599. package/src/features/view/actions/CreateAction.ts +72 -72
  600. package/src/features/view/actions/CreatePluginAction.ts +54 -0
  601. package/src/features/view/actions/SyncAction.ts +30 -14
  602. package/src/features/view/writers/ViewWriter.ts +45 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Updater.js","names":["_spruceEventUtils","require","_SpruceError","_interopRequireDefault","_NodeWriter","_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","Updater","exports","skill","emitter","_classCallCheck2","_defineProperty2","feature","_createClass2","key","_updateFiles","_asyncToGenerator2","_regenerator","mark","_callee","normalizedOptions","skillWriter","pkgService","description","results","_eventResponseUtil$ge","payloads","filesToSkip","_iterator","_step","payload","generatedFiles","wrap","_callee$","_context","prev","Writer","upgradeMode","Service","get","emit","sent","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","concat","_toConsumableArray2","NODE_FILES_TO_UPGRADE","push","apply","writeSkill","cwd","abrupt","stop","updateFiles","_x","arguments"],"sources":["../../../../src/features/skill/updaters/Updater.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Updater.js","names":["_spruceEventUtils","require","_SpruceError","_interopRequireDefault","_NodeWriter","_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","Updater","exports","skill","emitter","_classCallCheck2","_defineProperty2","feature","_createClass2","key","_updateFiles","_asyncToGenerator2","_regenerator","mark","_callee","normalizedOptions","skillWriter","pkgService","description","results","_eventResponseUtil$ge","payloads","filesToSkip","_iterator","_step","payload","generatedFiles","wrap","_callee$","_context","prev","Writer","upgradeMode","Service","get","emit","sent","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","concat","_toConsumableArray2","NODE_FILES_TO_UPGRADE","push","apply","writeSkill","cwd","abrupt","stop","updateFiles","_x","arguments"],"sources":["../../../../src/features/skill/updaters/Updater.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SkillWriter.js","names":["_spruceSkillUtils","require","_spruceTemplates","_AbstractWriter2","_interopRequireDefault","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","SkillGenerator","exports","_AbstractWriter","_inherits2","_classCallCheck2","_createClass2","key","value","_writeSkill","_asyncToGenerator2","_regenerator","mark","_callee","destinationDir","options","filesToSkip","context","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","abrupt","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","stop","writeSkill","_x","_x2","AbstractWriter"],"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkillWriter.js","names":["_spruceSkillUtils","require","_spruceTemplates","_AbstractWriter2","_interopRequireDefault","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","SkillGenerator","exports","_AbstractWriter","_inherits2","_classCallCheck2","_createClass2","key","value","_writeSkill","_asyncToGenerator2","_regenerator","mark","_callee","destinationDir","options","filesToSkip","context","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","abrupt","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","stop","writeSkill","_x","_x2","AbstractWriter"],"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StoreFeature.js","names":["_spruceSkillUtils","require","_ui","_interopRequireDefault","_AbstractFeature2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreFeature","exports","_AbstractFeature","_inherits2","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","_createClass2","key","value","_registerAbstractTestClassHandler","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","abstractClasses","label","featureCode","stop","arguments","_handleDidExecute","_callee2","payload","isInstalled","isUpgrade","results","_callee2$","_context2","features","sent","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","_x","_afterPackageInstall","_callee3","files","_callee3$","_context3","Writer","writePlugin","cwd","afterPackageInstall","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.features.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StoreFeature.js","names":["_spruceSkillUtils","require","_ui","_interopRequireDefault","_AbstractFeature2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreFeature","exports","_AbstractFeature","_inherits2","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","_createClass2","key","value","_registerAbstractTestClassHandler","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","abstractClasses","label","featureCode","stop","arguments","_handleDidExecute","_callee2","payload","isInstalled","isUpgrade","results","_callee2$","_context2","features","sent","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","_x","_afterPackageInstall","_callee3","files","_callee3$","_context3","Writer","writePlugin","cwd","afterPackageInstall","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.features.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_namedTemplateItem","_interopRequireDefault","_action","_AbstractAction2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","optionsSchema","buildSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","label","hint","nameReadablePlural","namePascal","isRequired","namePascalPlural","nameSnakePlural","CreateAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","options","_this$validateAndNorm","writer","files","syncResults","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","writeStore","cwd","namesUtil","toPascal","toSnake","sent","Action","execute","abrupt","actionUtil","mergeActionResults","t0","errors","stop","_x","AbstractAction"],"sources":["../../../../src/features/store/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createStoreOptions',\n\tdescription:\n\t\t'Create a place to store data. Can be a database, can be memory, can be a spreadsheet. If you need to store data, do it here.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Store name (singular)',\n\t\t\thint: 'Make it easy to read and singlar, e.g. Person or Bid',\n\t\t},\n\t\tnameReadablePlural: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadablePlural,\n\t\t\tlabel: 'Store name (plural)',\n\t\t\thint: 'Make it easy to read and plural, e.g. People or Bids',\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascalPlural: namedTemplateItemBuilder.fields.namePascalPlural,\n\t\tnameSnakePlural: namedTemplateItemBuilder.fields.nameSnakePlural,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a data store... 💿'\n\n\tpublic async execute(options: Options) {\n\t\tconst {\n\t\t\tnamePascal,\n\t\t\tnamePascalPlural,\n\t\t\tnameSnakePlural,\n\t\t\tnameReadablePlural,\n\t\t} = this.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('store')\n\n\t\ttry {\n\t\t\tconst files = await writer.writeStore(this.cwd, {\n\t\t\t\tnamePascal,\n\t\t\t\tnamePascalPlural:\n\t\t\t\t\tnamePascalPlural ?? namesUtil.toPascal(nameReadablePlural),\n\t\t\t\tnameSnakePlural:\n\t\t\t\t\tnameSnakePlural ?? namesUtil.toSnake(nameReadablePlural),\n\t\t\t})\n\n\t\t\tconst syncResults = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn actionUtil.mergeActionResults(syncResults, {\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_namedTemplateItem","_interopRequireDefault","_action","_AbstractAction2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","optionsSchema","buildSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","label","hint","nameReadablePlural","namePascal","isRequired","namePascalPlural","nameSnakePlural","CreateAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","options","_this$validateAndNorm","writer","files","syncResults","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","writeStore","cwd","namesUtil","toPascal","toSnake","sent","Action","execute","abrupt","actionUtil","mergeActionResults","t0","errors","stop","_x","AbstractAction"],"sources":["../../../../src/features/store/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createStoreOptions',\n\tdescription:\n\t\t'Create a place to store data. Can be a database, can be memory, can be a spreadsheet. If you need to store data, do it here.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Store name (singular)',\n\t\t\thint: 'Make it easy to read and singlar, e.g. Person or Bid',\n\t\t},\n\t\tnameReadablePlural: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadablePlural,\n\t\t\tlabel: 'Store name (plural)',\n\t\t\thint: 'Make it easy to read and plural, e.g. People or Bids',\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascalPlural: namedTemplateItemBuilder.fields.namePascalPlural,\n\t\tnameSnakePlural: namedTemplateItemBuilder.fields.nameSnakePlural,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a data store... 💿'\n\n\tpublic async execute(options: Options) {\n\t\tconst {\n\t\t\tnamePascal,\n\t\t\tnamePascalPlural,\n\t\t\tnameSnakePlural,\n\t\t\tnameReadablePlural,\n\t\t} = this.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('store')\n\n\t\ttry {\n\t\t\tconst files = await writer.writeStore(this.cwd, {\n\t\t\t\tnamePascal,\n\t\t\t\tnamePascalPlural:\n\t\t\t\t\tnamePascalPlural ?? namesUtil.toPascal(nameReadablePlural),\n\t\t\t\tnameSnakePlural:\n\t\t\t\t\tnameSnakePlural ?? namesUtil.toSnake(nameReadablePlural),\n\t\t\t})\n\n\t\t\tconst syncResults = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn actionUtil.mergeActionResults(syncResults, {\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["_schema","require","_spruceSkillUtils","_AbstractAction2","_interopRequireDefault","_StoreTemplateItemBuilder","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","SyncAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","stores","files","destination","builder","templateItems","writer","wrap","_callee$","_context","prev","next","Store","fetchStores","sent","diskUtil","resolveHashSprucePath","cwd","StoreTemplateItemBuilder","buildTemplateItems","Writer","writeTypesAndMap","abrupt","t0","errors","stop","execute","_x","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SyncAction.js","names":["_schema","require","_spruceSkillUtils","_AbstractAction2","_interopRequireDefault","_StoreTemplateItemBuilder","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","SyncAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","stores","files","destination","builder","templateItems","writer","wrap","_callee$","_context","prev","next","Store","fetchStores","sent","diskUtil","resolveHashSprucePath","cwd","StoreTemplateItemBuilder","buildTemplateItems","Writer","writeTypesAndMap","abrupt","t0","errors","stop","execute","_x","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StoreStore.js","names":["_globby","_interopRequireDefault","require","_spruceSkillUtils","_SpruceError","_AbstractStore2","_introspection","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreStore","exports","_AbstractStore","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_fetchStores","_asyncToGenerator2","_regenerator","mark","_callee","search","matches","results","stores","i","_introspect$classes$","introspect","className","wrap","_callee$","_context","prev","next","generateGlobbyPattern","globby","sent","introspectionUtil","classes","SpruceError","code","file","push","path","abrupt","stop","fetchStores","diskUtil","resolvePath","cwd","AbstractStore"],"sources":["../../../../src/features/store/stores/StoreStore.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport introspectionUtil from '../../../utilities/introspection.utility'\n\nexport interface LoadedStore {\n\tclassName: string\n\tpath: string\n}\n\nexport default class StoreStore extends AbstractStore {\n\tpublic name = 'store'\n\n\tpublic async fetchStores() {\n\t\tconst search = this.generateGlobbyPattern()\n\t\tconst matches = await globby(search)\n\n\t\tconst results = introspectionUtil.introspect(matches)\n\n\t\tconst stores: LoadedStore[] = []\n\n\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\tconst introspect = results[i]\n\t\t\tconst className = introspect.classes[0]?.className\n\t\t\tif (!className) {\n\t\t\t\tthrow new SpruceError({ code: 'FAILED_TO_IMPORT', file: matches[i] })\n\t\t\t}\n\n\t\t\tstores.push({ className, path: matches[i] })\n\t\t}\n\n\t\treturn stores\n\t}\n\n\tprivate generateGlobbyPattern() {\n\t\treturn diskUtil.resolvePath(this.cwd, 'src', '**', '*.store.ts')\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StoreStore.js","names":["_globby","_interopRequireDefault","require","_spruceSkillUtils","_SpruceError","_AbstractStore2","_introspection","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreStore","exports","_AbstractStore","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_fetchStores","_asyncToGenerator2","_regenerator","mark","_callee","search","matches","results","stores","i","_introspect$classes$","introspect","className","wrap","_callee$","_context","prev","next","generateGlobbyPattern","globby","sent","introspectionUtil","classes","SpruceError","code","file","push","path","abrupt","stop","fetchStores","diskUtil","resolvePath","cwd","AbstractStore"],"sources":["../../../../src/features/store/stores/StoreStore.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport introspectionUtil from '../../../utilities/introspection.utility'\n\nexport interface LoadedStore {\n\tclassName: string\n\tpath: string\n}\n\nexport default class StoreStore extends AbstractStore {\n\tpublic name = 'store'\n\n\tpublic async fetchStores() {\n\t\tconst search = this.generateGlobbyPattern()\n\t\tconst matches = await globby(search)\n\n\t\tconst results = introspectionUtil.introspect(matches)\n\n\t\tconst stores: LoadedStore[] = []\n\n\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\tconst introspect = results[i]\n\t\t\tconst className = introspect.classes[0]?.className\n\t\t\tif (!className) {\n\t\t\t\tthrow new SpruceError({ code: 'FAILED_TO_IMPORT', file: matches[i] })\n\t\t\t}\n\n\t\t\tstores.push({ className, path: matches[i] })\n\t\t}\n\n\t\treturn stores\n\t}\n\n\tprivate generateGlobbyPattern() {\n\t\treturn diskUtil.resolvePath(this.cwd, 'src', '**', '*.store.ts')\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StoreTemplateItemBuilder.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_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","StoreTemplateItemBuilder","exports","_classCallCheck2","_createClass2","key","buildTemplateItems","stores","destination","items","_iterator","_step","store","ext","pathUtil","extname","path","relativePath","relative","replace","pascalPlural","className","push","namePascalPlural","nameCamelPlural","namesUtil","toCamel"],"sources":["../../../../src/features/store/templateItemBuilders/StoreTemplateItemBuilder.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { StoreTemplateItem } from '@sprucelabs/spruce-templates'\nimport { LoadedStore } from '../stores/StoreStore'\n\nexport default class StoreTemplateItemBuilder {\n\tpublic buildTemplateItems(\n\t\tstores: LoadedStore[],\n\t\tdestination: string\n\t): StoreTemplateItem[] {\n\t\tconst items: StoreTemplateItem[] = []\n\n\t\tfor (const store of stores) {\n\t\t\tconst ext = pathUtil.extname(store.path)\n\t\t\tconst relativePath = pathUtil\n\t\t\t\t.relative(destination, store.path)\n\t\t\t\t.replace(ext, '')\n\n\t\t\tconst pascalPlural = store.className.replace('Store', '')\n\t\t\titems.push({\n\t\t\t\tnamePascalPlural: pascalPlural,\n\t\t\t\tnameCamelPlural: namesUtil.toCamel(pascalPlural),\n\t\t\t\tpath: relativePath,\n\t\t\t})\n\t\t}\n\n\t\treturn items\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StoreTemplateItemBuilder.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_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","StoreTemplateItemBuilder","exports","_classCallCheck2","_createClass2","key","buildTemplateItems","stores","destination","items","_iterator","_step","store","ext","pathUtil","extname","path","relativePath","relative","replace","pascalPlural","className","push","namePascalPlural","nameCamelPlural","namesUtil","toCamel"],"sources":["../../../../src/features/store/templateItemBuilders/StoreTemplateItemBuilder.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { StoreTemplateItem } from '@sprucelabs/spruce-templates'\nimport { LoadedStore } from '../stores/StoreStore'\n\nexport default class StoreTemplateItemBuilder {\n\tpublic buildTemplateItems(\n\t\tstores: LoadedStore[],\n\t\tdestination: string\n\t): StoreTemplateItem[] {\n\t\tconst items: StoreTemplateItem[] = []\n\n\t\tfor (const store of stores) {\n\t\t\tconst ext = pathUtil.extname(store.path)\n\t\t\tconst relativePath = pathUtil\n\t\t\t\t.relative(destination, store.path)\n\t\t\t\t.replace(ext, '')\n\n\t\t\tconst pascalPlural = store.className.replace('Store', '')\n\t\t\titems.push({\n\t\t\t\tnamePascalPlural: pascalPlural,\n\t\t\t\tnameCamelPlural: namesUtil.toCamel(pascalPlural),\n\t\t\t\tpath: relativePath,\n\t\t\t})\n\t\t}\n\n\t\treturn items\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StoreWriter.js","names":["_spruceSkillUtils","require","_SpruceError","_interopRequireDefault","_AbstractWriter2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreWriter","exports","_AbstractWriter","_inherits2","_classCallCheck2","arguments","_createClass2","key","value","_writeStore","_asyncToGenerator2","_regenerator","mark","_callee","destination","options","namePascalPlural","files","filename","fileDest","contents","wrap","_callee$","_context","prev","next","concat","diskUtil","resolvePath","doesFileExist","SpruceError","code","templates","store","writeFile","lint","push","action","name","path","abrupt","stop","writeStore","_x","_x2","writePlugin","cwd","resolveHashSprucePath","pluginContents","storePlugin","results","writeFileIfChangedMixinResults","_writeTypesAndMap","_callee2","_yield$Promise$all","_yield$Promise$all2","types","map","_callee2$","_context2","Promise","all","writeTypes","writeMap","sent","_slicedToArray2","_toConsumableArray2","writeTypesAndMap","_x3","_x4","_writeTypes","_callee3","file","typesContent","_callee3$","_context3","storeTypes","_x5","_x6","_writeMap","_callee4","mapContent","_callee4$","_context4","stores","_x7","_x8","AbstractWriter"],"sources":["../../../../src/features/store/writers/StoreWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tStoreTemplateItem,\n\tStoreTemplateOptions,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class StoreWriter extends AbstractWriter {\n\tpublic async writeStore(destination: string, options: StoreTemplateOptions) {\n\t\tconst { namePascalPlural } = options\n\n\t\tconst files: GeneratedFile[] = []\n\n\t\tconst filename = `${namePascalPlural}.store.ts`\n\n\t\tconst fileDest = diskUtil.resolvePath(\n\t\t\tdestination,\n\t\t\t'src',\n\t\t\t'stores',\n\t\t\tfilename\n\t\t)\n\n\t\tif (diskUtil.doesFileExist(fileDest)) {\n\t\t\tthrow new SpruceError({ code: 'STORE_EXISTS' })\n\t\t}\n\n\t\tconst contents = this.templates.store(options)\n\n\t\tdiskUtil.writeFile(fileDest, contents)\n\n\t\tawait this.lint(fileDest)\n\n\t\tfiles.push({\n\t\t\taction: 'generated',\n\t\t\tname: filename,\n\t\t\tpath: fileDest,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'store.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.storePlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Loads all your data stores and connects you to any databases you have configured.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic async writeTypesAndMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst [types, map] = await Promise.all([\n\t\t\tthis.writeTypes(destination, options),\n\t\t\tthis.writeMap(destination, options),\n\t\t])\n\n\t\treturn [...types, ...map]\n\t}\n\n\tpublic async writeTypes(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.types.ts')\n\n\t\tconst typesContent = this.templates.storeTypes(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\ttypesContent,\n\t\t\t'The type merging for so the StoreFactory properly types you stores.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n\n\tpublic async writeMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.ts')\n\t\tconst mapContent = this.templates.stores(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\tmapContent,\n\t\t\t'A reference to all your data stores for easy inclusion.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StoreWriter.js","names":["_spruceSkillUtils","require","_SpruceError","_interopRequireDefault","_AbstractWriter2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","StoreWriter","exports","_AbstractWriter","_inherits2","_classCallCheck2","arguments","_createClass2","key","value","_writeStore","_asyncToGenerator2","_regenerator","mark","_callee","destination","options","namePascalPlural","files","filename","fileDest","contents","wrap","_callee$","_context","prev","next","concat","diskUtil","resolvePath","doesFileExist","SpruceError","code","templates","store","writeFile","lint","push","action","name","path","abrupt","stop","writeStore","_x","_x2","writePlugin","cwd","resolveHashSprucePath","pluginContents","storePlugin","results","writeFileIfChangedMixinResults","_writeTypesAndMap","_callee2","_yield$Promise$all","_yield$Promise$all2","types","map","_callee2$","_context2","Promise","all","writeTypes","writeMap","sent","_slicedToArray2","_toConsumableArray2","writeTypesAndMap","_x3","_x4","_writeTypes","_callee3","file","typesContent","_callee3$","_context3","storeTypes","_x5","_x6","_writeMap","_callee4","mapContent","_callee4$","_context4","stores","_x7","_x8","AbstractWriter"],"sources":["../../../../src/features/store/writers/StoreWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tStoreTemplateItem,\n\tStoreTemplateOptions,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class StoreWriter extends AbstractWriter {\n\tpublic async writeStore(destination: string, options: StoreTemplateOptions) {\n\t\tconst { namePascalPlural } = options\n\n\t\tconst files: GeneratedFile[] = []\n\n\t\tconst filename = `${namePascalPlural}.store.ts`\n\n\t\tconst fileDest = diskUtil.resolvePath(\n\t\t\tdestination,\n\t\t\t'src',\n\t\t\t'stores',\n\t\t\tfilename\n\t\t)\n\n\t\tif (diskUtil.doesFileExist(fileDest)) {\n\t\t\tthrow new SpruceError({ code: 'STORE_EXISTS' })\n\t\t}\n\n\t\tconst contents = this.templates.store(options)\n\n\t\tdiskUtil.writeFile(fileDest, contents)\n\n\t\tawait this.lint(fileDest)\n\n\t\tfiles.push({\n\t\t\taction: 'generated',\n\t\t\tname: filename,\n\t\t\tpath: fileDest,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'store.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.storePlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Loads all your data stores and connects you to any databases you have configured.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic async writeTypesAndMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst [types, map] = await Promise.all([\n\t\t\tthis.writeTypes(destination, options),\n\t\t\tthis.writeMap(destination, options),\n\t\t])\n\n\t\treturn [...types, ...map]\n\t}\n\n\tpublic async writeTypes(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.types.ts')\n\n\t\tconst typesContent = this.templates.storeTypes(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\ttypesContent,\n\t\t\t'The type merging for so the StoreFactory properly types you stores.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n\n\tpublic async writeMap(\n\t\tdestination: string,\n\t\toptions: { stores: StoreTemplateItem[] }\n\t) {\n\t\tconst file = diskUtil.resolvePath(destination, 'stores.ts')\n\t\tconst mapContent = this.templates.stores(options)\n\n\t\tconst files = this.writeFileIfChangedMixinResults(\n\t\t\tfile,\n\t\t\tmapContent,\n\t\t\t'A reference to all your data stores for easy inclusion.'\n\t\t)\n\n\t\tawait this.lint(file)\n\n\t\treturn files\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAA4D,SAAAI,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAEvCc,WAAW,GAAAC,OAAA,qCAAAC,eAAA;EAAA,IAAAC,UAAA,aAAAH,WAAA,EAAAE,eAAA;EAAA,SAAAF,YAAA;IAAA,IAAAI,gBAAA,mBAAAJ,WAAA;IAAA,OAAAf,UAAA,OAAAe,WAAA,EAAAK,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAN,WAAA;IAAAO,GAAA;IAAAC,KAAA;MAAA,IAAAC,WAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAC/B,SAAAC,QAAwBC,WAAmB,EAAEC,OAA6B;QAAA,IAAAC,gBAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,QAAA;QAAA,OAAAT,YAAA,YAAAU,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACjET,gBAAgB,GAAKD,OAAO,CAA5BC,gBAAgB;cAElBC,KAAsB,GAAG,EAAE;cAE3BC,QAAQ,MAAAQ,MAAA,CAAMV,gBAAgB;cAE9BG,QAAQ,GAAGQ,0BAAQ,CAACC,WAAW,CACpCd,WAAW,EACX,KAAK,EACL,QAAQ,EACRI,QACD,CAAC;cAAA,KAEGS,0BAAQ,CAACE,aAAa,CAACV,QAAQ,CAAC;gBAAAI,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,MAC7B,IAAIK,uBAAW,CAAC;gBAAEC,IAAI,EAAE;cAAe,CAAC,CAAC;YAAA;cAG1CX,QAAQ,GAAG,IAAI,CAACY,SAAS,CAACC,KAAK,CAAClB,OAAO,CAAC;cAE9CY,0BAAQ,CAACO,SAAS,CAACf,QAAQ,EAAEC,QAAQ,CAAC;cAAAG,QAAA,CAAAE,IAAA;cAAA,OAEhC,IAAI,CAACU,IAAI,CAAChB,QAAQ,CAAC;YAAA;cAEzBF,KAAK,CAACmB,IAAI,CAAC;gBACVC,MAAM,EAAE,WAAW;gBACnBC,IAAI,EAAEpB,QAAQ;gBACdqB,IAAI,EAAEpB;cACP,CAAC,CAAC;cAAA,OAAAI,QAAA,CAAAiB,MAAA,WAEKvB,KAAK;YAAA;YAAA;cAAA,OAAAM,QAAA,CAAAkB,IAAA;UAAA;QAAA,GAAA5B,OAAA;MAAA,CACZ;MAAA,SAAA6B,WAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAnC,WAAA,CAAAd,KAAA,OAAAU,SAAA;MAAA;MAAA,OAAAqC,UAAA;IAAA;EAAA;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAAqC,YAAmBC,GAAW,EAAE;MAC/B,IAAMhC,WAAW,GAAGa,0BAAQ,CAACoB,qBAAqB,CACjDD,GAAG,EACH,UAAU,EACV,iBACD,CAAC;MAED,IAAME,cAAc,GAAG,IAAI,CAAChB,SAAS,CAACiB,WAAW,CAAC,CAAC;MAEnD,IAAMC,OAAO,GAAG,IAAI,CAACC,8BAA8B,CAClDrC,WAAW,EACXkC,cAAc,EACd,mFACD,CAAC;MAED,OAAOE,OAAO;IACf;EAAC;IAAA3C,GAAA;IAAAC,KAAA;MAAA,IAAA4C,iBAAA,OAAA1C,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAyC,SACCvC,WAAmB,EACnBC,OAAwC;QAAA,IAAAuC,kBAAA,EAAAC,mBAAA,EAAAC,KAAA,EAAAC,GAAA;QAAA,OAAA9C,YAAA,YAAAU,IAAA,UAAAqC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnC,IAAA,GAAAmC,SAAA,CAAAlC,IAAA;YAAA;cAAAkC,SAAA,CAAAlC,IAAA;cAAA,OAEbmC,OAAO,CAACC,GAAG,CAAC,CACtC,IAAI,CAACC,UAAU,CAAChD,WAAW,EAAEC,OAAO,CAAC,EACrC,IAAI,CAACgD,QAAQ,CAACjD,WAAW,EAAEC,OAAO,CAAC,CACnC,CAAC;YAAA;cAAAuC,kBAAA,GAAAK,SAAA,CAAAK,IAAA;cAAAT,mBAAA,OAAAU,eAAA,aAAAX,kBAAA;cAHKE,KAAK,GAAAD,mBAAA;cAAEE,GAAG,GAAAF,mBAAA;cAAA,OAAAI,SAAA,CAAAnB,MAAA,cAAAd,MAAA,KAAAwC,mBAAA,aAKNV,KAAK,OAAAU,mBAAA,aAAKT,GAAG;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAlB,IAAA;UAAA;QAAA,GAAAY,QAAA;MAAA,CACxB;MAAA,SAAAc,iBAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAjB,iBAAA,CAAAzD,KAAA,OAAAU,SAAA;MAAA;MAAA,OAAA8D,gBAAA;IAAA;EAAA;IAAA5D,GAAA;IAAAC,KAAA;MAAA,IAAA8D,WAAA,OAAA5D,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA2D,SACCzD,WAAmB,EACnBC,OAAwC;QAAA,IAAAyD,IAAA,EAAAC,YAAA,EAAAxD,KAAA;QAAA,OAAAN,YAAA,YAAAU,IAAA,UAAAqD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnD,IAAA,GAAAmD,SAAA,CAAAlD,IAAA;YAAA;cAElC+C,IAAI,GAAG7C,0BAAQ,CAACC,WAAW,CAACd,WAAW,EAAE,iBAAiB,CAAC;cAE3D2D,YAAY,GAAG,IAAI,CAACzC,SAAS,CAAC4C,UAAU,CAAC7D,OAAO,CAAC;cAEjDE,KAAK,GAAG,IAAI,CAACkC,8BAA8B,CAChDqB,IAAI,EACJC,YAAY,EACZ,qEACD,CAAC;cAAAE,SAAA,CAAAlD,IAAA;cAAA,OAEK,IAAI,CAACU,IAAI,CAACqC,IAAI,CAAC;YAAA;cAAA,OAAAG,SAAA,CAAAnC,MAAA,WAEdvB,KAAK;YAAA;YAAA;cAAA,OAAA0D,SAAA,CAAAlC,IAAA;UAAA;QAAA,GAAA8B,QAAA;MAAA,CACZ;MAAA,SAAAT,WAAAe,GAAA,EAAAC,GAAA;QAAA,OAAAR,WAAA,CAAA3E,KAAA,OAAAU,SAAA;MAAA;MAAA,OAAAyD,UAAA;IAAA;EAAA;IAAAvD,GAAA;IAAAC,KAAA;MAAA,IAAAuE,SAAA,OAAArE,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAoE,SACClE,WAAmB,EACnBC,OAAwC;QAAA,IAAAyD,IAAA,EAAAS,UAAA,EAAAhE,KAAA;QAAA,OAAAN,YAAA,YAAAU,IAAA,UAAA6D,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA3D,IAAA,GAAA2D,SAAA,CAAA1D,IAAA;YAAA;cAElC+C,IAAI,GAAG7C,0BAAQ,CAACC,WAAW,CAACd,WAAW,EAAE,WAAW,CAAC;cACrDmE,UAAU,GAAG,IAAI,CAACjD,SAAS,CAACoD,MAAM,CAACrE,OAAO,CAAC;cAE3CE,KAAK,GAAG,IAAI,CAACkC,8BAA8B,CAChDqB,IAAI,EACJS,UAAU,EACV,yDACD,CAAC;cAAAE,SAAA,CAAA1D,IAAA;cAAA,OAEK,IAAI,CAACU,IAAI,CAACqC,IAAI,CAAC;YAAA;cAAA,OAAAW,SAAA,CAAA3C,MAAA,WAEdvB,KAAK;YAAA;YAAA;cAAA,OAAAkE,SAAA,CAAA1C,IAAA;UAAA;QAAA,GAAAuC,QAAA;MAAA,CACZ;MAAA,SAAAjB,SAAAsB,GAAA,EAAAC,GAAA;QAAA,OAAAP,SAAA,CAAApF,KAAA,OAAAU,SAAA;MAAA;MAAA,OAAA0D,QAAA;IAAA;EAAA;EAAA,OAAA/D,WAAA;AAAA,EAnGuCuF,2BAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TestFeature.js","names":["_spruceEventUtils","require","_spruceSkillUtils","_SpruceError","_interopRequireDefault","_tsConfig","_AbstractFeature2","_ParentTestFinder","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","TestFeature","exports","_AbstractFeature","_inherits2","_this","_classCallCheck2","_len","args","_key","concat","_assertThisInitialized2","code","isRequired","isDev","diskUtil","resolvePath","__dirname","_createClass2","key","_afterPackageInstall","_asyncToGenerator2","_regenerator","mark","_callee","service","wrap","_callee$","_context","prev","Service","configureJest","configureScripts","configureTsConfig","abrupt","stop","afterPackageInstall","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","scripts","get","set","path","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","_buildParentClassCandidates","_callee2","parentFinder","candidates","results","_eventResponseUtil$ge","payloads","_iterator","_step","payload","abstractClasses","_iterator2","_step2","ac","a","isInstalled","_callee2$","_context2","ParentTestFinder","findAbstractTests","sent","map","label","emitter","emit","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","isDefaultExport","featureCode","features","t0","finish","t1","sort","b","buildParentClassCandidates","AbstractFeature"],"sources":["../../../src/features/test/TestFeature.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../errors/SpruceError'\nimport PkgService from '../../services/PkgService'\nimport { NpmPackage } from '../../types/cli.types'\nimport tsConfigUtil from '../../utilities/tsConfig.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport ParentTestFinder from '../error/ParentTestFinder'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\ttest: TestFeature\n\t}\n}\n\nexport interface ParentClassCandidate {\n\tname: string\n\tlabel: string\n\tpath?: string\n\timport?: string\n\tisDefaultExport: boolean\n\tfeatureCode?: FeatureCode\n}\n\nexport default class TestFeature extends AbstractFeature {\n\tpublic nameReadable = 'Testing'\n\tpublic description = 'Test first. Test everything! 💪'\n\tpublic code: FeatureCode = 'test'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/test@latest', isDev: true },\n\t\t{ name: '@sprucelabs/test-utils@latest', isDev: true },\n\t\t{ name: '@sprucelabs/jest-json-reporter@latest', isDev: true },\n\t\t{ name: '@sprucelabs/spruce-test-fixtures@latest', isDev: true },\n\t\t{ name: 'jest-circus', isDev: true },\n\t\t{ name: 'jest', isDev: true },\n\t]\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall() {\n\t\tconst service = this.Service('pkg')\n\n\t\tthis.configureJest(service)\n\t\tthis.configureScripts(service)\n\t\tthis.configureTsConfig()\n\n\t\treturn {}\n\t}\n\n\tprivate configureTsConfig() {\n\t\ttry {\n\t\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\t\t\tif (!tsConfig.compilerOptions.experimentalDecorators) {\n\t\t\t\ttsConfig.compilerOptions.experimentalDecorators = true\n\t\t\t\ttsConfigUtil.setCompilerOption(this.cwd, 'experimentalDecorators', true)\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t//@ts-ignore\n\t\t}\n\t}\n\n\tprivate configureScripts(service: PkgService) {\n\t\tlet scripts = service.get('scripts') as Record<string, any> | undefined\n\n\t\tif (!scripts) {\n\t\t\tscripts = {}\n\t\t}\n\n\t\tif (!scripts.test) {\n\t\t\tscripts.test = 'jest'\n\t\t\tscripts['watch.tests'] = 'jest --watch'\n\t\t\tservice.set({ path: 'scripts', value: scripts })\n\t\t}\n\t}\n\n\tprivate configureJest(service: PkgService) {\n\t\tconst jestConfig = {\n\t\t\ttestRunner: 'jest-circus/runner',\n\t\t\tmaxWorkers: 4,\n\t\t\ttestTimeout: 120000,\n\t\t\ttestEnvironment: 'node',\n\t\t\ttestPathIgnorePatterns: [\n\t\t\t\t'<rootDir>/tmp/',\n\t\t\t\t'<rootDir>/src/',\n\t\t\t\t'<rootDir>/node_modules/',\n\t\t\t\t'<rootDir>/build/__tests__/testDirsAndFiles/',\n\t\t\t],\n\t\t\ttestMatch: ['**/__tests__/**/*.test.js?(x)'],\n\t\t\tmoduleNameMapper: {\n\t\t\t\t'^#spruce/(.*)$': '<rootDir>/build/.spruce/$1',\n\t\t\t},\n\t\t}\n\n\t\tconst existingJest = service.get('jest') as Record<string, any>\n\t\tif (!existingJest) {\n\t\t\tservice.set({ path: 'jest', value: jestConfig })\n\t\t}\n\t}\n\n\tpublic async buildParentClassCandidates(): Promise<ParentClassCandidate[]> {\n\t\tconst parentFinder = new ParentTestFinder(this.cwd)\n\t\tconst candidates: ParentClassCandidate[] = (\n\t\t\tawait parentFinder.findAbstractTests()\n\t\t).map((a) => ({ ...a, label: a.name }))\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'test.register-abstract-test-classes'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tfor (const payload of payloads) {\n\t\t\tconst { abstractClasses } = payload\n\n\t\t\tfor (const ac of abstractClasses) {\n\t\t\t\tconst a = { ...ac, isDefaultExport: false }\n\n\t\t\t\tif (ac.featureCode) {\n\t\t\t\t\tconst isInstalled = await this.features.isInstalled(\n\t\t\t\t\t\tac.featureCode as any\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!isInstalled) {\n\t\t\t\t\t\ta.label = `${a.label} (requires install)`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcandidates.push(a as any)\n\t\t\t}\n\t\t}\n\n\t\tcandidates.sort((a, b) => {\n\t\t\tif (a.label > b.label) {\n\t\t\t\treturn 1\n\t\t\t} else {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t})\n\n\t\treturn candidates\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestFeature.js","names":["_spruceEventUtils","require","_spruceSkillUtils","_SpruceError","_interopRequireDefault","_tsConfig","_AbstractFeature2","_ParentTestFinder","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","TestFeature","exports","_AbstractFeature","_inherits2","_this","_classCallCheck2","_len","args","_key","concat","_assertThisInitialized2","code","isRequired","isDev","diskUtil","resolvePath","__dirname","_createClass2","key","_afterPackageInstall","_asyncToGenerator2","_regenerator","mark","_callee","service","wrap","_callee$","_context","prev","Service","configureJest","configureScripts","configureTsConfig","abrupt","stop","afterPackageInstall","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","scripts","get","set","path","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","_buildParentClassCandidates","_callee2","parentFinder","candidates","results","_eventResponseUtil$ge","payloads","_iterator","_step","payload","abstractClasses","_iterator2","_step2","ac","a","isInstalled","_callee2$","_context2","ParentTestFinder","findAbstractTests","sent","map","label","emitter","emit","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","isDefaultExport","featureCode","features","t0","finish","t1","sort","b","buildParentClassCandidates","AbstractFeature"],"sources":["../../../src/features/test/TestFeature.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../errors/SpruceError'\nimport PkgService from '../../services/PkgService'\nimport { NpmPackage } from '../../types/cli.types'\nimport tsConfigUtil from '../../utilities/tsConfig.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport ParentTestFinder from '../error/ParentTestFinder'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\ttest: TestFeature\n\t}\n}\n\nexport interface ParentClassCandidate {\n\tname: string\n\tlabel: string\n\tpath?: string\n\timport?: string\n\tisDefaultExport: boolean\n\tfeatureCode?: FeatureCode\n}\n\nexport default class TestFeature extends AbstractFeature {\n\tpublic nameReadable = 'Testing'\n\tpublic description = 'Test first. Test everything! 💪'\n\tpublic code: FeatureCode = 'test'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/test@latest', isDev: true },\n\t\t{ name: '@sprucelabs/test-utils@latest', isDev: true },\n\t\t{ name: '@sprucelabs/jest-json-reporter@latest', isDev: true },\n\t\t{ name: '@sprucelabs/spruce-test-fixtures@latest', isDev: true },\n\t\t{ name: 'jest-circus', isDev: true },\n\t\t{ name: 'jest', isDev: true },\n\t]\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall() {\n\t\tconst service = this.Service('pkg')\n\n\t\tthis.configureJest(service)\n\t\tthis.configureScripts(service)\n\t\tthis.configureTsConfig()\n\n\t\treturn {}\n\t}\n\n\tprivate configureTsConfig() {\n\t\ttry {\n\t\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\t\t\tif (!tsConfig.compilerOptions.experimentalDecorators) {\n\t\t\t\ttsConfig.compilerOptions.experimentalDecorators = true\n\t\t\t\ttsConfigUtil.setCompilerOption(this.cwd, 'experimentalDecorators', true)\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t//@ts-ignore\n\t\t}\n\t}\n\n\tprivate configureScripts(service: PkgService) {\n\t\tlet scripts = service.get('scripts') as Record<string, any> | undefined\n\n\t\tif (!scripts) {\n\t\t\tscripts = {}\n\t\t}\n\n\t\tif (!scripts.test) {\n\t\t\tscripts.test = 'jest'\n\t\t\tscripts['watch.tests'] = 'jest --watch'\n\t\t\tservice.set({ path: 'scripts', value: scripts })\n\t\t}\n\t}\n\n\tprivate configureJest(service: PkgService) {\n\t\tconst jestConfig = {\n\t\t\ttestRunner: 'jest-circus/runner',\n\t\t\tmaxWorkers: 4,\n\t\t\ttestTimeout: 120000,\n\t\t\ttestEnvironment: 'node',\n\t\t\ttestPathIgnorePatterns: [\n\t\t\t\t'<rootDir>/tmp/',\n\t\t\t\t'<rootDir>/src/',\n\t\t\t\t'<rootDir>/node_modules/',\n\t\t\t\t'<rootDir>/build/__tests__/testDirsAndFiles/',\n\t\t\t],\n\t\t\ttestMatch: ['**/__tests__/**/*.test.js?(x)'],\n\t\t\tmoduleNameMapper: {\n\t\t\t\t'^#spruce/(.*)$': '<rootDir>/build/.spruce/$1',\n\t\t\t},\n\t\t}\n\n\t\tconst existingJest = service.get('jest') as Record<string, any>\n\t\tif (!existingJest) {\n\t\t\tservice.set({ path: 'jest', value: jestConfig })\n\t\t}\n\t}\n\n\tpublic async buildParentClassCandidates(): Promise<ParentClassCandidate[]> {\n\t\tconst parentFinder = new ParentTestFinder(this.cwd)\n\t\tconst candidates: ParentClassCandidate[] = (\n\t\t\tawait parentFinder.findAbstractTests()\n\t\t).map((a) => ({ ...a, label: a.name }))\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'test.register-abstract-test-classes'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tfor (const payload of payloads) {\n\t\t\tconst { abstractClasses } = payload\n\n\t\t\tfor (const ac of abstractClasses) {\n\t\t\t\tconst a = { ...ac, isDefaultExport: false }\n\n\t\t\t\tif (ac.featureCode) {\n\t\t\t\t\tconst isInstalled = await this.features.isInstalled(\n\t\t\t\t\t\tac.featureCode as any\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!isInstalled) {\n\t\t\t\t\t\ta.label = `${a.label} (requires install)`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcandidates.push(a as any)\n\t\t\t}\n\t\t}\n\n\t\tcandidates.sort((a, b) => {\n\t\t\tif (a.label > b.label) {\n\t\t\t\treturn 1\n\t\t\t} else {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t})\n\n\t\treturn candidates\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TestLogItemGenerator.js","names":["_testUtils","require","_chalk","_interopRequireDefault","_duration","TestLogItemGenerator","exports","_classCallCheck2","_defineProperty2","_createClass2","key","value","generateLogItemForFile","file","status","_this","testRunnerStatus","logContent","duration","calculateDurationInMsForFile","concat","generateStatusBlock","path","generateDuration","tests","forEach","test","bullet","bulletBasedOnStatus","name","_file$tests$length","_file$tests","pendingKey","length","calculateDurationInMs","durationColor","colorBasedOnStatus","durationUtil","msToFriendly","reduce","time","startTimes","Date","getTime","delta","generateErrorLogItemForFile","_file$tests2","errorContent","_test$errorMessages","errorMessages","message","cleaned","StackCleaner","clean","chalk","red","replace","errorMessage","resetStartTimes","bgColor","statusLabel","color","padding","centerStringWithSpaces","text","numberOfSpaces","trim","l","w2","Math","floor","l2","s","Array","join"],"sources":["../../../src/features/test/TestLogItemGenerator.ts"],"sourcesContent":["import { StackCleaner } from '@sprucelabs/test-utils'\nimport chalk from 'chalk'\nimport durationUtil from '../../utilities/duration.utility'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tTestRunnerStatus,\n} from './test.types'\n\nexport default class TestLogItemGenerator {\n\tprivate startTimes: Record<string, number> = {}\n\tprivate testRunnerStatus!: TestRunnerStatus\n\n\tpublic generateLogItemForFile(\n\t\tfile: SpruceTestFile,\n\t\tstatus: TestRunnerStatus\n\t): string {\n\t\tthis.testRunnerStatus = status\n\n\t\tlet logContent = ''\n\t\tconst duration = this.calculateDurationInMsForFile(file)\n\n\t\tlogContent += `${this.generateStatusBlock(file.status)} ${file.path}${\n\t\t\tduration ? ` ${this.generateDuration(file.status, duration)}` : ''\n\t\t}\\n`\n\n\t\tif (file.tests) {\n\t\t\tfile.tests.forEach((test) => {\n\t\t\t\tconst bullet = this.bulletBasedOnStatus(test.status)\n\t\t\t\tlogContent += ` ${bullet} ^-${\n\t\t\t\t\ttest.name\n\t\t\t\t}^ ${this.generateDuration(test.status, test.duration)}\\n`\n\t\t\t})\n\t\t}\n\n\t\tif (file.status === 'running') {\n\t\t\tconst pendingKey = `${file.path}-pending-${file.tests?.length ?? 0}`\n\t\t\tlogContent += ` ^-${'Running next test... ⚡️⚡️⚡️'}^ ${this.generateDuration(\n\t\t\t\t'running',\n\t\t\t\tthis.calculateDurationInMs(pendingKey)\n\t\t\t)}\\n`\n\t\t}\n\n\t\treturn logContent\n\t}\n\n\tprivate generateDuration(status: any, duration: number) {\n\t\tif (duration === 0) {\n\t\t\treturn ''\n\t\t}\n\t\tconst durationColor = this.colorBasedOnStatus(status)\n\t\treturn `^${durationColor}(${durationUtil.msToFriendly(duration)})^`\n\t}\n\n\tprivate bulletBasedOnStatus(\n\t\tstatus: SpruceTestFileTest['status'] | 'running'\n\t) {\n\t\tlet bullet = 'y'\n\n\t\tswitch (status) {\n\t\t\tcase 'running':\n\t\t\t\tbullet = '^g(running)^'\n\t\t\t\tbreak\n\t\t\tcase 'passed':\n\t\t\t\tbullet = '^g√^'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tbullet = '^rx^'\n\t\t\t\tbreak\n\t\t\tcase 'pending':\n\t\t\tcase 'skipped':\n\t\t\t\tbullet = '^y(skipped)^'\n\t\t\t\tbreak\n\t\t\tcase 'todo':\n\t\t\t\tbullet = '^y(todo)^'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbullet = '??'\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn bullet\n\t}\n\n\tprivate calculateDurationInMsForFile(file: SpruceTestFile): number {\n\t\tif (file.status !== 'running' && file.tests) {\n\t\t\treturn file.tests.reduce((time, test) => {\n\t\t\t\ttime += test.duration\n\t\t\t\treturn time\n\t\t\t}, 0)\n\t\t}\n\n\t\tconst key = file.path\n\t\treturn this.calculateDurationInMs(key)\n\t}\n\n\tprivate calculateDurationInMs(key: string) {\n\t\tif (!this.startTimes[key]) {\n\t\t\tthis.startTimes[key] = new Date().getTime()\n\t\t}\n\n\t\tconst delta = new Date().getTime() - this.startTimes[key]\n\t\treturn delta\n\t}\n\n\tpublic generateErrorLogItemForFile(file: SpruceTestFile): string {\n\t\tlet errorContent = ''\n\n\t\tfile.tests?.forEach((test) => {\n\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\tconst cleaned = message ?? StackCleaner.clean(message)\n\t\t\t\terrorContent += ` ${chalk.red(file.path)}\\n`\n\t\t\t\terrorContent += ` - ${chalk.red(test.name)}\\n\\n`\n\t\t\t\terrorContent += cleaned.replace(/\\n+ {4}at/i, '\\n\\n\\n at') + '\\n\\n\\n'\n\t\t\t})\n\t\t})\n\n\t\tif (!errorContent && file.errorMessage) {\n\t\t\terrorContent += `${chalk.red(file.path)}\\n`\n\t\t\terrorContent += file.errorMessage + '\\n\\n\\n'\n\t\t}\n\n\t\treturn errorContent\n\t}\n\n\tpublic resetStartTimes() {\n\t\tthis.startTimes = {}\n\t}\n\n\tprivate generateStatusBlock(status: SpruceTestFile['status']) {\n\t\tconst bgColor = this.colorBasedOnStatus(status)\n\n\t\tlet statusLabel = status as string\n\t\tlet color = 'k'\n\t\tlet padding = 10\n\t\tswitch (status) {\n\t\t\tcase 'passed':\n\t\t\t\tpadding = 11\n\t\t\t\tcolor = 'w'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tpadding = 11\n\t\t\t\tcolor = 'w'\n\t\t\t\tbreak\n\t\t}\n\n\t\tif (status === 'running' && this.testRunnerStatus === 'stopped') {\n\t\t\tstatusLabel = 'stopped'\n\t\t\tcolor = 'w'\n\t\t}\n\n\t\treturn `^b^#^${bgColor}^${color}^+${this.centerStringWithSpaces(\n\t\t\tstatusLabel,\n\t\t\tpadding\n\t\t)}^`\n\t}\n\n\tprivate colorBasedOnStatus(status: SpruceTestFile['status']) {\n\t\tlet color = 'y'\n\n\t\tswitch (status) {\n\t\t\tcase 'passed':\n\t\t\t\tcolor = 'g'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tcolor = 'r'\n\t\t\t\tbreak\n\t\t}\n\n\t\tif (status === 'running' && this.testRunnerStatus === 'stopped') {\n\t\t\tcolor = 'b'\n\t\t}\n\n\t\treturn color\n\t}\n\n\tprivate centerStringWithSpaces(text: string, numberOfSpaces: number) {\n\t\ttext = text.trim()\n\t\tlet l = text.length\n\t\tlet w2 = Math.floor(numberOfSpaces / 2)\n\t\tlet l2 = Math.floor(l / 2)\n\t\tlet s = new Array(w2 - l2 + 1).join(' ')\n\t\ttext = s + text + s\n\t\tif (text.length < numberOfSpaces) {\n\t\t\ttext += new Array(numberOfSpaces - text.length + 1).join(' ')\n\t\t}\n\t\treturn text\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestLogItemGenerator.js","names":["_testUtils","require","_chalk","_interopRequireDefault","_duration","TestLogItemGenerator","exports","_classCallCheck2","_defineProperty2","_createClass2","key","value","generateLogItemForFile","file","status","_this","testRunnerStatus","logContent","duration","calculateDurationInMsForFile","concat","generateStatusBlock","path","generateDuration","tests","forEach","test","bullet","bulletBasedOnStatus","name","_file$tests$length","_file$tests","pendingKey","length","calculateDurationInMs","durationColor","colorBasedOnStatus","durationUtil","msToFriendly","reduce","time","startTimes","Date","getTime","delta","generateErrorLogItemForFile","_file$tests2","errorContent","_test$errorMessages","errorMessages","message","cleaned","StackCleaner","clean","chalk","red","replace","errorMessage","resetStartTimes","bgColor","statusLabel","color","padding","centerStringWithSpaces","text","numberOfSpaces","trim","l","w2","Math","floor","l2","s","Array","join"],"sources":["../../../src/features/test/TestLogItemGenerator.ts"],"sourcesContent":["import { StackCleaner } from '@sprucelabs/test-utils'\nimport chalk from 'chalk'\nimport durationUtil from '../../utilities/duration.utility'\nimport {\n\tSpruceTestFile,\n\tSpruceTestFileTest,\n\tTestRunnerStatus,\n} from './test.types'\n\nexport default class TestLogItemGenerator {\n\tprivate startTimes: Record<string, number> = {}\n\tprivate testRunnerStatus!: TestRunnerStatus\n\n\tpublic generateLogItemForFile(\n\t\tfile: SpruceTestFile,\n\t\tstatus: TestRunnerStatus\n\t): string {\n\t\tthis.testRunnerStatus = status\n\n\t\tlet logContent = ''\n\t\tconst duration = this.calculateDurationInMsForFile(file)\n\n\t\tlogContent += `${this.generateStatusBlock(file.status)} ${file.path}${\n\t\t\tduration ? ` ${this.generateDuration(file.status, duration)}` : ''\n\t\t}\\n`\n\n\t\tif (file.tests) {\n\t\t\tfile.tests.forEach((test) => {\n\t\t\t\tconst bullet = this.bulletBasedOnStatus(test.status)\n\t\t\t\tlogContent += ` ${bullet} ^-${\n\t\t\t\t\ttest.name\n\t\t\t\t}^ ${this.generateDuration(test.status, test.duration)}\\n`\n\t\t\t})\n\t\t}\n\n\t\tif (file.status === 'running') {\n\t\t\tconst pendingKey = `${file.path}-pending-${file.tests?.length ?? 0}`\n\t\t\tlogContent += ` ^-${'Running next test... ⚡️⚡️⚡️'}^ ${this.generateDuration(\n\t\t\t\t'running',\n\t\t\t\tthis.calculateDurationInMs(pendingKey)\n\t\t\t)}\\n`\n\t\t}\n\n\t\treturn logContent\n\t}\n\n\tprivate generateDuration(status: any, duration: number) {\n\t\tif (duration === 0) {\n\t\t\treturn ''\n\t\t}\n\t\tconst durationColor = this.colorBasedOnStatus(status)\n\t\treturn `^${durationColor}(${durationUtil.msToFriendly(duration)})^`\n\t}\n\n\tprivate bulletBasedOnStatus(\n\t\tstatus: SpruceTestFileTest['status'] | 'running'\n\t) {\n\t\tlet bullet = 'y'\n\n\t\tswitch (status) {\n\t\t\tcase 'running':\n\t\t\t\tbullet = '^g(running)^'\n\t\t\t\tbreak\n\t\t\tcase 'passed':\n\t\t\t\tbullet = '^g√^'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tbullet = '^rx^'\n\t\t\t\tbreak\n\t\t\tcase 'pending':\n\t\t\tcase 'skipped':\n\t\t\t\tbullet = '^y(skipped)^'\n\t\t\t\tbreak\n\t\t\tcase 'todo':\n\t\t\t\tbullet = '^y(todo)^'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbullet = '??'\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn bullet\n\t}\n\n\tprivate calculateDurationInMsForFile(file: SpruceTestFile): number {\n\t\tif (file.status !== 'running' && file.tests) {\n\t\t\treturn file.tests.reduce((time, test) => {\n\t\t\t\ttime += test.duration\n\t\t\t\treturn time\n\t\t\t}, 0)\n\t\t}\n\n\t\tconst key = file.path\n\t\treturn this.calculateDurationInMs(key)\n\t}\n\n\tprivate calculateDurationInMs(key: string) {\n\t\tif (!this.startTimes[key]) {\n\t\t\tthis.startTimes[key] = new Date().getTime()\n\t\t}\n\n\t\tconst delta = new Date().getTime() - this.startTimes[key]\n\t\treturn delta\n\t}\n\n\tpublic generateErrorLogItemForFile(file: SpruceTestFile): string {\n\t\tlet errorContent = ''\n\n\t\tfile.tests?.forEach((test) => {\n\t\t\ttest.errorMessages?.forEach((message) => {\n\t\t\t\tconst cleaned = message ?? StackCleaner.clean(message)\n\t\t\t\terrorContent += ` ${chalk.red(file.path)}\\n`\n\t\t\t\terrorContent += ` - ${chalk.red(test.name)}\\n\\n`\n\t\t\t\terrorContent += cleaned.replace(/\\n+ {4}at/i, '\\n\\n\\n at') + '\\n\\n\\n'\n\t\t\t})\n\t\t})\n\n\t\tif (!errorContent && file.errorMessage) {\n\t\t\terrorContent += `${chalk.red(file.path)}\\n`\n\t\t\terrorContent += file.errorMessage + '\\n\\n\\n'\n\t\t}\n\n\t\treturn errorContent\n\t}\n\n\tpublic resetStartTimes() {\n\t\tthis.startTimes = {}\n\t}\n\n\tprivate generateStatusBlock(status: SpruceTestFile['status']) {\n\t\tconst bgColor = this.colorBasedOnStatus(status)\n\n\t\tlet statusLabel = status as string\n\t\tlet color = 'k'\n\t\tlet padding = 10\n\t\tswitch (status) {\n\t\t\tcase 'passed':\n\t\t\t\tpadding = 11\n\t\t\t\tcolor = 'w'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tpadding = 11\n\t\t\t\tcolor = 'w'\n\t\t\t\tbreak\n\t\t}\n\n\t\tif (status === 'running' && this.testRunnerStatus === 'stopped') {\n\t\t\tstatusLabel = 'stopped'\n\t\t\tcolor = 'w'\n\t\t}\n\n\t\treturn `^b^#^${bgColor}^${color}^+${this.centerStringWithSpaces(\n\t\t\tstatusLabel,\n\t\t\tpadding\n\t\t)}^`\n\t}\n\n\tprivate colorBasedOnStatus(status: SpruceTestFile['status']) {\n\t\tlet color = 'y'\n\n\t\tswitch (status) {\n\t\t\tcase 'passed':\n\t\t\t\tcolor = 'g'\n\t\t\t\tbreak\n\t\t\tcase 'failed':\n\t\t\t\tcolor = 'r'\n\t\t\t\tbreak\n\t\t}\n\n\t\tif (status === 'running' && this.testRunnerStatus === 'stopped') {\n\t\t\tcolor = 'b'\n\t\t}\n\n\t\treturn color\n\t}\n\n\tprivate centerStringWithSpaces(text: string, numberOfSpaces: number) {\n\t\ttext = text.trim()\n\t\tlet l = text.length\n\t\tlet w2 = Math.floor(numberOfSpaces / 2)\n\t\tlet l2 = Math.floor(l / 2)\n\t\tlet s = new Array(w2 - l2 + 1).join(' ')\n\t\ttext = s + text + s\n\t\tif (text.length < numberOfSpaces) {\n\t\t\ttext += new Array(numberOfSpaces - text.length + 1).join(' ')\n\t\t}\n\t\treturn text\n\t}\n}\n"],"mappings":"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","ignoreList":[]}