@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
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _schema = require("@sprucelabs/schema");
18
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
+ var _namedTemplateItem = _interopRequireDefault(require("../../../schemas/v2020_07_22/namedTemplateItem.builder"));
20
+ var _action = _interopRequireDefault(require("../../../utilities/action.utility"));
21
+ var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
+ var CreatePluginAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
27
+ (0, _inherits2["default"])(CreatePluginAction, _AbstractAction);
28
+ function CreatePluginAction() {
29
+ var _this;
30
+ (0, _classCallCheck2["default"])(this, CreatePluginAction);
31
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
+ args[_key] = arguments[_key];
33
+ }
34
+ _this = _callSuper(this, CreatePluginAction, [].concat(args));
35
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", optionsSchema);
36
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "invocationMessage", 'Creating a new view plugin... 🖼️');
37
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "commandAliases", ['create.view.plugin']);
38
+ return _this;
39
+ }
40
+ (0, _createClass2["default"])(CreatePluginAction, [{
41
+ key: "execute",
42
+ value: function () {
43
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(options) {
44
+ var _this$validateAndNorm, nameReadable, nameCamel, namePascal, normalizedNameCamel, normalizedNamePascal, writer, files, sync;
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _this$validateAndNorm = this.validateAndNormalizeOptions(options), nameReadable = _this$validateAndNorm.nameReadable, nameCamel = _this$validateAndNorm.nameCamel, namePascal = _this$validateAndNorm.namePascal;
49
+ normalizedNameCamel = nameCamel !== null && nameCamel !== void 0 ? nameCamel : _spruceSkillUtils.namesUtil.toCamel(nameReadable);
50
+ normalizedNamePascal = namePascal !== null && namePascal !== void 0 ? namePascal : _spruceSkillUtils.namesUtil.toPascal(normalizedNameCamel);
51
+ writer = this.Writer('view');
52
+ _context.next = 6;
53
+ return writer.writeViewControllerPlugin({
54
+ cwd: this.cwd,
55
+ nameCamel: normalizedNameCamel,
56
+ namePascal: normalizedNamePascal
57
+ });
58
+ case 6:
59
+ files = _context.sent;
60
+ _context.next = 9;
61
+ return this.Action('view', 'sync').execute({});
62
+ case 9:
63
+ sync = _context.sent;
64
+ return _context.abrupt("return", _action["default"].mergeActionResults({
65
+ files: files
66
+ }, sync));
67
+ case 11:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee, this);
72
+ }));
73
+ function execute(_x) {
74
+ return _execute.apply(this, arguments);
75
+ }
76
+ return execute;
77
+ }()
78
+ }]);
79
+ return CreatePluginAction;
80
+ }(_AbstractAction2["default"]);
81
+ var optionsSchema = (0, _schema.buildSchema)({
82
+ id: 'createViewPluginOptions',
83
+ fields: {
84
+ nameReadable: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameReadable), {}, {
85
+ label: 'Plugin name'
86
+ }),
87
+ nameCamel: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameCamel), {}, {
88
+ isRequired: false
89
+ }),
90
+ namePascal: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.namePascal), {}, {
91
+ isRequired: false
92
+ })
93
+ }
94
+ });
95
+ //# sourceMappingURL=CreatePluginAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreatePluginAction.js","names":["_schema","require","_spruceSkillUtils","_namedTemplateItem","_interopRequireDefault","_action","_AbstractAction2","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","CreatePluginAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","optionsSchema","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","options","_this$validateAndNorm","nameReadable","nameCamel","namePascal","normalizedNameCamel","normalizedNamePascal","writer","files","sync","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","namesUtil","toCamel","toPascal","Writer","writeViewControllerPlugin","cwd","sent","Action","execute","abrupt","actionUtil","mergeActionResults","stop","_x","AbstractAction","buildSchema","id","fields","namedTemplateItemBuilder","label","isRequired"],"sources":["../../../../src/features/view/actions/CreatePluginAction.ts"],"sourcesContent":["import { SchemaValues, buildSchema } 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'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class CreatePluginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new view plugin... 🖼️'\n\tpublic commandAliases: string[] = ['create.view.plugin']\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameCamel, namePascal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst normalizedNameCamel = nameCamel ?? namesUtil.toCamel(nameReadable)\n\t\tconst normalizedNamePascal =\n\t\t\tnamePascal ?? namesUtil.toPascal(normalizedNameCamel)\n\n\t\tconst writer = this.Writer('view')\n\t\tconst files = await writer.writeViewControllerPlugin({\n\t\t\tcwd: this.cwd,\n\t\t\tnameCamel: normalizedNameCamel,\n\t\t\tnamePascal: normalizedNamePascal,\n\t\t})\n\n\t\tconst sync = await this.Action('view', 'sync').execute({})\n\n\t\treturn actionUtil.mergeActionResults({ files }, sync)\n\t}\n}\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewPluginOptions',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Plugin name',\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemBuilder.fields.nameCamel,\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,gBAAA,GAAAF,sBAAA,CAAAH,OAAA;AAAiD,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,WAAAlB,CAAA,EAAAI,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAApB,CAAA,EAAAqB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAAnB,CAAA,EAAAwB,WAAA,IAAApB,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAF,CAAA;AAAA,SAAAuB,0BAAA,cAAArB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAqB,yBAAA,YAAAA,0BAAA,aAAArB,CAAA;AAAA,IAG5B6B,kBAAkB,GAAAC,OAAA,qCAAAC,eAAA;EAAA,IAAAC,UAAA,aAAAH,kBAAA,EAAAE,eAAA;EAAA,SAAAF,mBAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,kBAAA;IAAA,SAAAM,IAAA,GAAAxB,SAAA,CAAAC,MAAA,EAAAwB,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAA3B,SAAA,CAAA2B,IAAA;IAAA;IAAAL,KAAA,GAAAf,UAAA,OAAAW,kBAAA,KAAAU,MAAA,CAAAH,IAAA;IAAA,IAAAtB,gBAAA,iBAAA0B,uBAAA,aAAAP,KAAA,oBACfQ,aAAa;IAAA,IAAA3B,gBAAA,iBAAA0B,uBAAA,aAAAP,KAAA,wBACT,mCAAmC;IAAA,IAAAnB,gBAAA,iBAAA0B,uBAAA,aAAAP,KAAA,qBAC5B,CAAC,oBAAoB,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAS,aAAA,aAAAb,kBAAA;IAAAc,GAAA;IAAAC,KAAA;MAAA,IAAAC,QAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAExD,SAAAC,QACCC,OAAoC;QAAA,IAAAC,qBAAA,EAAAC,YAAA,EAAAC,SAAA,EAAAC,UAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,IAAA;QAAA,OAAAZ,YAAA,YAAAa,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAb,qBAAA,GAGnC,IAAI,CAACc,2BAA2B,CAACf,OAAO,CAAC,EADlCE,YAAY,GAAAD,qBAAA,CAAZC,YAAY,EAAEC,SAAS,GAAAF,qBAAA,CAATE,SAAS,EAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU;cAGrCC,mBAAmB,GAAGF,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIa,2BAAS,CAACC,OAAO,CAACf,YAAY,CAAC;cAClEI,oBAAoB,GACzBF,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIY,2BAAS,CAACE,QAAQ,CAACb,mBAAmB,CAAC;cAEhDE,MAAM,GAAG,IAAI,CAACY,MAAM,CAAC,MAAM,CAAC;cAAAP,QAAA,CAAAE,IAAA;cAAA,OACdP,MAAM,CAACa,yBAAyB,CAAC;gBACpDC,GAAG,EAAE,IAAI,CAACA,GAAG;gBACblB,SAAS,EAAEE,mBAAmB;gBAC9BD,UAAU,EAAEE;cACb,CAAC,CAAC;YAAA;cAJIE,KAAK,GAAAI,QAAA,CAAAU,IAAA;cAAAV,QAAA,CAAAE,IAAA;cAAA,OAMQ,IAAI,CAACS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAA;cAApDf,IAAI,GAAAG,QAAA,CAAAU,IAAA;cAAA,OAAAV,QAAA,CAAAa,MAAA,WAEHC,kBAAU,CAACC,kBAAkB,CAAC;gBAAEnB,KAAK,EAALA;cAAM,CAAC,EAAEC,IAAI,CAAC;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAgB,IAAA;UAAA;QAAA,GAAA7B,OAAA;MAAA,CACrD;MAAA,SAAAyB,QAAAK,EAAA;QAAA,OAAAlC,QAAA,CAAApC,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA+D,OAAA;IAAA;EAAA;EAAA,OAAA7C,kBAAA;AAAA,EAzB8CmD,2BAAc;AA4B9D,IAAMvC,aAAa,GAAG,IAAAwC,mBAAW,EAAC;EACjCC,EAAE,EAAE,yBAAyB;EAC7BC,MAAM,EAAE;IACP/B,YAAY,EAAA1C,aAAA,CAAAA,aAAA,KACR0E,6BAAwB,CAACD,MAAM,CAAC/B,YAAY;MAC/CiC,KAAK,EAAE;IAAa,EACpB;IACDhC,SAAS,EAAA3C,aAAA,CAAAA,aAAA,KACL0E,6BAAwB,CAACD,MAAM,CAAC9B,SAAS;MAC5CiC,UAAU,EAAE;IAAK,EACjB;IACDhC,UAAU,EAAA5C,aAAA,CAAAA,aAAA,KACN0E,6BAAwB,CAACD,MAAM,CAAC7B,UAAU;MAC7CgC,UAAU,EAAE;IAAK;EAEnB;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateThemeAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_action","_AbstractAction2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","CreateThemeAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","writer","events","syncResults","files","results","wrap","_callee$","_context","prev","next","Writer","doesThemeFileExist","cwd","abrupt","errors","SpruceError","code","getFeature","hasBeenSynced","Action","execute","sent","writeTheme","actionUtil","mergeActionResults","stop","_x","AbstractAction"],"sources":["../../../../src/features/view/actions/CreateThemeAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createThemeOptions',\n\tdescription: 'Create a theme for your skill.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateThemeAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.theme']\n\tpublic invocationMessage = `Let's get pretty! 🤩`\n\n\tpublic async execute(_options: SchemaValues<OptionsSchema>) {\n\t\tconst writer = this.Writer('view')\n\n\t\tif (writer.doesThemeFileExist(this.cwd)) {\n\t\t\treturn {\n\t\t\t\terrors: [\n\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\tcode: 'THEME_EXISTS',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\n\t\tconst events = this.getFeature('event')\n\t\tlet syncResults = {}\n\n\t\tif (!events.hasBeenSynced()) {\n\t\t\tsyncResults = await this.Action('event', 'sync').execute({})\n\t\t}\n\n\t\tconst files = await writer.writeTheme(this.cwd)\n\t\tconst results = { files }\n\n\t\treturn actionUtil.mergeActionResults(syncResults, results)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreateThemeAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_action","_AbstractAction2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","CreateThemeAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","writer","events","syncResults","files","results","wrap","_callee$","_context","prev","next","Writer","doesThemeFileExist","cwd","abrupt","errors","SpruceError","code","getFeature","hasBeenSynced","Action","execute","sent","writeTheme","actionUtil","mergeActionResults","stop","_x","AbstractAction"],"sources":["../../../../src/features/view/actions/CreateThemeAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'createThemeOptions',\n\tdescription: 'Create a theme for your skill.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateThemeAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.theme']\n\tpublic invocationMessage = `Let's get pretty! 🤩`\n\n\tpublic async execute(_options: SchemaValues<OptionsSchema>) {\n\t\tconst writer = this.Writer('view')\n\n\t\tif (writer.doesThemeFileExist(this.cwd)) {\n\t\t\treturn {\n\t\t\t\terrors: [\n\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\tcode: 'THEME_EXISTS',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\n\t\tconst events = this.getFeature('event')\n\t\tlet syncResults = {}\n\n\t\tif (!events.hasBeenSynced()) {\n\t\t\tsyncResults = await this.Action('event', 'sync').execute({})\n\t\t}\n\n\t\tconst files = await writer.writeTheme(this.cwd)\n\t\tconst results = { files }\n\n\t\treturn actionUtil.mergeActionResults(syncResults, results)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,6 @@
1
1
  import { SchemaValues } from '@sprucelabs/schema';
2
2
  import AbstractAction from '../../AbstractAction';
3
3
  import { FeatureActionResponse } from '../../features.types';
4
- declare const optionsSchema: {
5
- id: string;
6
- description: string;
7
- fields: {};
8
- };
9
- type OptionsSchema = typeof optionsSchema;
10
4
  export default class SyncAction extends AbstractAction<OptionsSchema> {
11
5
  optionsSchema: OptionsSchema;
12
6
  commandAliases: string[];
@@ -14,4 +8,10 @@ export default class SyncAction extends AbstractAction<OptionsSchema> {
14
8
  execute(_options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
15
9
  private mapIntrospectedClassToTemplateItem;
16
10
  }
11
+ declare const optionsSchema: {
12
+ id: string;
13
+ description: string;
14
+ fields: {};
15
+ };
16
+ type OptionsSchema = typeof optionsSchema;
17
17
  export {};
@@ -19,16 +19,13 @@ var _schema = require("@sprucelabs/schema");
19
19
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
20
20
  var _introspection = _interopRequireDefault(require("../../../utilities/introspection.utility"));
21
21
  var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
24
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
26
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
27
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
26
28
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
27
- var optionsSchema = (0, _schema.buildSchema)({
28
- id: 'syncViewsOptions',
29
- description: 'Keep types and generated files based on views in sync.',
30
- fields: {}
31
- });
32
29
  var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
33
30
  (0, _inherits2["default"])(SyncAction, _AbstractAction);
34
31
  function SyncAction() {
@@ -48,13 +45,13 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
48
45
  value: function () {
49
46
  var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
50
47
  var _this2 = this;
51
- var targetDir, matches, paths, introspect, vcTemplateItems, svcTemplateItems, namespace, files;
48
+ var targetDir, matches, paths, introspect, vcTemplateItems, svcTemplateItems, viewPluginItems, namespace, files;
52
49
  return _regenerator["default"].wrap(function _callee$(_context) {
53
50
  while (1) switch (_context.prev = _context.next) {
54
51
  case 0:
55
52
  targetDir = _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src');
56
53
  _context.next = 3;
57
- return (0, _globby["default"])(['**/*.svc.ts', '**/*.vc.ts'], {
54
+ return (0, _globby["default"])(['**/*.svc.ts', '**/*.vc.ts', '**/*.view.plugin.ts'], {
58
55
  cwd: targetDir
59
56
  });
60
57
  case 3:
@@ -71,6 +68,7 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
71
68
  introspect = _introspection["default"].introspect(paths);
72
69
  vcTemplateItems = [];
73
70
  svcTemplateItems = [];
71
+ viewPluginItems = [];
74
72
  introspect.forEach(function (_ref) {
75
73
  var classes = _ref.classes;
76
74
  var _iterator = _createForOfIteratorHelper(classes),
@@ -80,9 +78,12 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
80
78
  var thisClass = _step.value;
81
79
  var _this2$mapIntrospecte = _this2.mapIntrospectedClassToTemplateItem(thisClass),
82
80
  vc = _this2$mapIntrospecte.vc,
83
- svc = _this2$mapIntrospecte.svc;
81
+ svc = _this2$mapIntrospecte.svc,
82
+ plugin = _this2$mapIntrospecte.plugin;
84
83
  if (vc) {
85
84
  vcTemplateItems.push(vc);
85
+ } else if (plugin) {
86
+ viewPluginItems.push(plugin);
86
87
  } else if (svc) {
87
88
  svcTemplateItems.push(svc);
88
89
  }
@@ -93,22 +94,23 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
93
94
  _iterator.f();
94
95
  }
95
96
  });
96
- _context.next = 13;
97
+ _context.next = 14;
97
98
  return this.Store('skill').loadCurrentSkillsNamespace();
98
- case 13:
99
+ case 14:
99
100
  namespace = _context.sent;
100
- _context.next = 16;
101
+ _context.next = 17;
101
102
  return this.Writer('view').writeCombinedViewsFile(this.cwd, {
102
103
  namespaceKebab: _spruceSkillUtils.namesUtil.toKebab(namespace),
103
104
  vcTemplateItems: vcTemplateItems,
104
- svcTemplateItems: svcTemplateItems
105
+ svcTemplateItems: svcTemplateItems,
106
+ viewPluginItems: viewPluginItems
105
107
  });
106
- case 16:
108
+ case 17:
107
109
  files = _context.sent;
108
110
  return _context.abrupt("return", {
109
111
  files: files
110
112
  });
111
- case 18:
113
+ case 19:
112
114
  case "end":
113
115
  return _context.stop();
114
116
  }
@@ -129,17 +131,29 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
129
131
  };
130
132
  var vc;
131
133
  var svc;
134
+ var plugin;
132
135
  if (c.classPath.endsWith('.svc.ts')) {
133
136
  svc = item;
137
+ } else if (c.classPath.endsWith('view.plugin.ts')) {
138
+ var nameCamel = c.classPath.match(/([^/]+).view.plugin.ts$/)[1];
139
+ plugin = _objectSpread(_objectSpread({}, item), {}, {
140
+ nameCamel: nameCamel
141
+ });
134
142
  } else {
135
143
  vc = item;
136
144
  }
137
145
  return {
138
146
  svc: svc,
139
- vc: vc
147
+ vc: vc,
148
+ plugin: plugin
140
149
  };
141
150
  }
142
151
  }]);
143
152
  return SyncAction;
144
153
  }(_AbstractAction2["default"]);
154
+ var optionsSchema = (0, _schema.buildSchema)({
155
+ id: 'syncViewsOptions',
156
+ description: 'Keep types and generated files based on views in sync.',
157
+ fields: {}
158
+ });
145
159
  //# sourceMappingURL=SyncAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["_globby","_interopRequireDefault","require","_schema","_spruceSkillUtils","_introspection","_AbstractAction2","_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","_callSuper","t","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","optionsSchema","buildSchema","id","description","fields","SyncAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_this2","targetDir","matches","paths","introspect","vcTemplateItems","svcTemplateItems","namespace","files","wrap","_callee$","_context","prev","diskUtil","resolvePath","cwd","globby","sent","abrupt","map","m","introspectionUtil","forEach","_ref","classes","_iterator","_step","thisClass","_this2$mapIntrospecte","mapIntrospectedClassToTemplateItem","vc","svc","push","Store","loadCurrentSkillsNamespace","Writer","writeCombinedViewsFile","namespaceKebab","namesUtil","toKebab","stop","execute","_x","c","item","staticProperties","namePascal","className","path","classPath","endsWith","AbstractAction"],"sources":["../../../../src/features/view/actions/SyncAction.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { VcTemplateItem } from '../../../../../spruce-templates/build'\nimport introspectionUtil, {\n\tIntrospectionClass,\n} from '../../../utilities/introspection.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncViewsOptions',\n\tdescription: 'Keep types and generated files based on views in sync.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.views']\n\tpublic invocationMessage = 'Syncing view controller types... 🌲'\n\n\tpublic async execute(\n\t\t_options: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst targetDir = diskUtil.resolvePath(this.cwd, 'src')\n\t\tconst matches = await globby(['**/*.svc.ts', '**/*.vc.ts'], {\n\t\t\tcwd: targetDir,\n\t\t})\n\n\t\tif (matches.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst paths = matches.map((m) => diskUtil.resolvePath(targetDir, m))\n\t\tconst introspect = introspectionUtil.introspect(paths)\n\n\t\tconst vcTemplateItems: VcTemplateItem[] = []\n\t\tconst svcTemplateItems: VcTemplateItem[] = []\n\n\t\tintrospect.forEach(({ classes }) => {\n\t\t\tfor (const thisClass of classes) {\n\t\t\t\tconst { vc, svc } = this.mapIntrospectedClassToTemplateItem(thisClass)\n\n\t\t\t\tif (vc) {\n\t\t\t\t\tvcTemplateItems.push(vc)\n\t\t\t\t} else if (svc) {\n\t\t\t\t\tsvcTemplateItems.push(svc)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tconst files = await this.Writer('view').writeCombinedViewsFile(this.cwd, {\n\t\t\tnamespaceKebab: namesUtil.toKebab(namespace),\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate mapIntrospectedClassToTemplateItem(c: IntrospectionClass): {\n\t\tvc?: VcTemplateItem\n\t\tsvc?: VcTemplateItem\n\t} {\n\t\tconst item = {\n\t\t\tid: c.staticProperties.id,\n\t\t\tnamePascal: c.className,\n\t\t\tpath: c.classPath,\n\t\t}\n\n\t\tlet vc: VcTemplateItem | undefined\n\t\tlet svc: VcTemplateItem | undefined\n\n\t\tif (c.classPath.endsWith('.svc.ts')) {\n\t\t\tsvc = item\n\t\t} else {\n\t\t\tvc = item\n\t\t}\n\n\t\treturn { svc, vc }\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SyncAction.js","names":["_globby","_interopRequireDefault","require","_schema","_spruceSkillUtils","_introspection","_AbstractAction2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","SyncAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","_key","concat","_assertThisInitialized2","optionsSchema","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_this2","targetDir","matches","paths","introspect","vcTemplateItems","svcTemplateItems","viewPluginItems","namespace","files","wrap","_callee$","_context","prev","diskUtil","resolvePath","cwd","globby","sent","abrupt","map","m","introspectionUtil","_ref","classes","_iterator","_step","thisClass","_this2$mapIntrospecte","mapIntrospectedClassToTemplateItem","vc","svc","plugin","Store","loadCurrentSkillsNamespace","Writer","writeCombinedViewsFile","namespaceKebab","namesUtil","toKebab","stop","execute","_x","c","item","id","staticProperties","namePascal","className","path","classPath","endsWith","nameCamel","match","AbstractAction","buildSchema","description","fields"],"sources":["../../../../src/features/view/actions/SyncAction.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tVcTemplateItem,\n\tViewControllerPluginItem,\n} from '../../../../../spruce-templates/build'\nimport introspectionUtil, {\n\tIntrospectionClass,\n} from '../../../utilities/introspection.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.views']\n\tpublic invocationMessage = 'Syncing view controller types... 🌲'\n\n\tpublic async execute(\n\t\t_options: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst targetDir = diskUtil.resolvePath(this.cwd, 'src')\n\t\tconst matches = await globby(\n\t\t\t['**/*.svc.ts', '**/*.vc.ts', '**/*.view.plugin.ts'],\n\t\t\t{\n\t\t\t\tcwd: targetDir,\n\t\t\t}\n\t\t)\n\n\t\tif (matches.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst paths = matches.map((m) => diskUtil.resolvePath(targetDir, m))\n\t\tconst introspect = introspectionUtil.introspect(paths)\n\n\t\tconst vcTemplateItems: VcTemplateItem[] = []\n\t\tconst svcTemplateItems: VcTemplateItem[] = []\n\t\tconst viewPluginItems: ViewControllerPluginItem[] = []\n\n\t\tintrospect.forEach(({ classes }) => {\n\t\t\tfor (const thisClass of classes) {\n\t\t\t\tconst { vc, svc, plugin } =\n\t\t\t\t\tthis.mapIntrospectedClassToTemplateItem(thisClass)\n\n\t\t\t\tif (vc) {\n\t\t\t\t\tvcTemplateItems.push(vc)\n\t\t\t\t} else if (plugin) {\n\t\t\t\t\tviewPluginItems.push(plugin)\n\t\t\t\t} else if (svc) {\n\t\t\t\t\tsvcTemplateItems.push(svc)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tconst files = await this.Writer('view').writeCombinedViewsFile(this.cwd, {\n\t\t\tnamespaceKebab: namesUtil.toKebab(namespace),\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t\tviewPluginItems,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate mapIntrospectedClassToTemplateItem(c: IntrospectionClass): {\n\t\tvc?: VcTemplateItem\n\t\tsvc?: VcTemplateItem\n\t\tplugin?: ViewControllerPluginItem\n\t} {\n\t\tconst item = {\n\t\t\tid: c.staticProperties.id,\n\t\t\tnamePascal: c.className,\n\t\t\tpath: c.classPath,\n\t\t}\n\n\t\tlet vc: VcTemplateItem | undefined\n\t\tlet svc: VcTemplateItem | undefined\n\t\tlet plugin: ViewControllerPluginItem | undefined\n\n\t\tif (c.classPath.endsWith('.svc.ts')) {\n\t\t\tsvc = item\n\t\t} else if (c.classPath.endsWith('view.plugin.ts')) {\n\t\t\tconst nameCamel = c.classPath.match(/([^/]+).view.plugin.ts$/)![1]\n\t\t\tplugin = { ...item, nameCamel }\n\t\t} else {\n\t\t\tvc = item\n\t\t}\n\n\t\treturn { svc, vc, plugin }\n\t}\n}\n\nconst optionsSchema = buildSchema({\n\tid: 'syncViewsOptions',\n\tdescription: 'Keep types and generated files based on views in sync.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WatchAction.js","names":["_schema","require","_spruceEventUtils","_AbstractAction2","_interopRequireDefault","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","WatchAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_skill$name","_skill$slug","_this2","skill","commands","wrap","_callee$","_context","prev","next","Service","getCurrentSkill","skillName","name","skillNamespace","slug","resetUi","execute","onData","data","line","popLastLine","ui","startLoading","abrupt","summaryLines","stop","trim","split","filter","s","pop","getPreviewUrl","remote","getRemote","heartwoodRemoteUtil","buildUrl","clear","renderHero","renderDivider","renderLines","renderLine","AbstractAction"],"sources":["../../../../src/features/view/actions/WatchAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { heartwoodRemoteUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'watchViewsOptions',\n\tdescription: 'Watch for view changes and preview them in real time.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class WatchAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['watch.views']\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Watching views... 🤩'\n\tprivate skillName!: string\n\tprivate skillNamespace!: string\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\t\tthis.skillName = skill?.name ?? 'Unknown'\n\t\tthis.skillNamespace = skill?.slug ?? 'heartwood'\n\n\t\tthis.resetUi()\n\t\tconst commands = this.Service('command')\n\t\tawait commands.execute(\n\t\t\t'SHOULD_WATCH_VIEWS=true MAXIMUM_LOG_PREFIXES_LENGTH=0 yarn boot',\n\t\t\t{\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tconst line = this.popLastLine(data)\n\t\t\t\t\tthis.ui.startLoading(line)\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn {\n\t\t\tsummaryLines: [`Done watching...`],\n\t\t}\n\t}\n\n\tprivate popLastLine(data: string) {\n\t\tconst line = data\n\t\t\t.trim()\n\t\t\t.split('\\n')\n\t\t\t.filter((s) => !!s)\n\t\t\t.pop()\n\n\t\treturn line && line.length > 0 ? line.trim() : 'Waiting for changes'\n\t}\n\n\tprivate getPreviewUrl() {\n\t\tconst remote = this.Service('remote').getRemote() as any\n\t\treturn (\n\t\t\theartwoodRemoteUtil.buildUrl(remote) +\n\t\t\t`/#views/${this.skillNamespace}.root`\n\t\t)\n\t}\n\n\tprivate resetUi() {\n\t\tthis.ui.clear()\n\t\tthis.ui.renderHero('Heartwood')\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderLines([\n\t\t\t'',\n\t\t\t`Skill: ${this.skillName}`,\n\t\t\t`Preview: ${this.getPreviewUrl()}`,\n\t\t\t'',\n\t\t])\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderLine('')\n\t\tthis.ui.startLoading('Watching for changes')\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WatchAction.js","names":["_schema","require","_spruceEventUtils","_AbstractAction2","_interopRequireDefault","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","WatchAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_skill$name","_skill$slug","_this2","skill","commands","wrap","_callee$","_context","prev","next","Service","getCurrentSkill","skillName","name","skillNamespace","slug","resetUi","execute","onData","data","line","popLastLine","ui","startLoading","abrupt","summaryLines","stop","trim","split","filter","s","pop","getPreviewUrl","remote","getRemote","heartwoodRemoteUtil","buildUrl","clear","renderHero","renderDivider","renderLines","renderLine","AbstractAction"],"sources":["../../../../src/features/view/actions/WatchAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { heartwoodRemoteUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'watchViewsOptions',\n\tdescription: 'Watch for view changes and preview them in real time.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class WatchAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['watch.views']\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Watching views... 🤩'\n\tprivate skillName!: string\n\tprivate skillNamespace!: string\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\t\tthis.skillName = skill?.name ?? 'Unknown'\n\t\tthis.skillNamespace = skill?.slug ?? 'heartwood'\n\n\t\tthis.resetUi()\n\t\tconst commands = this.Service('command')\n\t\tawait commands.execute(\n\t\t\t'SHOULD_WATCH_VIEWS=true MAXIMUM_LOG_PREFIXES_LENGTH=0 yarn boot',\n\t\t\t{\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tconst line = this.popLastLine(data)\n\t\t\t\t\tthis.ui.startLoading(line)\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn {\n\t\t\tsummaryLines: [`Done watching...`],\n\t\t}\n\t}\n\n\tprivate popLastLine(data: string) {\n\t\tconst line = data\n\t\t\t.trim()\n\t\t\t.split('\\n')\n\t\t\t.filter((s) => !!s)\n\t\t\t.pop()\n\n\t\treturn line && line.length > 0 ? line.trim() : 'Waiting for changes'\n\t}\n\n\tprivate getPreviewUrl() {\n\t\tconst remote = this.Service('remote').getRemote() as any\n\t\treturn (\n\t\t\theartwoodRemoteUtil.buildUrl(remote) +\n\t\t\t`/#views/${this.skillNamespace}.root`\n\t\t)\n\t}\n\n\tprivate resetUi() {\n\t\tthis.ui.clear()\n\t\tthis.ui.renderHero('Heartwood')\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderLines([\n\t\t\t'',\n\t\t\t`Skill: ${this.skillName}`,\n\t\t\t`Preview: ${this.getPreviewUrl()}`,\n\t\t\t'',\n\t\t])\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderLine('')\n\t\tthis.ui.startLoading('Watching for changes')\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewStore.js","names":["_spruceEventUtils","require","_SpruceError","_interopRequireDefault","_AbstractStore2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ViewStore","exports","_AbstractStore","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_fetchSkillViews","_asyncToGenerator2","_regenerator","mark","_callee","client","skill","results","views","wrap","_callee$","_context","prev","next","connectToApi","shouldAuthAsCurrentSkill","sent","Service","getCurrentSkill","SpruceError","code","friendlyMessage","emit","target","namespace","slug","eventResponseUtil","getFirstResponseOrThrow","abrupt","t0","stop","fetchSkillViews","AbstractStore"],"sources":["../../../../src/features/view/stores/ViewStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport default class ViewStore extends AbstractStore {\n\tpublic name = 'view'\n\n\tpublic async fetchSkillViews() {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_NOT_REGISTERED',\n\t\t\t\tfriendlyMessage: `You can't get skill views without being registered. Try \\`spruce register\\``,\n\t\t\t})\n\t\t}\n\n\t\ttry {\n\t\t\tconst results = await client.emit(\n\t\t\t\t'heartwood.get-skill-views::v2021_02_11',\n\t\t\t\t{\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespace: skill.slug,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst views = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\treturn views\n\t\t} catch (err) {\n\t\t\treturn null\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ViewStore.js","names":["_spruceEventUtils","require","_SpruceError","_interopRequireDefault","_AbstractStore2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ViewStore","exports","_AbstractStore","_inherits2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_fetchSkillViews","_asyncToGenerator2","_regenerator","mark","_callee","client","skill","results","views","wrap","_callee$","_context","prev","next","connectToApi","shouldAuthAsCurrentSkill","sent","Service","getCurrentSkill","SpruceError","code","friendlyMessage","emit","target","namespace","slug","eventResponseUtil","getFirstResponseOrThrow","abrupt","t0","stop","fetchSkillViews","AbstractStore"],"sources":["../../../../src/features/view/stores/ViewStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport default class ViewStore extends AbstractStore {\n\tpublic name = 'view'\n\n\tpublic async fetchSkillViews() {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\t\tconst skill = this.Service('auth').getCurrentSkill()\n\n\t\tif (!skill) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_NOT_REGISTERED',\n\t\t\t\tfriendlyMessage: `You can't get skill views without being registered. Try \\`spruce register\\``,\n\t\t\t})\n\t\t}\n\n\t\ttry {\n\t\t\tconst results = await client.emit(\n\t\t\t\t'heartwood.get-skill-views::v2021_02_11',\n\t\t\t\t{\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespace: skill.slug,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst views = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\treturn views\n\t\t} catch (err) {\n\t\t\treturn null\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,11 @@ export default class ViewWriter extends AbstractWriter {
15
15
  }): Promise<import("../../../writers/AbstractWriter").WriteResults>;
16
16
  private writeController;
17
17
  doesRootControllerExist(cwd: string): boolean;
18
+ writeViewControllerPlugin(options: {
19
+ cwd: string;
20
+ nameCamel: string;
21
+ namePascal: string;
22
+ }): Promise<import("../../../writers/AbstractWriter").WriteResults>;
18
23
  writePlugin(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
19
24
  writeTheme(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
20
25
  private buildThemePath;
@@ -17,7 +17,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
18
  var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError"));
19
19
  var _AbstractWriter2 = _interopRequireDefault(require("../../../writers/AbstractWriter"));
20
- var _excluded = ["vcTemplateItems", "svcTemplateItems"];
20
+ var _excluded = ["vcTemplateItems", "svcTemplateItems", "viewPluginItems"];
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
23
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -41,25 +41,27 @@ var ViewWriter = exports["default"] = /*#__PURE__*/function (_AbstractWriter) {
41
41
  key: "writeCombinedViewsFile",
42
42
  value: function () {
43
43
  var _writeCombinedViewsFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(cwd, options) {
44
- var vcTemplateItems, svcTemplateItems, rest, destinationDir, destination, contents, results;
44
+ var vcTemplateItems, svcTemplateItems, viewPluginItems, rest, destinationDir, destination, contents, results;
45
45
  return _regenerator["default"].wrap(function _callee$(_context) {
46
46
  while (1) switch (_context.prev = _context.next) {
47
47
  case 0:
48
- vcTemplateItems = options.vcTemplateItems, svcTemplateItems = options.svcTemplateItems, rest = (0, _objectWithoutProperties2["default"])(options, _excluded);
48
+ vcTemplateItems = options.vcTemplateItems, svcTemplateItems = options.svcTemplateItems, viewPluginItems = options.viewPluginItems, rest = (0, _objectWithoutProperties2["default"])(options, _excluded);
49
49
  destinationDir = _spruceSkillUtils.diskUtil.resolveHashSprucePath(cwd, 'views');
50
50
  destination = _spruceSkillUtils.diskUtil.resolvePath(destinationDir, 'views.ts');
51
51
  vcTemplateItems = this.removeFileExtensionsFromTemplateItems(vcTemplateItems, destinationDir);
52
52
  svcTemplateItems = this.removeFileExtensionsFromTemplateItems(svcTemplateItems, destinationDir);
53
+ viewPluginItems = this.removeFileExtensionsFromTemplateItems(viewPluginItems, destinationDir);
53
54
  contents = this.templates.views(_objectSpread({
54
55
  vcTemplateItems: vcTemplateItems,
55
- svcTemplateItems: svcTemplateItems
56
+ svcTemplateItems: svcTemplateItems,
57
+ viewPluginItems: viewPluginItems
56
58
  }, rest));
57
- _context.next = 8;
59
+ _context.next = 9;
58
60
  return this.writeFileIfChangedMixinResults(destination, contents, 'Used to export your controllers to Heartwood.');
59
- case 8:
61
+ case 9:
60
62
  results = _context.sent;
61
63
  return _context.abrupt("return", results);
62
- case 10:
64
+ case 11:
63
65
  case "end":
64
66
  return _context.stop();
65
67
  }
@@ -135,6 +137,41 @@ var ViewWriter = exports["default"] = /*#__PURE__*/function (_AbstractWriter) {
135
137
  path = _this$buildViewContro3.path;
136
138
  return _spruceSkillUtils.diskUtil.doesFileExist(path);
137
139
  }
140
+ }, {
141
+ key: "writeViewControllerPlugin",
142
+ value: function () {
143
+ var _writeViewControllerPlugin = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(options) {
144
+ var nameCamel, namePascal, cwd, destination, contents;
145
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
146
+ while (1) switch (_context3.prev = _context3.next) {
147
+ case 0:
148
+ nameCamel = options.nameCamel, namePascal = options.namePascal, cwd = options.cwd;
149
+ destination = _spruceSkillUtils.diskUtil.resolvePath(cwd, 'src', 'viewPlugins', "".concat(nameCamel, ".view.plugin.ts"));
150
+ contents = this.templates.viewControllerPlugin({
151
+ nameCamel: nameCamel,
152
+ namePascal: namePascal
153
+ });
154
+ if (!_spruceSkillUtils.diskUtil.doesFileExist(destination)) {
155
+ _context3.next = 5;
156
+ break;
157
+ }
158
+ throw new _SpruceError["default"]({
159
+ code: 'VIEW_PLUGIN_ALREADY_EXISTS',
160
+ name: nameCamel
161
+ });
162
+ case 5:
163
+ return _context3.abrupt("return", this.writeFileIfChangedMixinResults(destination, contents, "Your new view plugin!"));
164
+ case 6:
165
+ case "end":
166
+ return _context3.stop();
167
+ }
168
+ }, _callee3, this);
169
+ }));
170
+ function writeViewControllerPlugin(_x5) {
171
+ return _writeViewControllerPlugin.apply(this, arguments);
172
+ }
173
+ return writeViewControllerPlugin;
174
+ }()
138
175
  }, {
139
176
  key: "writePlugin",
140
177
  value: function writePlugin(cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewWriter.js","names":["_spruceSkillUtils","require","_SpruceError","_interopRequireDefault","_AbstractWriter2","_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","ViewWriter","exports","_AbstractWriter","_inherits2","_classCallCheck2","_createClass2","key","value","writeSkillViewController","cwd","options","_this$buildViewContro","buildViewControllerPath","namePascal","path","writeController","viewType","_writeCombinedViewsFile","_asyncToGenerator2","_regenerator","mark","_callee","vcTemplateItems","svcTemplateItems","rest","destinationDir","destination","contents","results","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","diskUtil","resolveHashSprucePath","resolvePath","removeFileExtensionsFromTemplateItems","templates","views","writeFileIfChangedMixinResults","sent","abrupt","stop","writeCombinedViewsFile","_x","_x2","map","i","resolveRelativePath","replace","writeViewController","_this$buildViewContro2","_writeController","_callee2","viewModel","nameKebab","_callee2$","_context2","doesFileExist","SpruceError","code","name","skillViewController","viewController","lint","_x3","_x4","doesRootControllerExist","_this$buildViewContro3","writePlugin","pluginContents","viewPlugin","writeTheme","buildThemePath","theme","doesThemeFileExist","ext","filename","AbstractWriter"],"sources":["../../../../src/features/view/writers/ViewWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tVcTemplateItem,\n\tViewsOptions,\n} from '../../../../../spruce-templates/build'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class ViewWriter extends AbstractWriter {\n\tpublic writeSkillViewController(\n\t\tcwd: string,\n\t\toptions: {\n\t\t\tnamePascal: string\n\t\t\tnameKebab: string\n\t\t}\n\t) {\n\t\tconst { path } = this.buildViewControllerPath(\n\t\t\tcwd,\n\t\t\t'skillView',\n\t\t\toptions.namePascal\n\t\t)\n\n\t\treturn this.writeController(path, { ...options, viewType: 'skillView' })\n\t}\n\n\tpublic async writeCombinedViewsFile(cwd: string, options: ViewsOptions) {\n\t\tlet { vcTemplateItems, svcTemplateItems, ...rest } = options\n\n\t\tconst destinationDir = diskUtil.resolveHashSprucePath(cwd, 'views')\n\t\tconst destination = diskUtil.resolvePath(destinationDir, 'views.ts')\n\n\t\tvcTemplateItems = this.removeFileExtensionsFromTemplateItems(\n\t\t\tvcTemplateItems,\n\t\t\tdestinationDir\n\t\t)\n\n\t\tsvcTemplateItems = this.removeFileExtensionsFromTemplateItems(\n\t\t\tsvcTemplateItems,\n\t\t\tdestinationDir\n\t\t)\n\n\t\tconst contents = this.templates.views({\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t\t...rest,\n\t\t})\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'Used to export your controllers to Heartwood.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tprivate removeFileExtensionsFromTemplateItems(\n\t\tvcTemplateItems: VcTemplateItem[],\n\t\tdestinationDir: string\n\t): VcTemplateItem[] {\n\t\treturn vcTemplateItems.map((i) => ({\n\t\t\t...i,\n\t\t\tpath: diskUtil\n\t\t\t\t.resolveRelativePath(destinationDir, i.path)\n\t\t\t\t.replace('.ts', ''),\n\t\t}))\n\t}\n\n\tpublic writeViewController(\n\t\tcwd: string,\n\t\toptions: {\n\t\t\tviewType: string\n\t\t\tnamePascal: string\n\t\t\tviewModel: string\n\t\t\tnameKebab: string\n\t\t}\n\t) {\n\t\tconst { path } = this.buildViewControllerPath(\n\t\t\tcwd,\n\t\t\t'view',\n\t\t\toptions.namePascal\n\t\t)\n\n\t\treturn this.writeController(path, options)\n\t}\n\n\tprivate async writeController(path: string, options: any) {\n\t\tconst { namePascal, viewModel, viewType, nameKebab } = options\n\n\t\tif (diskUtil.doesFileExist(path)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_VIEW_EXISTS',\n\t\t\t\tname: namePascal,\n\t\t\t})\n\t\t}\n\n\t\tconst contents =\n\t\t\tviewType === 'skillView'\n\t\t\t\t? this.templates.skillViewController({ namePascal, nameKebab })\n\t\t\t\t: this.templates.viewController({ namePascal, viewModel, nameKebab })\n\n\t\tconst results = this.writeFileIfChangedMixinResults(path, contents, 'Test')\n\n\t\tawait this.lint(path)\n\n\t\treturn results\n\t}\n\n\tpublic doesRootControllerExist(cwd: string) {\n\t\tconst { path } = this.buildViewControllerPath(cwd, 'skillView', 'Root')\n\t\treturn diskUtil.doesFileExist(path)\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'view.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.viewPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with rendering views.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic writeTheme(cwd: string) {\n\t\tconst destination = this.buildThemePath(cwd)\n\n\t\tconst contents = this.templates.theme()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'Your brand new theme file!'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tprivate buildThemePath(cwd: string) {\n\t\treturn diskUtil.resolvePath(cwd, 'src', 'themes', 'skill.theme.ts')\n\t}\n\n\tpublic doesThemeFileExist(cwd: string) {\n\t\tconst destination = this.buildThemePath(cwd)\n\t\treturn diskUtil.doesFileExist(destination)\n\t}\n\n\tprivate buildViewControllerPath(\n\t\tcwd: string,\n\t\tviewType: 'skillView' | 'view',\n\t\tnamePascal: string\n\t) {\n\t\tconst ext = viewType === 'skillView' ? '.svc.ts' : '.vc.ts'\n\t\tconst filename = namePascal + ext\n\t\tconst path = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\t'src',\n\t\t\tviewType + 'Controllers',\n\t\t\tfilename\n\t\t)\n\t\treturn { path, filename }\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ViewWriter.js","names":["_spruceSkillUtils","require","_SpruceError","_interopRequireDefault","_AbstractWriter2","_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","ViewWriter","exports","_AbstractWriter","_inherits2","_classCallCheck2","_createClass2","key","value","writeSkillViewController","cwd","options","_this$buildViewContro","buildViewControllerPath","namePascal","path","writeController","viewType","_writeCombinedViewsFile","_asyncToGenerator2","_regenerator","mark","_callee","vcTemplateItems","svcTemplateItems","viewPluginItems","rest","destinationDir","destination","contents","results","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","diskUtil","resolveHashSprucePath","resolvePath","removeFileExtensionsFromTemplateItems","templates","views","writeFileIfChangedMixinResults","sent","abrupt","stop","writeCombinedViewsFile","_x","_x2","map","i","resolveRelativePath","replace","writeViewController","_this$buildViewContro2","_writeController","_callee2","viewModel","nameKebab","_callee2$","_context2","doesFileExist","SpruceError","code","name","skillViewController","viewController","lint","_x3","_x4","doesRootControllerExist","_this$buildViewContro3","_writeViewControllerPlugin","_callee3","nameCamel","_callee3$","_context3","concat","viewControllerPlugin","writeViewControllerPlugin","_x5","writePlugin","pluginContents","viewPlugin","writeTheme","buildThemePath","theme","doesThemeFileExist","ext","filename","AbstractWriter"],"sources":["../../../../src/features/view/writers/ViewWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tVcTemplateItem,\n\tViewControllerPluginItem,\n\tViewsOptions,\n} from '../../../../../spruce-templates/build'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class ViewWriter extends AbstractWriter {\n\tpublic writeSkillViewController(\n\t\tcwd: string,\n\t\toptions: {\n\t\t\tnamePascal: string\n\t\t\tnameKebab: string\n\t\t}\n\t) {\n\t\tconst { path } = this.buildViewControllerPath(\n\t\t\tcwd,\n\t\t\t'skillView',\n\t\t\toptions.namePascal\n\t\t)\n\n\t\treturn this.writeController(path, { ...options, viewType: 'skillView' })\n\t}\n\n\tpublic async writeCombinedViewsFile(cwd: string, options: ViewsOptions) {\n\t\tlet { vcTemplateItems, svcTemplateItems, viewPluginItems, ...rest } =\n\t\t\toptions\n\n\t\tconst destinationDir = diskUtil.resolveHashSprucePath(cwd, 'views')\n\t\tconst destination = diskUtil.resolvePath(destinationDir, 'views.ts')\n\n\t\tvcTemplateItems = this.removeFileExtensionsFromTemplateItems(\n\t\t\tvcTemplateItems,\n\t\t\tdestinationDir\n\t\t)\n\n\t\tsvcTemplateItems = this.removeFileExtensionsFromTemplateItems(\n\t\t\tsvcTemplateItems,\n\t\t\tdestinationDir\n\t\t)\n\n\t\tviewPluginItems = this.removeFileExtensionsFromTemplateItems(\n\t\t\tviewPluginItems,\n\t\t\tdestinationDir\n\t\t)\n\n\t\tconst contents = this.templates.views({\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t\tviewPluginItems,\n\t\t\t...rest,\n\t\t})\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'Used to export your controllers to Heartwood.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tprivate removeFileExtensionsFromTemplateItems<\n\t\tT extends VcTemplateItem | ViewControllerPluginItem,\n\t>(vcTemplateItems: T[], destinationDir: string): T[] {\n\t\treturn vcTemplateItems.map((i) => ({\n\t\t\t...i,\n\t\t\tpath: diskUtil\n\t\t\t\t.resolveRelativePath(destinationDir, i.path)\n\t\t\t\t.replace('.ts', ''),\n\t\t}))\n\t}\n\n\tpublic writeViewController(\n\t\tcwd: string,\n\t\toptions: {\n\t\t\tviewType: string\n\t\t\tnamePascal: string\n\t\t\tviewModel: string\n\t\t\tnameKebab: string\n\t\t}\n\t) {\n\t\tconst { path } = this.buildViewControllerPath(\n\t\t\tcwd,\n\t\t\t'view',\n\t\t\toptions.namePascal\n\t\t)\n\n\t\treturn this.writeController(path, options)\n\t}\n\n\tprivate async writeController(path: string, options: any) {\n\t\tconst { namePascal, viewModel, viewType, nameKebab } = options\n\n\t\tif (diskUtil.doesFileExist(path)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SKILL_VIEW_EXISTS',\n\t\t\t\tname: namePascal,\n\t\t\t})\n\t\t}\n\n\t\tconst contents =\n\t\t\tviewType === 'skillView'\n\t\t\t\t? this.templates.skillViewController({ namePascal, nameKebab })\n\t\t\t\t: this.templates.viewController({ namePascal, viewModel, nameKebab })\n\n\t\tconst results = this.writeFileIfChangedMixinResults(path, contents, 'Test')\n\n\t\tawait this.lint(path)\n\n\t\treturn results\n\t}\n\n\tpublic doesRootControllerExist(cwd: string) {\n\t\tconst { path } = this.buildViewControllerPath(cwd, 'skillView', 'Root')\n\t\treturn diskUtil.doesFileExist(path)\n\t}\n\n\tpublic async writeViewControllerPlugin(options: {\n\t\tcwd: string\n\t\tnameCamel: string\n\t\tnamePascal: string\n\t}) {\n\t\tconst { nameCamel, namePascal, cwd } = options\n\n\t\tconst destination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\t'src',\n\t\t\t'viewPlugins',\n\t\t\t`${nameCamel}.view.plugin.ts`\n\t\t)\n\n\t\tconst contents = this.templates.viewControllerPlugin({\n\t\t\tnameCamel,\n\t\t\tnamePascal,\n\t\t})\n\n\t\tif (diskUtil.doesFileExist(destination)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'VIEW_PLUGIN_ALREADY_EXISTS',\n\t\t\t\tname: nameCamel,\n\t\t\t})\n\t\t}\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t`Your new view plugin!`\n\t\t)\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'view.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.viewPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Supports your skill with rendering views.'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tpublic writeTheme(cwd: string) {\n\t\tconst destination = this.buildThemePath(cwd)\n\n\t\tconst contents = this.templates.theme()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'Your brand new theme file!'\n\t\t)\n\n\t\treturn results\n\t}\n\n\tprivate buildThemePath(cwd: string) {\n\t\treturn diskUtil.resolvePath(cwd, 'src', 'themes', 'skill.theme.ts')\n\t}\n\n\tpublic doesThemeFileExist(cwd: string) {\n\t\tconst destination = this.buildThemePath(cwd)\n\t\treturn diskUtil.doesFileExist(destination)\n\t}\n\n\tprivate buildViewControllerPath(\n\t\tcwd: string,\n\t\tviewType: 'skillView' | 'view',\n\t\tnamePascal: string\n\t) {\n\t\tconst ext = viewType === 'skillView' ? '.svc.ts' : '.vc.ts'\n\t\tconst filename = namePascal + ext\n\t\tconst path = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\t'src',\n\t\t\tviewType + 'Controllers',\n\t\t\tfilename\n\t\t)\n\t\treturn { path, filename }\n\t}\n}\n"],"mappings":"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","ignoreList":[]}