@sprucelabs/spruce-cli 19.0.0 → 19.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/.env +25 -0
- package/.eslintcache +1 -0
- package/CHANGELOG.md +6 -0
- package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
- package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
- package/build/.spruce/skill.types.js.map +1 -1
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js +130 -144
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +59 -63
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.d.ts +2 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +60 -22
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +46 -52
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +50 -56
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +512 -548
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +321 -351
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +137 -153
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +31 -37
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +112 -122
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +41 -45
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +55 -59
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +56 -64
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +90 -104
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +64 -74
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +52 -56
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +143 -157
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +90 -100
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +74 -78
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +180 -190
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +34 -38
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +179 -201
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +423 -459
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +287 -315
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EventWriter.test.js +64 -66
- package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +286 -316
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +398 -420
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +43 -49
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +55 -59
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +31 -35
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +98 -104
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +123 -135
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +15 -17
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +66 -72
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +76 -82
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +49 -55
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +79 -85
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +45 -49
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +40 -46
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +15 -19
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +174 -198
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +23 -27
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +209 -208
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +34 -40
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +153 -171
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +40 -46
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +102 -116
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +227 -247
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +27 -29
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +38 -42
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +65 -73
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +100 -110
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +25 -27
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +425 -465
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +49 -55
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +435 -467
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +19 -21
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +9 -11
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +61 -67
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +37 -41
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +183 -199
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +153 -171
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +37 -43
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +96 -104
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +168 -184
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +169 -191
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +105 -125
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +208 -232
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +75 -79
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +293 -355
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +65 -75
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +29 -33
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +50 -54
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js +87 -95
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +57 -65
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +146 -156
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +79 -87
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +282 -302
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +183 -197
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +214 -238
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +118 -126
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +138 -152
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +61 -69
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +90 -104
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +194 -220
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +83 -97
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +64 -76
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +102 -114
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +33 -37
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +94 -106
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +32 -38
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +302 -336
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +132 -136
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +270 -286
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +64 -72
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +41 -47
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +13 -17
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +25 -29
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +116 -136
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +89 -99
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +72 -90
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +127 -147
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +46 -52
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +27 -35
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +371 -399
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +21 -27
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +155 -173
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +54 -62
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +69 -77
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +7 -9
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +6 -8
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.js +29 -33
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +9 -11
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +32 -36
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +72 -80
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +217 -243
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +19 -23
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +114 -124
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +38 -44
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +63 -75
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +314 -346
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +9 -11
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +128 -142
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +8 -10
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +59 -65
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +153 -169
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +49 -53
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +31 -39
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +215 -233
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +24 -28
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +34 -42
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/EventFaker.js +12 -14
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/__tests__/support/onTestFileResult.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js +7 -9
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/__tests__/support/scripts/second.script.js.map +1 -1
- package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/boot.d.ts +2 -0
- package/build/boot.js +162 -0
- package/build/boot.js.map +1 -0
- package/build/{cli.d.ts → cli/Cli.d.ts} +9 -33
- package/build/cli/Cli.js +528 -0
- package/build/cli/Cli.js.map +1 -0
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js +156 -160
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js +124 -128
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.js.map +1 -1
- package/build/errors/SpruceError.js +1 -1
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/actionCancelled.builder.js.map +1 -1
- package/build/errors/bootError.builder.js.map +1 -1
- package/build/errors/buildFailed.builder.js.map +1 -1
- package/build/errors/cacheNotEnabled.builder.js.map +1 -1
- package/build/errors/commandAborted.builder.js.map +1 -1
- package/build/errors/commandBlocked.builder.js.map +1 -1
- package/build/errors/commandNotImplemented.builder.js.map +1 -1
- package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
- package/build/errors/dependencyExists.builder.js.map +1 -1
- package/build/errors/deployFailed.builder.js.map +1 -1
- package/build/errors/directoryEmpty.builder.js.map +1 -1
- package/build/errors/directoryNotSkill.builder.js.map +1 -1
- package/build/errors/dockerNotStarted.builder.js.map +1 -1
- package/build/errors/executingCommandFailed.builder.js.map +1 -1
- package/build/errors/failedToImport.builder.js.map +1 -1
- package/build/errors/featureNotInstalled.builder.js.map +1 -1
- package/build/errors/fileExists.builder.js.map +1 -1
- package/build/errors/generic.builder.js.map +1 -1
- package/build/errors/invalidCommand.builder.js.map +1 -1
- package/build/errors/invalidEventContract.builder.js.map +1 -1
- package/build/errors/invalidFeatureCode.builder.js.map +1 -1
- package/build/errors/invalidTestDirectory.builder.js.map +1 -1
- package/build/errors/lintFailed.builder.js.map +1 -1
- package/build/errors/mercuryResponseError.builder.js.map +1 -1
- package/build/errors/missingDependencies.builder.js.map +1 -1
- package/build/errors/noOrganizationsFound.builder.js.map +1 -1
- package/build/errors/noSkillsRegistered.builder.js.map +1 -1
- package/build/errors/notImplemented.builder.js.map +1 -1
- package/build/errors/notLoggedIn.builder.js.map +1 -1
- package/build/errors/schemaExists.builder.js.map +1 -1
- package/build/errors/schemaFailedToImport.builder.js.map +1 -1
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
- package/build/errors/skillNotFound.builder.js.map +1 -1
- package/build/errors/skillNotRegistered.builder.js.map +1 -1
- package/build/errors/skillViewExists.builder.js.map +1 -1
- package/build/errors/storeExists.builder.js.map +1 -1
- package/build/errors/testFailed.builder.js.map +1 -1
- package/build/errors/themeExists.builder.js.map +1 -1
- package/build/errors/transportAlreadyExists.builder.js.map +1 -1
- package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
- package/build/features/AbstractAction.js +65 -71
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js +54 -62
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js +206 -210
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js +304 -320
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js +45 -49
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js +353 -375
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +13 -15
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js +6 -8
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js +42 -44
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js +37 -39
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/cache/constants.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +40 -46
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js +16 -18
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js +96 -102
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js +19 -21
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js +22 -24
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +6 -8
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js +64 -66
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js +63 -65
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js +12 -14
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +389 -409
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js +84 -92
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js +22 -24
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js +24 -26
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js +85 -91
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js +130 -140
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js +153 -167
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js +59 -61
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js +205 -219
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js +11 -13
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js +25 -27
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js +23 -25
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js +136 -144
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/services/EventSettingsService.js.map +1 -1
- package/build/features/event/services/RemoteService.js.map +1 -1
- package/build/features/event/stores/EventStore.js +246 -258
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.js +26 -28
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +171 -183
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +6 -8
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +58 -62
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js +16 -18
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js +23 -25
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js +110 -122
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js +9 -11
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js +140 -113
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js +70 -76
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js +29 -31
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js +77 -87
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js +31 -33
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js +80 -86
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js +36 -38
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js +68 -80
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js +24 -28
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js +42 -44
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js +38 -48
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js +9 -11
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js +7 -9
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js +40 -42
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js +18 -20
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js +81 -83
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js +101 -111
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/permission/PermissionFeature.js +73 -79
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +23 -25
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.js +50 -54
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.js +100 -104
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.js +57 -63
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js +69 -71
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js +21 -23
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js +24 -26
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/polish/PolishFeature.js.map +1 -1
- package/build/features/polish/actions/SetupAction.js +23 -25
- package/build/features/polish/actions/SetupAction.js.map +1 -1
- package/build/features/polish/writers/PolishWriter.js +16 -18
- package/build/features/polish/writers/PolishWriter.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +20 -22
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js +42 -44
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js +9 -11
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js +82 -90
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js +26 -28
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js +48 -50
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js +260 -270
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js +42 -44
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js +24 -26
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js +205 -219
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/utilities/schema.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.js +15 -17
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js +40 -42
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +173 -185
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js +99 -112
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js +92 -96
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js +9 -11
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js +8 -10
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js +122 -124
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js +33 -35
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js +38 -40
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +2 -2
- package/build/features/skill/stores/SkillStore.js +198 -216
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js +38 -40
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js +15 -17
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js +50 -56
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js +29 -31
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js +35 -37
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.js +39 -41
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js +65 -73
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js +98 -102
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.d.ts +19 -19
- package/build/features/test/TestReporter.js +74 -82
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js +82 -88
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +145 -153
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js +37 -39
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js +203 -213
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/test.types.d.ts +1 -1
- package/build/features/test/test.types.js.map +1 -1
- package/build/features/test/writers/TestWriter.js +17 -19
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/features/universalFileDescriptions.js.map +1 -1
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js +52 -58
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js +64 -66
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js +35 -37
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js +61 -63
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.d.ts +1 -0
- package/build/features/view/actions/WatchAction.js +26 -27
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js +35 -37
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +47 -51
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js +18 -20
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js +173 -183
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js +63 -69
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js +12 -14
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js +77 -88
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.d.ts +1 -0
- package/build/interfaces/SpyInterface.js +139 -148
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.d.ts +1 -0
- package/build/interfaces/TerminalInterface.js +196 -207
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/BuildService.js +16 -18
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js +107 -109
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js +49 -51
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js +186 -194
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js +81 -83
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js +85 -89
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/services/TypeCheckerService.js +7 -9
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js +6 -8
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +2 -3
- package/build/tests/AbstractCliTest.js +236 -266
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.d.ts +1 -1
- package/build/tests/AbstractErrorTest.js +19 -21
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.d.ts +3 -3
- package/build/tests/AbstractEventTest.js +89 -97
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.d.ts +3 -3
- package/build/tests/AbstractSchemaTest.js +92 -98
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.d.ts +1 -1
- package/build/tests/AbstractSkillTest.js +40 -46
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.d.ts +1 -1
- package/build/tests/AbstractTestTest.js +14 -16
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js +5 -2
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js +11 -15
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js +223 -243
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js +70 -72
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.d.ts +15 -16
- package/build/tests/fixtures/FeatureFixture.js +142 -154
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js +9 -11
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js +62 -68
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js +69 -73
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js +123 -137
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js +13 -15
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js +31 -35
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/types/cli.types.d.ts +26 -0
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- package/build/updaters/ScriptUpdater.js +78 -80
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/apiClient.utility.js.map +1 -1
- package/build/utilities/argParser.utility.js +1 -1
- package/build/utilities/argParser.utility.js.map +1 -1
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/duration.utility.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js +1 -1
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/form.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js +3 -3
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/isCi.js.map +1 -1
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/utilities/ui.utility.js.map +1 -1
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/keySelectChoices.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js +8 -10
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js +16 -20
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js +6 -8
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js +13 -15
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js +39 -45
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js +1 -1
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/button.types.js.map +1 -1
- package/build/widgets/types/factory.types.js.map +1 -1
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/popup.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/widgets/widget.utilities.js.map +1 -1
- package/build/writers/AbstractWriter.js +160 -166
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js.map +1 -1
- package/junit.xml +7 -0
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +1 -3
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +2 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +62 -7
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +6 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +62 -7
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +6 -2
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +4 -4
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/clear-caches.d.ts +10 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/describeFilePath.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +7 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/ExpiringCache.d.ts +17 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +6 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/resolveProjectList.d.ts +19 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +22 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts +10 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +24 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +38 -12
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +5 -10
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +32 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +2 -15
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +7 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +15 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -4
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +17 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +62 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +22 -48
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +70 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +6 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +19 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +103 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +22 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +592 -597
- package/src/.DS_Store +0 -0
- package/src/__tests__/behavioral/BootingTheCli.test.ts +32 -2
- package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -2
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +11 -0
- package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -2
- package/src/__tests__/implementation/TestRunner.test.ts +1 -1
- package/src/boot.ts +92 -0
- package/src/{cli.ts → cli/Cli.ts} +48 -150
- package/src/features/AbstractFeature.ts +1 -1
- package/src/features/FeatureInstaller.ts +3 -3
- package/src/features/error/ParentTestFinder.ts +1 -1
- package/src/features/event/builders/EventContractBuilder.ts +1 -1
- package/src/features/event/stores/EventStore.ts +4 -2
- package/src/features/event/stores/ListenerStore.ts +1 -1
- package/src/features/onboard/ScriptLoader.ts +1 -1
- package/src/features/permission/PermissionFeature.ts +3 -1
- package/src/features/permission/stores/PermissionStore.ts +1 -1
- package/src/features/schema/stores/SchemaStore.ts +1 -1
- package/src/features/schema/utilities/schemaGenerator.utility.ts +1 -1
- package/src/features/skill/SkillFeature.ts +1 -1
- package/src/features/store/stores/StoreStore.ts +1 -1
- package/src/features/test/TestReporter.ts +25 -25
- package/src/features/test/test.types.ts +8 -1
- package/src/features/view/actions/SyncAction.ts +1 -1
- package/src/features/view/actions/WatchAction.ts +8 -3
- package/src/index.ts +1 -1
- package/src/interfaces/SpyInterface.ts +2 -0
- package/src/interfaces/TerminalInterface.ts +5 -1
- package/src/tests/AbstractCliTest.ts +2 -3
- package/src/tests/AbstractSchemaTest.ts +1 -1
- package/src/tests/AbstractSkillTest.ts +1 -1
- package/src/tests/JestJsonParser.ts +4 -1
- package/src/tests/fixtures/FeatureFixture.ts +24 -20
- package/src/tests/fixtures/MercuryFixture.ts +1 -1
- package/src/types/cli.types.ts +30 -0
- package/yarn-error.log +12174 -0
- package/LICENSE +0 -21
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +0 -17
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +0 -137
- package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +0 -1
- package/build/cli.js +0 -690
- package/build/cli.js.map +0 -1
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js +0 -120
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts +0 -186
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js +0 -181
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license +0 -9
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json +0 -82
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md +0 -170
- package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js +0 -46
- package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +0 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureInstaller.js","names":["FeatureInstallerImpl","cwd","serviceFactory","code","feature","getFeature","isInstalled","Service","isMarkedAsInstalled","isMarkedAsSkipped","featuresMarkedAsSkippedThisRun","push","markAsPermanentlySkipped","indexOf","isMarkedAsPermanentlySkipped","featureMap","SpruceError","featureCode","codes","Promise","all","map","f","results","i","length","result","deps","getFeatureDependenciesIncludingSelf","isRequired","filter","sortFeatures","featureDependency","trackedFeatures","features","isDependencyInTracker","dependencies","dependency","x","dependencyDependencies","find","options","installFeatureDependencies","didUpdateHandler","shouldAllowEntertainment","startInFlightIntertainmentHandler","handler","pendingFeatureInstalls","dependenciesToInstall","concat","uniq","isInstalledOrPendingInstall","installOptions","installFeature","installResults","merge","installAllPending","pendingResults","stopInFlightIntertainmentHandler","optionsSchema","validateSchemaValues","beforePackageInstall","beforeInstallResults","queueInstallPackageDependenciesWithoutEntertainment","packagesInstalled","afterPackageInstalls","featuresToMarkAsInstalled","files","undefined","installPackageDependenciesForFeatures","pkgService","packagesToInstall","install","devPackagesToInstall","isDev","settings","markAsInstalled","afterPackageInstall","afterInstallResults","packageDependencies","forEach","pkg","packageName","buildPackageName","name","getFeatureNameAndDesc","nameReadable","description","featureDependencies","sort","a","b","aFeature","bFeature","aDependsOnB","d","bDependsOnA","installOrderWeight","type","Object","keys","dep","getAllCodes","installed"],"sources":["../../src/features/FeatureInstaller.ts"],"sourcesContent":["import { validateSchemaValues } from '@sprucelabs/schema'\nimport { uniq } from 'lodash'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport ServiceFactory, {\n\tService,\n\tServiceProvider,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport { InternalUpdateHandler, NpmPackage } from '../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from './AbstractFeature'\nimport {\n\tInstallFeatureOptions,\n\tFeatureInstallResponse,\n\tFeatureCode,\n\tInstallFeature,\n\tFeatureMap,\n} from './features.types'\n\nexport class FeatureInstallerImpl implements ServiceProvider, FeatureInstaller {\n\tpublic cwd: string\n\n\tprivate featureMap: Partial<FeatureMap> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate featuresMarkedAsSkippedThisRun: FeatureCode[] = []\n\tpublic static startInFlightIntertainmentHandler?: (\n\t\tdidUpdateHandler: (handler: (message: string) => void) => void\n\t) => void\n\tpublic static stopInFlightIntertainmentHandler?: () => void\n\tprivate packagesToInstall: string[] = []\n\tprivate devPackagesToInstall: string[] = []\n\tprivate featuresToMarkAsInstalled: string[] = []\n\tprivate afterPackageInstalls: InstallFeature[] = []\n\tprivate pendingFeatureInstalls: Record<string, boolean> = {}\n\n\tpublic constructor(cwd: string, serviceFactory: ServiceFactory) {\n\t\tthis.cwd = cwd\n\t\tthis.serviceFactory = serviceFactory\n\t}\n\n\tpublic async isInstalled(code: FeatureCode): Promise<boolean> {\n\t\tconst feature = this.getFeature(code)\n\n\t\tif (feature.isInstalled) {\n\t\t\treturn feature.isInstalled()\n\t\t}\n\n\t\treturn this.Service('settings').isMarkedAsInstalled(code)\n\t}\n\n\tpublic markAsSkippedThisRun(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.featuresMarkedAsSkippedThisRun.push(code)\n\t\t}\n\t}\n\tpublic markAsPermanentlySkipped(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.Service('settings').markAsPermanentlySkipped(code)\n\t\t}\n\t}\n\n\tpublic isMarkedAsSkipped(code: FeatureCode) {\n\t\treturn (\n\t\t\tthis.featuresMarkedAsSkippedThisRun.indexOf(code) > -1 ||\n\t\t\tthis.Service('settings').isMarkedAsPermanentlySkipped(code)\n\t\t)\n\t}\n\n\tpublic mapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]) {\n\t\tthis.featureMap[code] = feature\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C): FeatureMap[C] {\n\t\tconst feature = this.featureMap[code]\n\t\tif (!feature) {\n\t\t\tthrow new SpruceError({ code: 'INVALID_FEATURE_CODE', featureCode: code })\n\t\t}\n\n\t\treturn feature as FeatureMap[C]\n\t}\n\n\tpublic async areInstalled(codes: FeatureCode[]) {\n\t\tconst results = await Promise.all(\n\t\t\tcodes.map((f) => {\n\t\t\t\treturn this.isInstalled(f)\n\t\t\t})\n\t\t)\n\n\t\tfor (let i = 0; i < results.length; i += 1) {\n\t\t\tconst result = results[i]\n\t\t\tif (!result) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tpublic getFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t\t// trackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tlet deps = this.getFeatureDependenciesIncludingSelf(\n\t\t\t{ code: featureCode, isRequired: true },\n\t\t\t[] // trackedFeatures\n\t\t).filter((f) => f.code !== featureCode)\n\n\t\tdeps = this.sortFeatures(deps)\n\n\t\treturn deps\n\t}\n\n\tprivate getFeatureDependenciesIncludingSelf(\n\t\tfeatureDependency: FeatureDependency,\n\t\ttrackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tconst features: FeatureDependency[] = []\n\n\t\tif (!this.isDependencyInTracker(trackedFeatures, featureDependency)) {\n\t\t\tfeatures.push(featureDependency)\n\t\t\ttrackedFeatures.push(featureDependency)\n\t\t}\n\n\t\tconst feature = this.getFeature(featureDependency.code)\n\t\tconst dependencies = feature.dependencies\n\n\t\tfor (let i = 0; i < dependencies.length; i += 1) {\n\t\t\tconst dependency = dependencies[i]\n\t\t\tif (!this.isDependencyInTracker(trackedFeatures, dependency)) {\n\t\t\t\tfeatures.push(dependency)\n\t\t\t\ttrackedFeatures.push(dependency)\n\t\t\t}\n\t\t}\n\n\t\tfor (let x = 0; x < dependencies.length; x += 1) {\n\t\t\tconst dependency = dependencies[x]\n\t\t\tlet dependencyDependencies = this.getFeatureDependenciesIncludingSelf(\n\t\t\t\tdependency,\n\t\t\t\ttrackedFeatures\n\t\t\t)\n\t\t\tif (!dependency.isRequired) {\n\t\t\t\tdependencyDependencies = dependencyDependencies.map((f) => ({\n\t\t\t\t\t...f,\n\t\t\t\t\tisRequired: false,\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tfeatures.push(...dependencyDependencies)\n\t\t}\n\n\t\treturn features\n\t}\n\n\tprivate isDependencyInTracker(\n\t\ttrackedFeatures: FeatureDependency[],\n\t\tdependency: FeatureDependency\n\t) {\n\t\treturn !!trackedFeatures.find((f) => f.code === dependency.code)\n\t}\n\n\tpublic async install(\n\t\toptions: InstallFeatureOptions\n\t): Promise<FeatureInstallResponse> {\n\t\tlet {\n\t\t\tfeatures,\n\t\t\tinstallFeatureDependencies = true,\n\t\t\tdidUpdateHandler,\n\t\t} = options\n\n\t\tconst shouldAllowEntertainment = !!features.find((f) => f.code === 'skill')\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tthis.pendingFeatureInstalls = {}\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tlet dependenciesToInstall: FeatureDependency[] = []\n\n\t\tfor (let i = 0; i < features.length; i += 1) {\n\t\t\tconst f = features[i]\n\t\t\tconst code = f.code\n\n\t\t\tdidUpdateHandler?.(`Checking if ${code} is installed...`)\n\n\t\t\tconst isInstalled = await this.isInstalled(code)\n\n\t\t\tif (!isInstalled && installFeatureDependencies) {\n\t\t\t\tdidUpdateHandler?.(`It is not, checking dependencies...`)\n\t\t\t\tdependenciesToInstall = dependenciesToInstall.concat(\n\t\t\t\t\tthis.getFeatureDependenciesIncludingSelf({ code, isRequired: true })\n\t\t\t\t)\n\t\t\t} else if (!isInstalled) {\n\t\t\t\tdependenciesToInstall.push({ code, isRequired: true })\n\t\t\t}\n\t\t}\n\n\t\tdependenciesToInstall = uniq(dependenciesToInstall)\n\t\tdependenciesToInstall = this.sortFeatures(dependenciesToInstall)\n\n\t\tfor (let i = 0; i < dependenciesToInstall.length; i += 1) {\n\t\t\tconst { code, isRequired } = dependenciesToInstall[i]\n\n\t\t\tconst isInstalled = await this.isInstalledOrPendingInstall(code)\n\n\t\t\tif (!isInstalled && isRequired) {\n\t\t\t\tconst installOptions =\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\toptions.features.find((f) => f.code === code)?.options\n\n\t\t\t\tconst installFeature = {\n\t\t\t\t\tcode: dependenciesToInstall[i].code,\n\t\t\t\t\toptions: installOptions,\n\t\t\t\t} as InstallFeature\n\n\t\t\t\tdidUpdateHandler?.(`Installing the ${installFeature.code} feature....`)\n\n\t\t\t\tconst installResults = await this.installFeature(\n\t\t\t\t\tinstallFeature,\n\t\t\t\t\tdidUpdateHandler\n\t\t\t\t)\n\n\t\t\t\tresults = merge(results, installResults)\n\t\t\t}\n\t\t}\n\n\t\tconst pendingResults = await this.installAllPending(didUpdateHandler)\n\t\tresults = merge(results, pendingResults)\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate isInstalledOrPendingInstall(code: string) {\n\t\treturn this.pendingFeatureInstalls[code] || this.isInstalled(code as any)\n\t}\n\n\tprivate async installFeature(\n\t\tinstallFeature: InstallFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tthis.pendingFeatureInstalls[installFeature.code] = true\n\n\t\tconst feature = this.getFeature(installFeature.code) as AbstractFeature\n\n\t\tif (feature.optionsSchema) {\n\t\t\t//@ts-ignore\n\t\t\tvalidateSchemaValues(feature.optionsSchema, installFeature.options ?? {})\n\t\t}\n\n\t\tdidUpdateHandler?.(`Running before package install hook...`)\n\t\tconst beforeInstallResults = await feature.beforePackageInstall(\n\t\t\t//@ts-ignore\n\t\t\tinstallFeature.options\n\t\t)\n\n\t\tif (beforeInstallResults.cwd) {\n\t\t\tthis.cwd = beforeInstallResults.cwd\n\t\t}\n\n\t\tdidUpdateHandler?.(`Installing package dependencies...`)\n\t\tconst packagesInstalled =\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\tdidUpdateHandler?.(`Running after package install hook...`)\n\n\t\tthis.afterPackageInstalls.push(installFeature)\n\n\t\tif (!feature.isInstalled) {\n\t\t\tthis.featuresToMarkAsInstalled.push(feature.code)\n\t\t}\n\n\t\tconst files = [...(beforeInstallResults.files ?? [])]\n\n\t\treturn {\n\t\t\tfiles: files ?? undefined,\n\t\t\tpackagesInstalled,\n\t\t}\n\t}\n\n\tpublic async installPackageDependencies(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\treturn this.installPackageDependenciesForFeatures(\n\t\t\t[feature],\n\t\t\tdidUpdateHandler\n\t\t)\n\t}\n\n\tpublic async installPackageDependenciesForFeatures(\n\t\tfeatures: AbstractFeature[],\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tif (FeatureInstallerImpl.startInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tfor (const feature of features) {\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\t\t}\n\n\t\tawait this.installAllPending(didUpdateHandler)\n\n\t\tif (FeatureInstallerImpl.stopInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\t}\n\n\tprivate async installAllPending(\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Installing ${this.packagesToInstall.length} node module${\n\t\t\t\t\tthis.packagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.packagesToInstall, {})\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Now installing ${this.devPackagesToInstall.length} DEV node module${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.devPackagesToInstall, {\n\t\t\t\tisDev: true,\n\t\t\t})\n\t\t}\n\n\t\tthis.packagesToInstall = []\n\t\tthis.devPackagesToInstall = []\n\n\t\tconst settings = this.Service('settings')\n\n\t\tfor (const code of this.featuresToMarkAsInstalled) {\n\t\t\tsettings.markAsInstalled(code)\n\t\t}\n\n\t\tthis.featuresToMarkAsInstalled = []\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tfor (const installFeature of this.afterPackageInstalls) {\n\t\t\tconst feature = this.getFeature(installFeature.code)\n\t\t\tconst afterInstallResults = await feature.afterPackageInstall(\n\t\t\t\t//@ts-ignore\n\t\t\t\tinstallFeature.options\n\t\t\t)\n\n\t\t\tresults = merge(results, afterInstallResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async queueInstallPackageDependenciesWithoutEntertainment(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst packagesInstalled: NpmPackage[] = []\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tfeature.packageDependencies?.forEach((pkg) => {\n\t\t\tconst packageName = pkgService.buildPackageName(pkg)\n\n\t\t\tpackagesInstalled.push(pkg)\n\n\t\t\tdidUpdateHandler?.(`Checking node dependency: ${pkg.name}`)\n\n\t\t\tif (pkg.isDev && this.devPackagesToInstall.indexOf(packageName) === -1) {\n\t\t\t\tthis.devPackagesToInstall.push(packageName)\n\t\t\t} else if (\n\t\t\t\t!pkg.isDev &&\n\t\t\t\tthis.packagesToInstall.indexOf(packageName) === -1\n\t\t\t) {\n\t\t\t\tthis.packagesToInstall.push(packageName)\n\t\t\t}\n\t\t})\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${this.packagesToInstall.length} node dependenc${\n\t\t\t\t\tthis.packagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '...'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${\n\t\t\t\t\tthis.devPackagesToInstall.length\n\t\t\t\t} DEV node dependenc${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '. 🤘'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\treturn packagesInstalled\n\t}\n\n\tprivate getFeatureNameAndDesc(feature: AbstractFeature) {\n\t\treturn `${feature.nameReadable}${\n\t\t\tfeature.description ? ' (' + feature.description + ')' : ''\n\t\t}`\n\t}\n\n\tprivate sortFeatures(\n\t\tfeatureDependencies: FeatureDependency[]\n\t): FeatureDependency[] {\n\t\treturn [...featureDependencies].sort((a, b) => {\n\t\t\tconst aFeature = this.getFeature(a.code)\n\t\t\tconst bFeature = this.getFeature(b.code)\n\n\t\t\tconst aDependsOnB = aFeature.dependencies.find((d) => d.code === b.code)\n\t\t\tconst bDependsOnA = bFeature.dependencies.find((d) => d.code === a.code)\n\n\t\t\tif (\n\t\t\t\taDependsOnB ||\n\t\t\t\taFeature.installOrderWeight < bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn 1\n\t\t\t} else if (\n\t\t\t\tbDependsOnA ||\n\t\t\t\taFeature.installOrderWeight > bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 0\n\t\t})\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\tpublic getOptionsForFeature(code: FeatureCode) {\n\t\treturn this.getFeature(code).optionsSchema\n\t}\n\n\tpublic getAllCodes(): FeatureCode[] {\n\t\tconst codes = Object.keys(this.featureMap) as FeatureCode[]\n\t\treturn this.sortFeatures(\n\t\t\tcodes.map((code) => ({ code, isRequired: true }))\n\t\t).map((dep) => dep.code)\n\t}\n\n\tpublic async getInstalledFeatures() {\n\t\tconst installed = await Promise.all(\n\t\t\tthis.getAllCodes().map(async (code) => {\n\t\t\t\tconst isInstalled = await this.isInstalled(code)\n\t\t\t\tif (isInstalled) {\n\t\t\t\t\treturn this.getFeature(code)\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t})\n\t\t)\n\n\t\treturn installed.filter((f) => !!f) as FeatureMap[keyof FeatureMap][]\n\t}\n}\n\nexport default interface FeatureInstaller {\n\tisInstalled(code: FeatureCode): Promise<boolean>\n\tmarkAsSkippedThisRun(code: FeatureCode): void\n\tmarkAsPermanentlySkipped(code: FeatureCode): void\n\tisMarkedAsSkipped(code: FeatureCode): boolean\n\tgetFeature<C extends FeatureCode>(code: C): FeatureMap[C]\n\tareInstalled(codes: FeatureCode[]): Promise<boolean>\n\tinstall(options: InstallFeatureOptions): Promise<FeatureInstallResponse>\n\tgetInstalledFeatures(): Promise<FeatureMap[keyof FeatureMap][]>\n\tgetFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t): FeatureDependency[]\n\tgetAllCodes(): FeatureCode[]\n\tmapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]): void\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureInstaller.js","names":["_schema","require","_lodash","_merge","_interopRequireDefault","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","FeatureInstallerImpl","cwd","serviceFactory","_classCallCheck2","_createClass2","_isInstalled","_asyncToGenerator2","_regenerator","mark","_callee","code","feature","wrap","_callee$","_context","prev","getFeature","isInstalled","abrupt","Service","isMarkedAsInstalled","stop","_x3","markAsSkippedThisRun","isMarkedAsSkipped","featuresMarkedAsSkippedThisRun","markAsPermanentlySkipped","indexOf","isMarkedAsPermanentlySkipped","mapFeature","featureMap","SpruceError","featureCode","_areInstalled","_callee2","codes","_this","results","result","_callee2$","_context2","Promise","all","map","sent","areInstalled","_x4","getFeatureDependencies","deps","getFeatureDependenciesIncludingSelf","isRequired","sortFeatures","featureDependency","trackedFeatures","undefined","features","isDependencyInTracker","dependencies","dependency","x","dependencyDependencies","_toConsumableArray2","find","_install","_callee3","options","_this2","_options$installFeatu","installFeatureDependencies","didUpdateHandler","shouldAllowEntertainment","dependenciesToInstall","_didUpdateHandler","_code","_isInstalled2","_didUpdateHandler2","_loop","pendingResults","_callee3$","_context4","startInFlightIntertainmentHandler","handler","pendingFeatureInstalls","concat","uniq","_dependenciesToInstal","_options$features$fin","_didUpdateHandler3","installOptions","installFeature","installResults","_loop$","_context3","isInstalledOrPendingInstall","merge","delegateYield","installAllPending","stopInFlightIntertainmentHandler","install","_x5","_installFeature2","_callee4","_beforeInstallResults","_installFeature$optio","beforeInstallResults","packagesInstalled","files","_callee4$","_context5","optionsSchema","validateSchemaValues","beforePackageInstall","queueInstallPackageDependenciesWithoutEntertainment","afterPackageInstalls","featuresToMarkAsInstalled","_x6","_x7","_installPackageDependencies","_callee5","_callee5$","_context6","installPackageDependenciesForFeatures","installPackageDependencies","_x8","_x9","_installPackageDependenciesForFeatures","_callee6","_iterator","_step","_feature","_callee6$","_context7","t0","finish","_x10","_x11","_installAllPending","_callee7","pkgService","settings","_iterator2","_step2","_code2","_iterator3","_step3","_feature2","afterInstallResults","_callee7$","_context8","packagesToInstall","devPackagesToInstall","isDev","markAsInstalled","afterPackageInstall","_x12","_queueInstallPackageDependenciesWithoutEntertainment","_callee8","_feature$packageDepen","_this3","_callee8$","_context9","packageDependencies","pkg","packageName","buildPackageName","getFeatureNameAndDesc","_x13","_x14","nameReadable","description","featureDependencies","_this4","sort","a","b","aFeature","bFeature","aDependsOnB","d","bDependsOnA","installOrderWeight","_Service","_x","_x2","type","getOptionsForFeature","getAllCodes","dep","_getInstalledFeatures","_callee10","_this5","installed","_callee10$","_context11","_ref","_callee9","_callee9$","_context10","_x15","getInstalledFeatures","exports"],"sources":["../../src/features/FeatureInstaller.ts"],"sourcesContent":["import { validateSchemaValues } from '@sprucelabs/schema'\nimport { uniq } from 'lodash'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport ServiceFactory, {\n\tService,\n\tServiceProvider,\n\tServiceMap,\n} from '../services/ServiceFactory'\nimport { InternalUpdateHandler, NpmPackage } from '../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from './AbstractFeature'\nimport {\n\tInstallFeatureOptions,\n\tFeatureInstallResponse,\n\tFeatureCode,\n\tInstallFeature,\n\tFeatureMap,\n} from './features.types'\n\nexport class FeatureInstallerImpl implements ServiceProvider, FeatureInstaller {\n\tpublic cwd: string\n\n\tprivate featureMap: Partial<FeatureMap> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate featuresMarkedAsSkippedThisRun: FeatureCode[] = []\n\tpublic static startInFlightIntertainmentHandler?: (\n\t\tdidUpdateHandler: (handler: (message: string) => void) => void\n\t) => void\n\tpublic static stopInFlightIntertainmentHandler?: () => void\n\tprivate packagesToInstall: string[] = []\n\tprivate devPackagesToInstall: string[] = []\n\tprivate featuresToMarkAsInstalled: string[] = []\n\tprivate afterPackageInstalls: InstallFeature[] = []\n\tprivate pendingFeatureInstalls: Record<string, boolean> = {}\n\n\tpublic constructor(cwd: string, serviceFactory: ServiceFactory) {\n\t\tthis.cwd = cwd\n\t\tthis.serviceFactory = serviceFactory\n\t}\n\n\tpublic async isInstalled(code: FeatureCode): Promise<boolean> {\n\t\tconst feature = this.getFeature(code)\n\n\t\tif (feature.isInstalled) {\n\t\t\treturn feature.isInstalled()\n\t\t}\n\n\t\treturn this.Service('settings').isMarkedAsInstalled(code)\n\t}\n\n\tpublic markAsSkippedThisRun(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.featuresMarkedAsSkippedThisRun.push(code)\n\t\t}\n\t}\n\tpublic markAsPermanentlySkipped(code: FeatureCode) {\n\t\tif (!this.isMarkedAsSkipped(code)) {\n\t\t\tthis.Service('settings').markAsPermanentlySkipped(code)\n\t\t}\n\t}\n\n\tpublic isMarkedAsSkipped(code: FeatureCode) {\n\t\treturn (\n\t\t\tthis.featuresMarkedAsSkippedThisRun.indexOf(code) > -1 ||\n\t\t\tthis.Service('settings').isMarkedAsPermanentlySkipped(code)\n\t\t)\n\t}\n\n\tpublic mapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]) {\n\t\tthis.featureMap[code] = feature\n\t}\n\n\tpublic getFeature<C extends FeatureCode>(code: C): FeatureMap[C] {\n\t\tconst feature = this.featureMap[code]\n\t\tif (!feature) {\n\t\t\tthrow new SpruceError({ code: 'INVALID_FEATURE_CODE', featureCode: code })\n\t\t}\n\n\t\treturn feature as FeatureMap[C]\n\t}\n\n\tpublic async areInstalled(codes: FeatureCode[]) {\n\t\tconst results = await Promise.all(\n\t\t\tcodes.map((f) => {\n\t\t\t\treturn this.isInstalled(f)\n\t\t\t})\n\t\t)\n\n\t\tfor (let i = 0; i < results.length; i += 1) {\n\t\t\tconst result = results[i]\n\t\t\tif (!result) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tpublic getFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t\t// trackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tlet deps = this.getFeatureDependenciesIncludingSelf(\n\t\t\t{ code: featureCode, isRequired: true },\n\t\t\t[] // trackedFeatures\n\t\t).filter((f) => f.code !== featureCode)\n\n\t\tdeps = this.sortFeatures(deps)\n\n\t\treturn deps\n\t}\n\n\tprivate getFeatureDependenciesIncludingSelf(\n\t\tfeatureDependency: FeatureDependency,\n\t\ttrackedFeatures: FeatureDependency[] = []\n\t): FeatureDependency[] {\n\t\tconst features: FeatureDependency[] = []\n\n\t\tif (!this.isDependencyInTracker(trackedFeatures, featureDependency)) {\n\t\t\tfeatures.push(featureDependency)\n\t\t\ttrackedFeatures.push(featureDependency)\n\t\t}\n\n\t\tconst feature = this.getFeature(featureDependency.code)\n\t\tconst dependencies = feature.dependencies\n\n\t\tfor (let i = 0; i < dependencies.length; i += 1) {\n\t\t\tconst dependency = dependencies[i]\n\t\t\tif (!this.isDependencyInTracker(trackedFeatures, dependency)) {\n\t\t\t\tfeatures.push(dependency)\n\t\t\t\ttrackedFeatures.push(dependency)\n\t\t\t}\n\t\t}\n\n\t\tfor (let x = 0; x < dependencies.length; x += 1) {\n\t\t\tconst dependency = dependencies[x]\n\t\t\tlet dependencyDependencies = this.getFeatureDependenciesIncludingSelf(\n\t\t\t\tdependency,\n\t\t\t\ttrackedFeatures\n\t\t\t)\n\t\t\tif (!dependency.isRequired) {\n\t\t\t\tdependencyDependencies = dependencyDependencies.map((f) => ({\n\t\t\t\t\t...f,\n\t\t\t\t\tisRequired: false,\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tfeatures.push(...dependencyDependencies)\n\t\t}\n\n\t\treturn features\n\t}\n\n\tprivate isDependencyInTracker(\n\t\ttrackedFeatures: FeatureDependency[],\n\t\tdependency: FeatureDependency\n\t) {\n\t\treturn !!trackedFeatures.find((f) => f.code === dependency.code)\n\t}\n\n\tpublic async install(\n\t\toptions: InstallFeatureOptions\n\t): Promise<FeatureInstallResponse> {\n\t\tlet {\n\t\t\tfeatures,\n\t\t\tinstallFeatureDependencies = true,\n\t\t\tdidUpdateHandler,\n\t\t} = options\n\n\t\tconst shouldAllowEntertainment = !!features.find((f) => f.code === 'skill')\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tthis.pendingFeatureInstalls = {}\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tlet dependenciesToInstall: FeatureDependency[] = []\n\n\t\tfor (let i = 0; i < features.length; i += 1) {\n\t\t\tconst f = features[i]\n\t\t\tconst code = f.code\n\n\t\t\tdidUpdateHandler?.(`Checking if ${code} is installed...`)\n\n\t\t\tconst isInstalled = await this.isInstalled(code)\n\n\t\t\tif (!isInstalled && installFeatureDependencies) {\n\t\t\t\tdidUpdateHandler?.(`It is not, checking dependencies...`)\n\t\t\t\tdependenciesToInstall = dependenciesToInstall.concat(\n\t\t\t\t\tthis.getFeatureDependenciesIncludingSelf({ code, isRequired: true })\n\t\t\t\t)\n\t\t\t} else if (!isInstalled) {\n\t\t\t\tdependenciesToInstall.push({ code, isRequired: true })\n\t\t\t}\n\t\t}\n\n\t\tdependenciesToInstall = uniq(dependenciesToInstall)\n\t\tdependenciesToInstall = this.sortFeatures(dependenciesToInstall)\n\n\t\tfor (let x = 0; x < dependenciesToInstall.length; x += 1) {\n\t\t\tconst { code, isRequired } = dependenciesToInstall[x]\n\n\t\t\tconst isInstalled = await this.isInstalledOrPendingInstall(code)\n\n\t\t\tif (!isInstalled && isRequired) {\n\t\t\t\tconst installOptions =\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\toptions.features.find((f) => f.code === code)?.options\n\n\t\t\t\tconst installFeature = {\n\t\t\t\t\tcode,\n\t\t\t\t\toptions: installOptions,\n\t\t\t\t} as InstallFeature\n\n\t\t\t\tdidUpdateHandler?.(`Installing the ${installFeature.code} feature....`)\n\n\t\t\t\tconst installResults = await this.installFeature(\n\t\t\t\t\tinstallFeature,\n\t\t\t\t\tdidUpdateHandler\n\t\t\t\t)\n\n\t\t\t\tresults = merge(results, installResults)\n\t\t\t}\n\t\t}\n\n\t\tconst pendingResults = await this.installAllPending(didUpdateHandler)\n\t\tresults = merge(results, pendingResults)\n\n\t\tif (\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler &&\n\t\t\tshouldAllowEntertainment\n\t\t) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate isInstalledOrPendingInstall(code: string) {\n\t\treturn this.pendingFeatureInstalls[code] || this.isInstalled(code as any)\n\t}\n\n\tprivate async installFeature(\n\t\tinstallFeature: InstallFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tthis.pendingFeatureInstalls[installFeature.code] = true\n\n\t\tconst feature = this.getFeature(installFeature.code) as AbstractFeature\n\n\t\tif (feature.optionsSchema) {\n\t\t\t//@ts-ignore\n\t\t\tvalidateSchemaValues(feature.optionsSchema, installFeature.options ?? {})\n\t\t}\n\n\t\tdidUpdateHandler?.(`Running before package install hook...`)\n\t\tconst beforeInstallResults = await feature.beforePackageInstall(\n\t\t\t//@ts-ignore\n\t\t\tinstallFeature.options\n\t\t)\n\n\t\tif (beforeInstallResults.cwd) {\n\t\t\tthis.cwd = beforeInstallResults.cwd\n\t\t}\n\n\t\tdidUpdateHandler?.(`Installing package dependencies...`)\n\t\tconst packagesInstalled =\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\tdidUpdateHandler?.(`Running after package install hook...`)\n\n\t\tthis.afterPackageInstalls.push(installFeature)\n\n\t\tif (!feature.isInstalled) {\n\t\t\tthis.featuresToMarkAsInstalled.push(feature.code)\n\t\t}\n\n\t\tconst files = [...(beforeInstallResults.files ?? [])]\n\n\t\treturn {\n\t\t\tfiles: files ?? undefined,\n\t\t\tpackagesInstalled,\n\t\t}\n\t}\n\n\tpublic async installPackageDependencies(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\treturn this.installPackageDependenciesForFeatures(\n\t\t\t[feature],\n\t\t\tdidUpdateHandler\n\t\t)\n\t}\n\n\tpublic async installPackageDependenciesForFeatures(\n\t\tfeatures: AbstractFeature[],\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tif (FeatureInstallerImpl.startInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.startInFlightIntertainmentHandler(\n\t\t\t\t(handler: InternalUpdateHandler) => {\n\t\t\t\t\tdidUpdateHandler = handler\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tfor (const feature of features) {\n\t\t\tawait this.queueInstallPackageDependenciesWithoutEntertainment(\n\t\t\t\tfeature,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\t\t}\n\n\t\tawait this.installAllPending(didUpdateHandler)\n\n\t\tif (FeatureInstallerImpl.stopInFlightIntertainmentHandler) {\n\t\t\tFeatureInstallerImpl.stopInFlightIntertainmentHandler()\n\t\t}\n\t}\n\n\tprivate async installAllPending(\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<FeatureInstallResponse> {\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Installing ${this.packagesToInstall.length} node module${\n\t\t\t\t\tthis.packagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.packagesToInstall, {})\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Now installing ${this.devPackagesToInstall.length} DEV node module${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1 ? '' : 's'\n\t\t\t\t}. Please be patient.`\n\t\t\t)\n\n\t\t\tawait pkgService.install(this.devPackagesToInstall, {\n\t\t\t\tisDev: true,\n\t\t\t})\n\t\t}\n\n\t\tthis.packagesToInstall = []\n\t\tthis.devPackagesToInstall = []\n\n\t\tconst settings = this.Service('settings')\n\n\t\tfor (const code of this.featuresToMarkAsInstalled) {\n\t\t\tsettings.markAsInstalled(code)\n\t\t}\n\n\t\tthis.featuresToMarkAsInstalled = []\n\n\t\tlet results: FeatureInstallResponse = {}\n\n\t\tfor (const installFeature of this.afterPackageInstalls) {\n\t\t\tconst feature = this.getFeature(installFeature.code)\n\t\t\tconst afterInstallResults = await feature.afterPackageInstall(\n\t\t\t\t//@ts-ignore\n\t\t\t\tinstallFeature.options\n\t\t\t)\n\n\t\t\tresults = merge(results, afterInstallResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async queueInstallPackageDependenciesWithoutEntertainment(\n\t\tfeature: AbstractFeature,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst packagesInstalled: NpmPackage[] = []\n\t\tconst pkgService = this.Service('pkg')\n\n\t\tfeature.packageDependencies?.forEach((pkg) => {\n\t\t\tconst packageName = pkgService.buildPackageName(pkg)\n\n\t\t\tpackagesInstalled.push(pkg)\n\n\t\t\tdidUpdateHandler?.(`Checking node dependency: ${pkg.name}`)\n\n\t\t\tif (pkg.isDev && this.devPackagesToInstall.indexOf(packageName) === -1) {\n\t\t\t\tthis.devPackagesToInstall.push(packageName)\n\t\t\t} else if (\n\t\t\t\t!pkg.isDev &&\n\t\t\t\tthis.packagesToInstall.indexOf(packageName) === -1\n\t\t\t) {\n\t\t\t\tthis.packagesToInstall.push(packageName)\n\t\t\t}\n\t\t})\n\n\t\tif (this.packagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${this.packagesToInstall.length} node dependenc${\n\t\t\t\t\tthis.packagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '...'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\tif (this.devPackagesToInstall.length > 0) {\n\t\t\tdidUpdateHandler?.(\n\t\t\t\t`Queueing install of ${\n\t\t\t\t\tthis.devPackagesToInstall.length\n\t\t\t\t} DEV node dependenc${\n\t\t\t\t\tthis.devPackagesToInstall.length === 1\n\t\t\t\t\t\t? 'y.'\n\t\t\t\t\t\t: 'ies for ' + this.getFeatureNameAndDesc(feature) + '. 🤘'\n\t\t\t\t}.`\n\t\t\t)\n\t\t}\n\n\t\treturn packagesInstalled\n\t}\n\n\tprivate getFeatureNameAndDesc(feature: AbstractFeature) {\n\t\treturn `${feature.nameReadable}${\n\t\t\tfeature.description ? ' (' + feature.description + ')' : ''\n\t\t}`\n\t}\n\n\tprivate sortFeatures(\n\t\tfeatureDependencies: FeatureDependency[]\n\t): FeatureDependency[] {\n\t\treturn [...featureDependencies].sort((a, b) => {\n\t\t\tconst aFeature = this.getFeature(a.code)\n\t\t\tconst bFeature = this.getFeature(b.code)\n\n\t\t\tconst aDependsOnB = aFeature.dependencies.find((d) => d.code === b.code)\n\t\t\tconst bDependsOnA = bFeature.dependencies.find((d) => d.code === a.code)\n\n\t\t\tif (\n\t\t\t\taDependsOnB ||\n\t\t\t\taFeature.installOrderWeight < bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn 1\n\t\t\t} else if (\n\t\t\t\tbDependsOnA ||\n\t\t\t\taFeature.installOrderWeight > bFeature.installOrderWeight\n\t\t\t) {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 0\n\t\t})\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\tpublic getOptionsForFeature(code: FeatureCode) {\n\t\treturn this.getFeature(code).optionsSchema\n\t}\n\n\tpublic getAllCodes(): FeatureCode[] {\n\t\tconst codes = Object.keys(this.featureMap) as FeatureCode[]\n\t\treturn this.sortFeatures(\n\t\t\tcodes.map((code) => ({ code, isRequired: true }))\n\t\t).map((dep) => dep.code)\n\t}\n\n\tpublic async getInstalledFeatures() {\n\t\tconst installed = await Promise.all(\n\t\t\tthis.getAllCodes().map(async (code) => {\n\t\t\t\tconst isInstalled = await this.isInstalled(code)\n\t\t\t\tif (isInstalled) {\n\t\t\t\t\treturn this.getFeature(code)\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t})\n\t\t)\n\n\t\treturn installed.filter((f) => !!f) as FeatureMap[keyof FeatureMap][]\n\t}\n}\n\nexport default interface FeatureInstaller {\n\tisInstalled(code: FeatureCode): Promise<boolean>\n\tmarkAsSkippedThisRun(code: FeatureCode): void\n\tmarkAsPermanentlySkipped(code: FeatureCode): void\n\tisMarkedAsSkipped(code: FeatureCode): boolean\n\tgetFeature<C extends FeatureCode>(code: C): FeatureMap[C]\n\tareInstalled(codes: FeatureCode[]): Promise<boolean>\n\tinstall(options: InstallFeatureOptions): Promise<FeatureInstallResponse>\n\tgetInstalledFeatures(): Promise<FeatureMap[keyof FeatureMap][]>\n\tgetFeatureDependencies<C extends FeatureCode>(\n\t\tfeatureCode: C\n\t): FeatureDependency[]\n\tgetAllCodes(): FeatureCode[]\n\tmapFeature<C extends FeatureCode>(code: C, feature: FeatureMap[C]): void\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureInstallerFactory.js","names":["FeatureInstallerFactory","options","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstallerImpl","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature","PolishFeature","PermissionFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller, { FeatureInstallerImpl } from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PermissionFeature from './permission/PermissionFeature'\nimport PersonFeature from './person/PersonFeature'\nimport PolishFeature from './polish/PolishFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\n\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t\tPolishFeature,\n\t\tPermissionFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t\t'polish',\n\t\t'permission',\n\t]\n\n\tpublic static WithAllFeatures(\n\t\toptions: InstallerWithAllFeaturesOptions\n\t): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstallerImpl(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n\ninterface InstallerWithAllFeaturesOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tstoreFactory: StoreFactory\n\tfeatureInstaller?: FeatureInstaller\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tapiClientFactory: ApiClientFactory\n\tactionExecuter: ActionExecuter\n}\n"],"mappings":";;;;;;;;;;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA+C,
|
|
1
|
+
{"version":3,"file":"FeatureInstallerFactory.js","names":["_spruceTemplates","require","_CacheFeature","_interopRequireDefault","_ConversationFeature","_DependencyFeature","_DeployFeature","_ErrorFeature","_EventFeature","_EventContractFeature","_FeatureInstaller","_LogFeature","_NodeFeature","_OnboardFeature","_OrganizationFeature","_PermissionFeature","_PersonFeature","_PolishFeature","_SandboxFeature","_SchemaFeature","_SkillFeature","_StoreFeature","_TestFeature","_ViewFeature","_VsCodeFeature","_WatchFeature","FeatureInstallerFactory","_classCallCheck2","_createClass2","key","value","WithAllFeatures","options","_options$featureInsta","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstallerImpl","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","exports","_defineProperty2","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature","PolishFeature","PermissionFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller, { FeatureInstallerImpl } from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PermissionFeature from './permission/PermissionFeature'\nimport PersonFeature from './person/PersonFeature'\nimport PolishFeature from './polish/PolishFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\n\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t\tPolishFeature,\n\t\tPermissionFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t\t'polish',\n\t\t'permission',\n\t]\n\n\tpublic static WithAllFeatures(\n\t\toptions: InstallerWithAllFeaturesOptions\n\t): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstallerImpl(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n\ninterface InstallerWithAllFeaturesOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tstoreFactory: StoreFactory\n\tfeatureInstaller?: FeatureInstaller\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tapiClientFactory: ApiClientFactory\n\tactionExecuter: ActionExecuter\n}\n"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
19
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
20
|
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; } } }; }
|
|
21
21
|
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); }
|
|
22
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
22
|
+
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; }
|
|
23
23
|
var methodDelegator = {
|
|
24
24
|
getAllFuncs: function getAllFuncs(toCheck) {
|
|
25
25
|
var props = [];
|
|
@@ -71,20 +71,18 @@ var OverrideActionDecorator = /*#__PURE__*/function () {
|
|
|
71
71
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(optionsArg) {
|
|
72
72
|
var options, response;
|
|
73
73
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
74
|
-
while (1) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return _context.stop();
|
|
87
|
-
}
|
|
74
|
+
while (1) switch (_context.prev = _context.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
_this.assertCommandIsNotBlocked();
|
|
77
|
+
options = _this.mixinOptionOverrides(optionsArg);
|
|
78
|
+
_context.next = 4;
|
|
79
|
+
return _this.childAction.execute(options);
|
|
80
|
+
case 4:
|
|
81
|
+
response = _context.sent;
|
|
82
|
+
return _context.abrupt("return", response);
|
|
83
|
+
case 6:
|
|
84
|
+
case "end":
|
|
85
|
+
return _context.stop();
|
|
88
86
|
}
|
|
89
87
|
}, _callee);
|
|
90
88
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverrideActionDecorator.js","names":["methodDelegator","getAllFuncs","toCheck","props","obj","push","Object","getOwnPropertyNames","getPrototypeOf","sort","filter","e","i","arr","delegateFunctionCalls","from","to","prop","OverrideActionDecorator","options","optionsArg","assertCommandIsNotBlocked","mixinOptionOverrides","childAction","execute","response","action","feature","ui","blockedCommands","optionOverrides","actionCode","SpruceError","code","friendlyMessage","nameReadable","parent","invocationMessage","commandAliases","optionsSchema","commands","getCommands","commandStr","command","hint","featuresUtil","generateCommandsIncludingAliases","optionsArgs","overrides","renderLine","renderObject"],"sources":["../../src/features/OverrideActionDecorator.ts"],"sourcesContent":["import { GraphicsInterface } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport { FeatureAction } from '../features/features.types'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractFeature from './AbstractFeature'\nimport featuresUtil from './feature.utilities'\n\nconst methodDelegator = {\n\tgetAllFuncs(toCheck: any) {\n\t\tconst props = []\n\t\tlet obj = toCheck\n\t\tdo {\n\t\t\tprops.push(...Object.getOwnPropertyNames(obj))\n\t\t} while ((obj = Object.getPrototypeOf(obj)))\n\n\t\treturn props.sort().filter((e: any, i: any, arr: any) => {\n\t\t\treturn e != arr[i + 1] && typeof toCheck[e] == 'function'\n\t\t})\n\t},\n\n\tdelegateFunctionCalls(from: any, to: any) {\n\t\tconst props = this.getAllFuncs(to)\n\t\tfor (const prop of props) {\n\t\t\t//@ts-ignore\n\t\t\tif (!from[prop]) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tfrom[prop] = (...args: []) => {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn to[prop](...args)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n}\n\nexport default class OverrideActionDecorator implements FeatureAction {\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate ui?: GraphicsInterface\n\tprivate actionCode: string\n\n\tpublic get invocationMessage() {\n\t\treturn this.childAction.invocationMessage\n\t}\n\n\tpublic get commandAliases() {\n\t\treturn this.childAction.commandAliases\n\t}\n\n\tprivate childAction: FeatureAction\n\tprivate parent: AbstractFeature\n\n\tpublic get optionsSchema() {\n\t\treturn this.childAction.optionsSchema\n\t}\n\n\tpublic getChild() {\n\t\treturn this.childAction\n\t}\n\n\tpublic constructor(options: {\n\t\taction: FeatureAction\n\t\tfeature: AbstractFeature\n\t\tui?: GraphicsInterface\n\t\tblockedCommands?: BlockedCommands\n\t\toptionOverrides?: OptionOverrides\n\t\tactionCode: string\n\t}) {\n\t\tconst {\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tui,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t\tactionCode,\n\t\t} = options\n\n\t\tif (!action || !action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `${feature.nameReadable} failed to load action.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.childAction = action\n\t\tthis.parent = feature\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t\tthis.ui = ui\n\t\tthis.actionCode = actionCode\n\n\t\tmethodDelegator.delegateFunctionCalls(this, action)\n\t}\n\n\tprivate assertCommandIsNotBlocked() {\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tif (this.blockedCommands?.[commandStr]) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'COMMAND_BLOCKED',\n\t\t\t\t\tcommand: commandStr,\n\t\t\t\t\thint: this.blockedCommands[commandStr],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic execute = async (optionsArg: any) => {\n\t\tthis.assertCommandIsNotBlocked()\n\n\t\tconst options = this.mixinOptionOverrides(optionsArg)\n\t\tconst response = await this.childAction.execute(options)\n\n\t\treturn response\n\t}\n\n\tprivate getCommands() {\n\t\treturn featuresUtil.generateCommandsIncludingAliases(\n\t\t\tthis.parent.code,\n\t\t\tthis.actionCode,\n\t\t\tthis\n\t\t)\n\t}\n\n\tprivate mixinOptionOverrides(optionsArgs: any) {\n\t\tlet { ...options } = optionsArgs\n\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tconst overrides = this.optionOverrides?.[commandStr]\n\t\t\tif (overrides) {\n\t\t\t\tthis.ui?.renderLine(`Overrides found in package.json`)\n\t\t\t\tthis.ui?.renderObject(overrides)\n\t\t\t\toptions = {\n\t\t\t\t\t...options,\n\t\t\t\t\t...overrides,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn options\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OverrideActionDecorator.js","names":["_SpruceError","_interopRequireDefault","require","_feature","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","methodDelegator","getAllFuncs","toCheck","props","obj","_toConsumableArray2","getOwnPropertyNames","getPrototypeOf","sort","delegateFunctionCalls","to","_iterator","_step","_loop","prop","OverrideActionDecorator","options","_this","_classCallCheck2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","optionsArg","response","wrap","_callee$","_context","prev","assertCommandIsNotBlocked","mixinOptionOverrides","childAction","execute","sent","abrupt","stop","_x","action","feature","ui","blockedCommands","optionOverrides","actionCode","SpruceError","code","friendlyMessage","concat","nameReadable","parent","_createClass2","get","invocationMessage","commandAliases","optionsSchema","getChild","commands","getCommands","_iterator2","_step2","_this$blockedCommands","commandStr","command","hint","featuresUtil","generateCommandsIncludingAliases","optionsArgs","_extends2","_objectDestructuringEmpty2","_iterator3","_step3","_this$optionOverrides","overrides","_this$ui","_this$ui2","renderLine","renderObject","exports"],"sources":["../../src/features/OverrideActionDecorator.ts"],"sourcesContent":["import { GraphicsInterface } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport { FeatureAction } from '../features/features.types'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractFeature from './AbstractFeature'\nimport featuresUtil from './feature.utilities'\n\nconst methodDelegator = {\n\tgetAllFuncs(toCheck: any) {\n\t\tconst props = []\n\t\tlet obj = toCheck\n\t\tdo {\n\t\t\tprops.push(...Object.getOwnPropertyNames(obj))\n\t\t} while ((obj = Object.getPrototypeOf(obj)))\n\n\t\treturn props.sort().filter((e: any, i: any, arr: any) => {\n\t\t\treturn e != arr[i + 1] && typeof toCheck[e] == 'function'\n\t\t})\n\t},\n\n\tdelegateFunctionCalls(from: any, to: any) {\n\t\tconst props = this.getAllFuncs(to)\n\t\tfor (const prop of props) {\n\t\t\t//@ts-ignore\n\t\t\tif (!from[prop]) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tfrom[prop] = (...args: []) => {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn to[prop](...args)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n}\n\nexport default class OverrideActionDecorator implements FeatureAction {\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate ui?: GraphicsInterface\n\tprivate actionCode: string\n\n\tpublic get invocationMessage() {\n\t\treturn this.childAction.invocationMessage\n\t}\n\n\tpublic get commandAliases() {\n\t\treturn this.childAction.commandAliases\n\t}\n\n\tprivate childAction: FeatureAction\n\tprivate parent: AbstractFeature\n\n\tpublic get optionsSchema() {\n\t\treturn this.childAction.optionsSchema\n\t}\n\n\tpublic getChild() {\n\t\treturn this.childAction\n\t}\n\n\tpublic constructor(options: {\n\t\taction: FeatureAction\n\t\tfeature: AbstractFeature\n\t\tui?: GraphicsInterface\n\t\tblockedCommands?: BlockedCommands\n\t\toptionOverrides?: OptionOverrides\n\t\tactionCode: string\n\t}) {\n\t\tconst {\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tui,\n\t\t\tblockedCommands,\n\t\t\toptionOverrides,\n\t\t\tactionCode,\n\t\t} = options\n\n\t\tif (!action || !action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `${feature.nameReadable} failed to load action.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.childAction = action\n\t\tthis.parent = feature\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t\tthis.ui = ui\n\t\tthis.actionCode = actionCode\n\n\t\tmethodDelegator.delegateFunctionCalls(this, action)\n\t}\n\n\tprivate assertCommandIsNotBlocked() {\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tif (this.blockedCommands?.[commandStr]) {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'COMMAND_BLOCKED',\n\t\t\t\t\tcommand: commandStr,\n\t\t\t\t\thint: this.blockedCommands[commandStr],\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic execute = async (optionsArg: any) => {\n\t\tthis.assertCommandIsNotBlocked()\n\n\t\tconst options = this.mixinOptionOverrides(optionsArg)\n\t\tconst response = await this.childAction.execute(options)\n\n\t\treturn response\n\t}\n\n\tprivate getCommands() {\n\t\treturn featuresUtil.generateCommandsIncludingAliases(\n\t\t\tthis.parent.code,\n\t\t\tthis.actionCode,\n\t\t\tthis\n\t\t)\n\t}\n\n\tprivate mixinOptionOverrides(optionsArgs: any) {\n\t\tlet { ...options } = optionsArgs\n\n\t\tconst commands = this.getCommands()\n\n\t\tfor (const commandStr of commands) {\n\t\t\tconst overrides = this.optionOverrides?.[commandStr]\n\t\t\tif (overrides) {\n\t\t\t\tthis.ui?.renderLine(`Overrides found in package.json`)\n\t\t\t\tthis.ui?.renderObject(overrides)\n\t\t\t\toptions = {\n\t\t\t\t\t...options,\n\t\t\t\t\t...overrides,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn options\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -39,14 +39,12 @@ var CacheFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
39
39
|
value: function () {
|
|
40
40
|
var _isInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
41
41
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
42
|
-
while (1) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return _context.stop();
|
|
49
|
-
}
|
|
42
|
+
while (1) switch (_context.prev = _context.next) {
|
|
43
|
+
case 0:
|
|
44
|
+
return _context.abrupt("return", true);
|
|
45
|
+
case 1:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context.stop();
|
|
50
48
|
}
|
|
51
49
|
}, _callee);
|
|
52
50
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheFeature.js","names":["CacheFeature","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/cache/CacheFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tcache: CacheFeature\n\t}\n}\n\nexport default class CacheFeature extends AbstractFeature {\n\tpublic description = 'Caching for all things Sprucebot.'\n\tpublic code: FeatureCode = 'cache'\n\tpublic nameReadable = 'Cache'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async isInstalled() {\n\t\treturn true\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAAgD;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CacheFeature.js","names":["_spruceSkillUtils","require","_AbstractFeature2","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CacheFeature","_AbstractFeature","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","diskUtil","resolvePath","__dirname","_createClass2","key","value","_isInstalled","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","isInstalled","AbstractFeature","exports"],"sources":["../../../src/features/cache/CacheFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tcache: CacheFeature\n\t}\n}\n\nexport default class CacheFeature extends AbstractFeature {\n\tpublic description = 'Caching for all things Sprucebot.'\n\tpublic code: FeatureCode = 'cache'\n\tpublic nameReadable = 'Cache'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async isInstalled() {\n\t\treturn true\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgD,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAS3BC,YAAY,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAzB,YAAA,CAAAsB,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,YAAA;IAAA,SAAAM,IAAA,GAAAhB,SAAA,CAAAiB,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAApB,SAAA,CAAAoB,IAAA;IAAA;IAAAN,KAAA,GAAAD,MAAA,CAAAL,IAAA,CAAAP,KAAA,CAAAY,MAAA,SAAAQ,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,kBACX,mCAAmC;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,WAC7B,OAAO;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,mBACZ,OAAO;IAAA,IAAAQ,gBAAA,iBAAAC,uBAAA,aAAAT,KAAA,iBACTU,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,OAAAZ,KAAA;EAAA;EAAA,IAAAa,aAAA,aAAAjB,YAAA;IAAAkB,GAAA;IAAAC,KAAA;MAAA,IAAAC,YAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAE9D,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WACQ,IAAI;YAAA;YAAA;cAAA,OAAAH,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACX;MAAA,SAAAQ,YAAA;QAAA,OAAAZ,YAAA,CAAA7B,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA0C,WAAA;IAAA;EAAA;EAAA,OAAAhC,YAAA;AAAA,EARwCiC,4BAAe;AAAAC,OAAA,cAAAlC,YAAA"}
|
|
@@ -46,52 +46,50 @@ var DisableCacheAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
46
46
|
var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
|
|
47
47
|
var _err$options, _err$options$cmd, _err$message, _err$message$toLowerC, error;
|
|
48
48
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
49
|
-
while (1) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
while (1) switch (_context.prev = _context.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
_context.prev = 0;
|
|
52
|
+
_context.next = 3;
|
|
53
|
+
return this.Service('command').execute('which docker');
|
|
54
|
+
case 3:
|
|
55
|
+
_context.next = 5;
|
|
56
|
+
return this.Service('command').execute(_constants.DISABLE_NPM_CACHE_COMMAND);
|
|
57
|
+
case 5:
|
|
58
|
+
return _context.abrupt("return", {
|
|
59
|
+
headline: 'Stopping cache',
|
|
60
|
+
summaryLines: ['Shutting down cache!']
|
|
61
|
+
});
|
|
62
|
+
case 8:
|
|
63
|
+
_context.prev = 8;
|
|
64
|
+
_context.t0 = _context["catch"](0);
|
|
65
|
+
error = _context.t0;
|
|
66
|
+
if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
|
|
67
|
+
error = new _SpruceError["default"]({
|
|
68
|
+
code: 'MISSING_DEPENDENCIES',
|
|
69
|
+
dependencies: [{
|
|
70
|
+
name: 'Docker',
|
|
71
|
+
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
72
|
+
}]
|
|
62
73
|
});
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
error = _context.t0;
|
|
67
|
-
if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
|
|
68
|
-
error = new _SpruceError["default"]({
|
|
69
|
-
code: 'MISSING_DEPENDENCIES',
|
|
70
|
-
dependencies: [{
|
|
71
|
-
name: 'Docker',
|
|
72
|
-
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
73
|
-
}]
|
|
74
|
-
});
|
|
75
|
-
} else if ((_err$message = _context.t0.message) !== null && _err$message !== void 0 && (_err$message$toLowerC = _err$message.toLowerCase()) !== null && _err$message$toLowerC !== void 0 && _err$message$toLowerC.includes('no such container')) {
|
|
76
|
-
error = new _SpruceError["default"]({
|
|
77
|
-
code: 'CACHE_NOT_ENABLED'
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
error = new _SpruceError["default"]({
|
|
81
|
-
code: 'MISSING_DEPENDENCIES',
|
|
82
|
-
dependencies: [{
|
|
83
|
-
name: 'Docker',
|
|
84
|
-
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
85
|
-
}]
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
return _context.abrupt("return", {
|
|
89
|
-
errors: [error]
|
|
74
|
+
} else if ((_err$message = _context.t0.message) !== null && _err$message !== void 0 && (_err$message$toLowerC = _err$message.toLowerCase()) !== null && _err$message$toLowerC !== void 0 && _err$message$toLowerC.includes('no such container')) {
|
|
75
|
+
error = new _SpruceError["default"]({
|
|
76
|
+
code: 'CACHE_NOT_ENABLED'
|
|
90
77
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
78
|
+
} else {
|
|
79
|
+
error = new _SpruceError["default"]({
|
|
80
|
+
code: 'MISSING_DEPENDENCIES',
|
|
81
|
+
dependencies: [{
|
|
82
|
+
name: 'Docker',
|
|
83
|
+
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
84
|
+
}]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return _context.abrupt("return", {
|
|
88
|
+
errors: [error]
|
|
89
|
+
});
|
|
90
|
+
case 13:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
95
93
|
}
|
|
96
94
|
}, _callee, this, [[0, 8]]);
|
|
97
95
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisableAction.js","names":["optionsSchema","buildSchema","id","description","fields","DisableCacheAction","_options","Service","execute","DISABLE_NPM_CACHE_COMMAND","headline","summaryLines","
|
|
1
|
+
{"version":3,"file":"DisableAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_AbstractAction2","_constants","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","optionsSchema","buildSchema","id","description","fields","DisableCacheAction","_AbstractAction","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_err$options","_err$options$cmd","_err$message","_err$message$toLowerC","error","wrap","_callee$","_context","prev","next","Service","execute","DISABLE_NPM_CACHE_COMMAND","abrupt","headline","summaryLines","t0","options","cmd","includes","SpruceError","code","dependencies","name","hint","message","toLowerCase","errors","stop","_x","AbstractAction","exports"],"sources":["../../../../src/features/cache/actions/DisableAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { DISABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'disableCacheAction',\n\tdescription: 'Disable caching.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class DisableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'disable.cache',\n\t\t'stop.cache',\n\t\t'disable.caching',\n\t\t'stop.caching',\n\t]\n\tpublic invocationMessage = 'Disabling cache...'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\t\t\tawait this.Service('command').execute(DISABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Stopping cache',\n\t\t\t\tsummaryLines: ['Shutting down cache!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else if (err.message?.toLowerCase()?.includes('no such container')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'CACHE_NOT_ENABLED',\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -46,47 +46,45 @@ var EnableCacheAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
46
46
|
var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
|
|
47
47
|
var _err$options, _err$options$cmd, error;
|
|
48
48
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
49
|
-
while (1) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
while (1) switch (_context.prev = _context.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
_context.prev = 0;
|
|
52
|
+
_context.next = 3;
|
|
53
|
+
return this.Service('command').execute('which docker');
|
|
54
|
+
case 3:
|
|
55
|
+
_context.next = 5;
|
|
56
|
+
return this.Action('cache', 'disable').execute({});
|
|
57
|
+
case 5:
|
|
58
|
+
_context.next = 7;
|
|
59
|
+
return this.Service('command').execute(_constants.ENABLE_NPM_CACHE_COMMAND);
|
|
60
|
+
case 7:
|
|
61
|
+
return _context.abrupt("return", {
|
|
62
|
+
headline: 'Starting cache',
|
|
63
|
+
summaryLines: ['Booting cache systems now. Give it a sec!']
|
|
64
|
+
});
|
|
65
|
+
case 10:
|
|
66
|
+
_context.prev = 10;
|
|
67
|
+
_context.t0 = _context["catch"](0);
|
|
68
|
+
error = _context.t0;
|
|
69
|
+
if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
|
|
70
|
+
error = new _SpruceError["default"]({
|
|
71
|
+
code: 'MISSING_DEPENDENCIES',
|
|
72
|
+
dependencies: [{
|
|
73
|
+
name: 'Docker',
|
|
74
|
+
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
75
|
+
}]
|
|
65
76
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
error = _context.t0;
|
|
70
|
-
if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options$cmd = _err$options.cmd) !== null && _err$options$cmd !== void 0 && _err$options$cmd.includes('which')) {
|
|
71
|
-
error = new _SpruceError["default"]({
|
|
72
|
-
code: 'MISSING_DEPENDENCIES',
|
|
73
|
-
dependencies: [{
|
|
74
|
-
name: 'Docker',
|
|
75
|
-
hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
|
|
76
|
-
}]
|
|
77
|
-
});
|
|
78
|
-
} else {
|
|
79
|
-
error = new _SpruceError["default"]({
|
|
80
|
-
code: 'DOCKER_NOT_STARTED'
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
return _context.abrupt("return", {
|
|
84
|
-
errors: [error]
|
|
77
|
+
} else {
|
|
78
|
+
error = new _SpruceError["default"]({
|
|
79
|
+
code: 'DOCKER_NOT_STARTED'
|
|
85
80
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
}
|
|
82
|
+
return _context.abrupt("return", {
|
|
83
|
+
errors: [error]
|
|
84
|
+
});
|
|
85
|
+
case 15:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
90
88
|
}
|
|
91
89
|
}, _callee, this, [[0, 10]]);
|
|
92
90
|
}));
|