@sprucelabs/spruce-cli 14.27.0 → 14.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/build/.spruce/events/events.contract.d.ts +4 -621
- package/build/.spruce/events/events.contract.js +1 -35
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +0 -15
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +2 -17
- 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 +4 -21
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +7 -24
- 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 +1 -24
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +5 -28
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.d.ts +12 -0
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js +13 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.d.ts +54 -1142
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/settings.json +6 -0
- package/build/__tests__/behavioral/UpgradingANodeModule.test.d.ts +1 -0
- package/build/__tests__/behavioral/UpgradingANodeModule.test.js +50 -3
- package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +6 -6
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/features/event/actions/ListenAction.js +66 -54
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/stores/EventStore.js +24 -13
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/node/NodeFeature.d.ts +1 -0
- package/build/features/node/NodeFeature.js +83 -64
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js +20 -9
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.d.ts +5 -2
- package/build/features/node/writers/NodeWriter.js +37 -22
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js +1 -1
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/skill/updaters/Updater.js +3 -1
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.d.ts +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.d.ts +1 -0
- package/build/tests/utilities/uiAssert.utility.js +34 -0
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/writers/AbstractWriter.d.ts +10 -10
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +30 -30
- package/src/.spruce/events/events.contract.ts +0 -102
- package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +0 -15
- package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +4 -21
- package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +1 -24
- package/src/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.ts +15 -0
- package/src/.spruce/schemas/schemas.types.ts +59 -1413
- package/src/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.ts +1 -1
- package/src/.spruce/settings.json +6 -0
- package/src/__tests__/behavioral/UpgradingANodeModule.test.ts +24 -0
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +6 -6
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +2 -2
- package/src/features/event/actions/ListenAction.ts +30 -20
- package/src/features/event/stores/EventStore.ts +7 -1
- package/src/features/node/NodeFeature.ts +31 -25
- package/src/features/node/actions/UpgradeAction.ts +8 -1
- package/src/features/node/writers/NodeWriter.ts +38 -23
- package/src/features/sandbox/actions/SetupAction.ts +1 -1
- package/src/features/skill/updaters/Updater.ts +2 -1
- package/src/schemas/v2020_07_22/listenEventOptions.builder.ts +1 -1
- package/src/tests/utilities/uiAssert.utility.ts +16 -0
- package/src/writers/AbstractWriter.ts +15 -10
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.d.ts +0 -10
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js +0 -24
- package/build/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.js.map +0 -1
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.d.ts +0 -11
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js +0 -27
- package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js.map +0 -1
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.d.ts +0 -10
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js +0 -24
- package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js.map +0 -1
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +0 -46
- package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +0 -62
- 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 -46
- package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +0 -62
- 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 -46
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +0 -62
- package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.d.ts +0 -46
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js +0 -62
- package/build/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.d.ts +0 -10
- package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.js +0 -24
- package/build/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.d.ts +0 -40
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js +0 -56
- package/build/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +0 -45
- package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +0 -59
- 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 -80
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +0 -94
- package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.d.ts +0 -11
- package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.js +0 -27
- package/build/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.js.map +0 -1
- package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
- package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.js +0 -48
- package/build/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.js.map +0 -1
- package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
- package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.js +0 -48
- package/build/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.js.map +0 -1
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js +0 -48
- package/build/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.js.map +0 -1
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js +0 -48
- package/build/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.js.map +0 -1
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.d.ts +0 -38
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js +0 -48
- package/build/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.js.map +0 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.d.ts +0 -3
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js +0 -28
- package/build/.spruce/schemas/appointments/v2021_06_23/appointments.schema.js.map +0 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js +0 -36
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.d.ts +0 -3
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js +0 -28
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.js.map +0 -1
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +0 -56
- package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js +0 -36
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js +0 -46
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js.map +0 -1
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js +0 -35
- package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js.map +0 -1
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.d.ts +0 -3
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js +0 -54
- package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js.map +0 -1
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.d.ts +0 -3
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js +0 -37
- package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.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 -46
- 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 -46
- 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 -46
- 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 -46
- 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 -46
- 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 -46
- 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 -46
- 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/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 +0 -14
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js.map +0 -1
- package/src/.spruce/events/appointments/didBookAppointments.v2021_06_23.contract.ts +0 -15
- package/src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts +0 -17
- package/src/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.ts +0 -16
- package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +0 -54
- package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +0 -55
- package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +0 -54
- package/src/.spruce/events/forms/deleteCompletedForm.v2021_07_02.contract.ts +0 -55
- package/src/.spruce/events/forms/didUpdateCompletedForm.v2021_07_02.contract.ts +0 -15
- package/src/.spruce/events/forms/getCompletedForm.v2021_07_02.contract.ts +0 -48
- package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +0 -54
- package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +0 -90
- package/src/.spruce/events/forms/updateCompletedForm.v2021_07_02.contract.ts +0 -17
- package/src/.spruce/events/mySkill163362874854325100/myCoolEvent.v2021_01_22.contract.ts +0 -45
- package/src/.spruce/events/mySkill163362882591525586/myCoolEvent.v2021_01_22.contract.ts +0 -45
- package/src/.spruce/events/mySkill163459634973936127/myCoolEvent.v2021_01_22.contract.ts +0 -45
- package/src/.spruce/events/mySkill163493473102035607/myCoolEvent.v2021_01_22.contract.ts +0 -45
- package/src/.spruce/events/mySkill163493479880935941/myCoolEvent.v2021_01_22.contract.ts +0 -45
- package/src/.spruce/schemas/appointments/v2021_06_23/appointments.schema.ts +0 -22
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitPayload.schema.ts +0 -24
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTarget.schema.ts +0 -22
- package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +0 -36
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.ts +0 -29
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.ts +0 -30
- package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.ts +0 -23
- package/src/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.ts +0 -39
- package/src/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.ts +0 -25
- 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 -30
- 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 -30
- 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 -30
- 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 -30
- 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 -30
- 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 -30
- 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 -30
- package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/event/actions/ListenAction.ts"],"names":["SKILL_EVENT_NAMESPACE","ListenAction","eventListenActionSchema","options","normalizedOptions","validateAndNormalizeOptions","response","listenerDestinationDir","versionOptions","version","eventName","eventNamespace","schemaTypesLookupDir","contractDestinationDir","ui","startLoading","eventStore","Store","loadCurrentSkill","skill","slug","fetchEventContracts","localNamespace","contracts","stopLoading","collectNamespace","mapContractsToSelectChoices","eventChoicesByNamespace","SchemaError","code","friendlyMessage","Object","keys","join","parameters","collectEvent","fqen","eventNameUtil","split","isValidEvent","find","e","value","map","i","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","resolvedSchemaTypesLookupDir","isSkillEvent","builder","EventTemplateItemBuilder","templateItems","buildEventTemplateItemForName","emitPayloadSchemaTemplateItem","responsePayloadSchemaTemplateItem","generator","Writer","writeListener","fullyQualifiedEventName","results","files","syncOptions","syncEventActionSchema","Action","execute","syncResults","actionUtil","mergeActionResults","errors","eventChoices","prompt","type","label","isRequired","choices","namespaceChoices","forEach","contract","namedSignatures","eventContractUtil","getNamedEventSignatures","namedSig","namespace","MERCURY_API_NAMESPACE","o","push","namesUtil","toPascal","AbstractAction"],"mappings":"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","sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaValues,\n\tSchemaError,\n\tSchemaTemplateItem,\n\tSelectChoice,\n} from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tMERCURY_API_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport eventListenActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst SKILL_EVENT_NAMESPACE = 'skill'\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = eventListenActionSchema\n\tpublic invocationMessage = 'Creating event listener... 🜒'\n\tpublic commandAliases = ['listen.event', 'create.listener']\n\n\tpublic async execute(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\ttry {\n\t\t\tlet response: FeatureActionResponse = {}\n\n\t\t\tlet {\n\t\t\t\tlistenerDestinationDir,\n\t\t\t\tversion: versionOptions,\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t\tcontractDestinationDir,\n\t\t\t} = normalizedOptions\n\n\t\t\tthis.ui.startLoading('Loading event contracts...')\n\n\t\t\tconst eventStore = this.Store('event')\n\n\t\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\t\tconst { contracts } = skill.slug\n\t\t\t\t? await eventStore.fetchEventContracts({ localNamespace: skill.slug })\n\t\t\t\t: await eventStore.fetchEventContracts()\n\n\t\t\tthis.ui.stopLoading()\n\n\t\t\tif (!eventNamespace) {\n\t\t\t\teventNamespace = await this.collectNamespace(contracts)\n\t\t\t}\n\n\t\t\tconst { eventChoicesByNamespace } =\n\t\t\t\tthis.mapContractsToSelectChoices(contracts)\n\n\t\t\tif (!eventChoicesByNamespace[eventNamespace]) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${eventNamespace} is not a valid event namespace. Try: \\n\\n${Object.keys(\n\t\t\t\t\t\teventChoicesByNamespace\n\t\t\t\t\t).join('\\n')}`,\n\t\t\t\t\tparameters: ['eventNamespace'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!eventName) {\n\t\t\t\teventName = await this.collectEvent(contracts, eventNamespace)\n\t\t\t}\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tversion: versionOptions,\n\t\t\t})\n\n\t\t\tlet { version } = eventNameUtil.split(fqen)\n\n\t\t\tconst isValidEvent = !!eventChoicesByNamespace[eventNamespace].find(\n\t\t\t\t(e) => e.value === eventName || e.value === fqen\n\t\t\t)\n\n\t\t\tif (!isValidEvent) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${eventName} is not a valid event . Try: \\n\\n${eventChoicesByNamespace[\n\t\t\t\t\t\teventNamespace\n\t\t\t\t\t]\n\t\t\t\t\t\t.map((i) => i.value)\n\t\t\t\t\t\t.join('\\n')}`,\n\t\t\t\t\tparameters: ['eventName'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tlistenerDestinationDir\n\t\t\t)\n\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\n\t\t\tconst resolvedSchemaTypesLookupDir = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tschemaTypesLookupDir\n\t\t\t)\n\n\t\t\tconst isSkillEvent = eventNamespace !== SKILL_EVENT_NAMESPACE\n\n\t\t\tlet emitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\t\tlet responsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst builder = new EventTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildEventTemplateItemForName(\n\t\t\t\t\tcontracts,\n\t\t\t\t\teventNameUtil.join({\n\t\t\t\t\t\teventNamespace,\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t\t})\n\t\t\t\t)\n\n\t\t\t\temitPayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.emitPayloadSchemaTemplateItem\n\t\t\t\tresponsePayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.responsePayloadSchemaTemplateItem\n\t\t\t}\n\n\t\t\tconst generator = this.Writer('event')\n\t\t\tconst results = await generator.writeListener(resolvedDestination, {\n\t\t\t\t...normalizedOptions,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\t\teventName,\n\t\t\t\t\teventNamespace,\n\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t}),\n\t\t\t\temitPayloadSchemaTemplateItem,\n\t\t\t\tcontractDestinationDir,\n\t\t\t\tresponsePayloadSchemaTemplateItem,\n\t\t\t\tschemaTypesLookupDir: resolvedSchemaTypesLookupDir,\n\t\t\t})\n\n\t\t\tresponse.files = results\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\t\tsyncEventActionSchema,\n\t\t\t\t\toptions\n\t\t\t\t)\n\n\t\t\t\tconst syncResults = await this.Action('event', 'sync').execute(\n\t\t\t\t\tsyncOptions\n\t\t\t\t)\n\n\t\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\t\t\t}\n\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async collectEvent(\n\t\tcontracts: EventContract[],\n\t\teventNamespace: string\n\t): Promise<string> {\n\t\tconst eventChoices: SelectChoice[] =\n\t\t\tthis.mapContractsToSelectChoices(contracts).eventChoicesByNamespace[\n\t\t\t\teventNamespace\n\t\t\t]\n\n\t\tconst eventName = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: eventChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn eventName\n\t}\n\n\tprivate async collectNamespace(contracts: EventContract[]): Promise<string> {\n\t\tconst { namespaceChoices } = this.mapContractsToSelectChoices(contracts)\n\n\t\tconst eventNamespace = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event namespace',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: namespaceChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn eventNamespace\n\t}\n\n\tprivate mapContractsToSelectChoices(contracts: EventContract[]) {\n\t\tconst namespaceChoices: SelectChoice[] = [\n\t\t\t{\n\t\t\t\tlabel: 'Skill',\n\t\t\t\tvalue: SKILL_EVENT_NAMESPACE,\n\t\t\t},\n\t\t]\n\n\t\tconst eventChoicesByNamespace: Record<string, SelectChoice[]> = {\n\t\t\tskill: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'will-boot',\n\t\t\t\t\tvalue: 'will-boot',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'did-boot',\n\t\t\t\t\tvalue: 'did-boot',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\n\t\tcontracts.forEach((contract) => {\n\t\t\tconst namedSignatures =\n\t\t\t\teventContractUtil.getNamedEventSignatures(contract)\n\n\t\t\tfor (const namedSig of namedSignatures) {\n\t\t\t\tconst namespace = namedSig.eventNamespace ?? MERCURY_API_NAMESPACE\n\n\t\t\t\tif (!namespaceChoices.find((o) => o.value === namespace)) {\n\t\t\t\t\tnamespaceChoices.push({\n\t\t\t\t\t\tlabel: namesUtil.toPascal(namespace),\n\t\t\t\t\t\tvalue: namespace,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\t\teventChoicesByNamespace[namespace] = []\n\t\t\t\t}\n\n\t\t\t\teventChoicesByNamespace[namespace].push({\n\t\t\t\t\tvalue: namedSig.fullyQualifiedEventName,\n\t\t\t\t\tlabel: namedSig.fullyQualifiedEventName,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn { eventChoicesByNamespace, namespaceChoices }\n\t}\n}\n"],"file":"ListenAction.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/event/actions/ListenAction.ts"],"names":["SKILL_EVENT_NAMESPACE","ListenAction","eventListenActionSchema","options","normalizedOptions","validateAndNormalizeOptions","response","listenerDestinationDir","versionOptions","version","eventName","namespace","schemaTypesLookupDir","contractDestinationDir","ui","startLoading","eventStore","Store","loadCurrentSkill","skill","namespacesForFetch","undefined","slug","fetchEventContracts","localNamespace","namespaces","didUpdateHandler","msg","contracts","stopLoading","collectNamespace","mapContractsToSelectChoices","eventChoicesByNamespace","SchemaError","code","friendlyMessage","Object","keys","join","parameters","collectEvent","fqen","eventNameUtil","eventNamespace","split","isValidEvent","find","e","value","map","i","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","resolvedSchemaTypesLookupDir","isSkillEvent","builder","EventTemplateItemBuilder","templateItems","buildEventTemplateItemForName","emitPayloadSchemaTemplateItem","responsePayloadSchemaTemplateItem","generator","Writer","writeListener","fullyQualifiedEventName","results","files","syncOptions","syncEventActionSchema","Action","execute","syncResults","actionUtil","mergeActionResults","errors","eventChoices","prompt","type","label","isRequired","choices","namespaceChoices","forEach","contract","namedSignatures","eventContractUtil","getNamedEventSignatures","namedSig","MERCURY_API_NAMESPACE","o","push","namesUtil","toPascal","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAMA;;AAIA;;AAMA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAGA,IAAMA,qBAAqB,GAAG,OAA9B;;IAGqBC,Y;;;;;;;;;;;;;;;sGACkBC,8B;0GACX,+B;uGACH,CAAC,cAAD,EAAiB,iBAAjB,C;;;;;;;mGAExB,iBACCC,OADD;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAGOC,gBAAAA,iBAHP,GAG2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAH3B;AAAA;AAMMG,gBAAAA,QANN,GAMwC,EANxC;AASGC,gBAAAA,sBATH,GAeMH,iBAfN,CASGG,sBATH,EAUYC,cAVZ,GAeMJ,iBAfN,CAUGK,OAVH,EAWGC,SAXH,GAeMN,iBAfN,CAWGM,SAXH,EAYGC,SAZH,GAeMP,iBAfN,CAYGO,SAZH,EAaGC,oBAbH,GAeMR,iBAfN,CAaGQ,oBAbH,EAcGC,sBAdH,GAeMT,iBAfN,CAcGS,sBAdH;AAiBE,qBAAKC,EAAL,CAAQC,YAAR,CAAqB,4BAArB;AAEMC,gBAAAA,UAnBR,GAmBqB,KAAKC,KAAL,CAAW,OAAX,CAnBrB;AAAA;AAAA,uBAqBsB,KAAKA,KAAL,CAAW,OAAX,EAAoBC,gBAApB,EArBtB;;AAAA;AAqBQC,gBAAAA,KArBR;AAuBQC,gBAAAA,kBAvBR,GAwBGT,SAAS,IAAIA,SAAS,KAAK,OAA3B,GAAqC,CAACA,SAAD,CAArC,GAAmDU,SAxBtD;;AAAA,qBA0BwBF,KAAK,CAACG,IA1B9B;AAAA;AAAA;AAAA;;AAAA;AAAA,uBA2BWN,UAAU,CAACO,mBAAX,CAA+B;AACrCC,kBAAAA,cAAc,EAAEL,KAAK,CAACG,IADe;AAErCG,kBAAAA,UAAU,EAAEL,kBAFyB;AAGrCM,kBAAAA,gBAAgB,EAAE,0BAACC,GAAD;AAAA,2BAAiB,MAAI,CAACb,EAAL,CAAQC,YAAR,CAAqBY,GAArB,CAAjB;AAAA;AAHmB,iBAA/B,CA3BX;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAgCWX,UAAU,CAACO,mBAAX,CAA+B;AACrCE,kBAAAA,UAAU,EAAEL,kBADyB;AAErCM,kBAAAA,gBAAgB,EAAE,0BAACC,GAAD;AAAA,2BAAiB,MAAI,CAACb,EAAL,CAAQC,YAAR,CAAqBY,GAArB,CAAjB;AAAA;AAFmB,iBAA/B,CAhCX;;AAAA;AAAA;;AAAA;AAAA;AA0BUC,gBAAAA,SA1BV,QA0BUA,SA1BV;AAqCE,qBAAKd,EAAL,CAAQe,WAAR;;AArCF,oBAuCOlB,SAvCP;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAwCqB,KAAKmB,gBAAL,CAAsBF,SAAtB,CAxCrB;;AAAA;AAwCGjB,gBAAAA,SAxCH;;AAAA;AAAA,wCA4CG,KAAKoB,2BAAL,CAAiCH,SAAjC,CA5CH,EA2CUI,uBA3CV,yBA2CUA,uBA3CV;;AAAA,oBA8COA,uBAAuB,CAACrB,SAAD,CA9C9B;AAAA;AAAA;AAAA;;AAAA,sBA+CS,IAAIsB,mBAAJ,CAAgB;AACrBC,kBAAAA,IAAI,EAAE,oBADe;AAErBC,kBAAAA,eAAe,YAAKxB,SAAL,uDAA2DyB,MAAM,CAACC,IAAP,CACzEL,uBADyE,EAExEM,IAFwE,CAEnE,IAFmE,CAA3D,CAFM;AAKrBC,kBAAAA,UAAU,EAAE,CAAC,WAAD;AALS,iBAAhB,CA/CT;;AAAA;AAAA,oBAwDO7B,SAxDP;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAyDqB,KAAK8B,YAAL,CAAkBZ,SAAlB,EAA6BjB,SAA7B,CAzDrB;;AAAA;AAyDGD,gBAAAA,SAzDH;;AAAA;AA4DQ+B,gBAAAA,IA5DR,GA4DeC,gCAAcJ,IAAd,CAAmB;AAC/B5B,kBAAAA,SAAS,EAATA,SAD+B;AAE/BiC,kBAAAA,cAAc,EAAEhC,SAFe;AAG/BF,kBAAAA,OAAO,EAAED;AAHsB,iBAAnB,CA5Df;AAAA,uCAkEoBkC,gCAAcE,KAAd,CAAoBH,IAApB,CAlEpB,EAkEQhC,OAlER,wBAkEQA,OAlER;AAoEQoC,gBAAAA,YApER,GAoEuB,CAAC,CAACb,uBAAuB,CAACrB,SAAD,CAAvB,CAAmCmC,IAAnC,CACtB,UAACC,CAAD;AAAA,yBAAOA,CAAC,CAACC,KAAF,KAAYtC,SAAZ,IAAyBqC,CAAC,CAACC,KAAF,KAAYP,IAA5C;AAAA,iBADsB,CApEzB;;AAAA,oBAwEOI,YAxEP;AAAA;AAAA;AAAA;;AAAA,sBAyES,IAAIZ,mBAAJ,CAAgB;AACrBC,kBAAAA,IAAI,EAAE,oBADe;AAErBC,kBAAAA,eAAe,YAAKzB,SAAL,8CAAkDsB,uBAAuB,CACvFrB,SADuF,CAAvB,CAG/DsC,GAH+D,CAG3D,UAACC,CAAD;AAAA,2BAAOA,CAAC,CAACF,KAAT;AAAA,mBAH2D,EAI/DV,IAJ+D,CAI1D,IAJ0D,CAAlD,CAFM;AAOrBC,kBAAAA,UAAU,EAAE,CAAC,WAAD;AAPS,iBAAhB,CAzET;;AAAA;AAoFQY,gBAAAA,mBApFR,GAoF8BC,2BAASC,WAAT,CAC3B,KAAKC,GADsB,EAE3B/C,sBAF2B,CApF9B;AAAA;AAAA,uBAyFgC,KAAKgD,cAAL,CAC7B9C,OAD6B,EAE7B0C,mBAF6B,CAzFhC;;AAAA;AAyFQK,gBAAAA,eAzFR;AA8FQC,gBAAAA,4BA9FR,GA8FuCL,2BAASC,WAAT,CACpC,KAAKC,GAD+B,EAEpC1C,oBAFoC,CA9FvC;AAmGQ8C,gBAAAA,YAnGR,GAmGuB/C,SAAS,KAAKX,qBAnGrC;;AAwGE,oBAAI0D,YAAJ,EAAkB;AACXC,kBAAAA,OADW,GACD,IAAIC,oCAAJ,EADC;AAEXC,kBAAAA,aAFW,GAEKF,OAAO,CAACG,6BAAR,CACrBlC,SADqB,EAErBc,gCAAcJ,IAAd,CAAmB;AAClBK,oBAAAA,cAAc,EAAEhC,SADE;AAElBD,oBAAAA,SAAS,EAATA,SAFkB;AAGlBD,oBAAAA,OAAO,EAAE+C;AAHS,mBAAnB,CAFqB,CAFL;AAWjBO,kBAAAA,6BAA6B,GAC5BF,aAAa,CAACE,6BADf;AAEAC,kBAAAA,iCAAiC,GAChCH,aAAa,CAACG,iCADf;AAEA;;AAEKC,gBAAAA,SAzHR,GAyHoB,KAAKC,MAAL,CAAY,OAAZ,CAzHpB;AAAA;AAAA,uBA0HwBD,SAAS,CAACE,aAAV,CAAwBhB,mBAAxB,kCAClB/C,iBADkB;AAErBK,kBAAAA,OAAO,EAAE+C,eAFY;AAGrB9C,kBAAAA,SAAS,EAATA,SAHqB;AAIrBiC,kBAAAA,cAAc,EAAEhC,SAJK;AAKrByD,kBAAAA,uBAAuB,EAAE1B,gCAAcJ,IAAd,CAAmB;AAC3C5B,oBAAAA,SAAS,EAATA,SAD2C;AAE3CiC,oBAAAA,cAAc,EAAEhC,SAF2B;AAG3CF,oBAAAA,OAAO,EAAE+C;AAHkC,mBAAnB,CALJ;AAUrBO,kBAAAA,6BAA6B,EAA7BA,6BAVqB;AAWrBlD,kBAAAA,sBAAsB,EAAtBA,sBAXqB;AAYrBmD,kBAAAA,iCAAiC,EAAjCA,iCAZqB;AAarBpD,kBAAAA,oBAAoB,EAAE6C;AAbD,mBA1HxB;;AAAA;AA0HQY,gBAAAA,OA1HR;AA0IE/D,gBAAAA,QAAQ,CAACgE,KAAT,GAAiBD,OAAjB;;AA1IF,qBA4IMX,YA5IN;AAAA;AAAA;AAAA;;AA6ISa,gBAAAA,WA7IT,GA6IuB,mCACnBC,4BADmB,EAEnBrE,OAFmB,CA7IvB;AAAA;AAAA,uBAkJ6B,KAAKsE,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CACzBH,WADyB,CAlJ7B;;AAAA;AAkJSI,gBAAAA,WAlJT;AAsJGrE,gBAAAA,QAAQ,GAAGsE,mBAAWC,kBAAX,CAA8BF,WAA9B,EAA2CrE,QAA3C,CAAX;;AAtJH;AAAA,iDAyJSA,QAzJT;;AAAA;AAAA;AAAA;AAAA,iDA2JS;AACNwE,kBAAAA,MAAM,EAAE;AADF,iBA3JT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAiKA,kBACClD,SADD,EAECjB,SAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAIOoE,gBAAAA,YAJP,GAKE,KAAKhD,2BAAL,CAAiCH,SAAjC,EAA4CI,uBAA5C,CACCrB,SADD,CALF;AAAA;AAAA,uBASyB,KAAKG,EAAL,CAAQkE,MAAR,CAAe;AACtCC,kBAAAA,IAAI,EAAE,QADgC;AAEtCC,kBAAAA,KAAK,EAAE,iBAF+B;AAGtCC,kBAAAA,UAAU,EAAE,IAH0B;AAItChF,kBAAAA,OAAO,EAAE;AACRiF,oBAAAA,OAAO,EAAEL;AADD;AAJ6B,iBAAf,CATzB;;AAAA;AASOrE,gBAAAA,SATP;AAAA,kDAkBQA,SAlBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GAqBA,kBAA+BkB,SAA/B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,yCAC8B,KAAKG,2BAAL,CAAiCH,SAAjC,CAD9B,EACSyD,gBADT,0BACSA,gBADT;AAAA;AAAA,uBAGyB,KAAKvE,EAAL,CAAQkE,MAAR,CAAe;AACtCC,kBAAAA,IAAI,EAAE,QADgC;AAEtCC,kBAAAA,KAAK,EAAE,2BAF+B;AAGtCC,kBAAAA,UAAU,EAAE,IAH0B;AAItChF,kBAAAA,OAAO,EAAE;AACRiF,oBAAAA,OAAO,EAAEC;AADD;AAJ6B,iBAAf,CAHzB;;AAAA;AAGO1E,gBAAAA,SAHP;AAAA,kDAYQA,SAZR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAeA,qCAAoCiB,SAApC,EAAgE;AAC/D,UAAMyD,gBAAgC,GAAG,CACxC;AACCH,QAAAA,KAAK,EAAE,OADR;AAEClC,QAAAA,KAAK,EAAEhD;AAFR,OADwC,CAAzC;AAOA,UAAMgC,uBAAuD,GAAG;AAC/Db,QAAAA,KAAK,EAAE,CACN;AACC+D,UAAAA,KAAK,EAAE,WADR;AAEClC,UAAAA,KAAK,EAAE;AAFR,SADM,EAKN;AACCkC,UAAAA,KAAK,EAAE,UADR;AAEClC,UAAAA,KAAK,EAAE;AAFR,SALM;AADwD,OAAhE;AAaApB,MAAAA,SAAS,CAAC0D,OAAV,CAAkB,UAACC,QAAD,EAAc;AAC/B,YAAMC,eAAe,GACpBC,oCAAkBC,uBAAlB,CAA0CH,QAA1C,CADD;;AAD+B,mDAIRC,eAJQ;AAAA;;AAAA;AAAA;AAAA;;AAAA,gBAIpBG,QAJoB;AAK9B,gBAAMhF,SAAS,4BAAGgF,QAAQ,CAAChD,cAAZ,yEAA8BiD,uCAA7C;;AAEA,gBAAI,CAACP,gBAAgB,CAACvC,IAAjB,CAAsB,UAAC+C,CAAD;AAAA,qBAAOA,CAAC,CAAC7C,KAAF,KAAYrC,SAAnB;AAAA,aAAtB,CAAL,EAA0D;AACzD0E,cAAAA,gBAAgB,CAACS,IAAjB,CAAsB;AACrBZ,gBAAAA,KAAK,EAAEa,4BAAUC,QAAV,CAAmBrF,SAAnB,CADc;AAErBqC,gBAAAA,KAAK,EAAErC;AAFc,eAAtB;AAIA;;AAED,gBAAI,CAACqB,uBAAuB,CAACrB,SAAD,CAA5B,EAAyC;AACxCqB,cAAAA,uBAAuB,CAACrB,SAAD,CAAvB,GAAqC,EAArC;AACA;;AAEDqB,YAAAA,uBAAuB,CAACrB,SAAD,CAAvB,CAAmCmF,IAAnC,CAAwC;AACvC9C,cAAAA,KAAK,EAAE2C,QAAQ,CAACvB,uBADuB;AAEvCc,cAAAA,KAAK,EAAES,QAAQ,CAACvB;AAFuB,aAAxC;AAlB8B;;AAI/B,8DAAwC;AAAA;AAkBvC;AAtB8B;AAAA;AAAA;AAAA;AAAA;AAuB/B,OAvBD;AAyBA,aAAO;AAAEpC,QAAAA,uBAAuB,EAAvBA,uBAAF;AAA2BqD,QAAAA,gBAAgB,EAAhBA;AAA3B,OAAP;AACA;;;EAzPwCY,2B","sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaValues,\n\tSchemaError,\n\tSchemaTemplateItem,\n\tSelectChoice,\n} from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tMERCURY_API_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport eventListenActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst SKILL_EVENT_NAMESPACE = 'skill'\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = eventListenActionSchema\n\tpublic invocationMessage = 'Creating event listener... 🜒'\n\tpublic commandAliases = ['listen.event', 'create.listener']\n\n\tpublic async execute(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\ttry {\n\t\t\tlet response: FeatureActionResponse = {}\n\n\t\t\tlet {\n\t\t\t\tlistenerDestinationDir,\n\t\t\t\tversion: versionOptions,\n\t\t\t\teventName,\n\t\t\t\tnamespace,\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t\tcontractDestinationDir,\n\t\t\t} = normalizedOptions\n\n\t\t\tthis.ui.startLoading('Loading event contracts...')\n\n\t\t\tconst eventStore = this.Store('event')\n\n\t\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\t\tconst namespacesForFetch =\n\t\t\t\tnamespace && namespace !== 'skill' ? [namespace] : undefined\n\n\t\t\tconst { contracts } = skill.slug\n\t\t\t\t? await eventStore.fetchEventContracts({\n\t\t\t\t\t\tlocalNamespace: skill.slug,\n\t\t\t\t\t\tnamespaces: namespacesForFetch,\n\t\t\t\t\t\tdidUpdateHandler: (msg: string) => this.ui.startLoading(msg),\n\t\t\t\t })\n\t\t\t\t: await eventStore.fetchEventContracts({\n\t\t\t\t\t\tnamespaces: namespacesForFetch,\n\t\t\t\t\t\tdidUpdateHandler: (msg: string) => this.ui.startLoading(msg),\n\t\t\t\t })\n\n\t\t\tthis.ui.stopLoading()\n\n\t\t\tif (!namespace) {\n\t\t\t\tnamespace = await this.collectNamespace(contracts)\n\t\t\t}\n\n\t\t\tconst { eventChoicesByNamespace } =\n\t\t\t\tthis.mapContractsToSelectChoices(contracts)\n\n\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${namespace} is not a valid event namespace. Try: \\n\\n${Object.keys(\n\t\t\t\t\t\teventChoicesByNamespace\n\t\t\t\t\t).join('\\n')}`,\n\t\t\t\t\tparameters: ['namespace'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!eventName) {\n\t\t\t\teventName = await this.collectEvent(contracts, namespace)\n\t\t\t}\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tversion: versionOptions,\n\t\t\t})\n\n\t\t\tlet { version } = eventNameUtil.split(fqen)\n\n\t\t\tconst isValidEvent = !!eventChoicesByNamespace[namespace].find(\n\t\t\t\t(e) => e.value === eventName || e.value === fqen\n\t\t\t)\n\n\t\t\tif (!isValidEvent) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${eventName} is not a valid event . Try: \\n\\n${eventChoicesByNamespace[\n\t\t\t\t\t\tnamespace\n\t\t\t\t\t]\n\t\t\t\t\t\t.map((i) => i.value)\n\t\t\t\t\t\t.join('\\n')}`,\n\t\t\t\t\tparameters: ['eventName'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tlistenerDestinationDir\n\t\t\t)\n\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\n\t\t\tconst resolvedSchemaTypesLookupDir = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tschemaTypesLookupDir\n\t\t\t)\n\n\t\t\tconst isSkillEvent = namespace !== SKILL_EVENT_NAMESPACE\n\n\t\t\tlet emitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\t\tlet responsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst builder = new EventTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildEventTemplateItemForName(\n\t\t\t\t\tcontracts,\n\t\t\t\t\teventNameUtil.join({\n\t\t\t\t\t\teventNamespace: namespace,\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t\t})\n\t\t\t\t)\n\n\t\t\t\temitPayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.emitPayloadSchemaTemplateItem\n\t\t\t\tresponsePayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.responsePayloadSchemaTemplateItem\n\t\t\t}\n\n\t\t\tconst generator = this.Writer('event')\n\t\t\tconst results = await generator.writeListener(resolvedDestination, {\n\t\t\t\t...normalizedOptions,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\t\teventName,\n\t\t\t\t\teventNamespace: namespace,\n\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t}),\n\t\t\t\temitPayloadSchemaTemplateItem,\n\t\t\t\tcontractDestinationDir,\n\t\t\t\tresponsePayloadSchemaTemplateItem,\n\t\t\t\tschemaTypesLookupDir: resolvedSchemaTypesLookupDir,\n\t\t\t})\n\n\t\t\tresponse.files = results\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\t\tsyncEventActionSchema,\n\t\t\t\t\toptions\n\t\t\t\t)\n\n\t\t\t\tconst syncResults = await this.Action('event', 'sync').execute(\n\t\t\t\t\tsyncOptions\n\t\t\t\t)\n\n\t\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\t\t\t}\n\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async collectEvent(\n\t\tcontracts: EventContract[],\n\t\tnamespace: string\n\t): Promise<string> {\n\t\tconst eventChoices: SelectChoice[] =\n\t\t\tthis.mapContractsToSelectChoices(contracts).eventChoicesByNamespace[\n\t\t\t\tnamespace\n\t\t\t]\n\n\t\tconst eventName = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: eventChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn eventName\n\t}\n\n\tprivate async collectNamespace(contracts: EventContract[]): Promise<string> {\n\t\tconst { namespaceChoices } = this.mapContractsToSelectChoices(contracts)\n\n\t\tconst namespace = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event namespace',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: namespaceChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn namespace\n\t}\n\n\tprivate mapContractsToSelectChoices(contracts: EventContract[]) {\n\t\tconst namespaceChoices: SelectChoice[] = [\n\t\t\t{\n\t\t\t\tlabel: 'Skill',\n\t\t\t\tvalue: SKILL_EVENT_NAMESPACE,\n\t\t\t},\n\t\t]\n\n\t\tconst eventChoicesByNamespace: Record<string, SelectChoice[]> = {\n\t\t\tskill: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'will-boot',\n\t\t\t\t\tvalue: 'will-boot',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'did-boot',\n\t\t\t\t\tvalue: 'did-boot',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\n\t\tcontracts.forEach((contract) => {\n\t\t\tconst namedSignatures =\n\t\t\t\teventContractUtil.getNamedEventSignatures(contract)\n\n\t\t\tfor (const namedSig of namedSignatures) {\n\t\t\t\tconst namespace = namedSig.eventNamespace ?? MERCURY_API_NAMESPACE\n\n\t\t\t\tif (!namespaceChoices.find((o) => o.value === namespace)) {\n\t\t\t\t\tnamespaceChoices.push({\n\t\t\t\t\t\tlabel: namesUtil.toPascal(namespace),\n\t\t\t\t\t\tvalue: namespace,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\t\teventChoicesByNamespace[namespace] = []\n\t\t\t\t}\n\n\t\t\t\teventChoicesByNamespace[namespace].push({\n\t\t\t\t\tvalue: namedSig.fullyQualifiedEventName,\n\t\t\t\t\tlabel: namedSig.fullyQualifiedEventName,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn { eventChoicesByNamespace, namespaceChoices }\n\t}\n}\n"],"file":"ListenAction.js"}
|
|
@@ -109,7 +109,7 @@ var EventStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
109
109
|
key: "fetchEventContracts",
|
|
110
110
|
value: function () {
|
|
111
111
|
var _fetchEventContracts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(options) {
|
|
112
|
-
var _ref, localNamespace, didUpdateHandler, namespaces, contracts, localContract;
|
|
112
|
+
var _ref, localNamespace, didUpdateHandler, namespaces, contracts, error, localContract;
|
|
113
113
|
|
|
114
114
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
115
115
|
while (1) {
|
|
@@ -117,26 +117,37 @@ var EventStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
117
117
|
case 0:
|
|
118
118
|
_ref = options !== null && options !== void 0 ? options : {}, localNamespace = _ref.localNamespace, didUpdateHandler = _ref.didUpdateHandler, namespaces = _ref.namespaces;
|
|
119
119
|
didUpdateHandler === null || didUpdateHandler === void 0 ? void 0 : didUpdateHandler('Pulling remote contracts...');
|
|
120
|
-
_context.
|
|
120
|
+
_context.prev = 2;
|
|
121
|
+
_context.next = 5;
|
|
121
122
|
return this.fetchRemoteContracts(namespaces);
|
|
122
123
|
|
|
123
|
-
case
|
|
124
|
+
case 5:
|
|
124
125
|
contracts = _context.sent;
|
|
125
|
-
_context.
|
|
126
|
+
_context.next = 12;
|
|
127
|
+
break;
|
|
128
|
+
|
|
129
|
+
case 8:
|
|
130
|
+
_context.prev = 8;
|
|
131
|
+
_context.t0 = _context["catch"](2);
|
|
132
|
+
error = _context.t0.options.responseErrors[0];
|
|
133
|
+
throw error;
|
|
126
134
|
|
|
127
|
-
|
|
128
|
-
|
|
135
|
+
case 12:
|
|
136
|
+
_context.t1 = localNamespace;
|
|
137
|
+
|
|
138
|
+
if (!_context.t1) {
|
|
139
|
+
_context.next = 17;
|
|
129
140
|
break;
|
|
130
141
|
}
|
|
131
142
|
|
|
132
|
-
_context.next =
|
|
143
|
+
_context.next = 16;
|
|
133
144
|
return this.loadLocalContract(localNamespace, didUpdateHandler);
|
|
134
145
|
|
|
135
|
-
case
|
|
136
|
-
_context.
|
|
146
|
+
case 16:
|
|
147
|
+
_context.t1 = _context.sent;
|
|
137
148
|
|
|
138
|
-
case
|
|
139
|
-
localContract = _context.
|
|
149
|
+
case 17:
|
|
150
|
+
localContract = _context.t1;
|
|
140
151
|
|
|
141
152
|
if (localNamespace) {
|
|
142
153
|
this.filterOutLocalEventsFromRemoteContractsMutating(contracts, localNamespace);
|
|
@@ -151,12 +162,12 @@ var EventStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
151
162
|
errors: []
|
|
152
163
|
});
|
|
153
164
|
|
|
154
|
-
case
|
|
165
|
+
case 21:
|
|
155
166
|
case "end":
|
|
156
167
|
return _context.stop();
|
|
157
168
|
}
|
|
158
169
|
}
|
|
159
|
-
}, _callee, this);
|
|
170
|
+
}, _callee, this, [[2, 8]]);
|
|
160
171
|
}));
|
|
161
172
|
|
|
162
173
|
function fetchEventContracts(_x) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/event/stores/EventStore.ts"],"names":["eventFileNamesImportKeyMap","key","isSchema","EventStore","options","localNamespace","didUpdateHandler","namespaces","fetchRemoteContracts","contracts","loadLocalContract","localContract","filterOutLocalEventsFromRemoteContractsMutating","push","errors","join","contractCache","connectToApi","shouldAuthAsCurrentSkill","client","emit","target","results","eventResponseUtil","getFirstResponseOrThrow","remoteContracts","ns","namesUtil","toKebab","contract","sigs","eventContractUtil","getNamedEventSignatures","sig","eventNamespace","eventSignatures","fullyQualifiedEventName","localEventCache","diskUtil","resolvePath","cwd","localMatches","filesByFqenAndEventKey","length","Promise","all","map","match","eventDiskUtil","splitPathToEvent","eventName","version","fqen","eventNameUtil","filename","pathUtil","basename","eventKey","SpruceError","code","brokenProperty","originalError","matches","o","Service","bulkImport","importsInOrder","importsByName","idx","imported","Object","keys","forEach","split","emitPayloadSchema","payloadSchema","emitPayload","targetSchema","emitTarget","responsePayloadSchema","responsePayload","emitPermissionContract","emitPermissions","listenPermissionContract","listenPermissions","cleaned","eventContractCleanerUtil","cleanPayloadsAndPermissions","payload","eventContract","undefined","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tEventContract,\n\tEventSignature,\n\tPermissionContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { Schema, validateSchema } from '@sprucelabs/schema'\nimport {\n\teventResponseUtil,\n\teventDiskUtil,\n\teventNameUtil,\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { cloneDeep } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\nimport { eventContractCleanerUtil } from '../../../utilities/eventContractCleaner.utility'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\tcontracts: EventContract[]\n}\n\ntype Options = Omit<\n\tEventSignature,\n\t| 'responsePayloadSchema'\n\t| 'emitPayloadSchema'\n\t| 'listenPermissionContract'\n\t| 'emitPermissionContract'\n>\n\ninterface EventImport {\n\toptions?: Options\n\temitPayload?: Schema\n\temitTarget?: Schema\n\tresponsePayload?: Schema\n\temitPermissions?: PermissionContract\n\tlistenPermissions?: PermissionContract\n}\n\nconst eventFileNamesImportKeyMap = {\n\t'event.options.ts': { key: 'options', isSchema: false },\n\t'emitPayload.builder.ts': { key: 'emitPayload', isSchema: true },\n\t'emitTarget.builder.ts': { key: 'emitTarget', isSchema: true },\n\t'responsePayload.builder.ts': { key: 'responsePayload', isSchema: true },\n\t'emitPermissions.builder.ts': { key: 'emitPermissions', isSchema: false },\n\t'listenPermissions.builder.ts': { key: 'listenPermissions', isSchema: false },\n}\n\nexport default class EventStore extends AbstractStore {\n\tpublic name = 'event'\n\tprotected static contractCache: Record<string, any> = {}\n\tprivate static localEventCache?: SpruceSchemas.Mercury.v2020_12_25.EventContract\n\n\tpublic static clearCache() {\n\t\tEventStore.localEventCache = undefined\n\t\tEventStore.contractCache = {}\n\t}\n\n\tpublic async fetchEventContracts(options?: {\n\t\tlocalNamespace?: string\n\t\tnamespaces?: string[]\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<EventStoreFetchEventContractsResponse> {\n\t\tconst { localNamespace, didUpdateHandler, namespaces } = options ?? {}\n\n\t\tdidUpdateHandler?.('Pulling remote contracts...')\n\n\t\tconst contracts = await this.fetchRemoteContracts(namespaces)\n\n\t\tconst localContract =\n\t\t\tlocalNamespace &&\n\t\t\t(await this.loadLocalContract(localNamespace, didUpdateHandler))\n\n\t\tif (localNamespace) {\n\t\t\tthis.filterOutLocalEventsFromRemoteContractsMutating(\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace\n\t\t\t)\n\t\t}\n\n\t\tif (localContract) {\n\t\t\tcontracts.push(localContract)\n\t\t}\n\n\t\treturn {\n\t\t\tcontracts,\n\t\t\terrors: [],\n\t\t}\n\t}\n\n\tprivate async fetchRemoteContracts(namespaces?: string[]) {\n\t\tconst key = namespaces?.join('|') ?? '_'\n\n\t\tif (!EventStore.contractCache[key]) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst results = await client.emit('get-event-contracts::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaces,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { contracts } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tEventStore.contractCache[key] = contracts\n\t\t}\n\n\t\treturn cloneDeep(EventStore.contractCache[key])\n\t}\n\n\tprivate filterOutLocalEventsFromRemoteContractsMutating(\n\t\tremoteContracts: EventContract[],\n\t\tlocalNamespace: string\n\t) {\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\n\t\tfor (const contract of remoteContracts) {\n\t\t\tconst sigs = eventContractUtil.getNamedEventSignatures(contract)\n\t\t\tfor (const sig of sigs) {\n\t\t\t\tif (sig.eventNamespace === ns) {\n\t\t\t\t\tdelete contract.eventSignatures[sig.fullyQualifiedEventName]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async loadLocalContract(\n\t\tlocalNamespace: string,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<EventContract | null> {\n\t\tif (EventStore.localEventCache) {\n\t\t\treturn EventStore.localEventCache\n\t\t}\n\n\t\tconst localMatches = await globby(\n\t\t\tdiskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src',\n\t\t\t\t'events',\n\t\t\t\t'**/*.(builder|options).ts'\n\t\t\t)\n\t\t)\n\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\t\tconst eventSignatures: Record<string, EventSignature> = {}\n\t\tconst filesByFqenAndEventKey: {\n\t\t\tfqen: string\n\t\t\tisSchema: boolean\n\t\t\tmatch: string\n\t\t\teventKey: string\n\t\t}[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Importing ${localMatches.length} local event signature files...`\n\t\t)\n\n\t\tawait Promise.all(\n\t\t\tlocalMatches.map(async (match) => {\n\t\t\t\tlet fqen: string | undefined\n\t\t\t\tlet eventKey: keyof EventImport | undefined\n\n\t\t\t\ttry {\n\t\t\t\t\tconst { eventName, version } = eventDiskUtil.splitPathToEvent(match)\n\t\t\t\t\tfqen = eventNameUtil.join({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion,\n\t\t\t\t\t\teventNamespace: ns,\n\t\t\t\t\t})\n\n\t\t\t\t\tconst filename = pathUtil.basename(\n\t\t\t\t\t\tmatch\n\t\t\t\t\t) as keyof typeof eventFileNamesImportKeyMap\n\n\t\t\t\t\tconst map = eventFileNamesImportKeyMap[filename]\n\n\t\t\t\t\tif (map) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\teventKey = map.key\n\n\t\t\t\t\t\tfilesByFqenAndEventKey.push({\n\t\t\t\t\t\t\tfqen,\n\t\t\t\t\t\t\tisSchema: map.isSchema,\n\t\t\t\t\t\t\tmatch,\n\t\t\t\t\t\t\teventKey: eventKey as string,\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\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen ?? 'Bad event name',\n\t\t\t\t\t\tbrokenProperty: eventKey ?? '*** major failure ***',\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst matches = filesByFqenAndEventKey.map((o) => o.match)\n\t\tconst importsInOrder = (await this.Service('import').bulkImport(\n\t\t\tmatches\n\t\t)) as Record<string, any>[]\n\t\tconst importsByName: Record<string, EventImport> = {}\n\n\t\tfor (let idx = 0; idx < filesByFqenAndEventKey.length; idx++) {\n\t\t\tconst imported = importsInOrder[idx]\n\t\t\tconst { fqen, eventKey, isSchema } = filesByFqenAndEventKey[idx]\n\n\t\t\tif (isSchema) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateSchema(imported)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen,\n\t\t\t\t\t\tbrokenProperty: eventKey,\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!importsByName[fqen]) {\n\t\t\t\timportsByName[fqen] = {}\n\t\t\t}\n\n\t\t\t//@ts-ignore\n\t\t\timportsByName[fqen][eventKey] = imported\n\t\t}\n\n\t\tObject.keys(importsByName).forEach((fqen) => {\n\t\t\tconst imported = importsByName[fqen]\n\t\t\tconst { eventName } = eventNameUtil.split(fqen)\n\t\t\teventSignatures[fqen] = {\n\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\teventName,\n\t\t\t\t\tpayloadSchema: imported.emitPayload,\n\t\t\t\t\ttargetSchema: imported.emitTarget,\n\t\t\t\t}),\n\t\t\t\tresponsePayloadSchema: imported.responsePayload,\n\t\t\t\temitPermissionContract: imported.emitPermissions,\n\t\t\t\tlistenPermissionContract: imported.listenPermissions,\n\t\t\t\t...imported.options,\n\t\t\t}\n\t\t})\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Loaded ${Object.keys(eventSignatures).length} local event signatures...`\n\t\t)\n\n\t\tif (Object.keys(eventSignatures).length > 0) {\n\t\t\tconst cleaned = eventContractCleanerUtil.cleanPayloadsAndPermissions({\n\t\t\t\teventSignatures,\n\t\t\t})\n\n\t\t\tvalidateEventContract(cleaned)\n\n\t\t\tEventStore.localEventCache = cleaned\n\n\t\t\treturn cleaned\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic async registerEventContract(options: {\n\t\teventContract: EventContract\n\t}) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('register-events::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tcontract: options.eventContract,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\n\t\treturn results\n\t}\n\n\tpublic async unRegisterEvents(\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('unregister-events::v2020_12_25', {\n\t\t\tpayload: options,\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\t}\n}\n"],"file":"EventStore.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/event/stores/EventStore.ts"],"names":["eventFileNamesImportKeyMap","key","isSchema","EventStore","options","localNamespace","didUpdateHandler","namespaces","fetchRemoteContracts","contracts","error","responseErrors","loadLocalContract","localContract","filterOutLocalEventsFromRemoteContractsMutating","push","errors","join","contractCache","connectToApi","shouldAuthAsCurrentSkill","client","emit","target","results","eventResponseUtil","getFirstResponseOrThrow","remoteContracts","ns","namesUtil","toKebab","contract","sigs","eventContractUtil","getNamedEventSignatures","sig","eventNamespace","eventSignatures","fullyQualifiedEventName","localEventCache","diskUtil","resolvePath","cwd","localMatches","filesByFqenAndEventKey","length","Promise","all","map","match","eventDiskUtil","splitPathToEvent","eventName","version","fqen","eventNameUtil","filename","pathUtil","basename","eventKey","SpruceError","code","brokenProperty","originalError","matches","o","Service","bulkImport","importsInOrder","importsByName","idx","imported","Object","keys","forEach","split","emitPayloadSchema","payloadSchema","emitPayload","targetSchema","emitTarget","responsePayloadSchema","responsePayload","emitPermissionContract","emitPermissions","listenPermissionContract","listenPermissions","cleaned","eventContractCleanerUtil","cleanPayloadsAndPermissions","payload","eventContract","undefined","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tEventContract,\n\tEventSignature,\n\tPermissionContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { Schema, validateSchema } from '@sprucelabs/schema'\nimport {\n\teventResponseUtil,\n\teventDiskUtil,\n\teventNameUtil,\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { cloneDeep } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\nimport { eventContractCleanerUtil } from '../../../utilities/eventContractCleaner.utility'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\tcontracts: EventContract[]\n}\n\ntype Options = Omit<\n\tEventSignature,\n\t| 'responsePayloadSchema'\n\t| 'emitPayloadSchema'\n\t| 'listenPermissionContract'\n\t| 'emitPermissionContract'\n>\n\ninterface EventImport {\n\toptions?: Options\n\temitPayload?: Schema\n\temitTarget?: Schema\n\tresponsePayload?: Schema\n\temitPermissions?: PermissionContract\n\tlistenPermissions?: PermissionContract\n}\n\nconst eventFileNamesImportKeyMap = {\n\t'event.options.ts': { key: 'options', isSchema: false },\n\t'emitPayload.builder.ts': { key: 'emitPayload', isSchema: true },\n\t'emitTarget.builder.ts': { key: 'emitTarget', isSchema: true },\n\t'responsePayload.builder.ts': { key: 'responsePayload', isSchema: true },\n\t'emitPermissions.builder.ts': { key: 'emitPermissions', isSchema: false },\n\t'listenPermissions.builder.ts': { key: 'listenPermissions', isSchema: false },\n}\n\nexport default class EventStore extends AbstractStore {\n\tpublic name = 'event'\n\tprotected static contractCache: Record<string, any> = {}\n\tprivate static localEventCache?: SpruceSchemas.Mercury.v2020_12_25.EventContract\n\n\tpublic static clearCache() {\n\t\tEventStore.localEventCache = undefined\n\t\tEventStore.contractCache = {}\n\t}\n\n\tpublic async fetchEventContracts(options?: {\n\t\tlocalNamespace?: string\n\t\tnamespaces?: string[]\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<EventStoreFetchEventContractsResponse> {\n\t\tconst { localNamespace, didUpdateHandler, namespaces } = options ?? {}\n\n\t\tdidUpdateHandler?.('Pulling remote contracts...')\n\n\t\tlet contracts\n\t\ttry {\n\t\t\tcontracts = await this.fetchRemoteContracts(namespaces)\n\t\t} catch (err: any) {\n\t\t\tconst error = err.options.responseErrors[0]\n\t\t\tthrow error\n\t\t}\n\n\t\tconst localContract =\n\t\t\tlocalNamespace &&\n\t\t\t(await this.loadLocalContract(localNamespace, didUpdateHandler))\n\n\t\tif (localNamespace) {\n\t\t\tthis.filterOutLocalEventsFromRemoteContractsMutating(\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace\n\t\t\t)\n\t\t}\n\n\t\tif (localContract) {\n\t\t\tcontracts.push(localContract)\n\t\t}\n\n\t\treturn {\n\t\t\tcontracts,\n\t\t\terrors: [],\n\t\t}\n\t}\n\n\tprivate async fetchRemoteContracts(namespaces?: string[]) {\n\t\tconst key = namespaces?.join('|') ?? '_'\n\n\t\tif (!EventStore.contractCache[key]) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst results = await client.emit('get-event-contracts::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaces,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { contracts } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tEventStore.contractCache[key] = contracts\n\t\t}\n\n\t\treturn cloneDeep(EventStore.contractCache[key])\n\t}\n\n\tprivate filterOutLocalEventsFromRemoteContractsMutating(\n\t\tremoteContracts: EventContract[],\n\t\tlocalNamespace: string\n\t) {\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\n\t\tfor (const contract of remoteContracts) {\n\t\t\tconst sigs = eventContractUtil.getNamedEventSignatures(contract)\n\t\t\tfor (const sig of sigs) {\n\t\t\t\tif (sig.eventNamespace === ns) {\n\t\t\t\t\tdelete contract.eventSignatures[sig.fullyQualifiedEventName]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async loadLocalContract(\n\t\tlocalNamespace: string,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<EventContract | null> {\n\t\tif (EventStore.localEventCache) {\n\t\t\treturn EventStore.localEventCache\n\t\t}\n\n\t\tconst localMatches = await globby(\n\t\t\tdiskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src',\n\t\t\t\t'events',\n\t\t\t\t'**/*.(builder|options).ts'\n\t\t\t)\n\t\t)\n\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\t\tconst eventSignatures: Record<string, EventSignature> = {}\n\t\tconst filesByFqenAndEventKey: {\n\t\t\tfqen: string\n\t\t\tisSchema: boolean\n\t\t\tmatch: string\n\t\t\teventKey: string\n\t\t}[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Importing ${localMatches.length} local event signature files...`\n\t\t)\n\n\t\tawait Promise.all(\n\t\t\tlocalMatches.map(async (match) => {\n\t\t\t\tlet fqen: string | undefined\n\t\t\t\tlet eventKey: keyof EventImport | undefined\n\n\t\t\t\ttry {\n\t\t\t\t\tconst { eventName, version } = eventDiskUtil.splitPathToEvent(match)\n\t\t\t\t\tfqen = eventNameUtil.join({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion,\n\t\t\t\t\t\teventNamespace: ns,\n\t\t\t\t\t})\n\n\t\t\t\t\tconst filename = pathUtil.basename(\n\t\t\t\t\t\tmatch\n\t\t\t\t\t) as keyof typeof eventFileNamesImportKeyMap\n\n\t\t\t\t\tconst map = eventFileNamesImportKeyMap[filename]\n\n\t\t\t\t\tif (map) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\teventKey = map.key\n\n\t\t\t\t\t\tfilesByFqenAndEventKey.push({\n\t\t\t\t\t\t\tfqen,\n\t\t\t\t\t\t\tisSchema: map.isSchema,\n\t\t\t\t\t\t\tmatch,\n\t\t\t\t\t\t\teventKey: eventKey as string,\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\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen ?? 'Bad event name',\n\t\t\t\t\t\tbrokenProperty: eventKey ?? '*** major failure ***',\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst matches = filesByFqenAndEventKey.map((o) => o.match)\n\t\tconst importsInOrder = (await this.Service('import').bulkImport(\n\t\t\tmatches\n\t\t)) as Record<string, any>[]\n\t\tconst importsByName: Record<string, EventImport> = {}\n\n\t\tfor (let idx = 0; idx < filesByFqenAndEventKey.length; idx++) {\n\t\t\tconst imported = importsInOrder[idx]\n\t\t\tconst { fqen, eventKey, isSchema } = filesByFqenAndEventKey[idx]\n\n\t\t\tif (isSchema) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateSchema(imported)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen,\n\t\t\t\t\t\tbrokenProperty: eventKey,\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!importsByName[fqen]) {\n\t\t\t\timportsByName[fqen] = {}\n\t\t\t}\n\n\t\t\t//@ts-ignore\n\t\t\timportsByName[fqen][eventKey] = imported\n\t\t}\n\n\t\tObject.keys(importsByName).forEach((fqen) => {\n\t\t\tconst imported = importsByName[fqen]\n\t\t\tconst { eventName } = eventNameUtil.split(fqen)\n\t\t\teventSignatures[fqen] = {\n\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\teventName,\n\t\t\t\t\tpayloadSchema: imported.emitPayload,\n\t\t\t\t\ttargetSchema: imported.emitTarget,\n\t\t\t\t}),\n\t\t\t\tresponsePayloadSchema: imported.responsePayload,\n\t\t\t\temitPermissionContract: imported.emitPermissions,\n\t\t\t\tlistenPermissionContract: imported.listenPermissions,\n\t\t\t\t...imported.options,\n\t\t\t}\n\t\t})\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Loaded ${Object.keys(eventSignatures).length} local event signatures...`\n\t\t)\n\n\t\tif (Object.keys(eventSignatures).length > 0) {\n\t\t\tconst cleaned = eventContractCleanerUtil.cleanPayloadsAndPermissions({\n\t\t\t\teventSignatures,\n\t\t\t})\n\n\t\t\tvalidateEventContract(cleaned)\n\n\t\t\tEventStore.localEventCache = cleaned\n\n\t\t\treturn cleaned\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic async registerEventContract(options: {\n\t\teventContract: EventContract\n\t}) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('register-events::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tcontract: options.eventContract,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\n\t\treturn results\n\t}\n\n\tpublic async unRegisterEvents(\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('unregister-events::v2020_12_25', {\n\t\t\tpayload: options,\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\t}\n}\n"],"file":"EventStore.js"}
|
|
@@ -49,6 +49,7 @@ export default class NodeFeature<S extends OptionsSchema = OptionsSchema> extend
|
|
|
49
49
|
readonly fileDescriptions: FileDescription[];
|
|
50
50
|
actionsDir: string;
|
|
51
51
|
constructor(options: ActionOptions);
|
|
52
|
+
private handleUpgrade;
|
|
52
53
|
beforePackageInstall(options: Options): Promise<{
|
|
53
54
|
files: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[];
|
|
54
55
|
cwd: string;
|
|
@@ -89,50 +89,21 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
89
89
|
switch (_context2.prev = _context2.next) {
|
|
90
90
|
case 0:
|
|
91
91
|
if (!(payload.featureCode === 'node' && payload.actionCode === 'upgrade')) {
|
|
92
|
-
_context2.next =
|
|
92
|
+
_context2.next = 2;
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
_context2.
|
|
96
|
+
return _context2.abrupt("return", _this.handleUpgrade());
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
_context2.next = 5;
|
|
101
|
-
return _this.Service('command').execute('yarn clean.build');
|
|
102
|
-
|
|
103
|
-
case 5:
|
|
104
|
-
_this.ui.startLoading('Applying lint rules to all files...');
|
|
105
|
-
|
|
106
|
-
_context2.next = 8;
|
|
107
|
-
return _this.Service('command').execute('yarn fix.lint');
|
|
108
|
-
|
|
109
|
-
case 8:
|
|
110
|
-
_this.ui.startLoading('Rebuilding...');
|
|
111
|
-
|
|
112
|
-
_context2.next = 11;
|
|
113
|
-
return _this.Service('command').execute('yarn build.dev');
|
|
114
|
-
|
|
115
|
-
case 11:
|
|
116
|
-
return _context2.abrupt("return", {
|
|
117
|
-
summaryLines: ['Build cleared.', 'Lint rules applied to source.', 'Code rebuilt successfully.']
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
case 14:
|
|
121
|
-
_context2.prev = 14;
|
|
122
|
-
_context2.t0 = _context2["catch"](1);
|
|
123
|
-
return _context2.abrupt("return", {
|
|
124
|
-
errors: [_context2.t0]
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
case 17:
|
|
98
|
+
case 2:
|
|
128
99
|
return _context2.abrupt("return", {});
|
|
129
100
|
|
|
130
|
-
case
|
|
101
|
+
case 3:
|
|
131
102
|
case "end":
|
|
132
103
|
return _context2.stop();
|
|
133
104
|
}
|
|
134
105
|
}
|
|
135
|
-
}, _callee2
|
|
106
|
+
}, _callee2);
|
|
136
107
|
}));
|
|
137
108
|
|
|
138
109
|
return function (_x) {
|
|
@@ -143,13 +114,62 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
143
114
|
}
|
|
144
115
|
|
|
145
116
|
(0, _createClass2["default"])(NodeFeature, [{
|
|
146
|
-
key: "
|
|
117
|
+
key: "handleUpgrade",
|
|
147
118
|
value: function () {
|
|
148
|
-
var
|
|
149
|
-
var destination, files, nodeWriter, written;
|
|
119
|
+
var _handleUpgrade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
150
120
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
151
121
|
while (1) {
|
|
152
122
|
switch (_context3.prev = _context3.next) {
|
|
123
|
+
case 0:
|
|
124
|
+
_context3.prev = 0;
|
|
125
|
+
this.ui.startLoading('Cleaning build...');
|
|
126
|
+
_context3.next = 4;
|
|
127
|
+
return this.Service('command').execute('yarn clean.build');
|
|
128
|
+
|
|
129
|
+
case 4:
|
|
130
|
+
this.ui.startLoading('Applying lint rules to all files...');
|
|
131
|
+
_context3.next = 7;
|
|
132
|
+
return this.Service('command').execute('yarn fix.lint');
|
|
133
|
+
|
|
134
|
+
case 7:
|
|
135
|
+
this.ui.startLoading('Rebuilding...');
|
|
136
|
+
_context3.next = 10;
|
|
137
|
+
return this.Service('command').execute('yarn build.dev');
|
|
138
|
+
|
|
139
|
+
case 10:
|
|
140
|
+
return _context3.abrupt("return", {
|
|
141
|
+
summaryLines: ['Build cleared.', 'Lint rules applied to source.', 'Code rebuilt successfully.']
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
case 13:
|
|
145
|
+
_context3.prev = 13;
|
|
146
|
+
_context3.t0 = _context3["catch"](0);
|
|
147
|
+
return _context3.abrupt("return", {
|
|
148
|
+
errors: [_context3.t0]
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
case 16:
|
|
152
|
+
case "end":
|
|
153
|
+
return _context3.stop();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}, _callee3, this, [[0, 13]]);
|
|
157
|
+
}));
|
|
158
|
+
|
|
159
|
+
function handleUpgrade() {
|
|
160
|
+
return _handleUpgrade.apply(this, arguments);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return handleUpgrade;
|
|
164
|
+
}()
|
|
165
|
+
}, {
|
|
166
|
+
key: "beforePackageInstall",
|
|
167
|
+
value: function () {
|
|
168
|
+
var _beforePackageInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(options) {
|
|
169
|
+
var destination, files, written;
|
|
170
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
171
|
+
while (1) {
|
|
172
|
+
switch (_context4.prev = _context4.next) {
|
|
153
173
|
case 0:
|
|
154
174
|
destination = this.resolveDestination(options);
|
|
155
175
|
|
|
@@ -162,32 +182,31 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
162
182
|
path: _spruceSkillUtils.diskUtil.resolvePath(destination, 'package.json'),
|
|
163
183
|
action: 'generated'
|
|
164
184
|
}];
|
|
165
|
-
|
|
185
|
+
_context4.next = 5;
|
|
166
186
|
return this.Service('command', destination).execute('yarn init -y');
|
|
167
187
|
|
|
168
188
|
case 5:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return nodeWriter.writeNodeModule(destination);
|
|
189
|
+
_context4.next = 7;
|
|
190
|
+
return this.Writer('node').writeNodeModule(destination);
|
|
172
191
|
|
|
173
|
-
case
|
|
174
|
-
written =
|
|
192
|
+
case 7:
|
|
193
|
+
written = _context4.sent;
|
|
175
194
|
files.push.apply(files, (0, _toConsumableArray2["default"])(written));
|
|
176
|
-
|
|
195
|
+
_context4.next = 11;
|
|
177
196
|
return this.installScripts(destination);
|
|
178
197
|
|
|
179
|
-
case
|
|
180
|
-
return
|
|
198
|
+
case 11:
|
|
199
|
+
return _context4.abrupt("return", {
|
|
181
200
|
files: files,
|
|
182
201
|
cwd: destination
|
|
183
202
|
});
|
|
184
203
|
|
|
185
|
-
case
|
|
204
|
+
case 12:
|
|
186
205
|
case "end":
|
|
187
|
-
return
|
|
206
|
+
return _context4.stop();
|
|
188
207
|
}
|
|
189
208
|
}
|
|
190
|
-
},
|
|
209
|
+
}, _callee4, this);
|
|
191
210
|
}));
|
|
192
211
|
|
|
193
212
|
function beforePackageInstall(_x2) {
|
|
@@ -206,11 +225,11 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
206
225
|
}, {
|
|
207
226
|
key: "afterPackageInstall",
|
|
208
227
|
value: function () {
|
|
209
|
-
var _afterPackageInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
228
|
+
var _afterPackageInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(options) {
|
|
210
229
|
var cwd, pkg;
|
|
211
|
-
return _regenerator["default"].wrap(function
|
|
230
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
212
231
|
while (1) {
|
|
213
|
-
switch (
|
|
232
|
+
switch (_context5.prev = _context5.next) {
|
|
214
233
|
case 0:
|
|
215
234
|
cwd = this.resolveDestination(options);
|
|
216
235
|
pkg = this.Service('pkg', cwd);
|
|
@@ -228,20 +247,20 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
228
247
|
});
|
|
229
248
|
pkg.unset('main');
|
|
230
249
|
pkg.unset('license');
|
|
231
|
-
|
|
250
|
+
_context5.next = 9;
|
|
232
251
|
return this.Store('skill', {
|
|
233
252
|
cwd: cwd
|
|
234
253
|
}).setCurrentSkillsNamespace(options.name);
|
|
235
254
|
|
|
236
255
|
case 9:
|
|
237
|
-
return
|
|
256
|
+
return _context5.abrupt("return", {});
|
|
238
257
|
|
|
239
258
|
case 10:
|
|
240
259
|
case "end":
|
|
241
|
-
return
|
|
260
|
+
return _context5.stop();
|
|
242
261
|
}
|
|
243
262
|
}
|
|
244
|
-
},
|
|
263
|
+
}, _callee5, this);
|
|
245
264
|
}));
|
|
246
265
|
|
|
247
266
|
function afterPackageInstall(_x3) {
|
|
@@ -253,27 +272,27 @@ var NodeFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
253
272
|
}, {
|
|
254
273
|
key: "installScripts",
|
|
255
274
|
value: function () {
|
|
256
|
-
var _installScripts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
275
|
+
var _installScripts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
257
276
|
var destination,
|
|
258
277
|
scriptUpdater,
|
|
259
|
-
|
|
260
|
-
return _regenerator["default"].wrap(function
|
|
278
|
+
_args6 = arguments;
|
|
279
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
261
280
|
while (1) {
|
|
262
|
-
switch (
|
|
281
|
+
switch (_context6.prev = _context6.next) {
|
|
263
282
|
case 0:
|
|
264
|
-
destination =
|
|
283
|
+
destination = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : this.cwd;
|
|
265
284
|
scriptUpdater = _ScriptUpdater["default"].FromFeature(this, {
|
|
266
285
|
cwd: destination
|
|
267
286
|
});
|
|
268
|
-
|
|
287
|
+
_context6.next = 4;
|
|
269
288
|
return scriptUpdater.update();
|
|
270
289
|
|
|
271
290
|
case 4:
|
|
272
291
|
case "end":
|
|
273
|
-
return
|
|
292
|
+
return _context6.stop();
|
|
274
293
|
}
|
|
275
294
|
}
|
|
276
|
-
},
|
|
295
|
+
}, _callee6, this);
|
|
277
296
|
}));
|
|
278
297
|
|
|
279
298
|
function installScripts() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/features/node/NodeFeature.ts"],"names":["NodeFeature","options","nodeFeatureOptionsSchema","universalDevDependencies","universalScripts","universalFileDescriptions","diskUtil","resolvePath","__dirname","doesFileExist","cwd","emitter","on","payload","featureCode","actionCode","ui","startLoading","Service","execute","summaryLines","errors","destination","resolveDestination","doesDirExist","createDir","files","name","path","action","
|
|
1
|
+
{"version":3,"sources":["../../../src/features/node/NodeFeature.ts"],"names":["NodeFeature","options","nodeFeatureOptionsSchema","universalDevDependencies","universalScripts","universalFileDescriptions","diskUtil","resolvePath","__dirname","doesFileExist","cwd","emitter","on","payload","featureCode","actionCode","handleUpgrade","ui","startLoading","Service","execute","summaryLines","errors","destination","resolveDestination","doesDirExist","createDir","files","name","path","action","Writer","writeNodeModule","written","push","installScripts","pkg","set","value","namesUtil","toKebab","description","unset","Store","setCurrentSkillsNamespace","scriptUpdater","ScriptUpdater","FromFeature","update","AbstractFeature"],"mappings":"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","sourcesContent":["import { Schema, SchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'\nimport { FileDescription, GeneratedFile } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport {\n\tActionOptions,\n\tFeatureActionResponse,\n\tFeatureCode,\n} from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tnode: NodeFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tnode: SchemaValues<OptionsSchema>\n\t}\n}\n\nexport default class NodeFeature<\n\tS extends OptionsSchema = OptionsSchema\n> extends AbstractFeature<S> {\n\tpublic code: FeatureCode = 'node'\n\tpublic nameReadable = 'nodejs support'\n\tpublic description = ''\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic optionsSchema = nodeFeatureOptionsSchema as S\n\tpublic packageDependencies = [...universalDevDependencies]\n\n\tpublic scripts = {\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.did-execute', async (payload) => {\n\t\t\tif (payload.featureCode === 'node' && payload.actionCode === 'upgrade') {\n\t\t\t\treturn this.handleUpgrade()\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n\tprivate async handleUpgrade(): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tthis.ui.startLoading('Cleaning build...')\n\t\t\tawait this.Service('command').execute('yarn clean.build')\n\n\t\t\tthis.ui.startLoading('Applying lint rules to all files...')\n\t\t\tawait this.Service('command').execute('yarn fix.lint')\n\n\t\t\tthis.ui.startLoading('Rebuilding...')\n\t\t\tawait this.Service('command').execute('yarn build.dev')\n\n\t\t\treturn {\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t'Build cleared.',\n\t\t\t\t\t'Lint rules applied to source.',\n\t\t\t\t\t'Code rebuilt successfully.',\n\t\t\t\t],\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: Options) {\n\t\tconst destination = this.resolveDestination(options)\n\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst files: GeneratedFile[] = [\n\t\t\t{\n\t\t\t\tname: 'package.json',\n\t\t\t\tpath: diskUtil.resolvePath(destination, 'package.json'),\n\t\t\t\taction: 'generated',\n\t\t\t},\n\t\t]\n\n\t\tawait this.Service('command', destination).execute('yarn init -y')\n\n\t\tconst written = await this.Writer('node').writeNodeModule(destination)\n\n\t\tfiles.push(...written)\n\n\t\tawait this.installScripts(destination)\n\n\t\treturn { files, cwd: destination }\n\t}\n\n\tprivate resolveDestination(options: Options) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async afterPackageInstall(\n\t\toptions: S extends Schema ? SchemaValues<S> : undefined\n\t) {\n\t\tconst cwd = this.resolveDestination(options)\n\t\tconst pkg = this.Service('pkg', cwd)\n\n\t\tpkg.set({ path: 'name', value: namesUtil.toKebab(options.name) })\n\t\tpkg.set({ path: 'description', value: options.description })\n\t\tpkg.set({ path: 'version', value: '0.0.1' })\n\n\t\tpkg.unset('main')\n\t\tpkg.unset('license')\n\n\t\tawait this.Store('skill', { cwd }).setCurrentSkillsNamespace(options.name)\n\n\t\treturn {}\n\t}\n\n\tprivate 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 isInstalled = async (): Promise<boolean> => {\n\t\treturn diskUtil.doesFileExist(\n\t\t\tdiskUtil.resolvePath(this.cwd, 'package.json')\n\t\t)\n\t}\n}\n"],"file":"NodeFeature.js"}
|
|
@@ -74,7 +74,7 @@ var UpgradeAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
74
74
|
key: "execute",
|
|
75
75
|
value: function () {
|
|
76
76
|
var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(options) {
|
|
77
|
-
var normalizedOptions, dependencyResults;
|
|
77
|
+
var normalizedOptions, files, dependencyResults;
|
|
78
78
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
79
79
|
while (1) {
|
|
80
80
|
switch (_context.prev = _context.next) {
|
|
@@ -87,32 +87,43 @@ var UpgradeAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
87
87
|
|
|
88
88
|
case 3:
|
|
89
89
|
_context.prev = 3;
|
|
90
|
+
_context.next = 6;
|
|
91
|
+
return this.Writer('node', {
|
|
92
|
+
upgradeMode: normalizedOptions.upgradeMode
|
|
93
|
+
}).writeNodeModule(this.cwd, {
|
|
94
|
+
shouldConfirmBeforeWriting: true,
|
|
95
|
+
shouldWriteIndex: false
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
case 6:
|
|
99
|
+
files = _context.sent;
|
|
90
100
|
|
|
91
101
|
_InFlightEntertainment["default"].start(["Let's start the upgrade!", 'While things are going, see if you can beat 1k points!', 'Go!!!!']);
|
|
92
102
|
|
|
93
|
-
_context.next =
|
|
103
|
+
_context.next = 10;
|
|
94
104
|
return this.reInstallPackageDependencies();
|
|
95
105
|
|
|
96
|
-
case
|
|
106
|
+
case 10:
|
|
97
107
|
dependencyResults = _context.sent;
|
|
98
108
|
return _context.abrupt("return", _action["default"].mergeActionResults(dependencyResults, {
|
|
99
|
-
headline: 'Upgrade'
|
|
109
|
+
headline: 'Upgrade',
|
|
110
|
+
files: files
|
|
100
111
|
}));
|
|
101
112
|
|
|
102
|
-
case
|
|
103
|
-
_context.prev =
|
|
113
|
+
case 12:
|
|
114
|
+
_context.prev = 12;
|
|
104
115
|
|
|
105
116
|
_InFlightEntertainment["default"].stop();
|
|
106
117
|
|
|
107
118
|
this.ui.renderHero('Upgrade');
|
|
108
|
-
return _context.finish(
|
|
119
|
+
return _context.finish(12);
|
|
109
120
|
|
|
110
|
-
case
|
|
121
|
+
case 16:
|
|
111
122
|
case "end":
|
|
112
123
|
return _context.stop();
|
|
113
124
|
}
|
|
114
125
|
}
|
|
115
|
-
}, _callee, this, [[3,,
|
|
126
|
+
}, _callee, this, [[3,, 12, 16]]);
|
|
116
127
|
}));
|
|
117
128
|
|
|
118
129
|
function execute(_x) {
|