@stepzen/sdk 0.21.0-beta.1 → 0.21.0-beta.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 (38) hide show
  1. package/lib/client-v2.d.ts +11 -0
  2. package/lib/client-v2.d.ts.map +1 -1
  3. package/lib/client-v2.js +18 -2
  4. package/lib/client-v2.js.map +1 -1
  5. package/lib/commands/upload.d.ts.map +1 -1
  6. package/lib/commands/upload.js +2 -7
  7. package/lib/commands/upload.js.map +1 -1
  8. package/lib/commands-v2/account.js +1 -1
  9. package/lib/commands-v2/deploy.d.ts +1 -1
  10. package/lib/commands-v2/deploy.d.ts.map +1 -1
  11. package/lib/commands-v2/deploy.js +1 -1
  12. package/lib/commands-v2/deploy.js.map +1 -1
  13. package/lib/commands-v2/list.d.ts +12 -0
  14. package/lib/commands-v2/list.d.ts.map +1 -0
  15. package/lib/commands-v2/list.js +58 -0
  16. package/lib/commands-v2/list.js.map +1 -0
  17. package/lib/init-v2.d.ts +6 -0
  18. package/lib/init-v2.d.ts.map +1 -1
  19. package/lib/shared/payloads.d.ts +1 -1
  20. package/lib/shared/payloads.d.ts.map +1 -1
  21. package/lib/shared/payloads.js +10 -19
  22. package/lib/shared/payloads.js.map +1 -1
  23. package/lib/shared/transpiling.d.ts +14 -1
  24. package/lib/shared/transpiling.d.ts.map +1 -1
  25. package/lib/shared/transpiling.js +8 -9
  26. package/lib/shared/transpiling.js.map +1 -1
  27. package/lib/shared/validation.d.ts.map +1 -1
  28. package/lib/shared/validation.js +7 -1
  29. package/lib/shared/validation.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/client-v2.ts +18 -2
  32. package/src/commands/upload.ts +3 -7
  33. package/src/commands-v2/account.ts +1 -1
  34. package/src/commands-v2/deploy.ts +2 -2
  35. package/src/commands-v2/list.ts +91 -0
  36. package/src/shared/payloads.ts +11 -28
  37. package/src/shared/transpiling.ts +25 -11
  38. package/src/shared/validation.ts +11 -1
@@ -35,5 +35,16 @@ export declare const createSdkClient: (auth: {
35
35
  config?: string | undefined;
36
36
  public?: boolean | undefined;
37
37
  }) => Promise<import("./shared/types").ZenCtlResponseV2<import("./shared/types").StepZenEndpointV2>>;
38
+ list: {
39
+ /**
40
+ * List deployed endpoints.
41
+ *
42
+ * @returns list of deployed endpoints
43
+ */
44
+ endpoints: () => Promise<import("./shared/types").ZenCtlResponseV2<{
45
+ folderName: string;
46
+ endpointName: string;
47
+ }[]>>;
48
+ };
38
49
  }>;
39
50
  //# sourceMappingURL=client-v2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,sBAAsB,SAE7B;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,aAC7C,kBAAkB,2DAkC9B,CAAA;AAED,eAAO,MAAM,eAAe,SAEtB;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,aAC7C,kBAAkB;;IAS3B;;;;;;;;;;;OAWG;;gBAQO,MAAM;cACR,MAAM;mBACD,MAAM;;;;EAkBtB,CAAA"}
1
+ {"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,sBAAsB,SAE7B;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,aAC7C,kBAAkB,2DAkC9B,CAAA;AAED,eAAO,MAAM,eAAe,SAEtB;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,aAC7C,kBAAkB;;IAS3B;;;;;;;;;;;OAWG;;gBAQO,MAAM;cACR,MAAM;mBACD,MAAM;;;;;QAkBjB;;;;WAIG;;;;;;EAWR,CAAA"}
package/lib/client-v2.js CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.createSdkClient = exports.ensureValidCredentials = void 0;
5
5
  const account_1 = require("./commands-v2/account");
6
6
  const deploy_1 = require("./commands-v2/deploy");
7
+ const list_1 = require("./commands-v2/list");
7
8
  const getPublicAccount_1 = require("./commands-v2/getPublicAccount");
8
9
  const payloads_1 = require("./shared/payloads");
9
10
  const ensureValidCredentials = async (auth, sdkConfig) => {
@@ -55,7 +56,7 @@ const createSdkClient = async (auth, sdkConfig) => {
55
56
  * @param public - whether or not to allow public access to the endpoint (`false` by default)
56
57
  * @returns details of the created / updated endpoint
57
58
  */
58
- deploy: ({ folder, name, directory, config, public: _public = false, }) => {
59
+ deploy: async ({ folder, name, directory, config, public: _public = false, }) => {
59
60
  return (0, deploy_1.default)({
60
61
  account: credentials.account,
61
62
  adminKey: credentials.adminKey,
@@ -65,10 +66,25 @@ const createSdkClient = async (auth, sdkConfig) => {
65
66
  folderName: folder,
66
67
  public: _public,
67
68
  schemaFiles: (0, payloads_1.generateSchemaFilesPayload)(directory),
68
- configuration: (0, payloads_1.generateConfigurationPayload)(config),
69
+ configuration: await (0, payloads_1.generateConfigurationPayload)(config),
69
70
  sdkConfig,
70
71
  });
71
72
  },
73
+ list: {
74
+ /**
75
+ * List deployed endpoints.
76
+ *
77
+ * @returns list of deployed endpoints
78
+ */
79
+ endpoints: () => {
80
+ return (0, list_1.default)({
81
+ account: credentials.account,
82
+ adminKey: credentials.adminKey,
83
+ deploymentType: credentials.deploymentType,
84
+ sdkConfig,
85
+ });
86
+ },
87
+ },
72
88
  };
73
89
  };
74
90
  exports.createSdkClient = createSdkClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,mDAA8C;AAC9C,iDAA4C;AAC5C,qEAA6D;AAC7D,gDAG0B;AAGnB,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAEwD,EACxD,SAA6B,EAC7B,EAAE;IACF,IAAI,WAAW,CAAA;IAEf,IAAI,oBAAoB,IAAI,IAAI,EAAE;QAChC,8EAA8E;QAC9E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAA,0BAAgB,EAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,kBAAkB;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAClE;QAED,WAAW,GAAG,IAAI,CAAA;KACnB;SAAM;QACL,gEAAgE;QAChE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAA,iBAAU,EAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAC/B;QAED,WAAW,GAAG,IAAI,CAAA;KACnB;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAtCY,QAAA,sBAAsB,0BAsClC;AAEM,MAAM,eAAe,GAAG,KAAK,EAClC,IAEwD,EACxD,SAA6B,EAC7B,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEjE,OAAO;QACL,IAAI,WAAW;YACb,uEAAuE;YACvE,OAAO,EAAC,GAAG,WAAW,EAAC,CAAA;QACzB,CAAC;QACD;;;;;;;;;;;WAWG;QACH,MAAM,EAAE,CAAC,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,MAAM,EACN,MAAM,EAAE,OAAO,GAAG,KAAK,GAOxB,EAAE,EAAE;YACH,OAAO,IAAA,gBAAS,EAAC;gBACf,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,IAAA,qCAA0B,EAAC,SAAS,CAAC;gBAClD,aAAa,EAAE,IAAA,uCAA4B,EAAC,MAAM,CAAC;gBACnD,SAAS;aACV,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AApDY,QAAA,eAAe,mBAoD3B"}
1
+ {"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,mDAA8C;AAC9C,iDAA4C;AAC5C,6CAAiD;AACjD,qEAA6D;AAC7D,gDAG0B;AAGnB,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAEwD,EACxD,SAA6B,EAC7B,EAAE;IACF,IAAI,WAAW,CAAA;IAEf,IAAI,oBAAoB,IAAI,IAAI,EAAE;QAChC,8EAA8E;QAC9E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAA,0BAAgB,EAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,kBAAkB;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAClE;QAED,WAAW,GAAG,IAAI,CAAA;KACnB;SAAM;QACL,gEAAgE;QAChE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAA,iBAAU,EAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAC/B;QAED,WAAW,GAAG,IAAI,CAAA;KACnB;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAtCY,QAAA,sBAAsB,0BAsClC;AAEM,MAAM,eAAe,GAAG,KAAK,EAClC,IAEwD,EACxD,SAA6B,EAC7B,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEjE,OAAO;QACL,IAAI,WAAW;YACb,uEAAuE;YACvE,OAAO,EAAC,GAAG,WAAW,EAAC,CAAA;QACzB,CAAC;QACD;;;;;;;;;;;WAWG;QACH,MAAM,EAAE,KAAK,EAAE,EACb,MAAM,EACN,IAAI,EACJ,SAAS,EACT,MAAM,EACN,MAAM,EAAE,OAAO,GAAG,KAAK,GAOxB,EAAE,EAAE;YACH,OAAO,IAAA,gBAAS,EAAC;gBACf,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,IAAA,qCAA0B,EAAC,SAAS,CAAC;gBAClD,aAAa,EAAE,MAAM,IAAA,uCAA4B,EAAC,MAAM,CAAC;gBACzD,SAAS;aACV,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,EAAE;YACJ;;;;eAIG;YACH,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,IAAA,cAAgB,EAAC;oBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,cAAc,EAAE,WAAW,CAAC,cAAc;oBAC1C,SAAS;iBACV,CAAC,CAAA;YACJ,CAAC;SACF;KACF,CAAA;AACH,CAAC,CAAA;AAnEY,QAAA,eAAe,mBAmE3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAA;kCAKb,aAAa,WACb,cAAc,aACZ,gBAAgB,KAC1B,QAAQ,cAAc,CAAC;AAJ1B,wBA6EC"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAA;kCAKb,aAAa,WACb,cAAc,aACZ,gBAAgB,KAC1B,QAAQ,cAAc,CAAC;AAJ1B,wBAyEC"}
@@ -15,13 +15,8 @@ exports.default = async (details, account, sdkConfig) => {
15
15
  case 'configurationset':
16
16
  await (0, validation_1.validateConfigurationset)(details.file);
17
17
  const transpiled = await (0, transpiling_1.transpileConfigurationset)(details.file);
18
- debug('stepzen:transpiler')(transpiled);
19
- if (transpiled) {
20
- payload = await (0, payloads_1.generateYamlPayload)(transpiled);
21
- }
22
- else {
23
- payload = await (0, payloads_1.generateYamlPayload)(details.file);
24
- }
18
+ debug('stepzen:sdk')(`effective config written to ${transpiled}`);
19
+ payload = await (0, payloads_1.generateYamlPayload)(transpiled);
25
20
  break;
26
21
  case 'schema':
27
22
  await (0, validation_1.validateSchema)(details.directory);
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAE9C,+BAA8B;AAC9B,2CAA8B;AAE9B,mDAAoD;AACpD,iDAA0E;AAC1E,+CAAmD;AAOnD,uDAA+D;AAC/D,qDAA6E;AAE7E,kBAAe,KAAK,EAClB,OAAsB,EACtB,OAAuB,EACvB,SAA2B,EACF,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAA,2BAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,OAAO,CAAA;IAEX,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,kBAAkB;YACrB,MAAM,IAAA,qCAAwB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAyB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAChE,KAAK,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAA;YACvC,IAAI,UAAU,EAAE;gBACd,OAAO,GAAG,MAAM,IAAA,8BAAmB,EAAC,UAAU,CAAC,CAAA;aAChD;iBAAM;gBACL,OAAO,GAAG,MAAM,IAAA,8BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aAClD;YACD,MAAK;QAEP,KAAK,QAAQ;YACX,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAChC,OAAO,CAAC,SAAS,EACjB;gBACE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY,EAAE,eAAe;aAC9B,EACD,CAAC,eAAe,CAAC,CAClB,CAAA;YACD,MAAK;KACR;IAED,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAC1B,GAAG,OAAO,CAAC,MAAM,GAAG,4BAAgB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAC7E;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAc;QACvB,MAAM,EAAE,MAAM;KACf,CACF,CAAA;IAED,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEnC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;QACnD,OAAO;YACL,OAAO,EACL,uFAAuF;YACzF,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,CAAC,uBAAuB,CAAC;YACjC,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,IAAI,CAAA;IAER,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACxB;IAAC,MAAM;QACN,OAAO;YACL,MAAM,EAAE,CAAC,oCAAoC,IAAI,EAAE,CAAC;YACpD,OAAO,EAAE,oCAAoC,IAAI,EAAE;YACnD,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAE9C,+BAA8B;AAC9B,2CAA8B;AAE9B,mDAAoD;AACpD,iDAA0E;AAC1E,+CAAmD;AAOnD,uDAA+D;AAC/D,qDAA6E;AAE7E,kBAAe,KAAK,EAClB,OAAsB,EACtB,OAAuB,EACvB,SAA2B,EACF,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAA,2BAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,OAAO,CAAA;IAEX,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,kBAAkB;YACrB,MAAM,IAAA,qCAAwB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAyB,EAAC,OAAO,CAAC,IAAK,CAAC,CAAA;YACjE,KAAK,CAAC,aAAa,CAAC,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAA;YACjE,OAAO,GAAG,MAAM,IAAA,8BAAmB,EAAC,UAAU,CAAC,CAAA;YAC/C,MAAK;QAEP,KAAK,QAAQ;YACX,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAChC,OAAO,CAAC,SAAS,EACjB;gBACE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY,EAAE,eAAe;aAC9B,EACD,CAAC,eAAe,CAAC,CAClB,CAAA;YACD,MAAK;KACR;IAED,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAC1B,GAAG,OAAO,CAAC,MAAM,GAAG,4BAAgB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAC7E;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAc;QACvB,MAAM,EAAE,MAAM;KACf,CACF,CAAA;IAED,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEnC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;QACnD,OAAO;YACL,OAAO,EACL,uFAAuF;YACzF,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,CAAC,uBAAuB,CAAC;YACjC,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,IAAI,CAAA;IAER,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACxB;IAAC,MAAM;QACN,OAAO;YACL,MAAM,EAAE,CAAC,oCAAoC,IAAI,EAAE,CAAC;YACpD,OAAO,EAAE,oCAAoC,IAAI,EAAE;YACnD,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -21,7 +21,7 @@ exports.default = async ({ account, adminKey, deploymentType, sdkConfig, }) => {
21
21
  account: account_name
22
22
  ownerEmail: account_owner_email
23
23
  adminKey: key_value_admin
24
- apiKeysAsJsonArray: key_value_service
24
+ apiKeysAsJsonArray: key_value_api
25
25
  }
26
26
  }`,
27
27
  variables: {
@@ -7,7 +7,7 @@ declare const _default: ({ account, deploymentType, folderName, endpointName, pu
7
7
  public: boolean;
8
8
  endpointType: string;
9
9
  schemaFiles: Readonly<SchemaFiles>;
10
- configuration?: Readonly<Configuration> | undefined;
10
+ configuration: Readonly<Configuration> | null;
11
11
  adminKey: string;
12
12
  sdkConfig: SDKConfigurationV2;
13
13
  }) => Promise<ZenCtlResponseV2<StepZenEndpointV2>>;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;;aAeb,MAAM;oBACC,MAAM;gBACV,MAAM;kBACJ,MAAM;YACZ,OAAO;kBACD,MAAM;iBACP,SAAS,WAAW,CAAC;;cAExB,MAAM;eACL,kBAAkB;MAC3B,QAAQ,iBAAiB,iBAAiB,CAAC,CAAC;AAtBhD,wBAqIC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;;aAeb,MAAM;oBACC,MAAM;gBACV,MAAM;kBACJ,MAAM;YACZ,OAAO;kBACD,MAAM;iBACP,SAAS,WAAW,CAAC;mBACnB,SAAS,aAAa,CAAC,GAAG,IAAI;cACnC,MAAM;eACL,kBAAkB;MAC3B,QAAQ,iBAAiB,iBAAiB,CAAC,CAAC;AAtBhD,wBAqIC"}
@@ -47,7 +47,7 @@ exports.default = async ({ account, deploymentType, folderName, endpointName, pu
47
47
  public: _public,
48
48
  endpointType,
49
49
  schemaFiles,
50
- configuration: configuration ? configuration : null,
50
+ configuration,
51
51
  adminKey,
52
52
  },
53
53
  sdkConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAS9C,6DAAgE;AAEhE,kBAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,MAAM,EAAE,OAAO,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,GAYV,EAAgD,EAAE;IACjD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,wCAAuB,EASjD;QACD,OAAO;QACP,QAAQ;QACR,cAAc;QACd,KAAK,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BpB;QACD,SAAS,EAAE;YACT,OAAO;YACP,cAAc;YACd,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,OAAO;YACf,YAAY;YACZ,WAAW;YACX,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;YACnD,QAAQ;SACT;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD;gBACA,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;aACF;YAED,IACE,OAAO,CAAC,UAAU,CAChB,0DAA0D,CAC3D,EACD;gBACA,OAAO,CACL,0BAA0B,YAAY,GAAG;oBACzC,6CAA6C,CAC9C,CAAA;aACF;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;KACF;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QAC1B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAA;KACF;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands-v2/deploy.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAS9C,6DAAgE;AAEhE,kBAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,MAAM,EAAE,OAAO,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,GAYV,EAAgD,EAAE;IACjD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,wCAAuB,EASjD;QACD,OAAO;QACP,QAAQ;QACR,cAAc;QACd,KAAK,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BpB;QACD,SAAS,EAAE;YACT,OAAO;YACP,cAAc;YACd,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,OAAO;YACf,YAAY;YACZ,WAAW;YACX,aAAa;YACb,QAAQ;SACT;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD;gBACA,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;aACF;YAED,IACE,OAAO,CAAC,UAAU,CAChB,0DAA0D,CAC3D,EACD;gBACA,OAAO,CACL,0BAA0B,YAAY,GAAG;oBACzC,6CAA6C,CAC9C,CAAA;aACF;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;KACF;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QAC1B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO,EAAE,qBAAqB;aAC/B;SACF,CAAA;KACF;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { SDKConfigurationV2, ZenCtlResponseV2 } from '../shared/types';
2
+ declare const _default: ({ account, deploymentType, adminKey, sdkConfig, }: {
3
+ account: string;
4
+ deploymentType: string;
5
+ adminKey: string;
6
+ sdkConfig: SDKConfigurationV2;
7
+ }) => Promise<ZenCtlResponseV2<Array<{
8
+ folderName: string;
9
+ endpointName: string;
10
+ }>>>;
11
+ export default _default;
12
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAA;;aASzD,MAAM;oBACC,MAAM;cACZ,MAAM;eACL,kBAAkB;MAC3B,QACF,iBACE,MAAM;IACJ,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CACH,CACF;AAjBD,wBAqFC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ // Copyright (c) 2020,2021,2022, StepZen, Inc.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const graphql_client_1 = require("../shared/graphql-client");
5
+ exports.default = async ({ account, deploymentType, adminKey, sdkConfig, }) => {
6
+ const { data, errors } = await (0, graphql_client_1.fetchZenCtlGraphQLQuery)({
7
+ account,
8
+ adminKey,
9
+ deploymentType,
10
+ query: /* GraphQL */ `
11
+ query ($account: String!, $deploymentType: String!, $adminKey: String!) {
12
+ endpoints: endpointsForAccount(
13
+ account: $account
14
+ deploymentType: $deploymentType
15
+ adminkey: $adminKey
16
+ ) {
17
+ endpointName: endpoint_name
18
+ folderName: folder_name
19
+ }
20
+ }
21
+ `,
22
+ variables: {
23
+ account,
24
+ deploymentType,
25
+ adminKey,
26
+ },
27
+ sdkConfig,
28
+ });
29
+ if (errors) {
30
+ // strip graphql-specific error details, leave only the message
31
+ const message = errors
32
+ .map(({ message }) => {
33
+ if (message.startsWith('ERROR: invalid input value for enum zenctl.deployment_type')) {
34
+ return (`Invalid deployment type: ${deploymentType}.` +
35
+ ` Please check the 'deploymentType' parameter.`);
36
+ }
37
+ return message;
38
+ })
39
+ .join('\n');
40
+ return {
41
+ data: undefined,
42
+ error: {
43
+ message,
44
+ },
45
+ };
46
+ }
47
+ // The case with data.endpoints === [] is ambiguous.
48
+ // It may mean "invalid credentials" and it may mean "no endpoints".
49
+ // At this point it makes more sense to assume "no endpoints" since
50
+ // the "invalid credentials" error would be detected earlier, when
51
+ // creating an SDK client instance.
52
+ // See https://github.com/steprz/zen/issues/6361
53
+ return {
54
+ data: data.endpoints,
55
+ error: undefined,
56
+ };
57
+ };
58
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands-v2/list.ts"],"names":[],"mappings":";AAAA,8CAA8C;;AAG9C,6DAAgE;AAEhE,kBAAe,KAAK,EAAE,EACpB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,SAAS,GAMV,EAOC,EAAE;IACF,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,wCAAuB,EAKjD;QACD,OAAO;QACP,QAAQ;QACR,cAAc;QACd,KAAK,EAAE,aAAa,CAAC;;;;;;;;;;;KAWpB;QACD,SAAS,EAAE;YACT,OAAO;YACP,cAAc;YACd,QAAQ;SACT;QACD,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,MAAM,EAAE;QACV,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YACjB,IACE,OAAO,CAAC,UAAU,CAChB,4DAA4D,CAC7D,EACD;gBACA,OAAO,CACL,4BAA4B,cAAc,GAAG;oBAC7C,+CAA+C,CAChD,CAAA;aACF;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,OAAO;aACR;SACF,CAAA;KACF;IAED,oDAAoD;IACpD,oEAAoE;IACpE,mEAAmE;IACnE,kEAAkE;IAClE,mCAAmC;IACnC,gDAAgD;IAEhD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,SAAS;QACpB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAA"}
package/lib/init-v2.d.ts CHANGED
@@ -17,6 +17,12 @@ export declare const initV2: (sdkConfig: SDKConfigurationV2) => {
17
17
  config?: string | undefined;
18
18
  public?: boolean | undefined;
19
19
  }) => Promise<import("./shared/types").ZenCtlResponseV2<import("./shared/types").StepZenEndpointV2>>;
20
+ list: {
21
+ endpoints: () => Promise<import("./shared/types").ZenCtlResponseV2<{
22
+ folderName: string;
23
+ endpointName: string;
24
+ }[]>>;
25
+ };
20
26
  }>;
21
27
  };
22
28
  declare type PromisedType<T> = T extends Promise<infer U> ? U : T;
@@ -1 +1 @@
1
- {"version":3,"file":"init-v2.d.ts","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,MAAM,cAAe,kBAAkB;sBAGrC,MAAM,YACL,MAAM,kBACA,MAAM;mBAgBlB;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,GAC3D;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;;;;;;;;;;CAK7D,CAAA;AAGD,aAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzD,oBAAY,KAAK,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAC7C,oBAAY,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"init-v2.d.ts","sourceRoot":"","sources":["../src/init-v2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,MAAM,cAAe,kBAAkB;sBAGrC,MAAM,YACL,MAAM,kBACA,MAAM;mBAgBlB;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,GAC3D;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC;;;;;;;;;;;;;;;;CAK7D,CAAA;AAGD,aAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzD,oBAAY,KAAK,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAC7C,oBAAY,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
@@ -5,6 +5,6 @@ declare type ZipPayload = FormData;
5
5
  export declare const generateYamlPayload: (file: string | undefined) => Promise<YamlPayload>;
6
6
  export declare const generateZipPayload: (directory: string | undefined, data: object | undefined, filters: RegExp[]) => Promise<ZipPayload>;
7
7
  export declare const generateSchemaFilesPayload: (workspaceFolderPath: string) => SchemaFiles;
8
- export declare const generateConfigurationPayload: (configFilePath?: string) => Configuration | undefined;
8
+ export declare const generateConfigurationPayload: (configFilePath?: string) => Promise<Configuration | null>;
9
9
  export {};
10
10
  //# sourceMappingURL=payloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payloads.d.ts","sourceRoot":"","sources":["../../src/shared/payloads.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AAMrC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AAElD,aAAK,WAAW,GAAG,QAAQ,CAAA;AAC3B,aAAK,UAAU,GAAG,QAAQ,CAAA;AAI1B,eAAO,MAAM,mBAAmB,SACxB,MAAM,GAAG,SAAS,KACvB,QAAQ,WAAW,CAgBrB,CAAA;AAKD,eAAO,MAAM,kBAAkB,cAClB,MAAM,GAAG,SAAS,QACvB,MAAM,GAAG,SAAS,WACf,MAAM,EAAE,KAChB,QAAQ,UAAU,CA4DpB,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAChB,MAAM,KAC1B,WA0BF,CAAA;AAED,eAAO,MAAM,4BAA4B,oBACtB,MAAM,KACtB,aAAa,GAAG,SA6BlB,CAAA"}
1
+ {"version":3,"file":"payloads.d.ts","sourceRoot":"","sources":["../../src/shared/payloads.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AAQrC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAA;AAElD,aAAK,WAAW,GAAG,QAAQ,CAAA;AAC3B,aAAK,UAAU,GAAG,QAAQ,CAAA;AAI1B,eAAO,MAAM,mBAAmB,SACxB,MAAM,GAAG,SAAS,KACvB,QAAQ,WAAW,CAgBrB,CAAA;AAKD,eAAO,MAAM,kBAAkB,cAClB,MAAM,GAAG,SAAS,QACvB,MAAM,GAAG,SAAS,WACf,MAAM,EAAE,KAChB,QAAQ,UAAU,CA4DpB,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAChB,MAAM,KAC1B,WA0BF,CAAA;AAED,eAAO,MAAM,4BAA4B,oBACtB,MAAM,KACtB,QAAQ,aAAa,GAAG,IAAI,CAU9B,CAAA"}
@@ -11,6 +11,8 @@ const glob = require("glob");
11
11
  const os = require("os");
12
12
  const path = require("path");
13
13
  const yaml = require("yaml");
14
+ const transpiling_1 = require("./transpiling");
15
+ const validation_1 = require("./validation");
14
16
  // This function takes a (yaml) file path
15
17
  // and creates a FormData payload, containing the yaml content as 'yaml'
16
18
  const generateYamlPayload = async (file) => {
@@ -21,7 +23,7 @@ const generateYamlPayload = async (file) => {
21
23
  reject(new Error(`File does not exist: ${file}`));
22
24
  }
23
25
  const content = fs.readFileSync(file, 'utf8');
24
- debug('stepzen:generate-yaml-payload')(content);
26
+ debug('stepzen:sdk:payload')(`adding YAML payload\n${content}`);
25
27
  payload.append('yaml', fs.readFileSync(file));
26
28
  resolve(payload);
27
29
  }
@@ -107,26 +109,15 @@ const generateSchemaFilesPayload = (workspaceFolderPath) => {
107
109
  };
108
110
  };
109
111
  exports.generateSchemaFilesPayload = generateSchemaFilesPayload;
110
- const generateConfigurationPayload = (configFilePath) => {
112
+ const generateConfigurationPayload = async (configFilePath) => {
111
113
  if (!configFilePath) {
112
- return;
114
+ return null;
113
115
  }
114
- if (!fs.existsSync(configFilePath)) {
115
- throw new Error(`Failed to read file ${configFilePath}. Does it exist?`);
116
- }
117
- const content = fs.readFileSync(configFilePath, 'utf8').trim();
118
- if (!content) {
119
- return;
120
- }
121
- let config;
122
- try {
123
- config = yaml.parse(content, { schema: 'failsafe' });
124
- }
125
- catch (error) {
126
- throw new Error(`Failed to parse file as YAML (${configFilePath}). ${error}`);
127
- }
128
- // strip away any non-recognized properties
129
- return Object.fromEntries(Object.entries(config).filter(([key, _value]) => ['configurationset', 'ruleset', 'access', 'deployment'].includes(key)));
116
+ await (0, validation_1.validateConfigurationset)(configFilePath);
117
+ const transpiled = await (0, transpiling_1.transpileConfigurationset)(configFilePath);
118
+ debug('stepzen:sdk')(`effective config written to ${transpiled}`);
119
+ const content = fs.readFileSync(transpiled, 'utf-8');
120
+ return yaml.parse(content, { schema: 'failsafe' }) || null;
130
121
  };
131
122
  exports.generateConfigurationPayload = generateConfigurationPayload;
132
123
  //# sourceMappingURL=payloads.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payloads.js","sourceRoot":"","sources":["../../src/shared/payloads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payloads.js","sourceRoot":"","sources":["../../src/shared/payloads.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,15 @@
1
- export declare const transpileConfigurationset: (file: string | undefined) => Promise<string | undefined>;
1
+ /**
2
+ * @returns `undefined` when called without arguments
3
+ */
4
+ export declare function transpileConfigurationset(): Promise<undefined>;
5
+ /**
6
+ * Strip off any unsupported properties and substitute any STEPZEN_*
7
+ * placeholders with matching environment variables (load a `.env` file
8
+ * if present next to the `config.yaml` file).
9
+ *
10
+ * @param file path to a `config.yaml` file
11
+ * @returns path to a temp copy of `config.yaml` file with all clean-up
12
+ * and substitutions made
13
+ */
14
+ export declare function transpileConfigurationset(file: string): Promise<string>;
2
15
  //# sourceMappingURL=transpiling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transpiling.d.ts","sourceRoot":"","sources":["../../src/shared/transpiling.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,yBAAyB,SAC9B,MAAM,GAAG,SAAS,KACvB,QAAQ,MAAM,GAAG,SAAS,CAwB5B,CAAA"}
1
+ {"version":3,"file":"transpiling.d.ts","sourceRoot":"","sources":["../../src/shared/transpiling.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;AAErE;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA"}
@@ -3,28 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.transpileConfigurationset = void 0;
5
5
  const dotenv = require("dotenv");
6
+ const debug = require("debug");
6
7
  const fs = require("fs-extra");
7
8
  const os = require("os");
8
9
  const path = require("path");
9
10
  const transpiler_1 = require("@stepzen/transpiler");
10
- const transpileConfigurationset = async (file) => {
11
+ async function transpileConfigurationset(file) {
11
12
  if (!file) {
12
13
  return;
13
14
  }
14
15
  const source = file.substring(0, file.lastIndexOf('/'));
16
+ debug('stepzen:dotenv')(`loading .env from ${path.resolve(source)}` +
17
+ `, at sdk/src/shared/transpiling.ts`);
15
18
  dotenv.config({ path: path.resolve(source, '.env') });
16
19
  const tmp = path.join(os.tmpdir(), `stepzen-transpiler-${Date.now()}`);
17
20
  const configPath = path.join(tmp, 'config.yaml');
18
21
  fs.ensureDirSync(tmp);
19
22
  fs.copyFileSync(file, configPath);
20
23
  const result = await (0, transpiler_1.transpile)(tmp);
21
- if (result.transpiled) {
22
- fs.emptyDirSync(tmp);
23
- fs.writeFileSync(configPath, result.config);
24
- return configPath;
25
- }
26
- fs.removeSync(tmp);
27
- return;
28
- };
24
+ fs.emptyDirSync(tmp);
25
+ fs.writeFileSync(configPath, result.config || '');
26
+ return configPath;
27
+ }
29
28
  exports.transpileConfigurationset = transpileConfigurationset;
30
29
  //# sourceMappingURL=transpiling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transpiling.js","sourceRoot":"","sources":["../../src/shared/transpiling.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,iCAAgC;AAChC,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAC5B,oDAA6C;AAEtC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,IAAwB,EACK,EAAE;IAC/B,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC,CAAA;IAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAEhD,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAS,EAAC,GAAG,CAAC,CAAA;IAEnC,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACpB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,OAAO,UAAU,CAAA;KAClB;IAED,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAClB,OAAM;AACR,CAAC,CAAA;AA1BY,QAAA,yBAAyB,6BA0BrC"}
1
+ {"version":3,"file":"transpiling.js","sourceRoot":"","sources":["../../src/shared/transpiling.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,iCAAgC;AAChC,+BAA8B;AAC9B,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAC5B,oDAA6C;AAkBtC,KAAK,UAAU,yBAAyB,CAAC,IAAa;IAC3D,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,gBAAgB,CAAC,CACrB,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzC,oCAAoC,CACvC,CAAA;IACD,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC,CAAA;IAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAEhD,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAS,EAAC,GAAG,CAAC,CAAA;IAEnC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACpB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACjD,OAAO,UAAU,CAAA;AACnB,CAAC;AAvBD,8DAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,GAAG,SAAS,kBAiBtE,CAAA;AAGD,eAAO,MAAM,cAAc,cAAqB,MAAM,GAAG,SAAS,kBAcjE,CAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,GAAG,SAAS,kBA0BtE,CAAA;AAGD,eAAO,MAAM,cAAc,cAAqB,MAAM,GAAG,SAAS,kBAcjE,CAAA"}
@@ -2,15 +2,19 @@
2
2
  // Copyright (c) 2020,2021,2022, StepZen, Inc.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.validateSchema = exports.validateConfigurationset = void 0;
5
+ const debug = require("debug");
5
6
  const fs = require("fs");
6
7
  const glob = require("glob");
7
8
  const yaml = require("yaml");
8
9
  // Validate the Configurationset file
9
10
  const validateConfigurationset = async (file) => {
10
11
  if (!file) {
12
+ debug('stepzen:sdk')(`validateConfigurationset() expected 'file' to be a` +
13
+ ` non-empty string but got ${file}`);
11
14
  throw new Error('You must provide a file path');
12
15
  }
13
16
  if (!fs.existsSync(file)) {
17
+ debug('stepzen:sdk')(`validateConfigurationset() expected ${file} to exist`);
14
18
  throw new Error('The file does not exist');
15
19
  }
16
20
  const content = fs.readFileSync(file, 'utf8');
@@ -18,7 +22,9 @@ const validateConfigurationset = async (file) => {
18
22
  try {
19
23
  yaml.parse(content);
20
24
  }
21
- catch {
25
+ catch (error) {
26
+ debug('stepzen:sdk')(`validateConfigurationset() expected ${file} to parse as YAML,` +
27
+ ` but got an error ${error}`);
22
28
  throw new Error('The file is not valid YAML');
23
29
  }
24
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,yBAAwB;AACxB,6BAA4B;AAC5B,6BAA4B;AAE5B,qCAAqC;AAC9B,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE7C,gCAAgC;IAChC,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;KACpB;IAAC,MAAM;QACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAC9C;AACH,CAAC,CAAA;AAjBY,QAAA,wBAAwB,4BAiBpC;AAED,gCAAgC;AACzB,MAAM,cAAc,GAAG,KAAK,EAAE,SAA6B,EAAE,EAAE;IACpE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAC,GAAG,EAAE,SAAS,EAAC,CAAC,CAAA;IACnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;AACH,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAC5B,6BAA4B;AAE5B,qCAAqC;AAC9B,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzE,IAAI,CAAC,IAAI,EAAE;QACT,KAAK,CAAC,aAAa,CAAC,CAClB,oDAAoD;YAClD,6BAA6B,IAAI,EAAE,CACtC,CAAA;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,KAAK,CAAC,aAAa,CAAC,CAAC,uCAAuC,IAAI,WAAW,CAAC,CAAA;QAC5E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE7C,gCAAgC;IAChC,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,KAAK,CAAC,aAAa,CAAC,CAClB,uCAAuC,IAAI,oBAAoB;YAC7D,qBAAqB,KAAK,EAAE,CAC/B,CAAA;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAC9C;AACH,CAAC,CAAA;AA1BY,QAAA,wBAAwB,4BA0BpC;AAED,gCAAgC;AACzB,MAAM,cAAc,GAAG,KAAK,EAAE,SAA6B,EAAE,EAAE;IACpE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAC,GAAG,EAAE,SAAS,EAAC,CAAC,CAAA;IACnE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;AACH,CAAC,CAAA;AAdY,QAAA,cAAc,kBAc1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stepzen/sdk",
3
- "version": "0.21.0-beta.1",
3
+ "version": "0.21.0-beta.2",
4
4
  "license": "MIT",
5
5
  "author": "Darren Waddell <darren@stepzen.com>",
6
6
  "homepage": "https://stepzen.com",
@@ -22,7 +22,7 @@
22
22
  "posttest": "prettier . --check"
23
23
  },
24
24
  "dependencies": {
25
- "@stepzen/transpiler": "^0.21.0-beta.1",
25
+ "@stepzen/transpiler": "^0.21.0-beta.2",
26
26
  "archiver": "^5.3.0",
27
27
  "debug": "^4.3.4",
28
28
  "dotenv": "^16.0.1",
@@ -49,5 +49,5 @@
49
49
  "prettier": "^2.5.1",
50
50
  "ts-node": "^10.8.2"
51
51
  },
52
- "gitHead": "6dddebabddbbd69adb07b5e7c816125ae5dc3430"
52
+ "gitHead": "58b85cc37fa990639bf7170d4224cf51cc1f7ad1"
53
53
  }
package/src/client-v2.ts CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import accountCmd from './commands-v2/account'
4
4
  import deployCmd from './commands-v2/deploy'
5
+ import listEndpointsCmd from './commands-v2/list'
5
6
  import getPublicAccount from './commands-v2/getPublicAccount'
6
7
  import {
7
8
  generateConfigurationPayload,
@@ -74,7 +75,7 @@ export const createSdkClient = async (
74
75
  * @param public - whether or not to allow public access to the endpoint (`false` by default)
75
76
  * @returns details of the created / updated endpoint
76
77
  */
77
- deploy: ({
78
+ deploy: async ({
78
79
  folder,
79
80
  name,
80
81
  directory,
@@ -96,9 +97,24 @@ export const createSdkClient = async (
96
97
  folderName: folder,
97
98
  public: _public,
98
99
  schemaFiles: generateSchemaFilesPayload(directory),
99
- configuration: generateConfigurationPayload(config),
100
+ configuration: await generateConfigurationPayload(config),
100
101
  sdkConfig,
101
102
  })
102
103
  },
104
+ list: {
105
+ /**
106
+ * List deployed endpoints.
107
+ *
108
+ * @returns list of deployed endpoints
109
+ */
110
+ endpoints: () => {
111
+ return listEndpointsCmd({
112
+ account: credentials.account,
113
+ adminKey: credentials.adminKey,
114
+ deploymentType: credentials.deploymentType,
115
+ sdkConfig,
116
+ })
117
+ },
118
+ },
103
119
  }
104
120
  }
@@ -26,13 +26,9 @@ export default async (
26
26
  switch (details.type) {
27
27
  case 'configurationset':
28
28
  await validateConfigurationset(details.file)
29
- const transpiled = await transpileConfigurationset(details.file)
30
- debug('stepzen:transpiler')(transpiled)
31
- if (transpiled) {
32
- payload = await generateYamlPayload(transpiled)
33
- } else {
34
- payload = await generateYamlPayload(details.file)
35
- }
29
+ const transpiled = await transpileConfigurationset(details.file!)
30
+ debug('stepzen:sdk')(`effective config written to ${transpiled}`)
31
+ payload = await generateYamlPayload(transpiled)
36
32
  break
37
33
 
38
34
  case 'schema':
@@ -44,7 +44,7 @@ export default async ({
44
44
  account: account_name
45
45
  ownerEmail: account_owner_email
46
46
  adminKey: key_value_admin
47
- apiKeysAsJsonArray: key_value_service
47
+ apiKeysAsJsonArray: key_value_api
48
48
  }
49
49
  }`,
50
50
  variables: {
@@ -28,7 +28,7 @@ export default async ({
28
28
  public: boolean
29
29
  endpointType: string
30
30
  schemaFiles: Readonly<SchemaFiles>
31
- configuration?: Readonly<Configuration>
31
+ configuration: Readonly<Configuration> | null
32
32
  adminKey: string
33
33
  sdkConfig: SDKConfigurationV2
34
34
  }): Promise<ZenCtlResponseV2<StepZenEndpointV2>> => {
@@ -85,7 +85,7 @@ export default async ({
85
85
  public: _public,
86
86
  endpointType,
87
87
  schemaFiles,
88
- configuration: configuration ? configuration : null,
88
+ configuration,
89
89
  adminKey,
90
90
  },
91
91
  sdkConfig,
@@ -0,0 +1,91 @@
1
+ // Copyright (c) 2020,2021,2022, StepZen, Inc.
2
+
3
+ import {SDKConfigurationV2, ZenCtlResponseV2} from '../shared/types'
4
+ import {fetchZenCtlGraphQLQuery} from '../shared/graphql-client'
5
+
6
+ export default async ({
7
+ account,
8
+ deploymentType,
9
+ adminKey,
10
+ sdkConfig,
11
+ }: {
12
+ account: string
13
+ deploymentType: string
14
+ adminKey: string
15
+ sdkConfig: SDKConfigurationV2
16
+ }): Promise<
17
+ ZenCtlResponseV2<
18
+ Array<{
19
+ folderName: string
20
+ endpointName: string
21
+ }>
22
+ >
23
+ > => {
24
+ const {data, errors} = await fetchZenCtlGraphQLQuery<{
25
+ endpoints: Array<{
26
+ folderName: string
27
+ endpointName: string
28
+ }>
29
+ }>({
30
+ account,
31
+ adminKey,
32
+ deploymentType,
33
+ query: /* GraphQL */ `
34
+ query ($account: String!, $deploymentType: String!, $adminKey: String!) {
35
+ endpoints: endpointsForAccount(
36
+ account: $account
37
+ deploymentType: $deploymentType
38
+ adminkey: $adminKey
39
+ ) {
40
+ endpointName: endpoint_name
41
+ folderName: folder_name
42
+ }
43
+ }
44
+ `,
45
+ variables: {
46
+ account,
47
+ deploymentType,
48
+ adminKey,
49
+ },
50
+ sdkConfig,
51
+ })
52
+
53
+ if (errors) {
54
+ // strip graphql-specific error details, leave only the message
55
+ const message = errors
56
+ .map(({message}) => {
57
+ if (
58
+ message.startsWith(
59
+ 'ERROR: invalid input value for enum zenctl.deployment_type',
60
+ )
61
+ ) {
62
+ return (
63
+ `Invalid deployment type: ${deploymentType}.` +
64
+ ` Please check the 'deploymentType' parameter.`
65
+ )
66
+ }
67
+
68
+ return message
69
+ })
70
+ .join('\n')
71
+
72
+ return {
73
+ data: undefined,
74
+ error: {
75
+ message,
76
+ },
77
+ }
78
+ }
79
+
80
+ // The case with data.endpoints === [] is ambiguous.
81
+ // It may mean "invalid credentials" and it may mean "no endpoints".
82
+ // At this point it makes more sense to assume "no endpoints" since
83
+ // the "invalid credentials" error would be detected earlier, when
84
+ // creating an SDK client instance.
85
+ // See https://github.com/steprz/zen/issues/6361
86
+
87
+ return {
88
+ data: data.endpoints,
89
+ error: undefined,
90
+ }
91
+ }
@@ -10,6 +10,8 @@ import * as glob from 'glob'
10
10
  import * as os from 'os'
11
11
  import * as path from 'path'
12
12
  import * as yaml from 'yaml'
13
+ import {transpileConfigurationset} from './transpiling'
14
+ import {validateConfigurationset} from './validation'
13
15
  import {Configuration, SchemaFiles} from './types'
14
16
 
15
17
  type YamlPayload = FormData
@@ -28,7 +30,7 @@ export const generateYamlPayload = async (
28
30
  reject(new Error(`File does not exist: ${file}`))
29
31
  }
30
32
  const content = fs.readFileSync(file, 'utf8')
31
- debug('stepzen:generate-yaml-payload')(content)
33
+ debug('stepzen:sdk:payload')(`adding YAML payload\n${content}`)
32
34
  payload.append('yaml', fs.readFileSync(file))
33
35
  resolve(payload)
34
36
  } else {
@@ -136,35 +138,16 @@ export const generateSchemaFilesPayload = (
136
138
  }
137
139
  }
138
140
 
139
- export const generateConfigurationPayload = (
141
+ export const generateConfigurationPayload = async (
140
142
  configFilePath?: string,
141
- ): Configuration | undefined => {
143
+ ): Promise<Configuration | null> => {
142
144
  if (!configFilePath) {
143
- return
145
+ return null
144
146
  }
145
147
 
146
- if (!fs.existsSync(configFilePath)) {
147
- throw new Error(`Failed to read file ${configFilePath}. Does it exist?`)
148
- }
149
-
150
- const content = fs.readFileSync(configFilePath, 'utf8').trim()
151
- if (!content) {
152
- return
153
- }
154
-
155
- let config
156
- try {
157
- config = yaml.parse(content, {schema: 'failsafe'})
158
- } catch (error) {
159
- throw new Error(
160
- `Failed to parse file as YAML (${configFilePath}). ${error}`,
161
- )
162
- }
163
-
164
- // strip away any non-recognized properties
165
- return Object.fromEntries(
166
- Object.entries(config).filter(([key, _value]) =>
167
- ['configurationset', 'ruleset', 'access', 'deployment'].includes(key),
168
- ),
169
- )
148
+ await validateConfigurationset(configFilePath)
149
+ const transpiled = await transpileConfigurationset(configFilePath)
150
+ debug('stepzen:sdk')(`effective config written to ${transpiled}`)
151
+ const content = fs.readFileSync(transpiled, 'utf-8')
152
+ return yaml.parse(content, {schema: 'failsafe'}) || null
170
153
  }
@@ -1,19 +1,38 @@
1
1
  // Copyright (c) 2020,2021,2022, StepZen, Inc.
2
2
 
3
3
  import * as dotenv from 'dotenv'
4
+ import * as debug from 'debug'
4
5
  import * as fs from 'fs-extra'
5
6
  import * as os from 'os'
6
7
  import * as path from 'path'
7
8
  import {transpile} from '@stepzen/transpiler'
8
9
 
9
- export const transpileConfigurationset = async (
10
- file: string | undefined,
11
- ): Promise<string | undefined> => {
10
+ /**
11
+ * @returns `undefined` when called without arguments
12
+ */
13
+ export async function transpileConfigurationset(): Promise<undefined>
14
+
15
+ /**
16
+ * Strip off any unsupported properties and substitute any STEPZEN_*
17
+ * placeholders with matching environment variables (load a `.env` file
18
+ * if present next to the `config.yaml` file).
19
+ *
20
+ * @param file path to a `config.yaml` file
21
+ * @returns path to a temp copy of `config.yaml` file with all clean-up
22
+ * and substitutions made
23
+ */
24
+ export async function transpileConfigurationset(file: string): Promise<string>
25
+
26
+ export async function transpileConfigurationset(file?: string) {
12
27
  if (!file) {
13
28
  return
14
29
  }
15
30
 
16
31
  const source = file.substring(0, file.lastIndexOf('/'))
32
+ debug('stepzen:dotenv')(
33
+ `loading .env from ${path.resolve(source)}` +
34
+ `, at sdk/src/shared/transpiling.ts`,
35
+ )
17
36
  dotenv.config({path: path.resolve(source, '.env')})
18
37
 
19
38
  const tmp = path.join(os.tmpdir(), `stepzen-transpiler-${Date.now()}`)
@@ -24,12 +43,7 @@ export const transpileConfigurationset = async (
24
43
 
25
44
  const result = await transpile(tmp)
26
45
 
27
- if (result.transpiled) {
28
- fs.emptyDirSync(tmp)
29
- fs.writeFileSync(configPath, result.config)
30
- return configPath
31
- }
32
-
33
- fs.removeSync(tmp)
34
- return
46
+ fs.emptyDirSync(tmp)
47
+ fs.writeFileSync(configPath, result.config || '')
48
+ return configPath
35
49
  }
@@ -1,5 +1,6 @@
1
1
  // Copyright (c) 2020,2021,2022, StepZen, Inc.
2
2
 
3
+ import * as debug from 'debug'
3
4
  import * as fs from 'fs'
4
5
  import * as glob from 'glob'
5
6
  import * as yaml from 'yaml'
@@ -7,10 +8,15 @@ import * as yaml from 'yaml'
7
8
  // Validate the Configurationset file
8
9
  export const validateConfigurationset = async (file: string | undefined) => {
9
10
  if (!file) {
11
+ debug('stepzen:sdk')(
12
+ `validateConfigurationset() expected 'file' to be a` +
13
+ ` non-empty string but got ${file}`,
14
+ )
10
15
  throw new Error('You must provide a file path')
11
16
  }
12
17
 
13
18
  if (!fs.existsSync(file)) {
19
+ debug('stepzen:sdk')(`validateConfigurationset() expected ${file} to exist`)
14
20
  throw new Error('The file does not exist')
15
21
  }
16
22
 
@@ -19,7 +25,11 @@ export const validateConfigurationset = async (file: string | undefined) => {
19
25
  // Ensure the file is valid YAML
20
26
  try {
21
27
  yaml.parse(content)
22
- } catch {
28
+ } catch (error) {
29
+ debug('stepzen:sdk')(
30
+ `validateConfigurationset() expected ${file} to parse as YAML,` +
31
+ ` but got an error ${error}`,
32
+ )
23
33
  throw new Error('The file is not valid YAML')
24
34
  }
25
35
  }