@sprucelabs/spruce-cli 14.19.3 → 14.21.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/.nvmrc +1 -1
- package/CHANGELOG.md +38 -0
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.d.ts +11 -0
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js +27 -0
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js.map +1 -0
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.d.ts +10 -0
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js +24 -0
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js.map +1 -0
- package/build/.spruce/events/events.contract.d.ts +74 -147
- package/build/.spruce/events/events.contract.js +4 -10
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +15 -0
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +17 -2
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +21 -4
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +24 -7
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +21 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +26 -6
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +11 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.d.ts +3 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js +29 -0
- package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js +36 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js +46 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js +35 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js +59 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js +54 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js.map +1 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.d.ts +3 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js +37 -0
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js.map +1 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js +11 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.d.ts +3 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js +29 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js.map +1 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js +11 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js +11 -0
- 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 +2 -2
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js +2 -2
- 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 +11 -0
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.d.ts +1 -0
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/{text.schema.js → theme.schema.js} +2 -2
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -0
- package/build/.spruce/schemas/schemas.types.d.ts +368 -851
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +46 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -0
- package/build/GlobalEmitter.d.ts +11 -0
- package/build/GlobalEmitter.js +11 -0
- package/build/GlobalEmitter.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.d.ts +3 -2
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +237 -162
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +5 -83
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.d.ts +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.d.ts +3 -2
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +174 -31
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.d.ts +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +61 -61
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/{CreatingAnEvent.test.d.ts → events/CreatingAnEvent.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{CreatingAnEvent.test.js → events/CreatingAnEvent.test.js} +3 -3
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -0
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +4 -2
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.d.ts +6 -0
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +168 -0
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -0
- package/build/__tests__/behavioral/{CreatingASkill.test.d.ts → skill/CreatingASkill.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{CreatingASkill.test.js → skill/CreatingASkill.test.js} +3 -3
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +5 -0
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +144 -19
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +4 -4
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +4 -4
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.d.ts +1 -1
- package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.js +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -0
- package/build/cli.js +6 -7
- package/build/cli.js.map +1 -1
- package/build/features/FeatureInstaller.d.ts +2 -32
- package/build/features/conversation/writers/ConversationWriter.d.ts +1 -1
- package/build/features/error/ErrorFeature.js +66 -35
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/event/EventFeature.js +4 -4
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js +1 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.d.ts +2 -2
- package/build/features/features.types.d.ts +1 -1
- package/build/features/log/actions/CreateTransportAction.d.ts +1 -1
- package/build/features/log/writers/LogWriter.d.ts +1 -1
- package/build/features/node/NodeFeature.d.ts +7 -22
- package/build/features/node/NodeFeature.js +49 -72
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.d.ts +12 -0
- package/build/features/node/actions/CreateAction.js +92 -0
- package/build/features/node/actions/CreateAction.js.map +1 -0
- package/build/features/node/actions/UpdateDependenciesAction.js +13 -16
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.d.ts +2 -2
- package/build/features/sandbox/actions/SetupAction.d.ts +1 -1
- package/build/features/schema/actions/SyncAction.js +1 -1
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +4 -6
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.d.ts +0 -3
- package/build/features/skill/SkillFeature.js +6 -31
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/stores/SkillStore.d.ts +1 -1
- package/build/features/skill/stores/SkillStore.js +8 -1
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.d.ts +3 -1
- package/build/features/skill/updaters/Updater.js +43 -5
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/store/actions/SyncAction.d.ts +1 -1
- package/build/features/store/writers/StoreWriter.d.ts +1 -1
- package/build/features/universalDevDependencies.d.ts +5 -0
- package/build/features/universalDevDependencies.js +40 -0
- package/build/features/universalDevDependencies.js.map +1 -0
- package/build/features/universalScripts.d.ts +0 -3
- package/build/features/universalScripts.js +0 -3
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/view/stores/ViewStore.d.ts +1 -1
- package/build/interfaces/SpyInterface.js +7 -1
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.d.ts +22 -0
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js +33 -0
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -0
- package/build/services/AuthService.d.ts +1 -0
- package/build/services/AuthService.js +8 -0
- package/build/services/AuthService.js.map +1 -1
- package/build/services/PkgService.d.ts +2 -1
- package/build/services/PkgService.js +20 -17
- package/build/services/PkgService.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +5 -0
- package/build/tests/AbstractCliTest.js +31 -0
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractEventTest.d.ts +2 -2
- package/build/tests/buildTestCache.js +3 -0
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js +1 -0
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.d.ts +1 -1
- package/build/tests/fixtures/ViewFixture.d.ts +1 -1
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +4 -3
- package/src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts +17 -0
- package/src/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.ts +16 -0
- package/src/.spruce/events/events.contract.ts +16 -34
- package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +15 -0
- package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +21 -4
- package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +21 -1
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +7 -0
- package/src/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.ts +23 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.ts +29 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.ts +30 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.ts +23 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.ts +48 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.ts +39 -0
- package/src/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.ts +25 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.ts +7 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.ts +23 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.ts +7 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.ts +7 -0
- package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.ts +2 -2
- package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.ts +2 -2
- package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.ts +7 -0
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.ts +1 -0
- package/src/.spruce/schemas/schemas.types.ts +411 -1056
- package/src/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.ts +38 -0
- package/src/GlobalEmitter.ts +11 -0
- package/src/__tests__/behavioral/DeployingToSandbox.test.ts +47 -20
- package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -63
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +110 -5
- package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +5 -5
- package/src/__tests__/behavioral/{CreatingAnEvent.test.ts → events/CreatingAnEvent.test.ts} +6 -6
- package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -2
- package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +47 -0
- package/src/__tests__/behavioral/{CreatingASkill.test.ts → skill/CreatingASkill.test.ts} +3 -3
- package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +69 -8
- package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
- package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +3 -5
- package/src/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.ts +1 -1
- package/src/cli.ts +3 -1
- package/src/features/error/ErrorFeature.ts +11 -0
- package/src/features/event/EventFeature.ts +4 -4
- package/src/features/event/actions/SetRemoteAction.ts +1 -1
- package/src/features/event/stores/EventStore.ts +1 -0
- package/src/features/node/NodeFeature.ts +37 -41
- package/src/features/node/actions/CreateAction.ts +34 -0
- package/src/features/node/actions/UpdateDependenciesAction.ts +5 -6
- package/src/features/schema/actions/SyncAction.ts +1 -2
- package/src/features/schema/writers/SchemaWriter.ts +3 -5
- package/src/features/skill/SkillFeature.ts +5 -12
- package/src/features/skill/stores/SkillStore.ts +5 -0
- package/src/features/skill/updaters/Updater.ts +25 -2
- package/src/features/universalDevDependencies.ts +14 -0
- package/src/features/universalScripts.ts +0 -5
- package/src/interfaces/SpyInterface.ts +6 -1
- package/src/schemas/v2020_07_22/nodeFeatureOptions.builder.ts +24 -0
- package/src/services/AuthService.ts +7 -0
- package/src/services/PkgService.ts +10 -4
- package/src/tests/AbstractCliTest.ts +11 -0
- package/src/tests/buildTestCache.ts +2 -0
- package/src/tests/cleanTestData.ts +1 -0
- package/src/writers/AbstractWriter.ts +0 -1
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +0 -25
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +0 -41
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.d.ts +0 -25
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +0 -41
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.d.ts +0 -25
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +0 -41
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +0 -28
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +0 -42
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.d.ts +0 -46
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +0 -60
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js +0 -28
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js +0 -66
- package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js +0 -50
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js +0 -59
- package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js +0 -30
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js +0 -34
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js +0 -30
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js +0 -33
- package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js +0 -52
- package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js +0 -44
- package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js +0 -29
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js +0 -29
- package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js +0 -29
- package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js +0 -29
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js +0 -78
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js +0 -37
- package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js +0 -51
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js +0 -37
- package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js +0 -38
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js +0 -35
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js +0 -29
- package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.d.ts +0 -3
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js +0 -35
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js.map +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.d.ts +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js.map +0 -1
- package/build/__tests__/behavioral/CreatingASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/CreatingAnEvent.test.js.map +0 -1
- package/build/__tests__/behavioral/node/SettingUpANodeModule.test.js.map +0 -1
- package/build/__tests__/support/coreEventContract.d.ts +0 -3
- package/build/__tests__/support/coreEventContract.js +0 -5152
- package/build/__tests__/support/coreEventContract.js.map +0 -1
- package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +0 -33
- package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +0 -34
- package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +0 -33
- package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +0 -37
- package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +0 -56
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.ts +0 -22
- package/src/.spruce/schemas/forms/v2021_07_02/builtForm.schema.ts +0 -50
- package/src/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.ts +0 -41
- package/src/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.ts +0 -44
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.ts +0 -24
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.ts +0 -22
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.ts +0 -24
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.ts +0 -25
- package/src/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.ts +0 -38
- package/src/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.ts +0 -29
- package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.ts +0 -58
- package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.ts +0 -25
- package/src/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.ts +0 -42
- package/src/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.ts +0 -25
- package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.ts +0 -29
- package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
- package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.ts +0 -23
- package/src/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.ts +0 -23
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.ts +0 -1
- package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.ts +0 -1
- package/src/__tests__/support/coreEventContract.ts +0 -4184
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;;;;;;;;;;;IAKqBA,U;;;;;;;;;;;;;;;sGACGC,8B;uGACC,CAAC,cAAD,C;0GAEvB,qE;qGAE+B,MAAKC,MAAL,CAAY,QAAZ,C;oGACD,MAAKC,KAAL,CAAW,QAAX,C;;;;;;;mGAE/B,iBAAqBC,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;AAEOG,gBAAAA,qBAFP,GAGE,KAAKC,OAAL,CAAa,KAAb,EAAoBC,GAApB,CAAwB,MAAxB,MAAoC,iCAHtC;AAMEC,gBAAAA,+BANF,GAwBKL,iBAxBL,CAMEK,+BANF,EAOEC,wBAPF,GAwBKN,iBAxBL,CAOEM,wBAPF,EAQEC,eARF,GAwBKP,iBAxBL,CAQEO,eARF,EASEC,eATF,GAwBKR,iBAxBL,CASEQ,eATF,EAUEC,sBAVF,GAwBKT,iBAxBL,CAUES,sBAVF,EAWEC,qBAXF,GAwBKV,iBAxBL,CAWEU,qBAXF,EAYEC,wBAZF,GAwBKX,iBAxBL,CAYEW,wBAZF,0BAwBKX,iBAxBL,CAaEY,6BAbF,EAaEA,6BAbF,sCAakCV,qBAblC,0BAcEW,uBAdF,GAwBKb,iBAxBL,CAcEa,uBAdF,EAeEC,kBAfF,GAwBKd,iBAxBL,CAeEc,kBAfF,EAgBEC,2BAhBF,GAwBKf,iBAxBL,CAgBEe,2BAhBF,EAiBEC,+BAjBF,GAwBKhB,iBAxBL,CAiBEgB,+BAjBF,EAkBEC,sBAlBF,GAwBKjB,iBAxBL,CAkBEiB,sBAlBF,EAmBEC,oBAnBF,GAwBKlB,iBAxBL,CAmBEkB,oBAnBF,EAoBEC,cApBF,GAwBKnB,iBAxBL,CAoBEmB,cApBF,EAqBEC,qBArBF,GAwBKpB,iBAxBL,CAqBEoB,qBArBF,EAsBEC,4BAtBF,GAwBKrB,iBAxBL,CAsBEqB,4BAtBF,EAuBEC,gCAvBF,GAwBKtB,iBAxBL,CAuBEsB,gCAvBF;AA0BC,qBAAKC,EAAL,CAAQC,YAAR,CAAqB,wCAArB;AA1BD;AAAA,uBA4B4B,KAAK1B,KAAL,CAAW,OAAX,EAAoB2B,0BAApB,EA5B5B;;AAAA;AA4BKC,gBAAAA,cA5BL;AA6BKC,gBAAAA,uBA7BL,GA6B+B,IA7B/B;;AA+BC,oBAAIf,6BAAJ,EAAmC;AAClCD,kBAAAA,wBAAwB,GAAG,KAA3B;AACAE,kBAAAA,uBAAuB,GAAG,IAA1B;AACAI,kBAAAA,sBAAsB,GAAG,KAAzB;AACAC,kBAAAA,oBAAoB,GAAG,IAAvB;AACAH,kBAAAA,2BAA2B,GAAG,IAA9B;AACAY,kBAAAA,uBAAuB,GAAG,KAA1B;AACAD,kBAAAA,cAAc,GAAGE,gCAAjB;AACA;;AAvCF,wCA+CKC,uBAAeC,oBAAf,CAAoC;AACvCC,kBAAAA,GAAG,EAAE,KAAKA,GAD6B;AAEvChB,kBAAAA,2BAA2B,EAA3BA,2BAFuC;AAGvCV,kBAAAA,+BAA+B,EAA/BA,+BAHuC;AAIvCC,kBAAAA,wBAAwB,EAAxBA;AAJuC,iBAApC,CA/CL,EA4CE0B,6BA5CF,yBA4CEA,6BA5CF,EA6CEC,uCA7CF,yBA6CEA,uCA7CF,EA8CEC,8BA9CF,yBA8CEA,8BA9CF;AAsDC,qBAAKX,EAAL,CAAQC,YAAR,CAAqB,2BAArB;AAtDD;AAAA,uBAyDQ,KAAKW,0BAAL,CAAgC;AACrC3B,kBAAAA,eAAe,EAAfA,eADqC;AAErC4B,kBAAAA,wBAAwB,EAAEtB,kBAFW;AAGrCkB,kBAAAA,6BAA6B,EAA7BA;AAHqC,iBAAhC,CAzDR;;AAAA;AAAA;AAwDSK,gBAAAA,kBAxDT,yBAwDSA,kBAxDT;AAwD6BC,gBAAAA,WAxD7B,yBAwD6BA,WAxD7B;AAwD0CC,gBAAAA,kBAxD1C,yBAwD0CA,kBAxD1C;AA+DC,qBAAKhB,EAAL,CAAQC,YAAR,CAAqBL,cAArB;AAEMqB,gBAAAA,YAjEP,GAiEqC,EAjErC;AAmEKC,gBAAAA,WAnEL,GAmEoC,EAnEpC;AAAA;AAAA;AAAA,uBAsEgC,KAAKC,2BAAL,CAAiC;AAC9DnC,kBAAAA,eAAe,EAAfA,eAD8D;AAE9DM,kBAAAA,uBAAuB,EAAvBA,uBAF8D;AAG9DQ,kBAAAA,4BAA4B,EAA5BA,4BAH8D;AAI9DY,kBAAAA,uCAAuC,EAAvCA,uCAJ8D;AAK9DxB,kBAAAA,sBAAsB,EAAtBA,sBAL8D;AAM9DE,kBAAAA,wBAAwB,EAAxBA,wBAN8D;AAO9DM,kBAAAA,sBAAsB,EAAtBA,sBAP8D;AAQ9DS,kBAAAA,cAAc,EAAdA;AAR8D,iBAAjC,CAtEhC;;AAAA;AAsEQiB,gBAAAA,eAtER;AAiFEH,gBAAAA,YAAY,CAACI,IAAb,OAAAJ,YAAY,sCAASG,eAAe,CAACH,YAAzB,EAAZ;AACAK,gBAAAA,mBAAmB,GAAGF,eAAe,CAACE,mBAAtC;AAlFF;AAAA;;AAAA;AAAA;AAAA;AAoFEL,gBAAAA,YAAY,CAACI,IAAb;;AApFF;AAAA,sBAuFKJ,YAAY,CAACM,MAAb,KAAwB,CAAxB,IAA6BD,mBAvFlC;AAAA;AAAA;AAAA;;AAAA,sBAwFM7B,+BAA+B,IAAI6B,mBAAmB,CAACC,MAApB,KAA+B,CAxFxE;AAAA;AAAA;AAAA;;AAyFGC,2CAASC,SAAT,CAAmBf,uCAAnB;;AAzFH,iDA0FU,EA1FV;;AAAA;AAAA,qBA6FMb,qBA7FN;AAAA;AAAA;AAAA;;AA8FG,qBAAKG,EAAL,CAAQC,YAAR,CAAqB,iCAArB;AA9FH;AAAA,uBAgGSK,uBAAeT,qBAAf,CACLa,uCADK,EAELY,mBAFK,CAhGT;;AAAA;AAAA;AAAA,uBAsGQ,KAAKI,8BAAL,CACLJ,mBADK,EAELvB,gCAFK,CAtGR;;AAAA;AAAA;AAAA;AAAA,uBA8GsB,KAAK4B,kBAAL,CAAwB;AAC1CC,kBAAAA,mBAAmB,EAAEnB,6BADqB;AAE1CK,kBAAAA,kBAAkB,EAAlBA,kBAF0C;AAG1CQ,kBAAAA,mBAAmB,EAAnBA,mBAH0C;AAI1CnC,kBAAAA,qBAAqB,EAAEA,qBAAF,aAAEA,qBAAF,cAAEA,qBAAF,GAA2B0C;AAJN,iBAAxB,CA9GtB;;AAAA;AA8GGC,gBAAAA,UA9GH;AAAA;AAAA;;AAAA;AAAA;AAAA;AAqHGb,gBAAAA,YAAY,CAACI,IAAb;;AArHH;AAAA,qBAwHMS,UAxHN;AAAA;AAAA;AAAA;;AAAA;AA0HI,qBAAK9B,EAAL,CAAQC,YAAR,CAAqB,gCAArB;AA1HJ;AAAA,uBA4HwB,KAAK8B,YAAL,CAAkBC,oBAAlB,CACnBrB,8BADmB,EAEnB;AACChB,kBAAAA,oBAAoB,EAApBA,oBADD;AAECmB,kBAAAA,kBAAkB,EAAlBA,kBAFD;AAGCQ,kBAAAA,mBAAmB,EAAnBA,mBAHD;AAIClB,kBAAAA,uBAAuB,EAAvBA,uBAJD;AAKC0B,kBAAAA,UAAU,EAAVA,UALD;AAMC3C,kBAAAA,qBAAqB,EAAEA,qBAAF,aAAEA,qBAAF,cAAEA,qBAAF,GAA2B0C,SANjD;AAOCI,kBAAAA,aAAa,EAAEzC,2BAA2B,GACvC,kCADuC,GAEvCqC;AATJ,iBAFmB,CA5HxB;;AAAA;AA4HIX,gBAAAA,WA5HJ;AAAA;AAAA;;AAAA;AAAA;AAAA;AA2IID,gBAAAA,YAAY,CAACI,IAAb;;AA3IJ;AAgJOa,gBAAAA,CAhJP,GAgJWvB,8BAhJX;;AAiJCa,2CAASW,eAAT,CAAyBX,2BAASY,KAAT,CAAeF,CAAf,IAAoBA,CAApB,GAAwBG,iBAASC,OAAT,CAAiBJ,CAAjB,CAAjD;;AAEA,qBAAKlC,EAAL,CAAQuC,WAAR;AAEMC,gBAAAA,MArJP,aAqJoBvB,YArJpB,sCAqJqCF,WArJrC;AAAA,iDAuJQ0B,mBAAWC,kBAAX,CAA8BC,eAAe,IAAI,EAAjD,EAAqD;AAC3DC,kBAAAA,KAAK,gDAAM1B,WAAN,uCAAsBF,kBAAtB,EADsD;AAE3DwB,kBAAAA,MAAM,EAAEA,MAAM,CAACjB,MAAP,GAAgB,CAAhB,GAAoBiB,MAApB,GAA6BX,SAFsB;AAG3DgB,kBAAAA,IAAI,EAAE;AACLvB,oBAAAA,mBAAmB,EAAnBA,mBADK;AAELR,oBAAAA,kBAAkB,EAAlBA;AAFK;AAHqD,iBAArD,CAvJR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAiKA,kBACCQ,mBADD,EAECwB,YAFD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAIOC,gBAAAA,OAJP,GAIiBzB,mBAAmB,CACjC0B,GADc,CACV,UAACC,IAAD;AAAA,yBAAUA,IAAI,CAACC,UAAf;AAAA,iBADU,EAEdC,MAFc,CAEP,UAACC,CAAD;AAAA,yBAAO,CAAC,CAACA,CAAT;AAAA,iBAFO,CAJjB;AAOOC,gBAAAA,YAPP,GAOgC,EAPhC;AASOC,gBAAAA,GATP,GASa,KAAK1E,OAAL,CAAa,KAAb,CATb;AAAA,uDAUiBmE,OAVjB;;AAAA;AAUC,sEAAyB;AAAdQ,oBAAAA,CAAc;;AACxB,wBAAI,CAACD,GAAG,CAACE,WAAJ,CAAgBD,CAAhB,CAAD,IAAuBF,YAAY,CAACI,OAAb,CAAqBF,CAArB,MAA4B,CAAC,CAAxD,EAA2D;AAC1DF,sBAAAA,YAAY,CAAChC,IAAb,CAAkBkC,CAAlB;AACA;AACD;AAdF;AAAA;AAAA;AAAA;AAAA;;AAAA,sBAgBKF,YAAY,CAAC9B,MAAb,GAAsB,CAhB3B;AAAA;AAAA;AAAA;;AAAA,oBAiBOuB,YAjBP;AAAA;AAAA;AAAA;;AAkBG,qBAAK9C,EAAL,CAAQuC,WAAR;AAEA,qBAAKvC,EAAL,CAAQ0D,aAAR,CAAsB;AACrBC,kBAAAA,QAAQ,oBAAaN,YAAY,CAAC9B,MAA1B,oBACP8B,YAAY,CAAC9B,MAAb,KAAwB,CAAxB,GAA4B,EAA5B,GAAiC,GAD1B,CADa;AAIrBqC,kBAAAA,KAAK,sFAEJ,EAFI,SAGDP,YAHC;AAJgB,iBAAtB;AApBH;AAAA,uBA+ByB,KAAKrD,EAAL,CAAQ6D,OAAR,CAAgB,wBAAhB,CA/BzB;;AAAA;AA+BSA,gBAAAA,OA/BT;;AAAA,oBAiCQA,OAjCR;AAAA;AAAA;AAAA;;AAAA,sBAkCU,IAAIC,uBAAJ,CAAgB;AACrBC,kBAAAA,IAAI,EAAE,kBADe;AAErBC,kBAAAA,eAAe;AAFM,iBAAhB,CAlCV;;AAAA;AAyCE,qBAAKhE,EAAL,CAAQC,YAAR,sBACeoD,YAAY,CAAC9B,MAD5B,4BAEE8B,YAAY,CAAC9B,MAAb,KAAwB,CAAxB,GAA4B,EAA5B,GAAiC,MAFnC;AAMM+B,gBAAAA,IA/CR,GA+Cc,KAAK1E,OAAL,CAAa,KAAb,CA/Cd;AAAA;AAAA,uBAgDQ0E,IAAG,CAACW,OAAJ,CAAYZ,YAAZ,CAhDR;;AAAA;AAkDE,qBAAKrD,EAAL,CAAQuC,WAAR;;AAlDF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAsDA,kBAA0C/D,OAA1C;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAWEQ,gBAAAA,eAXF,GAmBKR,OAnBL,CAWEQ,eAXF,EAYE0B,uCAZF,GAmBKlC,OAnBL,CAYEkC,uCAZF,EAaExB,sBAbF,GAmBKV,OAnBL,CAaEU,sBAbF,EAcEE,wBAdF,GAmBKZ,OAnBL,CAcEY,wBAdF,EAeEM,sBAfF,GAmBKlB,OAnBL,CAeEkB,sBAfF,EAgBEJ,uBAhBF,GAmBKd,OAnBL,CAgBEc,uBAhBF,EAiBEa,cAjBF,GAmBK3B,OAnBL,CAiBE2B,cAjBF,EAkBEL,4BAlBF,GAmBKtB,OAnBL,CAkBEsB,4BAlBF;AAqBC,qBAAKE,EAAL,CAAQC,YAAR,CAAqB,qBAArB;AArBD;AAAA,uBAwBQ,KAAKiE,WAAL,CAAiBC,YAAjB,CAA8B;AACnCC,kBAAAA,oBAAoB,EAAEpF,eADa;AAEnCM,kBAAAA,uBAAuB,EAAvBA,uBAFmC;AAGnCF,kBAAAA,wBAAwB,EAAxBA,wBAHmC;AAInCF,kBAAAA,sBAAsB,EAAtBA,sBAJmC;AAKnCY,kBAAAA,4BAA4B,EAA5BA,4BALmC;AAMnCK,kBAAAA,cAAc,EAAdA,cANmC;AAOnCT,kBAAAA,sBAAsB,EAAtBA,sBAPmC;AAQnC2E,kBAAAA,gBAAgB,EAAE,0BAACC,OAAD,EAAa;AAC9B,oBAAA,MAAI,CAACtE,EAAL,CAAQC,YAAR,CAAqBqE,OAArB;AACA;AAVkC,iBAA9B,CAxBR;;AAAA;AAAA;AAuBSC,gBAAAA,kBAvBT,yBAuBSA,kBAvBT;AAuBqCtD,gBAAAA,YAvBrC,yBAuB6BuB,MAvB7B;AAqCOgC,gBAAAA,qBArCP,GAsCE9D,uCAAuC,CAAC+D,OAAxC,CACCjD,2BAASkD,qBAAT,CAA+B,KAAKlE,GAApC,CADD,EAEC,SAFD,CAtCF;AA2CKmE,gBAAAA,KA3CL,GA2Ca,CA3Cb;AA4CKC,gBAAAA,eA5CL,GA4CuB,CA5CvB;;AA6CC,4CAAwBC,MAAM,CAACC,IAAP,CAAYP,kBAAZ,CAAxB,kCAAyD;AAA9CQ,kBAAAA,SAA8C;AACxDH,kBAAAA,eAAe;AACfD,kBAAAA,KAAK,IAAIJ,kBAAkB,CAACQ,SAAD,CAAlB,CAA8BxD,MAAvC;AACA;;AAED,qBAAKvB,EAAL,CAAQC,YAAR,oBACa0E,KADb,2BACmCC,eADnC;AAIMI,gBAAAA,yBAtDP,GAsDmC,IAAIC,qCAAJ,CACjC9E,cADiC,CAtDnC;AA0DOmB,gBAAAA,mBA1DP,GA2DE0D,yBAAyB,CAACE,kBAA1B,CACCX,kBADD,EAECC,qBAFD,CA3DF;AAAA,kDAgEQ;AAAElD,kBAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBL,kBAAAA,YAAY,EAAZA;AAAvB,iBAhER;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sHAmEA,kBAAyCzC,OAAzC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMES,gBAAAA,eANF,GASKT,OATL,CAMES,eANF,EAO4BM,kBAP5B,GASKf,OATL,CAOEqC,wBAPF,EAQEJ,6BARF,GASKjC,OATL,CAQEiC,6BARF;AAWO0E,gBAAAA,MAXP,GAWgB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,YAAtB,CAXhB;AAAA;AAAA,uBAYuBD,MAAM,CAACE,OAAP,CAAe;AACpCtG,kBAAAA,wBAAwB,EAAE0B,6BADU;AAEpCxB,kBAAAA,eAAe,EAAfA,eAFoC;AAGpCM,kBAAAA,kBAAkB,EAAlBA;AAHoC,iBAAf,CAZvB;;AAAA;AAYO+F,gBAAAA,OAZP;AAAA,kDAkBQ;AACNtE,kBAAAA,kBAAkB,oBAAEsE,OAAO,CAAC1C,KAAV,2DAAmB,EAD/B;AAEN9B,kBAAAA,kBAAkB,4CAAEwE,OAAO,CAACzC,IAAV,kDAAE,cAAc/B,kBAAhB,yEAAsC,EAFlD;AAGNC,kBAAAA,WAAW,qBAAEuE,OAAO,CAAC9C,MAAV,6DAAoB;AAHzB,iBAlBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8GAyBA,kBAAiChE,OAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAMC,qBAAKwB,EAAL,CAAQC,YAAR,CAAqB,2BAArB;AAEMsF,gBAAAA,OARP,GAQiB,IAAIC,4BAAJ,CACf,KAAKzD,YADU,EAEf,KAAKnD,OAAL,CAAa,QAAb,CAFe,CARjB;AAAA,kDAaQ2G,OAAO,CAAC5D,kBAAR,CAA2BnD,OAA3B,CAbR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA5TuCiH,2B","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 { 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 =\n\t\t'Syncing schemas and generating `SpruceSchemas` type namespace... 📃'\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 = schemaTemplateItems\n\t\t\t.map((item) => item.importFrom)\n\t\t\t.filter((i) => !!i) as string[]\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\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,"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 { 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 = schemaTemplateItems\n\t\t\t.map((item) => item.importFrom)\n\t\t\t.filter((i) => !!i) as string[]\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\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"}
|
|
@@ -215,7 +215,7 @@ var SchemaWriter = /*#__PURE__*/function (_AbstractWriter) {
|
|
|
215
215
|
var _writeSchemasAndTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(destinationDirOrFilename, options) {
|
|
216
216
|
var _results;
|
|
217
217
|
|
|
218
|
-
var fieldTemplateItems, schemaTemplateItems, valueTypes, typesTemplate, resolvedTypesDestination, results,
|
|
218
|
+
var fieldTemplateItems, schemaTemplateItems, valueTypes, typesTemplate, resolvedTypesDestination, results, localItems, schemaTypesContents, allSchemaResults;
|
|
219
219
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
220
220
|
while (1) {
|
|
221
221
|
switch (_context3.prev = _context3.next) {
|
|
@@ -224,19 +224,17 @@ var SchemaWriter = /*#__PURE__*/function (_AbstractWriter) {
|
|
|
224
224
|
resolvedTypesDestination = this.resolveFilenameWithFallback(destinationDirOrFilename, _spruceSkillUtils.DEFAULT_SCHEMA_TYPES_FILENAME);
|
|
225
225
|
results = [];
|
|
226
226
|
this.ui.startLoading('Generating schema types...');
|
|
227
|
-
|
|
227
|
+
localItems = schemaTemplateItems.filter(function (i) {
|
|
228
228
|
return !i.importFrom;
|
|
229
229
|
});
|
|
230
230
|
|
|
231
|
-
if (!
|
|
231
|
+
if (!(localItems.length > 0)) {
|
|
232
232
|
_context3.next = 12;
|
|
233
233
|
break;
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
schemaTypesContents = this.templates.schemasTypes({
|
|
237
|
-
schemaTemplateItems:
|
|
238
|
-
return !i.importFrom;
|
|
239
|
-
}),
|
|
237
|
+
schemaTemplateItems: localItems,
|
|
240
238
|
fieldTemplateItems: fieldTemplateItems,
|
|
241
239
|
valueTypes: valueTypes,
|
|
242
240
|
globalSchemaNamespace: options.globalSchemaNamespace,
|
|
@@ -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","firstMatchWithoutImportFrom","find","i","importFrom","schemaTypesContents","schemasTypes","filter","globalSchemaNamespace","length","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 firstMatchWithoutImportFrom = schemaTemplateItems.find(\n\t\t\t(i) => !i.importFrom\n\t\t)\n\n\t\tif (firstMatchWithoutImportFrom) {\n\t\t\tconst schemaTypesContents = this.templates.schemasTypes({\n\t\t\t\tschemaTemplateItems: schemaTemplateItems.filter((i) => !i.importFrom),\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,"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"}
|
|
@@ -41,9 +41,6 @@ export default class SkillFeature<S extends SkillFeatureOptionsSchema = SkillFea
|
|
|
41
41
|
'update.dependencies': string;
|
|
42
42
|
'resolve-paths.lint': string;
|
|
43
43
|
test: string;
|
|
44
|
-
'upgrade.packages': string;
|
|
45
|
-
'upgrade.packages.all': string;
|
|
46
|
-
'upgrade.packages.test': string;
|
|
47
44
|
'watch.build.dev': string;
|
|
48
45
|
'watch.lint': string;
|
|
49
46
|
'watch.rebuild': string;
|
|
@@ -37,6 +37,8 @@ var _ScriptUpdater = _interopRequireDefault(require("../../updaters/ScriptUpdate
|
|
|
37
37
|
|
|
38
38
|
var _AbstractFeature2 = _interopRequireDefault(require("../AbstractFeature"));
|
|
39
39
|
|
|
40
|
+
var _universalDevDependencies = _interopRequireDefault(require("../universalDevDependencies"));
|
|
41
|
+
|
|
40
42
|
var _universalFileDescriptions = _interopRequireDefault(require("../universalFileDescriptions"));
|
|
41
43
|
|
|
42
44
|
var _universalScripts = _interopRequireDefault(require("../universalScripts"));
|
|
@@ -84,40 +86,13 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
84
86
|
version: '^11.0.4'
|
|
85
87
|
}, {
|
|
86
88
|
name: '@sprucelabs/mercury-types'
|
|
87
|
-
}, {
|
|
88
|
-
name: '@sprucelabs/resolve-path-aliases',
|
|
89
|
-
isDev: true
|
|
90
|
-
}, {
|
|
91
|
-
name: '@types/node',
|
|
92
|
-
isDev: true
|
|
93
|
-
}, {
|
|
94
|
-
name: 'typescript',
|
|
95
|
-
isDev: true
|
|
96
|
-
}, {
|
|
97
|
-
name: 'ts-node',
|
|
98
|
-
isDev: true
|
|
99
89
|
}, {
|
|
100
90
|
name: 'tsconfig-paths',
|
|
101
91
|
isDev: true
|
|
102
92
|
}, {
|
|
103
|
-
name: '
|
|
104
|
-
isDev: true
|
|
105
|
-
}, {
|
|
106
|
-
name: 'eslint-config-spruce',
|
|
107
|
-
isDev: true
|
|
108
|
-
}, {
|
|
109
|
-
name: 'prettier',
|
|
110
|
-
isDev: true
|
|
111
|
-
}, {
|
|
112
|
-
name: 'chokidar-cli',
|
|
113
|
-
isDev: true
|
|
114
|
-
}, {
|
|
115
|
-
name: 'concurrently',
|
|
116
|
-
isDev: true
|
|
117
|
-
}, {
|
|
118
|
-
name: 'tsc-watch',
|
|
93
|
+
name: 'ts-node',
|
|
119
94
|
isDev: true
|
|
120
|
-
}]);
|
|
95
|
+
}].concat((0, _toConsumableArray2["default"])(_universalDevDependencies["default"])));
|
|
121
96
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", _skillFeature["default"]);
|
|
122
97
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
|
|
123
98
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "engines", {
|
|
@@ -145,7 +120,7 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
145
120
|
}, {
|
|
146
121
|
path: '.spruce/errors/options.types.ts',
|
|
147
122
|
description: 'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',
|
|
148
|
-
shouldOverwriteWhenChanged:
|
|
123
|
+
shouldOverwriteWhenChanged: true
|
|
149
124
|
}, {
|
|
150
125
|
path: 'src/.spruce/features/event.plugin.ts',
|
|
151
126
|
description: 'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',
|
|
@@ -377,7 +352,7 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
377
352
|
break;
|
|
378
353
|
}
|
|
379
354
|
|
|
380
|
-
updater = new _Updater["default"](this);
|
|
355
|
+
updater = new _Updater["default"](this, this.emitter);
|
|
381
356
|
_context6.next = 8;
|
|
382
357
|
return updater.updateFiles(upgradeOptions);
|
|
383
358
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;IAkBqBA,Y;;;;;AAiFpB,wBAAmBC,OAAnB,EAA4C;AAAA;;AAAA;AAC3C,8BAAMA,OAAN;AAD2C,qGA9EtB,OA8EsB;AAAA,6FA7EjB,OA6EiB;AAAA,oGA5EvB,uCA4EuB;AAAA,2GA3EP,GA2EO;AAAA,4GAzED,CAC1C;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAD0C,EAE1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAF0C,EAG1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAH0C,EAI1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAJ0C,EAK1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAL0C,EAM1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAN0C,EAO1C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KAP0C,EAQ1C;AAAEA,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,OAAO,EAAE;AAA3B,KAR0C,EAS1C;AACCD,MAAAA,IAAI,EAAE;AADP,KAT0C,EAY1C;AAAEA,MAAAA,IAAI,EAAE,kCAAR;AAA4CE,MAAAA,KAAK,EAAE;AAAnD,KAZ0C,EAa1C;AAAEF,MAAAA,IAAI,EAAE,aAAR;AAAuBE,MAAAA,KAAK,EAAE;AAA9B,KAb0C,EAc1C;AAAEF,MAAAA,IAAI,EAAE,YAAR;AAAsBE,MAAAA,KAAK,EAAE;AAA7B,KAd0C,EAe1C;AAAEF,MAAAA,IAAI,EAAE,SAAR;AAAmBE,MAAAA,KAAK,EAAE;AAA1B,KAf0C,EAgB1C;AAAEF,MAAAA,IAAI,EAAE,gBAAR;AAA0BE,MAAAA,KAAK,EAAE;AAAjC,KAhB0C,EAiB1C;AAAEF,MAAAA,IAAI,EAAE,QAAR;AAAkBE,MAAAA,KAAK,EAAE;AAAzB,KAjB0C,EAkB1C;AAAEF,MAAAA,IAAI,EAAE,sBAAR;AAAgCE,MAAAA,KAAK,EAAE;AAAvC,KAlB0C,EAmB1C;AAAEF,MAAAA,IAAI,EAAE,UAAR;AAAoBE,MAAAA,KAAK,EAAE;AAA3B,KAnB0C,EAoB1C;AAAEF,MAAAA,IAAI,EAAE,cAAR;AAAwBE,MAAAA,KAAK,EAAE;AAA/B,KApB0C,EAqB1C;AAAEF,MAAAA,IAAI,EAAE,cAAR;AAAwBE,MAAAA,KAAK,EAAE;AAA/B,KArB0C,EAsB1C;AAAEF,MAAAA,IAAI,EAAE,WAAR;AAAqBE,MAAAA,KAAK,EAAE;AAA5B,KAtB0C,CAyEC;AAAA,sGAhDrBC,wBAgDqB;AAAA,mGA/CxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CA+CwB;AAAA,gGA9C1B;AACjBC,MAAAA,IAAI,EAAE,MADW;AAEjBC,MAAAA,IAAI,EAAE;AAFW,KA8C0B;AAAA;AAzC3CC,MAAAA,IAAI,EAAE,kBAyCqC;AAxC3C,oBACC,iEAuC0C;AArC3CC,MAAAA,MAAM,EAAE,oBAqCmC;AApC3C,sBAAgB;AAoC2B,OAlCxCC,4BAkCwC;AAAA,uJA9BxCC,qCA8BwC,IA7B3C;AACCC,MAAAA,IAAI,EAAE,cADP;AAECC,MAAAA,WAAW,EAAE,kCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KA6B2C,EAxB3C;AACCF,MAAAA,IAAI,EAAE,uBADP;AAECC,MAAAA,WAAW,EAAE,yCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KAwB2C,EAnB3C;AACCF,MAAAA,IAAI,EAAE,kBADP;AAECC,MAAAA,WAAW,EAAE,oCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KAmB2C,EAd3C;AACCF,MAAAA,IAAI,EAAE,iCADP;AAECC,MAAAA,WAAW,EACV,8GAHF;AAICC,MAAAA,0BAA0B,EAAE;AAJ7B,KAc2C,EAR3C;AACCF,MAAAA,IAAI,EAAE,sCADP;AAECC,MAAAA,WAAW,EACV,uGAHF;AAICC,MAAAA,0BAA0B,EAAE;AAJ7B,KAQ2C;AAG3C,SAAK,MAAKC,OAAL,CAAaC,EAAb,wCAEJ,MAAKC,iCAAL,CAAuCC,IAAvC,gDAFI,CAAL;AAKA,SAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKG,iBAAL,CAAuBD,IAAvB,gDAFI,CAAL;AAR2C;AAY3C;;;;;6HAED;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ;AACNE,kBAAAA,eAAe,EAAE,CAChB;AACCrB,oBAAAA,IAAI,EAAE,2BADP;AAECsB,oBAAAA,KAAK,EAAE,2BAFR;AAGC,8BAAQ,kCAHT;AAICC,oBAAAA,WAAW,EAAE;AAJd,mBADgB;AADX,iBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAaA,kBAAkCxB,OAAlC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACyB,KAAKyB,OAAL,CAAazB,OAAb,CADzB;;AAAA;AAAA;AACS0B,gBAAAA,KADT,uBACSA,KADT;AAAA,kDAEQ;AAAEA,kBAAAA,KAAK,EAALA,KAAF;AAASC,kBAAAA,GAAG,EAAE,KAAKC,kBAAL,CAAwB5B,OAAxB;AAAd,iBAFR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA,kBAAiCA,OAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AACO6B,gBAAAA,WADP,GACqB,KAAKD,kBAAL,CAAwB5B,OAAxB,CADrB;AAAA;AAAA,uBAEO,KAAK8B,KAAL,CAAW,OAAX,EAAoB;AAAEH,kBAAAA,GAAG,EAAEE;AAAP,iBAApB,EAA0CE,yBAA1C,CACL/B,OAAO,CAACC,IADH,CAFP;;AAAA;AAAA,kDAKQ,EALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mGAQA,kBAAsBD,OAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AACC,kDAAqBI,wBAArB,EAAyCJ,OAAzC;AAEM6B,gBAAAA,WAHP,GAGqB,KAAKD,kBAAL,CAAwB5B,OAAxB,CAHrB;;AAIC,oBAAI,CAACK,2BAAS2B,YAAT,CAAsBH,WAAtB,CAAL,EAAyC;AACxCxB,6CAAS4B,SAAT,CAAmBJ,WAAnB;AACA;;AAEKK,gBAAAA,cARP,GAQwB,KAAKC,MAAL,CAAY,OAAZ,CARxB;AAAA;AAAA,uBAUqBD,cAAc,CAACE,UAAf,CAA0BP,WAA1B,EAAuC7B,OAAvC,CAVrB;;AAAA;AAUO0B,gBAAAA,KAVP;AAAA;AAAA,uBAYO,KAAKW,cAAL,CAAoBR,WAApB,CAZP;;AAAA;AAcC,qBAAKS,UAAL,CAAgBT,WAAhB;AAEMU,gBAAAA,GAhBP,GAgBa,KAAKC,OAAL,CAAa,KAAb,EAAoBX,WAApB,CAhBb;AAiBCU,gBAAAA,GAAG,CAACE,GAAJ,CAAQ,YAAR,EAAsBzC,OAAO,CAACC,IAA9B;AAjBD,kDAmBQ;AAAEyB,kBAAAA,KAAK,EAALA;AAAF,iBAnBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAsBA,4BAA2B1B,OAA3B,EAAyD;AAAA;;AACxD,aAAOK,2BAASC,WAAT,CAAqB,KAAKqB,GAA1B,0BAA+B3B,OAAO,CAAC6B,WAAvC,uEAAsD,EAAtD,CAAP;AACA;;;;0GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4BA,gBAAAA,WAA5B,8DAA0C,KAAKF,GAA/C;AACOe,gBAAAA,aADP,GACuBC,0BAAcC,WAAd,CAA0B,IAA1B,EAAgC;AACrDjB,kBAAAA,GAAG,EAAEE;AADgD,iBAAhC,CADvB;AAAA;AAAA,uBAKOa,aAAa,CAACG,MAAd,EALP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAQA,oBAAkBhB,WAAlB,EAAuC;AACtC,UAAMiB,GAAG,GAAG,KAAKN,OAAL,CAAa,KAAb,EAAoBX,WAApB,CAAZ;AACA,UAAMkB,OAAO,GAAID,GAAG,CAACE,GAAJ,CAAQ,SAAR,CAAD,IAAkD,EAAlE;;AAEA,WAAK,IAAM/C,IAAX,IAAmB,KAAK8C,OAAxB,EAAiC;AAChC,YAAME,GAAG,GAAG,KAAKF,OAAjB;AACAA,QAAAA,OAAO,CAAC9C,IAAD,CAAP,GAAgB,KAAK8C,OAAL,CAAa9C,IAAb,CAAhB;AACA;;AAED6C,MAAAA,GAAG,CAACL,GAAJ,CAAQ;AAAE3B,QAAAA,IAAI,EAAE,SAAR;AAAmBoC,QAAAA,KAAK,EAAEH;AAA1B,OAAR;AACA;;;;6GAED,kBAA+B/C,OAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAKSwB,gBAAAA,WALT,GAK8DxB,OAL9D,CAKSwB,WALT,EAKsB2B,UALtB,GAK8DnD,OAL9D,CAKsBmD,UALtB,EAK2CC,cAL3C,GAK8DpD,OAL9D,CAKkCA,OALlC;AAAA;AAAA,uBAM2B,KAAKqD,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAN3B;;AAAA;AAMOA,gBAAAA,WANP;;AAAA,sBAQKA,WAAW,IAAI9B,WAAW,KAAK,MAA/B,IAAyC2B,UAAU,KAAK,SAR7D;AAAA;AAAA;AAAA;;AASQI,gBAAAA,OATR,GASkB,IAAIC,mBAAJ,CAAY,IAAZ,CATlB;AAAA;AAAA,uBAUsBD,OAAO,CAACE,WAAR,CAAoBL,cAApB,CAVtB;;AAAA;AAUQ1B,gBAAAA,KAVR;AAAA,kDAWS;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAXT;;AAAA;AAAA,kDAgBQ,EAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EArKSgC,4B","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: '@sprucelabs/resolve-path-aliases', isDev: true },\n\t\t{ name: '@types/node', isDev: true },\n\t\t{ name: 'typescript', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'eslint', isDev: true },\n\t\t{ name: 'eslint-config-spruce', isDev: true },\n\t\t{ name: 'prettier', isDev: true },\n\t\t{ name: 'chokidar-cli', isDev: true },\n\t\t{ name: 'concurrently', isDev: true },\n\t\t{ name: 'tsc-watch', isDev: true },\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\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\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions as any)\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":"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","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\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\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions as any)\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
|
|
@@ -22,5 +22,5 @@ export default class SkillStore extends AbstractStore {
|
|
|
22
22
|
private getEventNamespaceForNotRegistered;
|
|
23
23
|
private getSkillDescriptionFromPkg;
|
|
24
24
|
unregisterSkill(skillId: string): Promise<void>;
|
|
25
|
-
fetchMySkills(): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/
|
|
25
|
+
fetchMySkills(): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema, false>>[]>;
|
|
26
26
|
}
|
|
@@ -355,6 +355,8 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
355
355
|
key: "unregisterSkill",
|
|
356
356
|
value: function () {
|
|
357
357
|
var _unregisterSkill = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(skillId) {
|
|
358
|
+
var _SkillStore$currentSk;
|
|
359
|
+
|
|
358
360
|
var client, response;
|
|
359
361
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
360
362
|
while (1) {
|
|
@@ -377,7 +379,12 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
377
379
|
|
|
378
380
|
_spruceEventUtils.eventResponseUtil.getFirstResponseOrThrow(response);
|
|
379
381
|
|
|
380
|
-
|
|
382
|
+
if (((_SkillStore$currentSk = SkillStore.currentSkill) === null || _SkillStore$currentSk === void 0 ? void 0 : _SkillStore$currentSk.id) === skillId) {
|
|
383
|
+
SkillStore.currentSkill = undefined;
|
|
384
|
+
this.Service('auth').logoutCurrentSkill();
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
case 8:
|
|
381
388
|
case "end":
|
|
382
389
|
return _context6.stop();
|
|
383
390
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","set","path","value","toKebab","showMineOnly","skills","undefined","AbstractStore"],"mappings":"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","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't change the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: 'skill.namespace', value: namesUtil.toKebab(namespace) })\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\t}\n\n\tpublic async fetchMySkills() {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshowMineOnly: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"file":"SkillStore.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","set","path","value","toKebab","undefined","logoutCurrentSkill","showMineOnly","skills","AbstractStore"],"mappings":"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","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't change the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: 'skill.namespace', value: namesUtil.toKebab(namespace) })\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshowMineOnly: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"file":"SkillStore.js"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { SpruceSchemas } from "./../../../.spruce/schemas/schemas.types";
|
|
2
|
+
import { GlobalEmitter } from '../../../GlobalEmitter';
|
|
2
3
|
import AbstractFeature from '../../AbstractFeature';
|
|
3
4
|
declare type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions;
|
|
4
5
|
declare type Feature = AbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>;
|
|
5
6
|
export default class Updater {
|
|
6
7
|
private feature;
|
|
7
|
-
|
|
8
|
+
private emitter;
|
|
9
|
+
constructor(skill: Feature, emitter: GlobalEmitter);
|
|
8
10
|
updateFiles(normalizedOptions: UpgradeOptions): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
9
11
|
}
|
|
10
12
|
export {};
|
|
@@ -9,6 +9,8 @@ exports["default"] = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
12
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
15
|
|
|
14
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -17,10 +19,22 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
17
19
|
|
|
18
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
21
|
|
|
22
|
+
var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
|
|
23
|
+
|
|
24
|
+
var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError"));
|
|
25
|
+
|
|
26
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
27
|
+
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
+
|
|
20
32
|
var Updater = /*#__PURE__*/function () {
|
|
21
|
-
function Updater(skill) {
|
|
33
|
+
function Updater(skill, emitter) {
|
|
22
34
|
(0, _classCallCheck2["default"])(this, Updater);
|
|
23
35
|
(0, _defineProperty2["default"])(this, "feature", void 0);
|
|
36
|
+
(0, _defineProperty2["default"])(this, "emitter", void 0);
|
|
37
|
+
this.emitter = emitter;
|
|
24
38
|
this.feature = skill;
|
|
25
39
|
}
|
|
26
40
|
|
|
@@ -28,7 +42,8 @@ var Updater = /*#__PURE__*/function () {
|
|
|
28
42
|
key: "updateFiles",
|
|
29
43
|
value: function () {
|
|
30
44
|
var _updateFiles = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(normalizedOptions) {
|
|
31
|
-
var skillWriter, pkgService, name, description, generatedFiles;
|
|
45
|
+
var skillWriter, pkgService, name, description, results, _eventResponseUtil$ge, payloads, filesToSkip, _iterator, _step, payload, generatedFiles;
|
|
46
|
+
|
|
32
47
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
33
48
|
while (1) {
|
|
34
49
|
switch (_context.prev = _context.next) {
|
|
@@ -40,17 +55,40 @@ var Updater = /*#__PURE__*/function () {
|
|
|
40
55
|
name = pkgService.get('name');
|
|
41
56
|
description = pkgService.get('description');
|
|
42
57
|
_context.next = 6;
|
|
58
|
+
return this.emitter.emit('skill.will-write-directory-template');
|
|
59
|
+
|
|
60
|
+
case 6:
|
|
61
|
+
results = _context.sent;
|
|
62
|
+
_eventResponseUtil$ge = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(results, _SpruceError["default"]), payloads = _eventResponseUtil$ge.payloads;
|
|
63
|
+
filesToSkip = ['package.json'];
|
|
64
|
+
_iterator = _createForOfIteratorHelper(payloads);
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
68
|
+
payload = _step.value;
|
|
69
|
+
|
|
70
|
+
if (payload.filesToSkip) {
|
|
71
|
+
filesToSkip.push.apply(filesToSkip, (0, _toConsumableArray2["default"])(payload.filesToSkip));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
} catch (err) {
|
|
75
|
+
_iterator.e(err);
|
|
76
|
+
} finally {
|
|
77
|
+
_iterator.f();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
_context.next = 13;
|
|
43
81
|
return skillWriter.writeSkill(this.feature.cwd, {
|
|
44
82
|
name: name,
|
|
45
83
|
description: description,
|
|
46
|
-
filesToSkip:
|
|
84
|
+
filesToSkip: filesToSkip
|
|
47
85
|
});
|
|
48
86
|
|
|
49
|
-
case
|
|
87
|
+
case 13:
|
|
50
88
|
generatedFiles = _context.sent;
|
|
51
89
|
return _context.abrupt("return", generatedFiles);
|
|
52
90
|
|
|
53
|
-
case
|
|
91
|
+
case 15:
|
|
54
92
|
case "end":
|
|
55
93
|
return _context.stop();
|
|
56
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/skill/updaters/Updater.ts"],"names":["Updater","skill","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/skill/updaters/Updater.ts"],"names":["Updater","skill","emitter","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","filesToSkip","payload","push","writeSkill","cwd","generatedFiles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;;;IASqBA,O;AAIpB,mBAAmBC,KAAnB,EAAmCC,OAAnC,EAA2D;AAAA;AAAA;AAAA;AAC1D,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeF,KAAf;AACA;;;;;uGAED,iBAAyBG,iBAAzB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,WADP,GACqB,KAAKF,OAAL,CAAaG,MAAb,CAAoB,OAApB,EAA6B;AAChDC,kBAAAA,WAAW,EAAEH,iBAAiB,CAACG;AADiB,iBAA7B,CADrB;AAIOC,gBAAAA,UAJP,GAIoB,KAAKL,OAAL,CAAaM,OAAb,CAAqB,KAArB,CAJpB;AAKOC,gBAAAA,IALP,GAKcF,UAAU,CAACG,GAAX,CAAe,MAAf,CALd;AAMOC,gBAAAA,WANP,GAMqBJ,UAAU,CAACG,GAAX,CAAe,aAAf,CANrB;AAAA;AAAA,uBAQuB,KAAKT,OAAL,CAAaW,IAAb,CACrB,qCADqB,CARvB;;AAAA;AAQOC,gBAAAA,OARP;AAAA,wCAYsBC,oCAAkBC,+BAAlB,CACpBF,OADoB,EAEpBG,uBAFoB,CAZtB,EAYSC,QAZT,yBAYSA,QAZT;AAiBOC,gBAAAA,WAjBP,GAiBqB,CAAC,cAAD,CAjBrB;AAAA,uDAmBuBD,QAnBvB;;AAAA;AAmBC,sEAAgC;AAArBE,oBAAAA,OAAqB;;AAC/B,wBAAIA,OAAO,CAACD,WAAZ,EAAyB;AACxBA,sBAAAA,WAAW,CAACE,IAAZ,OAAAF,WAAW,sCAASC,OAAO,CAACD,WAAjB,EAAX;AACA;AACD;AAvBF;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAyB8Bd,WAAW,CAACiB,UAAZ,CAAuB,KAAKnB,OAAL,CAAaoB,GAApC,EAAyC;AACrEb,kBAAAA,IAAI,EAAJA,IADqE;AAErEE,kBAAAA,WAAW,EAAXA,WAFqE;AAGrEO,kBAAAA,WAAW,EAAXA;AAHqE,iBAAzC,CAzB9B;;AAAA;AAyBOK,gBAAAA,cAzBP;AAAA,iDA+BQA,cA/BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = ['package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"file":"Updater.js"}
|
|
@@ -16,7 +16,7 @@ export default class SyncAction extends AbstractAction<OptionsSchema> {
|
|
|
16
16
|
commandAliases: string[];
|
|
17
17
|
invocationMessage: string;
|
|
18
18
|
execute(_options: Options): Promise<{
|
|
19
|
-
files: import("@sprucelabs/
|
|
19
|
+
files: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[];
|
|
20
20
|
errors?: undefined;
|
|
21
21
|
} | {
|
|
22
22
|
errors: unknown[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StoreTemplateItem, StoreTemplateOptions } from '@sprucelabs/spruce-templates';
|
|
2
2
|
import AbstractWriter from '../../../writers/AbstractWriter';
|
|
3
3
|
export default class StoreWriter extends AbstractWriter {
|
|
4
|
-
writeStore(destination: string, options: StoreTemplateOptions): Promise<import("@sprucelabs/
|
|
4
|
+
writeStore(destination: string, options: StoreTemplateOptions): Promise<import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[]>;
|
|
5
5
|
writePlugin(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
6
6
|
writeTypes(destination: string, options: {
|
|
7
7
|
stores: StoreTemplateItem[];
|