@sprucelabs/spruce-cli 15.2.23 → 15.2.24

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 (158) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +3 -1
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
  5. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  6. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
  7. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  8. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
  9. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  10. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
  11. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  12. package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
  13. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  14. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
  15. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
  17. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  18. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
  19. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
  21. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  22. package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
  23. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  24. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
  25. package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  27. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  29. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
  30. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  31. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
  32. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  33. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
  34. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  35. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
  36. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
  37. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  38. package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
  39. package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
  40. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
  41. package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
  42. package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
  43. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
  44. package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
  45. package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
  46. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
  47. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
  48. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
  49. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
  50. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
  51. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
  52. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
  53. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
  54. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
  55. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js.map +1 -1
  56. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
  57. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
  58. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js.map +1 -1
  59. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
  60. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
  61. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js.map +1 -1
  62. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
  63. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
  64. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
  65. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
  66. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
  67. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  68. package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
  69. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  70. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
  71. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  72. package/build/__tests__/implementation/EventStore.test.js +7 -2
  73. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  74. package/build/__tests__/implementation/LintService.test.js +2 -2
  75. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  76. package/build/__tests__/implementation/PkgService.test.js +2 -2
  77. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  78. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  79. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  80. package/build/cli.js +1 -1
  81. package/build/cli.js.map +1 -1
  82. package/build/features/event/EventFeature.d.ts +1 -0
  83. package/build/features/event/EventFeature.js +89 -56
  84. package/build/features/event/EventFeature.js.map +1 -1
  85. package/build/features/event/actions/ListenAction.d.ts +1 -0
  86. package/build/features/event/actions/ListenAction.js +23 -31
  87. package/build/features/event/actions/ListenAction.js.map +1 -1
  88. package/build/features/event/stores/EventStore.d.ts +6 -5
  89. package/build/features/event/stores/EventStore.js +10 -7
  90. package/build/features/event/stores/EventStore.js.map +1 -1
  91. package/build/features/store/StoreFeature.d.ts +1 -1
  92. package/build/features/store/StoreFeature.js +15 -14
  93. package/build/features/store/StoreFeature.js.map +1 -1
  94. package/build/services/CommandService.d.ts +1 -1
  95. package/build/services/CommandService.js +2 -2
  96. package/build/services/CommandService.js.map +1 -1
  97. package/build/tests/AbstractCliTest.d.ts +2 -0
  98. package/build/tests/AbstractCliTest.js +9 -2
  99. package/build/tests/AbstractCliTest.js.map +1 -1
  100. package/build/tests/CommandFaker.d.ts +8 -0
  101. package/build/tests/CommandFaker.js +54 -0
  102. package/build/tests/CommandFaker.js.map +1 -0
  103. package/build/tests/cleanTestData.js +9 -10
  104. package/build/tests/cleanTestData.js.map +1 -1
  105. package/build/tests/constants.d.ts +8 -0
  106. package/build/tests/constants.js +28 -0
  107. package/build/tests/constants.js.map +1 -0
  108. package/package.json +69 -69
  109. package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
  110. package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
  111. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
  112. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
  113. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
  114. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  115. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
  116. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
  117. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
  118. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
  119. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
  120. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
  121. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
  122. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  123. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  124. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  125. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
  126. package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
  127. package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
  128. package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
  129. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
  130. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
  131. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
  132. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
  133. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
  134. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
  135. package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
  136. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  137. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  138. package/src/__tests__/implementation/EventStore.test.ts +3 -1
  139. package/src/__tests__/implementation/LintService.test.ts +2 -2
  140. package/src/__tests__/implementation/PkgService.test.ts +4 -7
  141. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  142. package/src/cli.ts +1 -1
  143. package/src/features/event/EventFeature.ts +14 -11
  144. package/src/features/event/actions/ListenAction.ts +22 -12
  145. package/src/features/event/stores/EventStore.ts +17 -12
  146. package/src/features/store/StoreFeature.ts +6 -5
  147. package/src/services/CommandService.ts +1 -4
  148. package/src/tests/AbstractCliTest.ts +6 -1
  149. package/src/tests/CommandFaker.ts +24 -0
  150. package/src/tests/cleanTestData.ts +2 -19
  151. package/src/tests/constants.ts +17 -0
  152. package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
  153. package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
  154. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
  155. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
  156. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
  157. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
  158. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/AbstractCliTest.ts"],"names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_INTERTAINMENT","originalEnv","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","emitter","undefined","featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearMockResponses","MercuryClientFactory","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupTestSkillDirs","FeatureFixture","deleteOldSkillDirs","pattern","resolveTestPath","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","getEmitter","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","getFeatureInstaller","MercuryFixture","PersonFixture","writerFactory","WriterFactory","viewWriter","Writer","fileDescriptions","ViewFixture","Action","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","checker","check","path","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","ActionFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tStoreFactoryMethodOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\n\tprivate static _ui: SpyInterface\n\tprivate static emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_INTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis.emitter = undefined\n\t\tthis.featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearMockResponses()\n\t\tMercuryClientFactory.reset()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis.emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static getEmitter() {\n\t\tif (!this.emitter) {\n\t\t\tthis.emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this.emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\tconst emitter = options?.emitter ?? this.getEmitter()\n\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.getFeatureInstaller({ emitter }),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst writerFactory = this.WriterFactory()\n\n\t\t\tconst viewWriter = writerFactory.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static getFeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tif (!this.featureInstaller) {\n\t\t\tconst serviceFactory = this.ServiceFactory()\n\t\t\tconst storeFactory = this.StoreFactory(options)\n\t\t\tconst emitter = this.getEmitter()\n\t\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\t\tthis.featureInstaller = FeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tserviceFactory,\n\t\t\t\tstoreFactory,\n\t\t\t\tui: this.ui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t\t...options,\n\t\t\t})\n\t\t}\n\n\t\treturn this.featureInstaller\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.getEmitter(),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: StoreFactoryMethodOptions\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\t\tconst isInstalled = await featureInstaller.isInstalled(code)\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tconst checker = this.Service('typeChecker')\n\t\t\tawait checker.check(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst writerFactory = this.WriterFactory()\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.getFeatureInstaller()\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n"],"file":"AbstractCliTest.js"}
1
+ {"version":3,"sources":["../../src/tests/AbstractCliTest.ts"],"names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","emitter","undefined","featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearMockResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupTestSkillDirs","FeatureFixture","deleteOldSkillDirs","pattern","resolveTestPath","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","getEmitter","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","getFeatureInstaller","MercuryFixture","PersonFixture","writerFactory","WriterFactory","viewWriter","Writer","fileDescriptions","ViewFixture","Action","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","checker","check","path","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","ActionFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tStoreFactoryMethodOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis.emitter = undefined\n\t\tthis.featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearMockResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis.emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static getEmitter() {\n\t\tif (!this.emitter) {\n\t\t\tthis.emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this.emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\tconst emitter = options?.emitter ?? this.getEmitter()\n\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.getFeatureInstaller({ emitter }),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst writerFactory = this.WriterFactory()\n\n\t\t\tconst viewWriter = writerFactory.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static getFeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tif (!this.featureInstaller) {\n\t\t\tconst serviceFactory = this.ServiceFactory()\n\t\t\tconst storeFactory = this.StoreFactory(options)\n\t\t\tconst emitter = this.getEmitter()\n\t\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\t\tthis.featureInstaller = FeatureInstallerFactory.WithAllFeatures({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tserviceFactory,\n\t\t\t\tstoreFactory,\n\t\t\t\tui: this.ui,\n\t\t\t\temitter,\n\t\t\t\tapiClientFactory,\n\t\t\t\tactionExecuter,\n\t\t\t\t...options,\n\t\t\t})\n\t\t}\n\n\t\treturn this.featureInstaller\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.getEmitter(),\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: StoreFactoryMethodOptions\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\t\tconst isInstalled = await featureInstaller.isInstalled(code)\n\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tconst checker = this.Service('typeChecker')\n\t\t\tawait checker.check(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst writerFactory = this.WriterFactory()\n\n\t\tconst emitter = this.getEmitter()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.getFeatureInstaller()\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n"],"file":"AbstractCliTest.js"}
@@ -0,0 +1,8 @@
1
+ declare type Command = RegExp | string;
2
+ export default class CommandFaker {
3
+ fakeRebuild(code?: number): void;
4
+ fakeCommand(command: Command, code?: number): void;
5
+ fakeCleanBuild(code?: number): void;
6
+ fakeBuild(code?: number): void;
7
+ }
8
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _CommandService = _interopRequireDefault(require("../services/CommandService"));
15
+
16
+ var CommandFaker = /*#__PURE__*/function () {
17
+ function CommandFaker() {
18
+ (0, _classCallCheck2["default"])(this, CommandFaker);
19
+ }
20
+
21
+ (0, _createClass2["default"])(CommandFaker, [{
22
+ key: "fakeRebuild",
23
+ value: function fakeRebuild() {
24
+ var code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
25
+ var command = new RegExp(/yarn rebuild/gi);
26
+ this.fakeCommand(command, code);
27
+ }
28
+ }, {
29
+ key: "fakeCommand",
30
+ value: function fakeCommand(command) {
31
+ var code = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
32
+
33
+ _CommandService["default"].fakeCommand(command, {
34
+ code: code
35
+ });
36
+ }
37
+ }, {
38
+ key: "fakeCleanBuild",
39
+ value: function fakeCleanBuild() {
40
+ var code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
41
+ this.fakeCommand('yarn clean.build', code);
42
+ }
43
+ }, {
44
+ key: "fakeBuild",
45
+ value: function fakeBuild() {
46
+ var code = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
47
+ this.fakeCommand('yarn build.dev', code);
48
+ }
49
+ }]);
50
+ return CommandFaker;
51
+ }();
52
+
53
+ exports["default"] = CommandFaker;
54
+ //# sourceMappingURL=CommandFaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tests/CommandFaker.ts"],"names":["CommandFaker","code","command","RegExp","fakeCommand","CommandService"],"mappings":";;;;;;;;;;;;;AAAA;;IAIqBA,Y;;;;;;;WACpB,uBAA6B;AAAA,UAAVC,IAAU,uEAAH,CAAG;AAC5B,UAAMC,OAAO,GAAG,IAAIC,MAAJ,CAAW,gBAAX,CAAhB;AACA,WAAKC,WAAL,CAAiBF,OAAjB,EAA0BD,IAA1B;AACA;;;WAED,qBAAmBC,OAAnB,EAA+C;AAAA,UAAVD,IAAU,uEAAH,CAAG;;AAC9CI,iCAAeD,WAAf,CAA2BF,OAA3B,EAAoC;AACnCD,QAAAA,IAAI,EAAJA;AADmC,OAApC;AAGA;;;WAED,0BAAgC;AAAA,UAAVA,IAAU,uEAAH,CAAG;AAC/B,WAAKG,WAAL,CAAiB,kBAAjB,EAAqCH,IAArC;AACA;;;WAED,qBAA2B;AAAA,UAAVA,IAAU,uEAAH,CAAG;AAC1B,WAAKG,WAAL,CAAiB,gBAAjB,EAAmCH,IAAnC;AACA","sourcesContent":["import CommandService from '../services/CommandService'\n\ntype Command = RegExp | string\n\nexport default class CommandFaker {\n\tpublic fakeRebuild(code = 0) {\n\t\tconst command = new RegExp(/yarn rebuild/gis)\n\t\tthis.fakeCommand(command, code)\n\t}\n\n\tpublic fakeCommand(command: Command, code = 0) {\n\t\tCommandService.fakeCommand(command, {\n\t\t\tcode,\n\t\t})\n\t}\n\n\tpublic fakeCleanBuild(code = 0) {\n\t\tthis.fakeCommand('yarn clean.build', code)\n\t}\n\n\tpublic fakeBuild(code = 0) {\n\t\tthis.fakeCommand('yarn build.dev', code)\n\t}\n}\n"],"file":"CommandFaker.js"}
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
8
 
7
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
@@ -16,6 +18,8 @@ var _ServiceFactory = _interopRequireDefault(require("../services/ServiceFactory
16
18
 
17
19
  var _StoreFactory = _interopRequireDefault(require("../stores/StoreFactory"));
18
20
 
21
+ var demoNumbersByName = _interopRequireWildcard(require("../tests/constants"));
22
+
19
23
  var _MercuryFixture = _interopRequireDefault(require("./fixtures/MercuryFixture"));
20
24
 
21
25
  var _OrganizationFixture = _interopRequireDefault(require("./fixtures/OrganizationFixture"));
@@ -24,22 +28,17 @@ var _PersonFixture = _interopRequireDefault(require("./fixtures/PersonFixture"))
24
28
 
25
29
  var _SkillFixture = _interopRequireDefault(require("./fixtures/SkillFixture"));
26
30
 
31
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
+
33
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+
27
35
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
28
36
 
29
37
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
30
38
 
31
39
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
32
40
 
33
- require('dotenv').config();
34
-
35
- var DEMO_NUMBER = process.env.DEMO_NUMBER;
36
- var DEMO_NUMBER_LOGIN_AS_SKILL = process.env.DEMO_NUMBER_LOGIN_AS_SKILL;
37
- var DEMO_NUMBER_INSTALL_SKILL = process.env.DEMO_NUMBER_INSTALL_SKILL;
38
- var SANDBOX_DEMO_NUMBER = process.env.SANDBOX_DEMO_NUMBER;
39
- var DEMO_NUMBER_GLOBAL_EVENTS = process.env.DEMO_NUMBER_GLOBAL_EVENTS;
40
- var DEMO_NUMBER_EVENTS_ON_BOOT = process.env.DEMO_NUMBER_EVENTS_ON_BOOT;
41
- var DEMO_NUMBER_VIEWS_ON_BOOT = process.env.DEMO_NUMBER_VIEWS_ON_BOOT;
42
- var demoNumbers = [DEMO_NUMBER, DEMO_NUMBER_LOGIN_AS_SKILL, DEMO_NUMBER_INSTALL_SKILL, DEMO_NUMBER_GLOBAL_EVENTS, SANDBOX_DEMO_NUMBER, DEMO_NUMBER_EVENTS_ON_BOOT, DEMO_NUMBER_VIEWS_ON_BOOT];
41
+ var demoNumbers = Object.values(demoNumbersByName);
43
42
  var cwd = process.cwd();
44
43
  var term = new _TerminalInterface["default"](cwd, true);
45
44
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tests/cleanTestData.ts"],"names":["require","config","DEMO_NUMBER","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","DEMO_NUMBER_INSTALL_SKILL","SANDBOX_DEMO_NUMBER","DEMO_NUMBER_GLOBAL_EVENTS","DEMO_NUMBER_EVENTS_ON_BOOT","DEMO_NUMBER_VIEWS_ON_BOOT","demoNumbers","cwd","term","TerminalInterface","run","renderHeadline","length","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","apiClientFactory","getApiClientFactory","storeFactory","StoreFactory","homeDir","osUtil","homedir","emitter","CliGlobalEmitter","Emitter","personFixture","PersonFixture","orgFixture","OrganizationFixture","skillFixture","SkillFixture","number","renderLine","loginAsDemoPerson","clearAllOrgs","totalOrgs","clearAllSkills","totalSkills","disconnectAll","then","err","renderError","exit"],"mappings":"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","sourcesContent":["import osUtil from 'os'\nimport CliGlobalEmitter from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\n\nrequire('dotenv').config()\n\nconst DEMO_NUMBER = process.env.DEMO_NUMBER\nconst DEMO_NUMBER_LOGIN_AS_SKILL = process.env.DEMO_NUMBER_LOGIN_AS_SKILL\nconst DEMO_NUMBER_INSTALL_SKILL = process.env.DEMO_NUMBER_INSTALL_SKILL\nconst SANDBOX_DEMO_NUMBER = process.env.SANDBOX_DEMO_NUMBER\nconst DEMO_NUMBER_GLOBAL_EVENTS = process.env.DEMO_NUMBER_GLOBAL_EVENTS\nconst DEMO_NUMBER_EVENTS_ON_BOOT = process.env.DEMO_NUMBER_EVENTS_ON_BOOT\nconst DEMO_NUMBER_VIEWS_ON_BOOT = process.env.DEMO_NUMBER_VIEWS_ON_BOOT\n\nconst demoNumbers = [\n\tDEMO_NUMBER,\n\tDEMO_NUMBER_LOGIN_AS_SKILL,\n\tDEMO_NUMBER_INSTALL_SKILL,\n\tDEMO_NUMBER_GLOBAL_EVENTS,\n\tSANDBOX_DEMO_NUMBER,\n\tDEMO_NUMBER_EVENTS_ON_BOOT,\n\tDEMO_NUMBER_VIEWS_ON_BOOT,\n]\n\nconst cwd = process.cwd()\nconst term = new TerminalInterface(cwd, true)\n\nasync function run() {\n\tterm.renderHeadline(\n\t\t`Starting cleanup for ${demoNumbers.length} demo numbers.`\n\t)\n\n\tconst serviceFactory = new ServiceFactory()\n\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\tconst apiClientFactory = mercuryFixture.getApiClientFactory()\n\tconst storeFactory = new StoreFactory({\n\t\tcwd,\n\t\tserviceFactory,\n\t\thomeDir: osUtil.homedir(),\n\t\temitter: CliGlobalEmitter.Emitter(),\n\t\tapiClientFactory,\n\t})\n\n\tconst personFixture = new PersonFixture(apiClientFactory)\n\tconst orgFixture = new OrganizationFixture(personFixture, storeFactory)\n\tconst skillFixture = new SkillFixture(\n\t\tpersonFixture,\n\t\tstoreFactory,\n\t\tapiClientFactory\n\t)\n\n\tfor (const number of demoNumbers) {\n\t\tterm.renderLine(`Starting cleanup for ${number}`)\n\t\tterm.renderLine(`Logging in...`)\n\n\t\tawait personFixture.loginAsDemoPerson(number)\n\n\t\tterm.renderLine(`Success`)\n\n\t\tterm.renderLine(`Deleting organizations`)\n\t\tconst totalOrgs = await orgFixture.clearAllOrgs()\n\t\tterm.renderLine(`${totalOrgs} orgs deleted`)\n\n\t\tterm.renderLine('Deleting skills')\n\t\tconst totalSkills = await skillFixture.clearAllSkills()\n\t\tterm.renderLine(`${totalSkills} deleted`)\n\t}\n\n\tawait mercuryFixture.disconnectAll()\n}\n\nvoid run()\n\t.then(() => {\n\t\tterm.renderLine('Done cleaning up!')\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tprocess.exit(1)\n\t})\n"],"file":"cleanTestData.js"}
1
+ {"version":3,"sources":["../../src/tests/cleanTestData.ts"],"names":["demoNumbers","Object","values","demoNumbersByName","cwd","process","term","TerminalInterface","run","renderHeadline","length","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","apiClientFactory","getApiClientFactory","storeFactory","StoreFactory","homeDir","osUtil","homedir","emitter","CliGlobalEmitter","Emitter","personFixture","PersonFixture","orgFixture","OrganizationFixture","skillFixture","SkillFixture","number","renderLine","loginAsDemoPerson","clearAllOrgs","totalOrgs","clearAllSkills","totalSkills","disconnectAll","then","err","renderError","exit"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAcC,iBAAd,CAApB;AAEA,IAAMC,GAAG,GAAGC,OAAO,CAACD,GAAR,EAAZ;AACA,IAAME,IAAI,GAAG,IAAIC,6BAAJ,CAAsBH,GAAtB,EAA2B,IAA3B,CAAb;;SAEeI,G;;;;;uFAAf;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCF,YAAAA,IAAI,CAACG,cAAL,gCACyBT,WAAW,CAACU,MADrC;AAIMC,YAAAA,cALP,GAKwB,IAAIC,0BAAJ,EALxB;AAMOC,YAAAA,cANP,GAMwB,IAAIC,0BAAJ,CAAmBV,GAAnB,EAAwBO,cAAxB,CANxB;AAOOI,YAAAA,gBAPP,GAO0BF,cAAc,CAACG,mBAAf,EAP1B;AAQOC,YAAAA,YARP,GAQsB,IAAIC,wBAAJ,CAAiB;AACrCd,cAAAA,GAAG,EAAHA,GADqC;AAErCO,cAAAA,cAAc,EAAdA,cAFqC;AAGrCQ,cAAAA,OAAO,EAAEC,eAAOC,OAAP,EAH4B;AAIrCC,cAAAA,OAAO,EAAEC,0BAAiBC,OAAjB,EAJ4B;AAKrCT,cAAAA,gBAAgB,EAAhBA;AALqC,aAAjB,CARtB;AAgBOU,YAAAA,aAhBP,GAgBuB,IAAIC,yBAAJ,CAAkBX,gBAAlB,CAhBvB;AAiBOY,YAAAA,UAjBP,GAiBoB,IAAIC,+BAAJ,CAAwBH,aAAxB,EAAuCR,YAAvC,CAjBpB;AAkBOY,YAAAA,YAlBP,GAkBsB,IAAIC,wBAAJ,CACpBL,aADoB,EAEpBR,YAFoB,EAGpBF,gBAHoB,CAlBtB;AAAA,mDAwBsBf,WAxBtB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAwBY+B,YAAAA,MAxBZ;AAyBEzB,YAAAA,IAAI,CAAC0B,UAAL,gCAAwCD,MAAxC;AACAzB,YAAAA,IAAI,CAAC0B,UAAL;AA1BF;AAAA,mBA4BQP,aAAa,CAACQ,iBAAd,CAAgCF,MAAhC,CA5BR;;AAAA;AA8BEzB,YAAAA,IAAI,CAAC0B,UAAL;AAEA1B,YAAAA,IAAI,CAAC0B,UAAL;AAhCF;AAAA,mBAiC0BL,UAAU,CAACO,YAAX,EAjC1B;;AAAA;AAiCQC,YAAAA,SAjCR;AAkCE7B,YAAAA,IAAI,CAAC0B,UAAL,WAAmBG,SAAnB;AAEA7B,YAAAA,IAAI,CAAC0B,UAAL,CAAgB,iBAAhB;AApCF;AAAA,mBAqC4BH,YAAY,CAACO,cAAb,EArC5B;;AAAA;AAqCQC,YAAAA,WArCR;AAsCE/B,YAAAA,IAAI,CAAC0B,UAAL,WAAmBK,WAAnB;;AAtCF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA,mBAyCOxB,cAAc,CAACyB,aAAf,EAzCP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA4CA,KAAK9B,GAAG,GACN+B,IADG,CACE,YAAM;AACXjC,EAAAA,IAAI,CAAC0B,UAAL,CAAgB,mBAAhB;AACA,CAHG,WAIG,UAACQ,GAAD,EAAS;AACflC,EAAAA,IAAI,CAACmC,WAAL,CAAiBD,GAAjB;AACAnC,EAAAA,OAAO,CAACqC,IAAR,CAAa,CAAb;AACA,CAPG,CAAL","sourcesContent":["import osUtil from 'os'\nimport CliGlobalEmitter from '../GlobalEmitter'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport * as demoNumbersByName from '../tests/constants'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\n\nconst demoNumbers = Object.values(demoNumbersByName)\n\nconst cwd = process.cwd()\nconst term = new TerminalInterface(cwd, true)\n\nasync function run() {\n\tterm.renderHeadline(\n\t\t`Starting cleanup for ${demoNumbers.length} demo numbers.`\n\t)\n\n\tconst serviceFactory = new ServiceFactory()\n\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\tconst apiClientFactory = mercuryFixture.getApiClientFactory()\n\tconst storeFactory = new StoreFactory({\n\t\tcwd,\n\t\tserviceFactory,\n\t\thomeDir: osUtil.homedir(),\n\t\temitter: CliGlobalEmitter.Emitter(),\n\t\tapiClientFactory,\n\t})\n\n\tconst personFixture = new PersonFixture(apiClientFactory)\n\tconst orgFixture = new OrganizationFixture(personFixture, storeFactory)\n\tconst skillFixture = new SkillFixture(\n\t\tpersonFixture,\n\t\tstoreFactory,\n\t\tapiClientFactory\n\t)\n\n\tfor (const number of demoNumbers) {\n\t\tterm.renderLine(`Starting cleanup for ${number}`)\n\t\tterm.renderLine(`Logging in...`)\n\n\t\tawait personFixture.loginAsDemoPerson(number)\n\n\t\tterm.renderLine(`Success`)\n\n\t\tterm.renderLine(`Deleting organizations`)\n\t\tconst totalOrgs = await orgFixture.clearAllOrgs()\n\t\tterm.renderLine(`${totalOrgs} orgs deleted`)\n\n\t\tterm.renderLine('Deleting skills')\n\t\tconst totalSkills = await skillFixture.clearAllSkills()\n\t\tterm.renderLine(`${totalSkills} deleted`)\n\t}\n\n\tawait mercuryFixture.disconnectAll()\n}\n\nvoid run()\n\t.then(() => {\n\t\tterm.renderLine('Done cleaning up!')\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tprocess.exit(1)\n\t})\n"],"file":"cleanTestData.js"}
@@ -0,0 +1,8 @@
1
+ export declare const DEMO_NUMBER: string;
2
+ export declare const DEMO_NUMBER_LOGIN_AS_SKILL: string;
3
+ export declare const DEMO_NUMBER_INSTALL_SKILL: string;
4
+ export declare const DEMO_NUMBER_GLOBAL_EVENTS: string;
5
+ export declare const DEMO_NUMBER_EVENTS_ON_BOOT: string;
6
+ export declare const DEMO_NUMBER_VIEWS_ON_BOOT: string;
7
+ export declare const DEMO_NUMBER_CREATING_AN_EVENT: string;
8
+ export declare const DEMO_NUMBER_EVENT_STORE: string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEMO_NUMBER_VIEWS_ON_BOOT = exports.DEMO_NUMBER_LOGIN_AS_SKILL = exports.DEMO_NUMBER_INSTALL_SKILL = exports.DEMO_NUMBER_GLOBAL_EVENTS = exports.DEMO_NUMBER_EVENT_STORE = exports.DEMO_NUMBER_EVENTS_ON_BOOT = exports.DEMO_NUMBER_CREATING_AN_EVENT = exports.DEMO_NUMBER = void 0;
7
+
8
+ var _process$env$DEMO_NUM, _process$env$DEMO_NUM2, _process$env$DEMO_NUM3, _process$env$DEMO_NUM4, _process$env$DEMO_NUM5, _process$env$DEMO_NUM6, _process$env$DEMO_NUM7, _process$env$DEMO_NUM8;
9
+
10
+ require('dotenv').config();
11
+
12
+ var DEMO_NUMBER = (_process$env$DEMO_NUM = process.env.DEMO_NUMBER) !== null && _process$env$DEMO_NUM !== void 0 ? _process$env$DEMO_NUM : '***missing***';
13
+ exports.DEMO_NUMBER = DEMO_NUMBER;
14
+ var DEMO_NUMBER_LOGIN_AS_SKILL = (_process$env$DEMO_NUM2 = process.env.DEMO_NUMBER_LOGIN_AS_SKILL) !== null && _process$env$DEMO_NUM2 !== void 0 ? _process$env$DEMO_NUM2 : '***missing***';
15
+ exports.DEMO_NUMBER_LOGIN_AS_SKILL = DEMO_NUMBER_LOGIN_AS_SKILL;
16
+ var DEMO_NUMBER_INSTALL_SKILL = (_process$env$DEMO_NUM3 = process.env.DEMO_NUMBER_INSTALL_SKILL) !== null && _process$env$DEMO_NUM3 !== void 0 ? _process$env$DEMO_NUM3 : '***missing***';
17
+ exports.DEMO_NUMBER_INSTALL_SKILL = DEMO_NUMBER_INSTALL_SKILL;
18
+ var DEMO_NUMBER_GLOBAL_EVENTS = (_process$env$DEMO_NUM4 = process.env.DEMO_NUMBER_GLOBAL_EVENTS) !== null && _process$env$DEMO_NUM4 !== void 0 ? _process$env$DEMO_NUM4 : '***missing***';
19
+ exports.DEMO_NUMBER_GLOBAL_EVENTS = DEMO_NUMBER_GLOBAL_EVENTS;
20
+ var DEMO_NUMBER_EVENTS_ON_BOOT = (_process$env$DEMO_NUM5 = process.env.DEMO_NUMBER_EVENTS_ON_BOOT) !== null && _process$env$DEMO_NUM5 !== void 0 ? _process$env$DEMO_NUM5 : '***missing***';
21
+ exports.DEMO_NUMBER_EVENTS_ON_BOOT = DEMO_NUMBER_EVENTS_ON_BOOT;
22
+ var DEMO_NUMBER_VIEWS_ON_BOOT = (_process$env$DEMO_NUM6 = process.env.DEMO_NUMBER_VIEWS_ON_BOOT) !== null && _process$env$DEMO_NUM6 !== void 0 ? _process$env$DEMO_NUM6 : '***missing***';
23
+ exports.DEMO_NUMBER_VIEWS_ON_BOOT = DEMO_NUMBER_VIEWS_ON_BOOT;
24
+ var DEMO_NUMBER_CREATING_AN_EVENT = (_process$env$DEMO_NUM7 = process.env.DEMO_NUMBER_CREATING_AN_EVENT) !== null && _process$env$DEMO_NUM7 !== void 0 ? _process$env$DEMO_NUM7 : '***missing***';
25
+ exports.DEMO_NUMBER_CREATING_AN_EVENT = DEMO_NUMBER_CREATING_AN_EVENT;
26
+ var DEMO_NUMBER_EVENT_STORE = (_process$env$DEMO_NUM8 = process.env.DEMO_NUMBER_EVENT_STORE) !== null && _process$env$DEMO_NUM8 !== void 0 ? _process$env$DEMO_NUM8 : '***missing***';
27
+ exports.DEMO_NUMBER_EVENT_STORE = DEMO_NUMBER_EVENT_STORE;
28
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tests/constants.ts"],"names":["require","config","DEMO_NUMBER","process","env","DEMO_NUMBER_LOGIN_AS_SKILL","DEMO_NUMBER_INSTALL_SKILL","DEMO_NUMBER_GLOBAL_EVENTS","DEMO_NUMBER_EVENTS_ON_BOOT","DEMO_NUMBER_VIEWS_ON_BOOT","DEMO_NUMBER_CREATING_AN_EVENT","DEMO_NUMBER_EVENT_STORE"],"mappings":";;;;;;;;;AAAAA,OAAO,CAAC,QAAD,CAAP,CAAkBC,MAAlB;;AAEO,IAAMC,WAAW,4BAAGC,OAAO,CAACC,GAAR,CAAYF,WAAf,yEAA8B,eAA/C;;AACA,IAAMG,0BAA0B,6BACtCF,OAAO,CAACC,GAAR,CAAYC,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCH,OAAO,CAACC,GAAR,CAAYE,yBADyB,2EACI,eADnC;;AAEA,IAAMC,yBAAyB,6BACrCJ,OAAO,CAACC,GAAR,CAAYG,yBADyB,2EACI,eADnC;;AAEA,IAAMC,0BAA0B,6BACtCL,OAAO,CAACC,GAAR,CAAYI,0BAD0B,2EACI,eADpC;;AAEA,IAAMC,yBAAyB,6BACrCN,OAAO,CAACC,GAAR,CAAYK,yBADyB,2EACI,eADnC;;AAEA,IAAMC,6BAA6B,6BACzCP,OAAO,CAACC,GAAR,CAAYM,6BAD6B,2EACI,eADvC;;AAEA,IAAMC,uBAAuB,6BACnCR,OAAO,CAACC,GAAR,CAAYO,uBADuB,2EACI,eADjC","sourcesContent":["require('dotenv').config()\n\nexport const DEMO_NUMBER = process.env.DEMO_NUMBER ?? '***missing***'\nexport const DEMO_NUMBER_LOGIN_AS_SKILL =\n\tprocess.env.DEMO_NUMBER_LOGIN_AS_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_INSTALL_SKILL =\n\tprocess.env.DEMO_NUMBER_INSTALL_SKILL ?? '***missing***'\nexport const DEMO_NUMBER_GLOBAL_EVENTS =\n\tprocess.env.DEMO_NUMBER_GLOBAL_EVENTS ?? '***missing***'\nexport const DEMO_NUMBER_EVENTS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_EVENTS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_VIEWS_ON_BOOT =\n\tprocess.env.DEMO_NUMBER_VIEWS_ON_BOOT ?? '***missing***'\nexport const DEMO_NUMBER_CREATING_AN_EVENT =\n\tprocess.env.DEMO_NUMBER_CREATING_AN_EVENT ?? '***missing***'\nexport const DEMO_NUMBER_EVENT_STORE =\n\tprocess.env.DEMO_NUMBER_EVENT_STORE ?? '***missing***'\n"],"file":"constants.js"}
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "15.2.23",
21
+ "version": "15.2.24",
22
22
  "bin": {
23
23
  "spruce": "./build/index.js"
24
24
  },
@@ -73,32 +73,32 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@babel/cli": "^7.17.6",
76
- "@babel/plugin-proposal-decorators": "^7.17.8",
77
- "@babel/runtime": "^7.17.8",
76
+ "@babel/plugin-proposal-decorators": "^7.17.9",
77
+ "@babel/runtime": "^7.17.9",
78
78
  "@jest/reporters": "^27.5.1",
79
- "@sprucelabs/error": "^5.0.432",
80
- "@sprucelabs/heartwood-view-controllers": "^70.9.6",
81
- "@sprucelabs/jest-json-reporter": "^6.0.352",
82
- "@sprucelabs/mercury-client": "^22.2.18",
83
- "@sprucelabs/mercury-event-emitter": "^22.2.18",
84
- "@sprucelabs/mercury-types": "^27.0.201",
85
- "@sprucelabs/schema": "^27.1.38",
86
- "@sprucelabs/spruce-core-schemas": "^25.0.62",
87
- "@sprucelabs/spruce-event-plugin": "^30.3.18",
88
- "@sprucelabs/spruce-event-utils": "^19.1.54",
89
- "@sprucelabs/spruce-skill-booter": "^30.3.18",
90
- "@sprucelabs/spruce-skill-utils": "^25.0.58",
91
- "@sprucelabs/spruce-templates": "^15.2.23",
79
+ "@sprucelabs/error": "^5.0.440",
80
+ "@sprucelabs/heartwood-view-controllers": "^70.14.10",
81
+ "@sprucelabs/jest-json-reporter": "^6.0.361",
82
+ "@sprucelabs/mercury-client": "^22.2.58",
83
+ "@sprucelabs/mercury-event-emitter": "^22.2.58",
84
+ "@sprucelabs/mercury-types": "^27.0.228",
85
+ "@sprucelabs/schema": "^27.1.49",
86
+ "@sprucelabs/spruce-core-schemas": "^25.0.84",
87
+ "@sprucelabs/spruce-event-plugin": "^30.4.12",
88
+ "@sprucelabs/spruce-event-utils": "^19.1.86",
89
+ "@sprucelabs/spruce-skill-booter": "^30.4.12",
90
+ "@sprucelabs/spruce-skill-utils": "^25.0.83",
91
+ "@sprucelabs/spruce-templates": "^15.2.24",
92
92
  "@typescript-eslint/eslint-plugin": "^5.17.0",
93
93
  "@typescript-eslint/parser": "^5.17.0",
94
94
  "cfonts": "^2.10.1",
95
95
  "chalk": "4.1.2",
96
96
  "chokidar": "^3.5.3",
97
- "cli-table3": "^0.6.1",
97
+ "cli-table3": "^0.6.2",
98
98
  "commander": "7.2.0",
99
- "core-js": "^3.21.1",
99
+ "core-js": "^3.22.0",
100
100
  "emphasize": "4.2.0",
101
- "fs-extra": "^10.0.1",
101
+ "fs-extra": "^10.1.0",
102
102
  "gifwrap": "^0.10.1",
103
103
  "globby": "11.0.4",
104
104
  "inflection": "^1.13.2",
@@ -110,7 +110,7 @@
110
110
  "md5": "^2.3.0",
111
111
  "open": "^8.4.0",
112
112
  "ora": "5.4.1",
113
- "semver": "^7.3.5",
113
+ "semver": "^7.3.7",
114
114
  "string-argv": "^0.3.1",
115
115
  "terminal-image": "1.2.1",
116
116
  "terminal-kit": "sprucelabsai/terminal-kit",
@@ -119,54 +119,54 @@
119
119
  "uuid": "^8.3.2"
120
120
  },
121
121
  "devDependencies": {
122
- "@sprucelabs/data-stores": "9.0.66",
123
- "@sprucelabs/jest-sheets-reporter": "1.3.38",
124
- "@sprucelabs/mercury-core-events": "3.1.52",
125
- "@sprucelabs/resolve-path-aliases": "1.1.21",
126
- "@sprucelabs/spruce-conversation-plugin": "30.3.18",
127
- "@sprucelabs/spruce-deploy-plugin": "30.3.18",
128
- "@sprucelabs/spruce-store-plugin": "30.3.18",
129
- "@sprucelabs/spruce-test-fixtures": "30.3.18",
130
- "@sprucelabs/test": "7.7.298",
131
- "@sprucelabs/test-utils": "3.0.510",
132
- "@types/blessed": "0.1.19",
133
- "@types/eslint": "8.4.1",
134
- "@types/fs-extra": "9.0.13",
135
- "@types/inflection": "1.13.0",
136
- "@types/inquirer": "8.2.1",
137
- "@types/jsonwebtoken": "8.5.8",
138
- "@types/lodash": "4.14.181",
139
- "@types/md5": "2.3.2",
140
- "@types/mkdirp": "1.0.2",
141
- "@types/node": "17.0.23",
142
- "@types/promise.allsettled": "1.0.3",
143
- "@types/ps-node": "0.1.1",
144
- "@types/rimraf": "3.0.2",
145
- "@types/semver": "7.3.9",
146
- "@types/sha1": "1.1.3",
147
- "@types/slug": "5.0.3",
148
- "@types/superagent": "4.1.15",
149
- "@types/terminal-kit": "1.28.4",
150
- "@types/uuid": "8.3.4",
151
- "chokidar-cli": "3.0.0",
152
- "concurrently": "7.0.0",
153
- "conventional-changelog-sprucelabs": "1.1.2",
154
- "dotenv": "16.0.0",
155
- "eslint": "8.12.0",
156
- "eslint-config-spruce": "10.11.2",
157
- "find-process": "1.4.7",
158
- "jest": "27.5.1",
159
- "jest-circus": "27.5.1",
160
- "jest-junit": "13.0.0",
161
- "jest-reporters": "0.0.2",
162
- "prettier": "2.6.1",
163
- "ps-node": "0.1.6",
164
- "rimraf": "3.0.2",
165
- "ts-jest": "27.1.4",
166
- "ts-node": "10.7.0",
167
- "tsc-watch": "4.6.2",
168
- "tsconfig-paths": "3.14.1",
169
- "typescript": "4.6.3"
122
+ "@sprucelabs/data-stores": "^9.0.92",
123
+ "@sprucelabs/jest-sheets-reporter": "^1.3.41",
124
+ "@sprucelabs/mercury-core-events": "^3.2.7",
125
+ "@sprucelabs/resolve-path-aliases": "^1.1.30",
126
+ "@sprucelabs/spruce-conversation-plugin": "^30.4.12",
127
+ "@sprucelabs/spruce-deploy-plugin": "^30.4.12",
128
+ "@sprucelabs/spruce-store-plugin": "^30.4.12",
129
+ "@sprucelabs/spruce-test-fixtures": "^30.4.12",
130
+ "@sprucelabs/test": "^7.7.304",
131
+ "@sprucelabs/test-utils": "^3.0.521",
132
+ "@types/blessed": "^0.1.19",
133
+ "@types/eslint": "^8.4.1",
134
+ "@types/fs-extra": "^9.0.13",
135
+ "@types/inflection": "^1.13.0",
136
+ "@types/inquirer": "^8.2.1",
137
+ "@types/jsonwebtoken": "^8.5.8",
138
+ "@types/lodash": "^4.14.182",
139
+ "@types/md5": "^2.3.2",
140
+ "@types/mkdirp": "^1.0.2",
141
+ "@types/node": "^17.0.25",
142
+ "@types/promise.allsettled": "^1.0.3",
143
+ "@types/ps-node": "^0.1.1",
144
+ "@types/rimraf": "^3.0.2",
145
+ "@types/semver": "^7.3.9",
146
+ "@types/sha1": "^1.1.3",
147
+ "@types/slug": "^5.0.3",
148
+ "@types/superagent": "^4.1.15",
149
+ "@types/terminal-kit": "^1.28.4",
150
+ "@types/uuid": "^8.3.4",
151
+ "chokidar-cli": "^3.0.0",
152
+ "concurrently": "^7.1.0",
153
+ "conventional-changelog-sprucelabs": "^1.1.2",
154
+ "dotenv": "^16.0.0",
155
+ "eslint": "^8.13.0",
156
+ "eslint-config-spruce": "^10.11.2",
157
+ "find-process": "^1.4.7",
158
+ "jest": "^27.5.1",
159
+ "jest-circus": "^27.5.1",
160
+ "jest-junit": "^13.1.0",
161
+ "jest-reporters": "^0.0.2",
162
+ "prettier": "^2.6.2",
163
+ "ps-node": "^0.1.6",
164
+ "rimraf": "^3.0.2",
165
+ "ts-jest": "^27.1.4",
166
+ "ts-node": "^10.7.0",
167
+ "tsc-watch": "^5.0.3",
168
+ "tsconfig-paths": "^3.14.1",
169
+ "typescript": "^4.6.3"
170
170
  },
171
171
  "testSkillCache": {
172
172
  "everything": [
@@ -597,5 +597,5 @@
597
597
  "terminal-kit"
598
598
  ]
599
599
  },
600
- "gitHead": "15419e6652ff52963c8902cf393ef5fe9cc39685"
600
+ "gitHead": "27c86037a4943f6068d64dab887ce9f6ba287f31"
601
601
  }
@@ -1,6 +1,7 @@
1
1
  import { test, assert } from '@sprucelabs/test'
2
2
  import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractSkillTest from '../../tests/AbstractSkillTest'
4
+ import { DEMO_NUMBER_GLOBAL_EVENTS } from '../../tests/constants'
4
5
  import uiAssert from '../../tests/utilities/uiAssert.utility'
5
6
 
6
7
  export default class ConfiguringDependenciesTest extends AbstractSkillTest {
@@ -122,7 +123,7 @@ export default class ConfiguringDependenciesTest extends AbstractSkillTest {
122
123
  name: 'global dependency skill',
123
124
  })
124
125
 
125
- await this.people.loginAsDemoPerson(process.env.DEMO_NUMBER_GLOBAL_EVENTS)
126
+ await this.people.loginAsDemoPerson(DEMO_NUMBER_GLOBAL_EVENTS)
126
127
 
127
128
  const results = await this.Action('dependency', 'add').execute({
128
129
  namespace: skill.slug,