@sprucelabs/spruce-cli 18.1.8 → 18.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -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/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/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 +12 -2
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +248 -36
- 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/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/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- 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__/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/__tests__/support/EventFaker.d.ts +5 -0
- package/build/__tests__/support/EventFaker.js +48 -0
- package/build/__tests__/support/EventFaker.js.map +1 -0
- 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 +140 -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 +7 -1
- package/build/features/permission/stores/PermissionStore.js +92 -23
- 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 +66 -17
- 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 +6 -6
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +9 -9
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +21 -7
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts +3 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +12 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js.map +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +2 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +2 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +2 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +39 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
- 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/ExportVisitor.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts +2 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +9 -9
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +17 -17
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.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/dist/scope/Scope.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +12 -12
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +27 -3
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/lib.d.ts +1 -1
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +3 -3
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +27 -3
- 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 +3 -0
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
- package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +3 -3
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +3 -3
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/simple-traverse.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +4 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +22 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +9 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
- 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 +4 -2
- 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 +6 -6
- 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 -48
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/package.json +4 -4
- 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/SkillEmitsBootEvents.test.ts +6 -0
- 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 +204 -23
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -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/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
- 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__/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/__tests__/support/EventFaker.ts +23 -0
- 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 +66 -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 +44 -3
- package/src/features/permission/writers/PermissionWriter.ts +64 -3
- 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/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
|
@@ -3,17 +3,6 @@ import { SpruceSchemas } from "./../../.spruce/schemas/schemas.types";
|
|
|
3
3
|
import { FileDescription, NpmPackage } from '../../types/cli.types';
|
|
4
4
|
import AbstractFeature, { FeatureOptions } from '../AbstractFeature';
|
|
5
5
|
import { FeatureCode } from '../features.types';
|
|
6
|
-
declare type SkillFeatureOptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema;
|
|
7
|
-
declare type SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature;
|
|
8
|
-
declare module '../../features/features.types' {
|
|
9
|
-
interface FeatureMap {
|
|
10
|
-
skill: SkillFeature;
|
|
11
|
-
}
|
|
12
|
-
interface FeatureOptionsMap {
|
|
13
|
-
skill: SchemaValues<SkillFeatureOptionsSchema>;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
declare type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions;
|
|
17
6
|
export default class SkillFeature<S extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema> extends AbstractFeature<S> {
|
|
18
7
|
nameReadable: string;
|
|
19
8
|
code: FeatureCode;
|
|
@@ -72,4 +61,15 @@ export default class SkillFeature<S extends SkillFeatureOptionsSchema = SkillFea
|
|
|
72
61
|
files?: undefined;
|
|
73
62
|
}>;
|
|
74
63
|
}
|
|
64
|
+
declare type SkillFeatureOptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema;
|
|
65
|
+
declare type SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature;
|
|
66
|
+
declare module '../../features/features.types' {
|
|
67
|
+
interface FeatureMap {
|
|
68
|
+
skill: SkillFeature;
|
|
69
|
+
}
|
|
70
|
+
interface FeatureOptionsMap {
|
|
71
|
+
skill: SchemaValues<SkillFeatureOptionsSchema>;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
declare type UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions;
|
|
75
75
|
export {};
|
|
@@ -114,7 +114,7 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
114
114
|
name: 'AbstractSpruceFixtureTest',
|
|
115
115
|
label: 'AbstractSpruceFixtureTest',
|
|
116
116
|
"import": '@sprucelabs/spruce-test-fixtures',
|
|
117
|
-
featureCode: '
|
|
117
|
+
featureCode: 'node'
|
|
118
118
|
}]
|
|
119
119
|
});
|
|
120
120
|
case 1:
|
|
@@ -287,7 +287,7 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
|
|
|
287
287
|
case 0:
|
|
288
288
|
featureCode = options.featureCode, actionCode = options.actionCode, upgradeOptions = options.options;
|
|
289
289
|
_context6.next = 3;
|
|
290
|
-
return this.
|
|
290
|
+
return this.features.isInstalled('skill');
|
|
291
291
|
case 3:
|
|
292
292
|
isInstalled = _context6.sent;
|
|
293
293
|
if (!(isInstalled && featureCode === 'node' && actionCode === 'upgrade')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillFeature.js","names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","validateSchemaValues","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"sources":["../../../src/features/skill/SkillFeature.ts"],"sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', {\n\t\t\tcwd: destination,\n\t\t}).setCurrentSkillsNamespace(options.name)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SkillFeature.js","names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","validateSchemaValues","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","features","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"sources":["../../../src/features/skill/SkillFeature.ts"],"sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'node',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', {\n\t\t\tcwd: destination,\n\t\t}).setCurrentSkillsNamespace(options.name)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.features.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RebuildAction.js","names":["optionsSchema","buildSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAAiD;AAAA;AAGjD,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,gBAAgB;EACpBC,WAAW,EACV,iEAAiE;EAClEC,MAAM,EAAE;IACPC,eAAe,EAAE;MAChBC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,YAAY;MACnBC,YAAY,EAAE;IACf;EACD;AACD,CAAC,CAAC;AAAA,IAKmBC,aAAa;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACKT,aAAa;IAAA,mGAC3B,CAAC,SAAS,CAAC;IAAA,sGACR,6BAA6B;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAExD,iBAAqBU,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBACR,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EAA7DL,eAAe,yBAAfA,eAAe;gBACjBO,OAAO,GAAG,IAAI,CAACC,OAAO,CAAC,SAAS,CAAC;gBAAA;gBAGtC,IAAIR,eAAe,EAAE;kBACpBS,iCAAqB,CAACC,KAAK,CAAC,CAC3B,iCAAiC,EACjC,8CAA8C,CAC9C,CAAC;gBACH,CAAC,MAAM;kBACN,IAAI,CAACC,EAAE,CAACC,YAAY,CAAC,gBAAgB,CAAC;gBACvC;gBAAC;gBAAA,OAEKL,OAAO,CAACM,OAAO,CAAC,cAAc,EAAE;kBACrCC,MAAM,EAAE,gBAACC,IAAY,EAAK;oBACzBN,iCAAqB,aAArBA,iCAAqB,uBAArBA,iCAAqB,CAAEO,WAAW,CAACD,IAAI,CAAC;kBACzC;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAEF,IAAI,CAACE,OAAO,EAAE;gBAAA,iCAEP;kBACNC,MAAM,EAAE;gBACT,CAAC;cAAA;gBAGF,IAAI,CAACD,OAAO,EAAE;gBAAA,iCAEP;kBACNE,YAAY,EAAE,CACb,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB;gBAEtB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,mBAAkB;MACjBV,iCAAqB,CAACW,IAAI,EAAE;MAC5B,IAAI,CAACT,EAAE,CAACU,WAAW,EAAE;IACtB;EAAC;EAAA;AAAA,EA/CyCC,2BAAc;AAAA"}
|
|
1
|
+
{"version":3,"file":"RebuildAction.js","names":["optionsSchema","buildSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err: any) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAAiD;AAAA;AAGjD,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,gBAAgB;EACpBC,WAAW,EACV,iEAAiE;EAClEC,MAAM,EAAE;IACPC,eAAe,EAAE;MAChBC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,YAAY;MACnBC,YAAY,EAAE;IACf;EACD;AACD,CAAC,CAAC;AAAA,IAKmBC,aAAa;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACKT,aAAa;IAAA,mGAC3B,CAAC,SAAS,CAAC;IAAA,sGACR,6BAA6B;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAExD,iBAAqBU,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBACR,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EAA7DL,eAAe,yBAAfA,eAAe;gBACjBO,OAAO,GAAG,IAAI,CAACC,OAAO,CAAC,SAAS,CAAC;gBAAA;gBAGtC,IAAIR,eAAe,EAAE;kBACpBS,iCAAqB,CAACC,KAAK,CAAC,CAC3B,iCAAiC,EACjC,8CAA8C,CAC9C,CAAC;gBACH,CAAC,MAAM;kBACN,IAAI,CAACC,EAAE,CAACC,YAAY,CAAC,gBAAgB,CAAC;gBACvC;gBAAC;gBAAA,OAEKL,OAAO,CAACM,OAAO,CAAC,cAAc,EAAE;kBACrCC,MAAM,EAAE,gBAACC,IAAY,EAAK;oBACzBN,iCAAqB,aAArBA,iCAAqB,uBAArBA,iCAAqB,CAAEO,WAAW,CAACD,IAAI,CAAC;kBACzC;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAEF,IAAI,CAACE,OAAO,EAAE;gBAAA,iCAEP;kBACNC,MAAM,EAAE;gBACT,CAAC;cAAA;gBAGF,IAAI,CAACD,OAAO,EAAE;gBAAA,iCAEP;kBACNE,YAAY,EAAE,CACb,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB;gBAEtB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,mBAAkB;MACjBV,iCAAqB,CAACW,IAAI,EAAE;MAC5B,IAAI,CAACT,EAAE,CAACU,WAAW,EAAE;IACtB;EAAC;EAAA;AAAA,EA/CyCC,2BAAc;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterAction.js","names":["optionsSchema","buildSchema","id","description","fields","nameReadable","type","label","isRequired","hint","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t\thint: 'The name people will see with their special eyes!',\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t\thint: 'The namespace of your skill in-kebab-case',\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Namespace: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AAAiD;AAAA;AAGjD,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,qBAAqB;EACzBC,WAAW,EACV,oFAAoF;EACrFC,MAAM,EAAE;IACPC,YAAY,EAAE;MACbC,IAAI,EAAE,MAAM;MACZC,KAAK,8BAA8B;MACnCC,UAAU,EAAE,IAAI;MAChBC,IAAI,EAAE;IACP,CAAC;IACDC,SAAS,EAAE;MACVJ,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,WAAW;MAClBC,UAAU,EAAE,IAAI;MAChBC,IAAI,EAAE;IACP,CAAC;IACDN,WAAW,EAAE;MACZG,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE;IACR;EACD;AACD,CAAC,CAAC;AAAA,IAKmBI,cAAc;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACIX,aAAa;IAAA,mGAC3B,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAAA,sGAC3B,8BAA8B;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAEzD,iBAAqBY,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEnC,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EADlCP,YAAY,yBAAZA,YAAY,EAAEK,SAAS,yBAATA,SAAS,EAAEP,WAAW,yBAAXA,WAAW;gBAAA;gBAAA,OAGvB,IAAI,CAACW,YAAY,EAAE;cAAA;gBAAlCC,MAAM;gBAAA;gBAAA,OACUA,MAAM,CAACC,IAAI,CAAC,6BAA6B,EAAE;kBAChEC,OAAO,EAAE;oBACRC,IAAI,EAAEb,YAAY;oBAClBc,IAAI,EAAET,SAAS;oBACfP,WAAW,EAAXA;kBACD;gBACD,CAAC,CAAC;cAAA;gBANIiB,OAAO;gBAAA;gBAAA,wBASMC,mCAAiB,CAACC,uBAAuB,CAACF,OAAO,CAAC,EAA5DG,KAAK,yBAALA,KAAK;gBAEPC,YAAY,GAAGC,yBAAyB,CAACF,KAAK,CAAC;gBAErD,IAAI,CAACG,OAAO,CAAC,MAAM,CAAC,CAACC,kBAAkB,CAACJ,KAAK,CAAC;gBAAA,iCAEvC;kBACNC,YAAY,EAAZA,YAAY;kBACZI,KAAK,EAAE,CACN,2BAA2B,EAC3B,2CAA2C,EAC3C,oDAAoD,CACpD;kBACDC,IAAI,EAAE;oBACLN,KAAK,EAALA;kBACD;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNK,KAAK,EAAE,sEAEN;kBACDE,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA5C0CC,2BAAc;AAAA;AA+CnD,SAASN,yBAAyB,CAACF,KAAsB,EAAE;EACjE,OAAO,iBACGA,KAAK,CAACL,IAAI,wBACLK,KAAK,CAACJ,IAAI,iBACjBI,KAAK,CAACrB,EAAE,sBACHqB,KAAK,CAACS,MAAM,EACxB;AACF"}
|
|
1
|
+
{"version":3,"file":"RegisterAction.js","names":["optionsSchema","buildSchema","id","description","fields","nameReadable","type","label","isRequired","hint","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t\thint: 'The name people will see with their special eyes!',\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t\thint: 'The namespace of your skill in-kebab-case',\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Namespace: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AAAiD;AAAA;AAGjD,IAAMA,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,qBAAqB;EACzBC,WAAW,EACV,oFAAoF;EACrFC,MAAM,EAAE;IACPC,YAAY,EAAE;MACbC,IAAI,EAAE,MAAM;MACZC,KAAK,8BAA8B;MACnCC,UAAU,EAAE,IAAI;MAChBC,IAAI,EAAE;IACP,CAAC;IACDC,SAAS,EAAE;MACVJ,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE,WAAW;MAClBC,UAAU,EAAE,IAAI;MAChBC,IAAI,EAAE;IACP,CAAC;IACDN,WAAW,EAAE;MACZG,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE;IACR;EACD;AACD,CAAC,CAAC;AAAA,IAKmBI,cAAc;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,kGACIX,aAAa;IAAA,mGAC3B,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAAA,sGAC3B,8BAA8B;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,6FAEzD,iBAAqBY,OAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEnC,IAAI,CAACC,2BAA2B,CAACD,OAAO,CAAC,EADlCP,YAAY,yBAAZA,YAAY,EAAEK,SAAS,yBAATA,SAAS,EAAEP,WAAW,yBAAXA,WAAW;gBAAA;gBAAA,OAGvB,IAAI,CAACW,YAAY,EAAE;cAAA;gBAAlCC,MAAM;gBAAA;gBAAA,OACUA,MAAM,CAACC,IAAI,CAAC,6BAA6B,EAAE;kBAChEC,OAAO,EAAE;oBACRC,IAAI,EAAEb,YAAY;oBAClBc,IAAI,EAAET,SAAS;oBACfP,WAAW,EAAXA;kBACD;gBACD,CAAC,CAAC;cAAA;gBANIiB,OAAO;gBAAA;gBAAA,wBASMC,mCAAiB,CAACC,uBAAuB,CAACF,OAAO,CAAC,EAA5DG,KAAK,yBAALA,KAAK;gBAEPC,YAAY,GAAGC,yBAAyB,CAACF,KAAK,CAAC;gBAErD,IAAI,CAACG,OAAO,CAAC,MAAM,CAAC,CAACC,kBAAkB,CAACJ,KAAK,CAAC;gBAAA,iCAEvC;kBACNC,YAAY,EAAZA,YAAY;kBACZI,KAAK,EAAE,CACN,2BAA2B,EAC3B,2CAA2C,EAC3C,oDAAoD,CACpD;kBACDC,IAAI,EAAE;oBACLN,KAAK,EAALA;kBACD;gBACD,CAAC;cAAA;gBAAA;gBAAA;gBAAA,iCAEM;kBACNK,KAAK,EAAE,sEAEN;kBACDE,MAAM,EAAE;gBACT,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA5C0CC,2BAAc;AAAA;AA+CnD,SAASN,yBAAyB,CAACF,KAAsB,EAAE;EACjE,OAAO,iBACGA,KAAK,CAACL,IAAI,wBACLK,KAAK,CAACJ,IAAI,iBACjBI,KAAK,CAACrB,EAAE,sBACHqB,KAAK,CAACS,MAAM,EACxB;AACF"}
|
|
@@ -211,8 +211,7 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
|
|
|
211
211
|
}, {
|
|
212
212
|
key: "getNamespaceFromPkg",
|
|
213
213
|
value: function getNamespaceFromPkg() {
|
|
214
|
-
var
|
|
215
|
-
var nameFromPackage = pkg.get('skill.namespace');
|
|
214
|
+
var nameFromPackage = this.Service('pkg').getSkillNamespace();
|
|
216
215
|
if (!nameFromPackage) {
|
|
217
216
|
throw new Error('You need need to set skill.namespace in the package.json');
|
|
218
217
|
}
|
|
@@ -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;
|