@sprucelabs/spruce-cli 18.2.0 → 18.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/build/.spruce/events/events.contract.d.ts +159 -0
- package/build/.spruce/events/events.contract.js +5 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
- package/build/.spruce/schemas/schemas.types.d.ts +158 -55
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
- package/build/.spruce/settings.json +2 -1
- package/build/GlobalEmitter.d.ts +13 -38
- package/build/GlobalEmitter.js +3 -6
- package/build/GlobalEmitter.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
- package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
- package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
- package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
- package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
- package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
- package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
- package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
- package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
- package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
- package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
- package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
- package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
- package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
- package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
- package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
- package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +3 -4
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/features/AbstractAction.d.ts +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +3 -3
- package/build/features/AbstractFeature.js +8 -8
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.d.ts +1 -1
- package/build/features/ActionExecuter.js +3 -4
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.d.ts +12 -5
- package/build/features/ActionFactory.js +27 -6
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.d.ts +1 -1
- package/build/features/ActionQuestionAsker.js +6 -6
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +31 -33
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/error/ErrorFeature.js +4 -4
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +8 -8
- package/build/features/event/EventFeature.js +7 -4
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +9 -9
- package/build/features/event/stores/EventStore.js +26 -26
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +4 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +10 -5
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/features.types.d.ts +2 -37
- package/build/features/features.types.js +0 -41
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/permission/PermissionFeature.d.ts +12 -2
- package/build/features/permission/PermissionFeature.js +138 -15
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +4 -1
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.d.ts +5 -1
- package/build/features/permission/actions/SyncAction.js +28 -10
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.d.ts +6 -1
- package/build/features/permission/stores/PermissionStore.js +43 -31
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
- package/build/features/permission/writers/PermissionWriter.js +67 -18
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/PersonFeature.js +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/schema/SchemaFeature.d.ts +8 -8
- package/build/features/schema/SchemaFeature.js +4 -4
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.d.ts +11 -11
- package/build/features/skill/SkillFeature.js +2 -2
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +1 -2
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/store/StoreFeature.js +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/SyncAction.d.ts +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/test/TestFeature.js +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/view/ViewFeature.js +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/CommandService.d.ts +2 -2
- package/build/services/CommandService.js +6 -6
- package/build/services/CommandService.js.map +1 -1
- package/build/services/PkgService.d.ts +1 -0
- package/build/services/PkgService.js +5 -0
- package/build/services/PkgService.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +7 -3
- package/build/tests/AbstractCliTest.js +81 -45
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/buildTestCache.js +7 -0
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +1 -0
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.d.ts +2 -0
- package/build/tests/utilities/test.utility.js +6 -0
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +65 -33
- package/src/.spruce/events/events.contract.ts +24 -0
- package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
- package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
- package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
- package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
- package/src/.spruce/schemas/schemas.types.ts +171 -52
- package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
- package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
- package/src/.spruce/settings.json +2 -1
- package/src/GlobalEmitter.ts +2 -7
- package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
- package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
- package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
- package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
- package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
- package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
- package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
- package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
- package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
- package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
- package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
- package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
- package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
- package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
- package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
- package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
- package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
- package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
- package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
- package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
- package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
- package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
- package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
- package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
- package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
- package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
- package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
- package/src/__tests__/implementation/SkillStore.test.ts +1 -2
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/AbstractFeature.ts +8 -8
- package/src/features/ActionExecuter.ts +4 -5
- package/src/features/ActionFactory.ts +44 -20
- package/src/features/ActionQuestionAsker.ts +17 -17
- package/src/features/conversation/ConversationFeature.ts +1 -1
- package/src/features/dependencies/DependencyFeature.ts +1 -1
- package/src/features/deploy/actions/HerokuAction.ts +2 -2
- package/src/features/error/ErrorFeature.ts +4 -4
- package/src/features/event/EventFeature.ts +15 -14
- package/src/features/event/actions/CreateAction.ts +1 -1
- package/src/features/event/actions/ListenAction.ts +1 -1
- package/src/features/event/stores/EventStore.ts +37 -37
- package/src/features/eventContract/EventContractFeature.ts +6 -1
- package/src/features/eventContract/actions/PullAction.ts +7 -3
- package/src/features/features.types.ts +4 -41
- package/src/features/log/LogFeature.ts +1 -1
- package/src/features/node/NodeFeature.ts +1 -1
- package/src/features/organization/actions/InstallAction.ts +1 -1
- package/src/features/permission/PermissionFeature.ts +68 -11
- package/src/features/permission/actions/CreateAction.ts +2 -0
- package/src/features/permission/actions/SyncAction.ts +22 -3
- package/src/features/permission/stores/PermissionStore.ts +27 -8
- package/src/features/permission/writers/PermissionWriter.ts +62 -4
- package/src/features/person/PersonFeature.ts +1 -1
- package/src/features/sandbox/SandboxFeature.ts +1 -3
- package/src/features/schema/SchemaFeature.ts +14 -14
- package/src/features/schema/writers/SchemaWriter.ts +14 -15
- package/src/features/skill/SkillFeature.ts +18 -18
- package/src/features/skill/actions/RebuildAction.ts +1 -1
- package/src/features/skill/actions/RegisterAction.ts +1 -1
- package/src/features/skill/stores/SkillStore.ts +1 -2
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/actions/SyncAction.ts +1 -1
- package/src/features/test/TestFeature.ts +1 -1
- package/src/features/view/ViewFeature.ts +1 -1
- package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
- package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
- package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
- package/src/services/CommandService.ts +5 -5
- package/src/services/PkgService.ts +4 -0
- package/src/tests/AbstractCliTest.ts +31 -13
- package/src/tests/buildTestCache.ts +7 -0
- package/src/tests/fixtures/FeatureFixture.ts +2 -0
- package/src/tests/utilities/test.utility.ts +13 -0
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
- package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillStore.js","names":["SkillStore","options","values","isRegisteringCurrentSkill","assertInSkill","name","slug","description","isPublished","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","emitAndFlattenResponses","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore, { StoreOptions } from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic constructor(options: StoreOptions<SkillStoreOptions>) {\n\t\tsuper(options)\n\t}\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && (await this.assertInSkill())\n\n\t\tconst { name, slug, description, isPublished } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t\tisPublished,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate async assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tawait this.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst [{ skills }] = await client.emitAndFlattenResponses(\n\t\t\t'list-skills::v2020_12_25',\n\t\t\t{\n\t\t\t\tpayload: {\n\t\t\t\t\t...query,\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn skills\n\t}\n}\n\nexport interface CreateSkill {\n\tname: string\n\tslug?: string\n\tdescription?: string\n\tisPublished?: boolean\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport interface SkillStoreOptions {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SkillStore.js","names":["SkillStore","options","values","isRegisteringCurrentSkill","assertInSkill","name","slug","description","isPublished","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","nameFromPackage","getSkillNamespace","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","pkg","get","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","emitAndFlattenResponses","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore, { StoreOptions } from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic constructor(options: StoreOptions<SkillStoreOptions>) {\n\t\tsuper(options)\n\t}\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && (await this.assertInSkill())\n\n\t\tconst { name, slug, description, isPublished } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t\tisPublished,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate async assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tawait this.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst nameFromPackage = this.Service('pkg').getSkillNamespace()\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst [{ skills }] = await client.emitAndFlattenResponses(\n\t\t\t'list-skills::v2020_12_25',\n\t\t\t{\n\t\t\t\tpayload: {\n\t\t\t\t\t...query,\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\treturn skills\n\t}\n}\n\nexport interface CreateSkill {\n\tname: string\n\tslug?: string\n\tdescription?: string\n\tisPublished?: boolean\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport interface SkillStoreOptions {}\n"],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
83
83
|
switch (_context2.prev = _context2.next) {
|
|
84
84
|
case 0:
|
|
85
85
|
_context2.next = 2;
|
|
86
|
-
return this.
|
|
86
|
+
return this.features.isInstalled('store');
|
|
87
87
|
case 2:
|
|
88
88
|
isInstalled = _context2.sent;
|
|
89
89
|
isUpgrade = isInstalled && payload.featureCode === 'node' && payload.actionCode === 'upgrade';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreFeature.js","names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","abstractClasses","label","featureCode","payload","
|
|
1
|
+
{"version":3,"file":"StoreFeature.js","names":["StoreFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","registerAbstractTestClassHandler","bind","handleDidExecute","abstractClasses","label","featureCode","payload","features","isInstalled","isUpgrade","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","results","Writer","writePlugin","cwd","files","AbstractFeature"],"sources":["../../../src/features/store/StoreFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tstore: StoreFeature\n\t}\n}\n\nexport default class StoreFeature extends AbstractFeature {\n\tpublic nameReadable = 'Data Stores'\n\tpublic description = 'For working with remote places of storage.'\n\tpublic code: FeatureCode = 'store'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = [\n\t\t{ name: '@sprucelabs/spruce-store-plugin@latest', isDev: false },\n\t\t{ name: '@sprucelabs/data-stores@latest', isDev: false },\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.register-abstract-test-classes',\n\t\t\tthis.registerAbstractTestClassHandler.bind(this)\n\t\t)\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async registerAbstractTestClassHandler() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractStoreTest',\n\t\t\t\t\tlabel: 'AbstractStoreTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-store-plugin',\n\t\t\t\t\tfeatureCode: 'store',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.features.isInstalled('store')\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled &&\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tuiUtil.renderMasthead({\n\t\t\t\tui: this.ui,\n\t\t\t\theadline: 'Re-syncing data stores...',\n\t\t\t})\n\n\t\t\tconst results = await this.Action('store', 'sync').execute({})\n\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('store').writePlugin(this.cwd)\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAG2B;AAAA;AAAA,IASNA,YAAY;EAAA;EAAA;EAiBhC,sBAAmBC,OAAuB,EAAE;IAAA;IAAA;IAC3C,0BAAMA,OAAO;IAAC,iGAjBO,aAAa;IAAA,gGACd,4CAA4C;IAAA,yFACtC,OAAO;IAAA,iGACS,CAC1C;MACCC,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAAA,wGAC4B,CAC5B;MAAEC,IAAI,EAAE,wCAAwC;MAAEC,KAAK,EAAE;IAAM,CAAC,EAChE;MAAED,IAAI,EAAE,gCAAgC;MAAEC,KAAK,EAAE;IAAM,CAAC,CACxD;IAAA,+FAEmBC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAK7D,KAAK,MAAKC,OAAO,CAACC,EAAE,CACnB,qCAAqC,EACrC,MAAKC,gCAAgC,CAACC,IAAI,gDAAM,CAChD;IACD,KAAK,MAAKH,OAAO,CAACC,EAAE,CACnB,qBAAqB,EACrB,MAAKG,gBAAgB,CAACD,IAAI,gDAAM,CAChC;IAAA;EACF;EAAC;IAAA;IAAA;MAAA,sHAED;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNE,eAAe,EAAE,CAChB;oBACCV,IAAI,EAAE,mBAAmB;oBACzBW,KAAK,EAAE,mBAAmB;oBAC1B,UAAQ,iCAAiC;oBACzCC,WAAW,EAAE;kBACd,CAAC;gBAEH,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED,kBAA+BC,OAG9B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC0B,IAAI,CAACC,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;cAAA;gBAAtDA,WAAW;gBAEXC,SAAS,GACdD,WAAW,IACXF,OAAO,CAACD,WAAW,KAAK,MAAM,IAC9BC,OAAO,CAACI,UAAU,KAAK,SAAS;gBAAA,KAE7BD,SAAS;kBAAA;kBAAA;gBAAA;gBACZE,cAAM,CAACC,cAAc,CAAC;kBACrBC,EAAE,EAAE,IAAI,CAACA,EAAE;kBACXC,QAAQ,EAAE;gBACX,CAAC,CAAC;gBAAA;gBAAA,OAEoB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAxDC,OAAO;gBAAA,kCAENA,OAAO;cAAA;gBAAA,kCAGR,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAxDC,KAAK;gBAAA,kCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAzEwCC,4BAAe;AAAA"}
|
|
@@ -19,7 +19,7 @@ export default class SyncAction extends AbstractAction<OptionsSchema> {
|
|
|
19
19
|
files: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[];
|
|
20
20
|
errors?: undefined;
|
|
21
21
|
} | {
|
|
22
|
-
errors:
|
|
22
|
+
errors: any[];
|
|
23
23
|
files?: undefined;
|
|
24
24
|
}>;
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncAction.js","names":["optionsSchema","buildSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\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"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAuF;AAAA;AAEvF,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,sBAAsB;EAC1BC,WAAW,EACV,uEAAuE;EACxEC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAKmBC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACPL,aAAa;IAAA,mGACZ,CAAC,aAAa,CAAC;IAAA,sGAEtC,2DAA2D;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAE5D,iBAAqBM,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEf,IAAI,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,WAAW,EAAE;cAAA;gBAAhDC,MAAM;gBAERC,KAAsB,GAAG,EAAE;gBAAA,MAE3BD,MAAM,CAACE,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACdC,WAAW,GAAGC,0BAAQ,CAACC,qBAAqB,CAAC,IAAI,CAACC,GAAG,EAAE,QAAQ,CAAC;gBAChEC,OAAO,GAAG,IAAIC,oCAAwB,EAAE;gBACxCC,aAAa,GAAGF,OAAO,CAACG,kBAAkB,CAACV,MAAM,EAAEG,WAAW,CAAC;gBAE/DQ,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC;gBAAA;gBAAA,OACrBD,MAAM,CAACE,gBAAgB,CAACV,WAAW,EAAE;kBAClDH,MAAM,EAAES;gBACT,CAAC,CAAC;cAAA;gBAFFR,KAAK;cAAA;gBAAA,iCAKC;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNa,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/BsCC,2BAAc;AAAA"}
|
|
1
|
+
{"version":3,"file":"SyncAction.js","names":["optionsSchema","buildSchema","id","description","fields","SyncAction","_options","Store","fetchStores","stores","files","length","destination","diskUtil","resolveHashSprucePath","cwd","builder","StoreTemplateItemBuilder","templateItems","buildTemplateItems","writer","Writer","writeTypesAndMap","errors","AbstractAction"],"sources":["../../../../src/features/store/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport StoreTemplateItemBuilder from '../templateItemBuilders/StoreTemplateItemBuilder'\n\nconst optionsSchema = buildSchema({\n\tid: 'syncDataStoreOptions',\n\tdescription:\n\t\t\"Only needed if you change a store's name, manually add or remove one.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.stores']\n\tpublic invocationMessage =\n\t\t'Generating store types and setting up store factory... 💿'\n\n\tpublic async execute(_options: Options) {\n\t\ttry {\n\t\t\tconst stores = await this.Store('store').fetchStores()\n\n\t\t\tlet files: GeneratedFile[] = []\n\n\t\t\tif (stores.length > 0) {\n\t\t\t\tconst destination = diskUtil.resolveHashSprucePath(this.cwd, 'stores')\n\t\t\t\tconst builder = new StoreTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildTemplateItems(stores, destination)\n\n\t\t\t\tconst writer = this.Writer('store')\n\t\t\t\tfiles = await writer.writeTypesAndMap(destination, {\n\t\t\t\t\tstores: templateItems,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAuF;AAAA;AAEvF,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,sBAAsB;EAC1BC,WAAW,EACV,uEAAuE;EACxEC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC;AAAA,IAKmBC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACPL,aAAa;IAAA,mGACZ,CAAC,aAAa,CAAC;IAAA,sGAEtC,2DAA2D;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAE5D,iBAAqBM,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEf,IAAI,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,WAAW,EAAE;cAAA;gBAAhDC,MAAM;gBAERC,KAAsB,GAAG,EAAE;gBAAA,MAE3BD,MAAM,CAACE,MAAM,GAAG,CAAC;kBAAA;kBAAA;gBAAA;gBACdC,WAAW,GAAGC,0BAAQ,CAACC,qBAAqB,CAAC,IAAI,CAACC,GAAG,EAAE,QAAQ,CAAC;gBAChEC,OAAO,GAAG,IAAIC,oCAAwB,EAAE;gBACxCC,aAAa,GAAGF,OAAO,CAACG,kBAAkB,CAACV,MAAM,EAAEG,WAAW,CAAC;gBAE/DQ,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,CAAC;gBAAA;gBAAA,OACrBD,MAAM,CAACE,gBAAgB,CAACV,WAAW,EAAE;kBAClDH,MAAM,EAAES;gBACT,CAAC,CAAC;cAAA;gBAFFR,KAAK;cAAA;gBAAA,iCAKC;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNa,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/BsCC,2BAAc;AAAA"}
|
|
@@ -196,7 +196,7 @@ var TestFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
196
196
|
break;
|
|
197
197
|
}
|
|
198
198
|
_context2.next = 23;
|
|
199
|
-
return this.
|
|
199
|
+
return this.features.isInstalled(ac.featureCode);
|
|
200
200
|
case 23:
|
|
201
201
|
isInstalled = _context2.sent;
|
|
202
202
|
if (!isInstalled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestFeature.js","names":["TestFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","service","Service","configureJest","configureScripts","configureTsConfig","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","err","scripts","get","test","set","path","value","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","parentFinder","ParentTestFinder","findAbstractTests","candidates","map","a","label","emitter","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","payload","abstractClasses","ac","isDefaultExport","featureCode","
|
|
1
|
+
{"version":3,"file":"TestFeature.js","names":["TestFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","service","Service","configureJest","configureScripts","configureTsConfig","tsConfig","tsConfigUtil","readConfig","cwd","compilerOptions","experimentalDecorators","setCompilerOption","err","scripts","get","test","set","path","value","jestConfig","testRunner","maxWorkers","testTimeout","testEnvironment","testPathIgnorePatterns","testMatch","moduleNameMapper","existingJest","parentFinder","ParentTestFinder","findAbstractTests","candidates","map","a","label","emitter","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","payload","abstractClasses","ac","isDefaultExport","featureCode","features","isInstalled","push","sort","b","AbstractFeature"],"sources":["../../../src/features/test/TestFeature.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../errors/SpruceError'\nimport PkgService from '../../services/PkgService'\nimport { NpmPackage } from '../../types/cli.types'\nimport tsConfigUtil from '../../utilities/tsConfig.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport ParentTestFinder from '../error/ParentTestFinder'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\ttest: TestFeature\n\t}\n}\n\nexport interface ParentClassCandidate {\n\tname: string\n\tlabel: string\n\tpath?: string\n\timport?: string\n\tisDefaultExport: boolean\n\tfeatureCode?: FeatureCode\n}\n\nexport default class TestFeature extends AbstractFeature {\n\tpublic nameReadable = 'Testing'\n\tpublic description = 'Test first. Test everything! 💪'\n\tpublic code: FeatureCode = 'test'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/test@latest', isDev: true },\n\t\t{ name: '@sprucelabs/test-utils@latest', isDev: true },\n\t\t{ name: '@sprucelabs/jest-json-reporter@latest', isDev: true },\n\t\t{ name: '@sprucelabs/spruce-test-fixtures@latest', isDev: true },\n\t\t{ name: 'jest-circus', isDev: true },\n\t\t{ name: 'jest', isDev: true },\n\t]\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic async afterPackageInstall() {\n\t\tconst service = this.Service('pkg')\n\n\t\tthis.configureJest(service)\n\t\tthis.configureScripts(service)\n\t\tthis.configureTsConfig()\n\n\t\treturn {}\n\t}\n\n\tprivate configureTsConfig() {\n\t\ttry {\n\t\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\t\t\tif (!tsConfig.compilerOptions.experimentalDecorators) {\n\t\t\t\ttsConfig.compilerOptions.experimentalDecorators = true\n\t\t\t\ttsConfigUtil.setCompilerOption(this.cwd, 'experimentalDecorators', true)\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t//@ts-ignore\n\t\t}\n\t}\n\n\tprivate configureScripts(service: PkgService) {\n\t\tlet scripts = service.get('scripts') as Record<string, any> | undefined\n\n\t\tif (!scripts) {\n\t\t\tscripts = {}\n\t\t}\n\n\t\tif (!scripts.test) {\n\t\t\tscripts.test = 'jest'\n\t\t\tscripts['watch.tests'] = 'jest --watch'\n\t\t\tservice.set({ path: 'scripts', value: scripts })\n\t\t}\n\t}\n\n\tprivate configureJest(service: PkgService) {\n\t\tconst jestConfig = {\n\t\t\ttestRunner: 'jest-circus/runner',\n\t\t\tmaxWorkers: 4,\n\t\t\ttestTimeout: 120000,\n\t\t\ttestEnvironment: 'node',\n\t\t\ttestPathIgnorePatterns: [\n\t\t\t\t'<rootDir>/tmp/',\n\t\t\t\t'<rootDir>/src/',\n\t\t\t\t'<rootDir>/node_modules/',\n\t\t\t\t'<rootDir>/build/__tests__/testDirsAndFiles/',\n\t\t\t],\n\t\t\ttestMatch: ['**/__tests__/**/*.test.js?(x)'],\n\t\t\tmoduleNameMapper: {\n\t\t\t\t'^#spruce/(.*)$': '<rootDir>/build/.spruce/$1',\n\t\t\t},\n\t\t}\n\n\t\tconst existingJest = service.get('jest') as Record<string, any>\n\t\tif (!existingJest) {\n\t\t\tservice.set({ path: 'jest', value: jestConfig })\n\t\t}\n\t}\n\n\tpublic async buildParentClassCandidates(): Promise<ParentClassCandidate[]> {\n\t\tconst parentFinder = new ParentTestFinder(this.cwd)\n\t\tconst candidates: ParentClassCandidate[] = (\n\t\t\tawait parentFinder.findAbstractTests()\n\t\t).map((a) => ({ ...a, label: a.name }))\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'test.register-abstract-test-classes'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tfor (const payload of payloads) {\n\t\t\tconst { abstractClasses } = payload\n\n\t\t\tfor (const ac of abstractClasses) {\n\t\t\t\tconst a = { ...ac, isDefaultExport: false }\n\n\t\t\t\tif (ac.featureCode) {\n\t\t\t\t\tconst isInstalled = await this.features.isInstalled(\n\t\t\t\t\t\tac.featureCode as any\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!isInstalled) {\n\t\t\t\t\t\ta.label = `${a.label} (requires install)`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcandidates.push(a as any)\n\t\t\t}\n\t\t}\n\n\t\tcandidates.sort((a, b) => {\n\t\t\tif (a.label > b.label) {\n\t\t\t\treturn 1\n\t\t\t} else {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t})\n\n\t\treturn candidates\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ var ViewFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
53
53
|
case 0:
|
|
54
54
|
featureCode = payload.featureCode, actionCode = payload.actionCode;
|
|
55
55
|
_context.next = 3;
|
|
56
|
-
return _this.
|
|
56
|
+
return _this.features.isInstalled('view');
|
|
57
57
|
case 3:
|
|
58
58
|
isInstalled = _context.sent;
|
|
59
59
|
if (!(isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewFeature.js","names":["ViewFeature","options","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","payload","featureCode","actionCode","
|
|
1
|
+
{"version":3,"file":"ViewFeature.js","names":["ViewFeature","options","diskUtil","resolvePath","__dirname","name","code","isRequired","emitter","on","payload","featureCode","actionCode","features","isInstalled","Writer","writePlugin","cwd","files","abstractClasses","label","Service","add","id","namespace","AbstractFeature"],"sources":["../../../src/features/view/ViewFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tview: ViewFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tview: undefined\n\t}\n}\n\nexport default class ViewFeature extends AbstractFeature {\n\tpublic nameReadable = 'views'\n\tpublic description = 'Views: Create views using the Heartwood framework.'\n\tpublic code: FeatureCode = 'view'\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/heartwood-view-controllers@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-view-plugin@latest',\n\t\t},\n\t]\n\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'node',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'schema',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\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\tconst { featureCode, actionCode } = payload\n\t\t\tconst isInstalled = await this.features.isInstalled('view')\n\n\t\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\t\t\t\treturn {\n\t\t\t\t\tfiles,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {}\n\t\t})\n\n\t\tvoid this.emitter.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'AbstractViewControllerTest',\n\t\t\t\t\t\tlabel: 'AbstractViewControllerTest',\n\t\t\t\t\t\timport: '@sprucelabs/spruce-view-plugin',\n\t\t\t\t\t\tfeatureCode: 'view',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tconst files = await this.Writer('view').writePlugin(this.cwd)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: '**',\n\t\t\tnamespace: 'heartwood',\n\t\t})\n\n\t\treturn { files }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AAAuE;AAAA;AAAA,IAalDA,WAAW;EAAA;EAAA;EA8B/B,qBAAmBC,OAAsB,EAAE;IAAA;IAAA;IAC1C,0BAAMA,OAAO;IAAC,iGA9BO,OAAO;IAAA,gGACR,oDAAoD;IAAA,yFAC9C,MAAM;IAAA,+FACbC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,wGAEV,CACnD;MACCC,IAAI,EAAE;IACP,CAAC,EACD;MACCA,IAAI,EAAE;IACP,CAAC,CACD;IAAA,iGAE0C,CAC1C;MACCC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE;IACb,CAAC,EACD;MACCD,IAAI,EAAE,OAAO;MACbC,UAAU,EAAE;IACb,CAAC,CACD;IAKA,KAAK,MAAKC,OAAO,CAACC,EAAE,CAAC,qBAAqB;MAAA,yFAAE,iBAAOC,OAAO;QAAA;QAAA;UAAA;YAAA;cAAA;gBACjDC,WAAW,GAAiBD,OAAO,CAAnCC,WAAW,EAAEC,UAAU,GAAKF,OAAO,CAAtBE,UAAU;gBAAA;gBAAA,OACL,MAAKC,QAAQ,CAACC,WAAW,CAAC,MAAM,CAAC;cAAA;gBAArDA,WAAW;gBAAA,MAEbA,WAAW,IAAIH,WAAW,KAAK,MAAM,IAAIC,UAAU,KAAK,SAAS;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAChD,MAAKG,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,MAAKC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAAA,iCACJ;kBACNA,KAAK,EAALA;gBACD,CAAC;cAAA;gBAAA,iCAEK,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACT;MAAA;QAAA;MAAA;IAAA,IAAC;IAEF,KAAK,MAAKV,OAAO,CAACC,EAAE,CAAC,qCAAqC,6FAAE;MAAA;QAAA;UAAA;YAAA;cAAA,kCACpD;gBACNU,eAAe,EAAE,CAChB;kBACCd,IAAI,EAAE,4BAA4B;kBAClCe,KAAK,EAAE,4BAA4B;kBACnC,UAAQ,gCAAgC;kBACxCT,WAAW,EAAE;gBACd,CAAC;cAEH,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CACD,GAAC;IAAA;EACH;EAAC;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,IAAI,CAACI,MAAM,CAAC,MAAM,CAAC,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,CAAC;cAAA;gBAAvDC,KAAK;gBAEX,IAAI,CAACG,OAAO,CAAC,YAAY,CAAC,CAACC,GAAG,CAAC;kBAC9BC,EAAE,EAAE,IAAI;kBACRC,SAAS,EAAE;gBACZ,CAAC,CAAC;gBAAA,kCAEK;kBAAEN,KAAK,EAALA;gBAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArEuCO,4BAAe;AAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
importsWhenLocal: string[];
|
|
5
|
+
fields: {
|
|
6
|
+
files: {
|
|
7
|
+
type: "schema";
|
|
8
|
+
isArray: true;
|
|
9
|
+
options: {
|
|
10
|
+
schema: {
|
|
11
|
+
id: string;
|
|
12
|
+
fields: {
|
|
13
|
+
name: {
|
|
14
|
+
type: "text";
|
|
15
|
+
isRequired: true;
|
|
16
|
+
};
|
|
17
|
+
path: {
|
|
18
|
+
type: "text";
|
|
19
|
+
isRequired: true;
|
|
20
|
+
};
|
|
21
|
+
description: {
|
|
22
|
+
type: "text";
|
|
23
|
+
};
|
|
24
|
+
action: {
|
|
25
|
+
type: "select";
|
|
26
|
+
isRequired: true;
|
|
27
|
+
options: {
|
|
28
|
+
choices: {
|
|
29
|
+
label: string;
|
|
30
|
+
value: string;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
headline: {
|
|
39
|
+
type: "text";
|
|
40
|
+
};
|
|
41
|
+
hints: {
|
|
42
|
+
type: "text";
|
|
43
|
+
isArray: true;
|
|
44
|
+
};
|
|
45
|
+
summaryLines: {
|
|
46
|
+
type: "text";
|
|
47
|
+
isArray: true;
|
|
48
|
+
};
|
|
49
|
+
errors: {
|
|
50
|
+
type: "raw";
|
|
51
|
+
isArray: true;
|
|
52
|
+
options: {
|
|
53
|
+
valueType: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
meta: {
|
|
57
|
+
type: "raw";
|
|
58
|
+
options: {
|
|
59
|
+
valueType: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
packagesInstalled: {
|
|
63
|
+
type: "schema";
|
|
64
|
+
isArray: true;
|
|
65
|
+
options: {
|
|
66
|
+
schema: {
|
|
67
|
+
id: string;
|
|
68
|
+
fields: {
|
|
69
|
+
name: {
|
|
70
|
+
type: "text";
|
|
71
|
+
isRequired: true;
|
|
72
|
+
};
|
|
73
|
+
version: {
|
|
74
|
+
type: "text";
|
|
75
|
+
};
|
|
76
|
+
isDev: {
|
|
77
|
+
type: "boolean";
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export default _default;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _schema = require("@sprucelabs/schema");
|
|
9
|
+
var _generatedFile = _interopRequireDefault(require("./generatedFile.builder"));
|
|
10
|
+
var _default = (0, _schema.buildSchema)({
|
|
11
|
+
id: 'actionResponse',
|
|
12
|
+
name: 'Action response',
|
|
13
|
+
importsWhenLocal: ["import AbstractSpruceError from '@sprucelabs/error'"],
|
|
14
|
+
fields: {
|
|
15
|
+
files: {
|
|
16
|
+
type: 'schema',
|
|
17
|
+
isArray: true,
|
|
18
|
+
options: {
|
|
19
|
+
schema: _generatedFile["default"]
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
headline: {
|
|
23
|
+
type: 'text'
|
|
24
|
+
},
|
|
25
|
+
hints: {
|
|
26
|
+
type: 'text',
|
|
27
|
+
isArray: true
|
|
28
|
+
},
|
|
29
|
+
summaryLines: {
|
|
30
|
+
type: 'text',
|
|
31
|
+
isArray: true
|
|
32
|
+
},
|
|
33
|
+
errors: {
|
|
34
|
+
type: 'raw',
|
|
35
|
+
isArray: true,
|
|
36
|
+
options: {
|
|
37
|
+
valueType: 'AbstractSpruceError<any>'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
meta: {
|
|
41
|
+
type: 'raw',
|
|
42
|
+
options: {
|
|
43
|
+
valueType: 'Record<string, any>'
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
packagesInstalled: {
|
|
47
|
+
type: 'schema',
|
|
48
|
+
isArray: true,
|
|
49
|
+
options: {
|
|
50
|
+
schema: (0, _schema.buildSchema)({
|
|
51
|
+
id: 'npmPackage',
|
|
52
|
+
fields: {
|
|
53
|
+
name: {
|
|
54
|
+
type: 'text',
|
|
55
|
+
isRequired: true
|
|
56
|
+
},
|
|
57
|
+
version: {
|
|
58
|
+
type: 'text'
|
|
59
|
+
},
|
|
60
|
+
isDev: {
|
|
61
|
+
type: 'boolean'
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
exports["default"] = _default;
|
|
70
|
+
//# sourceMappingURL=actionResponse.builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionResponse.builder.js","names":["buildSchema","id","name","importsWhenLocal","fields","files","type","isArray","options","schema","generatedFileBuilder","headline","hints","summaryLines","errors","valueType","meta","packagesInstalled","isRequired","version","isDev"],"sources":["../../../src/schemas/v2020_07_22/actionResponse.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'actionResponse',\n\tname: 'Action response',\n\timportsWhenLocal: [`import AbstractSpruceError from '@sprucelabs/error'`],\n\tfields: {\n\t\tfiles: {\n\t\t\ttype: 'schema',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschema: generatedFileBuilder,\n\t\t\t},\n\t\t},\n\t\theadline: {\n\t\t\ttype: 'text',\n\t\t},\n\t\thints: {\n\t\t\ttype: 'text',\n\t\t\tisArray: true,\n\t\t},\n\t\tsummaryLines: {\n\t\t\ttype: 'text',\n\t\t\tisArray: true,\n\t\t},\n\t\terrors: {\n\t\t\ttype: 'raw',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tvalueType: 'AbstractSpruceError<any>',\n\t\t\t},\n\t\t},\n\t\tmeta: {\n\t\t\ttype: 'raw',\n\t\t\toptions: {\n\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t},\n\t\t},\n\t\tpackagesInstalled: {\n\t\t\ttype: 'schema',\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschema: buildSchema({\n\t\t\t\t\tid: 'npmPackage',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tversion: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDev: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;;AAAA;AACA;AAA0D,eAE3C,IAAAA,mBAAW,EAAC;EAC1BC,EAAE,EAAE,gBAAgB;EACpBC,IAAI,EAAE,iBAAiB;EACvBC,gBAAgB,EAAE,uDAAuD;EACzEC,MAAM,EAAE;IACPC,KAAK,EAAE;MACNC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,MAAM,EAAEC;MACT;IACD,CAAC;IACDC,QAAQ,EAAE;MACTL,IAAI,EAAE;IACP,CAAC;IACDM,KAAK,EAAE;MACNN,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACV,CAAC;IACDM,YAAY,EAAE;MACbP,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACV,CAAC;IACDO,MAAM,EAAE;MACPR,IAAI,EAAE,KAAK;MACXC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRO,SAAS,EAAE;MACZ;IACD,CAAC;IACDC,IAAI,EAAE;MACLV,IAAI,EAAE,KAAK;MACXE,OAAO,EAAE;QACRO,SAAS,EAAE;MACZ;IACD,CAAC;IACDE,iBAAiB,EAAE;MAClBX,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,MAAM,EAAE,IAAAT,mBAAW,EAAC;UACnBC,EAAE,EAAE,YAAY;UAChBG,MAAM,EAAE;YACPF,IAAI,EAAE;cACLI,IAAI,EAAE,MAAM;cACZY,UAAU,EAAE;YACb,CAAC;YACDC,OAAO,EAAE;cACRb,IAAI,EAAE;YACP,CAAC;YACDc,KAAK,EAAE;cACNd,IAAI,EAAE;YACP;UACD;QACD,CAAC;MACF;IACD;EACD;AACD,CAAC,CAAC;AAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare const generatedFileBuilder: {
|
|
2
|
+
id: string;
|
|
3
|
+
fields: {
|
|
4
|
+
name: {
|
|
5
|
+
type: "text";
|
|
6
|
+
isRequired: true;
|
|
7
|
+
};
|
|
8
|
+
path: {
|
|
9
|
+
type: "text";
|
|
10
|
+
isRequired: true;
|
|
11
|
+
};
|
|
12
|
+
description: {
|
|
13
|
+
type: "text";
|
|
14
|
+
};
|
|
15
|
+
action: {
|
|
16
|
+
type: "select";
|
|
17
|
+
isRequired: true;
|
|
18
|
+
options: {
|
|
19
|
+
choices: {
|
|
20
|
+
label: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export default generatedFileBuilder;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _schema = require("@sprucelabs/schema");
|
|
8
|
+
var generatedFileBuilder = (0, _schema.buildSchema)({
|
|
9
|
+
id: 'generatedFile',
|
|
10
|
+
fields: {
|
|
11
|
+
name: {
|
|
12
|
+
type: 'text',
|
|
13
|
+
isRequired: true
|
|
14
|
+
},
|
|
15
|
+
path: {
|
|
16
|
+
type: 'text',
|
|
17
|
+
isRequired: true
|
|
18
|
+
},
|
|
19
|
+
description: {
|
|
20
|
+
type: 'text'
|
|
21
|
+
},
|
|
22
|
+
action: {
|
|
23
|
+
type: 'select',
|
|
24
|
+
isRequired: true,
|
|
25
|
+
options: {
|
|
26
|
+
choices: [{
|
|
27
|
+
label: 'Skipped',
|
|
28
|
+
value: 'skipped'
|
|
29
|
+
}, {
|
|
30
|
+
label: 'Generated',
|
|
31
|
+
value: 'generated'
|
|
32
|
+
}, {
|
|
33
|
+
label: 'Updated',
|
|
34
|
+
value: 'updated'
|
|
35
|
+
}, {
|
|
36
|
+
label: 'Deleted',
|
|
37
|
+
value: 'deleted'
|
|
38
|
+
}]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var _default = generatedFileBuilder;
|
|
44
|
+
exports["default"] = _default;
|
|
45
|
+
//# sourceMappingURL=generatedFile.builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generatedFile.builder.js","names":["generatedFileBuilder","buildSchema","id","fields","name","type","isRequired","path","description","action","options","choices","label","value"],"sources":["../../../src/schemas/v2020_07_22/generatedFile.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n\nconst generatedFileBuilder = buildSchema({\n\tid: 'generatedFile',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tpath: {\n\t\t\ttype: 'text',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t},\n\t\taction: {\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Skipped',\n\t\t\t\t\t\tvalue: 'skipped',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Generated',\n\t\t\t\t\t\tvalue: 'generated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Updated',\n\t\t\t\t\t\tvalue: 'updated',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Deleted',\n\t\t\t\t\t\tvalue: 'deleted',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n\nexport default generatedFileBuilder\n"],"mappings":";;;;;;AAAA;AAEA,IAAMA,oBAAoB,GAAG,IAAAC,mBAAW,EAAC;EACxCC,EAAE,EAAE,eAAe;EACnBC,MAAM,EAAE;IACPC,IAAI,EAAE;MACLC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDC,IAAI,EAAE;MACLF,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE;IACb,CAAC;IACDE,WAAW,EAAE;MACZH,IAAI,EAAE;IACP,CAAC;IACDI,MAAM,EAAE;MACPJ,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBI,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,WAAW;UAClBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC,EACD;UACCD,KAAK,EAAE,SAAS;UAChBC,KAAK,EAAE;QACR,CAAC;MAEH;IACD;EACD;AACD,CAAC,CAAC;AAAA,eAEab,oBAAoB;AAAA"}
|
|
@@ -1,45 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports["default"] = void 0;
|
|
7
8
|
var _schema = require("@sprucelabs/schema");
|
|
8
|
-
var
|
|
9
|
-
id: 'generatedFileFields',
|
|
10
|
-
fields: {
|
|
11
|
-
name: {
|
|
12
|
-
type: 'text',
|
|
13
|
-
isRequired: true
|
|
14
|
-
},
|
|
15
|
-
path: {
|
|
16
|
-
type: 'text',
|
|
17
|
-
isRequired: true
|
|
18
|
-
},
|
|
19
|
-
description: {
|
|
20
|
-
type: 'text'
|
|
21
|
-
},
|
|
22
|
-
action: {
|
|
23
|
-
type: 'select',
|
|
24
|
-
isRequired: true,
|
|
25
|
-
options: {
|
|
26
|
-
choices: [{
|
|
27
|
-
label: 'Skipped',
|
|
28
|
-
value: 'skipped'
|
|
29
|
-
}, {
|
|
30
|
-
label: 'Generated',
|
|
31
|
-
value: 'generated'
|
|
32
|
-
}, {
|
|
33
|
-
label: 'Updated',
|
|
34
|
-
value: 'updated'
|
|
35
|
-
}, {
|
|
36
|
-
label: 'Deleted',
|
|
37
|
-
value: 'deleted'
|
|
38
|
-
}]
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
9
|
+
var _generatedFile = _interopRequireDefault(require("./generatedFile.builder"));
|
|
43
10
|
var _default = (0, _schema.buildSchema)({
|
|
44
11
|
id: 'watcherDidDetectChangesEmitPayload',
|
|
45
12
|
name: 'Watcher did detect changes emit payload',
|
|
@@ -49,12 +16,9 @@ var _default = (0, _schema.buildSchema)({
|
|
|
49
16
|
isRequired: true,
|
|
50
17
|
isArray: true,
|
|
51
18
|
options: {
|
|
52
|
-
schemas: [(0, _schema.buildSchema)({
|
|
53
|
-
id: 'generatedFile',
|
|
54
|
-
fields: fieldsSchema.fields
|
|
55
|
-
}), (0, _schema.buildSchema)({
|
|
19
|
+
schemas: [_generatedFile["default"], (0, _schema.buildSchema)({
|
|
56
20
|
id: 'generatedDir',
|
|
57
|
-
fields:
|
|
21
|
+
fields: _generatedFile["default"].fields
|
|
58
22
|
})]
|
|
59
23
|
}
|
|
60
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["
|
|
1
|
+
{"version":3,"file":"watcherDidDetectChangesEmitPayload.builder.js","names":["buildSchema","id","name","fields","changes","type","isRequired","isArray","options","schemas","generatedFileBuilder"],"sources":["../../../src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport generatedFileBuilder from './generatedFile.builder'\n\nexport default buildSchema({\n\tid: 'watcherDidDetectChangesEmitPayload',\n\tname: 'Watcher did detect changes emit payload',\n\tfields: {\n\t\tchanges: {\n\t\t\ttype: 'schema',\n\t\t\tisRequired: true,\n\t\t\tisArray: true,\n\t\t\toptions: {\n\t\t\t\tschemas: [\n\t\t\t\t\tgeneratedFileBuilder,\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'generatedDir',\n\t\t\t\t\t\tfields: generatedFileBuilder.fields,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n"],"mappings":";;;;;;;AAAA;AACA;AAA0D,eAE3C,IAAAA,mBAAW,EAAC;EAC1BC,EAAE,EAAE,oCAAoC;EACxCC,IAAI,EAAE,yCAAyC;EAC/CC,MAAM,EAAE;IACPC,OAAO,EAAE;MACRC,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QACRC,OAAO,EAAE,CACRC,yBAAoB,EACpB,IAAAV,mBAAW,EAAC;UACXC,EAAE,EAAE,cAAc;UAClBE,MAAM,EAAEO,yBAAoB,CAACP;QAC9B,CAAC,CAAC;MAEJ;IACD;EACD;AACD,CAAC,CAAC;AAAA"}
|
|
@@ -6,7 +6,7 @@ export default class CommandService {
|
|
|
6
6
|
cwd: string;
|
|
7
7
|
private activeChildProcess;
|
|
8
8
|
private ignoreCloseErrors;
|
|
9
|
-
private static
|
|
9
|
+
private static fakeResponses;
|
|
10
10
|
private static commandsRunCapturedByMockResponses;
|
|
11
11
|
constructor(cwd: string);
|
|
12
12
|
execute(cmd: string, options?: {
|
|
@@ -26,7 +26,7 @@ export default class CommandService {
|
|
|
26
26
|
pid: () => number | undefined;
|
|
27
27
|
private getMockResponse;
|
|
28
28
|
static fakeCommand(command: string | RegExp, response: MockResponse): void;
|
|
29
|
-
static
|
|
29
|
+
static clearFakedResponses(): void;
|
|
30
30
|
}
|
|
31
31
|
interface MockResponse {
|
|
32
32
|
code: number;
|
|
@@ -173,7 +173,7 @@ var CommandService = /*#__PURE__*/function () {
|
|
|
173
173
|
key: "getMockResponse",
|
|
174
174
|
value: function getMockResponse(executable, args) {
|
|
175
175
|
var mockKey = "".concat(executable, " ").concat(args.join(' ')).trim();
|
|
176
|
-
var commands = CommandService.
|
|
176
|
+
var commands = CommandService.fakeResponses;
|
|
177
177
|
var match = commands.find(function (r) {
|
|
178
178
|
return r.command instanceof RegExp ? mockKey.search(r.command) > -1 : r.command.replace(/ +/gi, '') === mockKey.replace(/ +/gi, '');
|
|
179
179
|
});
|
|
@@ -185,20 +185,20 @@ var CommandService = /*#__PURE__*/function () {
|
|
|
185
185
|
}], [{
|
|
186
186
|
key: "fakeCommand",
|
|
187
187
|
value: function fakeCommand(command, response) {
|
|
188
|
-
this.
|
|
188
|
+
this.fakeResponses.unshift({
|
|
189
189
|
command: command,
|
|
190
190
|
response: response
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
193
|
}, {
|
|
194
|
-
key: "
|
|
195
|
-
value: function
|
|
196
|
-
this.
|
|
194
|
+
key: "clearFakedResponses",
|
|
195
|
+
value: function clearFakedResponses() {
|
|
196
|
+
this.fakeResponses = [];
|
|
197
197
|
}
|
|
198
198
|
}]);
|
|
199
199
|
return CommandService;
|
|
200
200
|
}();
|
|
201
201
|
exports["default"] = CommandService;
|
|
202
|
-
(0, _defineProperty2["default"])(CommandService, "
|
|
202
|
+
(0, _defineProperty2["default"])(CommandService, "fakeResponses", []);
|
|
203
203
|
(0, _defineProperty2["default"])(CommandService, "commandsRunCapturedByMockResponses", []);
|
|
204
204
|
//# sourceMappingURL=CommandService.js.map
|