@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,12 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { NpmPackage } from '@sprucelabs/spruce-skill-utils';
|
|
2
|
+
import AbstractFeature, { FeatureDependency, FeatureOptions, InstallResults } from '../AbstractFeature';
|
|
2
3
|
import { FeatureCode } from '../features.types';
|
|
3
4
|
export default class PermissionFeature extends AbstractFeature {
|
|
4
5
|
code: FeatureCode;
|
|
5
6
|
nameReadable: string;
|
|
6
7
|
description: string;
|
|
7
8
|
dependencies: FeatureDependency[];
|
|
8
|
-
packageDependencies: never[];
|
|
9
9
|
actionsDir: string;
|
|
10
|
+
packageDependencies: NpmPackage[];
|
|
11
|
+
private writer;
|
|
12
|
+
constructor(options: FeatureOptions);
|
|
13
|
+
handleDidExecuteAction({ featureCode, actionCode, }: {
|
|
14
|
+
featureCode: string;
|
|
15
|
+
actionCode: string;
|
|
16
|
+
}): Promise<import("../features.types").FeatureActionResponse>;
|
|
17
|
+
afterPackageInstall(): Promise<InstallResults>;
|
|
18
|
+
private writeTypesFile;
|
|
19
|
+
private writePlugin;
|
|
10
20
|
}
|
|
11
21
|
declare module '../../features/features.types' {
|
|
12
22
|
interface FeatureMap {
|
|
@@ -5,8 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
|
-
var
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
9
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
13
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -19,28 +22,148 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
19
22
|
var PermissionFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
20
23
|
(0, _inherits2["default"])(PermissionFeature, _AbstractFeature);
|
|
21
24
|
var _super = _createSuper(PermissionFeature);
|
|
22
|
-
function PermissionFeature() {
|
|
25
|
+
function PermissionFeature(options) {
|
|
23
26
|
var _this;
|
|
24
27
|
(0, _classCallCheck2["default"])(this, PermissionFeature);
|
|
25
|
-
|
|
26
|
-
args[_key] = arguments[_key];
|
|
27
|
-
}
|
|
28
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
28
|
+
_this = _super.call(this, options);
|
|
29
29
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "code", 'permission');
|
|
30
30
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nameReadable", 'permission');
|
|
31
31
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "description", 'Manage permissions for your skill');
|
|
32
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dependencies", [
|
|
33
|
-
code: 'skill',
|
|
34
|
-
isRequired: true
|
|
35
|
-
}, {
|
|
36
|
-
code: 'event',
|
|
37
|
-
isRequired: true
|
|
38
|
-
}]);
|
|
39
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "packageDependencies", []);
|
|
32
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dependencies", []);
|
|
40
33
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
|
|
34
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "packageDependencies", [{
|
|
35
|
+
name: '@sprucelabs/spruce-permission-plugin@latest'
|
|
36
|
+
}]);
|
|
37
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "writer", void 0);
|
|
38
|
+
_this.writer = _this.Writer('permission');
|
|
39
|
+
void _this.emitter.on('feature.did-execute', _this.handleDidExecuteAction.bind((0, _assertThisInitialized2["default"])(_this)));
|
|
41
40
|
return _this;
|
|
42
41
|
}
|
|
43
|
-
|
|
42
|
+
(0, _createClass2["default"])(PermissionFeature, [{
|
|
43
|
+
key: "handleDidExecuteAction",
|
|
44
|
+
value: function () {
|
|
45
|
+
var _handleDidExecuteAction = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
46
|
+
var featureCode, actionCode, isInstalled, isSkillInstalled, _results$files, combinedFile, results;
|
|
47
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
48
|
+
while (1) {
|
|
49
|
+
switch (_context.prev = _context.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
featureCode = _ref.featureCode, actionCode = _ref.actionCode;
|
|
52
|
+
_context.next = 3;
|
|
53
|
+
return this.features.isInstalled('permission');
|
|
54
|
+
case 3:
|
|
55
|
+
isInstalled = _context.sent;
|
|
56
|
+
_context.next = 6;
|
|
57
|
+
return this.features.isInstalled('skill');
|
|
58
|
+
case 6:
|
|
59
|
+
isSkillInstalled = _context.sent;
|
|
60
|
+
if (!(isSkillInstalled && isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
|
|
61
|
+
_context.next = 16;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
_context.next = 10;
|
|
65
|
+
return this.writePlugin();
|
|
66
|
+
case 10:
|
|
67
|
+
combinedFile = _context.sent;
|
|
68
|
+
_context.next = 13;
|
|
69
|
+
return this.Action('permission', 'sync').execute({});
|
|
70
|
+
case 13:
|
|
71
|
+
results = _context.sent;
|
|
72
|
+
results.files = [].concat((0, _toConsumableArray2["default"])((_results$files = results.files) !== null && _results$files !== void 0 ? _results$files : []), (0, _toConsumableArray2["default"])(combinedFile));
|
|
73
|
+
return _context.abrupt("return", results);
|
|
74
|
+
case 16:
|
|
75
|
+
return _context.abrupt("return", {});
|
|
76
|
+
case 17:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}, _callee, this);
|
|
82
|
+
}));
|
|
83
|
+
function handleDidExecuteAction(_x) {
|
|
84
|
+
return _handleDidExecuteAction.apply(this, arguments);
|
|
85
|
+
}
|
|
86
|
+
return handleDidExecuteAction;
|
|
87
|
+
}()
|
|
88
|
+
}, {
|
|
89
|
+
key: "afterPackageInstall",
|
|
90
|
+
value: function () {
|
|
91
|
+
var _afterPackageInstall = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
92
|
+
var files, combinedFile;
|
|
93
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
94
|
+
while (1) {
|
|
95
|
+
switch (_context2.prev = _context2.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
_context2.next = 2;
|
|
98
|
+
return this.writePlugin();
|
|
99
|
+
case 2:
|
|
100
|
+
files = _context2.sent;
|
|
101
|
+
_context2.next = 5;
|
|
102
|
+
return this.writeTypesFile();
|
|
103
|
+
case 5:
|
|
104
|
+
combinedFile = _context2.sent;
|
|
105
|
+
return _context2.abrupt("return", {
|
|
106
|
+
files: [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(combinedFile))
|
|
107
|
+
});
|
|
108
|
+
case 7:
|
|
109
|
+
case "end":
|
|
110
|
+
return _context2.stop();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, _callee2, this);
|
|
114
|
+
}));
|
|
115
|
+
function afterPackageInstall() {
|
|
116
|
+
return _afterPackageInstall.apply(this, arguments);
|
|
117
|
+
}
|
|
118
|
+
return afterPackageInstall;
|
|
119
|
+
}()
|
|
120
|
+
}, {
|
|
121
|
+
key: "writeTypesFile",
|
|
122
|
+
value: function () {
|
|
123
|
+
var _writeTypesFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
124
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
125
|
+
while (1) {
|
|
126
|
+
switch (_context3.prev = _context3.next) {
|
|
127
|
+
case 0:
|
|
128
|
+
_context3.next = 2;
|
|
129
|
+
return this.writer.writeTypesFile(this.cwd, {});
|
|
130
|
+
case 2:
|
|
131
|
+
return _context3.abrupt("return", _context3.sent);
|
|
132
|
+
case 3:
|
|
133
|
+
case "end":
|
|
134
|
+
return _context3.stop();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}, _callee3, this);
|
|
138
|
+
}));
|
|
139
|
+
function writeTypesFile() {
|
|
140
|
+
return _writeTypesFile.apply(this, arguments);
|
|
141
|
+
}
|
|
142
|
+
return writeTypesFile;
|
|
143
|
+
}()
|
|
144
|
+
}, {
|
|
145
|
+
key: "writePlugin",
|
|
146
|
+
value: function () {
|
|
147
|
+
var _writePlugin = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
148
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
149
|
+
while (1) {
|
|
150
|
+
switch (_context4.prev = _context4.next) {
|
|
151
|
+
case 0:
|
|
152
|
+
return _context4.abrupt("return", this.writer.writePlugin(this.cwd));
|
|
153
|
+
case 1:
|
|
154
|
+
case "end":
|
|
155
|
+
return _context4.stop();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}, _callee4, this);
|
|
159
|
+
}));
|
|
160
|
+
function writePlugin() {
|
|
161
|
+
return _writePlugin.apply(this, arguments);
|
|
162
|
+
}
|
|
163
|
+
return writePlugin;
|
|
164
|
+
}()
|
|
165
|
+
}]);
|
|
166
|
+
return PermissionFeature;
|
|
44
167
|
}(_AbstractFeature2["default"]);
|
|
45
168
|
exports["default"] = PermissionFeature;
|
|
46
169
|
//# sourceMappingURL=PermissionFeature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionFeature.js","names":["PermissionFeature","
|
|
1
|
+
{"version":3,"file":"PermissionFeature.js","names":["PermissionFeature","options","diskUtil","resolvePath","__dirname","name","writer","Writer","emitter","on","handleDidExecuteAction","bind","featureCode","actionCode","features","isInstalled","isSkillInstalled","writePlugin","combinedFile","Action","execute","results","files","writeTypesFile","cwd","AbstractFeature"],"sources":["../../../src/features/permission/PermissionFeature.ts"],"sourcesContent":["import { PermissionContractMap } from '@sprucelabs/mercury-types'\nimport { diskUtil, NpmPackage } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport PermissionWriter from './writers/PermissionWriter'\n\nexport default class PermissionFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'permission'\n\tpublic nameReadable = 'permission'\n\tpublic description = 'Manage permissions for your skill'\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-permission-plugin@latest',\n\t\t},\n\t]\n\tprivate writer: PermissionWriter\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\t\tthis.writer = this.Writer('permission')\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecuteAction.bind(this)\n\t\t)\n\t}\n\n\tpublic async handleDidExecuteAction({\n\t\tfeatureCode,\n\t\tactionCode,\n\t}: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst isInstalled = await this.features.isInstalled('permission')\n\t\tconst isSkillInstalled = await this.features.isInstalled('skill')\n\n\t\tif (\n\t\t\tisSkillInstalled &&\n\t\t\tisInstalled &&\n\t\t\tfeatureCode === 'node' &&\n\t\t\tactionCode === 'upgrade'\n\t\t) {\n\t\t\tconst combinedFile = await this.writePlugin()\n\t\t\tconst results = await this.Action('permission', 'sync').execute({})\n\n\t\t\tresults.files = [...(results.files ?? []), ...combinedFile]\n\t\t\treturn results\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst files = await this.writePlugin()\n\t\tconst combinedFile = await this.writeTypesFile()\n\n\t\treturn {\n\t\t\tfiles: [...files, ...combinedFile],\n\t\t}\n\t}\n\n\tprivate async writeTypesFile() {\n\t\treturn await this.writer.writeTypesFile(\n\t\t\tthis.cwd,\n\t\t\t{} as PermissionContractMap\n\t\t)\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.writer.writePlugin(this.cwd)\n\t}\n}\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tpermission: PermissionFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AACA;AACA;AAI2B;AAAA;AAAA,IAINA,iBAAiB;EAAA;EAAA;EAarC,2BAAmBC,OAAuB,EAAE;IAAA;IAAA;IAC3C,0BAAMA,OAAO;IAAC,yFAbY,YAAY;IAAA,iGACjB,YAAY;IAAA,gGACb,mCAAmC;IAAA,iGACb,EAAE;IAAA,+FACzBC,0BAAQ,CAACC,WAAW,CAACC,SAAS,EAAE,SAAS,CAAC;IAAA,wGACnB,CAC1C;MACCC,IAAI,EAAE;IACP,CAAC,CACD;IAAA;IAKA,MAAKC,MAAM,GAAG,MAAKC,MAAM,CAAC,YAAY,CAAC;IAEvC,KAAK,MAAKC,OAAO,CAACC,EAAE,CACnB,qBAAqB,EACrB,MAAKC,sBAAsB,CAACC,IAAI,gDAAM,CACtC;IAAA;EACF;EAAC;IAAA;IAAA;MAAA,4GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBACCC,WAAW,QAAXA,WAAW,EACXC,UAAU,QAAVA,UAAU;gBAAA;gBAAA,OAKgB,IAAI,CAACC,QAAQ,CAACC,WAAW,CAAC,YAAY,CAAC;cAAA;gBAA3DA,WAAW;gBAAA;gBAAA,OACc,IAAI,CAACD,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;cAAA;gBAA3DC,gBAAgB;gBAAA,MAGrBA,gBAAgB,IAChBD,WAAW,IACXH,WAAW,KAAK,MAAM,IACtBC,UAAU,KAAK,SAAS;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAEG,IAAI,CAACI,WAAW,EAAE;cAAA;gBAAvCC,YAAY;gBAAA;gBAAA,OACI,IAAI,CAACC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAA7DC,OAAO;gBAEbA,OAAO,CAACC,KAAK,mEAAQD,OAAO,CAACC,KAAK,2DAAI,EAAE,uCAAMJ,YAAY,EAAC;gBAAA,iCACpDG,OAAO;cAAA;gBAAA,iCAGR,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,CAACJ,WAAW,EAAE;cAAA;gBAAhCK,KAAK;gBAAA;gBAAA,OACgB,IAAI,CAACC,cAAc,EAAE;cAAA;gBAA1CL,YAAY;gBAAA,kCAEX;kBACNI,KAAK,gDAAMA,KAAK,uCAAKJ,YAAY;gBAClC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACc,IAAI,CAACZ,MAAM,CAACiB,cAAc,CACtC,IAAI,CAACC,GAAG,EACR,CAAC,CAAC,CACF;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,iGAED;QAAA;UAAA;YAAA;cAAA;gBAAA,kCACQ,IAAI,CAAClB,MAAM,CAACW,WAAW,CAAC,IAAI,CAACO,GAAG,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAnE6CC,4BAAe;AAAA"}
|
|
@@ -58,10 +58,13 @@ var CreateAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
58
58
|
});
|
|
59
59
|
case 5:
|
|
60
60
|
files = _context.sent;
|
|
61
|
+
_context.next = 8;
|
|
62
|
+
return this.Action('permission', 'sync').execute({});
|
|
63
|
+
case 8:
|
|
61
64
|
return _context.abrupt("return", {
|
|
62
65
|
files: files
|
|
63
66
|
});
|
|
64
|
-
case
|
|
67
|
+
case 9:
|
|
65
68
|
case "end":
|
|
66
69
|
return _context.stop();
|
|
67
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAction.js","names":["CreateAction","schema","options","validateAndNormalizeOptions","nameKebab","nameReadable","nameCamel","description","destination","diskUtil","resolvePath","cwd","writer","Writer","writeContract","namesUtil","toKebab","files","AbstractAction","buildSchema","id","fields","namedTemplateItemSchema","label","hint","pickFields"],"sources":["../../../../src/features/permission/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, pickFields, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemSchema from '#spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = schema\n\tpublic invocationMessage = 'Creating a permission contract... 🛡'\n\tpublic readonly commandAliases: string[] = [\n\t\t'create.permissions',\n\t\t'create.permission',\n\t]\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameKebab, nameReadable, nameCamel, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst destination = diskUtil.resolvePath(this.cwd, 'src', 'permissions')\n\n\t\tconst writer = this.Writer('permission')\n\t\tconst files = await writer.writeContract(destination, {\n\t\t\tnameKebab: nameKebab ?? namesUtil.toKebab(nameReadable),\n\t\t\tnameReadable,\n\t\t\tnameCamel,\n\t\t\tdescription,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n\nconst schema = buildSchema({\n\tid: 'createPermission',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemSchema.fields.nameReadable,\n\t\t\tlabel: `Name your permission contract`,\n\t\t\thint: `A contract contains many permissions grouped by a responsibility`,\n\t\t},\n\t\t...pickFields(namedTemplateItemSchema.fields, ['nameCamel', 'nameKebab']),\n\t\tdescription: {\n\t\t\t...namedTemplateItemSchema.fields.description,\n\t\t\tlabel: `Describe this contract`,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof schema\ntype Options = SchemaValues<OptionsSchema>\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAAiD;AAAA;AAAA;AAAA;AAAA,IAG5BA,YAAY;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACTC,MAAM;IAAA,sGACF,sCAAsC;IAAA,mGACtB,CAC1C,oBAAoB,EACpB,mBAAmB,CACnB;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAED,iBAAqBC,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEnC,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EADlCE,SAAS,yBAATA,SAAS,EAAEC,YAAY,yBAAZA,YAAY,EAAEC,SAAS,yBAATA,SAAS,EAAEC,WAAW,yBAAXA,WAAW;gBAGjDC,WAAW,GAAGC,0BAAQ,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC;gBAElEC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,YAAY,CAAC;gBAAA;gBAAA,OACpBD,MAAM,CAACE,aAAa,CAACN,WAAW,EAAE;kBACrDJ,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIW,2BAAS,CAACC,OAAO,CAACX,YAAY,CAAC;kBACvDA,YAAY,EAAZA,YAAY;kBACZC,SAAS,EAATA,SAAS;kBACTC,WAAW,EAAXA;gBACD,CAAC,CAAC;cAAA;gBALIU,KAAK;gBAAA,
|
|
1
|
+
{"version":3,"file":"CreateAction.js","names":["CreateAction","schema","options","validateAndNormalizeOptions","nameKebab","nameReadable","nameCamel","description","destination","diskUtil","resolvePath","cwd","writer","Writer","writeContract","namesUtil","toKebab","files","Action","execute","AbstractAction","buildSchema","id","fields","namedTemplateItemSchema","label","hint","pickFields"],"sources":["../../../../src/features/permission/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, pickFields, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemSchema from '#spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = schema\n\tpublic invocationMessage = 'Creating a permission contract... 🛡'\n\tpublic readonly commandAliases: string[] = [\n\t\t'create.permissions',\n\t\t'create.permission',\n\t]\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameKebab, nameReadable, nameCamel, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst destination = diskUtil.resolvePath(this.cwd, 'src', 'permissions')\n\n\t\tconst writer = this.Writer('permission')\n\t\tconst files = await writer.writeContract(destination, {\n\t\t\tnameKebab: nameKebab ?? namesUtil.toKebab(nameReadable),\n\t\t\tnameReadable,\n\t\t\tnameCamel,\n\t\t\tdescription,\n\t\t})\n\n\t\tawait this.Action('permission', 'sync').execute({})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n\nconst schema = buildSchema({\n\tid: 'createPermission',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemSchema.fields.nameReadable,\n\t\t\tlabel: `Name your permission contract`,\n\t\t\thint: `A contract contains many permissions grouped by a responsibility`,\n\t\t},\n\t\t...pickFields(namedTemplateItemSchema.fields, ['nameCamel', 'nameKebab']),\n\t\tdescription: {\n\t\t\t...namedTemplateItemSchema.fields.description,\n\t\t\tlabel: `Describe this contract`,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof schema\ntype Options = SchemaValues<OptionsSchema>\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAAiD;AAAA;AAAA;AAAA;AAAA,IAG5BA,YAAY;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACTC,MAAM;IAAA,sGACF,sCAAsC;IAAA,mGACtB,CAC1C,oBAAoB,EACpB,mBAAmB,CACnB;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAED,iBAAqBC,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEnC,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EADlCE,SAAS,yBAATA,SAAS,EAAEC,YAAY,yBAAZA,YAAY,EAAEC,SAAS,yBAATA,SAAS,EAAEC,WAAW,yBAAXA,WAAW;gBAGjDC,WAAW,GAAGC,0BAAQ,CAACC,WAAW,CAAC,IAAI,CAACC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC;gBAElEC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,YAAY,CAAC;gBAAA;gBAAA,OACpBD,MAAM,CAACE,aAAa,CAACN,WAAW,EAAE;kBACrDJ,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIW,2BAAS,CAACC,OAAO,CAACX,YAAY,CAAC;kBACvDA,YAAY,EAAZA,YAAY;kBACZC,SAAS,EAATA,SAAS;kBACTC,WAAW,EAAXA;gBACD,CAAC,CAAC;cAAA;gBALIU,KAAK;gBAAA;gBAAA,OAOL,IAAI,CAACC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAA,iCAE5C;kBACNF,KAAK,EAALA;gBACD,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA3BwCG,2BAAc;AAAA;AA8BxD,IAAMnB,MAAM,GAAG,IAAAoB,mBAAW,EAAC;EAC1BC,EAAE,EAAE,kBAAkB;EACtBC,MAAM;IACLlB,YAAY,kCACRmB,6BAAuB,CAACD,MAAM,CAAClB,YAAY;MAC9CoB,KAAK,iCAAiC;MACtCC,IAAI;IAAoE;EACxE,GACE,IAAAC,kBAAU,EAACH,6BAAuB,CAACD,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzEhB,WAAW,kCACPiB,6BAAuB,CAACD,MAAM,CAAChB,WAAW;MAC7CkB,KAAK;IAA0B;EAC/B;AAEH,CAAC,CAAC"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import AbstractAction from '../../AbstractAction';
|
|
2
|
-
import { FeatureActionResponse } from '../../features.types';
|
|
2
|
+
import { ActionOptions, FeatureActionResponse } from '../../features.types';
|
|
3
3
|
export default class SyncAction extends AbstractAction<OptionsSchema> {
|
|
4
4
|
invocationMessage: string;
|
|
5
5
|
optionsSchema: {
|
|
6
6
|
id: string;
|
|
7
7
|
fields: {};
|
|
8
8
|
};
|
|
9
|
+
readonly commandAliases: string[];
|
|
10
|
+
private permissions;
|
|
11
|
+
private writer;
|
|
12
|
+
constructor(options: ActionOptions);
|
|
9
13
|
execute(): Promise<FeatureActionResponse>;
|
|
10
14
|
}
|
|
11
15
|
declare const schema: {
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -21,34 +22,51 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
21
22
|
var SyncAction = /*#__PURE__*/function (_AbstractAction) {
|
|
22
23
|
(0, _inherits2["default"])(SyncAction, _AbstractAction);
|
|
23
24
|
var _super = _createSuper(SyncAction);
|
|
24
|
-
function SyncAction() {
|
|
25
|
+
function SyncAction(options) {
|
|
25
26
|
var _this;
|
|
26
27
|
(0, _classCallCheck2["default"])(this, SyncAction);
|
|
27
|
-
|
|
28
|
-
args[_key] = arguments[_key];
|
|
29
|
-
}
|
|
30
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
28
|
+
_this = _super.call(this, options);
|
|
31
29
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "invocationMessage", 'Syncing permissions... 🛡');
|
|
32
30
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", schema);
|
|
31
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "commandAliases", ['sync.permissions']);
|
|
32
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "permissions", void 0);
|
|
33
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "writer", void 0);
|
|
34
|
+
_this.permissions = _this.Store('permission');
|
|
35
|
+
_this.writer = _this.Writer('permission');
|
|
33
36
|
return _this;
|
|
34
37
|
}
|
|
35
38
|
(0, _createClass2["default"])(SyncAction, [{
|
|
36
39
|
key: "execute",
|
|
37
40
|
value: function () {
|
|
38
41
|
var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
39
|
-
var
|
|
42
|
+
var map, typesFiles, local, combinedFiles;
|
|
40
43
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
41
44
|
while (1) {
|
|
42
45
|
switch (_context.prev = _context.next) {
|
|
43
46
|
case 0:
|
|
44
47
|
_context.next = 2;
|
|
45
|
-
return this.
|
|
48
|
+
return this.permissions.fetchContracts();
|
|
46
49
|
case 2:
|
|
47
|
-
|
|
50
|
+
map = _context.sent;
|
|
51
|
+
_context.next = 5;
|
|
52
|
+
return this.writer.writeTypesFile(this.cwd, map);
|
|
53
|
+
case 5:
|
|
54
|
+
typesFiles = _context.sent;
|
|
55
|
+
_context.next = 8;
|
|
56
|
+
return this.permissions.loadLocalPermissions();
|
|
57
|
+
case 8:
|
|
58
|
+
local = _context.sent;
|
|
59
|
+
_context.next = 11;
|
|
60
|
+
return this.writer.writeCombinedFile(this.cwd, {
|
|
61
|
+
contracts: local
|
|
62
|
+
});
|
|
63
|
+
case 11:
|
|
64
|
+
combinedFiles = _context.sent;
|
|
48
65
|
return _context.abrupt("return", {
|
|
49
|
-
files:
|
|
66
|
+
files: [].concat((0, _toConsumableArray2["default"])(typesFiles), (0, _toConsumableArray2["default"])(combinedFiles)),
|
|
67
|
+
summaryLines: ['Permissions synced']
|
|
50
68
|
});
|
|
51
|
-
case
|
|
69
|
+
case 13:
|
|
52
70
|
case "end":
|
|
53
71
|
return _context.stop();
|
|
54
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncAction.js","names":["SyncAction","schema","Writer","writeTypesFile","cwd","files","AbstractAction","buildSchema","id","fields"],"sources":["../../../../src/features/permission/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Syncing permissions... 🛡'\n\tpublic optionsSchema = schema\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst
|
|
1
|
+
{"version":3,"file":"SyncAction.js","names":["SyncAction","options","schema","permissions","Store","writer","Writer","fetchContracts","map","writeTypesFile","cwd","typesFiles","loadLocalPermissions","local","writeCombinedFile","contracts","combinedFiles","files","summaryLines","AbstractAction","buildSchema","id","fields"],"sources":["../../../../src/features/permission/actions/SyncAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { ActionOptions, FeatureActionResponse } from '../../features.types'\nimport PermissionStore from '../stores/PermissionStore'\nimport PermissionWriter from '../writers/PermissionWriter'\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Syncing permissions... 🛡'\n\tpublic optionsSchema = schema\n\tpublic readonly commandAliases: string[] = ['sync.permissions']\n\n\tprivate permissions: PermissionStore\n\tprivate writer: PermissionWriter\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\t\tthis.permissions = this.Store('permission')\n\t\tthis.writer = this.Writer('permission')\n\t}\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst map = await this.permissions.fetchContracts()\n\t\tconst typesFiles = await this.writer.writeTypesFile(this.cwd, map)\n\n\t\tconst local = await this.permissions.loadLocalPermissions()\n\t\tconst combinedFiles = await this.writer.writeCombinedFile(this.cwd, {\n\t\t\tcontracts: local,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles: [...typesFiles, ...combinedFiles],\n\t\t\tsummaryLines: ['Permissions synced'],\n\t\t}\n\t}\n}\n\nconst schema = buildSchema({\n\tid: 'syncPermissions',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof schema\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAAiD;AAAA;AAAA,IAK5BA,UAAU;EAAA;EAAA;EAQ9B,oBAAmBC,OAAsB,EAAE;IAAA;IAAA;IAC1C,0BAAMA,OAAO;IAAC,sGARY,2BAA2B;IAAA,kGAC/BC,MAAM;IAAA,mGACc,CAAC,kBAAkB,CAAC;IAAA;IAAA;IAO9D,MAAKC,WAAW,GAAG,MAAKC,KAAK,CAAC,YAAY,CAAC;IAC3C,MAAKC,MAAM,GAAG,MAAKC,MAAM,CAAC,YAAY,CAAC;IAAA;EACxC;EAAC;IAAA;IAAA;MAAA,6FAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACmB,IAAI,CAACH,WAAW,CAACI,cAAc,EAAE;cAAA;gBAA7CC,GAAG;gBAAA;gBAAA,OACgB,IAAI,CAACH,MAAM,CAACI,cAAc,CAAC,IAAI,CAACC,GAAG,EAAEF,GAAG,CAAC;cAAA;gBAA5DG,UAAU;gBAAA;gBAAA,OAEI,IAAI,CAACR,WAAW,CAACS,oBAAoB,EAAE;cAAA;gBAArDC,KAAK;gBAAA;gBAAA,OACiB,IAAI,CAACR,MAAM,CAACS,iBAAiB,CAAC,IAAI,CAACJ,GAAG,EAAE;kBACnEK,SAAS,EAAEF;gBACZ,CAAC,CAAC;cAAA;gBAFIG,aAAa;gBAAA,iCAIZ;kBACNC,KAAK,gDAAMN,UAAU,uCAAKK,aAAa,EAAC;kBACxCE,YAAY,EAAE,CAAC,oBAAoB;gBACpC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA3BsCC,2BAAc;AAAA;AA8BtD,IAAMjB,MAAM,GAAG,IAAAkB,mBAAW,EAAC;EAC1BC,EAAE,EAAE,iBAAiB;EACrBC,MAAM,EAAE,CAAC;AACV,CAAC,CAAC"}
|
|
@@ -2,6 +2,11 @@ import { PermissionContractMap } from '@sprucelabs/mercury-types';
|
|
|
2
2
|
import AbstractStore from '../../../stores/AbstractStore';
|
|
3
3
|
export default class PermissionStore extends AbstractStore {
|
|
4
4
|
name: string;
|
|
5
|
-
|
|
5
|
+
loadLocalPermissions(): Promise<ImportedPermission[]>;
|
|
6
6
|
fetchContracts(): Promise<PermissionContractMap>;
|
|
7
7
|
}
|
|
8
|
+
export interface ImportedPermission {
|
|
9
|
+
id: string;
|
|
10
|
+
permissions: string[];
|
|
11
|
+
path: string;
|
|
12
|
+
}
|
|
@@ -40,7 +40,7 @@ var PermissionStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
40
40
|
key: "loadLocalPermissions",
|
|
41
41
|
value: function () {
|
|
42
42
|
var _loadLocalPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
43
|
-
var matches,
|
|
43
|
+
var matches, namespace, imported, _iterator, _step, file, path, contract;
|
|
44
44
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
45
45
|
while (1) {
|
|
46
46
|
switch (_context.prev = _context.next) {
|
|
@@ -51,45 +51,51 @@ var PermissionStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
51
51
|
});
|
|
52
52
|
case 2:
|
|
53
53
|
matches = _context.sent;
|
|
54
|
-
|
|
54
|
+
namespace = this.Service('pkg').getSkillNamespace();
|
|
55
|
+
imported = [];
|
|
55
56
|
_iterator = _createForOfIteratorHelper(matches);
|
|
56
|
-
_context.prev =
|
|
57
|
+
_context.prev = 6;
|
|
57
58
|
_iterator.s();
|
|
58
|
-
case
|
|
59
|
+
case 8:
|
|
59
60
|
if ((_step = _iterator.n()).done) {
|
|
60
|
-
_context.next =
|
|
61
|
+
_context.next = 17;
|
|
61
62
|
break;
|
|
62
63
|
}
|
|
63
64
|
file = _step.value;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
path = _spruceSkillUtils.diskUtil.resolvePath(this.cwd, file);
|
|
66
|
+
_context.next = 13;
|
|
67
|
+
return this.Service('import').importDefault(path);
|
|
68
|
+
case 13:
|
|
67
69
|
contract = _context.sent;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
imported.push({
|
|
71
|
+
id: "".concat(namespace, ".").concat(contract.id),
|
|
72
|
+
permissions: contract.permissions.map(function (p) {
|
|
73
|
+
return p.id;
|
|
74
|
+
}),
|
|
75
|
+
path: path
|
|
70
76
|
});
|
|
71
|
-
case 13:
|
|
72
|
-
_context.next = 7;
|
|
73
|
-
break;
|
|
74
77
|
case 15:
|
|
75
|
-
_context.next =
|
|
78
|
+
_context.next = 8;
|
|
76
79
|
break;
|
|
77
80
|
case 17:
|
|
78
|
-
_context.
|
|
79
|
-
|
|
81
|
+
_context.next = 22;
|
|
82
|
+
break;
|
|
83
|
+
case 19:
|
|
84
|
+
_context.prev = 19;
|
|
85
|
+
_context.t0 = _context["catch"](6);
|
|
80
86
|
_iterator.e(_context.t0);
|
|
81
|
-
case
|
|
82
|
-
_context.prev =
|
|
87
|
+
case 22:
|
|
88
|
+
_context.prev = 22;
|
|
83
89
|
_iterator.f();
|
|
84
|
-
return _context.finish(
|
|
85
|
-
case
|
|
86
|
-
return _context.abrupt("return",
|
|
87
|
-
case
|
|
90
|
+
return _context.finish(22);
|
|
91
|
+
case 25:
|
|
92
|
+
return _context.abrupt("return", imported);
|
|
93
|
+
case 26:
|
|
88
94
|
case "end":
|
|
89
95
|
return _context.stop();
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
|
-
}, _callee, this, [[
|
|
98
|
+
}, _callee, this, [[6, 19, 22, 25]]);
|
|
93
99
|
}));
|
|
94
100
|
function loadLocalPermissions() {
|
|
95
101
|
return _loadLocalPermissions.apply(this, arguments);
|
|
@@ -100,17 +106,27 @@ var PermissionStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
100
106
|
key: "fetchContracts",
|
|
101
107
|
value: function () {
|
|
102
108
|
var _fetchContracts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
103
|
-
var client, deps, _yield$client$emitAnd, _yield$client$emitAnd2, permissionContracts,
|
|
109
|
+
var client, deps, local, map, _yield$client$emitAnd, _yield$client$emitAnd2, permissionContracts, _iterator2, _step2, result;
|
|
104
110
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
105
111
|
while (1) {
|
|
106
112
|
switch (_context2.prev = _context2.next) {
|
|
107
113
|
case 0:
|
|
108
114
|
_context2.next = 2;
|
|
109
|
-
return this.connectToApi(
|
|
115
|
+
return this.connectToApi({
|
|
116
|
+
shouldAuthAsCurrentSkill: true
|
|
117
|
+
});
|
|
110
118
|
case 2:
|
|
111
119
|
client = _context2.sent;
|
|
112
120
|
deps = this.Service('dependency').get();
|
|
113
121
|
_context2.next = 6;
|
|
122
|
+
return this.loadLocalPermissions();
|
|
123
|
+
case 6:
|
|
124
|
+
local = _context2.sent;
|
|
125
|
+
map = local.reduce(function (map, local) {
|
|
126
|
+
map[local.id] = local.permissions;
|
|
127
|
+
return map;
|
|
128
|
+
}, {});
|
|
129
|
+
_context2.next = 10;
|
|
114
130
|
return client.emitAndFlattenResponses('list-permission-contracts::v2020_12_25', {
|
|
115
131
|
target: {
|
|
116
132
|
namespaces: deps.map(function (d) {
|
|
@@ -118,14 +134,10 @@ var PermissionStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
118
134
|
})
|
|
119
135
|
}
|
|
120
136
|
});
|
|
121
|
-
case
|
|
137
|
+
case 10:
|
|
122
138
|
_yield$client$emitAnd = _context2.sent;
|
|
123
139
|
_yield$client$emitAnd2 = (0, _slicedToArray2["default"])(_yield$client$emitAnd, 1);
|
|
124
140
|
permissionContracts = _yield$client$emitAnd2[0].permissionContracts;
|
|
125
|
-
_context2.next = 11;
|
|
126
|
-
return this.loadLocalPermissions();
|
|
127
|
-
case 11:
|
|
128
|
-
map = _context2.sent;
|
|
129
141
|
_iterator2 = _createForOfIteratorHelper(permissionContracts);
|
|
130
142
|
try {
|
|
131
143
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -140,7 +152,7 @@ var PermissionStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
140
152
|
_iterator2.f();
|
|
141
153
|
}
|
|
142
154
|
return _context2.abrupt("return", map);
|
|
143
|
-
case
|
|
155
|
+
case 16:
|
|
144
156
|
case "end":
|
|
145
157
|
return _context2.stop();
|
|
146
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionStore.js","names":["PermissionStore","globby","cwd","matches","
|
|
1
|
+
{"version":3,"file":"PermissionStore.js","names":["PermissionStore","globby","cwd","matches","namespace","Service","getSkillNamespace","imported","file","path","diskUtil","resolvePath","importDefault","contract","push","id","permissions","map","p","connectToApi","shouldAuthAsCurrentSkill","client","deps","get","loadLocalPermissions","local","reduce","emitAndFlattenResponses","target","namespaces","d","permissionContracts","result","AbstractStore"],"sources":["../../../../src/features/permission/stores/PermissionStore.ts"],"sourcesContent":["import {\n\tPermissionContract,\n\tPermissionContractMap,\n} from '@sprucelabs/mercury-types'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport default class PermissionStore extends AbstractStore {\n\tpublic name = 'permission'\n\n\tpublic async loadLocalPermissions() {\n\t\tconst matches = await globby('**/*.permissions.ts', {\n\t\t\tcwd: this.cwd,\n\t\t})\n\n\t\tconst namespace = this.Service('pkg').getSkillNamespace()\n\t\tconst imported: ImportedPermission[] = []\n\n\t\tfor (const file of matches) {\n\t\t\tconst path = diskUtil.resolvePath(this.cwd, file)\n\t\t\tconst contract = (await this.Service('import').importDefault(\n\t\t\t\tpath\n\t\t\t)) as PermissionContract\n\n\t\t\timported.push({\n\t\t\t\tid: `${namespace}.${contract.id}`,\n\t\t\t\tpermissions: contract.permissions.map((p) => p.id),\n\t\t\t\tpath,\n\t\t\t})\n\t\t}\n\n\t\treturn imported\n\t}\n\n\tpublic async fetchContracts() {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\t\tconst deps = this.Service('dependency').get()\n\n\t\tconst local = await this.loadLocalPermissions()\n\t\tconst map: PermissionContractMap = local.reduce<PermissionContractMap>(\n\t\t\t(map, local) => {\n\t\t\t\tmap[local.id] = local.permissions\n\t\t\t\treturn map\n\t\t\t},\n\t\t\t{} as any\n\t\t)\n\n\t\tconst [{ permissionContracts }] = await client.emitAndFlattenResponses(\n\t\t\t'list-permission-contracts::v2020_12_25',\n\t\t\t{\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaces: deps.map((d) => d.namespace),\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\tfor (const result of permissionContracts) {\n\t\t\tmap[result.contract.id] = result.contract.permissions.map((p) => p.id)\n\t\t}\n\n\t\treturn map\n\t}\n}\n\nexport interface ImportedPermission {\n\tid: string\n\tpermissions: string[]\n\tpath: string\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA;AACA;AACA;AAAyD;AAAA;AAAA;AAAA;AAAA;AAAA,IAEpCA,eAAe;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,yFACrB,YAAY;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,0GAE1B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACuB,IAAAC,kBAAM,EAAC,qBAAqB,EAAE;kBACnDC,GAAG,EAAE,IAAI,CAACA;gBACX,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIPC,SAAS,GAAG,IAAI,CAACC,OAAO,CAAC,KAAK,CAAC,CAACC,iBAAiB,EAAE;gBACnDC,QAA8B,GAAG,EAAE;gBAAA,uCAEtBJ,OAAO;gBAAA;gBAAA;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAAfK,IAAI;gBACRC,IAAI,GAAGC,0BAAQ,CAACC,WAAW,CAAC,IAAI,CAACT,GAAG,EAAEM,IAAI,CAAC;gBAAA;gBAAA,OACzB,IAAI,CAACH,OAAO,CAAC,QAAQ,CAAC,CAACO,aAAa,CAC3DH,IAAI,CACJ;cAAA;gBAFKI,QAAQ;gBAIdN,QAAQ,CAACO,IAAI,CAAC;kBACbC,EAAE,YAAKX,SAAS,cAAIS,QAAQ,CAACE,EAAE,CAAE;kBACjCC,WAAW,EAAEH,QAAQ,CAACG,WAAW,CAACC,GAAG,CAAC,UAACC,CAAC;oBAAA,OAAKA,CAAC,CAACH,EAAE;kBAAA,EAAC;kBAClDN,IAAI,EAAJA;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA,iCAGIF,QAAQ;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,IAAI,CAACY,YAAY,CAAC;kBAAEC,wBAAwB,EAAE;gBAAK,CAAC,CAAC;cAAA;gBAApEC,MAAM;gBACNC,IAAI,GAAG,IAAI,CAACjB,OAAO,CAAC,YAAY,CAAC,CAACkB,GAAG,EAAE;gBAAA;gBAAA,OAEzB,IAAI,CAACC,oBAAoB,EAAE;cAAA;gBAAzCC,KAAK;gBACLR,GAA0B,GAAGQ,KAAK,CAACC,MAAM,CAC9C,UAACT,GAAG,EAAEQ,KAAK,EAAK;kBACfR,GAAG,CAACQ,KAAK,CAACV,EAAE,CAAC,GAAGU,KAAK,CAACT,WAAW;kBACjC,OAAOC,GAAG;gBACX,CAAC,EACD,CAAC,CAAC,CACF;gBAAA;gBAAA,OAEuCI,MAAM,CAACM,uBAAuB,CACrE,wCAAwC,EACxC;kBACCC,MAAM,EAAE;oBACPC,UAAU,EAAEP,IAAI,CAACL,GAAG,CAAC,UAACa,CAAC;sBAAA,OAAKA,CAAC,CAAC1B,SAAS;oBAAA;kBACxC;gBACD,CAAC,CACD;cAAA;gBAAA;gBAAA;gBAPQ2B,mBAAmB,6BAAnBA,mBAAmB;gBAAA,wCASPA,mBAAmB;gBAAA;kBAAxC,uDAA0C;oBAA/BC,MAAM;oBAChBf,GAAG,CAACe,MAAM,CAACnB,QAAQ,CAACE,EAAE,CAAC,GAAGiB,MAAM,CAACnB,QAAQ,CAACG,WAAW,CAACC,GAAG,CAAC,UAACC,CAAC;sBAAA,OAAKA,CAAC,CAACH,EAAE;oBAAA,EAAC;kBACvE;gBAAC;kBAAA;gBAAA;kBAAA;gBAAA;gBAAA,kCAEME,GAAG;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACV;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAtD2CgB,0BAAa;AAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { PermissionContractMap } from '@sprucelabs/mercury-types';
|
|
1
2
|
import AbstractWriter from '../../../writers/AbstractWriter';
|
|
3
|
+
import { ImportedPermission } from '../stores/PermissionStore';
|
|
2
4
|
export default class PermissionWriter extends AbstractWriter {
|
|
3
|
-
writeTypesFile(
|
|
5
|
+
writeTypesFile(cwd: string, map: PermissionContractMap): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
6
|
+
writeCombinedFile(destinationDir: string, options: {
|
|
7
|
+
contracts: ImportedPermission[];
|
|
8
|
+
}): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
4
9
|
writeContract(destinationDir: string, options: {
|
|
5
10
|
nameReadable: string;
|
|
6
11
|
nameKebab: string;
|
|
7
12
|
nameCamel: string;
|
|
8
13
|
description?: string;
|
|
9
14
|
}): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
15
|
+
writePlugin(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
|
|
10
16
|
}
|