@sprucelabs/spruce-cli 19.1.41 → 19.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build/.spruce/errors/errors.types.d.ts +19 -0
  3. package/build/.spruce/errors/errors.types.js.map +1 -1
  4. package/build/.spruce/errors/options.types.d.ts +4 -1
  5. package/build/.spruce/errors/options.types.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  45. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  46. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.d.ts +3 -0
  47. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js +23 -0
  48. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js.map +1 -0
  49. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  50. package/build/.spruce/events/events.contract.js.map +1 -1
  51. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  52. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  53. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
  54. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  55. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  56. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
  57. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  58. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
  59. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
  60. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  61. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  70. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  71. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  72. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  73. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  74. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  75. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  76. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  77. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  78. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  79. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  80. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  81. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  82. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  83. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  84. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  85. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  86. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  87. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  88. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  89. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  112. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  113. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  114. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  115. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  116. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  117. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  118. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  119. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  120. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  121. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  122. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  123. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  124. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  125. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  126. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  127. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  128. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  129. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  130. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  131. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  132. package/build/.spruce/skill.types.js.map +1 -1
  133. package/build/GlobalEmitter.js.map +1 -1
  134. package/build/InFlightEntertainment.js.map +1 -1
  135. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  136. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  137. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  138. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  139. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  140. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  141. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  142. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  143. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  144. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  145. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  146. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  147. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  148. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  149. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  150. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  151. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  152. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  153. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  155. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  156. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  159. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  160. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  161. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  162. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  163. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  164. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  165. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  166. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  167. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  168. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  169. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  170. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  171. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  172. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  173. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  174. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  175. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  176. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  177. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  178. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  179. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  180. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  181. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
  182. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  183. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  184. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  185. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  186. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  187. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  188. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  189. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  190. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  191. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  192. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  193. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  194. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  195. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  196. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  197. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  198. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  199. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  200. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  201. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  202. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  203. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  204. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  205. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  206. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  207. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  208. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  209. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  210. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  211. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  212. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  213. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  214. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  215. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  216. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  217. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  218. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  219. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  220. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  221. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  222. package/build/__tests__/behavioral/views/CreatingASkillView.test.d.ts +1 -1
  223. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +6 -6
  224. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  225. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  226. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.d.ts +1 -1
  227. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +6 -6
  228. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  229. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  230. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  231. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  232. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  233. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.d.ts +23 -0
  234. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +355 -0
  235. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -0
  236. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  237. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  238. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  239. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  240. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  241. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  242. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  243. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  244. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  245. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  246. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  247. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  248. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  249. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  250. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  251. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  252. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  253. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  254. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  255. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  256. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  257. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  258. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  259. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  260. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  261. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  262. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  263. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  264. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  265. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  266. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  267. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  268. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  269. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  270. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  271. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  272. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  273. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  274. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  275. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  276. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  277. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  278. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  279. package/build/__tests__/support/EventFaker.js.map +1 -1
  280. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  281. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  282. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  283. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  284. package/build/addons/filePrompt.addon.js.map +1 -1
  285. package/build/boot.js.map +1 -1
  286. package/build/cli/Cli.js.map +1 -1
  287. package/build/components/AbstractComponent.js.map +1 -1
  288. package/build/components/FormComponent.js.map +1 -1
  289. package/build/components/QuizComponent.js.map +1 -1
  290. package/build/constants.js.map +1 -1
  291. package/build/errors/SpruceError.js +3 -0
  292. package/build/errors/SpruceError.js.map +1 -1
  293. package/build/errors/actionCancelled.builder.js.map +1 -1
  294. package/build/errors/bootError.builder.js.map +1 -1
  295. package/build/errors/buildFailed.builder.js.map +1 -1
  296. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  297. package/build/errors/commandAborted.builder.js.map +1 -1
  298. package/build/errors/commandBlocked.builder.js.map +1 -1
  299. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  300. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  301. package/build/errors/dependencyExists.builder.js.map +1 -1
  302. package/build/errors/deployFailed.builder.js.map +1 -1
  303. package/build/errors/directoryEmpty.builder.js.map +1 -1
  304. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  305. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  306. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  307. package/build/errors/failedToImport.builder.js.map +1 -1
  308. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  309. package/build/errors/fileExists.builder.js.map +1 -1
  310. package/build/errors/generic.builder.js.map +1 -1
  311. package/build/errors/invalidCommand.builder.js.map +1 -1
  312. package/build/errors/invalidEventContract.builder.js.map +1 -1
  313. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  314. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  315. package/build/errors/lintFailed.builder.js.map +1 -1
  316. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  317. package/build/errors/missingDependencies.builder.js.map +1 -1
  318. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  319. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  320. package/build/errors/notImplemented.builder.js.map +1 -1
  321. package/build/errors/notLoggedIn.builder.js.map +1 -1
  322. package/build/errors/schemaExists.builder.js.map +1 -1
  323. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  324. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  325. package/build/errors/skillNotFound.builder.js.map +1 -1
  326. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  327. package/build/errors/skillViewExists.builder.js.map +1 -1
  328. package/build/errors/storeExists.builder.js.map +1 -1
  329. package/build/errors/testFailed.builder.js.map +1 -1
  330. package/build/errors/themeExists.builder.js.map +1 -1
  331. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  332. package/build/errors/viewPluginAlreadyExists.builder.d.ts +11 -0
  333. package/build/errors/viewPluginAlreadyExists.builder.js +18 -0
  334. package/build/errors/viewPluginAlreadyExists.builder.js.map +1 -0
  335. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  336. package/build/features/AbstractAction.js.map +1 -1
  337. package/build/features/AbstractFeature.js.map +1 -1
  338. package/build/features/ActionExecuter.js.map +1 -1
  339. package/build/features/ActionFactory.js.map +1 -1
  340. package/build/features/ActionQuestionAsker.js.map +1 -1
  341. package/build/features/FeatureCommandAttacher.js.map +1 -1
  342. package/build/features/FeatureInstaller.js.map +1 -1
  343. package/build/features/FeatureInstallerFactory.js.map +1 -1
  344. package/build/features/OverrideActionDecorator.js.map +1 -1
  345. package/build/features/cache/CacheFeature.js.map +1 -1
  346. package/build/features/cache/actions/DisableAction.js.map +1 -1
  347. package/build/features/cache/actions/EnableAction.js.map +1 -1
  348. package/build/features/cache/constants.js.map +1 -1
  349. package/build/features/conversation/ConversationFeature.js.map +1 -1
  350. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  351. package/build/features/conversation/actions/TestAction.js.map +1 -1
  352. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  353. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  354. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  355. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  356. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  357. package/build/features/deploy/DeployFeature.js.map +1 -1
  358. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  359. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  360. package/build/features/error/ErrorFeature.js.map +1 -1
  361. package/build/features/error/ParentTestFinder.js.map +1 -1
  362. package/build/features/error/actions/CreateAction.js.map +1 -1
  363. package/build/features/error/actions/SyncAction.js.map +1 -1
  364. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  365. package/build/features/event/EventFeature.js.map +1 -1
  366. package/build/features/event/actions/CreateAction.js.map +1 -1
  367. package/build/features/event/actions/ListenAction.js.map +1 -1
  368. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  369. package/build/features/event/actions/SyncAction.js.map +1 -1
  370. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  371. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  372. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  373. package/build/features/event/services/EventSettingsService.js.map +1 -1
  374. package/build/features/event/services/RemoteService.js.map +1 -1
  375. package/build/features/event/stores/EventStore.js.map +1 -1
  376. package/build/features/event/stores/ListenerStore.js.map +1 -1
  377. package/build/features/event/writers/EventWriter.js.map +1 -1
  378. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  379. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  380. package/build/features/feature.utilities.js.map +1 -1
  381. package/build/features/features.types.js.map +1 -1
  382. package/build/features/log/LogFeature.js.map +1 -1
  383. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  384. package/build/features/log/writers/LogWriter.js.map +1 -1
  385. package/build/features/node/NodeFeature.js.map +1 -1
  386. package/build/features/node/actions/CreateAction.js.map +1 -1
  387. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  388. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  389. package/build/features/node/writers/NodeWriter.js.map +1 -1
  390. package/build/features/onboard/OnboardFeature.js.map +1 -1
  391. package/build/features/onboard/ScriptLoader.js.map +1 -1
  392. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  393. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  394. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  395. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  396. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  397. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  398. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  399. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  400. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  401. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  402. package/build/features/organization/OrganizationFeature.js.map +1 -1
  403. package/build/features/organization/actions/CreateAction.js.map +1 -1
  404. package/build/features/organization/actions/InstallAction.js.map +1 -1
  405. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  406. package/build/features/permission/PermissionFeature.js.map +1 -1
  407. package/build/features/permission/actions/CreateAction.js.map +1 -1
  408. package/build/features/permission/actions/SyncAction.js.map +1 -1
  409. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  410. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  411. package/build/features/person/PersonFeature.js.map +1 -1
  412. package/build/features/person/actions/LoginAction.js.map +1 -1
  413. package/build/features/person/actions/LogoutAction.js.map +1 -1
  414. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  415. package/build/features/polish/PolishFeature.js.map +1 -1
  416. package/build/features/polish/actions/SetupAction.js.map +1 -1
  417. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  418. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  419. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  420. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  421. package/build/features/schema/SchemaFeature.js.map +1 -1
  422. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  423. package/build/features/schema/actions/CreateAction.js.map +1 -1
  424. package/build/features/schema/actions/SyncAction.js.map +1 -1
  425. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  426. package/build/features/schema/services/SchemaService.js.map +1 -1
  427. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  428. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  429. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  430. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  431. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  432. package/build/features/skill/SkillFeature.js.map +1 -1
  433. package/build/features/skill/actions/BootAction.js.map +1 -1
  434. package/build/features/skill/actions/CreateAction.js.map +1 -1
  435. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  436. package/build/features/skill/actions/LoginAction.js.map +1 -1
  437. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  438. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  439. package/build/features/skill/stores/SkillStore.js.map +1 -1
  440. package/build/features/skill/updaters/Updater.js.map +1 -1
  441. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  442. package/build/features/store/StoreFeature.js.map +1 -1
  443. package/build/features/store/actions/CreateAction.js.map +1 -1
  444. package/build/features/store/actions/SyncAction.js.map +1 -1
  445. package/build/features/store/stores/StoreStore.js.map +1 -1
  446. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  447. package/build/features/store/writers/StoreWriter.js.map +1 -1
  448. package/build/features/test/TestFeature.js.map +1 -1
  449. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  450. package/build/features/test/TestReporter.js.map +1 -1
  451. package/build/features/test/TestRunner.js.map +1 -1
  452. package/build/features/test/actions/CreateAction.js.map +1 -1
  453. package/build/features/test/actions/SetupAction.js.map +1 -1
  454. package/build/features/test/actions/TestAction.js.map +1 -1
  455. package/build/features/test/test.types.js.map +1 -1
  456. package/build/features/test/writers/TestWriter.js.map +1 -1
  457. package/build/features/universalDevDependencies.js.map +1 -1
  458. package/build/features/universalFileDescriptions.js.map +1 -1
  459. package/build/features/universalScripts.js.map +1 -1
  460. package/build/features/validateAndNormalize.utility.js.map +1 -1
  461. package/build/features/view/ViewFeature.js.map +1 -1
  462. package/build/features/view/actions/CreateAction.d.ts +6 -6
  463. package/build/features/view/actions/CreateAction.js +59 -59
  464. package/build/features/view/actions/CreateAction.js.map +1 -1
  465. package/build/features/view/actions/CreatePluginAction.d.ts +56 -0
  466. package/build/features/view/actions/CreatePluginAction.js +95 -0
  467. package/build/features/view/actions/CreatePluginAction.js.map +1 -0
  468. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  469. package/build/features/view/actions/SyncAction.d.ts +6 -6
  470. package/build/features/view/actions/SyncAction.js +29 -15
  471. package/build/features/view/actions/SyncAction.js.map +1 -1
  472. package/build/features/view/actions/WatchAction.js.map +1 -1
  473. package/build/features/view/stores/ViewStore.js.map +1 -1
  474. package/build/features/view/writers/ViewWriter.d.ts +5 -0
  475. package/build/features/view/writers/ViewWriter.js +44 -7
  476. package/build/features/view/writers/ViewWriter.js.map +1 -1
  477. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  478. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  479. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  480. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  481. package/build/features/watch/WatchFeature.js.map +1 -1
  482. package/build/index.js.map +1 -1
  483. package/build/interfaces/SpyInterface.js.map +1 -1
  484. package/build/interfaces/TerminalInterface.js.map +1 -1
  485. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
  486. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  487. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  488. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  489. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  490. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  491. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  492. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
  493. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  494. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  495. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  496. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  497. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  498. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  499. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  500. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  501. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  502. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  503. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  504. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  505. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  506. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  507. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  508. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  509. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  510. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  511. package/build/services/BuildService.js.map +1 -1
  512. package/build/services/CommandService.js.map +1 -1
  513. package/build/services/DependencyService.js.map +1 -1
  514. package/build/services/GameService.js.map +1 -1
  515. package/build/services/ImportService.js.map +1 -1
  516. package/build/services/LintService.js.map +1 -1
  517. package/build/services/PkgService.js.map +1 -1
  518. package/build/services/ServiceFactory.js.map +1 -1
  519. package/build/services/TypeCheckerService.js.map +1 -1
  520. package/build/stores/AbstractLocalStore.js.map +1 -1
  521. package/build/stores/AbstractStore.js.map +1 -1
  522. package/build/stores/StoreFactory.js.map +1 -1
  523. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  524. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  525. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  526. package/build/tests/AbstractCliTest.js.map +1 -1
  527. package/build/tests/AbstractErrorTest.js.map +1 -1
  528. package/build/tests/AbstractEventTest.js.map +1 -1
  529. package/build/tests/AbstractSchemaTest.js.map +1 -1
  530. package/build/tests/AbstractSkillTest.js.map +1 -1
  531. package/build/tests/AbstractTestTest.js.map +1 -1
  532. package/build/tests/CommandFaker.js.map +1 -1
  533. package/build/tests/JestJsonParser.js.map +1 -1
  534. package/build/tests/MockProgramFactory.js.map +1 -1
  535. package/build/tests/buildTestCache.js.map +1 -1
  536. package/build/tests/cleanTestCache.js.map +1 -1
  537. package/build/tests/cleanTestData.js.map +1 -1
  538. package/build/tests/constants.js.map +1 -1
  539. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  540. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  541. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  542. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  543. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  544. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  545. package/build/tests/utilities/test.utility.js.map +1 -1
  546. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  547. package/build/types/apiClient.types.js.map +1 -1
  548. package/build/types/cli.types.js.map +1 -1
  549. package/build/types/graphicsInterface.types.js.map +1 -1
  550. package/build/updaters/ScriptUpdater.js.map +1 -1
  551. package/build/utilities/action.utility.js.map +1 -1
  552. package/build/utilities/apiClient.utility.js.map +1 -1
  553. package/build/utilities/argParser.utility.js.map +1 -1
  554. package/build/utilities/commander.utility.js.map +1 -1
  555. package/build/utilities/duration.utility.js.map +1 -1
  556. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  557. package/build/utilities/form.utility.js.map +1 -1
  558. package/build/utilities/introspection.utility.js.map +1 -1
  559. package/build/utilities/isCi.js.map +1 -1
  560. package/build/utilities/tsConfig.utility.js.map +1 -1
  561. package/build/utilities/ui.utility.js.map +1 -1
  562. package/build/widgets/Theme.js.map +1 -1
  563. package/build/widgets/WidgetFactory.js.map +1 -1
  564. package/build/widgets/keySelectChoices.js.map +1 -1
  565. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  566. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  567. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  568. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  569. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  570. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  571. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  572. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  573. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  574. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  575. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  576. package/build/widgets/types/button.types.js.map +1 -1
  577. package/build/widgets/types/factory.types.js.map +1 -1
  578. package/build/widgets/types/input.types.js.map +1 -1
  579. package/build/widgets/types/layout.types.js.map +1 -1
  580. package/build/widgets/types/menuBar.types.js.map +1 -1
  581. package/build/widgets/types/popup.types.js.map +1 -1
  582. package/build/widgets/types/progressBar.types.js.map +1 -1
  583. package/build/widgets/types/table.types.js.map +1 -1
  584. package/build/widgets/types/text.types.js.map +1 -1
  585. package/build/widgets/types/widgets.types.js.map +1 -1
  586. package/build/widgets/types/window.types.js.map +1 -1
  587. package/build/widgets/widget.utilities.js.map +1 -1
  588. package/build/writers/AbstractWriter.js.map +1 -1
  589. package/build/writers/WriterFactory.js.map +1 -1
  590. package/package.json +33 -33
  591. package/src/.spruce/errors/errors.types.ts +29 -0
  592. package/src/.spruce/errors/options.types.ts +4 -1
  593. package/src/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.ts +22 -0
  594. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  595. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
  596. package/src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts +161 -0
  597. package/src/errors/SpruceError.ts +4 -0
  598. package/src/errors/viewPluginAlreadyExists.builder.ts +12 -0
  599. package/src/features/view/actions/CreateAction.ts +72 -72
  600. package/src/features/view/actions/CreatePluginAction.ts +54 -0
  601. package/src/features/view/actions/SyncAction.ts +30 -14
  602. package/src/features/view/writers/ViewWriter.ts +45 -5
@@ -1 +1 @@
1
- {"version":3,"file":"syncSchemaFieldsOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","fieldTypesDestinationDir","type","label","hint","defaultValue","isPrivate","addonsLookupDir","generateFieldTypes"],"sources":["../../../src/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'syncSchemaFieldsOptions',\n\tname: 'syncSchemaFieldsOptions',\n\tdescription: 'Sync schema fields so you can use schemas!',\n\tfields: {\n\t\tfieldTypesDestinationDir: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Field types directory',\n\t\t\thint: 'Where field types and interfaces will be generated.',\n\t\t\tdefaultValue: '#spruce/schemas',\n\t\t\tisPrivate: true,\n\t\t},\n\t\taddonsLookupDir: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Addons lookup directory',\n\t\t\thint: \"Where I'll look for new schema fields to be registered.\",\n\t\t\tdefaultValue: 'src/addons',\n\t\t},\n\t\tgenerateFieldTypes: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Generate field types',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I generate field types too?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,yBAAyB;EAC7BC,IAAI,EAAE,yBAAyB;EAC/BC,WAAW,EAAE,4CAA4C;EACzDC,MAAM,EAAE;IACPC,wBAAwB,EAAE;MACzBC,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,uBAAuB;MAC9BC,IAAI,EAAE,qDAAqD;MAC3DC,YAAY,EAAE,iBAAiB;MAC/BC,SAAS,EAAE;IACZ,CAAC;IACDC,eAAe,EAAE;MAChBL,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,yBAAyB;MAChCC,IAAI,EAAE,yDAAyD;MAC/DC,YAAY,EAAE;IACf,CAAC;IACDG,kBAAkB,EAAE;MACnBN,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,sBAAsB;MAC7BG,SAAS,EAAE,IAAI;MACfF,IAAI,EAAE,oCAAoC;MAC1CC,YAAY,EAAE;IACf;EACD;AACD,CAAC,CAAC"}
1
+ {"version":3,"file":"syncSchemaFieldsOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","fieldTypesDestinationDir","type","label","hint","defaultValue","isPrivate","addonsLookupDir","generateFieldTypes"],"sources":["../../../src/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'syncSchemaFieldsOptions',\n\tname: 'syncSchemaFieldsOptions',\n\tdescription: 'Sync schema fields so you can use schemas!',\n\tfields: {\n\t\tfieldTypesDestinationDir: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Field types directory',\n\t\t\thint: 'Where field types and interfaces will be generated.',\n\t\t\tdefaultValue: '#spruce/schemas',\n\t\t\tisPrivate: true,\n\t\t},\n\t\taddonsLookupDir: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Addons lookup directory',\n\t\t\thint: \"Where I'll look for new schema fields to be registered.\",\n\t\t\tdefaultValue: 'src/addons',\n\t\t},\n\t\tgenerateFieldTypes: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Generate field types',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I generate field types too?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,yBAAyB;EAC7BC,IAAI,EAAE,yBAAyB;EAC/BC,WAAW,EAAE,4CAA4C;EACzDC,MAAM,EAAE;IACPC,wBAAwB,EAAE;MACzBC,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,uBAAuB;MAC9BC,IAAI,EAAE,qDAAqD;MAC3DC,YAAY,EAAE,iBAAiB;MAC/BC,SAAS,EAAE;IACZ,CAAC;IACDC,eAAe,EAAE;MAChBL,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,yBAAyB;MAChCC,IAAI,EAAE,yDAAyD;MAC/DC,YAAY,EAAE;IACf,CAAC;IACDG,kBAAkB,EAAE;MACnBN,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,sBAAsB;MAC7BG,SAAS,EAAE,IAAI;MACfF,IAAI,EAAE,oCAAoC;MAC1CC,YAAY,EAAE;IACf;EACD;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"syncSchemasOptions.builder.js","names":["_schema","require","_spruceSkillUtils","_syncSchemaFieldsOptions","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_default","exports","buildSchema","id","name","description","fields","syncSchemaFieldsBuilder","schemaTypesDestinationDirOrFile","type","label","hint","defaultValue","schemaLookupDir","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","shouldEnableVersioning","isPrivate","globalSchemaNamespace","DEFAULT_GLOBAL_SCHEMA_NAMESPACE","shouldFetchRemoteSchemas","shouldFetchLocalSchemas","shouldFetchCoreSchemas","shouldGenerateCoreSchemaTypes","registerBuiltSchemas","deleteDestinationDirIfNoSchemas","deleteOrphanedSchemas","generateStandaloneTypesFile","syncingMessage"],"sources":["../../../src/schemas/v2020_07_22/syncSchemasOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { DEFAULT_GLOBAL_SCHEMA_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport syncSchemaFieldsBuilder from './syncSchemaFieldsOptions.builder'\n\nexport default buildSchema({\n\tid: 'syncSchemasOptions',\n\tname: 'Sync schemas action',\n\tdescription: 'Options for schema.sync.',\n\tfields: {\n\t\t...syncSchemaFieldsBuilder.fields,\n\t\tschemaTypesDestinationDirOrFile: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Schema types destination directory',\n\t\t\thint: 'Where I will generate schema types and interfaces.',\n\t\t\tdefaultValue: '#spruce/schemas',\n\t\t},\n\t\tschemaLookupDir: {\n\t\t\ttype: 'text',\n\t\t\thint: 'Where I should look for your schema builders?',\n\t\t\tdefaultValue: 'src/schemas',\n\t\t},\n\t\tmoduleToImportFromWhenRemote: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Module import',\n\t\t\thint: 'When other skills use your schemas, will they import them from a module?',\n\t\t},\n\t\tshouldInstallMissingDependencies: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Auto install missing dependencies',\n\t\t},\n\t\tshouldEnableVersioning: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t\tlabel: 'Enable versioning',\n\t\t\thint: 'Should we use versioning?',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tglobalSchemaNamespace: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Global namespace',\n\t\t\thint: \"The name you'll use when accessing these schemas, e.g. SpruceSchemas\",\n\t\t\tisPrivate: true,\n\t\t\tdefaultValue: DEFAULT_GLOBAL_SCHEMA_NAMESPACE,\n\t\t},\n\t\tshouldFetchRemoteSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch remote schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'I will pull in schemas from other features.',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldFetchLocalSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch local schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'I will look in schemaLookupDir to load local schemas.',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldFetchCoreSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch core schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I pull in core schemas too?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldGenerateCoreSchemaTypes: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Generate core schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',\n\t\t},\n\t\tregisterBuiltSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Register built schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should the schemas use the SchemaRegistry for tracking?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tdeleteDestinationDirIfNoSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Delete directory if no schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I delete the schema directory if no schemas are found?',\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tdeleteOrphanedSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Delete orphaned schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I delete schemas where the builders are missing?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tgenerateStandaloneTypesFile: {\n\t\t\tlabel: 'Generate standalone types file',\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t\thint: \"By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.\",\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tsyncingMessage: {\n\t\t\tlabel: ' message',\n\t\t\ttype: 'text',\n\t\t\tdefaultValue: 'Syncing schemas...',\n\t\t\tisPrivate: true,\n\t\t},\n\t},\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"syncSchemasOptions.builder.js","names":["_schema","require","_spruceSkillUtils","_syncSchemaFieldsOptions","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_default","exports","buildSchema","id","name","description","fields","syncSchemaFieldsBuilder","schemaTypesDestinationDirOrFile","type","label","hint","defaultValue","schemaLookupDir","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","shouldEnableVersioning","isPrivate","globalSchemaNamespace","DEFAULT_GLOBAL_SCHEMA_NAMESPACE","shouldFetchRemoteSchemas","shouldFetchLocalSchemas","shouldFetchCoreSchemas","shouldGenerateCoreSchemaTypes","registerBuiltSchemas","deleteDestinationDirIfNoSchemas","deleteOrphanedSchemas","generateStandaloneTypesFile","syncingMessage"],"sources":["../../../src/schemas/v2020_07_22/syncSchemasOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { DEFAULT_GLOBAL_SCHEMA_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport syncSchemaFieldsBuilder from './syncSchemaFieldsOptions.builder'\n\nexport default buildSchema({\n\tid: 'syncSchemasOptions',\n\tname: 'Sync schemas action',\n\tdescription: 'Options for schema.sync.',\n\tfields: {\n\t\t...syncSchemaFieldsBuilder.fields,\n\t\tschemaTypesDestinationDirOrFile: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Schema types destination directory',\n\t\t\thint: 'Where I will generate schema types and interfaces.',\n\t\t\tdefaultValue: '#spruce/schemas',\n\t\t},\n\t\tschemaLookupDir: {\n\t\t\ttype: 'text',\n\t\t\thint: 'Where I should look for your schema builders?',\n\t\t\tdefaultValue: 'src/schemas',\n\t\t},\n\t\tmoduleToImportFromWhenRemote: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Module import',\n\t\t\thint: 'When other skills use your schemas, will they import them from a module?',\n\t\t},\n\t\tshouldInstallMissingDependencies: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Auto install missing dependencies',\n\t\t},\n\t\tshouldEnableVersioning: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true,\n\t\t\tlabel: 'Enable versioning',\n\t\t\thint: 'Should we use versioning?',\n\t\t\tisPrivate: true,\n\t\t},\n\t\tglobalSchemaNamespace: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Global namespace',\n\t\t\thint: \"The name you'll use when accessing these schemas, e.g. SpruceSchemas\",\n\t\t\tisPrivate: true,\n\t\t\tdefaultValue: DEFAULT_GLOBAL_SCHEMA_NAMESPACE,\n\t\t},\n\t\tshouldFetchRemoteSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch remote schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'I will pull in schemas from other features.',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldFetchLocalSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch local schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'I will look in schemaLookupDir to load local schemas.',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldFetchCoreSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Fetch core schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I pull in core schemas too?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tshouldGenerateCoreSchemaTypes: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Generate core schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',\n\t\t},\n\t\tregisterBuiltSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Register built schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should the schemas use the SchemaRegistry for tracking?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tdeleteDestinationDirIfNoSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Delete directory if no schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I delete the schema directory if no schemas are found?',\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tdeleteOrphanedSchemas: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Delete orphaned schemas',\n\t\t\tisPrivate: true,\n\t\t\thint: 'Should I delete schemas where the builders are missing?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tgenerateStandaloneTypesFile: {\n\t\t\tlabel: 'Generate standalone types file',\n\t\t\ttype: 'boolean',\n\t\t\tisPrivate: true,\n\t\t\thint: \"By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.\",\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tsyncingMessage: {\n\t\t\tlabel: ' message',\n\t\t\ttype: 'text',\n\t\t\tdefaultValue: 'Syncing schemas...',\n\t\t\tisPrivate: true,\n\t\t},\n\t},\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"testOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","shouldReportWhileRunning","type","label","hint","defaultValue","pattern","inspect","shouldHoldAtStart","shouldReturnImmediately","isPrivate","watchMode","options","choices","value"],"sources":["../../../src/schemas/v2020_07_22/testOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'testOptions',\n\tname: 'Test skill',\n\tdescription: 'Test your might! 💪',\n\tfields: {\n\t\tshouldReportWhileRunning: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Report while running',\n\t\t\thint: 'Should I output the test results while they are running?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tpattern: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Pattern',\n\t\t\thint: `I'll filter all tests that match this pattern`,\n\t\t},\n\t\tinspect: {\n\t\t\ttype: 'number',\n\t\t\tlabel: 'Inspect',\n\t\t\thint: `Pass --inspect related args to test process.`,\n\t\t},\n\t\tshouldHoldAtStart: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Should wait for manual start?',\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tshouldReturnImmediately: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Wait until tests are finished',\n\t\t\tisPrivate: true,\n\t\t\tdefaultValue: false,\n\t\t\thint: 'For testing. Returns immediately after executing test so the running process can be managed programatically.',\n\t\t},\n\t\twatchMode: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Watch',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'off',\n\t\t\t\t\t\tlabel: 'Off',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'standard',\n\t\t\t\t\t\tlabel: 'Standard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'smart',\n\t\t\t\t\t\tlabel: 'Smart',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,aAAa;EACjBC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,qBAAqB;EAClCC,MAAM,EAAE;IACPC,wBAAwB,EAAE;MACzBC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,sBAAsB;MAC7BC,IAAI,EAAE,0DAA0D;MAChEC,YAAY,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACRJ,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,SAAS;MAChBC,IAAI;IACL,CAAC;IACDG,OAAO,EAAE;MACRL,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,SAAS;MAChBC,IAAI;IACL,CAAC;IACDI,iBAAiB,EAAE;MAClBN,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,+BAA+B;MACtCE,YAAY,EAAE;IACf,CAAC;IACDI,uBAAuB,EAAE;MACxBP,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,+BAA+B;MACtCO,SAAS,EAAE,IAAI;MACfL,YAAY,EAAE,KAAK;MACnBD,IAAI,EAAE;IACP,CAAC;IACDO,SAAS,EAAE;MACVT,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,OAAO;MACdS,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,KAAK;UACZX,KAAK,EAAE;QACR,CAAC,EACD;UACCW,KAAK,EAAE,UAAU;UACjBX,KAAK,EAAE;QACR,CAAC,EACD;UACCW,KAAK,EAAE,OAAO;UACdX,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC"}
1
+ {"version":3,"file":"testOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","shouldReportWhileRunning","type","label","hint","defaultValue","pattern","inspect","shouldHoldAtStart","shouldReturnImmediately","isPrivate","watchMode","options","choices","value"],"sources":["../../../src/schemas/v2020_07_22/testOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'testOptions',\n\tname: 'Test skill',\n\tdescription: 'Test your might! 💪',\n\tfields: {\n\t\tshouldReportWhileRunning: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Report while running',\n\t\t\thint: 'Should I output the test results while they are running?',\n\t\t\tdefaultValue: true,\n\t\t},\n\t\tpattern: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Pattern',\n\t\t\thint: `I'll filter all tests that match this pattern`,\n\t\t},\n\t\tinspect: {\n\t\t\ttype: 'number',\n\t\t\tlabel: 'Inspect',\n\t\t\thint: `Pass --inspect related args to test process.`,\n\t\t},\n\t\tshouldHoldAtStart: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Should wait for manual start?',\n\t\t\tdefaultValue: false,\n\t\t},\n\t\tshouldReturnImmediately: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Wait until tests are finished',\n\t\t\tisPrivate: true,\n\t\t\tdefaultValue: false,\n\t\t\thint: 'For testing. Returns immediately after executing test so the running process can be managed programatically.',\n\t\t},\n\t\twatchMode: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Watch',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'off',\n\t\t\t\t\t\tlabel: 'Off',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'standard',\n\t\t\t\t\t\tlabel: 'Standard',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'smart',\n\t\t\t\t\t\tlabel: 'Smart',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,aAAa;EACjBC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,qBAAqB;EAClCC,MAAM,EAAE;IACPC,wBAAwB,EAAE;MACzBC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,sBAAsB;MAC7BC,IAAI,EAAE,0DAA0D;MAChEC,YAAY,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACRJ,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,SAAS;MAChBC,IAAI;IACL,CAAC;IACDG,OAAO,EAAE;MACRL,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,SAAS;MAChBC,IAAI;IACL,CAAC;IACDI,iBAAiB,EAAE;MAClBN,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,+BAA+B;MACtCE,YAAY,EAAE;IACf,CAAC;IACDI,uBAAuB,EAAE;MACxBP,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,+BAA+B;MACtCO,SAAS,EAAE,IAAI;MACfL,YAAY,EAAE,KAAK;MACnBD,IAAI,EAAE;IACP,CAAC;IACDO,SAAS,EAAE;MACVT,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,OAAO;MACdS,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,KAAK;UACZX,KAAK,EAAE;QACR,CAAC,EACD;UACCW,KAAK,EAAE,UAAU;UACjBX,KAAK,EAAE;QACR,CAAC,EACD;UACCW,KAAK,EAAE,OAAO;UACdX,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeSkillOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","upgradeMode","type","label","defaultValue","options","choices","value"],"sources":["../../../src/schemas/v2020_07_22/upgradeSkillOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'upgradeSkillOptions',\n\tname: 'Upgrade skill action',\n\tdescription: 'Upgrade. Everything. Heads up, this can take a few minutes. ⏱',\n\tfields: {\n\t\tupgradeMode: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Upgrade mode',\n\t\t\tdefaultValue: 'askForChanged',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'askForChanged',\n\t\t\t\t\t\tlabel: 'Ask for changed files',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'forceEverything',\n\t\t\t\t\t\tlabel: 'Force everything',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'forceRequiredSkipRest',\n\t\t\t\t\t\tlabel: 'Force required (skipping all non-essential)',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,sBAAsB;EAC5BC,WAAW,EAAE,+DAA+D;EAC5EC,MAAM,EAAE;IACPC,WAAW,EAAE;MACZC,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,cAAc;MACrBC,YAAY,EAAE,eAAe;MAC7BC,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,eAAe;UACtBJ,KAAK,EAAE;QACR,CAAC,EACD;UACCI,KAAK,EAAE,iBAAiB;UACxBJ,KAAK,EAAE;QACR,CAAC,EACD;UACCI,KAAK,EAAE,uBAAuB;UAC9BJ,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC"}
1
+ {"version":3,"file":"upgradeSkillOptions.builder.js","names":["_schema","require","_default","exports","buildSchema","id","name","description","fields","upgradeMode","type","label","defaultValue","options","choices","value"],"sources":["../../../src/schemas/v2020_07_22/upgradeSkillOptions.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nexport default buildSchema({\n\tid: 'upgradeSkillOptions',\n\tname: 'Upgrade skill action',\n\tdescription: 'Upgrade. Everything. Heads up, this can take a few minutes. ⏱',\n\tfields: {\n\t\tupgradeMode: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Upgrade mode',\n\t\t\tdefaultValue: 'askForChanged',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'askForChanged',\n\t\t\t\t\t\tlabel: 'Ask for changed files',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'forceEverything',\n\t\t\t\t\t\tlabel: 'Force everything',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'forceRequiredSkipRest',\n\t\t\t\t\t\tlabel: 'Force required (skipping all non-essential)',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAgD,IAAAC,QAAA,GAAAC,OAAA,cAEjC,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,sBAAsB;EAC5BC,WAAW,EAAE,+DAA+D;EAC5EC,MAAM,EAAE;IACPC,WAAW,EAAE;MACZC,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE,cAAc;MACrBC,YAAY,EAAE,eAAe;MAC7BC,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,eAAe;UACtBJ,KAAK,EAAE;QACR,CAAC,EACD;UACCI,KAAK,EAAE,iBAAiB;UACxBJ,KAAK,EAAE;QACR,CAAC,EACD;UACCI,KAAK,EAAE,uBAAuB;UAC9BJ,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["_schema","require","_generatedFile","_interopRequireDefault","_default","exports","buildSchema","id","name","fields","changes","type","isRequired","isArray","options","schemas","generatedFileBuilder"],"sources":["../../../src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'watcherDidDetectChangesEmitPayload',\n\tname: 'Watcher did detect changes emit payload',\n\tfields: {\n\t\tchanges: {\n\t\t\ttype: 'schema',\n\t\t\tisRequired: true,\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschemas: [\n\t\t\t\t\tgeneratedFileBuilder,\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedDir',\n\t\t\t\t\t\tfields: generatedFileBuilder.fields,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0D,IAAAG,QAAA,GAAAC,OAAA,cAE3C,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,oCAAoC;EACxCC,IAAI,EAAE,yCAAyC;EAC/CC,MAAM,EAAE;IACPC,OAAO,EAAE;MACRC,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,OAAO,EAAE,CACRC,yBAAoB,EACpB,IAAAV,mBAAW,EAAC;UACXC,EAAE,EAAE,cAAc;UAClBE,MAAM,EAAEO,yBAAoB,CAACP;QAC9B,CAAC,CAAC;MAEJ;IACD;EACD;AACD,CAAC,CAAC"}
1
+ {"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["_schema","require","_generatedFile","_interopRequireDefault","_default","exports","buildSchema","id","name","fields","changes","type","isRequired","isArray","options","schemas","generatedFileBuilder"],"sources":["../../../src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'watcherDidDetectChangesEmitPayload',\n\tname: 'Watcher did detect changes emit payload',\n\tfields: {\n\t\tchanges: {\n\t\t\ttype: 'schema',\n\t\t\tisRequired: true,\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschemas: [\n\t\t\t\t\tgeneratedFileBuilder,\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedDir',\n\t\t\t\t\t\tfields: generatedFileBuilder.fields,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0D,IAAAG,QAAA,GAAAC,OAAA,cAE3C,IAAAC,mBAAW,EAAC;EAC1BC,EAAE,EAAE,oCAAoC;EACxCC,IAAI,EAAE,yCAAyC;EAC/CC,MAAM,EAAE;IACPC,OAAO,EAAE;MACRC,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,OAAO,EAAE,CACRC,yBAAoB,EACpB,IAAAV,mBAAW,EAAC;UACXC,EAAE,EAAE,cAAc;UAClBE,MAAM,EAAEO,yBAAoB,CAACP;QAC9B,CAAC,CAAC;MAEJ;IACD;EACD;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BuildService.js","names":["BuildService","exports","commandService","lintService","_classCallCheck2","_defineProperty2","_createClass2","key","get","cwd","set","value","_build","_asyncToGenerator2","_regenerator","mark","_callee","options","results","wrap","_callee$","_context","prev","next","shouldFixLintFirst","fix","execute","sent","abrupt","stop","build","_x","apply","arguments"],"sources":["../../src/services/BuildService.ts"],"sourcesContent":["import CommandService from './CommandService'\nimport LintService from './LintService'\n\nexport default class BuildService {\n\tpublic set cwd(cwd: string) {\n\t\tthis.commandService.cwd = cwd\n\t}\n\n\tpublic get cwd() {\n\t\treturn this.commandService.cwd\n\t}\n\n\tprivate commandService: CommandService\n\tprivate lintService: LintService\n\n\tpublic constructor(commandService: CommandService, lintService: LintService) {\n\t\tthis.commandService = commandService\n\t\tthis.lintService = lintService\n\t}\n\n\tpublic async build(options?: { shouldFixLintFirst?: boolean }) {\n\t\tif (options?.shouldFixLintFirst !== false) {\n\t\t\tawait this.lintService.fix('**/*.ts')\n\t\t}\n\t\tconst results = await this.commandService.execute(`yarn build.dev`)\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;IAGqBA,YAAY,GAAAC,OAAA;EAYhC,SAAAD,aAAmBE,cAA8B,EAAEC,WAAwB,EAAE;IAAA,IAAAC,gBAAA,mBAAAJ,YAAA;IAAA,IAAAK,gBAAA;IAAA,IAAAA,gBAAA;IAC5E,IAAI,CAACH,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAC/B;EAAC,IAAAG,aAAA,aAAAN,YAAA;IAAAO,GAAA;IAAAC,GAAA,EAVD,SAAAA,IAAA,EAAiB;MAChB,OAAO,IAAI,CAACN,cAAc,CAACO,GAAG;IAC/B,CAAC;IAAAC,GAAA,EAND,SAAAA,IAAeD,GAAW,EAAE;MAC3B,IAAI,CAACP,cAAc,CAACO,GAAG,GAAGA,GAAG;IAC9B;EAAC;IAAAF,GAAA;IAAAI,KAAA;MAAA,IAAAC,MAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAcD,SAAAC,QAAmBC,OAA0C;QAAA,IAAAC,OAAA;QAAA,OAAAJ,YAAA,YAAAK,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,MACxD,CAAAN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,kBAAkB,MAAK,KAAK;gBAAAH,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAClC,IAAI,CAACpB,WAAW,CAACsB,GAAG,CAAC,SAAS,CAAC;YAAA;cAAAJ,QAAA,CAAAE,IAAA;cAAA,OAEhB,IAAI,CAACrB,cAAc,CAACwB,OAAO,iBAAiB,CAAC;YAAA;cAA7DR,OAAO,GAAAG,QAAA,CAAAM,IAAA;cAAA,OAAAN,QAAA,CAAAO,MAAA,WACNV,OAAO;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAQ,IAAA;UAAA;QAAA,GAAAb,OAAA;MAAA,CACd;MAAA,SAAAc,MAAAC,EAAA;QAAA,OAAAnB,MAAA,CAAAoB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAH,KAAA;IAAA;EAAA;EAAA,OAAA9B,YAAA;AAAA"}
1
+ {"version":3,"file":"BuildService.js","names":["BuildService","exports","commandService","lintService","_classCallCheck2","_defineProperty2","_createClass2","key","get","cwd","set","value","_build","_asyncToGenerator2","_regenerator","mark","_callee","options","results","wrap","_callee$","_context","prev","next","shouldFixLintFirst","fix","execute","sent","abrupt","stop","build","_x","apply","arguments"],"sources":["../../src/services/BuildService.ts"],"sourcesContent":["import CommandService from './CommandService'\nimport LintService from './LintService'\n\nexport default class BuildService {\n\tpublic set cwd(cwd: string) {\n\t\tthis.commandService.cwd = cwd\n\t}\n\n\tpublic get cwd() {\n\t\treturn this.commandService.cwd\n\t}\n\n\tprivate commandService: CommandService\n\tprivate lintService: LintService\n\n\tpublic constructor(commandService: CommandService, lintService: LintService) {\n\t\tthis.commandService = commandService\n\t\tthis.lintService = lintService\n\t}\n\n\tpublic async build(options?: { shouldFixLintFirst?: boolean }) {\n\t\tif (options?.shouldFixLintFirst !== false) {\n\t\t\tawait this.lintService.fix('**/*.ts')\n\t\t}\n\t\tconst results = await this.commandService.execute(`yarn build.dev`)\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;IAGqBA,YAAY,GAAAC,OAAA;EAYhC,SAAAD,aAAmBE,cAA8B,EAAEC,WAAwB,EAAE;IAAA,IAAAC,gBAAA,mBAAAJ,YAAA;IAAA,IAAAK,gBAAA;IAAA,IAAAA,gBAAA;IAC5E,IAAI,CAACH,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAC/B;EAAC,IAAAG,aAAA,aAAAN,YAAA;IAAAO,GAAA;IAAAC,GAAA,EAVD,SAAAA,IAAA,EAAiB;MAChB,OAAO,IAAI,CAACN,cAAc,CAACO,GAAG;IAC/B,CAAC;IAAAC,GAAA,EAND,SAAAA,IAAeD,GAAW,EAAE;MAC3B,IAAI,CAACP,cAAc,CAACO,GAAG,GAAGA,GAAG;IAC9B;EAAC;IAAAF,GAAA;IAAAI,KAAA;MAAA,IAAAC,MAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAcD,SAAAC,QAAmBC,OAA0C;QAAA,IAAAC,OAAA;QAAA,OAAAJ,YAAA,YAAAK,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,MACxD,CAAAN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,kBAAkB,MAAK,KAAK;gBAAAH,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAClC,IAAI,CAACpB,WAAW,CAACsB,GAAG,CAAC,SAAS,CAAC;YAAA;cAAAJ,QAAA,CAAAE,IAAA;cAAA,OAEhB,IAAI,CAACrB,cAAc,CAACwB,OAAO,iBAAiB,CAAC;YAAA;cAA7DR,OAAO,GAAAG,QAAA,CAAAM,IAAA;cAAA,OAAAN,QAAA,CAAAO,MAAA,WACNV,OAAO;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAQ,IAAA;UAAA;QAAA,GAAAb,OAAA;MAAA,CACd;MAAA,SAAAc,MAAAC,EAAA;QAAA,OAAAnB,MAAA,CAAAoB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAH,KAAA;IAAA;EAAA;EAAA,OAAA9B,YAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandService.js","names":["_child_process","require","_error","_interopRequireDefault","_spruceSkillUtils","_escapeRegExp","_stringArgv","_treeKill","_SpruceError","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","process","setMaxListeners","CommandService","exports","cwd","_this","_classCallCheck2","_this$activeChildProc","activeChildProcess","pid","ignoreCloseErrors","treeKill","_this$activeChildProc2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","cmd","options","_this2","args","executable","boundKill","_this$getMockResponse","mockResponse","mockKey","_mockResponse$callbac","_mockResponse$stdout","wrap","_callee$","_context","prev","next","stringArgv","shift","kill","bind","Error","getMockResponse","commandsRunCapturedByMockResponses","callback","call","code","SpruceError","concat","join","stdout","stderr","abrupt","on","Promise","resolve","reject","_child$stdout2","_child$stderr","spawnOptions","shouldStream","stdio","env","PATH","IS_CLI","FORCE_COLOR","forceColor","shell","child","spawn","outStream","_child$stdout","pipe","addListener","data","_options$onData","onData","toString","_options$onError","onError","closeHandler","off","undefined","setTimeout","_child$stdout3","_child$stderr2","removeAllListeners","ignoreErrors","search","escapeRegExp","ERROR_DIVIDER","stderrParts","split","err","AbstractSpruceError","parse","stop","execute","_x","_x2","trim","commands","fakeResponses","match","find","command","RegExp","replace","response","fakeCommand","unshift","clearFakedResponses"],"sources":["../../src/services/CommandService.ts"],"sourcesContent":["import { spawn, SpawnOptions, ChildProcess } from 'child_process'\nimport { Writable } from 'stream'\nimport AbstractSpruceError from '@sprucelabs/error'\nimport { ERROR_DIVIDER } from '@sprucelabs/spruce-skill-utils'\nimport escapeRegExp from 'lodash/escapeRegExp'\nimport stringArgv from 'string-argv'\nimport treeKill from 'tree-kill'\nimport SpruceError from '../errors/SpruceError'\n\nprocess.setMaxListeners(100)\n\nexport default class CommandService {\n\tpublic cwd: string\n\tprivate activeChildProcess: ChildProcess | undefined\n\tprivate ignoreCloseErrors = false\n\tprivate static fakeResponses: {\n\t\tcommand: string | RegExp\n\t\tresponse: MockResponse\n\t}[] = []\n\tprivate static commandsRunCapturedByMockResponses: string[] = []\n\n\tpublic constructor(cwd: string) {\n\t\tthis.cwd = cwd\n\t}\n\n\tpublic async execute(\n\t\tcmd: string,\n\t\toptions?: {\n\t\t\tignoreErrors?: boolean\n\t\t\targs?: string[]\n\t\t\tshouldStream?: boolean\n\t\t\toutStream?: Writable\n\t\t\tonError?: (error: string) => void\n\t\t\tonData?: (data: string) => void\n\t\t\tspawnOptions?: SpawnOptions\n\t\t\tforceColor?: boolean\n\t\t\tenv?: Record<string, any>\n\t\t}\n\t): Promise<{\n\t\tstdout: string\n\t}> {\n\t\tconst cwd = this.cwd\n\t\tconst args = options?.args || stringArgv(cmd)\n\t\tconst executable = options?.args ? cmd : args.shift()\n\t\tconst boundKill = this.kill.bind(this)\n\n\t\tif (!executable) {\n\t\t\tthrow new Error('Bad params sent to command service')\n\t\t}\n\n\t\tconst { mockResponse, mockKey } = this.getMockResponse(executable, args)\n\n\t\tif (mockResponse) {\n\t\t\tCommandService.commandsRunCapturedByMockResponses.push(mockKey)\n\t\t\tmockResponse.callback?.(executable, args)\n\n\t\t\tif (mockResponse.code !== 0) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\tcmd: `${executable} ${args.join(' ')}`,\n\t\t\t\t\tcwd,\n\t\t\t\t\tstdout: mockResponse.stdout,\n\t\t\t\t\tstderr: mockResponse.stderr,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn { stdout: mockResponse.stdout ?? '' }\n\t\t}\n\n\t\tprocess.on('exit', boundKill)\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet stdout = ''\n\t\t\tlet stderr = ''\n\t\t\tconst spawnOptions: SpawnOptions = options?.shouldStream\n\t\t\t\t? {\n\t\t\t\t\t\tstdio: 'inherit',\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tPATH: process.env.PATH,\n\t\t\t\t\t\t\tIS_CLI: 'true',\n\t\t\t\t\t\t\tFORCE_COLOR: options?.forceColor ? '1' : '0',\n\t\t\t\t\t\t\t...options?.env,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tPATH: process.env.PATH,\n\t\t\t\t\t\t\tIS_CLI: 'true',\n\t\t\t\t\t\t\tFORCE_COLOR: options?.forceColor ? '1' : '0',\n\t\t\t\t\t\t\t...options?.env,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshell: true,\n\t\t\t\t\t\t...options?.spawnOptions,\n\t\t\t\t\t}\n\n\t\t\tconst child = spawn(executable, args, spawnOptions)\n\t\t\tthis.activeChildProcess = child\n\n\t\t\tif (options?.outStream) {\n\t\t\t\tchild.stdout?.pipe(options.outStream)\n\t\t\t}\n\n\t\t\tchild.stdout?.addListener('data', (data) => {\n\t\t\t\toptions?.onData?.(data.toString())\n\t\t\t\tstdout += data\n\t\t\t})\n\n\t\t\tchild.stderr?.addListener('data', (data) => {\n\t\t\t\toptions?.onError?.(data.toString())\n\t\t\t\tstderr += data\n\t\t\t})\n\n\t\t\tconst closeHandler = (code: number) => {\n\t\t\t\tprocess.off('exit', boundKill)\n\n\t\t\t\tif (!this.activeChildProcess) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.activeChildProcess = undefined\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tchild.stdout?.removeAllListeners()\n\t\t\t\t\tchild.stderr?.removeAllListeners()\n\t\t\t\t\tchild.removeAllListeners()\n\n\t\t\t\t\tif (code === 0 || this.ignoreCloseErrors || options?.ignoreErrors) {\n\t\t\t\t\t\tresolve({ stdout })\n\t\t\t\t\t\tthis.ignoreCloseErrors = false\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (stderr.search(escapeRegExp(ERROR_DIVIDER)) > -1) {\n\t\t\t\t\t\t\tconst stderrParts = stderr.split(ERROR_DIVIDER)\n\t\t\t\t\t\t\tconst err = AbstractSpruceError.parse(stderrParts[1], SpruceError)\n\t\t\t\t\t\t\treject(err)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\t\t\t\tcmd: `${executable} ${args.join(' ')}`,\n\t\t\t\t\t\t\t\tcwd,\n\t\t\t\t\t\t\t\tstdout,\n\t\t\t\t\t\t\t\tstderr,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}, 0)\n\t\t\t}\n\n\t\t\tchild.addListener('close', closeHandler)\n\t\t\tchild.addListener('exit', closeHandler)\n\t\t})\n\t}\n\n\tpublic kill = () => {\n\t\tif (this.activeChildProcess?.pid) {\n\t\t\tthis.ignoreCloseErrors = true\n\t\t\ttreeKill(this.activeChildProcess.pid, 'SIGTERM')\n\t\t}\n\t}\n\n\tpublic pid = () => {\n\t\treturn this.activeChildProcess?.pid\n\t}\n\n\tprivate getMockResponse(executable: string, args: string[]) {\n\t\tconst mockKey = `${executable} ${args.join(' ')}`.trim()\n\t\tconst commands = CommandService.fakeResponses\n\t\tconst match = commands.find((r) =>\n\t\t\tr.command instanceof RegExp\n\t\t\t\t? mockKey.search(r.command) > -1\n\t\t\t\t: r.command.replace(/ +/gis, '') === mockKey.replace(/ +/gis, '')\n\t\t)\n\n\t\treturn { mockResponse: match?.response, mockKey }\n\t}\n\n\tpublic static fakeCommand(command: string | RegExp, response: MockResponse) {\n\t\tthis.fakeResponses.unshift({\n\t\t\tcommand,\n\t\t\tresponse,\n\t\t})\n\t}\n\n\tpublic static clearFakedResponses() {\n\t\tthis.fakeResponses = []\n\t}\n}\n\ninterface MockResponse {\n\tcode: number\n\tstdout?: string\n\tstderr?: string\n\tcallback?: (executable: string, args: any[]) => void\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandService.js","names":["_child_process","require","_error","_interopRequireDefault","_spruceSkillUtils","_escapeRegExp","_stringArgv","_treeKill","_SpruceError","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","process","setMaxListeners","CommandService","exports","cwd","_this","_classCallCheck2","_this$activeChildProc","activeChildProcess","pid","ignoreCloseErrors","treeKill","_this$activeChildProc2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","cmd","options","_this2","args","executable","boundKill","_this$getMockResponse","mockResponse","mockKey","_mockResponse$callbac","_mockResponse$stdout","wrap","_callee$","_context","prev","next","stringArgv","shift","kill","bind","Error","getMockResponse","commandsRunCapturedByMockResponses","callback","call","code","SpruceError","concat","join","stdout","stderr","abrupt","on","Promise","resolve","reject","_child$stdout2","_child$stderr","spawnOptions","shouldStream","stdio","env","PATH","IS_CLI","FORCE_COLOR","forceColor","shell","child","spawn","outStream","_child$stdout","pipe","addListener","data","_options$onData","onData","toString","_options$onError","onError","closeHandler","off","undefined","setTimeout","_child$stdout3","_child$stderr2","removeAllListeners","ignoreErrors","search","escapeRegExp","ERROR_DIVIDER","stderrParts","split","err","AbstractSpruceError","parse","stop","execute","_x","_x2","trim","commands","fakeResponses","match","find","command","RegExp","replace","response","fakeCommand","unshift","clearFakedResponses"],"sources":["../../src/services/CommandService.ts"],"sourcesContent":["import { spawn, SpawnOptions, ChildProcess } from 'child_process'\nimport { Writable } from 'stream'\nimport AbstractSpruceError from '@sprucelabs/error'\nimport { ERROR_DIVIDER } from '@sprucelabs/spruce-skill-utils'\nimport escapeRegExp from 'lodash/escapeRegExp'\nimport stringArgv from 'string-argv'\nimport treeKill from 'tree-kill'\nimport SpruceError from '../errors/SpruceError'\n\nprocess.setMaxListeners(100)\n\nexport default class CommandService {\n\tpublic cwd: string\n\tprivate activeChildProcess: ChildProcess | undefined\n\tprivate ignoreCloseErrors = false\n\tprivate static fakeResponses: {\n\t\tcommand: string | RegExp\n\t\tresponse: MockResponse\n\t}[] = []\n\tprivate static commandsRunCapturedByMockResponses: string[] = []\n\n\tpublic constructor(cwd: string) {\n\t\tthis.cwd = cwd\n\t}\n\n\tpublic async execute(\n\t\tcmd: string,\n\t\toptions?: {\n\t\t\tignoreErrors?: boolean\n\t\t\targs?: string[]\n\t\t\tshouldStream?: boolean\n\t\t\toutStream?: Writable\n\t\t\tonError?: (error: string) => void\n\t\t\tonData?: (data: string) => void\n\t\t\tspawnOptions?: SpawnOptions\n\t\t\tforceColor?: boolean\n\t\t\tenv?: Record<string, any>\n\t\t}\n\t): Promise<{\n\t\tstdout: string\n\t}> {\n\t\tconst cwd = this.cwd\n\t\tconst args = options?.args || stringArgv(cmd)\n\t\tconst executable = options?.args ? cmd : args.shift()\n\t\tconst boundKill = this.kill.bind(this)\n\n\t\tif (!executable) {\n\t\t\tthrow new Error('Bad params sent to command service')\n\t\t}\n\n\t\tconst { mockResponse, mockKey } = this.getMockResponse(executable, args)\n\n\t\tif (mockResponse) {\n\t\t\tCommandService.commandsRunCapturedByMockResponses.push(mockKey)\n\t\t\tmockResponse.callback?.(executable, args)\n\n\t\t\tif (mockResponse.code !== 0) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\tcmd: `${executable} ${args.join(' ')}`,\n\t\t\t\t\tcwd,\n\t\t\t\t\tstdout: mockResponse.stdout,\n\t\t\t\t\tstderr: mockResponse.stderr,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn { stdout: mockResponse.stdout ?? '' }\n\t\t}\n\n\t\tprocess.on('exit', boundKill)\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet stdout = ''\n\t\t\tlet stderr = ''\n\t\t\tconst spawnOptions: SpawnOptions = options?.shouldStream\n\t\t\t\t? {\n\t\t\t\t\t\tstdio: 'inherit',\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tPATH: process.env.PATH,\n\t\t\t\t\t\t\tIS_CLI: 'true',\n\t\t\t\t\t\t\tFORCE_COLOR: options?.forceColor ? '1' : '0',\n\t\t\t\t\t\t\t...options?.env,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\tPATH: process.env.PATH,\n\t\t\t\t\t\t\tIS_CLI: 'true',\n\t\t\t\t\t\t\tFORCE_COLOR: options?.forceColor ? '1' : '0',\n\t\t\t\t\t\t\t...options?.env,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshell: true,\n\t\t\t\t\t\t...options?.spawnOptions,\n\t\t\t\t\t}\n\n\t\t\tconst child = spawn(executable, args, spawnOptions)\n\t\t\tthis.activeChildProcess = child\n\n\t\t\tif (options?.outStream) {\n\t\t\t\tchild.stdout?.pipe(options.outStream)\n\t\t\t}\n\n\t\t\tchild.stdout?.addListener('data', (data) => {\n\t\t\t\toptions?.onData?.(data.toString())\n\t\t\t\tstdout += data\n\t\t\t})\n\n\t\t\tchild.stderr?.addListener('data', (data) => {\n\t\t\t\toptions?.onError?.(data.toString())\n\t\t\t\tstderr += data\n\t\t\t})\n\n\t\t\tconst closeHandler = (code: number) => {\n\t\t\t\tprocess.off('exit', boundKill)\n\n\t\t\t\tif (!this.activeChildProcess) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.activeChildProcess = undefined\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tchild.stdout?.removeAllListeners()\n\t\t\t\t\tchild.stderr?.removeAllListeners()\n\t\t\t\t\tchild.removeAllListeners()\n\n\t\t\t\t\tif (code === 0 || this.ignoreCloseErrors || options?.ignoreErrors) {\n\t\t\t\t\t\tresolve({ stdout })\n\t\t\t\t\t\tthis.ignoreCloseErrors = false\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (stderr.search(escapeRegExp(ERROR_DIVIDER)) > -1) {\n\t\t\t\t\t\t\tconst stderrParts = stderr.split(ERROR_DIVIDER)\n\t\t\t\t\t\t\tconst err = AbstractSpruceError.parse(stderrParts[1], SpruceError)\n\t\t\t\t\t\t\treject(err)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\tcode: 'EXECUTING_COMMAND_FAILED',\n\t\t\t\t\t\t\t\tcmd: `${executable} ${args.join(' ')}`,\n\t\t\t\t\t\t\t\tcwd,\n\t\t\t\t\t\t\t\tstdout,\n\t\t\t\t\t\t\t\tstderr,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}, 0)\n\t\t\t}\n\n\t\t\tchild.addListener('close', closeHandler)\n\t\t\tchild.addListener('exit', closeHandler)\n\t\t})\n\t}\n\n\tpublic kill = () => {\n\t\tif (this.activeChildProcess?.pid) {\n\t\t\tthis.ignoreCloseErrors = true\n\t\t\ttreeKill(this.activeChildProcess.pid, 'SIGTERM')\n\t\t}\n\t}\n\n\tpublic pid = () => {\n\t\treturn this.activeChildProcess?.pid\n\t}\n\n\tprivate getMockResponse(executable: string, args: string[]) {\n\t\tconst mockKey = `${executable} ${args.join(' ')}`.trim()\n\t\tconst commands = CommandService.fakeResponses\n\t\tconst match = commands.find((r) =>\n\t\t\tr.command instanceof RegExp\n\t\t\t\t? mockKey.search(r.command) > -1\n\t\t\t\t: r.command.replace(/ +/gis, '') === mockKey.replace(/ +/gis, '')\n\t\t)\n\n\t\treturn { mockResponse: match?.response, mockKey }\n\t}\n\n\tpublic static fakeCommand(command: string | RegExp, response: MockResponse) {\n\t\tthis.fakeResponses.unshift({\n\t\t\tcommand,\n\t\t\tresponse,\n\t\t})\n\t}\n\n\tpublic static clearFakedResponses() {\n\t\tthis.fakeResponses = []\n\t}\n}\n\ninterface MockResponse {\n\tcode: number\n\tstdout?: string\n\tstderr?: string\n\tcallback?: (executable: string, args: any[]) => void\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyService.js","names":["_SpruceError","_interopRequireDefault","require","DependencyService","exports","settings","_classCallCheck2","_defineProperty2","_createClass2","key","value","set","dependencies","add","dependency","_this$settings$get","assertDependencyDoesNotExist","namespace","get","push","match","find","d","SpruceError","code","_this$settings$get2"],"sources":["../../src/services/DependencyService.ts"],"sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\n\ninterface Dependency {\n\tid: string\n\tnamespace: string\n}\n\nexport default class DependencyService {\n\tprivate settings: SettingsService<string>\n\tpublic constructor(settings: SettingsService) {\n\t\tthis.settings = settings\n\t}\n\n\tpublic set(dependencies: Dependency[]) {\n\t\tthis.settings.set('dependencies', dependencies)\n\t}\n\n\tpublic add(dependency: Dependency) {\n\t\tthis.assertDependencyDoesNotExist(dependency.namespace)\n\n\t\tconst dependencies = this.settings.get('dependencies') ?? []\n\t\tdependencies.push(dependency)\n\t\tthis.settings.set('dependencies', dependencies)\n\t}\n\tprivate assertDependencyDoesNotExist(namespace: string) {\n\t\tconst dependencies = this.get()\n\t\tconst match = dependencies.find((d) => d.namespace === namespace)\n\n\t\tif (match) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPENDENCY_EXISTS',\n\t\t\t\tnamespace,\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic get(): Dependency[] {\n\t\treturn this.settings.get('dependencies') ?? []\n\t}\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+C,IAO1BC,iBAAiB,GAAAC,OAAA;EAErC,SAAAD,kBAAmBE,QAAyB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,iBAAA;IAAA,IAAAI,gBAAA;IAC7C,IAAI,CAACF,QAAQ,GAAGA,QAAQ;EACzB;EAAC,IAAAG,aAAA,aAAAL,iBAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAWC,YAA0B,EAAE;MACtC,IAAI,CAACP,QAAQ,CAACM,GAAG,CAAC,cAAc,EAAEC,YAAY,CAAC;IAChD;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,IAAWC,UAAsB,EAAE;MAAA,IAAAC,kBAAA;MAClC,IAAI,CAACC,4BAA4B,CAACF,UAAU,CAACG,SAAS,CAAC;MAEvD,IAAML,YAAY,IAAAG,kBAAA,GAAG,IAAI,CAACV,QAAQ,CAACa,GAAG,CAAC,cAAc,CAAC,cAAAH,kBAAA,cAAAA,kBAAA,GAAI,EAAE;MAC5DH,YAAY,CAACO,IAAI,CAACL,UAAU,CAAC;MAC7B,IAAI,CAACT,QAAQ,CAACM,GAAG,CAAC,cAAc,EAAEC,YAAY,CAAC;IAChD;EAAC;IAAAH,GAAA;IAAAC,KAAA,EACD,SAAAM,6BAAqCC,SAAiB,EAAE;MACvD,IAAML,YAAY,GAAG,IAAI,CAACM,GAAG,CAAC,CAAC;MAC/B,IAAME,KAAK,GAAGR,YAAY,CAACS,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACL,SAAS,KAAKA,SAAS;MAAA,EAAC;MAEjE,IAAIG,KAAK,EAAE;QACV,MAAM,IAAIG,uBAAW,CAAC;UACrBC,IAAI,EAAE,mBAAmB;UACzBP,SAAS,EAATA;QACD,CAAC,CAAC;MACH;IACD;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAQ,IAAA,EAA2B;MAAA,IAAAO,mBAAA;MAC1B,QAAAA,mBAAA,GAAO,IAAI,CAACpB,QAAQ,CAACa,GAAG,CAAC,cAAc,CAAC,cAAAO,mBAAA,cAAAA,mBAAA,GAAI,EAAE;IAC/C;EAAC;EAAA,OAAAtB,iBAAA;AAAA"}
1
+ {"version":3,"file":"DependencyService.js","names":["_SpruceError","_interopRequireDefault","require","DependencyService","exports","settings","_classCallCheck2","_defineProperty2","_createClass2","key","value","set","dependencies","add","dependency","_this$settings$get","assertDependencyDoesNotExist","namespace","get","push","match","find","d","SpruceError","code","_this$settings$get2"],"sources":["../../src/services/DependencyService.ts"],"sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\n\ninterface Dependency {\n\tid: string\n\tnamespace: string\n}\n\nexport default class DependencyService {\n\tprivate settings: SettingsService<string>\n\tpublic constructor(settings: SettingsService) {\n\t\tthis.settings = settings\n\t}\n\n\tpublic set(dependencies: Dependency[]) {\n\t\tthis.settings.set('dependencies', dependencies)\n\t}\n\n\tpublic add(dependency: Dependency) {\n\t\tthis.assertDependencyDoesNotExist(dependency.namespace)\n\n\t\tconst dependencies = this.settings.get('dependencies') ?? []\n\t\tdependencies.push(dependency)\n\t\tthis.settings.set('dependencies', dependencies)\n\t}\n\tprivate assertDependencyDoesNotExist(namespace: string) {\n\t\tconst dependencies = this.get()\n\t\tconst match = dependencies.find((d) => d.namespace === namespace)\n\n\t\tif (match) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'DEPENDENCY_EXISTS',\n\t\t\t\tnamespace,\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic get(): Dependency[] {\n\t\treturn this.settings.get('dependencies') ?? []\n\t}\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+C,IAO1BC,iBAAiB,GAAAC,OAAA;EAErC,SAAAD,kBAAmBE,QAAyB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,iBAAA;IAAA,IAAAI,gBAAA;IAC7C,IAAI,CAACF,QAAQ,GAAGA,QAAQ;EACzB;EAAC,IAAAG,aAAA,aAAAL,iBAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAWC,YAA0B,EAAE;MACtC,IAAI,CAACP,QAAQ,CAACM,GAAG,CAAC,cAAc,EAAEC,YAAY,CAAC;IAChD;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,IAAWC,UAAsB,EAAE;MAAA,IAAAC,kBAAA;MAClC,IAAI,CAACC,4BAA4B,CAACF,UAAU,CAACG,SAAS,CAAC;MAEvD,IAAML,YAAY,IAAAG,kBAAA,GAAG,IAAI,CAACV,QAAQ,CAACa,GAAG,CAAC,cAAc,CAAC,cAAAH,kBAAA,cAAAA,kBAAA,GAAI,EAAE;MAC5DH,YAAY,CAACO,IAAI,CAACL,UAAU,CAAC;MAC7B,IAAI,CAACT,QAAQ,CAACM,GAAG,CAAC,cAAc,EAAEC,YAAY,CAAC;IAChD;EAAC;IAAAH,GAAA;IAAAC,KAAA,EACD,SAAAM,6BAAqCC,SAAiB,EAAE;MACvD,IAAML,YAAY,GAAG,IAAI,CAACM,GAAG,CAAC,CAAC;MAC/B,IAAME,KAAK,GAAGR,YAAY,CAACS,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACL,SAAS,KAAKA,SAAS;MAAA,EAAC;MAEjE,IAAIG,KAAK,EAAE;QACV,MAAM,IAAIG,uBAAW,CAAC;UACrBC,IAAI,EAAE,mBAAmB;UACzBP,SAAS,EAATA;QACD,CAAC,CAAC;MACH;IACD;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAQ,IAAA,EAA2B;MAAA,IAAAO,mBAAA;MAC1B,QAAAA,mBAAA,GAAO,IAAI,CAACpB,QAAQ,CAACa,GAAG,CAAC,cAAc,CAAC,cAAAO,mBAAA,cAAAA,mBAAA,GAAI,EAAE;IAC/C;EAAC;EAAA,OAAAtB,iBAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GameService.js","names":["_spruceSkillUtils","require","GameService","exports","command","ui","_classCallCheck2","_defineProperty2","cwd","diskUtil","resolvePath","__dirname","_createClass2","key","value","setStatusMessage","message","statusMessage","_play","_asyncToGenerator2","_regenerator","mark","_callee","_this","introductionSentences","sentencesToPlay","next","_args","arguments","wrap","_callee$","_context","prev","length","undefined","_toConsumableArray2","stopLoading","killed","shift","renderLine","Promise","r","setTimeout","abrupt","execute","spawnOptions","stdio","process","stdin","onData","data","_process$stdout","stdout","write","_process$stdout2","saveCursor","moveCursorTo","clearBelowCursor","restoreCursor","stop","play","apply","kill","clear"],"sources":["../../src/services/GameService.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport CommandService from './CommandService'\n\nexport default class GameService {\n\tprivate command: CommandService\n\tprivate ui: TerminalInterface\n\tprivate statusMessage?: string\n\tprivate killed = false\n\n\tpublic constructor(command: CommandService, ui: TerminalInterface) {\n\t\tthis.command = command\n\t\tthis.ui = ui\n\t\tthis.command.cwd = diskUtil.resolvePath(__dirname, '../../')\n\t}\n\n\tpublic setStatusMessage(message: string) {\n\t\tthis.statusMessage = message\n\t}\n\n\tpublic async play(introductionSentences: string[] = []) {\n\t\tconst sentencesToPlay = [...introductionSentences]\n\t\tawait this.ui.stopLoading()\n\t\tthis.killed = false\n\n\t\twhile (sentencesToPlay.length > 0) {\n\t\t\tconst next = sentencesToPlay.shift() as string\n\t\t\tthis.ui.renderLine(next)\n\t\t\tawait new Promise((r) => setTimeout(r, 2000))\n\t\t\tif (this.killed) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tawait this.command.execute('node ./node_modules/.bin/js-tetris-cli', {\n\t\t\tspawnOptions: {\n\t\t\t\tstdio: [process.stdin, 'pipe', 'pipe'],\n\t\t\t},\n\t\t\tonData: (data: string) => {\n\t\t\t\tif (!this.killed) {\n\t\t\t\t\tprocess.stdout?.write(data)\n\t\t\t\t\tif (this.statusMessage) {\n\t\t\t\t\t\tthis.ui.saveCursor()\n\t\t\t\t\t\tthis.ui.moveCursorTo(0, 25)\n\t\t\t\t\t\tthis.ui.clearBelowCursor()\n\t\t\t\t\t\tprocess.stdout?.write(this.statusMessage)\n\t\t\t\t\t\tthis.ui.restoreCursor()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t}\n\n\tpublic kill() {\n\t\tthis.killed = true\n\t\tthis.command.kill()\n\t\tthis.ui.clear()\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"GameService.js","names":["_spruceSkillUtils","require","GameService","exports","command","ui","_classCallCheck2","_defineProperty2","cwd","diskUtil","resolvePath","__dirname","_createClass2","key","value","setStatusMessage","message","statusMessage","_play","_asyncToGenerator2","_regenerator","mark","_callee","_this","introductionSentences","sentencesToPlay","next","_args","arguments","wrap","_callee$","_context","prev","length","undefined","_toConsumableArray2","stopLoading","killed","shift","renderLine","Promise","r","setTimeout","abrupt","execute","spawnOptions","stdio","process","stdin","onData","data","_process$stdout","stdout","write","_process$stdout2","saveCursor","moveCursorTo","clearBelowCursor","restoreCursor","stop","play","apply","kill","clear"],"sources":["../../src/services/GameService.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport CommandService from './CommandService'\n\nexport default class GameService {\n\tprivate command: CommandService\n\tprivate ui: TerminalInterface\n\tprivate statusMessage?: string\n\tprivate killed = false\n\n\tpublic constructor(command: CommandService, ui: TerminalInterface) {\n\t\tthis.command = command\n\t\tthis.ui = ui\n\t\tthis.command.cwd = diskUtil.resolvePath(__dirname, '../../')\n\t}\n\n\tpublic setStatusMessage(message: string) {\n\t\tthis.statusMessage = message\n\t}\n\n\tpublic async play(introductionSentences: string[] = []) {\n\t\tconst sentencesToPlay = [...introductionSentences]\n\t\tawait this.ui.stopLoading()\n\t\tthis.killed = false\n\n\t\twhile (sentencesToPlay.length > 0) {\n\t\t\tconst next = sentencesToPlay.shift() as string\n\t\t\tthis.ui.renderLine(next)\n\t\t\tawait new Promise((r) => setTimeout(r, 2000))\n\t\t\tif (this.killed) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tawait this.command.execute('node ./node_modules/.bin/js-tetris-cli', {\n\t\t\tspawnOptions: {\n\t\t\t\tstdio: [process.stdin, 'pipe', 'pipe'],\n\t\t\t},\n\t\t\tonData: (data: string) => {\n\t\t\t\tif (!this.killed) {\n\t\t\t\t\tprocess.stdout?.write(data)\n\t\t\t\t\tif (this.statusMessage) {\n\t\t\t\t\t\tthis.ui.saveCursor()\n\t\t\t\t\t\tthis.ui.moveCursorTo(0, 25)\n\t\t\t\t\t\tthis.ui.clearBelowCursor()\n\t\t\t\t\t\tprocess.stdout?.write(this.statusMessage)\n\t\t\t\t\t\tthis.ui.restoreCursor()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t}\n\n\tpublic kill() {\n\t\tthis.killed = true\n\t\tthis.command.kill()\n\t\tthis.ui.clear()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportService.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_fsExtra","_md","_SpruceError","_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","ImportService","exports","options","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","file","_this$pullHashAndCont","hash","fileContents","isDirty","response","wrap","_callee$","_context","prev","isCachingEnabled","abrupt","importAllUncached","pullHashAndContents","hasFileChanged","haveImportsChanged","cachedImports","importAllCached","sent","writeCacheFile","stop","_x","apply","arguments","_ref2","_callee2","defaultImported","args","_yield$_this$command$","stdout","successParts","errParts","proxyError","_callee2$","_context2","fs","existsSync","SpruceError","code","friendlyMessage","concat","divider","errorDivider","search","_toConsumableArray2","command","execute","split","buildErrorFromExecuteResponse","JSON","parse","t0","originalError","_x2","_ref3","_callee3","imported","_callee3$","_context3","importAll","_x3","cwd","_createClass2","key","originalFilepath","contents","changed","importMatches","regex","exec","match","dir","pathUtil","dirname","nodeResolved","resolve","join","_this$pullHashAndCont2","_unused","destination","resolveCacheFile","diskUtil","writeFile","stringify","_this$pullHashAndCont3","cacheFile","readFile","Error","_unused2","_errParts$","stack","_bulkImport","_callee4","files","filepath","filename","imports","idx","_iterator","_step","_file","relative","fullPath","results","_iterator2","_step2","_callee4$","_context4","resolvePath","Date","getTime","replace","extname","importDefault","t1","finish","deleteDir","bulkImport","_x4","resolvedFilePath","doesFileExist","cacheDir","md5","clearCache","setCacheDir","importCacheDir","disableCache","enableCaching","createTempDir"],"sources":["../../src/services/ImportService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport fs from 'fs-extra'\nimport md5 from 'md5'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class ImportService {\n\tpublic cwd: string\n\n\tprivate divider = '## SPRUCE-CLI DIVIDER ##'\n\tprivate errorDivider = '## SPRUCE-CLI ERROR DIVIDER ##'\n\n\tprivate static cachedImports: Record<string, Record<string, any>> = {}\n\tprivate static importCacheDir: string =\n\t\tdiskUtil.createTempDir('import-service')\n\tprivate command: CommandService\n\tprivate static isCachingEnabled: boolean\n\n\tpublic constructor(options: { cwd: string; command: CommandService }) {\n\t\tthis.cwd = options.cwd\n\t\tthis.command = options.command\n\t}\n\n\tpublic importAll = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tif (!ImportService.isCachingEnabled) {\n\t\t\treturn this.importAllUncached(file)\n\t\t}\n\n\t\tconst { hash, fileContents } = this.pullHashAndContents(file)\n\n\t\tif (!this.hasFileChanged(hash)) {\n\t\t\tconst isDirty = this.haveImportsChanged(file, fileContents)\n\n\t\t\tif (!isDirty && ImportService.cachedImports[hash]) {\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t} else if (!isDirty) {\n\t\t\t\tImportService.cachedImports[hash] = this.importAllCached(file)\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t}\n\t\t}\n\n\t\tImportService.cachedImports[hash] = this.importAllUncached(file)\n\t\tconst response = (await ImportService.cachedImports[hash]) as T\n\t\tthis.writeCacheFile(hash, response)\n\n\t\treturn response\n\t}\n\n\tprivate haveImportsChanged(\n\t\toriginalFilepath: string,\n\t\tcontents: string\n\t): boolean {\n\t\tlet changed = false\n\t\tlet importMatches\n\n\t\t// only check files that start with dot because they are local and we can actually only check local files\n\t\tconst regex =\n\t\t\toriginalFilepath.search(/\\.js$/i) > -1\n\t\t\t\t? /require\\(['\"](\\..*?)['\"]\\)/gis\n\t\t\t\t: /import.*[\"'](\\..*?)[\"']/gis\n\n\t\twhile ((importMatches = regex.exec(contents)) !== null) {\n\t\t\ttry {\n\t\t\t\tconst match = importMatches[1]\n\t\t\t\tconst dir = pathUtil.dirname(originalFilepath)\n\t\t\t\tconst nodeResolved = require.resolve(pathUtil.join(dir, match))\n\t\t\t\tconst { hash } = this.pullHashAndContents(nodeResolved)\n\n\t\t\t\tif (this.hasFileChanged(hash)) {\n\t\t\t\t\tchanged = true\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t}\n\n\t\treturn changed\n\t}\n\n\tprivate writeCacheFile(hash: string, contents: Record<string, any>) {\n\t\tconst destination = this.resolveCacheFile(hash)\n\t\tdiskUtil.writeFile(destination, JSON.stringify(contents))\n\t}\n\n\tprivate importAllCached(file: string) {\n\t\tconst { hash } = this.pullHashAndContents(file)\n\n\t\tconst cacheFile = this.resolveCacheFile(hash)\n\t\tconst contents = diskUtil.readFile(cacheFile)\n\n\t\treturn JSON.parse(contents)\n\t}\n\n\tprivate importAllUncached = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tlet defaultImported: T | undefined\n\n\t\tif (!fs.existsSync(file)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile,\n\t\t\t\tfriendlyMessage: `I couldn't import ${file} because I couldn't find it!`,\n\t\t\t})\n\t\t}\n\n\t\tlet args = [\n\t\t\t'-e',\n\t\t\t`\"try { const imported = require('${file}');console.log('${this.divider}');console.log(JSON.stringify(imported)); } catch(err) { console.log('${this.errorDivider}');console.log(err.options ? err.toString() : err.stack); }\"`,\n\t\t]\n\n\t\tif (file.search(/\\.ts$/i) > -1) {\n\t\t\targs = [\n\t\t\t\t'-r',\n\t\t\t\t'ts-node/register',\n\t\t\t\t'-r',\n\t\t\t\t'tsconfig-paths/register',\n\t\t\t\t...args,\n\t\t\t]\n\t\t}\n\n\t\ttry {\n\t\t\tconst { stdout } = await this.command.execute('node', {\n\t\t\t\targs,\n\t\t\t})\n\n\t\t\tconst successParts = stdout.split(this.divider)\n\t\t\tconst errParts = stdout.split(this.errorDivider)\n\n\t\t\tif (errParts.length > 1) {\n\t\t\t\tconst proxyError = this.buildErrorFromExecuteResponse(\n\t\t\t\t\terrParts,\n\t\t\t\t\tfile,\n\t\t\t\t\tstdout\n\t\t\t\t)\n\n\t\t\t\tthrow proxyError\n\t\t\t} else {\n\t\t\t\tdefaultImported = JSON.parse(successParts[1])\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (err instanceof SpruceError) {\n\t\t\t\tthrow err\n\t\t\t} else {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\toriginalError: err,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn defaultImported as T\n\t}\n\n\tpublic importDefault = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tconst imported: any = await this.importAll(file)\n\t\treturn imported.default as T\n\t}\n\n\tprivate buildErrorFromExecuteResponse(\n\t\terrParts: string[],\n\t\tfile: string,\n\t\tstdout: string\n\t) {\n\t\tlet err: Record<string, any> = {}\n\t\ttry {\n\t\t\terr = JSON.parse(errParts[1])\n\t\t\tif (!err.options) {\n\t\t\t\tthrow Error('Capture and reported below')\n\t\t\t}\n\t\t} catch {\n\t\t\terr = {\n\t\t\t\toptions: {\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\tfriendlyMessage: `Unknown error from import, output was: \\n\\n\"${\n\t\t\t\t\t\terrParts[1] ?? stdout\n\t\t\t\t\t}\"`,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst proxyError = new SpruceError(err.options)\n\n\t\tif (err.stack) {\n\t\t\tproxyError.stack = err.stack\n\t\t}\n\t\treturn proxyError\n\t}\n\n\tpublic async bulkImport(files: string[]): Promise<any[]> {\n\t\tif (files.length === 0) {\n\t\t\treturn []\n\t\t}\n\t\tconst filepath = diskUtil.resolvePath(this.cwd, '.tmp')\n\t\tconst filename = 'bulk-import-' + new Date().getTime() + '.ts'\n\n\t\tlet imports = ``\n\t\tlet exports = `export default [\\n`\n\n\t\tlet idx = 0\n\t\tfor (const file of files) {\n\t\t\tconst relative = pathUtil\n\t\t\t\t.relative(filepath, file)\n\t\t\t\t.replace(pathUtil.extname(file), '')\n\n\t\t\timports += `import { default as import${idx}} from '${relative}'\\n`\n\t\t\texports += `import${idx},\\n`\n\t\t\tidx++\n\t\t}\n\n\t\texports += ']'\n\n\t\tconst contents = imports + `\\n\\n` + exports\n\t\tconst fullPath = pathUtil.join(filepath, filename)\n\t\tdiskUtil.writeFile(fullPath, contents)\n\n\t\ttry {\n\t\t\tconst results = (await this.importDefault(fullPath)) as any[]\n\n\t\t\treturn results as any\n\t\t} catch (err) {\n\t\t\t// if something failed, lets load one at a time until we find the one that failes\n\t\t\tfor (const file of files) {\n\t\t\t\tconst imported = await this.importDefault(file)\n\t\t\t\tif (!imported) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tfriendlyMessage: `Looks like ${file} does not export default.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow err\n\t\t} finally {\n\t\t\tdiskUtil.deleteDir(filepath)\n\t\t}\n\t}\n\n\tpublic static clearCache() {\n\t\tImportService.cachedImports = {}\n\t\tdiskUtil.deleteDir(this.cacheDir())\n\t}\n\n\tpublic static setCacheDir(cacheDir: string) {\n\t\tthis.importCacheDir = cacheDir\n\t}\n\n\tpublic static disableCache() {\n\t\tthis.isCachingEnabled = false\n\t}\n\n\tpublic static enableCaching() {\n\t\tthis.isCachingEnabled = true\n\t}\n\n\tprivate hasFileChanged(hash: string) {\n\t\tconst resolvedFilePath = this.resolveCacheFile(hash)\n\t\treturn !diskUtil.doesFileExist(resolvedFilePath)\n\t}\n\n\tprivate resolveCacheFile(hash: string) {\n\t\treturn diskUtil.resolvePath(ImportService.cacheDir(), hash + '.json')\n\t}\n\n\tprivate static cacheDir(): string {\n\t\treturn this.importCacheDir\n\t}\n\n\tprivate pullHashAndContents(file: string) {\n\t\tconst fileContents = diskUtil.readFile(file)\n\t\tconst hash = md5(fileContents)\n\t\treturn { hash, fileContents }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AAA+C,SAAAK,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,oBAAAA,EAAA,8BAAAkB,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAA0B,MAAA,SAAA1B,CAAA,qBAAAA,CAAA,sBAAA2B,iBAAA,CAAA3B,CAAA,EAAA0B,MAAA,OAAAd,CAAA,GAAAgB,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAR,IAAA,CAAAtB,CAAA,EAAA+B,KAAA,aAAAnB,CAAA,iBAAAZ,CAAA,CAAAgC,WAAA,EAAApB,CAAA,GAAAZ,CAAA,CAAAgC,WAAA,CAAAC,IAAA,MAAArB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA6B,IAAA,CAAAlC,CAAA,OAAAY,CAAA,+DAAAuB,IAAA,CAAAvB,CAAA,UAAAe,iBAAA,CAAA3B,CAAA,EAAA0B,MAAA;AAAA,SAAAC,kBAAAS,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA5B,MAAA,EAAA6B,GAAA,GAAAD,GAAA,CAAA5B,MAAA,WAAAC,CAAA,MAAA6B,IAAA,OAAAjC,KAAA,CAAAgC,GAAA,GAAA5B,CAAA,GAAA4B,GAAA,EAAA5B,CAAA,IAAA6B,IAAA,CAAA7B,CAAA,IAAA2B,GAAA,CAAA3B,CAAA,UAAA6B,IAAA;AAAA,IAG1BC,aAAa,GAAAC,OAAA;EAYjC,SAAAD,cAAmBE,OAAiD,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,aAAA;IAAA,IAAAK,gBAAA;IAAA,IAAAA,gBAAA,8BATpD,0BAA0B;IAAA,IAAAA,gBAAA,mCACrB,gCAAgC;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;MAAA,IAAAC,IAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAapC,SAAAC,QAClBC,IAAY;QAAA,IAAAC,qBAAA,EAAAC,IAAA,EAAAC,YAAA,EAAAC,OAAA,EAAAC,QAAA;QAAA,OAAAR,YAAA,YAAAS,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAlC,IAAA;YAAA;cAAA,IAEPe,aAAa,CAACqB,gBAAgB;gBAAAF,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAAA,OAAAkC,QAAA,CAAAG,MAAA,WAC3BnB,KAAI,CAACoB,iBAAiB,CAACZ,IAAI,CAAC;YAAA;cAAAC,qBAAA,GAGLT,KAAI,CAACqB,mBAAmB,CAACb,IAAI,CAAC,EAArDE,IAAI,GAAAD,qBAAA,CAAJC,IAAI,EAAEC,YAAY,GAAAF,qBAAA,CAAZE,YAAY;cAAA,IAErBX,KAAI,CAACsB,cAAc,CAACZ,IAAI,CAAC;gBAAAM,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cACvB8B,OAAO,GAAGZ,KAAI,CAACuB,kBAAkB,CAACf,IAAI,EAAEG,YAAY,CAAC;cAAA,MAEvD,CAACC,OAAO,IAAIf,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;gBAAAM,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAAA,OAAAkC,QAAA,CAAAG,MAAA,WACzCtB,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAAA,IAC7BE,OAAO;gBAAAI,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAClBe,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC,GAAGV,KAAI,CAACyB,eAAe,CAACjB,IAAI,CAAC;cAAA,OAAAQ,QAAA,CAAAG,MAAA,WACvDtB,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAI1Cb,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC,GAAGV,KAAI,CAACoB,iBAAiB,CAACZ,IAAI,CAAC;cAAAQ,QAAA,CAAAlC,IAAA;cAAA,OACxCe,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAAnDG,QAAQ,GAAAG,QAAA,CAAAU,IAAA;cACd1B,KAAI,CAAC2B,cAAc,CAACjB,IAAI,EAAEG,QAAQ,CAAC;cAAA,OAAAG,QAAA,CAAAG,MAAA,WAE5BN,QAAQ;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAY,IAAA;UAAA;QAAA,GAAArB,OAAA;MAAA,CACf;MAAA,iBAAAsB,EAAA;QAAA,OAAA1B,IAAA,CAAA2B,KAAA,OAAAC,SAAA;MAAA;IAAA;IAAA,IAAA7B,gBAAA;MAAA,IAAA8B,KAAA,OAAA5B,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CA+C2B,SAAA2B,SAC3BzB,IAAY;QAAA,IAAA0B,eAAA,EAAAC,IAAA,EAAAC,qBAAA,EAAAC,MAAA,EAAAC,YAAA,EAAAC,QAAA,EAAAC,UAAA;QAAA,OAAAnC,YAAA,YAAAS,IAAA,UAAA2B,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAA5D,IAAA;YAAA;cAAA,IAIP6D,mBAAE,CAACC,UAAU,CAACpC,IAAI,CAAC;gBAAAkC,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAAA,MACjB,IAAI+D,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJuC,eAAe,uBAAAC,MAAA,CAAuBxC,IAAI;cAC3C,CAAC,CAAC;YAAA;cAGC2B,IAAI,GAAG,CACV,IAAI,uCAAAa,MAAA,CACgCxC,IAAI,sBAAAwC,MAAA,CAAmBhD,KAAI,CAACiD,OAAO,4EAAAD,MAAA,CAAyEhD,KAAI,CAACkD,YAAY,mEACjK;cAED,IAAI1C,IAAI,CAAC2C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/BhB,IAAI,IACH,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,yBAAyB,EAAAa,MAAA,KAAAI,mBAAA,aACtBjB,IAAI,EACP;cACF;cAACO,SAAA,CAAAzB,IAAA;cAAAyB,SAAA,CAAA5D,IAAA;cAAA,OAGyBkB,KAAI,CAACqD,OAAO,CAACC,OAAO,CAAC,MAAM,EAAE;gBACrDnB,IAAI,EAAJA;cACD,CAAC,CAAC;YAAA;cAAAC,qBAAA,GAAAM,SAAA,CAAAhB,IAAA;cAFMW,MAAM,GAAAD,qBAAA,CAANC,MAAM;cAIRC,YAAY,GAAGD,MAAM,CAACkB,KAAK,CAACvD,KAAI,CAACiD,OAAO,CAAC;cACzCV,QAAQ,GAAGF,MAAM,CAACkB,KAAK,CAACvD,KAAI,CAACkD,YAAY,CAAC;cAAA,MAE5CX,QAAQ,CAACzE,MAAM,GAAG,CAAC;gBAAA4E,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAChB0D,UAAU,GAAGxC,KAAI,CAACwD,6BAA6B,CACpDjB,QAAQ,EACR/B,IAAI,EACJ6B,MACD,CAAC;cAAA,MAEKG,UAAU;YAAA;cAEhBN,eAAe,GAAGuB,IAAI,CAACC,KAAK,CAACpB,YAAY,CAAC,CAAC,CAAC,CAAC;YAAA;cAAAI,SAAA,CAAA5D,IAAA;cAAA;YAAA;cAAA4D,SAAA,CAAAzB,IAAA;cAAAyB,SAAA,CAAAiB,EAAA,GAAAjB,SAAA;cAAA,MAG1CA,SAAA,CAAAiB,EAAA,YAAed,uBAAW;gBAAAH,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAAA,MAAA4D,SAAA,CAAAiB,EAAA;YAAA;cAAA,MAGvB,IAAId,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJoD,aAAa,EAAAlB,SAAA,CAAAiB;cACd,CAAC,CAAC;YAAA;cAAA,OAAAjB,SAAA,CAAAvB,MAAA,WAIGe,eAAe;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAd,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtB;MAAA,iBAAA4B,GAAA;QAAA,OAAA7B,KAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;IAAA;IAAA,IAAA7B,gBAAA;MAAA,IAAA4D,KAAA,OAAA1D,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAEsB,SAAAyD,SACtBvD,IAAY;QAAA,IAAAwD,QAAA;QAAA,OAAA3D,YAAA,YAAAS,IAAA,UAAAmD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAApF,IAAA;YAAA;cAAAoF,SAAA,CAAApF,IAAA;cAAA,OAEgBkB,KAAI,CAACmE,SAAS,CAAC3D,IAAI,CAAC;YAAA;cAA1CwD,QAAa,GAAAE,SAAA,CAAAxC,IAAA;cAAA,OAAAwC,SAAA,CAAA/C,MAAA,WACZ6C,QAAQ,WAAQ;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAtC,IAAA;UAAA;QAAA,GAAAmC,QAAA;MAAA,CACvB;MAAA,iBAAAK,GAAA;QAAA,OAAAN,KAAA,CAAAhC,KAAA,OAAAC,SAAA;MAAA;IAAA;IA/IA,IAAI,CAACsC,GAAG,GAAGtE,OAAO,CAACsE,GAAG;IACtB,IAAI,CAAChB,OAAO,GAAGtD,OAAO,CAACsD,OAAO;EAC/B;EAAC,IAAAiB,aAAA,aAAAzE,aAAA;IAAA0E,GAAA;IAAAnG,KAAA,EA6BD,SAAAmD,mBACCiD,gBAAwB,EACxBC,QAAgB,EACN;MACV,IAAIC,OAAO,GAAG,KAAK;MACnB,IAAIC,aAAa;;MAEjB;MACA,IAAMC,KAAK,GACVJ,gBAAgB,CAACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GACnC,mCAA+B,GAC/B,qCAA4B;MAEhC,OAAO,CAACwB,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAAC,MAAM,IAAI,EAAE;QACvD,IAAI;UACH,IAAMK,KAAK,GAAGH,aAAa,CAAC,CAAC,CAAC;UAC9B,IAAMI,GAAG,GAAGC,gBAAQ,CAACC,OAAO,CAACT,gBAAgB,CAAC;UAC9C,IAAMU,YAAY,GAAGlI,OAAO,CAACmI,OAAO,CAACH,gBAAQ,CAACI,IAAI,CAACL,GAAG,EAAED,KAAK,CAAC,CAAC;UAC/D,IAAAO,sBAAA,GAAiB,IAAI,CAAChE,mBAAmB,CAAC6D,YAAY,CAAC;YAA/CxE,IAAI,GAAA2E,sBAAA,CAAJ3E,IAAI;UAEZ,IAAI,IAAI,CAACY,cAAc,CAACZ,IAAI,CAAC,EAAE;YAC9BgE,OAAO,GAAG,IAAI;UACf;QACD,CAAC,CAAC,OAAAY,OAAA,EAAM;UACPZ,OAAO,GAAG,IAAI;QACf;MACD;MAEA,OAAOA,OAAO;IACf;EAAC;IAAAH,GAAA;IAAAnG,KAAA,EAED,SAAAuD,eAAuBjB,IAAY,EAAE+D,QAA6B,EAAE;MACnE,IAAMc,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAAC9E,IAAI,CAAC;MAC/C+E,0BAAQ,CAACC,SAAS,CAACH,WAAW,EAAE9B,IAAI,CAACkC,SAAS,CAAClB,QAAQ,CAAC,CAAC;IAC1D;EAAC;IAAAF,GAAA;IAAAnG,KAAA,EAED,SAAAqD,gBAAwBjB,IAAY,EAAE;MACrC,IAAAoF,sBAAA,GAAiB,IAAI,CAACvE,mBAAmB,CAACb,IAAI,CAAC;QAAvCE,IAAI,GAAAkF,sBAAA,CAAJlF,IAAI;MAEZ,IAAMmF,SAAS,GAAG,IAAI,CAACL,gBAAgB,CAAC9E,IAAI,CAAC;MAC7C,IAAM+D,QAAQ,GAAGgB,0BAAQ,CAACK,QAAQ,CAACD,SAAS,CAAC;MAE7C,OAAOpC,IAAI,CAACC,KAAK,CAACe,QAAQ,CAAC;IAC5B;EAAC;IAAAF,GAAA;IAAAnG,KAAA,EAuED,SAAAoF,8BACCjB,QAAkB,EAClB/B,IAAY,EACZ6B,MAAc,EACb;MACD,IAAI1D,GAAwB,GAAG,CAAC,CAAC;MACjC,IAAI;QACHA,GAAG,GAAG8E,IAAI,CAACC,KAAK,CAACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC5D,GAAG,CAACoB,OAAO,EAAE;UACjB,MAAMgG,KAAK,CAAC,4BAA4B,CAAC;QAC1C;MACD,CAAC,CAAC,OAAAC,QAAA,EAAM;QAAA,IAAAC,UAAA;QACPtH,GAAG,GAAG;UACLoB,OAAO,EAAE;YACR+C,IAAI,EAAE,kBAAkB;YACxBtC,IAAI,EAAJA,IAAI;YACJuC,eAAe,kDAAAC,MAAA,EAAAiD,UAAA,GACd1D,QAAQ,CAAC,CAAC,CAAC,cAAA0D,UAAA,cAAAA,UAAA,GAAI5D,MAAM;UAEvB;QACD,CAAC;MACF;MAEA,IAAMG,UAAU,GAAG,IAAIK,uBAAW,CAAClE,GAAG,CAACoB,OAAO,CAAC;MAE/C,IAAIpB,GAAG,CAACuH,KAAK,EAAE;QACd1D,UAAU,CAAC0D,KAAK,GAAGvH,GAAG,CAACuH,KAAK;MAC7B;MACA,OAAO1D,UAAU;IAClB;EAAC;IAAA+B,GAAA;IAAAnG,KAAA;MAAA,IAAA+H,WAAA,OAAA/F,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA8F,SAAwBC,KAAe;QAAA,IAAAC,QAAA,EAAAC,QAAA,EAAAC,OAAA,EAAA1G,OAAA,EAAA2G,GAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,QAAA,EAAApC,QAAA,EAAAqC,QAAA,EAAAC,OAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAzG,IAAA,EAAAwD,QAAA;QAAA,OAAA3D,YAAA,YAAAS,IAAA,UAAAoG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAlG,IAAA,GAAAkG,SAAA,CAAArI,IAAA;YAAA;cAAA,MAClCuH,KAAK,CAACvI,MAAM,KAAK,CAAC;gBAAAqJ,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAA,OAAAqI,SAAA,CAAAhG,MAAA,WACd,EAAE;YAAA;cAEJmF,QAAQ,GAAGb,0BAAQ,CAAC2B,WAAW,CAAC,IAAI,CAAC/C,GAAG,EAAE,MAAM,CAAC;cACjDkC,QAAQ,GAAG,cAAc,GAAG,IAAIc,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,KAAK;cAE1Dd,OAAO;cACP1G,OAAO;cAEP2G,GAAG,GAAG,CAAC;cAAAC,SAAA,GAAArJ,0BAAA,CACQgJ,KAAK;cAAA;gBAAxB,KAAAK,SAAA,CAAAzI,CAAA,MAAA0I,KAAA,GAAAD,SAAA,CAAAxI,CAAA,IAAAC,IAAA,GAA0B;kBAAfqC,KAAI,GAAAmG,KAAA,CAAAvI,KAAA;kBACRyI,QAAQ,GAAG7B,gBAAQ,CACvB6B,QAAQ,CAACP,QAAQ,EAAE9F,KAAI,CAAC,CACxB+G,OAAO,CAACvC,gBAAQ,CAACwC,OAAO,CAAChH,KAAI,CAAC,EAAE,EAAE,CAAC;kBAErCgG,OAAO,iCAAAxD,MAAA,CAAiCyD,GAAG,cAAAzD,MAAA,CAAW6D,QAAQ,QAAK;kBACnE/G,OAAO,aAAAkD,MAAA,CAAayD,GAAG,QAAK;kBAC5BA,GAAG,EAAE;gBACN;cAAC,SAAA9H,GAAA;gBAAA+H,SAAA,CAAArI,CAAA,CAAAM,GAAA;cAAA;gBAAA+H,SAAA,CAAAnI,CAAA;cAAA;cAEDuB,OAAO,IAAI,GAAG;cAER2E,QAAQ,GAAG+B,OAAO,SAAS,GAAG1G,OAAO;cACrCgH,QAAQ,GAAG9B,gBAAQ,CAACI,IAAI,CAACkB,QAAQ,EAAEC,QAAQ,CAAC;cAClDd,0BAAQ,CAACC,SAAS,CAACoB,QAAQ,EAAErC,QAAQ,CAAC;cAAA0C,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAArI,IAAA;cAAA,OAGd,IAAI,CAAC2I,aAAa,CAACX,QAAQ,CAAC;YAAA;cAA7CC,OAAO,GAAAI,SAAA,CAAAzF,IAAA;cAAA,OAAAyF,SAAA,CAAAhG,MAAA,WAEN4F,OAAO;YAAA;cAAAI,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAAxD,EAAA,GAAAwD,SAAA;cAEd;cAAAH,UAAA,GAAA3J,0BAAA,CACmBgJ,KAAK;cAAAc,SAAA,CAAAlG,IAAA;cAAA+F,UAAA,CAAA/I,CAAA;YAAA;cAAA,KAAAgJ,MAAA,GAAAD,UAAA,CAAA9I,CAAA,IAAAC,IAAA;gBAAAgJ,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAb0B,IAAI,GAAAyG,MAAA,CAAA7I,KAAA;cAAA+I,SAAA,CAAArI,IAAA;cAAA,OACS,IAAI,CAAC2I,aAAa,CAACjH,IAAI,CAAC;YAAA;cAAzCwD,QAAQ,GAAAmD,SAAA,CAAAzF,IAAA;cAAA,IACTsC,QAAQ;gBAAAmD,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAA,MACN,IAAI+D,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJuC,eAAe,gBAAAC,MAAA,CAAgBxC,IAAI;cACpC,CAAC,CAAC;YAAA;cAAA2G,SAAA,CAAArI,IAAA;cAAA;YAAA;cAAAqI,SAAA,CAAArI,IAAA;cAAA;YAAA;cAAAqI,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAAO,EAAA,GAAAP,SAAA;cAAAH,UAAA,CAAA3I,CAAA,CAAA8I,SAAA,CAAAO,EAAA;YAAA;cAAAP,SAAA,CAAAlG,IAAA;cAAA+F,UAAA,CAAAzI,CAAA;cAAA,OAAA4I,SAAA,CAAAQ,MAAA;YAAA;cAAA,MAAAR,SAAA,CAAAxD,EAAA;YAAA;cAAAwD,SAAA,CAAAlG,IAAA;cAMJwE,0BAAQ,CAACmC,SAAS,CAACtB,QAAQ,CAAC;cAAA,OAAAa,SAAA,CAAAQ,MAAA;YAAA;YAAA;cAAA,OAAAR,SAAA,CAAAvF,IAAA;UAAA;QAAA,GAAAwE,QAAA;MAAA,CAE7B;MAAA,SAAAyB,WAAAC,GAAA;QAAA,OAAA3B,WAAA,CAAArE,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8F,UAAA;IAAA;EAAA;IAAAtD,GAAA;IAAAnG,KAAA,EAmBD,SAAAkD,eAAuBZ,IAAY,EAAE;MACpC,IAAMqH,gBAAgB,GAAG,IAAI,CAACvC,gBAAgB,CAAC9E,IAAI,CAAC;MACpD,OAAO,CAAC+E,0BAAQ,CAACuC,aAAa,CAACD,gBAAgB,CAAC;IACjD;EAAC;IAAAxD,GAAA;IAAAnG,KAAA,EAED,SAAAoH,iBAAyB9E,IAAY,EAAE;MACtC,OAAO+E,0BAAQ,CAAC2B,WAAW,CAACvH,aAAa,CAACoI,QAAQ,CAAC,CAAC,EAAEvH,IAAI,GAAG,OAAO,CAAC;IACtE;EAAC;IAAA6D,GAAA;IAAAnG,KAAA,EAMD,SAAAiD,oBAA4Bb,IAAY,EAAE;MACzC,IAAMG,YAAY,GAAG8E,0BAAQ,CAACK,QAAQ,CAACtF,IAAI,CAAC;MAC5C,IAAME,IAAI,GAAG,IAAAwH,cAAG,EAACvH,YAAY,CAAC;MAC9B,OAAO;QAAED,IAAI,EAAJA,IAAI;QAAEC,YAAY,EAAZA;MAAa,CAAC;IAC9B;EAAC;IAAA4D,GAAA;IAAAnG,KAAA,EAlCD,SAAA+J,WAAA,EAA2B;MAC1BtI,aAAa,CAAC2B,aAAa,GAAG,CAAC,CAAC;MAChCiE,0BAAQ,CAACmC,SAAS,CAAC,IAAI,CAACK,QAAQ,CAAC,CAAC,CAAC;IACpC;EAAC;IAAA1D,GAAA;IAAAnG,KAAA,EAED,SAAAgK,YAA0BH,QAAgB,EAAE;MAC3C,IAAI,CAACI,cAAc,GAAGJ,QAAQ;IAC/B;EAAC;IAAA1D,GAAA;IAAAnG,KAAA,EAED,SAAAkK,aAAA,EAA6B;MAC5B,IAAI,CAACpH,gBAAgB,GAAG,KAAK;IAC9B;EAAC;IAAAqD,GAAA;IAAAnG,KAAA,EAED,SAAAmK,cAAA,EAA8B;MAC7B,IAAI,CAACrH,gBAAgB,GAAG,IAAI;IAC7B;EAAC;IAAAqD,GAAA;IAAAnG,KAAA,EAWD,SAAA6J,SAAA,EAAkC;MACjC,OAAO,IAAI,CAACI,cAAc;IAC3B;EAAC;EAAA,OAAAxI,aAAA;AAAA;AAAA,IAAAK,gBAAA,aA3QmBL,aAAa,mBAMmC,CAAC,CAAC;AAAA,IAAAK,gBAAA,aANlDL,aAAa,oBAQhC4F,0BAAQ,CAAC+C,aAAa,CAAC,gBAAgB,CAAC;AAAA,IAAAtI,gBAAA,aARrBL,aAAa"}
1
+ {"version":3,"file":"ImportService.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_fsExtra","_md","_SpruceError","_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","ImportService","exports","options","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","file","_this$pullHashAndCont","hash","fileContents","isDirty","response","wrap","_callee$","_context","prev","isCachingEnabled","abrupt","importAllUncached","pullHashAndContents","hasFileChanged","haveImportsChanged","cachedImports","importAllCached","sent","writeCacheFile","stop","_x","apply","arguments","_ref2","_callee2","defaultImported","args","_yield$_this$command$","stdout","successParts","errParts","proxyError","_callee2$","_context2","fs","existsSync","SpruceError","code","friendlyMessage","concat","divider","errorDivider","search","_toConsumableArray2","command","execute","split","buildErrorFromExecuteResponse","JSON","parse","t0","originalError","_x2","_ref3","_callee3","imported","_callee3$","_context3","importAll","_x3","cwd","_createClass2","key","originalFilepath","contents","changed","importMatches","regex","exec","match","dir","pathUtil","dirname","nodeResolved","resolve","join","_this$pullHashAndCont2","_unused","destination","resolveCacheFile","diskUtil","writeFile","stringify","_this$pullHashAndCont3","cacheFile","readFile","Error","_unused2","_errParts$","stack","_bulkImport","_callee4","files","filepath","filename","imports","idx","_iterator","_step","_file","relative","fullPath","results","_iterator2","_step2","_callee4$","_context4","resolvePath","Date","getTime","replace","extname","importDefault","t1","finish","deleteDir","bulkImport","_x4","resolvedFilePath","doesFileExist","cacheDir","md5","clearCache","setCacheDir","importCacheDir","disableCache","enableCaching","createTempDir"],"sources":["../../src/services/ImportService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport fs from 'fs-extra'\nimport md5 from 'md5'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class ImportService {\n\tpublic cwd: string\n\n\tprivate divider = '## SPRUCE-CLI DIVIDER ##'\n\tprivate errorDivider = '## SPRUCE-CLI ERROR DIVIDER ##'\n\n\tprivate static cachedImports: Record<string, Record<string, any>> = {}\n\tprivate static importCacheDir: string =\n\t\tdiskUtil.createTempDir('import-service')\n\tprivate command: CommandService\n\tprivate static isCachingEnabled: boolean\n\n\tpublic constructor(options: { cwd: string; command: CommandService }) {\n\t\tthis.cwd = options.cwd\n\t\tthis.command = options.command\n\t}\n\n\tpublic importAll = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tif (!ImportService.isCachingEnabled) {\n\t\t\treturn this.importAllUncached(file)\n\t\t}\n\n\t\tconst { hash, fileContents } = this.pullHashAndContents(file)\n\n\t\tif (!this.hasFileChanged(hash)) {\n\t\t\tconst isDirty = this.haveImportsChanged(file, fileContents)\n\n\t\t\tif (!isDirty && ImportService.cachedImports[hash]) {\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t} else if (!isDirty) {\n\t\t\t\tImportService.cachedImports[hash] = this.importAllCached(file)\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t}\n\t\t}\n\n\t\tImportService.cachedImports[hash] = this.importAllUncached(file)\n\t\tconst response = (await ImportService.cachedImports[hash]) as T\n\t\tthis.writeCacheFile(hash, response)\n\n\t\treturn response\n\t}\n\n\tprivate haveImportsChanged(\n\t\toriginalFilepath: string,\n\t\tcontents: string\n\t): boolean {\n\t\tlet changed = false\n\t\tlet importMatches\n\n\t\t// only check files that start with dot because they are local and we can actually only check local files\n\t\tconst regex =\n\t\t\toriginalFilepath.search(/\\.js$/i) > -1\n\t\t\t\t? /require\\(['\"](\\..*?)['\"]\\)/gis\n\t\t\t\t: /import.*[\"'](\\..*?)[\"']/gis\n\n\t\twhile ((importMatches = regex.exec(contents)) !== null) {\n\t\t\ttry {\n\t\t\t\tconst match = importMatches[1]\n\t\t\t\tconst dir = pathUtil.dirname(originalFilepath)\n\t\t\t\tconst nodeResolved = require.resolve(pathUtil.join(dir, match))\n\t\t\t\tconst { hash } = this.pullHashAndContents(nodeResolved)\n\n\t\t\t\tif (this.hasFileChanged(hash)) {\n\t\t\t\t\tchanged = true\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t}\n\n\t\treturn changed\n\t}\n\n\tprivate writeCacheFile(hash: string, contents: Record<string, any>) {\n\t\tconst destination = this.resolveCacheFile(hash)\n\t\tdiskUtil.writeFile(destination, JSON.stringify(contents))\n\t}\n\n\tprivate importAllCached(file: string) {\n\t\tconst { hash } = this.pullHashAndContents(file)\n\n\t\tconst cacheFile = this.resolveCacheFile(hash)\n\t\tconst contents = diskUtil.readFile(cacheFile)\n\n\t\treturn JSON.parse(contents)\n\t}\n\n\tprivate importAllUncached = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tlet defaultImported: T | undefined\n\n\t\tif (!fs.existsSync(file)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile,\n\t\t\t\tfriendlyMessage: `I couldn't import ${file} because I couldn't find it!`,\n\t\t\t})\n\t\t}\n\n\t\tlet args = [\n\t\t\t'-e',\n\t\t\t`\"try { const imported = require('${file}');console.log('${this.divider}');console.log(JSON.stringify(imported)); } catch(err) { console.log('${this.errorDivider}');console.log(err.options ? err.toString() : err.stack); }\"`,\n\t\t]\n\n\t\tif (file.search(/\\.ts$/i) > -1) {\n\t\t\targs = [\n\t\t\t\t'-r',\n\t\t\t\t'ts-node/register',\n\t\t\t\t'-r',\n\t\t\t\t'tsconfig-paths/register',\n\t\t\t\t...args,\n\t\t\t]\n\t\t}\n\n\t\ttry {\n\t\t\tconst { stdout } = await this.command.execute('node', {\n\t\t\t\targs,\n\t\t\t})\n\n\t\t\tconst successParts = stdout.split(this.divider)\n\t\t\tconst errParts = stdout.split(this.errorDivider)\n\n\t\t\tif (errParts.length > 1) {\n\t\t\t\tconst proxyError = this.buildErrorFromExecuteResponse(\n\t\t\t\t\terrParts,\n\t\t\t\t\tfile,\n\t\t\t\t\tstdout\n\t\t\t\t)\n\n\t\t\t\tthrow proxyError\n\t\t\t} else {\n\t\t\t\tdefaultImported = JSON.parse(successParts[1])\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (err instanceof SpruceError) {\n\t\t\t\tthrow err\n\t\t\t} else {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\toriginalError: err,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn defaultImported as T\n\t}\n\n\tpublic importDefault = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tconst imported: any = await this.importAll(file)\n\t\treturn imported.default as T\n\t}\n\n\tprivate buildErrorFromExecuteResponse(\n\t\terrParts: string[],\n\t\tfile: string,\n\t\tstdout: string\n\t) {\n\t\tlet err: Record<string, any> = {}\n\t\ttry {\n\t\t\terr = JSON.parse(errParts[1])\n\t\t\tif (!err.options) {\n\t\t\t\tthrow Error('Capture and reported below')\n\t\t\t}\n\t\t} catch {\n\t\t\terr = {\n\t\t\t\toptions: {\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\tfriendlyMessage: `Unknown error from import, output was: \\n\\n\"${\n\t\t\t\t\t\terrParts[1] ?? stdout\n\t\t\t\t\t}\"`,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst proxyError = new SpruceError(err.options)\n\n\t\tif (err.stack) {\n\t\t\tproxyError.stack = err.stack\n\t\t}\n\t\treturn proxyError\n\t}\n\n\tpublic async bulkImport(files: string[]): Promise<any[]> {\n\t\tif (files.length === 0) {\n\t\t\treturn []\n\t\t}\n\t\tconst filepath = diskUtil.resolvePath(this.cwd, '.tmp')\n\t\tconst filename = 'bulk-import-' + new Date().getTime() + '.ts'\n\n\t\tlet imports = ``\n\t\tlet exports = `export default [\\n`\n\n\t\tlet idx = 0\n\t\tfor (const file of files) {\n\t\t\tconst relative = pathUtil\n\t\t\t\t.relative(filepath, file)\n\t\t\t\t.replace(pathUtil.extname(file), '')\n\n\t\t\timports += `import { default as import${idx}} from '${relative}'\\n`\n\t\t\texports += `import${idx},\\n`\n\t\t\tidx++\n\t\t}\n\n\t\texports += ']'\n\n\t\tconst contents = imports + `\\n\\n` + exports\n\t\tconst fullPath = pathUtil.join(filepath, filename)\n\t\tdiskUtil.writeFile(fullPath, contents)\n\n\t\ttry {\n\t\t\tconst results = (await this.importDefault(fullPath)) as any[]\n\n\t\t\treturn results as any\n\t\t} catch (err) {\n\t\t\t// if something failed, lets load one at a time until we find the one that failes\n\t\t\tfor (const file of files) {\n\t\t\t\tconst imported = await this.importDefault(file)\n\t\t\t\tif (!imported) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tfriendlyMessage: `Looks like ${file} does not export default.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow err\n\t\t} finally {\n\t\t\tdiskUtil.deleteDir(filepath)\n\t\t}\n\t}\n\n\tpublic static clearCache() {\n\t\tImportService.cachedImports = {}\n\t\tdiskUtil.deleteDir(this.cacheDir())\n\t}\n\n\tpublic static setCacheDir(cacheDir: string) {\n\t\tthis.importCacheDir = cacheDir\n\t}\n\n\tpublic static disableCache() {\n\t\tthis.isCachingEnabled = false\n\t}\n\n\tpublic static enableCaching() {\n\t\tthis.isCachingEnabled = true\n\t}\n\n\tprivate hasFileChanged(hash: string) {\n\t\tconst resolvedFilePath = this.resolveCacheFile(hash)\n\t\treturn !diskUtil.doesFileExist(resolvedFilePath)\n\t}\n\n\tprivate resolveCacheFile(hash: string) {\n\t\treturn diskUtil.resolvePath(ImportService.cacheDir(), hash + '.json')\n\t}\n\n\tprivate static cacheDir(): string {\n\t\treturn this.importCacheDir\n\t}\n\n\tprivate pullHashAndContents(file: string) {\n\t\tconst fileContents = diskUtil.readFile(file)\n\t\tconst hash = md5(fileContents)\n\t\treturn { hash, fileContents }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AAA+C,SAAAK,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,oBAAAA,EAAA,8BAAAkB,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAA0B,MAAA,SAAA1B,CAAA,qBAAAA,CAAA,sBAAA2B,iBAAA,CAAA3B,CAAA,EAAA0B,MAAA,OAAAd,CAAA,GAAAgB,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAR,IAAA,CAAAtB,CAAA,EAAA+B,KAAA,aAAAnB,CAAA,iBAAAZ,CAAA,CAAAgC,WAAA,EAAApB,CAAA,GAAAZ,CAAA,CAAAgC,WAAA,CAAAC,IAAA,MAAArB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA6B,IAAA,CAAAlC,CAAA,OAAAY,CAAA,+DAAAuB,IAAA,CAAAvB,CAAA,UAAAe,iBAAA,CAAA3B,CAAA,EAAA0B,MAAA;AAAA,SAAAC,kBAAAS,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA5B,MAAA,EAAA6B,GAAA,GAAAD,GAAA,CAAA5B,MAAA,WAAAC,CAAA,MAAA6B,IAAA,OAAAjC,KAAA,CAAAgC,GAAA,GAAA5B,CAAA,GAAA4B,GAAA,EAAA5B,CAAA,IAAA6B,IAAA,CAAA7B,CAAA,IAAA2B,GAAA,CAAA3B,CAAA,UAAA6B,IAAA;AAAA,IAG1BC,aAAa,GAAAC,OAAA;EAYjC,SAAAD,cAAmBE,OAAiD,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,aAAA;IAAA,IAAAK,gBAAA;IAAA,IAAAA,gBAAA,8BATpD,0BAA0B;IAAA,IAAAA,gBAAA,mCACrB,gCAAgC;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;MAAA,IAAAC,IAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAapC,SAAAC,QAClBC,IAAY;QAAA,IAAAC,qBAAA,EAAAC,IAAA,EAAAC,YAAA,EAAAC,OAAA,EAAAC,QAAA;QAAA,OAAAR,YAAA,YAAAS,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAlC,IAAA;YAAA;cAAA,IAEPe,aAAa,CAACqB,gBAAgB;gBAAAF,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAAA,OAAAkC,QAAA,CAAAG,MAAA,WAC3BnB,KAAI,CAACoB,iBAAiB,CAACZ,IAAI,CAAC;YAAA;cAAAC,qBAAA,GAGLT,KAAI,CAACqB,mBAAmB,CAACb,IAAI,CAAC,EAArDE,IAAI,GAAAD,qBAAA,CAAJC,IAAI,EAAEC,YAAY,GAAAF,qBAAA,CAAZE,YAAY;cAAA,IAErBX,KAAI,CAACsB,cAAc,CAACZ,IAAI,CAAC;gBAAAM,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cACvB8B,OAAO,GAAGZ,KAAI,CAACuB,kBAAkB,CAACf,IAAI,EAAEG,YAAY,CAAC;cAAA,MAEvD,CAACC,OAAO,IAAIf,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;gBAAAM,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAAA,OAAAkC,QAAA,CAAAG,MAAA,WACzCtB,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAAA,IAC7BE,OAAO;gBAAAI,QAAA,CAAAlC,IAAA;gBAAA;cAAA;cAClBe,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC,GAAGV,KAAI,CAACyB,eAAe,CAACjB,IAAI,CAAC;cAAA,OAAAQ,QAAA,CAAAG,MAAA,WACvDtB,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAI1Cb,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC,GAAGV,KAAI,CAACoB,iBAAiB,CAACZ,IAAI,CAAC;cAAAQ,QAAA,CAAAlC,IAAA;cAAA,OACxCe,aAAa,CAAC2B,aAAa,CAACd,IAAI,CAAC;YAAA;cAAnDG,QAAQ,GAAAG,QAAA,CAAAU,IAAA;cACd1B,KAAI,CAAC2B,cAAc,CAACjB,IAAI,EAAEG,QAAQ,CAAC;cAAA,OAAAG,QAAA,CAAAG,MAAA,WAE5BN,QAAQ;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAY,IAAA;UAAA;QAAA,GAAArB,OAAA;MAAA,CACf;MAAA,iBAAAsB,EAAA;QAAA,OAAA1B,IAAA,CAAA2B,KAAA,OAAAC,SAAA;MAAA;IAAA;IAAA,IAAA7B,gBAAA;MAAA,IAAA8B,KAAA,OAAA5B,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CA+C2B,SAAA2B,SAC3BzB,IAAY;QAAA,IAAA0B,eAAA,EAAAC,IAAA,EAAAC,qBAAA,EAAAC,MAAA,EAAAC,YAAA,EAAAC,QAAA,EAAAC,UAAA;QAAA,OAAAnC,YAAA,YAAAS,IAAA,UAAA2B,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAA5D,IAAA;YAAA;cAAA,IAIP6D,mBAAE,CAACC,UAAU,CAACpC,IAAI,CAAC;gBAAAkC,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAAA,MACjB,IAAI+D,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJuC,eAAe,uBAAAC,MAAA,CAAuBxC,IAAI;cAC3C,CAAC,CAAC;YAAA;cAGC2B,IAAI,GAAG,CACV,IAAI,uCAAAa,MAAA,CACgCxC,IAAI,sBAAAwC,MAAA,CAAmBhD,KAAI,CAACiD,OAAO,4EAAAD,MAAA,CAAyEhD,KAAI,CAACkD,YAAY,mEACjK;cAED,IAAI1C,IAAI,CAAC2C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/BhB,IAAI,IACH,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,yBAAyB,EAAAa,MAAA,KAAAI,mBAAA,aACtBjB,IAAI,EACP;cACF;cAACO,SAAA,CAAAzB,IAAA;cAAAyB,SAAA,CAAA5D,IAAA;cAAA,OAGyBkB,KAAI,CAACqD,OAAO,CAACC,OAAO,CAAC,MAAM,EAAE;gBACrDnB,IAAI,EAAJA;cACD,CAAC,CAAC;YAAA;cAAAC,qBAAA,GAAAM,SAAA,CAAAhB,IAAA;cAFMW,MAAM,GAAAD,qBAAA,CAANC,MAAM;cAIRC,YAAY,GAAGD,MAAM,CAACkB,KAAK,CAACvD,KAAI,CAACiD,OAAO,CAAC;cACzCV,QAAQ,GAAGF,MAAM,CAACkB,KAAK,CAACvD,KAAI,CAACkD,YAAY,CAAC;cAAA,MAE5CX,QAAQ,CAACzE,MAAM,GAAG,CAAC;gBAAA4E,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAChB0D,UAAU,GAAGxC,KAAI,CAACwD,6BAA6B,CACpDjB,QAAQ,EACR/B,IAAI,EACJ6B,MACD,CAAC;cAAA,MAEKG,UAAU;YAAA;cAEhBN,eAAe,GAAGuB,IAAI,CAACC,KAAK,CAACpB,YAAY,CAAC,CAAC,CAAC,CAAC;YAAA;cAAAI,SAAA,CAAA5D,IAAA;cAAA;YAAA;cAAA4D,SAAA,CAAAzB,IAAA;cAAAyB,SAAA,CAAAiB,EAAA,GAAAjB,SAAA;cAAA,MAG1CA,SAAA,CAAAiB,EAAA,YAAed,uBAAW;gBAAAH,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAAA,MAAA4D,SAAA,CAAAiB,EAAA;YAAA;cAAA,MAGvB,IAAId,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJoD,aAAa,EAAAlB,SAAA,CAAAiB;cACd,CAAC,CAAC;YAAA;cAAA,OAAAjB,SAAA,CAAAvB,MAAA,WAIGe,eAAe;YAAA;YAAA;cAAA,OAAAQ,SAAA,CAAAd,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACtB;MAAA,iBAAA4B,GAAA;QAAA,OAAA7B,KAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;IAAA;IAAA,IAAA7B,gBAAA;MAAA,IAAA4D,KAAA,OAAA1D,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAEsB,SAAAyD,SACtBvD,IAAY;QAAA,IAAAwD,QAAA;QAAA,OAAA3D,YAAA,YAAAS,IAAA,UAAAmD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAApF,IAAA;YAAA;cAAAoF,SAAA,CAAApF,IAAA;cAAA,OAEgBkB,KAAI,CAACmE,SAAS,CAAC3D,IAAI,CAAC;YAAA;cAA1CwD,QAAa,GAAAE,SAAA,CAAAxC,IAAA;cAAA,OAAAwC,SAAA,CAAA/C,MAAA,WACZ6C,QAAQ,WAAQ;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAAtC,IAAA;UAAA;QAAA,GAAAmC,QAAA;MAAA,CACvB;MAAA,iBAAAK,GAAA;QAAA,OAAAN,KAAA,CAAAhC,KAAA,OAAAC,SAAA;MAAA;IAAA;IA/IA,IAAI,CAACsC,GAAG,GAAGtE,OAAO,CAACsE,GAAG;IACtB,IAAI,CAAChB,OAAO,GAAGtD,OAAO,CAACsD,OAAO;EAC/B;EAAC,IAAAiB,aAAA,aAAAzE,aAAA;IAAA0E,GAAA;IAAAnG,KAAA,EA6BD,SAAAmD,mBACCiD,gBAAwB,EACxBC,QAAgB,EACN;MACV,IAAIC,OAAO,GAAG,KAAK;MACnB,IAAIC,aAAa;;MAEjB;MACA,IAAMC,KAAK,GACVJ,gBAAgB,CAACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GACnC,mCAA+B,GAC/B,qCAA4B;MAEhC,OAAO,CAACwB,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAAC,MAAM,IAAI,EAAE;QACvD,IAAI;UACH,IAAMK,KAAK,GAAGH,aAAa,CAAC,CAAC,CAAC;UAC9B,IAAMI,GAAG,GAAGC,gBAAQ,CAACC,OAAO,CAACT,gBAAgB,CAAC;UAC9C,IAAMU,YAAY,GAAGlI,OAAO,CAACmI,OAAO,CAACH,gBAAQ,CAACI,IAAI,CAACL,GAAG,EAAED,KAAK,CAAC,CAAC;UAC/D,IAAAO,sBAAA,GAAiB,IAAI,CAAChE,mBAAmB,CAAC6D,YAAY,CAAC;YAA/CxE,IAAI,GAAA2E,sBAAA,CAAJ3E,IAAI;UAEZ,IAAI,IAAI,CAACY,cAAc,CAACZ,IAAI,CAAC,EAAE;YAC9BgE,OAAO,GAAG,IAAI;UACf;QACD,CAAC,CAAC,OAAAY,OAAA,EAAM;UACPZ,OAAO,GAAG,IAAI;QACf;MACD;MAEA,OAAOA,OAAO;IACf;EAAC;IAAAH,GAAA;IAAAnG,KAAA,EAED,SAAAuD,eAAuBjB,IAAY,EAAE+D,QAA6B,EAAE;MACnE,IAAMc,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAAC9E,IAAI,CAAC;MAC/C+E,0BAAQ,CAACC,SAAS,CAACH,WAAW,EAAE9B,IAAI,CAACkC,SAAS,CAAClB,QAAQ,CAAC,CAAC;IAC1D;EAAC;IAAAF,GAAA;IAAAnG,KAAA,EAED,SAAAqD,gBAAwBjB,IAAY,EAAE;MACrC,IAAAoF,sBAAA,GAAiB,IAAI,CAACvE,mBAAmB,CAACb,IAAI,CAAC;QAAvCE,IAAI,GAAAkF,sBAAA,CAAJlF,IAAI;MAEZ,IAAMmF,SAAS,GAAG,IAAI,CAACL,gBAAgB,CAAC9E,IAAI,CAAC;MAC7C,IAAM+D,QAAQ,GAAGgB,0BAAQ,CAACK,QAAQ,CAACD,SAAS,CAAC;MAE7C,OAAOpC,IAAI,CAACC,KAAK,CAACe,QAAQ,CAAC;IAC5B;EAAC;IAAAF,GAAA;IAAAnG,KAAA,EAuED,SAAAoF,8BACCjB,QAAkB,EAClB/B,IAAY,EACZ6B,MAAc,EACb;MACD,IAAI1D,GAAwB,GAAG,CAAC,CAAC;MACjC,IAAI;QACHA,GAAG,GAAG8E,IAAI,CAACC,KAAK,CAACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC5D,GAAG,CAACoB,OAAO,EAAE;UACjB,MAAMgG,KAAK,CAAC,4BAA4B,CAAC;QAC1C;MACD,CAAC,CAAC,OAAAC,QAAA,EAAM;QAAA,IAAAC,UAAA;QACPtH,GAAG,GAAG;UACLoB,OAAO,EAAE;YACR+C,IAAI,EAAE,kBAAkB;YACxBtC,IAAI,EAAJA,IAAI;YACJuC,eAAe,kDAAAC,MAAA,EAAAiD,UAAA,GACd1D,QAAQ,CAAC,CAAC,CAAC,cAAA0D,UAAA,cAAAA,UAAA,GAAI5D,MAAM;UAEvB;QACD,CAAC;MACF;MAEA,IAAMG,UAAU,GAAG,IAAIK,uBAAW,CAAClE,GAAG,CAACoB,OAAO,CAAC;MAE/C,IAAIpB,GAAG,CAACuH,KAAK,EAAE;QACd1D,UAAU,CAAC0D,KAAK,GAAGvH,GAAG,CAACuH,KAAK;MAC7B;MACA,OAAO1D,UAAU;IAClB;EAAC;IAAA+B,GAAA;IAAAnG,KAAA;MAAA,IAAA+H,WAAA,OAAA/F,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA8F,SAAwBC,KAAe;QAAA,IAAAC,QAAA,EAAAC,QAAA,EAAAC,OAAA,EAAA1G,OAAA,EAAA2G,GAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,QAAA,EAAApC,QAAA,EAAAqC,QAAA,EAAAC,OAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAzG,IAAA,EAAAwD,QAAA;QAAA,OAAA3D,YAAA,YAAAS,IAAA,UAAAoG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAlG,IAAA,GAAAkG,SAAA,CAAArI,IAAA;YAAA;cAAA,MAClCuH,KAAK,CAACvI,MAAM,KAAK,CAAC;gBAAAqJ,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAA,OAAAqI,SAAA,CAAAhG,MAAA,WACd,EAAE;YAAA;cAEJmF,QAAQ,GAAGb,0BAAQ,CAAC2B,WAAW,CAAC,IAAI,CAAC/C,GAAG,EAAE,MAAM,CAAC;cACjDkC,QAAQ,GAAG,cAAc,GAAG,IAAIc,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,KAAK;cAE1Dd,OAAO;cACP1G,OAAO;cAEP2G,GAAG,GAAG,CAAC;cAAAC,SAAA,GAAArJ,0BAAA,CACQgJ,KAAK;cAAA;gBAAxB,KAAAK,SAAA,CAAAzI,CAAA,MAAA0I,KAAA,GAAAD,SAAA,CAAAxI,CAAA,IAAAC,IAAA,GAA0B;kBAAfqC,KAAI,GAAAmG,KAAA,CAAAvI,KAAA;kBACRyI,QAAQ,GAAG7B,gBAAQ,CACvB6B,QAAQ,CAACP,QAAQ,EAAE9F,KAAI,CAAC,CACxB+G,OAAO,CAACvC,gBAAQ,CAACwC,OAAO,CAAChH,KAAI,CAAC,EAAE,EAAE,CAAC;kBAErCgG,OAAO,iCAAAxD,MAAA,CAAiCyD,GAAG,cAAAzD,MAAA,CAAW6D,QAAQ,QAAK;kBACnE/G,OAAO,aAAAkD,MAAA,CAAayD,GAAG,QAAK;kBAC5BA,GAAG,EAAE;gBACN;cAAC,SAAA9H,GAAA;gBAAA+H,SAAA,CAAArI,CAAA,CAAAM,GAAA;cAAA;gBAAA+H,SAAA,CAAAnI,CAAA;cAAA;cAEDuB,OAAO,IAAI,GAAG;cAER2E,QAAQ,GAAG+B,OAAO,SAAS,GAAG1G,OAAO;cACrCgH,QAAQ,GAAG9B,gBAAQ,CAACI,IAAI,CAACkB,QAAQ,EAAEC,QAAQ,CAAC;cAClDd,0BAAQ,CAACC,SAAS,CAACoB,QAAQ,EAAErC,QAAQ,CAAC;cAAA0C,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAArI,IAAA;cAAA,OAGd,IAAI,CAAC2I,aAAa,CAACX,QAAQ,CAAC;YAAA;cAA7CC,OAAO,GAAAI,SAAA,CAAAzF,IAAA;cAAA,OAAAyF,SAAA,CAAAhG,MAAA,WAEN4F,OAAO;YAAA;cAAAI,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAAxD,EAAA,GAAAwD,SAAA;cAEd;cAAAH,UAAA,GAAA3J,0BAAA,CACmBgJ,KAAK;cAAAc,SAAA,CAAAlG,IAAA;cAAA+F,UAAA,CAAA/I,CAAA;YAAA;cAAA,KAAAgJ,MAAA,GAAAD,UAAA,CAAA9I,CAAA,IAAAC,IAAA;gBAAAgJ,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAb0B,IAAI,GAAAyG,MAAA,CAAA7I,KAAA;cAAA+I,SAAA,CAAArI,IAAA;cAAA,OACS,IAAI,CAAC2I,aAAa,CAACjH,IAAI,CAAC;YAAA;cAAzCwD,QAAQ,GAAAmD,SAAA,CAAAzF,IAAA;cAAA,IACTsC,QAAQ;gBAAAmD,SAAA,CAAArI,IAAA;gBAAA;cAAA;cAAA,MACN,IAAI+D,uBAAW,CAAC;gBACrBC,IAAI,EAAE,kBAAkB;gBACxBtC,IAAI,EAAJA,IAAI;gBACJuC,eAAe,gBAAAC,MAAA,CAAgBxC,IAAI;cACpC,CAAC,CAAC;YAAA;cAAA2G,SAAA,CAAArI,IAAA;cAAA;YAAA;cAAAqI,SAAA,CAAArI,IAAA;cAAA;YAAA;cAAAqI,SAAA,CAAAlG,IAAA;cAAAkG,SAAA,CAAAO,EAAA,GAAAP,SAAA;cAAAH,UAAA,CAAA3I,CAAA,CAAA8I,SAAA,CAAAO,EAAA;YAAA;cAAAP,SAAA,CAAAlG,IAAA;cAAA+F,UAAA,CAAAzI,CAAA;cAAA,OAAA4I,SAAA,CAAAQ,MAAA;YAAA;cAAA,MAAAR,SAAA,CAAAxD,EAAA;YAAA;cAAAwD,SAAA,CAAAlG,IAAA;cAMJwE,0BAAQ,CAACmC,SAAS,CAACtB,QAAQ,CAAC;cAAA,OAAAa,SAAA,CAAAQ,MAAA;YAAA;YAAA;cAAA,OAAAR,SAAA,CAAAvF,IAAA;UAAA;QAAA,GAAAwE,QAAA;MAAA,CAE7B;MAAA,SAAAyB,WAAAC,GAAA;QAAA,OAAA3B,WAAA,CAAArE,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA8F,UAAA;IAAA;EAAA;IAAAtD,GAAA;IAAAnG,KAAA,EAmBD,SAAAkD,eAAuBZ,IAAY,EAAE;MACpC,IAAMqH,gBAAgB,GAAG,IAAI,CAACvC,gBAAgB,CAAC9E,IAAI,CAAC;MACpD,OAAO,CAAC+E,0BAAQ,CAACuC,aAAa,CAACD,gBAAgB,CAAC;IACjD;EAAC;IAAAxD,GAAA;IAAAnG,KAAA,EAED,SAAAoH,iBAAyB9E,IAAY,EAAE;MACtC,OAAO+E,0BAAQ,CAAC2B,WAAW,CAACvH,aAAa,CAACoI,QAAQ,CAAC,CAAC,EAAEvH,IAAI,GAAG,OAAO,CAAC;IACtE;EAAC;IAAA6D,GAAA;IAAAnG,KAAA,EAMD,SAAAiD,oBAA4Bb,IAAY,EAAE;MACzC,IAAMG,YAAY,GAAG8E,0BAAQ,CAACK,QAAQ,CAACtF,IAAI,CAAC;MAC5C,IAAME,IAAI,GAAG,IAAAwH,cAAG,EAACvH,YAAY,CAAC;MAC9B,OAAO;QAAED,IAAI,EAAJA,IAAI;QAAEC,YAAY,EAAZA;MAAa,CAAC;IAC9B;EAAC;IAAA4D,GAAA;IAAAnG,KAAA,EAlCD,SAAA+J,WAAA,EAA2B;MAC1BtI,aAAa,CAAC2B,aAAa,GAAG,CAAC,CAAC;MAChCiE,0BAAQ,CAACmC,SAAS,CAAC,IAAI,CAACK,QAAQ,CAAC,CAAC,CAAC;IACpC;EAAC;IAAA1D,GAAA;IAAAnG,KAAA,EAED,SAAAgK,YAA0BH,QAAgB,EAAE;MAC3C,IAAI,CAACI,cAAc,GAAGJ,QAAQ;IAC/B;EAAC;IAAA1D,GAAA;IAAAnG,KAAA,EAED,SAAAkK,aAAA,EAA6B;MAC5B,IAAI,CAACpH,gBAAgB,GAAG,KAAK;IAC9B;EAAC;IAAAqD,GAAA;IAAAnG,KAAA,EAED,SAAAmK,cAAA,EAA8B;MAC7B,IAAI,CAACrH,gBAAgB,GAAG,IAAI;IAC7B;EAAC;IAAAqD,GAAA;IAAAnG,KAAA,EAWD,SAAA6J,SAAA,EAAkC;MACjC,OAAO,IAAI,CAACI,cAAc;IAC3B;EAAC;EAAA,OAAAxI,aAAA;AAAA;AAAA,IAAAK,gBAAA,aA3QmBL,aAAa,mBAMmC,CAAC,CAAC;AAAA,IAAAK,gBAAA,aANlDL,aAAa,oBAQhC4F,0BAAQ,CAAC+C,aAAa,CAAC,gBAAgB,CAAC;AAAA,IAAAtI,gBAAA,aARrBL,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"LintService.js","names":["_schema","require","_fsExtra","_interopRequireDefault","_SpruceError","LintService","exports","cwd","commandServiceFactory","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","pattern","fixedFiles","fixedPaths","script","_yield$_this$getComma","stdout","i","fixedFile","wrap","_callee$","_context","prev","next","SchemaError","code","parameters","isLintingEnabled","abrupt","concat","getCommand","execute","args","sent","JSON","parse","t0","SpruceError","originalError","length","output","fs","writeFile","filePath","push","messages","errorCount","friendlyMessage","map","m","message","join","stop","_x","apply","arguments","_createClass2","key","value","disableLinting","enableLinting"],"sources":["../../src/services/LintService.ts"],"sourcesContent":["import { SchemaError } from '@sprucelabs/schema'\n// import { ESLint } from 'eslint'\nimport fs from 'fs-extra'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class LintService {\n\tpublic cwd: string\n\tprivate getCommand: () => CommandService\n\n\tprivate static isLintingEnabled = true\n\n\tpublic static disableLinting() {\n\t\tthis.isLintingEnabled = false\n\t}\n\n\tpublic static enableLinting() {\n\t\tthis.isLintingEnabled = true\n\t}\n\n\tpublic constructor(cwd: string, commandServiceFactory: () => CommandService) {\n\t\tthis.cwd = cwd\n\t\tthis.getCommand = commandServiceFactory\n\t}\n\n\tpublic fix = async (pattern: string): Promise<string[]> => {\n\t\tif (!pattern) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['pattern'],\n\t\t\t})\n\t\t}\n\n\t\tif (!LintService.isLintingEnabled) {\n\t\t\treturn []\n\t\t}\n\n\t\tlet fixedFiles: any = {}\n\t\tconst fixedPaths: string[] = []\n\n\t\ttry {\n\t\t\t// const cli = new ESLint({ fix: true, cwd: this.cwd, cache: true })\n\t\t\t// fixedFiles = await cli.lintFiles([pattern])\n\t\t\tconst script = `\"(async function lint() { try { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}', }); const result = await cli.lintFiles(['${pattern}']); console.log(JSON.stringify(result)); } catch (err) { console.log(err.toString()); }})()\"`\n\n\t\t\tconst { stdout } = await this.getCommand().execute('node', {\n\t\t\t\targs: ['-e', script],\n\t\t\t})\n\n\t\t\tfixedFiles = JSON.parse(stdout)\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'LINT_FAILED',\n\t\t\t\tpattern,\n\t\t\t\toriginalError: err,\n\t\t\t})\n\t\t}\n\n\t\tif (fixedFiles) {\n\t\t\tfor (let i = 0; i < fixedFiles.length; i += 1) {\n\t\t\t\tconst fixedFile = fixedFiles[i]\n\n\t\t\t\tif (fixedFile?.output) {\n\t\t\t\t\tawait fs.writeFile(fixedFile.filePath, fixedFile.output)\n\t\t\t\t\tfixedPaths.push(fixedFile.filePath)\n\t\t\t\t} else if (fixedFile?.messages && fixedFile?.errorCount > 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'LINT_FAILED',\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tfriendlyMessage: `Lint error with '${\n\t\t\t\t\t\t\tfixedFile.filePath\n\t\t\t\t\t\t}':\\n\\n${fixedFile.messages\n\t\t\t\t\t\t\t.map((m: any) => m?.message)\n\t\t\t\t\t\t\t.join('\\n')}`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fixedPaths\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"LintService.js","names":["_schema","require","_fsExtra","_interopRequireDefault","_SpruceError","LintService","exports","cwd","commandServiceFactory","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","pattern","fixedFiles","fixedPaths","script","_yield$_this$getComma","stdout","i","fixedFile","wrap","_callee$","_context","prev","next","SchemaError","code","parameters","isLintingEnabled","abrupt","concat","getCommand","execute","args","sent","JSON","parse","t0","SpruceError","originalError","length","output","fs","writeFile","filePath","push","messages","errorCount","friendlyMessage","map","m","message","join","stop","_x","apply","arguments","_createClass2","key","value","disableLinting","enableLinting"],"sources":["../../src/services/LintService.ts"],"sourcesContent":["import { SchemaError } from '@sprucelabs/schema'\n// import { ESLint } from 'eslint'\nimport fs from 'fs-extra'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class LintService {\n\tpublic cwd: string\n\tprivate getCommand: () => CommandService\n\n\tprivate static isLintingEnabled = true\n\n\tpublic static disableLinting() {\n\t\tthis.isLintingEnabled = false\n\t}\n\n\tpublic static enableLinting() {\n\t\tthis.isLintingEnabled = true\n\t}\n\n\tpublic constructor(cwd: string, commandServiceFactory: () => CommandService) {\n\t\tthis.cwd = cwd\n\t\tthis.getCommand = commandServiceFactory\n\t}\n\n\tpublic fix = async (pattern: string): Promise<string[]> => {\n\t\tif (!pattern) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['pattern'],\n\t\t\t})\n\t\t}\n\n\t\tif (!LintService.isLintingEnabled) {\n\t\t\treturn []\n\t\t}\n\n\t\tlet fixedFiles: any = {}\n\t\tconst fixedPaths: string[] = []\n\n\t\ttry {\n\t\t\t// const cli = new ESLint({ fix: true, cwd: this.cwd, cache: true })\n\t\t\t// fixedFiles = await cli.lintFiles([pattern])\n\t\t\tconst script = `\"(async function lint() { try { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}', }); const result = await cli.lintFiles(['${pattern}']); console.log(JSON.stringify(result)); } catch (err) { console.log(err.toString()); }})()\"`\n\n\t\t\tconst { stdout } = await this.getCommand().execute('node', {\n\t\t\t\targs: ['-e', script],\n\t\t\t})\n\n\t\t\tfixedFiles = JSON.parse(stdout)\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'LINT_FAILED',\n\t\t\t\tpattern,\n\t\t\t\toriginalError: err,\n\t\t\t})\n\t\t}\n\n\t\tif (fixedFiles) {\n\t\t\tfor (let i = 0; i < fixedFiles.length; i += 1) {\n\t\t\t\tconst fixedFile = fixedFiles[i]\n\n\t\t\t\tif (fixedFile?.output) {\n\t\t\t\t\tawait fs.writeFile(fixedFile.filePath, fixedFile.output)\n\t\t\t\t\tfixedPaths.push(fixedFile.filePath)\n\t\t\t\t} else if (fixedFile?.messages && fixedFile?.errorCount > 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'LINT_FAILED',\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tfriendlyMessage: `Lint error with '${\n\t\t\t\t\t\t\tfixedFile.filePath\n\t\t\t\t\t\t}':\\n\\n${fixedFile.messages\n\t\t\t\t\t\t\t.map((m: any) => m?.message)\n\t\t\t\t\t\t\t.join('\\n')}`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fixedPaths\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"PkgService.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_isCi","_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","PkgService","exports","_BasePkgService","_inherits2","cwd","commandService","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","_install","_asyncToGenerator2","_regenerator","mark","_callee","pkg","options","shouldCleanupLockFiles","deleteLockFile","packages","toInstall","labsModules","totalInstalled","totalSkipped","_iterator","_step","thisPackage","isInstalled","_PkgService$buildComm","executable","args","wrap","_callee$","_context","prev","bind","execute","abrupt","shouldForceInstall","startsWith","push","stripLatest","buildCommandAndArgs","diskUtil","doesDirExist","pathUtil","join","_parsedPkg","undefined","stop","install","_x","_x2","arguments","getSkillNamespace","get","_uninstall","_callee2","_callee2$","_context2","concat","_toConsumableArray2","uninstall","_x3","isCi","createRandomTempDir","filter","a","isDev","BasePkgService"],"sources":["../../src/services/PkgService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tdiskUtil,\n\tPkgService as BasePkgService,\n} from '@sprucelabs/spruce-skill-utils'\nimport isCi from '../utilities/isCi'\nimport CommandService from './CommandService'\n\nexport interface AddOptions {\n\tisDev?: boolean\n\tshouldForceInstall?: boolean\n\tshouldCleanupLockFiles?: boolean\n}\n\nexport default class PkgService extends BasePkgService {\n\tprivate commandService: CommandService\n\n\tpublic constructor(cwd: string, commandService: CommandService) {\n\t\tsuper(cwd)\n\t\tthis.commandService = commandService\n\t}\n\n\tpublic async install(pkg?: string[] | string, options?: AddOptions) {\n\t\tconst shouldCleanupLockFiles = options?.shouldCleanupLockFiles !== false\n\t\tconst deleteLockFile = shouldCleanupLockFiles\n\t\t\t? this.deleteLockFile.bind(this)\n\t\t\t: () => {}\n\n\t\tif (!pkg) {\n\t\t\tawait this.commandService.execute('yarn', { args: ['install'] })\n\t\t\tdeleteLockFile()\n\t\t\treturn { totalInstalled: -1, totalSkipped: -1 }\n\t\t}\n\n\t\tdeleteLockFile()\n\n\t\tconst packages = Array.isArray(pkg) ? pkg : [pkg]\n\t\tconst toInstall = []\n\t\tconst labsModules: string[] = []\n\n\t\tlet totalInstalled = 0\n\t\tlet totalSkipped = 0\n\n\t\tfor (const thisPackage of packages) {\n\t\t\tconst isInstalled =\n\t\t\t\t!options?.shouldForceInstall && this.isInstalled(thisPackage)\n\t\t\tif (thisPackage.startsWith('@sprucelabs/') || !isInstalled) {\n\t\t\t\ttoInstall.push(this.stripLatest(thisPackage))\n\t\t\t\ttotalInstalled++\n\t\t\t} else {\n\t\t\t\ttotalSkipped++\n\t\t\t}\n\t\t}\n\n\t\tif (totalInstalled > 0) {\n\t\t\tconst { executable, args } = PkgService.buildCommandAndArgs(\n\t\t\t\ttoInstall,\n\t\t\t\toptions\n\t\t\t)\n\n\t\t\tawait this.commandService.execute(executable, {\n\t\t\t\targs,\n\t\t\t})\n\t\t} else if (\n\t\t\t!diskUtil.doesDirExist(pathUtil.join(this.cwd, 'node_modules'))\n\t\t) {\n\t\t\tawait this.commandService.execute('yarn', { args: ['install'] })\n\t\t}\n\n\t\tdeleteLockFile()\n\n\t\tthis._parsedPkg = undefined\n\n\t\treturn { totalInstalled: totalInstalled + labsModules.length, totalSkipped }\n\t}\n\n\tpublic static buildCommandAndArgs(\n\t\ttoInstall: string[],\n\t\toptions: AddOptions | undefined\n\t) {\n\t\tconst args: any[] = [\n\t\t\tisCi() && '--cache-folder',\n\t\t\tisCi() && diskUtil.createRandomTempDir(),\n\t\t\t'add',\n\t\t\t...toInstall,\n\t\t].filter((a) => !!a)\n\n\t\tif (options?.isDev) {\n\t\t\targs.push('-D')\n\t\t}\n\n\t\tconst executable = 'yarn'\n\t\treturn { executable, args }\n\t}\n\n\tpublic getSkillNamespace() {\n\t\treturn this.get('skill.namespace')\n\t}\n\n\tpublic async uninstall(pkg: string[] | string) {\n\t\tconst packages = Array.isArray(pkg) ? pkg : [pkg]\n\t\tconst args: string[] = ['uninstall', ...packages]\n\t\tawait this.commandService.execute('npm', {\n\t\t\targs,\n\t\t})\n\n\t\tthis._parsedPkg = undefined\n\n\t\tawait this.install()\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PkgService.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_isCi","_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","PkgService","exports","_BasePkgService","_inherits2","cwd","commandService","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","_install","_asyncToGenerator2","_regenerator","mark","_callee","pkg","options","shouldCleanupLockFiles","deleteLockFile","packages","toInstall","labsModules","totalInstalled","totalSkipped","_iterator","_step","thisPackage","isInstalled","_PkgService$buildComm","executable","args","wrap","_callee$","_context","prev","bind","execute","abrupt","shouldForceInstall","startsWith","push","stripLatest","buildCommandAndArgs","diskUtil","doesDirExist","pathUtil","join","_parsedPkg","undefined","stop","install","_x","_x2","arguments","getSkillNamespace","get","_uninstall","_callee2","_callee2$","_context2","concat","_toConsumableArray2","uninstall","_x3","isCi","createRandomTempDir","filter","a","isDev","BasePkgService"],"sources":["../../src/services/PkgService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tdiskUtil,\n\tPkgService as BasePkgService,\n} from '@sprucelabs/spruce-skill-utils'\nimport isCi from '../utilities/isCi'\nimport CommandService from './CommandService'\n\nexport interface AddOptions {\n\tisDev?: boolean\n\tshouldForceInstall?: boolean\n\tshouldCleanupLockFiles?: boolean\n}\n\nexport default class PkgService extends BasePkgService {\n\tprivate commandService: CommandService\n\n\tpublic constructor(cwd: string, commandService: CommandService) {\n\t\tsuper(cwd)\n\t\tthis.commandService = commandService\n\t}\n\n\tpublic async install(pkg?: string[] | string, options?: AddOptions) {\n\t\tconst shouldCleanupLockFiles = options?.shouldCleanupLockFiles !== false\n\t\tconst deleteLockFile = shouldCleanupLockFiles\n\t\t\t? this.deleteLockFile.bind(this)\n\t\t\t: () => {}\n\n\t\tif (!pkg) {\n\t\t\tawait this.commandService.execute('yarn', { args: ['install'] })\n\t\t\tdeleteLockFile()\n\t\t\treturn { totalInstalled: -1, totalSkipped: -1 }\n\t\t}\n\n\t\tdeleteLockFile()\n\n\t\tconst packages = Array.isArray(pkg) ? pkg : [pkg]\n\t\tconst toInstall = []\n\t\tconst labsModules: string[] = []\n\n\t\tlet totalInstalled = 0\n\t\tlet totalSkipped = 0\n\n\t\tfor (const thisPackage of packages) {\n\t\t\tconst isInstalled =\n\t\t\t\t!options?.shouldForceInstall && this.isInstalled(thisPackage)\n\t\t\tif (thisPackage.startsWith('@sprucelabs/') || !isInstalled) {\n\t\t\t\ttoInstall.push(this.stripLatest(thisPackage))\n\t\t\t\ttotalInstalled++\n\t\t\t} else {\n\t\t\t\ttotalSkipped++\n\t\t\t}\n\t\t}\n\n\t\tif (totalInstalled > 0) {\n\t\t\tconst { executable, args } = PkgService.buildCommandAndArgs(\n\t\t\t\ttoInstall,\n\t\t\t\toptions\n\t\t\t)\n\n\t\t\tawait this.commandService.execute(executable, {\n\t\t\t\targs,\n\t\t\t})\n\t\t} else if (\n\t\t\t!diskUtil.doesDirExist(pathUtil.join(this.cwd, 'node_modules'))\n\t\t) {\n\t\t\tawait this.commandService.execute('yarn', { args: ['install'] })\n\t\t}\n\n\t\tdeleteLockFile()\n\n\t\tthis._parsedPkg = undefined\n\n\t\treturn { totalInstalled: totalInstalled + labsModules.length, totalSkipped }\n\t}\n\n\tpublic static buildCommandAndArgs(\n\t\ttoInstall: string[],\n\t\toptions: AddOptions | undefined\n\t) {\n\t\tconst args: any[] = [\n\t\t\tisCi() && '--cache-folder',\n\t\t\tisCi() && diskUtil.createRandomTempDir(),\n\t\t\t'add',\n\t\t\t...toInstall,\n\t\t].filter((a) => !!a)\n\n\t\tif (options?.isDev) {\n\t\t\targs.push('-D')\n\t\t}\n\n\t\tconst executable = 'yarn'\n\t\treturn { executable, args }\n\t}\n\n\tpublic getSkillNamespace() {\n\t\treturn this.get('skill.namespace')\n\t}\n\n\tpublic async uninstall(pkg: string[] | string) {\n\t\tconst packages = Array.isArray(pkg) ? pkg : [pkg]\n\t\tconst args: string[] = ['uninstall', ...packages]\n\t\tawait this.commandService.execute('npm', {\n\t\t\targs,\n\t\t})\n\n\t\tthis._parsedPkg = undefined\n\n\t\tawait this.install()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFactory.js","names":["_spruceSkillUtils","require","_EventSettingsService","_interopRequireDefault","_RemoteService","_SchemaService","_VsCodeService","_BuildService","_CommandService","_DependencyService","_ImportService","_LintService","_PkgService","_TypeCheckerService","ServiceFactory","exports","_classCallCheck2","_createClass2","key","value","_Service","Service","_x","_x2","apply","arguments","toString","cwd","type","_this","serviceClassOverides","AuthService","Auth","PkgService","EnvService","VsCodeService","SchemaService","command","CommandService","LintService","RemoteService","TypeCheckerService","buildImportService","SettingsService","DependencyService","commandService","BuildService","EventSettingsService","Error","concat","ImportService","reset","setFactoryClass","name","Class","_defineProperty2"],"sources":["../../src/services/ServiceFactory.ts"],"sourcesContent":["import {\n\tSettingsService,\n\tEnvService,\n\tAuthService,\n} from '@sprucelabs/spruce-skill-utils'\nimport EventSettingsService from '../features/event/services/EventSettingsService'\nimport RemoteService from '../features/event/services/RemoteService'\nimport { FeatureCode } from '../features/features.types'\nimport SchemaService from '../features/schema/services/SchemaService'\nimport VsCodeService from '../features/vscode/services/VsCodeService'\nimport BuildService from './BuildService'\nimport CommandService from './CommandService'\nimport DependencyService from './DependencyService'\nimport ImportService from './ImportService'\nimport LintService from './LintService'\nimport PkgService from './PkgService'\nimport TypeCheckerService from './TypeCheckerService'\n\nexport default class ServiceFactory {\n\tpublic static serviceClassOverides: Record<string, any> = {}\n\n\tpublic Service<S extends Service>(cwd: string, type: S): ServiceMap[S] {\n\t\tif (ServiceFactory.serviceClassOverides[type]) {\n\t\t\treturn new ServiceFactory.serviceClassOverides[type](cwd) as ServiceMap[S]\n\t\t}\n\n\t\tswitch (type) {\n\t\t\tcase 'auth':\n\t\t\t\treturn AuthService.Auth(cwd) as ServiceMap[S]\n\t\t\tcase 'pkg':\n\t\t\t\treturn new PkgService(\n\t\t\t\t\tcwd,\n\t\t\t\t\tthis.Service(cwd, 'command')\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'env':\n\t\t\t\treturn new EnvService(cwd) as ServiceMap[S]\n\t\t\tcase 'vsCode':\n\t\t\t\treturn new VsCodeService(cwd) as ServiceMap[S]\n\t\t\tcase 'schema':\n\t\t\t\treturn new SchemaService({\n\t\t\t\t\tcwd,\n\t\t\t\t\tcommand: new CommandService(cwd),\n\t\t\t\t}) as ServiceMap[S]\n\t\t\tcase 'lint':\n\t\t\t\treturn new LintService(cwd, () =>\n\t\t\t\t\tthis.Service(cwd, 'command')\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'command': {\n\t\t\t\treturn new CommandService(cwd) as ServiceMap[S]\n\t\t\t}\n\t\t\tcase 'remote':\n\t\t\t\treturn new RemoteService(new EnvService(cwd)) as ServiceMap[S]\n\t\t\tcase 'typeChecker':\n\t\t\t\treturn new TypeCheckerService(\n\t\t\t\t\tthis.buildImportService(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'settings':\n\t\t\t\treturn new SettingsService<FeatureCode>(cwd) as ServiceMap[S]\n\t\t\tcase 'dependency':\n\t\t\t\treturn new DependencyService(\n\t\t\t\t\tnew SettingsService<FeatureCode>(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'import':\n\t\t\t\treturn this.buildImportService(cwd) as ServiceMap[S]\n\t\t\tcase 'build': {\n\t\t\t\tconst commandService = new CommandService(cwd)\n\t\t\t\treturn new BuildService(\n\t\t\t\t\tcommandService,\n\t\t\t\t\tnew LintService(cwd, () => this.Service(cwd, 'command'))\n\t\t\t\t) as ServiceMap[S]\n\t\t\t}\n\t\t\tcase 'eventSettings':\n\t\t\t\treturn new EventSettingsService(\n\t\t\t\t\tnew SettingsService(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Service \"${type}\" not found`)\n\t\t}\n\t}\n\n\tprivate buildImportService(cwd: string): ImportService {\n\t\treturn new ImportService({\n\t\t\tcwd,\n\t\t\tcommand: new CommandService(cwd),\n\t\t})\n\t}\n\n\tpublic static reset() {\n\t\tthis.serviceClassOverides = {}\n\t}\n\n\tpublic static setFactoryClass(name: string, Class: any) {\n\t\tthis.serviceClassOverides[name] = Class\n\t}\n}\n\nexport interface ServiceMap {\n\tpkg: PkgService\n\tvsCode: VsCodeService\n\tschema: SchemaService\n\tlint: LintService\n\tcommand: CommandService\n\ttypeChecker: TypeCheckerService\n\timport: ImportService\n\tbuild: BuildService\n\tsettings: SettingsService\n\tenv: EnvService\n\tauth: AuthService\n\tremote: RemoteService\n\teventSettings: EventSettingsService\n\tdependency: DependencyService\n}\n\nexport type Service = keyof ServiceMap\n\nexport interface ServiceProvider {\n\tService<S extends Service>(type: S, cwd?: string): ServiceMap[S]\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceFactory.js","names":["_spruceSkillUtils","require","_EventSettingsService","_interopRequireDefault","_RemoteService","_SchemaService","_VsCodeService","_BuildService","_CommandService","_DependencyService","_ImportService","_LintService","_PkgService","_TypeCheckerService","ServiceFactory","exports","_classCallCheck2","_createClass2","key","value","_Service","Service","_x","_x2","apply","arguments","toString","cwd","type","_this","serviceClassOverides","AuthService","Auth","PkgService","EnvService","VsCodeService","SchemaService","command","CommandService","LintService","RemoteService","TypeCheckerService","buildImportService","SettingsService","DependencyService","commandService","BuildService","EventSettingsService","Error","concat","ImportService","reset","setFactoryClass","name","Class","_defineProperty2"],"sources":["../../src/services/ServiceFactory.ts"],"sourcesContent":["import {\n\tSettingsService,\n\tEnvService,\n\tAuthService,\n} from '@sprucelabs/spruce-skill-utils'\nimport EventSettingsService from '../features/event/services/EventSettingsService'\nimport RemoteService from '../features/event/services/RemoteService'\nimport { FeatureCode } from '../features/features.types'\nimport SchemaService from '../features/schema/services/SchemaService'\nimport VsCodeService from '../features/vscode/services/VsCodeService'\nimport BuildService from './BuildService'\nimport CommandService from './CommandService'\nimport DependencyService from './DependencyService'\nimport ImportService from './ImportService'\nimport LintService from './LintService'\nimport PkgService from './PkgService'\nimport TypeCheckerService from './TypeCheckerService'\n\nexport default class ServiceFactory {\n\tpublic static serviceClassOverides: Record<string, any> = {}\n\n\tpublic Service<S extends Service>(cwd: string, type: S): ServiceMap[S] {\n\t\tif (ServiceFactory.serviceClassOverides[type]) {\n\t\t\treturn new ServiceFactory.serviceClassOverides[type](cwd) as ServiceMap[S]\n\t\t}\n\n\t\tswitch (type) {\n\t\t\tcase 'auth':\n\t\t\t\treturn AuthService.Auth(cwd) as ServiceMap[S]\n\t\t\tcase 'pkg':\n\t\t\t\treturn new PkgService(\n\t\t\t\t\tcwd,\n\t\t\t\t\tthis.Service(cwd, 'command')\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'env':\n\t\t\t\treturn new EnvService(cwd) as ServiceMap[S]\n\t\t\tcase 'vsCode':\n\t\t\t\treturn new VsCodeService(cwd) as ServiceMap[S]\n\t\t\tcase 'schema':\n\t\t\t\treturn new SchemaService({\n\t\t\t\t\tcwd,\n\t\t\t\t\tcommand: new CommandService(cwd),\n\t\t\t\t}) as ServiceMap[S]\n\t\t\tcase 'lint':\n\t\t\t\treturn new LintService(cwd, () =>\n\t\t\t\t\tthis.Service(cwd, 'command')\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'command': {\n\t\t\t\treturn new CommandService(cwd) as ServiceMap[S]\n\t\t\t}\n\t\t\tcase 'remote':\n\t\t\t\treturn new RemoteService(new EnvService(cwd)) as ServiceMap[S]\n\t\t\tcase 'typeChecker':\n\t\t\t\treturn new TypeCheckerService(\n\t\t\t\t\tthis.buildImportService(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'settings':\n\t\t\t\treturn new SettingsService<FeatureCode>(cwd) as ServiceMap[S]\n\t\t\tcase 'dependency':\n\t\t\t\treturn new DependencyService(\n\t\t\t\t\tnew SettingsService<FeatureCode>(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tcase 'import':\n\t\t\t\treturn this.buildImportService(cwd) as ServiceMap[S]\n\t\t\tcase 'build': {\n\t\t\t\tconst commandService = new CommandService(cwd)\n\t\t\t\treturn new BuildService(\n\t\t\t\t\tcommandService,\n\t\t\t\t\tnew LintService(cwd, () => this.Service(cwd, 'command'))\n\t\t\t\t) as ServiceMap[S]\n\t\t\t}\n\t\t\tcase 'eventSettings':\n\t\t\t\treturn new EventSettingsService(\n\t\t\t\t\tnew SettingsService(cwd)\n\t\t\t\t) as ServiceMap[S]\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Service \"${type}\" not found`)\n\t\t}\n\t}\n\n\tprivate buildImportService(cwd: string): ImportService {\n\t\treturn new ImportService({\n\t\t\tcwd,\n\t\t\tcommand: new CommandService(cwd),\n\t\t})\n\t}\n\n\tpublic static reset() {\n\t\tthis.serviceClassOverides = {}\n\t}\n\n\tpublic static setFactoryClass(name: string, Class: any) {\n\t\tthis.serviceClassOverides[name] = Class\n\t}\n}\n\nexport interface ServiceMap {\n\tpkg: PkgService\n\tvsCode: VsCodeService\n\tschema: SchemaService\n\tlint: LintService\n\tcommand: CommandService\n\ttypeChecker: TypeCheckerService\n\timport: ImportService\n\tbuild: BuildService\n\tsettings: SettingsService\n\tenv: EnvService\n\tauth: AuthService\n\tremote: RemoteService\n\teventSettings: EventSettingsService\n\tdependency: DependencyService\n}\n\nexport type Service = keyof ServiceMap\n\nexport interface ServiceProvider {\n\tService<S extends Service>(type: S, cwd?: string): ServiceMap[S]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeCheckerService.js","names":["TypeCheckerService","exports","_createClass2","importer","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","tsFile","wrap","_callee$","_context","prev","next","importAll","stop","_x","apply","arguments"],"sources":["../../src/services/TypeCheckerService.ts"],"sourcesContent":["import ImportService from './ImportService'\n\nexport default class TypeCheckerService {\n\tprivate importer: ImportService\n\tpublic constructor(importer: ImportService) {\n\t\tthis.importer = importer\n\t}\n\tpublic check = async (tsFile: string) => {\n\t\tawait this.importer.importAll(tsFile)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;IAEqBA,kBAAkB,GAAAC,OAAA,+BAAAC,aAAA,aAEtC,SAAAF,mBAAmBG,QAAuB,EAAE;EAAA,IAAAC,KAAA;EAAA,IAAAC,gBAAA,mBAAAL,kBAAA;EAAA,IAAAM,gBAAA;EAAA,IAAAA,gBAAA;IAAA,IAAAC,IAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAG7B,SAAAC,QAAOC,MAAc;MAAA,OAAAH,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC7Bb,KAAI,CAACD,QAAQ,CAACe,SAAS,CAACN,MAAM,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAI,IAAA;QAAA;MAAA,GAAAR,OAAA;IAAA,CACrC;IAAA,iBAAAS,EAAA;MAAA,OAAAb,IAAA,CAAAc,KAAA,OAAAC,SAAA;IAAA;EAAA;EAJA,IAAI,CAACnB,QAAQ,GAAGA,QAAQ;AACzB,CAAC"}
1
+ {"version":3,"file":"TypeCheckerService.js","names":["TypeCheckerService","exports","_createClass2","importer","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","tsFile","wrap","_callee$","_context","prev","next","importAll","stop","_x","apply","arguments"],"sources":["../../src/services/TypeCheckerService.ts"],"sourcesContent":["import ImportService from './ImportService'\n\nexport default class TypeCheckerService {\n\tprivate importer: ImportService\n\tpublic constructor(importer: ImportService) {\n\t\tthis.importer = importer\n\t}\n\tpublic check = async (tsFile: string) => {\n\t\tawait this.importer.importAll(tsFile)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;IAEqBA,kBAAkB,GAAAC,OAAA,+BAAAC,aAAA,aAEtC,SAAAF,mBAAmBG,QAAuB,EAAE;EAAA,IAAAC,KAAA;EAAA,IAAAC,gBAAA,mBAAAL,kBAAA;EAAA,IAAAM,gBAAA;EAAA,IAAAA,gBAAA;IAAA,IAAAC,IAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAG7B,SAAAC,QAAOC,MAAc;MAAA,OAAAH,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC7Bb,KAAI,CAACD,QAAQ,CAACe,SAAS,CAACN,MAAM,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAI,IAAA;QAAA;MAAA,GAAAR,OAAA;IAAA,CACrC;IAAA,iBAAAS,EAAA;MAAA,OAAAb,IAAA,CAAAc,KAAA,OAAAC,SAAA;IAAA;EAAA;EAJA,IAAI,CAACnB,QAAQ,GAAGA,QAAQ;AACzB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractLocalStore.js","names":["_AbstractStore2","_interopRequireDefault","require","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","AbstractLocalStore","exports","_AbstractStore","_inherits2","options","_classCallCheck2","_createClass2","key","get","Service","value","writeValue","writeValues","values","settings","readSettings","set","readValue","readValues","_this$settings$get","AbstractStore"],"sources":["../../src/stores/AbstractLocalStore.ts"],"sourcesContent":["import AbstractStore from './AbstractStore'\nimport { StoreOptions } from './AbstractStore'\n\nexport interface LocalStoreSettings {}\n\nexport default abstract class AbstractLocalStore<\n\tSettings extends LocalStoreSettings,\n> extends AbstractStore {\n\tpublic constructor(options: StoreOptions) {\n\t\tsuper(options)\n\t}\n\n\tprivate get settings() {\n\t\treturn this.Service('settings')\n\t}\n\n\tprotected writeValue<F extends keyof Settings>(key: F, value: Settings[F]) {\n\t\tthis.writeValues({ [key]: value })\n\t\treturn\n\t}\n\n\tprotected writeValues<T extends Record<string, any>>(values: T) {\n\t\tconst settings = { ...this.readSettings(), ...values }\n\t\tthis.settings.set('stores', settings)\n\n\t\treturn this\n\t}\n\n\tprotected readValue<F extends keyof Settings>(key: F) {\n\t\tconst settings = this.readValues()\n\t\treturn settings[key]\n\t}\n\n\tprotected readValues<T extends Settings>(): Partial<T> {\n\t\tconst values = this.readSettings()\n\t\treturn values\n\t}\n\n\tprivate readSettings() {\n\t\treturn this.settings.get('stores') ?? {}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AbstractLocalStore.js","names":["_AbstractStore2","_interopRequireDefault","require","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","AbstractLocalStore","exports","_AbstractStore","_inherits2","options","_classCallCheck2","_createClass2","key","get","Service","value","writeValue","writeValues","values","settings","readSettings","set","readValue","readValues","_this$settings$get","AbstractStore"],"sources":["../../src/stores/AbstractLocalStore.ts"],"sourcesContent":["import AbstractStore from './AbstractStore'\nimport { StoreOptions } from './AbstractStore'\n\nexport interface LocalStoreSettings {}\n\nexport default abstract class AbstractLocalStore<\n\tSettings extends LocalStoreSettings,\n> extends AbstractStore {\n\tpublic constructor(options: StoreOptions) {\n\t\tsuper(options)\n\t}\n\n\tprivate get settings() {\n\t\treturn this.Service('settings')\n\t}\n\n\tprotected writeValue<F extends keyof Settings>(key: F, value: Settings[F]) {\n\t\tthis.writeValues({ [key]: value })\n\t\treturn\n\t}\n\n\tprotected writeValues<T extends Record<string, any>>(values: T) {\n\t\tconst settings = { ...this.readSettings(), ...values }\n\t\tthis.settings.set('stores', settings)\n\n\t\treturn this\n\t}\n\n\tprotected readValue<F extends keyof Settings>(key: F) {\n\t\tconst settings = this.readValues()\n\t\treturn settings[key]\n\t}\n\n\tprotected readValues<T extends Settings>(): Partial<T> {\n\t\tconst values = this.readSettings()\n\t\treturn values\n\t}\n\n\tprivate readSettings() {\n\t\treturn this.settings.get('stores') ?? {}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractStore.js","names":["AbstractStore","exports","options","_classCallCheck2","_defineProperty2","cwd","serviceFactory","homeDir","apiClientFactory","emitter","_createClass2","key","value","_Service","Service","_x","_x2","apply","arguments","toString","type","_connectToApi","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","connectToApi","_x3"],"sources":["../../src/stores/AbstractStore.ts"],"sourcesContent":["import { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory, {\n\tServiceProvider,\n\tService,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport {\n\tApiClientFactory,\n\tApiClient,\n\tApiClientFactoryOptions,\n} from '../types/apiClient.types'\n\nexport default abstract class AbstractStore implements ServiceProvider {\n\tprotected cwd: string\n\tprotected homeDir: string\n\tprotected apiClientFactory: ApiClientFactory\n\tprotected emitter: GlobalEmitter\n\n\tpublic abstract name: string\n\n\tprivate serviceFactory: ServiceFactory\n\n\tpublic constructor(options: StoreOptions) {\n\t\tthis.cwd = options.cwd\n\t\tthis.serviceFactory = options.serviceFactory\n\t\tthis.homeDir = options.homeDir\n\t\tthis.apiClientFactory = options.apiClientFactory\n\t\tthis.emitter = options.emitter\n\t}\n\n\tpublic Service<S extends Service>(type: S, cwd?: string): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected async connectToApi(\n\t\toptions?: ApiClientFactoryOptions\n\t): Promise<ApiClient> {\n\t\treturn this.apiClientFactory(options)\n\t}\n}\n\ninterface AbstractStoreOptions {\n\tserviceFactory: ServiceFactory\n\tcwd: string\n\thomeDir: string\n\tapiClientFactory: ApiClientFactory\n\temitter: GlobalEmitter\n}\n\nexport type StoreOptions<\n\tOptions extends Record<string, any> | undefined = undefined,\n> =\n\tOptions extends Record<string, any>\n\t\t? AbstractStoreOptions & Options\n\t\t: AbstractStoreOptions\n"],"mappings":";;;;;;;;;;;;IAY8BA,aAAa,GAAAC,OAAA;EAU1C,SAAAD,cAAmBE,OAAqB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,aAAA;IAAA,IAAAI,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IACzC,IAAI,CAACC,GAAG,GAAGH,OAAO,CAACG,GAAG;IACtB,IAAI,CAACC,cAAc,GAAGJ,OAAO,CAACI,cAAc;IAC5C,IAAI,CAACC,OAAO,GAAGL,OAAO,CAACK,OAAO;IAC9B,IAAI,CAACC,gBAAgB,GAAGN,OAAO,CAACM,gBAAgB;IAChD,IAAI,CAACC,OAAO,GAAGP,OAAO,CAACO,OAAO;EAC/B;EAAC,IAAAC,aAAA,aAAAV,aAAA;IAAAW,GAAA;IAAAC,KAAA,YAAAC,QAAA;MAAA,SAAAC,QAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAH,QAAA,CAAAI,KAAA,OAAAC,SAAA;MAAA;MAAAJ,OAAA,CAAAK,QAAA;QAAA,OAAAN,QAAA,CAAAM,QAAA;MAAA;MAAA,OAAAL,OAAA;IAAA,EAED,UAAkCM,IAAO,EAAEf,GAAY,EAAiB;MACvE,OAAO,IAAI,CAACC,cAAc,CAACQ,OAAO,CAACT,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI,IAAI,CAACA,GAAG,EAAEe,IAAI,CAAC;IAC1D,CAAC;EAAA;IAAAT,GAAA;IAAAC,KAAA;MAAA,IAAAS,aAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAC,QACCvB,OAAiC;QAAA,OAAAqB,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE1B,IAAI,CAACvB,gBAAgB,CAACN,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA0B,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACrC;MAAA,SAAAQ,aAAAC,GAAA;QAAA,OAAAb,aAAA,CAAAJ,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAe,YAAA;IAAA;EAAA;EAAA,OAAAjC,aAAA;AAAA"}
1
+ {"version":3,"file":"AbstractStore.js","names":["AbstractStore","exports","options","_classCallCheck2","_defineProperty2","cwd","serviceFactory","homeDir","apiClientFactory","emitter","_createClass2","key","value","_Service","Service","_x","_x2","apply","arguments","toString","type","_connectToApi","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","connectToApi","_x3"],"sources":["../../src/stores/AbstractStore.ts"],"sourcesContent":["import { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory, {\n\tServiceProvider,\n\tService,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport {\n\tApiClientFactory,\n\tApiClient,\n\tApiClientFactoryOptions,\n} from '../types/apiClient.types'\n\nexport default abstract class AbstractStore implements ServiceProvider {\n\tprotected cwd: string\n\tprotected homeDir: string\n\tprotected apiClientFactory: ApiClientFactory\n\tprotected emitter: GlobalEmitter\n\n\tpublic abstract name: string\n\n\tprivate serviceFactory: ServiceFactory\n\n\tpublic constructor(options: StoreOptions) {\n\t\tthis.cwd = options.cwd\n\t\tthis.serviceFactory = options.serviceFactory\n\t\tthis.homeDir = options.homeDir\n\t\tthis.apiClientFactory = options.apiClientFactory\n\t\tthis.emitter = options.emitter\n\t}\n\n\tpublic Service<S extends Service>(type: S, cwd?: string): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected async connectToApi(\n\t\toptions?: ApiClientFactoryOptions\n\t): Promise<ApiClient> {\n\t\treturn this.apiClientFactory(options)\n\t}\n}\n\ninterface AbstractStoreOptions {\n\tserviceFactory: ServiceFactory\n\tcwd: string\n\thomeDir: string\n\tapiClientFactory: ApiClientFactory\n\temitter: GlobalEmitter\n}\n\nexport type StoreOptions<\n\tOptions extends Record<string, any> | undefined = undefined,\n> =\n\tOptions extends Record<string, any>\n\t\t? AbstractStoreOptions & Options\n\t\t: AbstractStoreOptions\n"],"mappings":";;;;;;;;;;;;IAY8BA,aAAa,GAAAC,OAAA;EAU1C,SAAAD,cAAmBE,OAAqB,EAAE;IAAA,IAAAC,gBAAA,mBAAAH,aAAA;IAAA,IAAAI,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IACzC,IAAI,CAACC,GAAG,GAAGH,OAAO,CAACG,GAAG;IACtB,IAAI,CAACC,cAAc,GAAGJ,OAAO,CAACI,cAAc;IAC5C,IAAI,CAACC,OAAO,GAAGL,OAAO,CAACK,OAAO;IAC9B,IAAI,CAACC,gBAAgB,GAAGN,OAAO,CAACM,gBAAgB;IAChD,IAAI,CAACC,OAAO,GAAGP,OAAO,CAACO,OAAO;EAC/B;EAAC,IAAAC,aAAA,aAAAV,aAAA;IAAAW,GAAA;IAAAC,KAAA,YAAAC,QAAA;MAAA,SAAAC,QAAAC,EAAA,EAAAC,GAAA;QAAA,OAAAH,QAAA,CAAAI,KAAA,OAAAC,SAAA;MAAA;MAAAJ,OAAA,CAAAK,QAAA;QAAA,OAAAN,QAAA,CAAAM,QAAA;MAAA;MAAA,OAAAL,OAAA;IAAA,EAED,UAAkCM,IAAO,EAAEf,GAAY,EAAiB;MACvE,OAAO,IAAI,CAACC,cAAc,CAACQ,OAAO,CAACT,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI,IAAI,CAACA,GAAG,EAAEe,IAAI,CAAC;IAC1D,CAAC;EAAA;IAAAT,GAAA;IAAAC,KAAA;MAAA,IAAAS,aAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAC,QACCvB,OAAiC;QAAA,OAAAqB,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAE1B,IAAI,CAACvB,gBAAgB,CAACN,OAAO,CAAC;YAAA;YAAA;cAAA,OAAA0B,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACrC;MAAA,SAAAQ,aAAAC,GAAA;QAAA,OAAAb,aAAA,CAAAJ,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAe,YAAA;IAAA;EAAA;EAAA,OAAAjC,aAAA;AAAA","ignoreList":[]}