@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
|
@@ -18,7 +18,7 @@ var _md = _interopRequireDefault(require("md5"));
|
|
|
18
18
|
var _SpruceError = _interopRequireDefault(require("../errors/SpruceError"));
|
|
19
19
|
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; } } }; }
|
|
20
20
|
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); }
|
|
21
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
21
|
+
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; }
|
|
22
22
|
var ImportService = /*#__PURE__*/function () {
|
|
23
23
|
function ImportService(options) {
|
|
24
24
|
var _this = this;
|
|
@@ -31,45 +31,43 @@ var ImportService = /*#__PURE__*/function () {
|
|
|
31
31
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
|
|
32
32
|
var _this$pullHashAndCont, hash, fileContents, isDirty, response;
|
|
33
33
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
34
|
-
while (1) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return _context.stop();
|
|
72
|
-
}
|
|
34
|
+
while (1) switch (_context.prev = _context.next) {
|
|
35
|
+
case 0:
|
|
36
|
+
if (ImportService.isCachingEnabled) {
|
|
37
|
+
_context.next = 2;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
return _context.abrupt("return", _this.importAllUncached(file));
|
|
41
|
+
case 2:
|
|
42
|
+
_this$pullHashAndCont = _this.pullHashAndContents(file), hash = _this$pullHashAndCont.hash, fileContents = _this$pullHashAndCont.fileContents;
|
|
43
|
+
if (_this.hasFileChanged(hash)) {
|
|
44
|
+
_context.next = 12;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
isDirty = _this.haveImportsChanged(file, fileContents);
|
|
48
|
+
if (!(!isDirty && ImportService.cachedImports[hash])) {
|
|
49
|
+
_context.next = 9;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
return _context.abrupt("return", ImportService.cachedImports[hash]);
|
|
53
|
+
case 9:
|
|
54
|
+
if (isDirty) {
|
|
55
|
+
_context.next = 12;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
ImportService.cachedImports[hash] = _this.importAllCached(file);
|
|
59
|
+
return _context.abrupt("return", ImportService.cachedImports[hash]);
|
|
60
|
+
case 12:
|
|
61
|
+
ImportService.cachedImports[hash] = _this.importAllUncached(file);
|
|
62
|
+
_context.next = 15;
|
|
63
|
+
return ImportService.cachedImports[hash];
|
|
64
|
+
case 15:
|
|
65
|
+
response = _context.sent;
|
|
66
|
+
_this.writeCacheFile(hash, response);
|
|
67
|
+
return _context.abrupt("return", response);
|
|
68
|
+
case 18:
|
|
69
|
+
case "end":
|
|
70
|
+
return _context.stop();
|
|
73
71
|
}
|
|
74
72
|
}, _callee);
|
|
75
73
|
}));
|
|
@@ -81,64 +79,62 @@ var ImportService = /*#__PURE__*/function () {
|
|
|
81
79
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(file) {
|
|
82
80
|
var defaultImported, args, _yield$_this$command$, stdout, successParts, errParts, proxyError;
|
|
83
81
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
84
|
-
while (1) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
_context2.next = 2;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
throw new _SpruceError["default"]({
|
|
92
|
-
code: 'FAILED_TO_IMPORT',
|
|
93
|
-
file: file,
|
|
94
|
-
friendlyMessage: "I couldn't import ".concat(file, " because I couldn't find it!")
|
|
95
|
-
});
|
|
96
|
-
case 2:
|
|
97
|
-
args = ['-e', "\"try { const imported = require('".concat(file, "');console.log('").concat(_this.divider, "');console.log(JSON.stringify(imported)); } catch(err) { console.log('").concat(_this.errorDivider, "');console.log(err.options ? err.toString() : err.stack); }\"")];
|
|
98
|
-
if (file.search(/\.ts$/i) > -1) {
|
|
99
|
-
args = ['-r', 'ts-node/register', '-r', 'tsconfig-paths/register'].concat((0, _toConsumableArray2["default"])(args));
|
|
100
|
-
}
|
|
101
|
-
_context2.prev = 4;
|
|
102
|
-
_context2.next = 7;
|
|
103
|
-
return _this.command.execute('node', {
|
|
104
|
-
args: args
|
|
105
|
-
});
|
|
106
|
-
case 7:
|
|
107
|
-
_yield$_this$command$ = _context2.sent;
|
|
108
|
-
stdout = _yield$_this$command$.stdout;
|
|
109
|
-
successParts = stdout.split(_this.divider);
|
|
110
|
-
errParts = stdout.split(_this.errorDivider);
|
|
111
|
-
if (!(errParts.length > 1)) {
|
|
112
|
-
_context2.next = 16;
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
proxyError = _this.buildErrorFromExecuteResponse(errParts, file, stdout);
|
|
116
|
-
throw proxyError;
|
|
117
|
-
case 16:
|
|
118
|
-
defaultImported = JSON.parse(successParts[1]);
|
|
119
|
-
case 17:
|
|
120
|
-
_context2.next = 26;
|
|
82
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
83
|
+
case 0:
|
|
84
|
+
if (_fsExtra["default"].existsSync(file)) {
|
|
85
|
+
_context2.next = 2;
|
|
121
86
|
break;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
87
|
+
}
|
|
88
|
+
throw new _SpruceError["default"]({
|
|
89
|
+
code: 'FAILED_TO_IMPORT',
|
|
90
|
+
file: file,
|
|
91
|
+
friendlyMessage: "I couldn't import ".concat(file, " because I couldn't find it!")
|
|
92
|
+
});
|
|
93
|
+
case 2:
|
|
94
|
+
args = ['-e', "\"try { const imported = require('".concat(file, "');console.log('").concat(_this.divider, "');console.log(JSON.stringify(imported)); } catch(err) { console.log('").concat(_this.errorDivider, "');console.log(err.options ? err.toString() : err.stack); }\"")];
|
|
95
|
+
if (file.search(/\.ts$/i) > -1) {
|
|
96
|
+
args = ['-r', 'ts-node/register', '-r', 'tsconfig-paths/register'].concat((0, _toConsumableArray2["default"])(args));
|
|
97
|
+
}
|
|
98
|
+
_context2.prev = 4;
|
|
99
|
+
_context2.next = 7;
|
|
100
|
+
return _this.command.execute('node', {
|
|
101
|
+
args: args
|
|
102
|
+
});
|
|
103
|
+
case 7:
|
|
104
|
+
_yield$_this$command$ = _context2.sent;
|
|
105
|
+
stdout = _yield$_this$command$.stdout;
|
|
106
|
+
successParts = stdout.split(_this.divider);
|
|
107
|
+
errParts = stdout.split(_this.errorDivider);
|
|
108
|
+
if (!(errParts.length > 1)) {
|
|
109
|
+
_context2.next = 16;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
proxyError = _this.buildErrorFromExecuteResponse(errParts, file, stdout);
|
|
113
|
+
throw proxyError;
|
|
114
|
+
case 16:
|
|
115
|
+
defaultImported = JSON.parse(successParts[1]);
|
|
116
|
+
case 17:
|
|
117
|
+
_context2.next = 26;
|
|
118
|
+
break;
|
|
119
|
+
case 19:
|
|
120
|
+
_context2.prev = 19;
|
|
121
|
+
_context2.t0 = _context2["catch"](4);
|
|
122
|
+
if (!(_context2.t0 instanceof _SpruceError["default"])) {
|
|
123
|
+
_context2.next = 25;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
throw _context2.t0;
|
|
127
|
+
case 25:
|
|
128
|
+
throw new _SpruceError["default"]({
|
|
129
|
+
code: 'FAILED_TO_IMPORT',
|
|
130
|
+
file: file,
|
|
131
|
+
originalError: _context2.t0
|
|
132
|
+
});
|
|
133
|
+
case 26:
|
|
134
|
+
return _context2.abrupt("return", defaultImported);
|
|
135
|
+
case 27:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context2.stop();
|
|
142
138
|
}
|
|
143
139
|
}, _callee2, null, [[4, 19]]);
|
|
144
140
|
}));
|
|
@@ -150,18 +146,16 @@ var ImportService = /*#__PURE__*/function () {
|
|
|
150
146
|
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
151
147
|
var imported;
|
|
152
148
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
153
|
-
while (1) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
return _context3.stop();
|
|
164
|
-
}
|
|
149
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
150
|
+
case 0:
|
|
151
|
+
_context3.next = 2;
|
|
152
|
+
return _this.importAll(file);
|
|
153
|
+
case 2:
|
|
154
|
+
imported = _context3.sent;
|
|
155
|
+
return _context3.abrupt("return", imported["default"]);
|
|
156
|
+
case 4:
|
|
157
|
+
case "end":
|
|
158
|
+
return _context3.stop();
|
|
165
159
|
}
|
|
166
160
|
}, _callee3);
|
|
167
161
|
}));
|
|
@@ -242,94 +236,92 @@ var ImportService = /*#__PURE__*/function () {
|
|
|
242
236
|
var _bulkImport = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(files) {
|
|
243
237
|
var filepath, filename, imports, exports, idx, _iterator, _step, _file, relative, contents, fullPath, results, _iterator2, _step2, file, imported;
|
|
244
238
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
245
|
-
while (1) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
idx++;
|
|
267
|
-
}
|
|
268
|
-
} catch (err) {
|
|
269
|
-
_iterator.e(err);
|
|
270
|
-
} finally {
|
|
271
|
-
_iterator.f();
|
|
272
|
-
}
|
|
273
|
-
exports += ']';
|
|
274
|
-
contents = imports + "\n\n" + exports;
|
|
275
|
-
fullPath = _path["default"].join(filepath, filename);
|
|
276
|
-
_spruceSkillUtils.diskUtil.writeFile(fullPath, contents);
|
|
277
|
-
_context4.prev = 13;
|
|
278
|
-
_context4.next = 16;
|
|
279
|
-
return this.importDefault(fullPath);
|
|
280
|
-
case 16:
|
|
281
|
-
results = _context4.sent;
|
|
282
|
-
return _context4.abrupt("return", results);
|
|
283
|
-
case 20:
|
|
284
|
-
_context4.prev = 20;
|
|
285
|
-
_context4.t0 = _context4["catch"](13);
|
|
286
|
-
// if something failed, lets load one at a time until we find the one that failes
|
|
287
|
-
_iterator2 = _createForOfIteratorHelper(files);
|
|
288
|
-
_context4.prev = 23;
|
|
289
|
-
_iterator2.s();
|
|
290
|
-
case 25:
|
|
291
|
-
if ((_step2 = _iterator2.n()).done) {
|
|
292
|
-
_context4.next = 34;
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
file = _step2.value;
|
|
296
|
-
_context4.next = 29;
|
|
297
|
-
return this.importDefault(file);
|
|
298
|
-
case 29:
|
|
299
|
-
imported = _context4.sent;
|
|
300
|
-
if (imported) {
|
|
301
|
-
_context4.next = 32;
|
|
302
|
-
break;
|
|
239
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
240
|
+
case 0:
|
|
241
|
+
if (!(files.length === 0)) {
|
|
242
|
+
_context4.next = 2;
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
return _context4.abrupt("return", []);
|
|
246
|
+
case 2:
|
|
247
|
+
filepath = _spruceSkillUtils.diskUtil.resolvePath(this.cwd, '.tmp');
|
|
248
|
+
filename = 'bulk-import-' + new Date().getTime() + '.ts';
|
|
249
|
+
imports = "";
|
|
250
|
+
exports = "export default [\n";
|
|
251
|
+
idx = 0;
|
|
252
|
+
_iterator = _createForOfIteratorHelper(files);
|
|
253
|
+
try {
|
|
254
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
255
|
+
_file = _step.value;
|
|
256
|
+
relative = _path["default"].relative(filepath, _file).replace(_path["default"].extname(_file), '');
|
|
257
|
+
imports += "import { default as import".concat(idx, "} from '").concat(relative, "'\n");
|
|
258
|
+
exports += "import".concat(idx, ",\n");
|
|
259
|
+
idx++;
|
|
303
260
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
261
|
+
} catch (err) {
|
|
262
|
+
_iterator.e(err);
|
|
263
|
+
} finally {
|
|
264
|
+
_iterator.f();
|
|
265
|
+
}
|
|
266
|
+
exports += ']';
|
|
267
|
+
contents = imports + "\n\n" + exports;
|
|
268
|
+
fullPath = _path["default"].join(filepath, filename);
|
|
269
|
+
_spruceSkillUtils.diskUtil.writeFile(fullPath, contents);
|
|
270
|
+
_context4.prev = 13;
|
|
271
|
+
_context4.next = 16;
|
|
272
|
+
return this.importDefault(fullPath);
|
|
273
|
+
case 16:
|
|
274
|
+
results = _context4.sent;
|
|
275
|
+
return _context4.abrupt("return", results);
|
|
276
|
+
case 20:
|
|
277
|
+
_context4.prev = 20;
|
|
278
|
+
_context4.t0 = _context4["catch"](13);
|
|
279
|
+
// if something failed, lets load one at a time until we find the one that failes
|
|
280
|
+
_iterator2 = _createForOfIteratorHelper(files);
|
|
281
|
+
_context4.prev = 23;
|
|
282
|
+
_iterator2.s();
|
|
283
|
+
case 25:
|
|
284
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
285
|
+
_context4.next = 34;
|
|
311
286
|
break;
|
|
312
|
-
|
|
313
|
-
|
|
287
|
+
}
|
|
288
|
+
file = _step2.value;
|
|
289
|
+
_context4.next = 29;
|
|
290
|
+
return this.importDefault(file);
|
|
291
|
+
case 29:
|
|
292
|
+
imported = _context4.sent;
|
|
293
|
+
if (imported) {
|
|
294
|
+
_context4.next = 32;
|
|
314
295
|
break;
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
296
|
+
}
|
|
297
|
+
throw new _SpruceError["default"]({
|
|
298
|
+
code: 'FAILED_TO_IMPORT',
|
|
299
|
+
file: file,
|
|
300
|
+
friendlyMessage: "Looks like ".concat(file, " does not export default.")
|
|
301
|
+
});
|
|
302
|
+
case 32:
|
|
303
|
+
_context4.next = 25;
|
|
304
|
+
break;
|
|
305
|
+
case 34:
|
|
306
|
+
_context4.next = 39;
|
|
307
|
+
break;
|
|
308
|
+
case 36:
|
|
309
|
+
_context4.prev = 36;
|
|
310
|
+
_context4.t1 = _context4["catch"](23);
|
|
311
|
+
_iterator2.e(_context4.t1);
|
|
312
|
+
case 39:
|
|
313
|
+
_context4.prev = 39;
|
|
314
|
+
_iterator2.f();
|
|
315
|
+
return _context4.finish(39);
|
|
316
|
+
case 42:
|
|
317
|
+
throw _context4.t0;
|
|
318
|
+
case 43:
|
|
319
|
+
_context4.prev = 43;
|
|
320
|
+
_spruceSkillUtils.diskUtil.deleteDir(filepath);
|
|
321
|
+
return _context4.finish(43);
|
|
322
|
+
case 46:
|
|
323
|
+
case "end":
|
|
324
|
+
return _context4.stop();
|
|
333
325
|
}
|
|
334
326
|
}, _callee4, this, [[13, 20, 43, 46], [23, 36, 39, 42]]);
|
|
335
327
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportService.js","names":["ImportService","options","file","isCachingEnabled","importAllUncached","pullHashAndContents","hash","fileContents","hasFileChanged","isDirty","haveImportsChanged","cachedImports","importAllCached","response","writeCacheFile","fs","existsSync","SpruceError","code","friendlyMessage","args","divider","errorDivider","search","command","execute","stdout","successParts","split","errParts","length","proxyError","buildErrorFromExecuteResponse","defaultImported","JSON","parse","originalError","importAll","imported","cwd","originalFilepath","contents","changed","importMatches","regex","exec","match","dir","pathUtil","dirname","nodeResolved","require","resolve","join","destination","resolveCacheFile","diskUtil","writeFile","stringify","cacheFile","readFile","err","Error","stack","files","filepath","resolvePath","filename","Date","getTime","imports","exports","idx","relative","replace","extname","fullPath","importDefault","results","deleteDir","resolvedFilePath","doesFileExist","cacheDir","md5","importCacheDir","createTempDir"],"sources":["../../src/services/ImportService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport fs from 'fs-extra'\nimport md5 from 'md5'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class ImportService {\n\tpublic cwd: string\n\n\tprivate divider = '## SPRUCE-CLI DIVIDER ##'\n\tprivate errorDivider = '## SPRUCE-CLI ERROR DIVIDER ##'\n\n\tprivate static cachedImports: Record<string, Record<string, any>> = {}\n\tprivate static importCacheDir: string =\n\t\tdiskUtil.createTempDir('import-service')\n\tprivate command: CommandService\n\tprivate static isCachingEnabled: boolean\n\n\tpublic constructor(options: { cwd: string; command: CommandService }) {\n\t\tthis.cwd = options.cwd\n\t\tthis.command = options.command\n\t}\n\n\tpublic importAll = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tif (!ImportService.isCachingEnabled) {\n\t\t\treturn this.importAllUncached(file)\n\t\t}\n\n\t\tconst { hash, fileContents } = this.pullHashAndContents(file)\n\n\t\tif (!this.hasFileChanged(hash)) {\n\t\t\tconst isDirty = this.haveImportsChanged(file, fileContents)\n\n\t\t\tif (!isDirty && ImportService.cachedImports[hash]) {\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t} else if (!isDirty) {\n\t\t\t\tImportService.cachedImports[hash] = this.importAllCached(file)\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t}\n\t\t}\n\n\t\tImportService.cachedImports[hash] = this.importAllUncached(file)\n\t\tconst response = (await ImportService.cachedImports[hash]) as T\n\t\tthis.writeCacheFile(hash, response)\n\n\t\treturn response\n\t}\n\n\tprivate haveImportsChanged(\n\t\toriginalFilepath: string,\n\t\tcontents: string\n\t): boolean {\n\t\tlet changed = false\n\t\tlet importMatches\n\n\t\t// only check files that start with dot because they are local and we can actually only check local files\n\t\tconst regex =\n\t\t\toriginalFilepath.search(/\\.js$/i) > -1\n\t\t\t\t? /require\\(['\"](\\..*?)['\"]\\)/gis\n\t\t\t\t: /import.*[\"'](\\..*?)[\"']/gis\n\n\t\twhile ((importMatches = regex.exec(contents)) !== null) {\n\t\t\ttry {\n\t\t\t\tconst match = importMatches[1]\n\t\t\t\tconst dir = pathUtil.dirname(originalFilepath)\n\t\t\t\tconst nodeResolved = require.resolve(pathUtil.join(dir, match))\n\t\t\t\tconst { hash } = this.pullHashAndContents(nodeResolved)\n\n\t\t\t\tif (this.hasFileChanged(hash)) {\n\t\t\t\t\tchanged = true\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t}\n\n\t\treturn changed\n\t}\n\n\tprivate writeCacheFile(hash: string, contents: Record<string, any>) {\n\t\tconst destination = this.resolveCacheFile(hash)\n\t\tdiskUtil.writeFile(destination, JSON.stringify(contents))\n\t}\n\n\tprivate importAllCached(file: string) {\n\t\tconst { hash } = this.pullHashAndContents(file)\n\n\t\tconst cacheFile = this.resolveCacheFile(hash)\n\t\tconst contents = diskUtil.readFile(cacheFile)\n\n\t\treturn JSON.parse(contents)\n\t}\n\n\tprivate importAllUncached = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tlet defaultImported: T | undefined\n\n\t\tif (!fs.existsSync(file)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile,\n\t\t\t\tfriendlyMessage: `I couldn't import ${file} because I couldn't find it!`,\n\t\t\t})\n\t\t}\n\n\t\tlet args = [\n\t\t\t'-e',\n\t\t\t`\"try { const imported = require('${file}');console.log('${this.divider}');console.log(JSON.stringify(imported)); } catch(err) { console.log('${this.errorDivider}');console.log(err.options ? err.toString() : err.stack); }\"`,\n\t\t]\n\n\t\tif (file.search(/\\.ts$/i) > -1) {\n\t\t\targs = [\n\t\t\t\t'-r',\n\t\t\t\t'ts-node/register',\n\t\t\t\t'-r',\n\t\t\t\t'tsconfig-paths/register',\n\t\t\t\t...args,\n\t\t\t]\n\t\t}\n\n\t\ttry {\n\t\t\tconst { stdout } = await this.command.execute('node', {\n\t\t\t\targs,\n\t\t\t})\n\n\t\t\tconst successParts = stdout.split(this.divider)\n\t\t\tconst errParts = stdout.split(this.errorDivider)\n\n\t\t\tif (errParts.length > 1) {\n\t\t\t\tconst proxyError = this.buildErrorFromExecuteResponse(\n\t\t\t\t\terrParts,\n\t\t\t\t\tfile,\n\t\t\t\t\tstdout\n\t\t\t\t)\n\n\t\t\t\tthrow proxyError\n\t\t\t} else {\n\t\t\t\tdefaultImported = JSON.parse(successParts[1])\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (err instanceof SpruceError) {\n\t\t\t\tthrow err\n\t\t\t} else {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\toriginalError: err,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn defaultImported as T\n\t}\n\n\tpublic importDefault = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tconst imported: any = await this.importAll(file)\n\t\treturn imported.default as T\n\t}\n\n\tprivate buildErrorFromExecuteResponse(\n\t\terrParts: string[],\n\t\tfile: string,\n\t\tstdout: string\n\t) {\n\t\tlet err: Record<string, any> = {}\n\t\ttry {\n\t\t\terr = JSON.parse(errParts[1])\n\t\t\tif (!err.options) {\n\t\t\t\tthrow Error('Capture and reported below')\n\t\t\t}\n\t\t} catch {\n\t\t\terr = {\n\t\t\t\toptions: {\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\tfriendlyMessage: `Unknown error from import, output was: \\n\\n\"${\n\t\t\t\t\t\terrParts[1] ?? stdout\n\t\t\t\t\t}\"`,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst proxyError = new SpruceError(err.options)\n\n\t\tif (err.stack) {\n\t\t\tproxyError.stack = err.stack\n\t\t}\n\t\treturn proxyError\n\t}\n\n\tpublic async bulkImport(files: string[]): Promise<any[]> {\n\t\tif (files.length === 0) {\n\t\t\treturn []\n\t\t}\n\t\tconst filepath = diskUtil.resolvePath(this.cwd, '.tmp')\n\t\tconst filename = 'bulk-import-' + new Date().getTime() + '.ts'\n\n\t\tlet imports = ``\n\t\tlet exports = `export default [\\n`\n\n\t\tlet idx = 0\n\t\tfor (const file of files) {\n\t\t\tconst relative = pathUtil\n\t\t\t\t.relative(filepath, file)\n\t\t\t\t.replace(pathUtil.extname(file), '')\n\n\t\t\timports += `import { default as import${idx}} from '${relative}'\\n`\n\t\t\texports += `import${idx},\\n`\n\t\t\tidx++\n\t\t}\n\n\t\texports += ']'\n\n\t\tconst contents = imports + `\\n\\n` + exports\n\t\tconst fullPath = pathUtil.join(filepath, filename)\n\t\tdiskUtil.writeFile(fullPath, contents)\n\n\t\ttry {\n\t\t\tconst results = (await this.importDefault(fullPath)) as any[]\n\n\t\t\treturn results as any\n\t\t} catch (err) {\n\t\t\t// if something failed, lets load one at a time until we find the one that failes\n\t\t\tfor (const file of files) {\n\t\t\t\tconst imported = await this.importDefault(file)\n\t\t\t\tif (!imported) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tfriendlyMessage: `Looks like ${file} does not export default.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow err\n\t\t} finally {\n\t\t\tdiskUtil.deleteDir(filepath)\n\t\t}\n\t}\n\n\tpublic static clearCache() {\n\t\tImportService.cachedImports = {}\n\t\tdiskUtil.deleteDir(this.cacheDir())\n\t}\n\n\tpublic static setCacheDir(cacheDir: string) {\n\t\tthis.importCacheDir = cacheDir\n\t}\n\n\tpublic static disableCache() {\n\t\tthis.isCachingEnabled = false\n\t}\n\n\tpublic static enableCaching() {\n\t\tthis.isCachingEnabled = true\n\t}\n\n\tprivate hasFileChanged(hash: string) {\n\t\tconst resolvedFilePath = this.resolveCacheFile(hash)\n\t\treturn !diskUtil.doesFileExist(resolvedFilePath)\n\t}\n\n\tprivate resolveCacheFile(hash: string) {\n\t\treturn diskUtil.resolvePath(ImportService.cacheDir(), hash + '.json')\n\t}\n\n\tprivate static cacheDir(): string {\n\t\treturn this.importCacheDir\n\t}\n\n\tprivate pullHashAndContents(file: string) {\n\t\tconst fileContents = diskUtil.readFile(file)\n\t\tconst hash = md5(fileContents)\n\t\treturn { hash, fileContents }\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ImportService.js","names":["_path","_interopRequireDefault","require","_spruceSkillUtils","_fsExtra","_md","_SpruceError","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ImportService","options","_this","_classCallCheck2","_defineProperty2","_ref","_asyncToGenerator2","_regenerator","mark","_callee","file","_this$pullHashAndCont","hash","fileContents","isDirty","response","wrap","_callee$","_context","prev","isCachingEnabled","abrupt","importAllUncached","pullHashAndContents","hasFileChanged","haveImportsChanged","cachedImports","importAllCached","sent","writeCacheFile","stop","_x","apply","arguments","_ref2","_callee2","defaultImported","args","_yield$_this$command$","stdout","successParts","errParts","proxyError","_callee2$","_context2","fs","existsSync","SpruceError","code","friendlyMessage","concat","divider","errorDivider","search","_toConsumableArray2","command","execute","split","buildErrorFromExecuteResponse","JSON","parse","t0","originalError","_x2","_ref3","_callee3","imported","_callee3$","_context3","importAll","_x3","cwd","_createClass2","key","originalFilepath","contents","changed","importMatches","regex","exec","match","dir","pathUtil","dirname","nodeResolved","resolve","join","_this$pullHashAndCont2","_unused","destination","resolveCacheFile","diskUtil","writeFile","stringify","_this$pullHashAndCont3","cacheFile","readFile","Error","_unused2","_errParts$","stack","_bulkImport","_callee4","files","filepath","filename","imports","exports","idx","_iterator","_step","_file","relative","fullPath","results","_iterator2","_step2","_callee4$","_context4","resolvePath","Date","getTime","replace","extname","importDefault","t1","finish","deleteDir","bulkImport","_x4","resolvedFilePath","doesFileExist","cacheDir","md5","clearCache","setCacheDir","importCacheDir","disableCache","enableCaching","createTempDir"],"sources":["../../src/services/ImportService.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport fs from 'fs-extra'\nimport md5 from 'md5'\nimport SpruceError from '../errors/SpruceError'\nimport CommandService from './CommandService'\n\nexport default class ImportService {\n\tpublic cwd: string\n\n\tprivate divider = '## SPRUCE-CLI DIVIDER ##'\n\tprivate errorDivider = '## SPRUCE-CLI ERROR DIVIDER ##'\n\n\tprivate static cachedImports: Record<string, Record<string, any>> = {}\n\tprivate static importCacheDir: string =\n\t\tdiskUtil.createTempDir('import-service')\n\tprivate command: CommandService\n\tprivate static isCachingEnabled: boolean\n\n\tpublic constructor(options: { cwd: string; command: CommandService }) {\n\t\tthis.cwd = options.cwd\n\t\tthis.command = options.command\n\t}\n\n\tpublic importAll = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tif (!ImportService.isCachingEnabled) {\n\t\t\treturn this.importAllUncached(file)\n\t\t}\n\n\t\tconst { hash, fileContents } = this.pullHashAndContents(file)\n\n\t\tif (!this.hasFileChanged(hash)) {\n\t\t\tconst isDirty = this.haveImportsChanged(file, fileContents)\n\n\t\t\tif (!isDirty && ImportService.cachedImports[hash]) {\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t} else if (!isDirty) {\n\t\t\t\tImportService.cachedImports[hash] = this.importAllCached(file)\n\t\t\t\treturn ImportService.cachedImports[hash] as T\n\t\t\t}\n\t\t}\n\n\t\tImportService.cachedImports[hash] = this.importAllUncached(file)\n\t\tconst response = (await ImportService.cachedImports[hash]) as T\n\t\tthis.writeCacheFile(hash, response)\n\n\t\treturn response\n\t}\n\n\tprivate haveImportsChanged(\n\t\toriginalFilepath: string,\n\t\tcontents: string\n\t): boolean {\n\t\tlet changed = false\n\t\tlet importMatches\n\n\t\t// only check files that start with dot because they are local and we can actually only check local files\n\t\tconst regex =\n\t\t\toriginalFilepath.search(/\\.js$/i) > -1\n\t\t\t\t? /require\\(['\"](\\..*?)['\"]\\)/gis\n\t\t\t\t: /import.*[\"'](\\..*?)[\"']/gis\n\n\t\twhile ((importMatches = regex.exec(contents)) !== null) {\n\t\t\ttry {\n\t\t\t\tconst match = importMatches[1]\n\t\t\t\tconst dir = pathUtil.dirname(originalFilepath)\n\t\t\t\tconst nodeResolved = require.resolve(pathUtil.join(dir, match))\n\t\t\t\tconst { hash } = this.pullHashAndContents(nodeResolved)\n\n\t\t\t\tif (this.hasFileChanged(hash)) {\n\t\t\t\t\tchanged = true\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t}\n\n\t\treturn changed\n\t}\n\n\tprivate writeCacheFile(hash: string, contents: Record<string, any>) {\n\t\tconst destination = this.resolveCacheFile(hash)\n\t\tdiskUtil.writeFile(destination, JSON.stringify(contents))\n\t}\n\n\tprivate importAllCached(file: string) {\n\t\tconst { hash } = this.pullHashAndContents(file)\n\n\t\tconst cacheFile = this.resolveCacheFile(hash)\n\t\tconst contents = diskUtil.readFile(cacheFile)\n\n\t\treturn JSON.parse(contents)\n\t}\n\n\tprivate importAllUncached = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tlet defaultImported: T | undefined\n\n\t\tif (!fs.existsSync(file)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile,\n\t\t\t\tfriendlyMessage: `I couldn't import ${file} because I couldn't find it!`,\n\t\t\t})\n\t\t}\n\n\t\tlet args = [\n\t\t\t'-e',\n\t\t\t`\"try { const imported = require('${file}');console.log('${this.divider}');console.log(JSON.stringify(imported)); } catch(err) { console.log('${this.errorDivider}');console.log(err.options ? err.toString() : err.stack); }\"`,\n\t\t]\n\n\t\tif (file.search(/\\.ts$/i) > -1) {\n\t\t\targs = [\n\t\t\t\t'-r',\n\t\t\t\t'ts-node/register',\n\t\t\t\t'-r',\n\t\t\t\t'tsconfig-paths/register',\n\t\t\t\t...args,\n\t\t\t]\n\t\t}\n\n\t\ttry {\n\t\t\tconst { stdout } = await this.command.execute('node', {\n\t\t\t\targs,\n\t\t\t})\n\n\t\t\tconst successParts = stdout.split(this.divider)\n\t\t\tconst errParts = stdout.split(this.errorDivider)\n\n\t\t\tif (errParts.length > 1) {\n\t\t\t\tconst proxyError = this.buildErrorFromExecuteResponse(\n\t\t\t\t\terrParts,\n\t\t\t\t\tfile,\n\t\t\t\t\tstdout\n\t\t\t\t)\n\n\t\t\t\tthrow proxyError\n\t\t\t} else {\n\t\t\t\tdefaultImported = JSON.parse(successParts[1])\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tif (err instanceof SpruceError) {\n\t\t\t\tthrow err\n\t\t\t} else {\n\t\t\t\tthrow new SpruceError({\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\toriginalError: err,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\treturn defaultImported as T\n\t}\n\n\tpublic importDefault = async <T extends Record<string, any>>(\n\t\tfile: string\n\t): Promise<T> => {\n\t\tconst imported: any = await this.importAll(file)\n\t\treturn imported.default as T\n\t}\n\n\tprivate buildErrorFromExecuteResponse(\n\t\terrParts: string[],\n\t\tfile: string,\n\t\tstdout: string\n\t) {\n\t\tlet err: Record<string, any> = {}\n\t\ttry {\n\t\t\terr = JSON.parse(errParts[1])\n\t\t\tif (!err.options) {\n\t\t\t\tthrow Error('Capture and reported below')\n\t\t\t}\n\t\t} catch {\n\t\t\terr = {\n\t\t\t\toptions: {\n\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\tfile,\n\t\t\t\t\tfriendlyMessage: `Unknown error from import, output was: \\n\\n\"${\n\t\t\t\t\t\terrParts[1] ?? stdout\n\t\t\t\t\t}\"`,\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\n\t\tconst proxyError = new SpruceError(err.options)\n\n\t\tif (err.stack) {\n\t\t\tproxyError.stack = err.stack\n\t\t}\n\t\treturn proxyError\n\t}\n\n\tpublic async bulkImport(files: string[]): Promise<any[]> {\n\t\tif (files.length === 0) {\n\t\t\treturn []\n\t\t}\n\t\tconst filepath = diskUtil.resolvePath(this.cwd, '.tmp')\n\t\tconst filename = 'bulk-import-' + new Date().getTime() + '.ts'\n\n\t\tlet imports = ``\n\t\tlet exports = `export default [\\n`\n\n\t\tlet idx = 0\n\t\tfor (const file of files) {\n\t\t\tconst relative = pathUtil\n\t\t\t\t.relative(filepath, file)\n\t\t\t\t.replace(pathUtil.extname(file), '')\n\n\t\t\timports += `import { default as import${idx}} from '${relative}'\\n`\n\t\t\texports += `import${idx},\\n`\n\t\t\tidx++\n\t\t}\n\n\t\texports += ']'\n\n\t\tconst contents = imports + `\\n\\n` + exports\n\t\tconst fullPath = pathUtil.join(filepath, filename)\n\t\tdiskUtil.writeFile(fullPath, contents)\n\n\t\ttry {\n\t\t\tconst results = (await this.importDefault(fullPath)) as any[]\n\n\t\t\treturn results as any\n\t\t} catch (err) {\n\t\t\t// if something failed, lets load one at a time until we find the one that failes\n\t\t\tfor (const file of files) {\n\t\t\t\tconst imported = await this.importDefault(file)\n\t\t\t\tif (!imported) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tfriendlyMessage: `Looks like ${file} does not export default.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow err\n\t\t} finally {\n\t\t\tdiskUtil.deleteDir(filepath)\n\t\t}\n\t}\n\n\tpublic static clearCache() {\n\t\tImportService.cachedImports = {}\n\t\tdiskUtil.deleteDir(this.cacheDir())\n\t}\n\n\tpublic static setCacheDir(cacheDir: string) {\n\t\tthis.importCacheDir = cacheDir\n\t}\n\n\tpublic static disableCache() {\n\t\tthis.isCachingEnabled = false\n\t}\n\n\tpublic static enableCaching() {\n\t\tthis.isCachingEnabled = true\n\t}\n\n\tprivate hasFileChanged(hash: string) {\n\t\tconst resolvedFilePath = this.resolveCacheFile(hash)\n\t\treturn !diskUtil.doesFileExist(resolvedFilePath)\n\t}\n\n\tprivate resolveCacheFile(hash: string) {\n\t\treturn diskUtil.resolvePath(ImportService.cacheDir(), hash + '.json')\n\t}\n\n\tprivate static cacheDir(): string {\n\t\treturn this.importCacheDir\n\t}\n\n\tprivate pullHashAndContents(file: string) {\n\t\tconst fileContents = diskUtil.readFile(file)\n\t\tconst hash = md5(fileContents)\n\t\treturn { hash, fileContents }\n\t}\n}\n"],"mappings":"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"}
|