@sprucelabs/spruce-cli 15.2.23 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/build/.spruce/errors/errors.types.js.map +1 -1
- package/build/.spruce/errors/options.types.js.map +1 -1
- 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/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/registerSkillViews.v2021_02_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/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/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/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/fullMessageChoices.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/profileImage.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/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/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 +3 -1
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
- package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- 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.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
- package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
- package/build/__tests__/implementation/EventStore.test.js +68 -35
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +2 -2
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
- package/build/__tests__/implementation/ListenerStore.test.js +56 -0
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +2 -2
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +2 -2
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/onTestFileResult.js.map +1 -1
- 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/cli.js +1 -1
- package/build/cli.js.map +1 -1
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.js.map +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.map +1 -1
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- 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.map +1 -1
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js.map +1 -1
- 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.map +1 -1
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +1 -0
- package/build/features/event/EventFeature.js +89 -56
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.d.ts +1 -0
- package/build/features/event/actions/ListenAction.js +23 -31
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js.map +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.d.ts +7 -5
- package/build/features/event/stores/EventStore.js +16 -8
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.d.ts +1 -0
- package/build/features/event/stores/ListenerStore.js +6 -1
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- 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.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js.map +1 -1
- 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.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.d.ts +1 -1
- package/build/features/store/StoreFeature.js +15 -14
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.d.ts +1 -0
- package/build/features/store/stores/StoreStore.js +6 -1
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/test.types.js.map +1 -1
- 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.d.ts +2 -2
- package/build/features/validateAndNormalize.utility.js +2 -2
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.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/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.map +1 -1
- package/build/services/CommandService.d.ts +1 -1
- package/build/services/CommandService.js +2 -2
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +2 -0
- package/build/tests/AbstractCliTest.js +9 -2
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.d.ts +8 -0
- package/build/tests/CommandFaker.js +54 -0
- package/build/tests/CommandFaker.js.map +1 -0
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js +9 -10
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.d.ts +8 -0
- package/build/tests/constants.js +28 -0
- package/build/tests/constants.js.map +1 -0
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- 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.map +1 -1
- package/build/types/apiClient.types.js.map +1 -1
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- 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.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.map +1 -1
- package/build/utilities/form.utility.js.map +1 -1
- 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.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +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.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js.map +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/layout.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/progressBar.types.js.map +1 -1
- package/build/widgets/types/table.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/widgets.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.map +1 -1
- package/build/writers/WriterFactory.js.map +1 -1
- package/package.json +72 -72
- package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
- package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
- package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
- package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
- package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
- package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
- package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
- package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
- package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
- package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
- package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
- package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
- package/src/__tests__/implementation/EventStore.test.ts +17 -1
- package/src/__tests__/implementation/LintService.test.ts +2 -2
- package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
- package/src/__tests__/implementation/PkgService.test.ts +4 -7
- package/src/__tests__/implementation/StoreFeature.test.ts +2 -2
- package/src/cli.ts +1 -1
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/event/EventFeature.ts +14 -11
- package/src/features/event/actions/ListenAction.ts +22 -12
- package/src/features/event/builders/EventContractBuilder.ts +2 -2
- package/src/features/event/stores/EventStore.ts +28 -20
- package/src/features/event/stores/ListenerStore.ts +5 -3
- package/src/features/store/StoreFeature.ts +7 -6
- package/src/features/store/stores/StoreStore.ts +5 -1
- package/src/features/validateAndNormalize.utility.ts +2 -2
- package/src/services/CommandService.ts +1 -4
- package/src/tests/AbstractCliTest.ts +6 -1
- package/src/tests/CommandFaker.ts +24 -0
- package/src/tests/cleanTestData.ts +2 -19
- package/src/tests/constants.ts +17 -0
- package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
- package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
- package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
- package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"WhoamiAction.js","names":["optionsSchema","id","description","fields","WhoAmIAction","connectToApi","client","emit","results","eventResponseUtil","getFirstResponseOrThrow","type","auth","summaryLines","push","person","casualName","AbstractAction"],"sources":["../../../../src/features/person/actions/WhoamiAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'whoAmI',\n\tdescription: \"Check who you're logged in as.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class WhoAmIAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['whoami']\n\tpublic invocationMessage = 'Determining identity... 🤝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('whoami::v2020_12_25')\n\t\tconst { type, auth } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tconst summaryLines: string[] = []\n\n\t\tif (type === 'anonymous') {\n\t\t\tsummaryLines.push('You are not logged in.')\n\t\t} else if (auth.person) {\n\t\t\tsummaryLines.push(`You are logged in as a person.`)\n\t\t\tsummaryLines.push(`Name: ${auth.person.casualName}`)\n\t\t}\n\n\t\treturn {\n\t\t\tsummaryLines,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,QAD6B;EAEjCC,WAAW,EAAE,gCAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,Y;;;;;;;;;;;;;;;sGACkBJ,a;uGACd,CAAC,QAAD,C;0GACG,4B;;;;;;;mGAE3B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAKK,YAAL,EADtB;;cAAA;gBACOC,MADP;gBAAA;gBAAA,OAGuBA,MAAM,CAACC,IAAP,CAAY,qBAAZ,CAHvB;;cAAA;gBAGOC,OAHP;gBAAA,wBAIwBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAJxB,EAISG,IAJT,yBAISA,IAJT,EAIeC,IAJf,yBAIeA,IAJf;gBAMOC,YANP,GAMgC,EANhC;;gBAQC,IAAIF,IAAI,KAAK,WAAb,EAA0B;kBACzBE,YAAY,CAACC,IAAb,CAAkB,wBAAlB;gBACA,CAFD,MAEO,IAAIF,IAAI,CAACG,MAAT,EAAiB;kBACvBF,YAAY,CAACC,IAAb;kBACAD,YAAY,CAACC,IAAb,iBAA2BF,IAAI,CAACG,MAAL,CAAYC,UAAvC;gBACA;;gBAbF,iCAeQ;kBACNH,YAAY,EAAZA;gBADM,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCI,2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SandboxFeature.js","names":["SandboxFeature","options","code","isRequired","diskUtil","resolvePath","__dirname","emitter","on","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","AbstractFeature"],"sources":["../../../src/features/sandbox/SandboxFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tsandbox: SandboxFeature\n\t}\n}\n\nexport default class SandboxFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'sandbox'\n\tpublic nameReadable = 'Sandbox'\n\tpublic description =\n\t\t'For getting your skill up-and-running on sandbox.mercury.spruce.ai.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\t'sandbox'\n\t\t\t)\n\t\t\tif (\n\t\t\t\tisSkillInstalled &&\n\t\t\t\tpayload.featureCode === 'node' &&\n\t\t\t\tpayload.actionCode === 'upgrade'\n\t\t\t) {\n\t\t\t\tuiUtil.renderMasthead({\n\t\t\t\t\tui: this.ui,\n\t\t\t\t\theadline: 'Updating sandbox support...',\n\t\t\t\t})\n\n\t\t\t\treturn this.Action('sandbox', 'setup').execute({})\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IASqBA,c;;;;;EAcpB,wBAAmBC,OAAnB,EAA2C;IAAA;;IAAA;IAC1C,0BAAMA,OAAN;IAD0C,yFAbhB,SAagB;IAAA,iGAZrB,SAYqB;IAAA,gGAV1C,qEAU0C;IAAA,iGATA,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,CASA;IAAA,wGAHd,EAGc;IAAA,+FAFvBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEuB;IAG1C,KAAK,MAAKC,OAAL,CAAaC,EAAb,CAAgB,sBAAhB;MAAA,yFAAwC,iBAAOC,OAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACb,MAAKC,gBAAL,CAAsBC,WAAtB,CAC9B,SAD8B,CADa;;cAAA;gBACtCC,gBADsC;;gBAAA,MAK3CA,gBAAgB,IAChBH,OAAO,CAACI,WAAR,KAAwB,MADxB,IAEAJ,OAAO,CAACK,UAAR,KAAuB,SAPoB;kBAAA;kBAAA;gBAAA;;gBAS3CC,eAAOC,cAAP,CAAsB;kBACrBC,EAAE,EAAE,MAAKA,EADY;kBAErBC,QAAQ,EAAE;gBAFW,CAAtB;;gBAT2C,iCAcpC,MAAKC,MAAL,CAAY,SAAZ,EAAuB,OAAvB,EAAgCC,OAAhC,CAAwC,EAAxC,CAdoC;;cAAA;gBAAA,iCAiBrC,EAjBqC;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAxC;;MAAA;QAAA;MAAA;IAAA,IAAL;IAH0C;EAsB1C;;;EApC0CC,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SetupAction.js","names":["optionsSchema","id","name","fields","SetupAction","setupVscodeSchema","listeners","Store","loadListeners","existing","version","find","e","eventNamespace","createListenerAction","Action","execute","namespace","eventName","versionUtil","generateVersion","dirValue","results","errors","match","files","file","search","Error","description","Writer","writeDidBootListener","path","AbstractAction"],"sources":["../../../../src/features/sandbox/actions/SetupAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport setupVscodeSchema from '#spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setupSandboxOptions',\n\tname: 'Setup sandbox options',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class SetupAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = setupVscodeSchema\n\tpublic invocationMessage = 'Setting up sandbox support... 🏝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst listeners = this.Store('listener')\n\t\tconst existing = await listeners.loadListeners()\n\t\tconst version = existing.find((e) => e.eventNamespace === 'skill')?.version\n\n\t\tconst createListenerAction = this.Action('event', 'listen')\n\t\tconst results = await createListenerAction.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion: version ?? versionUtil.generateVersion().dirValue,\n\t\t})\n\n\t\tif (results.errors) {\n\t\t\treturn results\n\t\t}\n\n\t\tconst match = (results.files ?? []).find(\n\t\t\t(file) => file.name.search('will-boot') === 0\n\t\t)\n\n\t\tif (!match) {\n\t\t\tthrow new Error('file was not generated')\n\t\t}\n\n\t\tmatch.description = 'Used for recovering from a sandbox reset.'\n\n\t\tawait this.Writer('sandbox').writeDidBootListener(match.path)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,qBAD6B;EAEjCC,IAAI,EAAE,uBAF2B;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,W;;;;;;;;;;;;;;;sGACGC,8B;0GACI,kC;;;;;;;mGAE3B;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,SADP,GACmB,KAAKC,KAAL,CAAW,UAAX,CADnB;gBAAA;gBAAA,OAEwBD,SAAS,CAACE,aAAV,EAFxB;;cAAA;gBAEOC,QAFP;gBAGOC,OAHP,qBAGiBD,QAAQ,CAACE,IAAT,CAAc,UAACC,CAAD;kBAAA,OAAOA,CAAC,CAACC,cAAF,KAAqB,OAA5B;gBAAA,CAAd,CAHjB,mDAGiB,eAAoDH,OAHrE;gBAKOI,oBALP,GAK8B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,CAL9B;gBAAA;gBAAA,OAMuBD,oBAAoB,CAACE,OAArB,CAA6B;kBAClDC,SAAS,EAAE,OADuC;kBAElDC,SAAS,EAAE,WAFuC;kBAGlDR,OAAO,EAAEA,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAaS,8BAAYC,eAAZ,GAA8BC;gBAHA,CAA7B,CANvB;;cAAA;gBAMOC,OANP;;gBAAA,KAYKA,OAAO,CAACC,MAZb;kBAAA;kBAAA;gBAAA;;gBAAA,iCAaSD,OAbT;;cAAA;gBAgBOE,KAhBP,GAgBe,mBAACF,OAAO,CAACG,KAAT,2DAAkB,EAAlB,EAAsBd,IAAtB,CACb,UAACe,IAAD;kBAAA,OAAUA,IAAI,CAACxB,IAAL,CAAUyB,MAAV,CAAiB,WAAjB,MAAkC,CAA5C;gBAAA,CADa,CAhBf;;gBAAA,IAoBMH,KApBN;kBAAA;kBAAA;gBAAA;;gBAAA,MAqBQ,IAAII,KAAJ,CAAU,wBAAV,CArBR;;cAAA;gBAwBCJ,KAAK,CAACK,WAAN,GAAoB,2CAApB;gBAxBD;gBAAA,OA0BO,KAAKC,MAAL,CAAY,SAAZ,EAAuBC,oBAAvB,CAA4CP,KAAK,CAACQ,IAAlD,CA1BP;;cAAA;gBAAA,iCA4BQV,OA5BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJwCW,2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SandboxWriter.js","names":["SandboxWriter","filepath","newContents","templates","sandboxWillBootListener","diskUtil","writeFile","lint","AbstractWriter"],"sources":["../../../../src/features/sandbox/writers/SandboxWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class SandboxWriter extends AbstractWriter {\n\tpublic async writeDidBootListener(filepath: string) {\n\t\tconst newContents = this.templates.sandboxWillBootListener()\n\n\t\tdiskUtil.writeFile(filepath, newContents)\n\n\t\tawait this.lint(filepath)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;gHACpB,iBAAkCC,QAAlC;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,WADP,GACqB,KAAKC,SAAL,CAAeC,uBAAf,EADrB;;gBAGCC,2BAASC,SAAT,CAAmBL,QAAnB,EAA6BC,WAA7B;;gBAHD;gBAAA,OAKO,KAAKK,IAAL,CAAUN,QAAV,CALP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CO,2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SchemaFeature.js","names":["SchemaFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecute","bind","handleDidExecute","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","writePlugin","files","Store","hasLocalSchemas","Action","execute","results","Writer","cwd","AbstractFeature"],"sources":["../../../src/features/schema/SchemaFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tschema: SchemaFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tschema: undefined\n\t}\n}\n\nexport default class SchemaFeature extends AbstractFeature {\n\tpublic nameReadable = 'Schema'\n\tpublic description = 'Define, validate, and normalize everything.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/schema@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-core-schemas@latest',\n\t\t},\n\t\t{ name: '@sprucelabs/resolve-path-aliases@latest', isDev: true },\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-skill-utils',\n\t\t},\n\t]\n\n\tpublic code: FeatureCode = 'schema'\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled &&\n\t\t\tisSkillInstalled\n\t\t) {\n\t\t\tconst files = await this.writePlugin()\n\t\t\treturn { files }\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled\n\t\t) {\n\t\t\tconst hasLocalSchemas = await this.Store('schema').hasLocalSchemas()\n\t\t\tif (hasLocalSchemas) {\n\t\t\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isSkillInstalled) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.Writer('schema').writePlugin(this.cwd)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ValueTypeBuilder.js","names":["ValueTypeBuilder","schemaGenerator","importService","writer","options","resolvedDestination","fieldTemplateItems","schemaTemplateItems","globalSchemaNamespace","length","writeValueTypes","valueTypeResults","importDefault","path","valueTypes","diskUtil","deleteFile"],"sources":["../../../src/features/schema/ValueTypeBuilder.ts"],"sourcesContent":["import { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport ImportService from '../../services/ImportService'\nimport SchemaWriter from './writers/SchemaWriter'\n\nexport default class ValueTypeBuilder {\n\tprivate writer: SchemaWriter\n\tprivate importService: ImportService\n\n\tpublic constructor(\n\t\tschemaGenerator: SchemaWriter,\n\t\timportService: ImportService\n\t) {\n\t\tthis.writer = schemaGenerator\n\t\tthis.importService = importService\n\t}\n\n\tpublic async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tconst {\n\t\t\tresolvedDestination,\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tglobalSchemaNamespace,\n\t\t} = options\n\n\t\tif (schemaTemplateItems.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst valueTypeResults = await this.writer.writeValueTypes(\n\t\t\tresolvedDestination,\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tglobalSchemaNamespace,\n\t\t\t}\n\t\t)\n\n\t\tconst valueTypes: ValueTypes = await this.importService.importDefault(\n\t\t\tvalueTypeResults[0].path\n\t\t)\n\n\t\tdiskUtil.deleteFile(valueTypeResults[0].path)\n\n\t\treturn valueTypes\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;IAKqBA,gB;EAIpB,0BACCC,eADD,EAECC,aAFD,EAGE;IAAA;IAAA;IAAA;IACD,KAAKC,MAAL,GAAcF,eAAd;IACA,KAAKC,aAAL,GAAqBA,aAArB;EACA;;;;;8GAED,iBAAgCE,OAAhC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAOEC,mBAPF,GAWKD,OAXL,CAOEC,mBAPF,EAQEC,kBARF,GAWKF,OAXL,CAQEE,kBARF,EASEC,mBATF,GAWKH,OAXL,CASEG,mBATF,EAUEC,qBAVF,GAWKJ,OAXL,CAUEI,qBAVF;;gBAAA,MAaKD,mBAAmB,CAACE,MAApB,KAA+B,CAbpC;kBAAA;kBAAA;gBAAA;;gBAAA,iCAcS,EAdT;;cAAA;gBAAA;gBAAA,OAiBgC,KAAKN,MAAL,CAAYO,eAAZ,CAC9BL,mBAD8B,EAE9B;kBACCC,kBAAkB,EAAlBA,kBADD;kBAECC,mBAAmB,EAAnBA,mBAFD;kBAGCC,qBAAqB,EAArBA;gBAHD,CAF8B,CAjBhC;;cAAA;gBAiBOG,gBAjBP;gBAAA;gBAAA,OA0BsC,KAAKT,aAAL,CAAmBU,aAAnB,CACpCD,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IADgB,CA1BtC;;cAAA;gBA0BOC,UA1BP;;gBA8BCC,2BAASC,UAAT,CAAoBL,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IAAxC;;gBA9BD,iCAgCQC,UAhCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CreateAction.js","names":["CreateAction","createSchemaActionSchema","options","normalizedOptions","validateAndNormalizeOptions","schemaBuilderDestinationDir","nameCamel","namePascal","nameReadable","syncAfterCreate","shouldEnableVersioning","version","rest","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","generator","Writer","writeBuilder","undefined","namesUtil","toPascal","results","syncOptions","syncSchemasActionSchema","shouldIncludePrivateFields","Action","execute","syncResults","push","files","errors","AbstractAction"],"sources":["../../../../src/features/schema/actions/CreateAction.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { normalizeSchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createSchemaActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport AbstractAction from '../../AbstractAction'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createSchemaActionSchema\n\tpublic invocationMessage = 'Creating your schema builder... 📃'\n\n\tpublic async execute(options: Options) {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tschemaBuilderDestinationDir,\n\t\t\tnameCamel,\n\t\t\tnamePascal,\n\t\t\tnameReadable,\n\t\t\tsyncAfterCreate,\n\t\t\tshouldEnableVersioning,\n\t\t\tversion,\n\t\t\t...rest\n\t\t} = normalizedOptions\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tschemaBuilderDestinationDir\n\t\t)\n\n\t\tlet resolvedVersion: string | undefined\n\n\t\tif (shouldEnableVersioning) {\n\t\t\tresolvedVersion = await this.resolveVersion(version, resolvedDestination)\n\t\t}\n\n\t\tconst generator = this.Writer('schema')\n\n\t\tconst results = await generator.writeBuilder(resolvedDestination, {\n\t\t\t...rest,\n\t\t\tnameCamel,\n\t\t\tshouldEnableVersioning: shouldEnableVersioning ?? undefined,\n\t\t\tversion: resolvedVersion,\n\t\t\tnameReadable: nameReadable ?? nameCamel,\n\t\t\tnamePascal: namePascal ?? namesUtil.toPascal(nameCamel),\n\t\t})\n\n\t\tlet errors: AbstractSpruceError<any>[] | undefined\n\n\t\tif (syncAfterCreate) {\n\t\t\tconst syncOptions = normalizeSchemaValues(syncSchemasActionSchema, rest, {\n\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t})\n\t\t\tconst syncResults = await this.Action('schema', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tresults.push(...(syncResults.files ?? []))\n\t\t\tif (syncResults.errors) {\n\t\t\t\terrors = syncResults.errors\n\t\t\t}\n\t\t}\n\n\t\treturn { files: results, errors }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;;;IAKqBA,Y;;;;;;;;;;;;;;;sGACGC,+B;0GACI,oC;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;gBAIEG,2BAJF,GAYKF,iBAZL,CAIEE,2BAJF,EAKEC,SALF,GAYKH,iBAZL,CAKEG,SALF,EAMEC,UANF,GAYKJ,iBAZL,CAMEI,UANF,EAOEC,YAPF,GAYKL,iBAZL,CAOEK,YAPF,EAQEC,eARF,GAYKN,iBAZL,CAQEM,eARF,EASEC,sBATF,GAYKP,iBAZL,CASEO,sBATF,EAUEC,OAVF,GAYKR,iBAZL,CAUEQ,OAVF,EAWKC,IAXL,6CAYKT,iBAZL;gBAcOU,mBAdP,GAc6BC,2BAASC,WAAT,CAC3B,KAAKC,GADsB,EAE3BX,2BAF2B,CAd7B;;gBAAA,KAqBKK,sBArBL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAsB0B,KAAKO,cAAL,CAAoBN,OAApB,EAA6BE,mBAA7B,CAtB1B;;cAAA;gBAsBEK,eAtBF;;cAAA;gBAyBOC,SAzBP,GAyBmB,KAAKC,MAAL,CAAY,QAAZ,CAzBnB;gBAAA;gBAAA,OA2BuBD,SAAS,CAACE,YAAV,CAAuBR,mBAAvB,kCAClBD,IADkB;kBAErBN,SAAS,EAATA,SAFqB;kBAGrBI,sBAAsB,EAAEA,sBAAF,aAAEA,sBAAF,cAAEA,sBAAF,GAA4BY,SAH7B;kBAIrBX,OAAO,EAAEO,eAJY;kBAKrBV,YAAY,EAAEA,YAAF,aAAEA,YAAF,cAAEA,YAAF,GAAkBF,SALT;kBAMrBC,UAAU,EAAEA,UAAF,aAAEA,UAAF,cAAEA,UAAF,GAAgBgB,4BAAUC,QAAV,CAAmBlB,SAAnB;gBANL,GA3BvB;;cAAA;gBA2BOmB,OA3BP;;gBAAA,KAsCKhB,eAtCL;kBAAA;kBAAA;gBAAA;;gBAuCQiB,WAvCR,GAuCsB,mCAAsBC,8BAAtB,EAA+Cf,IAA/C,EAAqD;kBACxEgB,0BAA0B,EAAE;gBAD4C,CAArD,CAvCtB;gBAAA;gBAAA,OA0C4B,KAAKC,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CACzBJ,WADyB,CA1C5B;;cAAA;gBA0CQK,WA1CR;gBA8CEN,OAAO,CAACO,IAAR,OAAAP,OAAO,4DAAUM,WAAW,CAACE,KAAtB,mEAA+B,EAA/B,EAAP;;gBACA,IAAIF,WAAW,CAACG,MAAhB,EAAwB;kBACvBA,MAAM,GAAGH,WAAW,CAACG,MAArB;gBACA;;cAjDH;gBAAA,iCAoDQ;kBAAED,KAAK,EAAER,OAAT;kBAAkBS,MAAM,EAANA;gBAAlB,CApDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCC,2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/schema/actions/SyncAction.ts"],"names":["SyncAction","syncSchemasActionSchema","Writer","Store","options","normalizedOptions","validateAndNormalizeOptions","isInCoreSchemasModule","Service","get","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","schemaLookupDir","addonsLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","shouldGenerateCoreSchemaTypes","shouldFetchLocalSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","registerBuiltSchemas","syncingMessage","deleteOrphanedSchemas","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","ui","startLoading","loadCurrentSkillsNamespace","localNamespace","shouldImportCoreSchemas","CORE_NAMESPACE","schemaDiskUtil","resolveTypeFilePaths","cwd","resolvedFieldTypesDestination","resolvedSchemaTypesDestinationDirOrFile","resolvedSchemaTypesDestination","generateFieldTemplateItems","shouldGenerateFieldTypes","fieldTemplateItems","fieldErrors","generateFieldFiles","schemaErrors","typeResults","generateSchemaTemplateItems","templateResults","push","schemaTemplateItems","length","diskUtil","deleteDir","optionallyInstallRemoteModules","generateValueTypes","resolvedDestination","undefined","valueTypes","schemaWriter","writeSchemasAndTypes","typesTemplate","p","deleteEmptyDirs","isDir","pathUtil","dirname","stopLoading","errors","actionUtil","mergeActionResults","coreSyncResults","files","meta","forceInstall","modules","map","item","importFrom","filter","i","notInstalled","pkg","m","isInstalled","indexOf","renderSection","headline","lines","confirm","SpruceError","code","friendlyMessage","install","schemaStore","fetchSchemas","localSchemaLookupDir","didUpdateHandler","message","schemasByNamespace","hashSpruceDestination","replace","resolveHashSprucePath","total","totalNamespaces","Object","keys","namespace","schemaTemplateItemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","action","Action","execute","results","builder","ValueTypeBuilder","AbstractAction"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport uniq from 'lodash/uniq'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\nimport ValueTypeBuilder from '../ValueTypeBuilder'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemasActionSchema\n\tpublic commandAliases = ['sync.schemas']\n\tpublic invocationMessage = 'Building schemas and generating types... 📃'\n\n\tprivate readonly schemaWriter = this.Writer('schema')\n\tprivate readonly schemaStore = this.Store('schema')\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst isInCoreSchemasModule =\n\t\t\tthis.Service('pkg').get('name') === '@sprucelabs/spruce-core-schemas'\n\n\t\tlet {\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t\tschemaLookupDir,\n\t\t\taddonsLookupDir,\n\t\t\tshouldEnableVersioning,\n\t\t\tglobalSchemaNamespace,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldGenerateCoreSchemaTypes = isInCoreSchemasModule,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tgenerateFieldTypes,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tdeleteDestinationDirIfNoSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tregisterBuiltSchemas,\n\t\t\tsyncingMessage,\n\t\t\tdeleteOrphanedSchemas,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t\tshouldInstallMissingDependencies,\n\t\t} = normalizedOptions\n\n\t\tthis.ui.startLoading('Loading details about your skill... 🧐')\n\n\t\tlet localNamespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tlet shouldImportCoreSchemas = true\n\n\t\tif (shouldGenerateCoreSchemaTypes) {\n\t\t\tshouldFetchRemoteSchemas = false\n\t\t\tshouldFetchLocalSchemas = true\n\t\t\tshouldFetchCoreSchemas = false\n\t\t\tregisterBuiltSchemas = true\n\t\t\tgenerateStandaloneTypesFile = true\n\t\t\tshouldImportCoreSchemas = false\n\t\t\tlocalNamespace = CORE_NAMESPACE\n\t\t}\n\n\t\tlet coreSyncResults: FeatureActionResponse | undefined\n\n\t\tconst {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t} = schemaDiskUtil.resolveTypeFilePaths({\n\t\t\tcwd: this.cwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t})\n\n\t\tthis.ui.startLoading('Generating field types...')\n\n\t\tconst { fieldTemplateItems, fieldErrors, generateFieldFiles } =\n\t\t\tawait this.generateFieldTemplateItems({\n\t\t\t\taddonsLookupDir,\n\t\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t})\n\n\t\tthis.ui.startLoading(syncingMessage)\n\n\t\tconst schemaErrors: SpruceError[] = []\n\t\tlet schemaTemplateItems: SchemaTemplateItem[] | undefined\n\t\tlet typeResults: GeneratedFile[] = []\n\n\t\ttry {\n\t\t\tconst templateResults = await this.generateSchemaTemplateItems({\n\t\t\t\tschemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tlocalNamespace,\n\t\t\t})\n\n\t\t\tschemaErrors.push(...templateResults.schemaErrors)\n\t\t\tschemaTemplateItems = templateResults.schemaTemplateItems\n\t\t} catch (err: any) {\n\t\t\tschemaErrors.push(err)\n\t\t}\n\n\t\tif (schemaErrors.length === 0 && schemaTemplateItems) {\n\t\t\tif (deleteDestinationDirIfNoSchemas && schemaTemplateItems.length === 0) {\n\t\t\t\tdiskUtil.deleteDir(resolvedSchemaTypesDestinationDirOrFile)\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\tif (deleteOrphanedSchemas) {\n\t\t\t\tthis.ui.startLoading('Identifying orphaned schemas...')\n\n\t\t\t\tawait schemaDiskUtil.deleteOrphanedSchemas(\n\t\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\t\tschemaTemplateItems\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tawait this.optionallyInstallRemoteModules(\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tshouldInstallMissingDependencies\n\t\t\t)\n\n\t\t\tlet valueTypes: ValueTypes | undefined\n\n\t\t\ttry {\n\t\t\t\tvalueTypes = await this.generateValueTypes({\n\t\t\t\t\tresolvedDestination: resolvedFieldTypesDestination,\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t})\n\t\t\t} catch (err: any) {\n\t\t\t\tschemaErrors.push(err)\n\t\t\t}\n\n\t\t\tif (valueTypes) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.ui.startLoading('Determining what changed... ⚡️')\n\n\t\t\t\t\ttypeResults = await this.schemaWriter.writeSchemasAndTypes(\n\t\t\t\t\t\tresolvedSchemaTypesDestination,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tregisterBuiltSchemas,\n\t\t\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\t\t\tshouldImportCoreSchemas,\n\t\t\t\t\t\t\tvalueTypes,\n\t\t\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t\t\t\ttypesTemplate: generateStandaloneTypesFile\n\t\t\t\t\t\t\t\t? 'schema/core.schemas.types.ts.hbs'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tschemaErrors.push(err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst p = resolvedSchemaTypesDestination\n\t\tdiskUtil.deleteEmptyDirs(diskUtil.isDir(p) ? p : pathUtil.dirname(p))\n\n\t\tthis.ui.stopLoading()\n\n\t\tconst errors = [...schemaErrors, ...fieldErrors]\n\n\t\treturn actionUtil.mergeActionResults(coreSyncResults || {}, {\n\t\t\tfiles: [...typeResults, ...generateFieldFiles],\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate async optionallyInstallRemoteModules(\n\t\tschemaTemplateItems: SchemaTemplateItem[],\n\t\tforceInstall?: boolean\n\t) {\n\t\tconst modules = uniq(\n\t\t\tschemaTemplateItems.map((item) => item.importFrom).filter((i) => !!i)\n\t\t) as string[]\n\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tfor (const m of modules) {\n\t\t\tif (!pkg.isInstalled(m) && notInstalled.indexOf(m) === -1) {\n\t\t\t\tnotInstalled.push(m)\n\t\t\t}\n\t\t}\n\n\t\tif (notInstalled.length > 0) {\n\t\t\tif (!forceInstall) {\n\t\t\t\tthis.ui.stopLoading()\n\n\t\t\t\tthis.ui.renderSection({\n\t\t\t\t\theadline: `Missing ${notInstalled.length} module${\n\t\t\t\t\t\tnotInstalled.length === 1 ? '' : 's'\n\t\t\t\t\t}`,\n\t\t\t\t\tlines: [\n\t\t\t\t\t\t`Looks like I need to install the following modules to continue to sync schemas:`,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t...notInstalled,\n\t\t\t\t\t],\n\t\t\t\t})\n\n\t\t\t\tconst confirm = await this.ui.confirm('Should we do that now?')\n\n\t\t\t\tif (!confirm) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'ACTION_CANCELLED',\n\t\t\t\t\t\tfriendlyMessage: `I can't sync schemas because of the missing modules.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.ui.startLoading(\n\t\t\t\t`Installing ${notInstalled.length} missing module${\n\t\t\t\t\tnotInstalled.length === 1 ? '' : 's...'\n\t\t\t\t}`\n\t\t\t)\n\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tawait pkg.install(notInstalled)\n\n\t\t\tthis.ui.stopLoading()\n\t\t}\n\t}\n\n\tprivate async generateSchemaTemplateItems(options: {\n\t\tschemaLookupDir: string | undefined\n\t\tlocalNamespace: string\n\t\tresolvedSchemaTypesDestinationDirOrFile: string\n\t\tshouldFetchLocalSchemas: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldEnableVersioning: boolean\n\t\tshouldFetchRemoteSchemas: boolean\n\t\tshouldFetchCoreSchemas: boolean\n\t}) {\n\t\tconst {\n\t\t\tschemaLookupDir,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tshouldEnableVersioning,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tlocalNamespace,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options\n\n\t\tthis.ui.startLoading('Loading builders...')\n\n\t\tconst { schemasByNamespace, errors: schemaErrors } =\n\t\t\tawait this.schemaStore.fetchSchemas({\n\t\t\t\tlocalSchemaLookupDir: schemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tdidUpdateHandler: (message) => {\n\t\t\t\t\tthis.ui.startLoading(message)\n\t\t\t\t},\n\t\t\t})\n\n\t\tconst hashSpruceDestination =\n\t\t\tresolvedSchemaTypesDestinationDirOrFile.replace(\n\t\t\t\tdiskUtil.resolveHashSprucePath(this.cwd),\n\t\t\t\t'#spruce'\n\t\t\t)\n\n\t\tlet total = 0\n\t\tlet totalNamespaces = 0\n\t\tfor (const namespace of Object.keys(schemasByNamespace)) {\n\t\t\ttotalNamespaces++\n\t\t\ttotal += schemasByNamespace[namespace].length\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Building ${total} schemas from ${totalNamespaces} namespaces.`\n\t\t)\n\n\t\tconst schemaTemplateItemBuilder = new SchemaTemplateItemBuilder(\n\t\t\tlocalNamespace\n\t\t)\n\n\t\tconst schemaTemplateItems: SchemaTemplateItem[] =\n\t\t\tschemaTemplateItemBuilder.buildTemplateItems(\n\t\t\t\tschemasByNamespace,\n\t\t\t\thashSpruceDestination\n\t\t\t)\n\n\t\treturn { schemaTemplateItems, schemaErrors }\n\t}\n\n\tprivate async generateFieldTemplateItems(options: {\n\t\taddonsLookupDir: string\n\t\tshouldGenerateFieldTypes: boolean\n\t\tresolvedFieldTypesDestination: string\n\t}) {\n\t\tconst {\n\t\t\taddonsLookupDir,\n\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\tresolvedFieldTypesDestination,\n\t\t} = options\n\n\t\tconst action = this.Action('schema', 'syncFields')\n\t\tconst results = await action.execute({\n\t\t\tfieldTypesDestinationDir: resolvedFieldTypesDestination,\n\t\t\taddonsLookupDir,\n\t\t\tgenerateFieldTypes,\n\t\t})\n\n\t\treturn {\n\t\t\tgenerateFieldFiles: results.files ?? [],\n\t\t\tfieldTemplateItems: results.meta?.fieldTemplateItems ?? [],\n\t\t\tfieldErrors: results.errors ?? [],\n\t\t}\n\t}\n\n\tprivate async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tthis.ui.startLoading('Generating value types...')\n\n\t\tconst builder = new ValueTypeBuilder(\n\t\t\tthis.schemaWriter,\n\t\t\tthis.Service('import')\n\t\t)\n\n\t\treturn builder.generateValueTypes(options)\n\t}\n}\n"],"file":"SyncAction.js"}
|
|
1
|
+
{"version":3,"file":"SyncAction.js","names":["SyncAction","syncSchemasActionSchema","Writer","Store","options","normalizedOptions","validateAndNormalizeOptions","isInCoreSchemasModule","Service","get","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","schemaLookupDir","addonsLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","shouldGenerateCoreSchemaTypes","shouldFetchLocalSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","registerBuiltSchemas","syncingMessage","deleteOrphanedSchemas","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","ui","startLoading","loadCurrentSkillsNamespace","localNamespace","shouldImportCoreSchemas","CORE_NAMESPACE","schemaDiskUtil","resolveTypeFilePaths","cwd","resolvedFieldTypesDestination","resolvedSchemaTypesDestinationDirOrFile","resolvedSchemaTypesDestination","generateFieldTemplateItems","shouldGenerateFieldTypes","fieldTemplateItems","fieldErrors","generateFieldFiles","schemaErrors","typeResults","generateSchemaTemplateItems","templateResults","push","schemaTemplateItems","length","diskUtil","deleteDir","optionallyInstallRemoteModules","generateValueTypes","resolvedDestination","undefined","valueTypes","schemaWriter","writeSchemasAndTypes","typesTemplate","p","deleteEmptyDirs","isDir","pathUtil","dirname","stopLoading","errors","actionUtil","mergeActionResults","coreSyncResults","files","meta","forceInstall","modules","map","item","importFrom","filter","i","notInstalled","pkg","m","isInstalled","indexOf","renderSection","headline","lines","confirm","SpruceError","code","friendlyMessage","install","schemaStore","fetchSchemas","localSchemaLookupDir","didUpdateHandler","message","schemasByNamespace","hashSpruceDestination","replace","resolveHashSprucePath","total","totalNamespaces","Object","keys","namespace","schemaTemplateItemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","action","Action","execute","results","builder","ValueTypeBuilder","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport uniq from 'lodash/uniq'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\nimport ValueTypeBuilder from '../ValueTypeBuilder'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemasActionSchema\n\tpublic commandAliases = ['sync.schemas']\n\tpublic invocationMessage = 'Building schemas and generating types... 📃'\n\n\tprivate readonly schemaWriter = this.Writer('schema')\n\tprivate readonly schemaStore = this.Store('schema')\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst isInCoreSchemasModule =\n\t\t\tthis.Service('pkg').get('name') === '@sprucelabs/spruce-core-schemas'\n\n\t\tlet {\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t\tschemaLookupDir,\n\t\t\taddonsLookupDir,\n\t\t\tshouldEnableVersioning,\n\t\t\tglobalSchemaNamespace,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldGenerateCoreSchemaTypes = isInCoreSchemasModule,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tgenerateFieldTypes,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tdeleteDestinationDirIfNoSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tregisterBuiltSchemas,\n\t\t\tsyncingMessage,\n\t\t\tdeleteOrphanedSchemas,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t\tshouldInstallMissingDependencies,\n\t\t} = normalizedOptions\n\n\t\tthis.ui.startLoading('Loading details about your skill... 🧐')\n\n\t\tlet localNamespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tlet shouldImportCoreSchemas = true\n\n\t\tif (shouldGenerateCoreSchemaTypes) {\n\t\t\tshouldFetchRemoteSchemas = false\n\t\t\tshouldFetchLocalSchemas = true\n\t\t\tshouldFetchCoreSchemas = false\n\t\t\tregisterBuiltSchemas = true\n\t\t\tgenerateStandaloneTypesFile = true\n\t\t\tshouldImportCoreSchemas = false\n\t\t\tlocalNamespace = CORE_NAMESPACE\n\t\t}\n\n\t\tlet coreSyncResults: FeatureActionResponse | undefined\n\n\t\tconst {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t} = schemaDiskUtil.resolveTypeFilePaths({\n\t\t\tcwd: this.cwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t})\n\n\t\tthis.ui.startLoading('Generating field types...')\n\n\t\tconst { fieldTemplateItems, fieldErrors, generateFieldFiles } =\n\t\t\tawait this.generateFieldTemplateItems({\n\t\t\t\taddonsLookupDir,\n\t\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t})\n\n\t\tthis.ui.startLoading(syncingMessage)\n\n\t\tconst schemaErrors: SpruceError[] = []\n\t\tlet schemaTemplateItems: SchemaTemplateItem[] | undefined\n\t\tlet typeResults: GeneratedFile[] = []\n\n\t\ttry {\n\t\t\tconst templateResults = await this.generateSchemaTemplateItems({\n\t\t\t\tschemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tlocalNamespace,\n\t\t\t})\n\n\t\t\tschemaErrors.push(...templateResults.schemaErrors)\n\t\t\tschemaTemplateItems = templateResults.schemaTemplateItems\n\t\t} catch (err: any) {\n\t\t\tschemaErrors.push(err)\n\t\t}\n\n\t\tif (schemaErrors.length === 0 && schemaTemplateItems) {\n\t\t\tif (deleteDestinationDirIfNoSchemas && schemaTemplateItems.length === 0) {\n\t\t\t\tdiskUtil.deleteDir(resolvedSchemaTypesDestinationDirOrFile)\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\tif (deleteOrphanedSchemas) {\n\t\t\t\tthis.ui.startLoading('Identifying orphaned schemas...')\n\n\t\t\t\tawait schemaDiskUtil.deleteOrphanedSchemas(\n\t\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\t\tschemaTemplateItems\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tawait this.optionallyInstallRemoteModules(\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tshouldInstallMissingDependencies\n\t\t\t)\n\n\t\t\tlet valueTypes: ValueTypes | undefined\n\n\t\t\ttry {\n\t\t\t\tvalueTypes = await this.generateValueTypes({\n\t\t\t\t\tresolvedDestination: resolvedFieldTypesDestination,\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t})\n\t\t\t} catch (err: any) {\n\t\t\t\tschemaErrors.push(err)\n\t\t\t}\n\n\t\t\tif (valueTypes) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.ui.startLoading('Determining what changed... ⚡️')\n\n\t\t\t\t\ttypeResults = await this.schemaWriter.writeSchemasAndTypes(\n\t\t\t\t\t\tresolvedSchemaTypesDestination,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tregisterBuiltSchemas,\n\t\t\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\t\t\tshouldImportCoreSchemas,\n\t\t\t\t\t\t\tvalueTypes,\n\t\t\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t\t\t\ttypesTemplate: generateStandaloneTypesFile\n\t\t\t\t\t\t\t\t? 'schema/core.schemas.types.ts.hbs'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tschemaErrors.push(err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst p = resolvedSchemaTypesDestination\n\t\tdiskUtil.deleteEmptyDirs(diskUtil.isDir(p) ? p : pathUtil.dirname(p))\n\n\t\tthis.ui.stopLoading()\n\n\t\tconst errors = [...schemaErrors, ...fieldErrors]\n\n\t\treturn actionUtil.mergeActionResults(coreSyncResults || {}, {\n\t\t\tfiles: [...typeResults, ...generateFieldFiles],\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate async optionallyInstallRemoteModules(\n\t\tschemaTemplateItems: SchemaTemplateItem[],\n\t\tforceInstall?: boolean\n\t) {\n\t\tconst modules = uniq(\n\t\t\tschemaTemplateItems.map((item) => item.importFrom).filter((i) => !!i)\n\t\t) as string[]\n\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tfor (const m of modules) {\n\t\t\tif (!pkg.isInstalled(m) && notInstalled.indexOf(m) === -1) {\n\t\t\t\tnotInstalled.push(m)\n\t\t\t}\n\t\t}\n\n\t\tif (notInstalled.length > 0) {\n\t\t\tif (!forceInstall) {\n\t\t\t\tthis.ui.stopLoading()\n\n\t\t\t\tthis.ui.renderSection({\n\t\t\t\t\theadline: `Missing ${notInstalled.length} module${\n\t\t\t\t\t\tnotInstalled.length === 1 ? '' : 's'\n\t\t\t\t\t}`,\n\t\t\t\t\tlines: [\n\t\t\t\t\t\t`Looks like I need to install the following modules to continue to sync schemas:`,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t...notInstalled,\n\t\t\t\t\t],\n\t\t\t\t})\n\n\t\t\t\tconst confirm = await this.ui.confirm('Should we do that now?')\n\n\t\t\t\tif (!confirm) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'ACTION_CANCELLED',\n\t\t\t\t\t\tfriendlyMessage: `I can't sync schemas because of the missing modules.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.ui.startLoading(\n\t\t\t\t`Installing ${notInstalled.length} missing module${\n\t\t\t\t\tnotInstalled.length === 1 ? '' : 's...'\n\t\t\t\t}`\n\t\t\t)\n\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tawait pkg.install(notInstalled)\n\n\t\t\tthis.ui.stopLoading()\n\t\t}\n\t}\n\n\tprivate async generateSchemaTemplateItems(options: {\n\t\tschemaLookupDir: string | undefined\n\t\tlocalNamespace: string\n\t\tresolvedSchemaTypesDestinationDirOrFile: string\n\t\tshouldFetchLocalSchemas: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldEnableVersioning: boolean\n\t\tshouldFetchRemoteSchemas: boolean\n\t\tshouldFetchCoreSchemas: boolean\n\t}) {\n\t\tconst {\n\t\t\tschemaLookupDir,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tshouldEnableVersioning,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tlocalNamespace,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options\n\n\t\tthis.ui.startLoading('Loading builders...')\n\n\t\tconst { schemasByNamespace, errors: schemaErrors } =\n\t\t\tawait this.schemaStore.fetchSchemas({\n\t\t\t\tlocalSchemaLookupDir: schemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tdidUpdateHandler: (message) => {\n\t\t\t\t\tthis.ui.startLoading(message)\n\t\t\t\t},\n\t\t\t})\n\n\t\tconst hashSpruceDestination =\n\t\t\tresolvedSchemaTypesDestinationDirOrFile.replace(\n\t\t\t\tdiskUtil.resolveHashSprucePath(this.cwd),\n\t\t\t\t'#spruce'\n\t\t\t)\n\n\t\tlet total = 0\n\t\tlet totalNamespaces = 0\n\t\tfor (const namespace of Object.keys(schemasByNamespace)) {\n\t\t\ttotalNamespaces++\n\t\t\ttotal += schemasByNamespace[namespace].length\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Building ${total} schemas from ${totalNamespaces} namespaces.`\n\t\t)\n\n\t\tconst schemaTemplateItemBuilder = new SchemaTemplateItemBuilder(\n\t\t\tlocalNamespace\n\t\t)\n\n\t\tconst schemaTemplateItems: SchemaTemplateItem[] =\n\t\t\tschemaTemplateItemBuilder.buildTemplateItems(\n\t\t\t\tschemasByNamespace,\n\t\t\t\thashSpruceDestination\n\t\t\t)\n\n\t\treturn { schemaTemplateItems, schemaErrors }\n\t}\n\n\tprivate async generateFieldTemplateItems(options: {\n\t\taddonsLookupDir: string\n\t\tshouldGenerateFieldTypes: boolean\n\t\tresolvedFieldTypesDestination: string\n\t}) {\n\t\tconst {\n\t\t\taddonsLookupDir,\n\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\tresolvedFieldTypesDestination,\n\t\t} = options\n\n\t\tconst action = this.Action('schema', 'syncFields')\n\t\tconst results = await action.execute({\n\t\t\tfieldTypesDestinationDir: resolvedFieldTypesDestination,\n\t\t\taddonsLookupDir,\n\t\t\tgenerateFieldTypes,\n\t\t})\n\n\t\treturn {\n\t\t\tgenerateFieldFiles: results.files ?? [],\n\t\t\tfieldTemplateItems: results.meta?.fieldTemplateItems ?? [],\n\t\t\tfieldErrors: results.errors ?? [],\n\t\t}\n\t}\n\n\tprivate async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tthis.ui.startLoading('Generating value types...')\n\n\t\tconst builder = new ValueTypeBuilder(\n\t\t\tthis.schemaWriter,\n\t\t\tthis.Service('import')\n\t\t)\n\n\t\treturn builder.generateValueTypes(options)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SyncFieldsAction.js","names":["FieldsSyncAction","syncSchemaFieldsActionSchema","options","ui","startLoading","normalizedOptions","validateAndNormalizeOptions","fieldTypesDestinationDir","addonsLookupDir","generateFieldTypes","resolvedFieldTypesDestination","diskUtil","resolvePath","cwd","generatedFiles","schemaStore","Store","fetchFields","localAddonsDir","fields","errors","fieldTemplateItemBuilder","FieldTemplateItemBuilder","fieldTemplateItems","generateTemplateItems","schemaGenerator","Writer","writeFieldTypes","results","push","stopLoading","files","length","undefined","meta","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncFieldsAction.ts"],"sourcesContent":["import { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemaFieldsActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema'\nimport FieldTemplateItemBuilder from '../../../templateItemBuilders/FieldTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemaFieldsOptionsSchema\n\nexport default class FieldsSyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemaFieldsActionSchema\n\tpublic commandAliases = ['sync.fields']\n\tpublic invocationMessage =\n\t\t'Syncing schema field types (e.g. number, phone, etc.)... 📃'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tthis.ui.startLoading(`Syncing fields...`)\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst { fieldTypesDestinationDir, addonsLookupDir, generateFieldTypes } =\n\t\t\tnormalizedOptions\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tfieldTypesDestinationDir\n\t\t)\n\n\t\tconst generatedFiles: GeneratedFile[] = []\n\t\tconst schemaStore = this.Store('schema')\n\n\t\tthis.ui.startLoading('Pulling field types...')\n\n\t\tconst { fields, errors } = await schemaStore.fetchFields({\n\t\t\tlocalAddonsDir: diskUtil.resolvePath(this.cwd, addonsLookupDir),\n\t\t})\n\n\t\tconst fieldTemplateItemBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems =\n\t\t\tfieldTemplateItemBuilder.generateTemplateItems(fields)\n\n\t\tconst schemaGenerator = this.Writer('schema')\n\t\tif (generateFieldTypes) {\n\t\t\tconst results = await schemaGenerator.writeFieldTypes(\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t\t{\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tgeneratedFiles.push(...results)\n\t\t}\n\n\t\tthis.ui.stopLoading()\n\n\t\treturn {\n\t\t\tfiles: generatedFiles,\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;;;;;;IAMqBA,gB;;;;;;;;;;;;;;;sGACGC,mC;uGACC,CAAC,aAAD,C;0GAEvB,6D;;;;;;;mGAED,iBACCC,OADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAGC,KAAKC,EAAL,CAAQC,YAAR;gBAEMC,iBALP,GAK2B,KAAKC,2BAAL,CAAiCJ,OAAjC,CAL3B;gBAOSK,wBAPT,GAQEF,iBARF,CAOSE,wBAPT,EAOmCC,eAPnC,GAQEH,iBARF,CAOmCG,eAPnC,EAOoDC,kBAPpD,GAQEJ,iBARF,CAOoDI,kBAPpD;gBAUOC,6BAVP,GAUuCC,2BAASC,WAAT,CACrC,KAAKC,GADgC,EAErCN,wBAFqC,CAVvC;gBAeOO,cAfP,GAeyC,EAfzC;gBAgBOC,WAhBP,GAgBqB,KAAKC,KAAL,CAAW,QAAX,CAhBrB;gBAkBC,KAAKb,EAAL,CAAQC,YAAR,CAAqB,wBAArB;gBAlBD;gBAAA,OAoBkCW,WAAW,CAACE,WAAZ,CAAwB;kBACxDC,cAAc,EAAEP,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+BL,eAA/B;gBADwC,CAAxB,CApBlC;;cAAA;gBAAA;gBAoBSW,MApBT,yBAoBSA,MApBT;gBAoBiBC,MApBjB,yBAoBiBA,MApBjB;gBAwBOC,wBAxBP,GAwBkC,IAAIC,oCAAJ,EAxBlC;gBAyBOC,kBAzBP,GA0BEF,wBAAwB,CAACG,qBAAzB,CAA+CL,MAA/C,CA1BF;gBA4BOM,eA5BP,GA4ByB,KAAKC,MAAL,CAAY,QAAZ,CA5BzB;;gBAAA,KA6BKjB,kBA7BL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OA8BwBgB,eAAe,CAACE,eAAhB,CACrBjB,6BADqB,EAErB;kBACCa,kBAAkB,EAAlBA;gBADD,CAFqB,CA9BxB;;cAAA;gBA8BQK,OA9BR;gBAqCEd,cAAc,CAACe,IAAf,OAAAf,cAAc,sCAASc,OAAT,EAAd;;cArCF;gBAwCC,KAAKzB,EAAL,CAAQ2B,WAAR;gBAxCD,iCA0CQ;kBACNC,KAAK,EAAEjB,cADD;kBAENM,MAAM,EAAEA,MAAM,CAACY,MAAP,GAAgB,CAAhB,GAAoBZ,MAApB,GAA6Ba,SAF/B;kBAGNC,IAAI,EAAE;oBACLX,kBAAkB,EAAlBA;kBADK;gBAHA,CA1CR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAN6CY,2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SchemaService.js","names":["SchemaService","file","importDefault","definitionProxy","SpruceError","code","originalError","friendlyMessage","ImportService"],"sources":["../../../../src/features/schema/services/SchemaService.ts"],"sourcesContent":["import { validateSchema } from '@sprucelabs/schema'\nimport cloneDeep from 'lodash/cloneDeep'\nimport SpruceError from '../../../errors/SpruceError'\nimport ImportService from '../../../services/ImportService'\n\nexport default class SchemaService extends ImportService {\n\tpublic async importSchema(file: string) {\n\t\tconst definitionProxy = await this.importDefault(file)\n\n\t\ttry {\n\t\t\tvalidateSchema(definitionProxy)\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile,\n\t\t\t\toriginalError: err,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'The definition imported is not valid. Make sure it is \"export default build[Schema|Error|Field]Definition\"',\n\t\t\t})\n\t\t}\n\n\t\treturn cloneDeep(definitionProxy)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;wGACpB,iBAA0BC,IAA1B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC+B,KAAKC,aAAL,CAAmBD,IAAnB,CAD/B;;cAAA;gBACOE,eADP;gBAAA;gBAIE,4BAAeA,eAAf;gBAJF;gBAAA;;cAAA;gBAAA;gBAAA;gBAAA,MAMQ,IAAIC,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,yBADe;kBAErBJ,IAAI,EAAJA,IAFqB;kBAGrBK,aAAa,aAHQ;kBAIrBC,eAAe,EACd;gBALoB,CAAhB,CANR;;cAAA;gBAAA,iCAeQ,2BAAUJ,eAAV,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CK,0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"names":["coreSchemas","personSchema","profileImageSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","fullMessageChoicesSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAOA;;AAgBA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;AAGO,IAAMA,WAAW,GAAG;AAC1BC,EAAAA,YAAY,EAAZA,+BAD0B;AAE1BC,EAAAA,kBAAkB,EAAlBA,qCAF0B;AAG1BC,EAAAA,WAAW,EAAXA,8BAH0B;AAI1BC,EAAAA,kBAAkB,EAAlBA,qCAJ0B;AAK1BC,EAAAA,cAAc,EAAdA,iCAL0B;AAM1BC,EAAAA,kBAAkB,EAAlBA,qCAN0B;AAO1BC,EAAAA,wBAAwB,EAAxBA,2CAP0B;AAQ1BC,EAAAA,oBAAoB,EAApBA,uCAR0B;AAS1BC,EAAAA,UAAU,EAAVA,6BAT0B;AAU1BC,EAAAA,aAAa,EAAbA,gCAV0B;AAW1BC,EAAAA,mBAAmB,EAAnBA,sCAX0B;AAY1BC,EAAAA,mBAAmB,EAAnBA,sCAZ0B;AAa1BC,EAAAA,iBAAiB,EAAjBA,oCAb0B;AAc1BC,EAAAA,wBAAwB,EAAxBA;AAd0B,CAApB;;AA0CP,IAAMC,wBAAwB,GAAG,aAAjC;;IAEqBC,W;;;;;;;;;;;;;;;6FACG,Q;;;;;;;wGAEvB,iBAA0BC,OAA1B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBAmBKA,OAAO,IAAI,EAnBhB,+BAWEC,oBAXF,EAWwBC,cAXxB,sCAWyCJ,wBAXzC,uDAYEK,uBAZF,EAYEA,uBAZF,sCAY4B,IAZ5B,uDAaEC,wBAbF,EAaEA,wBAbF,sCAa6B,IAb7B,uDAcEC,sBAdF,EAcEA,sBAdF,sCAc2B,IAd3B,0BAeEC,cAfF,QAeEA,cAfF,+BAgBEC,sBAhBF,EAgBEA,sBAhBF,sCAgB2B,IAhB3B,0BAiBEC,gBAjBF,QAiBEA,gBAjBF,EAkBEC,4BAlBF,QAkBEA,4BAlBF;AAqBOC,gBAAAA,OArBP,GAqBsC;AACpCC,kBAAAA,MAAM,EAAE,EAD4B;AAEpCC,kBAAAA,kBAAkB,EAAE;AAFgB,iBArBtC;;AA0BC,oBAAIL,sBAAJ,EAA4B;AAC3BG,kBAAAA,OAAO,CAACE,kBAAR,CAA2BC,gCAA3B,IAA6CC,MAAM,CAACC,MAAP,CAC5ChC,WAD4C,EAE3CiC,GAF2C,CAEvC,UAACC,MAAD;AAAA,2DACFA,MADE;AAELC,sBAAAA,SAAS,EAAEL;AAFN;AAAA,mBAFuC,CAA7C;AAMA;;AAjCF,qBAmCKV,uBAnCL;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAoCuB,KAAKgB,gBAAL,CACpBjB,cADoB,EAEpBI,cAFoB,EAGpBD,sBAHoB,EAIpBG,gBAJoB,CApCvB;;AAAA;AAoCQY,gBAAAA,MApCR;;AA2CE,oBAAIX,4BAAJ,EAAkC;AACjCW,kBAAAA,MAAM,CAACC,OAAP,CAAeC,OAAf,CAAuB,UAACC,KAAD,EAAW;AACjCA,oBAAAA,KAAK,CAACd,4BAAN,GAAqCA,4BAArC;AACA,mBAFD;AAGA;;AAEDC,gBAAAA,OAAO,CAACE,kBAAR,CAA2BN,cAA3B,IAA6Cc,MAAM,CAACC,OAApD;;AACA,mCAAAX,OAAO,CAACC,MAAR,EAAea,IAAf,4DAAuBJ,MAAM,CAACT,MAA9B;;AAlDF;AAAA,qBAqDKP,wBArDL;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAsDQ,KAAKqB,kCAAL,CAAwCnB,cAAxC,EAAwDI,OAAxD,CAtDR;;AAAA;AAAA,iDAyDQA,OAzDR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8HA4DA,kBACCJ,cADD,EAECI,OAFD;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAIOW,gBAAAA,OAJP,GAI2B,EAJ3B;;AAKC,qBAAWH,UAAX,IAAwBR,OAAO,CAACE,kBAAhC,EAAoD;AACnDS,kBAAAA,OAAO,CAACG,IAAR,OAAAH,OAAO,sCAASX,OAAO,CAACE,kBAAR,CAA2BM,UAA3B,CAAT,EAAP;AACA;;AAPF;AAAA,uBAS6B,KAAKQ,OAAL,CAAaC,IAAb,CAAkB,0BAAlB,EAA8C;AACzEN,kBAAAA,OAAO,EAAPA;AADyE,iBAA9C,CAT7B;;AAAA;AASOO,gBAAAA,aATP;AAAA,wCAcEC,oCAAkBC,+BAAlB,CACCF,aADD,EAECG,uBAFD,CAdF,EAaSC,QAbT,yBAaSA,QAbT,EAamBrB,MAbnB,yBAamBA,MAbnB;;AAmBC,oBAAIA,MAAM,IAAIA,MAAM,CAACsB,MAAP,GAAgB,CAA9B,EAAiC;AAChC,sCAAAvB,OAAO,CAACC,MAAR,EAAea,IAAf,6DAAuBb,MAAvB;AACA,iBAFD,MAEO;AACNqB,kBAAAA,QAAQ,CAACV,OAAT,CAAiB,UAACY,OAAD,EAAa;AAAA;;AAC7BA,oBAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,gCAAAA,OAAO,CAAEb,OAAT,sEAAkBC,OAAlB,CAA0B,UAACL,MAAD,EAAoB;AAC7C,sBAAA,MAAI,CAACkB,0BAAL,CAAgClB,MAAhC,EAAwCX,cAAxC,EAAwDI,OAAxD;AACA,qBAFD;AAGA,mBAJD;AAKA;;AA3BF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WA8BA,oCACCO,MADD,EAECX,cAFD,EAGCI,OAHD,EAIE;AAAA;;AACD,UAAMQ,SAAS,wBAAGD,MAAM,CAACC,SAAV,iEAAuBZ,cAAtC;;AAEA,UAAI,CAACI,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,CAAL,EAA4C;AAC3CR,QAAAA,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,IAAwC,EAAxC;AACA;;AAED,UAAMkB,aAAa,GAAG,4CAA+BnB,MAA/B,CAAtB;AACA,UAAMoB,KAAK,GAAG3B,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,EAAsCoB,IAAtC,CAA2C,UAACC,CAAD;AAAA,eACxD,qBAAQ,4CAA+BA,CAA/B,CAAR,EAA2CH,aAA3C,CADwD;AAAA,OAA3C,CAAd;;AAIA,UAAI,CAACC,KAAL,EAAY;AACX3B,QAAAA,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,EAAsCM,IAAtC,CAA2CP,MAA3C;AACA;AACD;;;;2GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACuB,KAAKuB,mBAAL,CAAyB1C,wBAAzB,CADvB;;AAAA;AACO2C,gBAAAA,OADP;AAAA,kDAEQA,OAAO,CAACR,MAAR,GAAiB,CAFzB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GAKA,kBACCS,cADD,EAECpC,cAFD,EAGCD,sBAHD,EAICG,gBAJD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAM4B,KAAKgC,mBAAL,CAAyBE,cAAzB,CAN5B;;AAAA;AAMOC,gBAAAA,YANP;AAQOhC,gBAAAA,MARP,GAQ+B,EAR/B;AASOU,gBAAAA,OATP,GAS2B,EAT3B;AAWCb,gBAAAA,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,8BACOmC,YAAY,CAACV,MADpB,yBAAhB;AAXD;AAgBQW,gBAAAA,QAhBR,GAgBmB,KAAKC,OAAL,CAAa,QAAb,CAhBnB;AAAA;AAAA,uBAiByBD,QAAQ,CAACE,UAAT,CAAoBH,YAApB,CAjBzB;;AAAA;AAiBQI,gBAAAA,QAjBR;;AAmBE,qBAASC,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGL,YAAY,CAACV,MAAjC,EAAyCe,CAAC,EAA1C,EAA8C;AAC7C,sBAAI;AACGzB,oBAAAA,KADH,GACWoB,YAAY,CAACK,CAAD,CADvB;AAEC/B,oBAAAA,MAFD,GAEU8B,QAAQ,CAACC,CAAD,CAFlB;AAICC,oBAAAA,OAJD,GAI+B,KAAKC,mBAAL,CACjC7C,sBADiC,EAEjCkB,KAFiC,EAGjCZ,MAHiC,CAJ/B;;AASH,wBAAIsC,OAAO,IAAI5C,sBAAsB,KAAK,KAA1C,EAAiD;AAChDY,sBAAAA,MAAM,GAAG,KAAKkC,kBAAL,CACRlC,MADQ,EAERX,cAFQ,EAGR2C,OAHQ,EAIRzC,gBAJQ,CAAT;AAMAa,sBAAAA,OAAO,CAACG,IAAR,CAAaP,MAAb;AACA;AACD,mBAlBD,CAkBE,OAAOmC,GAAP,EAAiB;AAClBzC,oBAAAA,MAAM,CAACa,IAAP,CACC,IAAIO,uBAAJ,CAAgB;AACfsB,sBAAAA,IAAI,EAAE,yBADS;AAEfC,sBAAAA,IAAI,uBAAEF,GAAF,aAAEA,GAAF,uCAAEA,GAAG,CAAEpD,OAAP,iDAAE,aAAcsD,IAAhB,iEAAwB,aAFb;AAGfC,sBAAAA,aAAa,wBAAEH,GAAF,aAAEA,GAAF,uBAAEA,GAAG,CAAEG,aAAP,mEAAwBH;AAHtB,qBAAhB,CADD;AAOA;AACD;;AA/CH;AAAA;;AAAA;AAAA;AAAA;AAAA,sBAiDQ,IAAIrB,uBAAJ,CAAgB;AACrBsB,kBAAAA,IAAI,EAAE,yBADe;AAErBC,kBAAAA,IAAI,qGAAE,aAAKtD,OAAP,kDAAE,cAAcsD,IAAhB,mEAAwB,aAFP;AAGrBC,kBAAAA,aAAa,qFAAE,aAAKA,aAAP;AAHQ,iBAAhB,CAjDR;;AAAA;AAAA,kDAwDQ;AACNlC,kBAAAA,OAAO,EAAPA,OADM;AAENV,kBAAAA,MAAM,EAANA;AAFM,iBAxDR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GA8DA,kBAAkC+B,cAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACc,wBACZc,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+BhB,cAA/B,EAA+C,qBAA/C,CADY,CADd;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAMA,6BACCrC,sBADD,EAECkB,KAFD,EAGCZ,MAHD,EAIE;AACD,UAAIsC,OAAJ;;AAEA,UAAI;AACHA,QAAAA,OAAO,GACN5C,sBAAsB,KAAK,KAA3B,GACGsD,SADH,GAEGC,8BAAYC,cAAZ,CAA2B,KAAKH,GAAhC,EAAqCnC,KAArC,EAA4CuC,UAHhD;AAIA,OALD,CAKE,OAAOV,GAAP,EAAY;AACbzC,QAAAA,MAAM,CAACa,IAAP,CACC,IAAIO,uBAAJ,CAAgB;AACf;AACAsB,UAAAA,IAAI,EAAE,iBAFS;AAGfU,UAAAA,eAAe,iHACdH,8BAAYI,eAAZ,GAA8BC,QADhB;AAHA,SAAhB,CADD;AASA;;AACD,aAAOhB,OAAP;AACA;;;WAED,4BACChC,MADD,EAECX,cAFD,EAGC2C,OAHD,EAICzC,gBAJD,EAKE;AACD,UAAIG,MAAgB,GAAG,EAAvB;;AAEA,UAAIM,MAAM,CAACgC,OAAX,EAAoB;AACnBtC,QAAAA,MAAM,CAACa,IAAP,CAAY,2BAAZ;AACA;;AAED,UAAIP,MAAM,CAACC,SAAX,EAAsB;AACrBP,QAAAA,MAAM,CAACa,IAAP,CAAY,6BAAZ;AACA;;AAEDP,MAAAA,MAAM,CAACC,SAAP,GAAmBZ,cAAnB;;AAEA,UAAIK,MAAM,CAACsB,MAAP,GAAgB,CAApB,EAAuB;AACtB,cAAM,IAAIiC,mBAAJ,CAAgB;AACrBb,UAAAA,IAAI,EAAE,gBADe;AAErBc,UAAAA,QAAQ,EAAElD,MAAM,CAACmD,EAFI;AAGrBzD,UAAAA,MAAM,EAANA,MAHqB;AAIrBoD,UAAAA,eAAe,EACd;AALoB,SAAhB,CAAN;AAOA;;AAED9C,MAAAA,MAAM,CAACgC,OAAP,GAAiBA,OAAjB;AAEAzC,MAAAA,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,oBAAeS,MAAM,CAACmD,EAAtB,eAAhB;AAEA,aAAOnD,MAAP;AACA;;;;uGAED,kBAAyBjB,OAAzB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wBAG4BA,OAAO,IAAI,EAHvC,EAGSqE,cAHT,SAGSA,cAHT;AAKOC,gBAAAA,UALP,GAKoBC,2BAAmBvD,GAAnB,CAAuB,UAACwD,YAAD,EAAkB;AAC3D,yBAAO;AACNA,oBAAAA,YAAY,EAAZA,YADM;AAENC,oBAAAA,OAAO,EAAE;AAFH,mBAAP;AAIA,iBALkB,CALpB;AAYOC,gBAAAA,WAZP,GAYoC,EAZpC;;AAAA,oBAcsBL,cAdtB;AAAA;AAAA;AAAA;;AAAA,+BAeI,EAfJ;AAAA;AAAA;;AAAA;AAAA,+BAgBUM,OAhBV;AAAA;AAAA,uBAkBW,wBAAO,CACZC,iBAASC,IAAT,CAAcR,cAAd,EAA8B,sBAA9B,CADY,CAAP,CAlBX;;AAAA;AAAA,8CAqBMrD,GArBN;AAAA,4GAqBU,kBAAOsC,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEEwB,4BAAAA,aAFF,GAEkB,MAAI,CAACjC,OAAL,CAAa,QAAb,CAFlB;AAAA;AAAA,mCAIGiC,aAAa,CAACC,aAAd,CAA+CzB,IAA/C,CAJH;;AAAA;AAGEkB,4BAAAA,YAHF;AAAA,8DAMG;AACNQ,8BAAAA,IAAI,EAAE1B,IADA;AAENkB,8BAAAA,YAAY,EAAZA,YAFM;AAGNC,8BAAAA,OAAO,EAAE;AAHH,6BANH;;AAAA;AAAA;AAAA;AAYJC,4BAAAA,WAAW,CAAClD,IAAZ,CACC,IAAIO,uBAAJ,CAAgB;AACfsB,8BAAAA,IAAI,EAAE,kBADS;AAEfC,8BAAAA,IAAI,EAAJA,IAFe;AAGfC,8BAAAA,aAAa;AAHE,6BAAhB,CADD;AAZI,8DAmBG,KAnBH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBArBV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAgBkB0B,GAhBlB;;AAAA;AAAA;;AAAA;AAcOC,gBAAAA,WAdP;AA6COC,gBAAAA,SA7CP,GA6CmB,kEAEbb,UAFa,uCAGZY,WAAW,CAACE,MAAZ,CAAmB,UAACC,KAAD;AAAA,yBAAW,CAAC,CAACA,KAAb;AAAA,iBAAnB,CAHY,IAKjB,mBALiB,CA7CnB;AAAA,kDAqDQ;AACNC,kBAAAA,MAAM,EAAEH,SADF;AAENxE,kBAAAA,MAAM,EAAE+D;AAFF,iBArDR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAxPwCa,0B","sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"file":"SchemaStore.js"}
|
|
1
|
+
{"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","profileImageSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","fullMessageChoicesSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAOA;;AAgBA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;AAGO,IAAMA,WAAW,GAAG;EAC1BC,YAAY,EAAZA,+BAD0B;EAE1BC,kBAAkB,EAAlBA,qCAF0B;EAG1BC,WAAW,EAAXA,8BAH0B;EAI1BC,kBAAkB,EAAlBA,qCAJ0B;EAK1BC,cAAc,EAAdA,iCAL0B;EAM1BC,kBAAkB,EAAlBA,qCAN0B;EAO1BC,wBAAwB,EAAxBA,2CAP0B;EAQ1BC,oBAAoB,EAApBA,uCAR0B;EAS1BC,UAAU,EAAVA,6BAT0B;EAU1BC,aAAa,EAAbA,gCAV0B;EAW1BC,mBAAmB,EAAnBA,sCAX0B;EAY1BC,mBAAmB,EAAnBA,sCAZ0B;EAa1BC,iBAAiB,EAAjBA,oCAb0B;EAc1BC,wBAAwB,EAAxBA;AAd0B,CAApB;;AA0CP,IAAMC,wBAAwB,GAAG,aAAjC;;IAEqBC,W;;;;;;;;;;;;;;;6FACG,Q;;;;;;;wGAEvB,iBAA0BC,OAA1B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,OAmBKA,OAAO,IAAI,EAnBhB,+BAWEC,oBAXF,EAWwBC,cAXxB,sCAWyCJ,wBAXzC,uDAYEK,uBAZF,EAYEA,uBAZF,sCAY4B,IAZ5B,uDAaEC,wBAbF,EAaEA,wBAbF,sCAa6B,IAb7B,uDAcEC,sBAdF,EAcEA,sBAdF,sCAc2B,IAd3B,0BAeEC,cAfF,QAeEA,cAfF,+BAgBEC,sBAhBF,EAgBEA,sBAhBF,sCAgB2B,IAhB3B,0BAiBEC,gBAjBF,QAiBEA,gBAjBF,EAkBEC,4BAlBF,QAkBEA,4BAlBF;gBAqBOC,OArBP,GAqBsC;kBACpCC,MAAM,EAAE,EAD4B;kBAEpCC,kBAAkB,EAAE;gBAFgB,CArBtC;;gBA0BC,IAAIL,sBAAJ,EAA4B;kBAC3BG,OAAO,CAACE,kBAAR,CAA2BC,gCAA3B,IAA6CC,MAAM,CAACC,MAAP,CAC5ChC,WAD4C,EAE3CiC,GAF2C,CAEvC,UAACC,MAAD;oBAAA,uCACFA,MADE;sBAELC,SAAS,EAAEL;oBAFN;kBAAA,CAFuC,CAA7C;gBAMA;;gBAjCF,KAmCKV,uBAnCL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAoCuB,KAAKgB,gBAAL,CACpBjB,cADoB,EAEpBI,cAFoB,EAGpBD,sBAHoB,EAIpBG,gBAJoB,CApCvB;;cAAA;gBAoCQY,MApCR;;gBA2CE,IAAIX,4BAAJ,EAAkC;kBACjCW,MAAM,CAACC,OAAP,CAAeC,OAAf,CAAuB,UAACC,KAAD,EAAW;oBACjCA,KAAK,CAACd,4BAAN,GAAqCA,4BAArC;kBACA,CAFD;gBAGA;;gBAEDC,OAAO,CAACE,kBAAR,CAA2BN,cAA3B,IAA6Cc,MAAM,CAACC,OAApD;;gBACA,mBAAAX,OAAO,CAACC,MAAR,EAAea,IAAf,4DAAuBJ,MAAM,CAACT,MAA9B;;cAlDF;gBAAA,KAqDKP,wBArDL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAsDQ,KAAKqB,kCAAL,CAAwCnB,cAAxC,EAAwDI,OAAxD,CAtDR;;cAAA;gBAAA,iCAyDQA,OAzDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;8HA4DA,kBACCJ,cADD,EAECI,OAFD;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAIOW,OAJP,GAI2B,EAJ3B;;gBAKC,KAAWH,UAAX,IAAwBR,OAAO,CAACE,kBAAhC,EAAoD;kBACnDS,OAAO,CAACG,IAAR,OAAAH,OAAO,sCAASX,OAAO,CAACE,kBAAR,CAA2BM,UAA3B,CAAT,EAAP;gBACA;;gBAPF;gBAAA,OAS6B,KAAKQ,OAAL,CAAaC,IAAb,CAAkB,0BAAlB,EAA8C;kBACzEN,OAAO,EAAPA;gBADyE,CAA9C,CAT7B;;cAAA;gBASOO,aATP;gBAAA,wBAcEC,oCAAkBC,+BAAlB,CACCF,aADD,EAECG,uBAFD,CAdF,EAaSC,QAbT,yBAaSA,QAbT,EAamBrB,MAbnB,yBAamBA,MAbnB;;gBAmBC,IAAIA,MAAM,IAAIA,MAAM,CAACsB,MAAP,GAAgB,CAA9B,EAAiC;kBAChC,oBAAAvB,OAAO,CAACC,MAAR,EAAea,IAAf,6DAAuBb,MAAvB;gBACA,CAFD,MAEO;kBACNqB,QAAQ,CAACV,OAAT,CAAiB,UAACY,OAAD,EAAa;oBAAA;;oBAC7BA,OAAO,SAAP,IAAAA,OAAO,WAAP,gCAAAA,OAAO,CAAEb,OAAT,sEAAkBC,OAAlB,CAA0B,UAACL,MAAD,EAAoB;sBAC7C,MAAI,CAACkB,0BAAL,CAAgClB,MAAhC,EAAwCX,cAAxC,EAAwDI,OAAxD;oBACA,CAFD;kBAGA,CAJD;gBAKA;;cA3BF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WA8BA,oCACCO,MADD,EAECX,cAFD,EAGCI,OAHD,EAIE;MAAA;;MACD,IAAMQ,SAAS,wBAAGD,MAAM,CAACC,SAAV,iEAAuBZ,cAAtC;;MAEA,IAAI,CAACI,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,CAAL,EAA4C;QAC3CR,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,IAAwC,EAAxC;MACA;;MAED,IAAMkB,aAAa,GAAG,4CAA+BnB,MAA/B,CAAtB;MACA,IAAMoB,KAAK,GAAG3B,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,EAAsCoB,IAAtC,CAA2C,UAACC,CAAD;QAAA,OACxD,qBAAQ,4CAA+BA,CAA/B,CAAR,EAA2CH,aAA3C,CADwD;MAAA,CAA3C,CAAd;;MAIA,IAAI,CAACC,KAAL,EAAY;QACX3B,OAAO,CAACE,kBAAR,CAA2BM,SAA3B,EAAsCM,IAAtC,CAA2CP,MAA3C;MACA;IACD;;;;2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACuB,KAAKuB,mBAAL,CAAyB1C,wBAAzB,CADvB;;cAAA;gBACO2C,OADP;gBAAA,kCAEQA,OAAO,CAACR,MAAR,GAAiB,CAFzB;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;4GAKA,kBACCS,cADD,EAECpC,cAFD,EAGCD,sBAHD,EAICG,gBAJD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAM4B,KAAKgC,mBAAL,CAAyBE,cAAzB,CAN5B;;cAAA;gBAMOC,YANP;gBAQOhC,MARP,GAQ+B,EAR/B;gBASOU,OATP,GAS2B,EAT3B;gBAWCb,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,8BACOmC,YAAY,CAACV,MADpB,yBAAhB;gBAXD;gBAgBQW,QAhBR,GAgBmB,KAAKC,OAAL,CAAa,QAAb,CAhBnB;gBAAA;gBAAA,OAiByBD,QAAQ,CAACE,UAAT,CAAoBH,YAApB,CAjBzB;;cAAA;gBAiBQI,QAjBR;;gBAmBE,KAASC,CAAT,GAAa,CAAb,EAAgBA,CAAC,GAAGL,YAAY,CAACV,MAAjC,EAAyCe,CAAC,EAA1C,EAA8C;kBAC7C,IAAI;oBACGzB,KADH,GACWoB,YAAY,CAACK,CAAD,CADvB;oBAEC/B,MAFD,GAEU8B,QAAQ,CAACC,CAAD,CAFlB;oBAICC,OAJD,GAI+B,KAAKC,mBAAL,CACjC7C,sBADiC,EAEjCkB,KAFiC,EAGjCZ,MAHiC,CAJ/B;;oBASH,IAAIsC,OAAO,IAAI5C,sBAAsB,KAAK,KAA1C,EAAiD;sBAChDY,MAAM,GAAG,KAAKkC,kBAAL,CACRlC,MADQ,EAERX,cAFQ,EAGR2C,OAHQ,EAIRzC,gBAJQ,CAAT;sBAMAa,OAAO,CAACG,IAAR,CAAaP,MAAb;oBACA;kBACD,CAlBD,CAkBE,OAAOmC,GAAP,EAAiB;oBAClBzC,MAAM,CAACa,IAAP,CACC,IAAIO,uBAAJ,CAAgB;sBACfsB,IAAI,EAAE,yBADS;sBAEfC,IAAI,uBAAEF,GAAF,aAAEA,GAAF,uCAAEA,GAAG,CAAEpD,OAAP,iDAAE,aAAcsD,IAAhB,iEAAwB,aAFb;sBAGfC,aAAa,wBAAEH,GAAF,aAAEA,GAAF,uBAAEA,GAAG,CAAEG,aAAP,mEAAwBH;oBAHtB,CAAhB,CADD;kBAOA;gBACD;;gBA/CH;gBAAA;;cAAA;gBAAA;gBAAA;gBAAA,MAiDQ,IAAIrB,uBAAJ,CAAgB;kBACrBsB,IAAI,EAAE,yBADe;kBAErBC,IAAI,qGAAE,aAAKtD,OAAP,kDAAE,cAAcsD,IAAhB,mEAAwB,aAFP;kBAGrBC,aAAa,qFAAE,aAAKA,aAAP;gBAHQ,CAAhB,CAjDR;;cAAA;gBAAA,kCAwDQ;kBACNlC,OAAO,EAAPA,OADM;kBAENV,MAAM,EAANA;gBAFM,CAxDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GA8DA,kBAAkC+B,cAAlC;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACc,wBACZc,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+BhB,cAA/B,EAA+C,qBAA/C,CADY,CADd;;cAAA;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAMA,6BACCrC,sBADD,EAECkB,KAFD,EAGCZ,MAHD,EAIE;MACD,IAAIsC,OAAJ;;MAEA,IAAI;QACHA,OAAO,GACN5C,sBAAsB,KAAK,KAA3B,GACGsD,SADH,GAEGC,8BAAYC,cAAZ,CAA2B,KAAKH,GAAhC,EAAqCnC,KAArC,EAA4CuC,UAHhD;MAIA,CALD,CAKE,OAAOV,GAAP,EAAY;QACbzC,MAAM,CAACa,IAAP,CACC,IAAIO,uBAAJ,CAAgB;UACf;UACAsB,IAAI,EAAE,iBAFS;UAGfU,eAAe,iHACdH,8BAAYI,eAAZ,GAA8BC,QADhB;QAHA,CAAhB,CADD;MASA;;MACD,OAAOhB,OAAP;IACA;;;WAED,4BACChC,MADD,EAECX,cAFD,EAGC2C,OAHD,EAICzC,gBAJD,EAKE;MACD,IAAIG,MAAgB,GAAG,EAAvB;;MAEA,IAAIM,MAAM,CAACgC,OAAX,EAAoB;QACnBtC,MAAM,CAACa,IAAP,CAAY,2BAAZ;MACA;;MAED,IAAIP,MAAM,CAACC,SAAX,EAAsB;QACrBP,MAAM,CAACa,IAAP,CAAY,6BAAZ;MACA;;MAEDP,MAAM,CAACC,SAAP,GAAmBZ,cAAnB;;MAEA,IAAIK,MAAM,CAACsB,MAAP,GAAgB,CAApB,EAAuB;QACtB,MAAM,IAAIiC,mBAAJ,CAAgB;UACrBb,IAAI,EAAE,gBADe;UAErBc,QAAQ,EAAElD,MAAM,CAACmD,EAFI;UAGrBzD,MAAM,EAANA,MAHqB;UAIrBoD,eAAe,EACd;QALoB,CAAhB,CAAN;MAOA;;MAED9C,MAAM,CAACgC,OAAP,GAAiBA,OAAjB;MAEAzC,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,oBAAeS,MAAM,CAACmD,EAAtB,eAAhB;MAEA,OAAOnD,MAAP;IACA;;;;uGAED,kBAAyBjB,OAAzB;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,QAG4BA,OAAO,IAAI,EAHvC,EAGSqE,cAHT,SAGSA,cAHT;gBAKOC,UALP,GAKoBC,2BAAmBvD,GAAnB,CAAuB,UAACwD,YAAD,EAAkB;kBAC3D,OAAO;oBACNA,YAAY,EAAZA,YADM;oBAENC,OAAO,EAAE;kBAFH,CAAP;gBAIA,CALkB,CALpB;gBAYOC,WAZP,GAYoC,EAZpC;;gBAAA,IAcsBL,cAdtB;kBAAA;kBAAA;gBAAA;;gBAAA,eAeI,EAfJ;gBAAA;gBAAA;;cAAA;gBAAA,eAgBUM,OAhBV;gBAAA;gBAAA,OAkBW,wBAAO,CACZC,iBAASC,IAAT,CAAcR,cAAd,EAA8B,sBAA9B,CADY,CAAP,CAlBX;;cAAA;gBAAA,8BAqBMrD,GArBN;kBAAA,0FAqBU,kBAAOsC,IAAP;oBAAA;oBAAA;sBAAA;wBAAA;0BAAA;4BAAA;4BAEEwB,aAFF,GAEkB,MAAI,CAACjC,OAAL,CAAa,QAAb,CAFlB;4BAAA;4BAAA,OAIGiC,aAAa,CAACC,aAAd,CAA+CzB,IAA/C,CAJH;;0BAAA;4BAGEkB,YAHF;4BAAA,kCAMG;8BACNQ,IAAI,EAAE1B,IADA;8BAENkB,YAAY,EAAZA,YAFM;8BAGNC,OAAO,EAAE;4BAHH,CANH;;0BAAA;4BAAA;4BAAA;4BAYJC,WAAW,CAAClD,IAAZ,CACC,IAAIO,uBAAJ,CAAgB;8BACfsB,IAAI,EAAE,kBADS;8BAEfC,IAAI,EAAJA,IAFe;8BAGfC,aAAa;4BAHE,CAAhB,CADD;4BAZI,kCAmBG,KAnBH;;0BAAA;0BAAA;4BAAA;wBAAA;sBAAA;oBAAA;kBAAA,CArBV;;kBAAA;oBAAA;kBAAA;gBAAA;gBAAA;gBAAA,oBAgBkB0B,GAhBlB;;cAAA;gBAAA;;cAAA;gBAcOC,WAdP;gBA6COC,SA7CP,GA6CmB,kEAEbb,UAFa,uCAGZY,WAAW,CAACE,MAAZ,CAAmB,UAACC,KAAD;kBAAA,OAAW,CAAC,CAACA,KAAb;gBAAA,CAAnB,CAHY,IAKjB,mBALiB,CA7CnB;gBAAA,kCAqDQ;kBACNC,MAAM,EAAEH,SADF;kBAENxE,MAAM,EAAE+D;gBAFF,CArDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAxPwCa,0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"schema.utility.js","names":["schemaUtil","generateNamesForSchema","schema","nameReadable","name","id","nameCamel","namesUtil","toCamel","namePascal","toPascal","generateCacheKey","options","namespace","version"],"sources":["../../../../src/features/schema/utilities/schema.utility.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\n\nconst schemaUtil = {\n\tgenerateNamesForSchema(schema: Schema) {\n\t\treturn {\n\t\t\tnameReadable: schema.name ?? schema.id,\n\t\t\tnameCamel: namesUtil.toCamel(schema.id),\n\t\t\tnamePascal: namesUtil.toPascal(schema.id),\n\t\t}\n\t},\n\n\tgenerateCacheKey(options: {\n\t\tid: string\n\t\tnamespace?: string\n\t\tversion?: string\n\t}) {\n\t\treturn `${options.id}-${options.namespace ?? 'no-namespace'}-${\n\t\t\toptions.version\n\t\t}`\n\t},\n}\n\nexport default schemaUtil\n"],"mappings":";;;;;;;AACA;;AAEA,IAAMA,UAAU,GAAG;EAClBC,sBADkB,kCACKC,MADL,EACqB;IAAA;;IACtC,OAAO;MACNC,YAAY,kBAAED,MAAM,CAACE,IAAT,uDAAiBF,MAAM,CAACG,EAD9B;MAENC,SAAS,EAAEC,4BAAUC,OAAV,CAAkBN,MAAM,CAACG,EAAzB,CAFL;MAGNI,UAAU,EAAEF,4BAAUG,QAAV,CAAmBR,MAAM,CAACG,EAA1B;IAHN,CAAP;EAKA,CAPiB;EASlBM,gBATkB,4BASDC,OATC,EAaf;IAAA;;IACF,iBAAUA,OAAO,CAACP,EAAlB,oCAAwBO,OAAO,CAACC,SAAhC,mEAA6C,cAA7C,cACCD,OAAO,CAACE,OADT;EAGA;AAjBiB,CAAnB;eAoBed,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"schemaDisk.utility.js","names":["schemaDiskUtil","resolvePath","options","destination","schema","includeFileExtension","shouldIncludeFileExtension","namespace","SchemaError","code","parameters","pathUtil","join","namesUtil","toCamel","version","id","resolveTypeFilePaths","cwd","generateStandaloneTypesFile","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","resolvedSchemaTypesDestination","diskUtil","isDirPath","resolvedSchemaTypesDestinationDirOrFile","dirname","resolvedFieldTypesDestination","deleteOrphanedSchemas","resolvedDestination","schemaTemplateItems","schemaGeneratorUtil","filterSchemaFilesBySchemaIds","map","item","definitionsToDelete","forEach","def","deleteFile"],"sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { Schema, SchemaError, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport schemaGeneratorUtil from './schemaGenerator.utility'\n\nconst schemaDiskUtil = {\n\tresolvePath(options: {\n\t\tdestination: string\n\t\tschema: Schema\n\t\tshouldIncludeFileExtension?: boolean\n\t}) {\n\t\tconst {\n\t\t\tdestination,\n\t\t\tschema,\n\t\t\tshouldIncludeFileExtension: includeFileExtension,\n\t\t} = options\n\n\t\tif (!schema.namespace) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['namespace'],\n\t\t\t})\n\t\t}\n\n\t\treturn pathUtil.join(\n\t\t\tdestination,\n\t\t\tnamesUtil.toCamel(schema.namespace),\n\t\t\tschema.version ?? '',\n\t\t\t`${schema.id}.schema${includeFileExtension === false ? '' : '.ts'}`\n\t\t)\n\t},\n\n\tresolveTypeFilePaths(options: {\n\t\tcwd: string\n\t\tgenerateStandaloneTypesFile: boolean\n\t\tschemaTypesDestinationDirOrFile: string\n\t\tfieldTypesDestinationDir: string\n\t}) {\n\t\tconst {\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t} = options\n\n\t\tconst resolvedSchemaTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile &&\n\t\t\t\tdiskUtil.isDirPath(schemaTypesDestinationDirOrFile)\n\t\t\t\t? diskUtil.resolvePath(\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\t\t\t\t'core.schemas.types.ts'\n\t\t\t\t )\n\t\t\t\t: schemaTypesDestinationDirOrFile\n\t\t)\n\n\t\tconst resolvedSchemaTypesDestinationDirOrFile = diskUtil.isDirPath(\n\t\t\tresolvedSchemaTypesDestination\n\t\t)\n\t\t\t? resolvedSchemaTypesDestination\n\t\t\t: pathUtil.dirname(resolvedSchemaTypesDestination)\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tfieldTypesDestinationDir ?? resolvedSchemaTypesDestinationDirOrFile\n\t\t)\n\n\t\treturn {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t}\n\t},\n\n\tasync deleteOrphanedSchemas(\n\t\tresolvedDestination: string,\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t) {\n\t\tconst definitionsToDelete =\n\t\t\tawait schemaGeneratorUtil.filterSchemaFilesBySchemaIds(\n\t\t\t\tresolvedDestination,\n\t\t\t\tschemaTemplateItems.map((item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tversion: item.schema.version,\n\t\t\t\t}))\n\t\t\t)\n\n\t\tdefinitionsToDelete.forEach((def) => diskUtil.deleteFile(def))\n\t},\n}\n\nexport default schemaDiskUtil\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,cAAc,GAAG;EACtBC,WADsB,uBACVC,OADU,EAKnB;IAAA;;IACF,IACCC,WADD,GAIID,OAJJ,CACCC,WADD;IAAA,IAECC,MAFD,GAIIF,OAJJ,CAECE,MAFD;IAAA,IAG6BC,oBAH7B,GAIIH,OAJJ,CAGCI,0BAHD;;IAMA,IAAI,CAACF,MAAM,CAACG,SAAZ,EAAuB;MACtB,MAAM,IAAIC,mBAAJ,CAAgB;QACrBC,IAAI,EAAE,oBADe;QAErBC,UAAU,EAAE,CAAC,WAAD;MAFS,CAAhB,CAAN;IAIA;;IAED,OAAOC,iBAASC,IAAT,CACNT,WADM,EAENU,4BAAUC,OAAV,CAAkBV,MAAM,CAACG,SAAzB,CAFM,qBAGNH,MAAM,CAACW,OAHD,6DAGY,EAHZ,YAIHX,MAAM,CAACY,EAJJ,oBAIgBX,oBAAoB,KAAK,KAAzB,GAAiC,EAAjC,GAAsC,KAJtD,EAAP;EAMA,CAzBqB;EA2BtBY,oBA3BsB,gCA2BDf,OA3BC,EAgCnB;IACF,IACCgB,GADD,GAKIhB,OALJ,CACCgB,GADD;IAAA,IAECC,2BAFD,GAKIjB,OALJ,CAECiB,2BAFD;IAAA,IAGCC,+BAHD,GAKIlB,OALJ,CAGCkB,+BAHD;IAAA,IAICC,wBAJD,GAKInB,OALJ,CAICmB,wBAJD;;IAOA,IAAMC,8BAA8B,GAAGC,2BAAStB,WAAT,CACtCiB,GADsC,EAEtCC,2BAA2B,IAC1BI,2BAASC,SAAT,CAAmBJ,+BAAnB,CADD,GAEGG,2BAAStB,WAAT,CACAiB,GADA,EAEAE,+BAFA,EAGA,uBAHA,CAFH,GAOGA,+BATmC,CAAvC;;IAYA,IAAMK,uCAAuC,GAAGF,2BAASC,SAAT,CAC/CF,8BAD+C,IAG7CA,8BAH6C,GAI7CX,iBAASe,OAAT,CAAiBJ,8BAAjB,CAJH;;IAMA,IAAMK,6BAA6B,GAAGJ,2BAAStB,WAAT,CACrCiB,GADqC,EAErCG,wBAFqC,aAErCA,wBAFqC,cAErCA,wBAFqC,GAETI,uCAFS,CAAtC;;IAKA,OAAO;MACNE,6BAA6B,EAA7BA,6BADM;MAENF,uCAAuC,EAAvCA,uCAFM;MAGNH,8BAA8B,EAA9BA;IAHM,CAAP;EAKA,CApEqB;EAsEhBM,qBAtEgB,iCAuErBC,mBAvEqB,EAwErBC,mBAxEqB,EAyEpB;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OAEMC,4BAAoBC,4BAApB,CACLH,mBADK,EAELC,mBAAmB,CAACG,GAApB,CAAwB,UAACC,IAAD;gBAAA,uCACpBA,IADoB;kBAEvBnB,OAAO,EAAEmB,IAAI,CAAC9B,MAAL,CAAYW;gBAFE;cAAA,CAAxB,CAFK,CAFN;;YAAA;cACKoB,mBADL;cAUDA,mBAAmB,CAACC,OAApB,CAA4B,UAACC,GAAD;gBAAA,OAASd,2BAASe,UAAT,CAAoBD,GAApB,CAAT;cAAA,CAA5B;;YAVC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EAWD;AApFqB,CAAvB;eAuFerC,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"schemaGenerator.utility.js","names":["schemaGeneratorUtil","filterSchemaFilesBySchemaIds","lookupDir","schemas","pathUtil","join","matches","filtered","filter","match","found","schema","id","namespace","version","regexString","sep","namesUtil","toCamel","idx","search","RegExp"],"sources":["../../../../src/features/schema/utilities/schemaGenerator.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\n\nconst schemaGeneratorUtil = {\n\tasync filterSchemaFilesBySchemaIds(\n\t\tlookupDir: string,\n\t\tschemas: { id: string; namespace?: string; version?: string }[]\n\t): Promise<string[]> {\n\t\tconst matches = await globby(\n\t\t\tpathUtil.join(lookupDir, '/**/*.schema.[t|j]s')\n\t\t)\n\t\tconst filtered = matches.filter((match) => {\n\t\t\tlet found = false\n\n\t\t\tfor (const schema of schemas) {\n\t\t\t\tconst { id, namespace, version } = schema\n\t\t\t\tlet regexString = `${pathUtil.sep}${id}.schema.[t|j]s`\n\n\t\t\t\tif (version) {\n\t\t\t\t\tregexString = pathUtil.sep + version + regexString\n\t\t\t\t}\n\n\t\t\t\tif (namespace) {\n\t\t\t\t\tregexString = namesUtil.toCamel(namespace) + regexString\n\t\t\t\t}\n\n\t\t\t\tconst idx = match.search(new RegExp(regexString))\n\t\t\t\tif (idx > -1) {\n\t\t\t\t\tfound = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !found\n\t\t})\n\t\treturn filtered\n\t},\n}\n\nexport default schemaGeneratorUtil\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG;EACrBC,4BADqB,wCAE1BC,SAF0B,EAG1BC,OAH0B,EAIN;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACE,wBACrBC,iBAASC,IAAT,CAAcH,SAAd,EAAyB,qBAAzB,CADqB,CADF;;YAAA;cACdI,OADc;cAIdC,QAJc,GAIHD,OAAO,CAACE,MAAR,CAAe,UAACC,KAAD,EAAW;gBAC1C,IAAIC,KAAK,GAAG,KAAZ;;gBAD0C,2CAGrBP,OAHqB;gBAAA;;gBAAA;kBAG1C,oDAA8B;oBAAA,IAAnBQ,MAAmB;oBAC7B,IAAQC,EAAR,GAAmCD,MAAnC,CAAQC,EAAR;oBAAA,IAAYC,SAAZ,GAAmCF,MAAnC,CAAYE,SAAZ;oBAAA,IAAuBC,OAAvB,GAAmCH,MAAnC,CAAuBG,OAAvB;oBACA,IAAIC,WAAW,aAAMX,iBAASY,GAAf,SAAqBJ,EAArB,mBAAf;;oBAEA,IAAIE,OAAJ,EAAa;sBACZC,WAAW,GAAGX,iBAASY,GAAT,GAAeF,OAAf,GAAyBC,WAAvC;oBACA;;oBAED,IAAIF,SAAJ,EAAe;sBACdE,WAAW,GAAGE,4BAAUC,OAAV,CAAkBL,SAAlB,IAA+BE,WAA7C;oBACA;;oBAED,IAAMI,GAAG,GAAGV,KAAK,CAACW,MAAN,CAAa,IAAIC,MAAJ,CAAWN,WAAX,CAAb,CAAZ;;oBACA,IAAII,GAAG,GAAG,CAAC,CAAX,EAAc;sBACbT,KAAK,GAAG,IAAR;sBACA;oBACA;kBACD;gBApByC;kBAAA;gBAAA;kBAAA;gBAAA;;gBAsB1C,OAAO,CAACA,KAAR;cACA,CAvBgB,CAJG;cAAA,iCA4BbH,QA5Ba;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EA6BpB;AAjC0B,CAA5B;eAoCeP,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":["SchemaWriter","filename","templateFuncName","description","destinationDir","options","ui","startLoading","nameCamel","resolvedBuilderDestination","shouldEnableVersioning","pathUtil","resolve","versionUtil","resolveNewLatestPath","version","LATEST_HANDLEBARS","diskUtil","doesFileExist","SpruceError","code","schemaId","destination","builderContent","templates","schemaBuilder","writeFileIfChangedMixinResults","results","lint","fieldTemplateItems","fieldTemplates","fileAndFunc","resolvedDestination","path","join","contents","destinationDirOrFilename","schemaTemplateItems","valueTypes","typesTemplate","resolvedTypesDestination","resolveFilenameWithFallback","DEFAULT_SCHEMA_TYPES_FILENAME","localItems","filter","i","importFrom","length","schemaTypesContents","schemasTypes","globalSchemaNamespace","writeAllSchemas","dirname","typesFile","allSchemaResults","push","item","writeSchema","schemaResults","registerBuiltSchemas","schemaDiskUtil","resolvePath","schema","relative","undefined","replace","extname","schemaContents","schemaFile","shouldImportCoreSchemas","id","cwd","resolveHashSprucePath","pluginContents","schemaPlugin","AbstractWriter"],"mappings":"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","sourcesContent":["import path from 'path'\nimport pathUtil from 'path'\nimport { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tLATEST_HANDLEBARS,\n\tDEFAULT_SCHEMA_TYPES_FILENAME,\n} from '@sprucelabs/spruce-skill-utils'\nimport {\n\tSchemaBuilderTemplateItem,\n\tValueTypes,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\n\ninterface WriteFieldTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n}\n\n// eslint-disable-next-line no-redeclare\nexport interface GenerateSchemaTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n\tschemaTemplateItems: SchemaTemplateItem[]\n\tvalueTypes: ValueTypes\n\tglobalSchemaNamespace?: string\n\ttypesTemplate?: string\n\tregisterBuiltSchemas?: boolean\n\tshouldImportCoreSchemas: boolean\n}\n\nexport default class SchemaWriter extends AbstractWriter {\n\tprivate readonly fieldTemplates: {\n\t\tfilename: string\n\t\ttemplateFuncName: 'fieldsTypes' | 'fieldClassMap'\n\t\tdescription: string\n\t}[] = [\n\t\t{\n\t\t\tfilename: 'fields.types.ts',\n\t\t\ttemplateFuncName: 'fieldsTypes',\n\t\t\tdescription:\n\t\t\t\t'All the interfaces generated for every type of schema field (text, number, address, etc).',\n\t\t},\n\t\t{\n\t\t\tfilename: 'fieldClassMap.ts',\n\t\t\ttemplateFuncName: 'fieldClassMap',\n\t\t\tdescription:\n\t\t\t\t'An object that is injected into the FieldFactory and ensures 3rd party fields are integrated.',\n\t\t},\n\t]\n\n\tpublic async writeBuilder(\n\t\tdestinationDir: string,\n\t\toptions: SchemaBuilderTemplateItem & {\n\t\t\tshouldEnableVersioning?: boolean\n\t\t\tversion?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Writing builder...')\n\n\t\tconst filename = `${options.nameCamel}.builder.ts`\n\n\t\tconst resolvedBuilderDestination =\n\t\t\toptions.shouldEnableVersioning === false\n\t\t\t\t? pathUtil.resolve(destinationDir, filename)\n\t\t\t\t: versionUtil.resolveNewLatestPath(\n\t\t\t\t\t\tdestinationDir,\n\t\t\t\t\t\toptions.version ?? LATEST_HANDLEBARS,\n\t\t\t\t\t\tfilename\n\t\t\t\t )\n\n\t\tif (diskUtil.doesFileExist(resolvedBuilderDestination)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_EXISTS',\n\t\t\t\tschemaId: options.nameCamel,\n\t\t\t\tdestination: destinationDir,\n\t\t\t})\n\t\t}\n\n\t\tconst builderContent = this.templates.schemaBuilder(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedBuilderDestination,\n\t\t\tbuilderContent,\n\t\t\t'The source of truth for building your schemas and their types. Run spruce sync.errors when you change this.'\n\t\t)\n\n\t\tawait this.lint(resolvedBuilderDestination)\n\n\t\treturn results\n\t}\n\n\tpublic async writeFieldTypes(\n\t\tdestinationDir: string,\n\t\toptions: WriteFieldTypesOptions\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Checking schema field types...')\n\n\t\tconst { fieldTemplateItems } = options\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const fileAndFunc of this.fieldTemplates) {\n\t\t\tconst { filename, templateFuncName, description } = fileAndFunc\n\n\t\t\tconst resolvedDestination = path.join(destinationDir, 'fields', filename)\n\n\t\t\tconst contents = this.templates[templateFuncName]({\n\t\t\t\tfieldTemplateItems,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\tcontents,\n\t\t\t\tdescription,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchemasAndTypes(\n\t\tdestinationDirOrFilename: string,\n\t\toptions: GenerateSchemaTypesOptions\n\t): Promise<WriteResults> {\n\t\tconst {\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesTemplate,\n\t\t} = options\n\n\t\tconst resolvedTypesDestination = this.resolveFilenameWithFallback(\n\t\t\tdestinationDirOrFilename,\n\t\t\tDEFAULT_SCHEMA_TYPES_FILENAME\n\t\t)\n\n\t\tlet results: WriteResults = []\n\t\tthis.ui.startLoading('Generating schema types...')\n\n\t\tconst localItems = schemaTemplateItems.filter((i) => !i.importFrom)\n\n\t\tif (localItems.length > 0) {\n\t\t\tconst schemaTypesContents = this.templates.schemasTypes({\n\t\t\t\tschemaTemplateItems: localItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tvalueTypes,\n\t\t\t\tglobalSchemaNamespace: options.globalSchemaNamespace,\n\t\t\t\ttypesTemplate,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedTypesDestination,\n\t\t\t\tschemaTypesContents,\n\t\t\t\t'Namespace for accessing all your schemas. Type `SpruceSchemas` in your IDE to get started. ⚡️'\n\t\t\t)\n\n\t\t\tawait this.lint(resolvedTypesDestination)\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Checking ${schemaTemplateItems.length} schemas for changes...`\n\t\t)\n\n\t\tconst allSchemaResults = await this.writeAllSchemas(\n\t\t\tpathUtil.dirname(resolvedTypesDestination),\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\ttypesFile: resolvedTypesDestination,\n\t\t\t}\n\t\t)\n\n\t\tresults.push(...allSchemaResults)\n\n\t\treturn results\n\t}\n\n\tprivate async writeAllSchemas(\n\t\tdestinationDir: string,\n\t\toptions: GenerateSchemaTypesOptions & { typesFile?: string }\n\t): Promise<WriteResults> {\n\t\tconst results: WriteResults = []\n\n\t\tfor (const item of options.schemaTemplateItems) {\n\t\t\tconst schemaResults = await this.writeSchema(destinationDir, {\n\t\t\t\t...options,\n\t\t\t\t...item,\n\t\t\t})\n\t\t\tresults.push(...schemaResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchema(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tvalueTypes: ValueTypes\n\t\t\ttypesFile?: string\n\t\t\tregisterBuiltSchemas?: boolean\n\t\t\tshouldImportCoreSchemas: boolean\n\t\t} & SchemaTemplateItem\n\t) {\n\t\tconst {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\tregisterBuiltSchemas = true,\n\t\t\t...item\n\t\t} = options\n\n\t\tconst resolvedDestination = schemaDiskUtil.resolvePath({\n\t\t\tdestination: destinationDir,\n\t\t\tschema: options.schema,\n\t\t})\n\n\t\tlet typesFile = options.typesFile\n\t\t\t? pathUtil.relative(\n\t\t\t\t\tpathUtil.dirname(resolvedDestination),\n\t\t\t\t\toptions.typesFile\n\t\t\t )\n\t\t\t: undefined\n\n\t\tif (typesFile) {\n\t\t\ttypesFile = typesFile.replace(pathUtil.extname(typesFile), '')\n\t\t}\n\n\t\tconst schemaContents = this.templates.schema({\n\t\t\t...item,\n\t\t\tregisterBuiltSchemas,\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesFile,\n\t\t\tschemaFile:\n\t\t\t\titem.importFrom && options.shouldImportCoreSchemas\n\t\t\t\t\t? `schema/imported.schema.ts.hbs`\n\t\t\t\t\t: undefined,\n\t\t})\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\tschemaContents,\n\t\t\t`${\n\t\t\t\titem.schema.description ? `${item.schema.description} ` : ''\n\t\t\t}This is the schema generated by ${\n\t\t\t\titem.id\n\t\t\t}.builder.ts. AUTOGENERATED. DO NOT EDIT.`\n\t\t)\n\t}\n\n\tpublic async writeValueTypes(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tglobalSchemaNamespace?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.valueTypes(options)\n\t\tconst destination = pathUtil.join(destinationDir, 'tmp', 'valueType.tmp.ts')\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'For constructing what goes to the right of the : after each property in the interface.'\n\t\t)\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'schema.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.schemaPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Enable schema support in your skill.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"file":"SchemaWriter.js"}
|
|
1
|
+
{"version":3,"file":"SchemaWriter.js","names":["SchemaWriter","filename","templateFuncName","description","destinationDir","options","ui","startLoading","nameCamel","resolvedBuilderDestination","shouldEnableVersioning","pathUtil","resolve","versionUtil","resolveNewLatestPath","version","LATEST_HANDLEBARS","diskUtil","doesFileExist","SpruceError","code","schemaId","destination","builderContent","templates","schemaBuilder","writeFileIfChangedMixinResults","results","lint","fieldTemplateItems","fieldTemplates","fileAndFunc","resolvedDestination","path","join","contents","destinationDirOrFilename","schemaTemplateItems","valueTypes","typesTemplate","resolvedTypesDestination","resolveFilenameWithFallback","DEFAULT_SCHEMA_TYPES_FILENAME","localItems","filter","i","importFrom","length","schemaTypesContents","schemasTypes","globalSchemaNamespace","writeAllSchemas","dirname","typesFile","allSchemaResults","push","item","writeSchema","schemaResults","registerBuiltSchemas","schemaDiskUtil","resolvePath","schema","relative","undefined","replace","extname","schemaContents","schemaFile","shouldImportCoreSchemas","id","cwd","resolveHashSprucePath","pluginContents","schemaPlugin","AbstractWriter"],"sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"sourcesContent":["import path from 'path'\nimport pathUtil from 'path'\nimport { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tLATEST_HANDLEBARS,\n\tDEFAULT_SCHEMA_TYPES_FILENAME,\n} from '@sprucelabs/spruce-skill-utils'\nimport {\n\tSchemaBuilderTemplateItem,\n\tValueTypes,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\n\ninterface WriteFieldTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n}\n\n// eslint-disable-next-line no-redeclare\nexport interface GenerateSchemaTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n\tschemaTemplateItems: SchemaTemplateItem[]\n\tvalueTypes: ValueTypes\n\tglobalSchemaNamespace?: string\n\ttypesTemplate?: string\n\tregisterBuiltSchemas?: boolean\n\tshouldImportCoreSchemas: boolean\n}\n\nexport default class SchemaWriter extends AbstractWriter {\n\tprivate readonly fieldTemplates: {\n\t\tfilename: string\n\t\ttemplateFuncName: 'fieldsTypes' | 'fieldClassMap'\n\t\tdescription: string\n\t}[] = [\n\t\t{\n\t\t\tfilename: 'fields.types.ts',\n\t\t\ttemplateFuncName: 'fieldsTypes',\n\t\t\tdescription:\n\t\t\t\t'All the interfaces generated for every type of schema field (text, number, address, etc).',\n\t\t},\n\t\t{\n\t\t\tfilename: 'fieldClassMap.ts',\n\t\t\ttemplateFuncName: 'fieldClassMap',\n\t\t\tdescription:\n\t\t\t\t'An object that is injected into the FieldFactory and ensures 3rd party fields are integrated.',\n\t\t},\n\t]\n\n\tpublic async writeBuilder(\n\t\tdestinationDir: string,\n\t\toptions: SchemaBuilderTemplateItem & {\n\t\t\tshouldEnableVersioning?: boolean\n\t\t\tversion?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Writing builder...')\n\n\t\tconst filename = `${options.nameCamel}.builder.ts`\n\n\t\tconst resolvedBuilderDestination =\n\t\t\toptions.shouldEnableVersioning === false\n\t\t\t\t? pathUtil.resolve(destinationDir, filename)\n\t\t\t\t: versionUtil.resolveNewLatestPath(\n\t\t\t\t\t\tdestinationDir,\n\t\t\t\t\t\toptions.version ?? LATEST_HANDLEBARS,\n\t\t\t\t\t\tfilename\n\t\t\t\t )\n\n\t\tif (diskUtil.doesFileExist(resolvedBuilderDestination)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_EXISTS',\n\t\t\t\tschemaId: options.nameCamel,\n\t\t\t\tdestination: destinationDir,\n\t\t\t})\n\t\t}\n\n\t\tconst builderContent = this.templates.schemaBuilder(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedBuilderDestination,\n\t\t\tbuilderContent,\n\t\t\t'The source of truth for building your schemas and their types. Run spruce sync.errors when you change this.'\n\t\t)\n\n\t\tawait this.lint(resolvedBuilderDestination)\n\n\t\treturn results\n\t}\n\n\tpublic async writeFieldTypes(\n\t\tdestinationDir: string,\n\t\toptions: WriteFieldTypesOptions\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Checking schema field types...')\n\n\t\tconst { fieldTemplateItems } = options\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const fileAndFunc of this.fieldTemplates) {\n\t\t\tconst { filename, templateFuncName, description } = fileAndFunc\n\n\t\t\tconst resolvedDestination = path.join(destinationDir, 'fields', filename)\n\n\t\t\tconst contents = this.templates[templateFuncName]({\n\t\t\t\tfieldTemplateItems,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\tcontents,\n\t\t\t\tdescription,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchemasAndTypes(\n\t\tdestinationDirOrFilename: string,\n\t\toptions: GenerateSchemaTypesOptions\n\t): Promise<WriteResults> {\n\t\tconst {\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesTemplate,\n\t\t} = options\n\n\t\tconst resolvedTypesDestination = this.resolveFilenameWithFallback(\n\t\t\tdestinationDirOrFilename,\n\t\t\tDEFAULT_SCHEMA_TYPES_FILENAME\n\t\t)\n\n\t\tlet results: WriteResults = []\n\t\tthis.ui.startLoading('Generating schema types...')\n\n\t\tconst localItems = schemaTemplateItems.filter((i) => !i.importFrom)\n\n\t\tif (localItems.length > 0) {\n\t\t\tconst schemaTypesContents = this.templates.schemasTypes({\n\t\t\t\tschemaTemplateItems: localItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tvalueTypes,\n\t\t\t\tglobalSchemaNamespace: options.globalSchemaNamespace,\n\t\t\t\ttypesTemplate,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedTypesDestination,\n\t\t\t\tschemaTypesContents,\n\t\t\t\t'Namespace for accessing all your schemas. Type `SpruceSchemas` in your IDE to get started. ⚡️'\n\t\t\t)\n\n\t\t\tawait this.lint(resolvedTypesDestination)\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Checking ${schemaTemplateItems.length} schemas for changes...`\n\t\t)\n\n\t\tconst allSchemaResults = await this.writeAllSchemas(\n\t\t\tpathUtil.dirname(resolvedTypesDestination),\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\ttypesFile: resolvedTypesDestination,\n\t\t\t}\n\t\t)\n\n\t\tresults.push(...allSchemaResults)\n\n\t\treturn results\n\t}\n\n\tprivate async writeAllSchemas(\n\t\tdestinationDir: string,\n\t\toptions: GenerateSchemaTypesOptions & { typesFile?: string }\n\t): Promise<WriteResults> {\n\t\tconst results: WriteResults = []\n\n\t\tfor (const item of options.schemaTemplateItems) {\n\t\t\tconst schemaResults = await this.writeSchema(destinationDir, {\n\t\t\t\t...options,\n\t\t\t\t...item,\n\t\t\t})\n\t\t\tresults.push(...schemaResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchema(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tvalueTypes: ValueTypes\n\t\t\ttypesFile?: string\n\t\t\tregisterBuiltSchemas?: boolean\n\t\t\tshouldImportCoreSchemas: boolean\n\t\t} & SchemaTemplateItem\n\t) {\n\t\tconst {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\tregisterBuiltSchemas = true,\n\t\t\t...item\n\t\t} = options\n\n\t\tconst resolvedDestination = schemaDiskUtil.resolvePath({\n\t\t\tdestination: destinationDir,\n\t\t\tschema: options.schema,\n\t\t})\n\n\t\tlet typesFile = options.typesFile\n\t\t\t? pathUtil.relative(\n\t\t\t\t\tpathUtil.dirname(resolvedDestination),\n\t\t\t\t\toptions.typesFile\n\t\t\t )\n\t\t\t: undefined\n\n\t\tif (typesFile) {\n\t\t\ttypesFile = typesFile.replace(pathUtil.extname(typesFile), '')\n\t\t}\n\n\t\tconst schemaContents = this.templates.schema({\n\t\t\t...item,\n\t\t\tregisterBuiltSchemas,\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesFile,\n\t\t\tschemaFile:\n\t\t\t\titem.importFrom && options.shouldImportCoreSchemas\n\t\t\t\t\t? `schema/imported.schema.ts.hbs`\n\t\t\t\t\t: undefined,\n\t\t})\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\tschemaContents,\n\t\t\t`${\n\t\t\t\titem.schema.description ? `${item.schema.description} ` : ''\n\t\t\t}This is the schema generated by ${\n\t\t\t\titem.id\n\t\t\t}.builder.ts. AUTOGENERATED. DO NOT EDIT.`\n\t\t)\n\t}\n\n\tpublic async writeValueTypes(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tglobalSchemaNamespace?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.valueTypes(options)\n\t\tconst destination = pathUtil.join(destinationDir, 'tmp', 'valueType.tmp.ts')\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'For constructing what goes to the right of the : after each property in the interface.'\n\t\t)\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'schema.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.schemaPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Enable schema support in your skill.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
|