@sprucelabs/spruce-cli 17.0.17 → 17.1.2

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +2 -1
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +7 -0
  5. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +137 -0
  6. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -0
  7. package/build/__tests__/behavioral/polish/SettingUpPolish.test.d.ts +10 -0
  8. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +305 -0
  9. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -0
  10. package/build/__tests__/testDirsAndFiles/related_schemas/v2020_10_06/skillWithExtraField.builder.d.ts +10 -2
  11. package/build/features/FeatureInstaller.d.ts +1 -1
  12. package/build/features/FeatureInstallerFactory.js +6 -2
  13. package/build/features/FeatureInstallerFactory.js.map +1 -1
  14. package/build/features/event/actions/CreateAction.d.ts +24 -16
  15. package/build/features/event/actions/CreateAction.js +3 -5
  16. package/build/features/event/actions/CreateAction.js.map +1 -1
  17. package/build/features/node/actions/UpdateDependenciesAction.js +25 -32
  18. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  19. package/build/features/organization/OrganizationFeature.d.ts +5 -5
  20. package/build/features/organization/OrganizationFeature.js.map +1 -1
  21. package/build/features/permission/PermissionFeature.d.ts +15 -0
  22. package/build/features/permission/PermissionFeature.js +66 -0
  23. package/build/features/permission/PermissionFeature.js.map +1 -0
  24. package/build/features/permission/actions/CreateAction.d.ts +46 -0
  25. package/build/features/permission/actions/CreateAction.js +96 -0
  26. package/build/features/permission/actions/CreateAction.js.map +1 -0
  27. package/build/features/person/PersonFeature.d.ts +5 -5
  28. package/build/features/person/PersonFeature.js.map +1 -1
  29. package/build/features/polish/PolishFeature.d.ts +19 -0
  30. package/build/features/polish/PolishFeature.js +69 -0
  31. package/build/features/polish/PolishFeature.js.map +1 -0
  32. package/build/features/polish/actions/SetupAction.d.ts +13 -0
  33. package/build/features/polish/actions/SetupAction.js +115 -0
  34. package/build/features/polish/actions/SetupAction.js.map +1 -0
  35. package/build/features/polish/writers/PolishWriter.d.ts +4 -0
  36. package/build/features/polish/writers/PolishWriter.js +84 -0
  37. package/build/features/polish/writers/PolishWriter.js.map +1 -0
  38. package/build/features/skill/stores/SkillStore.d.ts +9 -8
  39. package/build/features/skill/stores/SkillStore.js +4 -3
  40. package/build/features/skill/stores/SkillStore.js.map +1 -1
  41. package/build/tests/fixtures/SkillFixture.d.ts +3 -8
  42. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  43. package/build/widgets/terminalKit/TkBaseWidget.js +11 -20
  44. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  45. package/build/writers/WriterFactory.d.ts +2 -0
  46. package/build/writers/WriterFactory.js +4 -1
  47. package/build/writers/WriterFactory.js.map +1 -1
  48. package/package.json +33 -3
  49. package/src/__tests__/behavioral/AddingADependency.test.ts +1 -0
  50. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +25 -0
  51. package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +71 -0
  52. package/src/features/FeatureInstallerFactory.ts +6 -0
  53. package/src/features/event/actions/CreateAction.ts +5 -6
  54. package/src/features/organization/OrganizationFeature.ts +6 -6
  55. package/src/features/permission/PermissionFeature.ts +28 -0
  56. package/src/features/permission/actions/CreateAction.ts +29 -0
  57. package/src/features/person/PersonFeature.ts +6 -6
  58. package/src/features/polish/PolishFeature.ts +33 -0
  59. package/src/features/polish/actions/SetupAction.ts +36 -0
  60. package/src/features/polish/writers/PolishWriter.ts +23 -0
  61. package/src/features/skill/stores/SkillStore.ts +13 -11
  62. package/src/tests/fixtures/SkillFixture.ts +6 -3
  63. package/src/writers/WriterFactory.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureInstallerFactory.js","names":["FeatureInstallerFactory","options","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstaller","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PersonFeature from './person/PersonFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t]\n\n\tpublic static WithAllFeatures(options: {\n\t\tcwd: string\n\t\tserviceFactory: ServiceFactory\n\t\tstoreFactory: StoreFactory\n\t\tfeatureInstaller?: FeatureInstaller\n\t\tui: GraphicsInterface\n\t\temitter: GlobalEmitter\n\t\tapiClientFactory: ApiClientFactory\n\t\tactionExecuter: ActionExecuter\n\t}): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstaller(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;IACqBA,uB;;;;;;;WA+CpB,yBAA8BC,OAA9B,EASqB;MAAA;;MACpB,IAAQC,GAAR,GACCD,OADD,CAAQC,GAAR;MAAA,IAAaC,cAAb,GACCF,OADD,CAAaE,cAAb;MAAA,IAA6BC,YAA7B,GACCH,OADD,CAA6BG,YAA7B;MAAA,IAA2CC,EAA3C,GACCJ,OADD,CAA2CI,EAA3C;MAAA,IAA+CC,OAA/C,GACCL,OADD,CAA+CK,OAA/C;MAAA,IAAwDC,cAAxD,GACCN,OADD,CAAwDM,cAAxD;MAGA,IAAMC,gBAAgB,4BACrBP,OAAO,CAACO,gBADa,yEACO,IAAIC,4BAAJ,CAAqBP,GAArB,EAA0BC,cAA1B,CAD7B;MAGA,IAAMO,cAA8B,GAAG;QACtCR,GAAG,EAAHA,GADsC;QAEtCC,cAAc,EAAdA,cAFsC;QAGtCQ,SAAS,EAATA,0BAHsC;QAItCP,YAAY,EAAZA,YAJsC;QAKtCI,gBAAgB,EAAhBA,gBALsC;QAMtCH,EAAE,EAAFA,EANsC;QAOtCC,OAAO,EAAPA,OAPsC;QAQtCC,cAAc,EAAdA,cARsC;QAStCK,gBAAgB,EAAEX,OAAO,CAACW;MATY,CAAvC;MAYA,KAAKC,QAAL,CAAcC,OAAd,CAAsB,UAACC,OAAD,EAAa;QAClC,IAAMC,OAAO,GAAG,IAAID,OAAJ,CAAYL,cAAZ,CAAhB;QAEAF,gBAAgB,CAACS,UAAjB,CAA4BD,OAAO,CAACE,IAApC,EAA0CF,OAA1C;MACA,CAJD;MAMA,OAAOR,gBAAP;IACA;;;;;;iCAlFmBR,uB,cACsB,CACzCmB,wBADyC,EAEzCC,yBAFyC,EAGzCC,wBAHyC,EAIzCC,uBAJyC,EAKzCC,yBALyC,EAMzCC,wBANyC,EAOzCC,wBAPyC,EAQzCC,uBARyC,EASzCC,0BATyC,EAUzCC,yBAVyC,EAWzCC,+BAXyC,EAYzCC,+BAZyC,EAazCC,gCAbyC,EAczCC,yBAdyC,EAezCC,0BAfyC,EAgBzCC,wBAhByC,EAiBzCC,uBAjByC,EAkBzCC,wBAlByC,EAmBzCC,sBAnByC,EAoBzCC,6BApByC,C;iCADtBtC,uB,kBAwBiC,CACpD,OADoD,EAEpD,QAFoD,EAGpD,OAHoD,EAIpD,MAJoD,EAKpD,QALoD,EAMpD,OANoD,EAOpD,OAPoD,EAQpD,MARoD,EASpD,SAToD,EAUpD,QAVoD,EAWpD,cAXoD,EAYpD,cAZoD,EAapD,eAboD,EAcpD,QAdoD,EAepD,SAfoD,EAgBpD,OAhBoD,EAiBpD,MAjBoD,EAkBpD,OAlBoD,EAmBpD,KAnBoD,EAoBpD,YApBoD,C"}
1
+ {"version":3,"file":"FeatureInstallerFactory.js","names":["FeatureInstallerFactory","options","cwd","serviceFactory","storeFactory","ui","emitter","actionExecuter","featureInstaller","FeatureInstaller","featureOptions","templates","apiClientFactory","features","forEach","Feature","feature","mapFeature","code","ErrorFeature","SchemaFeature","SkillFeature","TestFeature","VsCodeFeature","EventFeature","WatchFeature","NodeFeature","OnboardFeature","PersonFeature","OrganizationFeature","ConversationFeature","EventContractFeature","DeployFeature","SandboxFeature","StoreFeature","ViewFeature","CacheFeature","LogFeature","DependencyFeature","PolishFeature","PermissionFeature"],"sources":["../../src/features/FeatureInstallerFactory.ts"],"sourcesContent":["import { templates } from '@sprucelabs/spruce-templates'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport ServiceFactory from '../services/ServiceFactory'\nimport StoreFactory from '../stores/StoreFactory'\nimport { ApiClientFactory } from '../types/apiClient.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { FeatureOptions } from './AbstractFeature'\nimport ActionExecuter from './ActionExecuter'\nimport CacheFeature from './cache/CacheFeature'\nimport ConversationFeature from './conversation/ConversationFeature'\nimport DependencyFeature from './dependencies/DependencyFeature'\nimport DeployFeature from './deploy/DeployFeature'\nimport ErrorFeature from './error/ErrorFeature'\nimport EventFeature from './event/EventFeature'\nimport EventContractFeature from './eventContract/EventContractFeature'\nimport FeatureInstaller from './FeatureInstaller'\nimport { FeatureCode } from './features.types'\nimport LogFeature from './log/LogFeature'\nimport NodeFeature from './node/NodeFeature'\nimport OnboardFeature from './onboard/OnboardFeature'\nimport OrganizationFeature from './organization/OrganizationFeature'\nimport PermissionFeature from './permission/PermissionFeature'\nimport PersonFeature from './person/PersonFeature'\nimport PolishFeature from './polish/PolishFeature'\nimport SandboxFeature from './sandbox/SandboxFeature'\nimport SchemaFeature from './schema/SchemaFeature'\nimport SkillFeature from './skill/SkillFeature'\nimport StoreFeature from './store/StoreFeature'\nimport TestFeature from './test/TestFeature'\nimport ViewFeature from './view/ViewFeature'\nimport VsCodeFeature from './vscode/VsCodeFeature'\nimport WatchFeature from './watch/WatchFeature'\nexport default class FeatureInstallerFactory {\n\tprivate static readonly features: any[] = [\n\t\tErrorFeature,\n\t\tSchemaFeature,\n\t\tSkillFeature,\n\t\tTestFeature,\n\t\tVsCodeFeature,\n\t\tEventFeature,\n\t\tWatchFeature,\n\t\tNodeFeature,\n\t\tOnboardFeature,\n\t\tPersonFeature,\n\t\tOrganizationFeature,\n\t\tConversationFeature,\n\t\tEventContractFeature,\n\t\tDeployFeature,\n\t\tSandboxFeature,\n\t\tStoreFeature,\n\t\tViewFeature,\n\t\tCacheFeature,\n\t\tLogFeature,\n\t\tDependencyFeature,\n\t\tPolishFeature,\n\t\tPermissionFeature,\n\t]\n\n\tpublic static readonly featureCodes: FeatureCode[] = [\n\t\t'error',\n\t\t'schema',\n\t\t'skill',\n\t\t'test',\n\t\t'vscode',\n\t\t'event',\n\t\t'watch',\n\t\t'node',\n\t\t'onboard',\n\t\t'person',\n\t\t'organization',\n\t\t'conversation',\n\t\t'eventContract',\n\t\t'deploy',\n\t\t'sandbox',\n\t\t'store',\n\t\t'view',\n\t\t'cache',\n\t\t'log',\n\t\t'dependency',\n\t\t'polish',\n\t\t'permission',\n\t]\n\n\tpublic static WithAllFeatures(options: {\n\t\tcwd: string\n\t\tserviceFactory: ServiceFactory\n\t\tstoreFactory: StoreFactory\n\t\tfeatureInstaller?: FeatureInstaller\n\t\tui: GraphicsInterface\n\t\temitter: GlobalEmitter\n\t\tapiClientFactory: ApiClientFactory\n\t\tactionExecuter: ActionExecuter\n\t}): FeatureInstaller {\n\t\tconst { cwd, serviceFactory, storeFactory, ui, emitter, actionExecuter } =\n\t\t\toptions\n\n\t\tconst featureInstaller =\n\t\t\toptions.featureInstaller ?? new FeatureInstaller(cwd, serviceFactory)\n\n\t\tconst featureOptions: FeatureOptions = {\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\ttemplates,\n\t\t\tstoreFactory,\n\t\t\tfeatureInstaller,\n\t\t\tui,\n\t\t\temitter,\n\t\t\tactionExecuter,\n\t\t\tapiClientFactory: options.apiClientFactory,\n\t\t}\n\n\t\tthis.features.forEach((Feature) => {\n\t\t\tconst feature = new Feature(featureOptions)\n\n\t\t\tfeatureInstaller.mapFeature(feature.code, feature)\n\t\t})\n\n\t\treturn featureInstaller\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;IACqBA,uB;;;;;;;WAmDpB,yBAA8BC,OAA9B,EASqB;MAAA;;MACpB,IAAQC,GAAR,GACCD,OADD,CAAQC,GAAR;MAAA,IAAaC,cAAb,GACCF,OADD,CAAaE,cAAb;MAAA,IAA6BC,YAA7B,GACCH,OADD,CAA6BG,YAA7B;MAAA,IAA2CC,EAA3C,GACCJ,OADD,CAA2CI,EAA3C;MAAA,IAA+CC,OAA/C,GACCL,OADD,CAA+CK,OAA/C;MAAA,IAAwDC,cAAxD,GACCN,OADD,CAAwDM,cAAxD;MAGA,IAAMC,gBAAgB,4BACrBP,OAAO,CAACO,gBADa,yEACO,IAAIC,4BAAJ,CAAqBP,GAArB,EAA0BC,cAA1B,CAD7B;MAGA,IAAMO,cAA8B,GAAG;QACtCR,GAAG,EAAHA,GADsC;QAEtCC,cAAc,EAAdA,cAFsC;QAGtCQ,SAAS,EAATA,0BAHsC;QAItCP,YAAY,EAAZA,YAJsC;QAKtCI,gBAAgB,EAAhBA,gBALsC;QAMtCH,EAAE,EAAFA,EANsC;QAOtCC,OAAO,EAAPA,OAPsC;QAQtCC,cAAc,EAAdA,cARsC;QAStCK,gBAAgB,EAAEX,OAAO,CAACW;MATY,CAAvC;MAYA,KAAKC,QAAL,CAAcC,OAAd,CAAsB,UAACC,OAAD,EAAa;QAClC,IAAMC,OAAO,GAAG,IAAID,OAAJ,CAAYL,cAAZ,CAAhB;QAEAF,gBAAgB,CAACS,UAAjB,CAA4BD,OAAO,CAACE,IAApC,EAA0CF,OAA1C;MACA,CAJD;MAMA,OAAOR,gBAAP;IACA;;;;;;iCAtFmBR,uB,cACsB,CACzCmB,wBADyC,EAEzCC,yBAFyC,EAGzCC,wBAHyC,EAIzCC,uBAJyC,EAKzCC,yBALyC,EAMzCC,wBANyC,EAOzCC,wBAPyC,EAQzCC,uBARyC,EASzCC,0BATyC,EAUzCC,yBAVyC,EAWzCC,+BAXyC,EAYzCC,+BAZyC,EAazCC,gCAbyC,EAczCC,yBAdyC,EAezCC,0BAfyC,EAgBzCC,wBAhByC,EAiBzCC,uBAjByC,EAkBzCC,wBAlByC,EAmBzCC,sBAnByC,EAoBzCC,6BApByC,EAqBzCC,yBArByC,EAsBzCC,6BAtByC,C;iCADtBxC,uB,kBA0BiC,CACpD,OADoD,EAEpD,QAFoD,EAGpD,OAHoD,EAIpD,MAJoD,EAKpD,QALoD,EAMpD,OANoD,EAOpD,OAPoD,EAQpD,MARoD,EASpD,SAToD,EAUpD,QAVoD,EAWpD,cAXoD,EAYpD,cAZoD,EAapD,eAboD,EAcpD,QAdoD,EAepD,SAfoD,EAgBpD,OAhBoD,EAiBpD,MAjBoD,EAkBpD,OAlBoD,EAmBpD,KAnBoD,EAoBpD,YApBoD,EAqBpD,QArBoD,EAsBpD,YAtBoD,C"}
@@ -6,49 +6,57 @@ declare const optionsSchema: {
6
6
  description: string;
7
7
  fields: {
8
8
  contractDestinationDir: {
9
+ label: "Contract destination";
9
10
  type: "text";
10
- label: string;
11
- hint: string;
12
- defaultValue: string;
11
+ hint: "Where I will generate event contracts.";
12
+ defaultValue: "#spruce/events";
13
+ options: undefined;
13
14
  };
14
15
  schemaTypesLookupDir: {
16
+ label: "Schema types lookup directory";
15
17
  type: "text";
16
- label: string;
17
- hint: string;
18
- defaultValue: string;
18
+ hint: "Where I will lookup schema types and interfaces.";
19
+ defaultValue: "#spruce/schemas";
20
+ options: undefined;
19
21
  };
20
22
  shouldSyncOnlyCoreEvents: {
23
+ label: "Sync only core events";
21
24
  type: "boolean";
22
- label: string;
23
- hint: string;
25
+ hint: "For use in @sprucelabs/mercury-types";
26
+ options: undefined;
24
27
  };
25
28
  skillEventContractTypesFile: {
29
+ label: "Event signature types file";
26
30
  type: "text";
27
- label: string;
28
- defaultValue: string;
31
+ defaultValue: "@sprucelabs/mercury-types/build/types/mercury.types";
32
+ options: undefined;
29
33
  };
30
34
  eventBuilderFile: {
35
+ label: "Event builder file";
31
36
  type: "text";
32
- label: string;
33
- defaultValue: string;
37
+ defaultValue: "@sprucelabs/mercury-types";
38
+ options: undefined;
34
39
  };
35
40
  nameReadable: {
36
41
  isRequired: true;
42
+ label: "Readable name";
37
43
  type: "text";
38
- label: string;
39
- hint: string;
44
+ hint: "The name people will read";
45
+ options: undefined;
40
46
  };
41
47
  nameKebab: {
42
48
  label: string;
43
49
  hint: string;
44
50
  isRequired: true;
45
51
  type: "text";
52
+ options: undefined;
46
53
  };
47
54
  nameCamel: {
48
55
  isRequired: true;
56
+ label: "Camel case name";
49
57
  type: "text";
50
- label: string;
51
- hint: string;
58
+ hint: "camelCase version of the name";
59
+ options: undefined;
52
60
  };
53
61
  isGlobal: {
54
62
  type: "boolean";
@@ -31,14 +31,12 @@ var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
31
31
 
32
32
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
33
33
 
34
+ var _namedTemplateItem = _interopRequireDefault(require("../../../.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema"));
35
+
34
36
  var _syncEventOptions = _interopRequireDefault(require("../../../.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema"));
35
37
 
36
38
  var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError"));
37
39
 
38
- var _namedTemplateItem = _interopRequireDefault(require("../../../schemas/v2020_07_22/namedTemplateItem.builder"));
39
-
40
- var _syncEventOptions2 = _interopRequireDefault(require("../../../schemas/v2020_07_22/syncEventOptions.builder"));
41
-
42
40
  var _action = _interopRequireDefault(require("../../../utilities/action.utility"));
43
41
 
44
42
  var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
@@ -76,7 +74,7 @@ var optionsSchema = (0, _schema.buildSchema)({
76
74
  label: 'Version',
77
75
  isPrivate: true
78
76
  }
79
- }, _syncEventOptions2["default"].fields)
77
+ }, _syncEventOptions["default"].fields)
80
78
  });
81
79
 
82
80
  var CreateAction = /*#__PURE__*/function (_AbstractAction) {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAction.js","names":["optionsSchema","buildSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","isRequired","nameKebab","label","hint","nameCamel","isGlobal","type","version","isPrivate","syncEventActionBuilder","CreateAction","options","validateAndNormalizeOptions","Store","loadCurrentSkill","skill","slug","errors","SpruceError","code","destinationDir","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","Writer","writeEvent","files","syncOptions","normalizeSchemaValues","syncEventActionSchema","shouldIncludePrivateFields","Action","execute","syncResponse","fqen","eventNameUtil","join","eventName","eventNamespace","actionUtil","mergeActionResults","meta","AbstractAction"],"sources":["../../../../src/features/event/actions/CreateAction.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaValues,\n\tSchemaValues,\n} from '@sprucelabs/schema'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport syncEventActionBuilder from '../../../schemas/v2020_07_22/syncEventOptions.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createEventAction',\n\tdescription:\n\t\t\"Create a new event and I'll register it with Mercury when you boot the skill!\",\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\t...namedTemplateItemBuilder.fields.nameKebab,\n\t\t\tlabel: 'Event name',\n\t\t\thint: `kebab-case`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemBuilder.fields.nameCamel,\n\t\t\tisRequired: true,\n\t\t},\n\t\tisGlobal: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Is this a global event?',\n\t\t\thint: \"This will allow skills to listen without being installed at the same organization. You'll need permission to make this happen.\",\n\t\t},\n\t\tversion: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Version',\n\t\t\tisPrivate: true,\n\t\t},\n\t\t...syncEventActionBuilder.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new event signature... 🜒'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { nameKebab, nameReadable, nameCamel, version, isGlobal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (!skill.id || !skill.slug) {\n\t\t\treturn {\n\t\t\t\terrors: [new SpruceError({ code: 'SKILL_NOT_REGISTERED' })],\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst destinationDir = diskUtil.resolvePath(this.cwd, 'src', 'events')\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tdiskUtil.resolvePath(destinationDir, '**', '*')\n\t\t\t)\n\n\t\t\tconst files = await this.Writer('event').writeEvent(destinationDir, {\n\t\t\t\tnameKebab,\n\t\t\t\tnameCamel,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\tnameReadable,\n\t\t\t\tisGlobal,\n\t\t\t})\n\n\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\tsyncEventActionSchema,\n\t\t\t\toptions,\n\t\t\t\t{\n\t\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst syncResponse = await this.Action('event', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName: nameKebab,\n\t\t\t\teventNamespace: skill.slug,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t})\n\n\t\t\treturn actionUtil.mergeActionResults(\n\t\t\t\t{ files, meta: { fqen } },\n\t\t\t\tsyncResponse\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":"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"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","buildSchema","id","description","fields","nameReadable","namedTemplateItemSchema","isRequired","nameKebab","label","hint","nameCamel","isGlobal","type","version","isPrivate","syncEventActionSchema","CreateAction","options","validateAndNormalizeOptions","Store","loadCurrentSkill","skill","slug","errors","SpruceError","code","destinationDir","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","Writer","writeEvent","files","syncOptions","normalizeSchemaValues","shouldIncludePrivateFields","Action","execute","syncResponse","fqen","eventNameUtil","join","eventName","eventNamespace","actionUtil","mergeActionResults","meta","AbstractAction"],"sources":["../../../../src/features/event/actions/CreateAction.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaValues,\n\tSchemaValues,\n} from '@sprucelabs/schema'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemSchema from '#spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createEventAction',\n\tdescription:\n\t\t\"Create a new event and I'll register it with Mercury when you boot the skill!\",\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemSchema.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\t...namedTemplateItemSchema.fields.nameKebab,\n\t\t\tlabel: 'Event name',\n\t\t\thint: `kebab-case`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemSchema.fields.nameCamel,\n\t\t\tisRequired: true,\n\t\t},\n\t\tisGlobal: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Is this a global event?',\n\t\t\thint: \"This will allow skills to listen without being installed at the same organization. You'll need permission to make this happen.\",\n\t\t},\n\t\tversion: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Version',\n\t\t\tisPrivate: true,\n\t\t},\n\t\t...syncEventActionSchema.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new event signature... 🜒'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { nameKebab, nameReadable, nameCamel, version, isGlobal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (!skill.id || !skill.slug) {\n\t\t\treturn {\n\t\t\t\terrors: [new SpruceError({ code: 'SKILL_NOT_REGISTERED' })],\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst destinationDir = diskUtil.resolvePath(this.cwd, 'src', 'events')\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tdiskUtil.resolvePath(destinationDir, '**', '*')\n\t\t\t)\n\n\t\t\tconst files = await this.Writer('event').writeEvent(destinationDir, {\n\t\t\t\tnameKebab,\n\t\t\t\tnameCamel,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\tnameReadable,\n\t\t\t\tisGlobal,\n\t\t\t})\n\n\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\tsyncEventActionSchema,\n\t\t\t\toptions,\n\t\t\t\t{\n\t\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst syncResponse = await this.Action('event', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName: nameKebab,\n\t\t\t\teventNamespace: skill.slug,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t})\n\n\t\t\treturn actionUtil.mergeActionResults(\n\t\t\t\t{ files, meta: { fqen } },\n\t\t\t\tsyncResponse\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;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,mBAD6B;EAEjCC,WAAW,EACV,+EAHgC;EAIjCC,MAAM;IACLC,YAAY,kCACRC,6BAAA,CAAwBF,MAAxB,CAA+BC,YADvB;MAEXE,UAAU,EAAE;IAFD,EADP;IAKLC,SAAS,kCACLF,6BAAA,CAAwBF,MAAxB,CAA+BI,SAD1B;MAERC,KAAK,EAAE,YAFC;MAGRC,IAAI,cAHI;MAIRH,UAAU,EAAE;IAJJ,EALJ;IAWLI,SAAS,kCACLL,6BAAA,CAAwBF,MAAxB,CAA+BO,SAD1B;MAERJ,UAAU,EAAE;IAFJ,EAXJ;IAeLK,QAAQ,EAAE;MACTC,IAAI,EAAE,SADG;MAETJ,KAAK,EAAE,yBAFE;MAGTC,IAAI,EAAE;IAHG,CAfL;IAoBLI,OAAO,EAAE;MACRD,IAAI,EAAE,MADE;MAERJ,KAAK,EAAE,SAFC;MAGRM,SAAS,EAAE;IAHH;EApBJ,GAyBFC,4BAAA,CAAsBZ,MAzBpB;AAJ2B,CAAZ,CAAtB;;IAmCqBa,Y;;;;;;;;;;;;;;;sGACkBjB,a;0GACX,sC;;;;;;;mGAE3B,iBACCkB,OADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAIE,KAAKC,2BAAL,CAAiCD,OAAjC,CAJF,EAGOV,SAHP,yBAGOA,SAHP,EAGkBH,YAHlB,yBAGkBA,YAHlB,EAGgCM,SAHhC,yBAGgCA,SAHhC,EAG2CG,OAH3C,yBAG2CA,OAH3C,EAGoDF,QAHpD,yBAGoDA,QAHpD;gBAAA;gBAAA,OAMqB,KAAKQ,KAAL,CAAW,OAAX,EAAoBC,gBAApB,EANrB;;cAAA;gBAMOC,KANP;;gBAAA,MAQK,CAACA,KAAK,CAACpB,EAAP,IAAa,CAACoB,KAAK,CAACC,IARzB;kBAAA;kBAAA;gBAAA;;gBAAA,iCASS;kBACNC,MAAM,EAAE,CAAC,IAAIC,uBAAJ,CAAgB;oBAAEC,IAAI,EAAE;kBAAR,CAAhB,CAAD;gBADF,CATT;;cAAA;gBAAA;gBAeQC,cAfR,GAeyBC,0BAAA,CAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,EAAsC,QAAtC,CAfzB;gBAAA;gBAAA,OAgBgC,KAAKC,cAAL,CAC7BjB,OAD6B,EAE7Bc,0BAAA,CAASC,WAAT,CAAqBF,cAArB,EAAqC,IAArC,EAA2C,GAA3C,CAF6B,CAhBhC;;cAAA;gBAgBQK,eAhBR;gBAAA;gBAAA,OAqBsB,KAAKC,MAAL,CAAY,OAAZ,EAAqBC,UAArB,CAAgCP,cAAhC,EAAgD;kBACnEnB,SAAS,EAATA,SADmE;kBAEnEG,SAAS,EAATA,SAFmE;kBAGnEG,OAAO,EAAEkB,eAH0D;kBAInE3B,YAAY,EAAZA,YAJmE;kBAKnEO,QAAQ,EAARA;gBALmE,CAAhD,CArBtB;;cAAA;gBAqBQuB,KArBR;gBA6BQC,WA7BR,GA6BsB,IAAAC,6BAAA,EACnBrB,4BADmB,EAEnBE,OAFmB,EAGnB;kBACCoB,0BAA0B,EAAE;gBAD7B,CAHmB,CA7BtB;gBAAA;gBAAA,OAqC6B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAC1BJ,WAD0B,CArC7B;;cAAA;gBAqCQK,YArCR;gBAyCQC,IAzCR,GAyCeC,+BAAA,CAAcC,IAAd,CAAmB;kBAC/BC,SAAS,EAAErC,SADoB;kBAE/BsC,cAAc,EAAExB,KAAK,CAACC,IAFS;kBAG/BT,OAAO,EAAEkB;gBAHsB,CAAnB,CAzCf;gBAAA,iCA+CSe,kBAAA,CAAWC,kBAAX,CACN;kBAAEb,KAAK,EAALA,KAAF;kBAASc,IAAI,EAAE;oBAAEP,IAAI,EAAJA;kBAAF;gBAAf,CADM,EAEND,YAFM,CA/CT;;cAAA;gBAAA;gBAAA;gBAAA,iCAoDS;kBACNjB,MAAM,EAAE;gBADF,CApDT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyC0B,2B"}
@@ -138,7 +138,7 @@ var UpdateDependenciesAction = /*#__PURE__*/function (_AbstractAction) {
138
138
  _pkgContents$devDepen,
139
139
  _this2 = this;
140
140
 
141
- var features, pkg, pkgContents, dependencies, devDependencies, _iterator, _step, feature, _iterator2, _step2, _loop;
141
+ var features, pkg, pkgContents, dependencies, devDependencies, _iterator, _step, feature, _loop, _i2, _arr;
142
142
 
143
143
  return _regenerator["default"].wrap(function _callee2$(_context2) {
144
144
  while (1) {
@@ -168,39 +168,32 @@ var UpdateDependenciesAction = /*#__PURE__*/function (_AbstractAction) {
168
168
  try {
169
169
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
170
170
  feature = _step.value;
171
- _iterator2 = _createForOfIteratorHelper(feature.packageDependencies);
172
-
173
- try {
174
- _loop = function _loop() {
175
- var dep = _step2.value;
176
- var stripped = pkg.stripLatest(dep.name);
177
- var name = pkg.buildPackageName(dep);
178
- var isDev = (dep.isDev || devDependencies.find(function (d) {
179
- return d.stripped === stripped;
180
- })) && !dependencies.find(function (d) {
181
- return d.stripped === stripped;
182
- });
183
171
 
184
- if (isDev) {
185
- devDependencies.unshift({
186
- stripped: stripped,
187
- name: name
188
- });
189
- } else {
190
- dependencies.unshift({
191
- stripped: stripped,
192
- name: name
193
- });
194
- }
195
- };
196
-
197
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
198
- _loop();
172
+ _loop = function _loop() {
173
+ var dep = _arr[_i2];
174
+ var stripped = pkg.stripLatest(dep.name);
175
+ var name = pkg.buildPackageName(dep);
176
+ var isDev = (dep.isDev || devDependencies.find(function (d) {
177
+ return d.stripped === stripped;
178
+ })) && !dependencies.find(function (d) {
179
+ return d.stripped === stripped;
180
+ });
181
+
182
+ if (isDev) {
183
+ devDependencies.unshift({
184
+ stripped: stripped,
185
+ name: name
186
+ });
187
+ } else {
188
+ dependencies.unshift({
189
+ stripped: stripped,
190
+ name: name
191
+ });
199
192
  }
200
- } catch (err) {
201
- _iterator2.e(err);
202
- } finally {
203
- _iterator2.f();
193
+ };
194
+
195
+ for (_i2 = 0, _arr = feature.packageDependencies; _i2 < _arr.length; _i2++) {
196
+ _loop();
204
197
  }
205
198
  }
206
199
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateDependenciesAction.js","names":["optionsSchema","buildSchema","id","description","fields","UpdateDependenciesAction","_options","files","file","diskUtil","deleteFile","resolvePath","cwd","InFlightEntertainment","start","installDependencies","totalDependencies","totalDevDependencies","headline","summaryLines","stop","featureInstaller","getInstalledFeatures","features","pkg","Service","pkgContents","readPackage","dependencies","Object","keys","map","d","stripped","name","devDependencies","feature","packageDependencies","dep","stripLatest","buildPackageName","isDev","find","unshift","uniqBy","filter","isBlockedFromUpgrade","deleteLockFile","length","writeStatus","install","shouldForceInstall","shouldCleanupLockFiles","content","get","push","set","path","value","isBlocked","indexOf","AbstractAction"],"sources":["../../../../src/features/node/actions/UpdateDependenciesAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { uniqBy } from 'lodash'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport PkgService from '../../../services/PkgService'\nimport { NpmPackage } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'updateDependenciesAction',\n\tdescription:\n\t\t'Clear lock files and node_modules and then reinstalls all modules.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class UpdateDependenciesAction extends AbstractAction<OptionsSchema> {\n\tpublic code = 'updateDependencies'\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['update.dependencies', 'upgrade.dependencies']\n\tpublic invocationMessage = 'Updating dependencies... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst files = ['package-lock.json', 'yarn.lock', 'node_modules']\n\n\t\tfor (const file of files) {\n\t\t\tdiskUtil.deleteFile(diskUtil.resolvePath(this.cwd, file))\n\t\t}\n\n\t\ttry {\n\t\t\tInFlightEntertainment.start(['Here we go!', 'Good luck!'])\n\n\t\t\tconst { totalDependencies, totalDevDependencies } =\n\t\t\t\tawait this.installDependencies()\n\n\t\t\treturn {\n\t\t\t\theadline: 'Update Complete!',\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`${totalDependencies} dependencie${\n\t\t\t\t\t\ttotalDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t\t`${totalDevDependencies} dev dependencie${\n\t\t\t\t\t\ttotalDevDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t],\n\t\t\t}\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t}\n\t}\n\n\tprivate async installDependencies() {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst pkgContents = pkg.readPackage()\n\n\t\tlet dependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.dependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tlet devDependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.devDependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tfor (const feature of features) {\n\t\t\tfor (const dep of feature.packageDependencies as NpmPackage[]) {\n\t\t\t\tconst stripped = pkg.stripLatest(dep.name)\n\t\t\t\tconst name = pkg.buildPackageName(dep)\n\t\t\t\tconst isDev =\n\t\t\t\t\t(dep.isDev || devDependencies.find((d) => d.stripped === stripped)) &&\n\t\t\t\t\t!dependencies.find((d) => d.stripped === stripped)\n\n\t\t\t\tif (isDev) {\n\t\t\t\t\tdevDependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tdependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdependencies = uniqBy(dependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\t\tdevDependencies = uniqBy(devDependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\n\t\tpkg.deleteLockFile()\n\n\t\tif (dependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${dependencies.length} dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tif (devDependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${devDependencies.length} dev dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdevDependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tisDev: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tpkg.deleteLockFile()\n\n\t\treturn {\n\t\t\ttotalDependencies: dependencies.length,\n\t\t\ttotalDevDependencies: devDependencies.length,\n\t\t}\n\t}\n\n\tpublic blockUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tcontent.push(name)\n\t\tpkg.set({ path: 'skill.upgradeIgnoreList', value: content })\n\t}\n\n\tpublic isBlockedFromUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tconst isBlocked = content.indexOf(name) > -1\n\t\treturn isBlocked\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"UpdateDependenciesAction.js","names":["optionsSchema","buildSchema","id","description","fields","UpdateDependenciesAction","_options","files","file","diskUtil","deleteFile","resolvePath","cwd","InFlightEntertainment","start","installDependencies","totalDependencies","totalDevDependencies","headline","summaryLines","stop","featureInstaller","getInstalledFeatures","features","pkg","Service","pkgContents","readPackage","dependencies","Object","keys","map","d","stripped","name","devDependencies","feature","dep","stripLatest","buildPackageName","isDev","find","unshift","packageDependencies","uniqBy","filter","isBlockedFromUpgrade","deleteLockFile","length","writeStatus","install","shouldForceInstall","shouldCleanupLockFiles","content","get","push","set","path","value","isBlocked","indexOf","AbstractAction"],"sources":["../../../../src/features/node/actions/UpdateDependenciesAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { uniqBy } from 'lodash'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport PkgService from '../../../services/PkgService'\nimport { NpmPackage } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'updateDependenciesAction',\n\tdescription:\n\t\t'Clear lock files and node_modules and then reinstalls all modules.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class UpdateDependenciesAction extends AbstractAction<OptionsSchema> {\n\tpublic code = 'updateDependencies'\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['update.dependencies', 'upgrade.dependencies']\n\tpublic invocationMessage = 'Updating dependencies... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst files = ['package-lock.json', 'yarn.lock', 'node_modules']\n\n\t\tfor (const file of files) {\n\t\t\tdiskUtil.deleteFile(diskUtil.resolvePath(this.cwd, file))\n\t\t}\n\n\t\ttry {\n\t\t\tInFlightEntertainment.start(['Here we go!', 'Good luck!'])\n\n\t\t\tconst { totalDependencies, totalDevDependencies } =\n\t\t\t\tawait this.installDependencies()\n\n\t\t\treturn {\n\t\t\t\theadline: 'Update Complete!',\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`${totalDependencies} dependencie${\n\t\t\t\t\t\ttotalDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t\t`${totalDevDependencies} dev dependencie${\n\t\t\t\t\t\ttotalDevDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t],\n\t\t\t}\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t}\n\t}\n\n\tprivate async installDependencies() {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst pkgContents = pkg.readPackage()\n\n\t\tlet dependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.dependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tlet devDependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.devDependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tfor (const feature of features) {\n\t\t\tfor (const dep of feature.packageDependencies as NpmPackage[]) {\n\t\t\t\tconst stripped = pkg.stripLatest(dep.name)\n\t\t\t\tconst name = pkg.buildPackageName(dep)\n\t\t\t\tconst isDev =\n\t\t\t\t\t(dep.isDev || devDependencies.find((d) => d.stripped === stripped)) &&\n\t\t\t\t\t!dependencies.find((d) => d.stripped === stripped)\n\n\t\t\t\tif (isDev) {\n\t\t\t\t\tdevDependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tdependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdependencies = uniqBy(dependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\t\tdevDependencies = uniqBy(devDependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\n\t\tpkg.deleteLockFile()\n\n\t\tif (dependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${dependencies.length} dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tif (devDependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${devDependencies.length} dev dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdevDependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tisDev: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tpkg.deleteLockFile()\n\n\t\treturn {\n\t\t\ttotalDependencies: dependencies.length,\n\t\t\ttotalDevDependencies: devDependencies.length,\n\t\t}\n\t}\n\n\tpublic blockUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tcontent.push(name)\n\t\tpkg.set({ path: 'skill.upgradeIgnoreList', value: content })\n\t}\n\n\tpublic isBlockedFromUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tconst isBlocked = content.indexOf(name) > -1\n\t\treturn isBlocked\n\t}\n}\n"],"mappings":"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"}
@@ -1,10 +1,5 @@
1
1
  import AbstractFeature, { FeatureDependency } from '../AbstractFeature';
2
2
  import { FeatureCode } from '../features.types';
3
- declare module '../../features/features.types' {
4
- interface FeatureMap {
5
- organization: OrganizationFeature;
6
- }
7
- }
8
3
  export default class OrganizationFeature extends AbstractFeature {
9
4
  code: FeatureCode;
10
5
  nameReadable: string;
@@ -13,3 +8,8 @@ export default class OrganizationFeature extends AbstractFeature {
13
8
  packageDependencies: never[];
14
9
  actionsDir: string;
15
10
  }
11
+ declare module '../../features/features.types' {
12
+ interface FeatureMap {
13
+ organization: OrganizationFeature;
14
+ }
15
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationFeature.js","names":["OrganizationFeature","code","isRequired","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/organization/OrganizationFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\torganization: OrganizationFeature\n\t}\n}\n\nexport default class OrganizationFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'organization'\n\tpublic nameReadable = 'Organization'\n\tpublic description = 'Manage the organizations you are part of'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\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\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,mB;;;;;;;;;;;;;;;6FACO,c;qGACL,c;oGACD,0C;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,EAK1C;MACCD,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAL0C,C;4GAUd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;EAhB4BC,4B"}
1
+ {"version":3,"file":"OrganizationFeature.js","names":["OrganizationFeature","code","isRequired","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/organization/OrganizationFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\nexport default class OrganizationFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'organization'\n\tpublic nameReadable = 'Organization'\n\tpublic description = 'Manage the organizations you are part of'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\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\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n}\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\torganization: OrganizationFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAGqBA,mB;;;;;;;;;;;;;;;6FACO,c;qGACL,c;oGACD,0C;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,EAK1C;MACCD,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAL0C,C;4GAUd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;EAhB4BC,4B"}
@@ -0,0 +1,15 @@
1
+ import AbstractFeature, { FeatureDependency } from '../AbstractFeature';
2
+ import { FeatureCode } from '../features.types';
3
+ export default class PermissionFeature extends AbstractFeature {
4
+ code: FeatureCode;
5
+ nameReadable: string;
6
+ description: string;
7
+ dependencies: FeatureDependency[];
8
+ packageDependencies: never[];
9
+ actionsDir: string;
10
+ }
11
+ declare module '../../features/features.types' {
12
+ interface FeatureMap {
13
+ permission: PermissionFeature;
14
+ }
15
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
25
+
26
+ var _AbstractFeature2 = _interopRequireDefault(require("../AbstractFeature"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var PermissionFeature = /*#__PURE__*/function (_AbstractFeature) {
33
+ (0, _inherits2["default"])(PermissionFeature, _AbstractFeature);
34
+
35
+ var _super = _createSuper(PermissionFeature);
36
+
37
+ function PermissionFeature() {
38
+ var _this;
39
+
40
+ (0, _classCallCheck2["default"])(this, PermissionFeature);
41
+
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
44
+ }
45
+
46
+ _this = _super.call.apply(_super, [this].concat(args));
47
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "code", 'permission');
48
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nameReadable", 'permission');
49
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "description", 'Manage permissions for your skill');
50
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dependencies", [{
51
+ code: 'skill',
52
+ isRequired: true
53
+ }, {
54
+ code: 'event',
55
+ isRequired: true
56
+ }]);
57
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "packageDependencies", []);
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
59
+ return _this;
60
+ }
61
+
62
+ return (0, _createClass2["default"])(PermissionFeature);
63
+ }(_AbstractFeature2["default"]);
64
+
65
+ exports["default"] = PermissionFeature;
66
+ //# sourceMappingURL=PermissionFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionFeature.js","names":["PermissionFeature","code","isRequired","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/permission/PermissionFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\nexport default class PermissionFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'permission'\n\tpublic nameReadable = 'permission'\n\tpublic description = 'Manage permissions for your skill'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\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\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n}\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tpermission: PermissionFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAGqBA,iB;;;;;;;;;;;;;;;6FACO,Y;qGACL,Y;oGACD,mC;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,EAK1C;MACCD,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAL0C,C;4GAUd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;EAhB0BC,4B"}
@@ -0,0 +1,46 @@
1
+ import { SchemaValues } from '@sprucelabs/schema';
2
+ import AbstractAction from '../../AbstractAction';
3
+ import { FeatureActionResponse } from '../../features.types';
4
+ declare const schema: {
5
+ id: string;
6
+ fields: {
7
+ nameReadable: {
8
+ label: "Readable name";
9
+ type: "text";
10
+ isRequired: true;
11
+ hint: "The name people will read";
12
+ options: undefined;
13
+ };
14
+ nameKebab: {
15
+ label: "Kebab case name";
16
+ type: "text";
17
+ hint: "kebab-case of the name";
18
+ options: undefined;
19
+ };
20
+ };
21
+ };
22
+ declare type OptionsSchema = typeof schema;
23
+ declare type Options = SchemaValues<OptionsSchema>;
24
+ export default class CreateAction extends AbstractAction<OptionsSchema> {
25
+ optionsSchema: {
26
+ id: string;
27
+ fields: {
28
+ nameReadable: {
29
+ label: "Readable name";
30
+ type: "text";
31
+ isRequired: true;
32
+ hint: "The name people will read";
33
+ options: undefined;
34
+ };
35
+ nameKebab: {
36
+ label: "Kebab case name";
37
+ type: "text";
38
+ hint: "kebab-case of the name";
39
+ options: undefined;
40
+ };
41
+ };
42
+ };
43
+ invocationMessage: string;
44
+ execute(_options: Options): Promise<FeatureActionResponse>;
45
+ }
46
+ export {};
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _schema = require("@sprucelabs/schema");
29
+
30
+ var _namedTemplateItem = _interopRequireDefault(require("../../../.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema"));
31
+
32
+ var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
33
+
34
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
+
36
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
+
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
+
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
+
42
+ var schema = (0, _schema.buildSchema)({
43
+ id: 'createPermission',
44
+ fields: _objectSpread({}, (0, _schema.pickFields)(_namedTemplateItem["default"].fields, ['nameReadable', 'nameKebab']))
45
+ });
46
+
47
+ var CreateAction = /*#__PURE__*/function (_AbstractAction) {
48
+ (0, _inherits2["default"])(CreateAction, _AbstractAction);
49
+
50
+ var _super = _createSuper(CreateAction);
51
+
52
+ function CreateAction() {
53
+ var _this;
54
+
55
+ (0, _classCallCheck2["default"])(this, CreateAction);
56
+
57
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
58
+ args[_key] = arguments[_key];
59
+ }
60
+
61
+ _this = _super.call.apply(_super, [this].concat(args));
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", schema);
63
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "invocationMessage", 'Creating a permission contract... 🛡');
64
+ return _this;
65
+ }
66
+
67
+ (0, _createClass2["default"])(CreateAction, [{
68
+ key: "execute",
69
+ value: function () {
70
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
71
+ return _regenerator["default"].wrap(function _callee$(_context) {
72
+ while (1) {
73
+ switch (_context.prev = _context.next) {
74
+ case 0:
75
+ return _context.abrupt("return", {});
76
+
77
+ case 1:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }
82
+ }, _callee);
83
+ }));
84
+
85
+ function execute(_x) {
86
+ return _execute.apply(this, arguments);
87
+ }
88
+
89
+ return execute;
90
+ }()
91
+ }]);
92
+ return CreateAction;
93
+ }(_AbstractAction2["default"]);
94
+
95
+ exports["default"] = CreateAction;
96
+ //# sourceMappingURL=CreateAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateAction.js","names":["schema","buildSchema","id","fields","pickFields","namedTemplateItemSchema","CreateAction","_options","AbstractAction"],"sources":["../../../../src/features/permission/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, pickFields, SchemaValues } from '@sprucelabs/schema'\nimport namedTemplateItemSchema from '#spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst schema = buildSchema({\n\tid: 'createPermission',\n\tfields: {\n\t\t...pickFields(namedTemplateItemSchema.fields, [\n\t\t\t'nameReadable',\n\t\t\t'nameKebab',\n\t\t]),\n\t},\n})\n\ntype OptionsSchema = typeof schema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = schema\n\tpublic invocationMessage = 'Creating a permission contract... 🛡'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\t// const { nameKebab, nameReadable } =\n\t\t// \tthis.validateAndNormalizeOptions(options)\n\n\t\treturn {}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,MAAM,GAAG,IAAAC,mBAAA,EAAY;EAC1BC,EAAE,EAAE,kBADsB;EAE1BC,MAAM,oBACF,IAAAC,kBAAA,EAAWC,6BAAA,CAAwBF,MAAnC,EAA2C,CAC7C,cAD6C,EAE7C,WAF6C,CAA3C,CADE;AAFoB,CAAZ,CAAf;;IAaqBG,Y;;;;;;;;;;;;;;;sGACGN,M;0GACI,sC;;;;;;;mGAE3B,iBAAqBO,QAArB;QAAA;UAAA;YAAA;cAAA;gBAAA,iCAIQ,EAJR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCC,2B"}
@@ -1,10 +1,5 @@
1
1
  import AbstractFeature, { FeatureDependency } from '../AbstractFeature';
2
2
  import { FeatureCode } from '../features.types';
3
- declare module '../../features/features.types' {
4
- interface FeatureMap {
5
- person: PersonFeature;
6
- }
7
- }
8
3
  export default class PersonFeature extends AbstractFeature {
9
4
  code: FeatureCode;
10
5
  nameReadable: string;
@@ -14,3 +9,8 @@ export default class PersonFeature extends AbstractFeature {
14
9
  actionsDir: string;
15
10
  isInstalled: () => Promise<boolean>;
16
11
  }
12
+ declare module '../../features/features.types' {
13
+ interface FeatureMap {
14
+ person: PersonFeature;
15
+ }
16
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PersonFeature.js","names":["PersonFeature","code","isRequired","diskUtil","resolvePath","__dirname","featureInstaller","isInstalled","AbstractFeature"],"sources":["../../../src/features/person/PersonFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tperson: PersonFeature\n\t}\n}\n\nexport default class PersonFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'person'\n\tpublic nameReadable = 'Person'\n\tpublic description = 'Log in, log out, etc.'\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\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic isInstalled = () => {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGACD,uB;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;oGAEC,YAAM;MAC1B,OAAO,MAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAAP;IACA,C;;;;;EAhByCC,4B"}
1
+ {"version":3,"file":"PersonFeature.js","names":["PersonFeature","code","isRequired","diskUtil","resolvePath","__dirname","featureInstaller","isInstalled","AbstractFeature"],"sources":["../../../src/features/person/PersonFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\nexport default class PersonFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'person'\n\tpublic nameReadable = 'Person'\n\tpublic description = 'Log in, log out, etc.'\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\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic isInstalled = () => {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tperson: PersonFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAGqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGACD,uB;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;oGAEC,YAAM;MAC1B,OAAO,MAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAAP;IACA,C;;;;;EAhByCC,4B"}
@@ -0,0 +1,19 @@
1
+ import { NpmPackage } from '@sprucelabs/spruce-skill-utils';
2
+ import AbstractFeature, { FeatureDependency } from '../AbstractFeature';
3
+ import { FeatureCode } from '../features.types';
4
+ export default class PolishFeature extends AbstractFeature {
5
+ code: FeatureCode;
6
+ nameReadable: string;
7
+ description: string;
8
+ dependencies: FeatureDependency[];
9
+ packageDependencies: NpmPackage[];
10
+ actionsDir: string;
11
+ scripts: {
12
+ polish: string;
13
+ };
14
+ }
15
+ declare module '../../features/features.types' {
16
+ interface FeatureMap {
17
+ polish: PolishFeature;
18
+ }
19
+ }