@zuplo/cli 6.52.14 → 6.52.16

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 (81) hide show
  1. package/dist/__tests__/integration/jest-mocks-setup.js +8 -0
  2. package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
  3. package/dist/__tests__/integration/link.integration.test.js +8 -5
  4. package/dist/__tests__/integration/link.integration.test.js.map +1 -1
  5. package/dist/cmds/delete.d.ts.map +1 -1
  6. package/dist/cmds/delete.js +14 -6
  7. package/dist/cmds/delete.js.map +1 -1
  8. package/dist/cmds/deploy.d.ts.map +1 -1
  9. package/dist/cmds/deploy.js +21 -6
  10. package/dist/cmds/deploy.js.map +1 -1
  11. package/dist/cmds/link.d.ts.map +1 -1
  12. package/dist/cmds/link.js +21 -6
  13. package/dist/cmds/link.js.map +1 -1
  14. package/dist/cmds/list.d.ts.map +1 -1
  15. package/dist/cmds/list.js +14 -6
  16. package/dist/cmds/list.js.map +1 -1
  17. package/dist/cmds/tunnel/create.d.ts.map +1 -1
  18. package/dist/cmds/tunnel/create.js +2 -2
  19. package/dist/cmds/tunnel/create.js.map +1 -1
  20. package/dist/cmds/tunnel/delete.d.ts.map +1 -1
  21. package/dist/cmds/tunnel/delete.js +2 -2
  22. package/dist/cmds/tunnel/delete.js.map +1 -1
  23. package/dist/cmds/tunnel/describe.d.ts.map +1 -1
  24. package/dist/cmds/tunnel/describe.js +2 -2
  25. package/dist/cmds/tunnel/describe.js.map +1 -1
  26. package/dist/cmds/tunnel/list.d.ts.map +1 -1
  27. package/dist/cmds/tunnel/list.js +2 -3
  28. package/dist/cmds/tunnel/list.js.map +1 -1
  29. package/dist/cmds/tunnel/rotate-token.d.ts.map +1 -1
  30. package/dist/cmds/tunnel/rotate-token.js +2 -2
  31. package/dist/cmds/tunnel/rotate-token.js.map +1 -1
  32. package/dist/cmds/tunnel/services/describe.d.ts.map +1 -1
  33. package/dist/cmds/tunnel/services/describe.js +2 -2
  34. package/dist/cmds/tunnel/services/describe.js.map +1 -1
  35. package/dist/cmds/tunnel/services/update.d.ts.map +1 -1
  36. package/dist/cmds/tunnel/services/update.js +2 -2
  37. package/dist/cmds/tunnel/services/update.js.map +1 -1
  38. package/dist/cmds/variable/create.d.ts.map +1 -1
  39. package/dist/cmds/variable/create.js +14 -6
  40. package/dist/cmds/variable/create.js.map +1 -1
  41. package/dist/cmds/variable/update.d.ts.map +1 -1
  42. package/dist/cmds/variable/update.js +14 -6
  43. package/dist/cmds/variable/update.js.map +1 -1
  44. package/dist/common/middleware/get-account-param.d.ts +4 -0
  45. package/dist/common/middleware/get-account-param.d.ts.map +1 -0
  46. package/dist/common/middleware/get-account-param.js +53 -0
  47. package/dist/common/middleware/get-account-param.js.map +1 -0
  48. package/dist/common/middleware/get-environment-param.d.ts +4 -0
  49. package/dist/common/middleware/get-environment-param.d.ts.map +1 -0
  50. package/dist/common/middleware/get-environment-param.js +141 -0
  51. package/dist/common/middleware/get-environment-param.js.map +1 -0
  52. package/dist/common/middleware/get-project-param.d.ts +4 -0
  53. package/dist/common/middleware/get-project-param.d.ts.map +1 -0
  54. package/dist/common/middleware/get-project-param.js +59 -0
  55. package/dist/common/middleware/get-project-param.js.map +1 -0
  56. package/dist/common/middleware/user-configuration.d.ts.map +1 -1
  57. package/dist/common/middleware/user-configuration.js +2 -1
  58. package/dist/common/middleware/user-configuration.js.map +1 -1
  59. package/dist/common/utils/pretty-print-environment-prompt.d.ts +6 -0
  60. package/dist/common/utils/pretty-print-environment-prompt.d.ts.map +1 -0
  61. package/dist/common/utils/pretty-print-environment-prompt.js +23 -0
  62. package/dist/common/utils/pretty-print-environment-prompt.js.map +1 -0
  63. package/dist/common/validators/file-system-validator.d.ts.map +1 -1
  64. package/dist/common/validators/file-system-validator.js +2 -3
  65. package/dist/common/validators/file-system-validator.js.map +1 -1
  66. package/dist/common/validators/project-name-validator.d.ts.map +1 -1
  67. package/dist/common/validators/project-name-validator.js +2 -1
  68. package/dist/common/validators/project-name-validator.js.map +1 -1
  69. package/dist/link/handler.d.ts.map +1 -1
  70. package/dist/link/handler.js +6 -138
  71. package/dist/link/handler.js.map +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +4 -4
  74. package/dist/common/builders/authenticated-command-builder.d.ts +0 -25
  75. package/dist/common/builders/authenticated-command-builder.d.ts.map +0 -1
  76. package/dist/common/builders/authenticated-command-builder.js +0 -87
  77. package/dist/common/builders/authenticated-command-builder.js.map +0 -1
  78. package/dist/common/builders/authenticated-command-builder.spec.d.ts +0 -2
  79. package/dist/common/builders/authenticated-command-builder.spec.d.ts.map +0 -1
  80. package/dist/common/builders/authenticated-command-builder.spec.js +0 -268
  81. package/dist/common/builders/authenticated-command-builder.spec.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../common/middleware/authentication.js";
3
- import { configure } from "../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../common/output.js";
6
5
  import { deleteTunnel } from "../../tunnel/delete/handler.js";
@@ -14,7 +13,8 @@ export default {
14
13
  describe: "The API Key from Zuplo",
15
14
  envVar: "API_KEY",
16
15
  })
17
- .middleware([setBlocking, authenticate, configure, identify]);
16
+ .demandOption("api-key", "You must provide an API key with --api-key")
17
+ .middleware([setBlocking, authenticate, identify]);
18
18
  },
19
19
  handler: async (argv) => {
20
20
  await captureEvent({ argv, event: "zuplo tunnel delete" });
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEzE,eAAe;IACb,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC3D,MAAM,YAAY,CAAC,IAAiB,CAAC,CAAC;IACxC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, deleteTunnel } from \"../../tunnel/delete/handler.js\";\n\nexport default {\n desc: \"Deletes a tunnel in your account\",\n command: \"delete\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel delete\" });\n await deleteTunnel(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEzE,eAAe;IACb,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC3D,MAAM,YAAY,CAAC,IAAiB,CAAC,CAAC;IACxC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, deleteTunnel } from \"../../tunnel/delete/handler.js\";\n\nexport default {\n desc: \"Deletes a tunnel in your account\",\n command: \"delete\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel delete\" });\n await deleteTunnel(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAWV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAcf,OAAO;;AAjB/B,wBAqBE"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAUV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAef,OAAO;;AAlB/B,wBAsBE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../common/middleware/authentication.js";
3
- import { configure } from "../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../common/output.js";
6
5
  import { describe } from "../../tunnel/describe/handler.js";
@@ -19,7 +18,8 @@ export default {
19
18
  envVar: "API_KEY",
20
19
  })
21
20
  .demandOption(["tunnel-id"])
22
- .middleware([setBlocking, authenticate, configure, identify]);
21
+ .demandOption("api-key", "You must provide an API key with --api-key")
22
+ .middleware([setBlocking, authenticate, identify]);
23
23
  },
24
24
  handler: async (argv) => {
25
25
  await captureEvent({ argv, event: "zuplo tunnel describe" });
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAe;IACb,IAAI,EAAE,oCAAoC;IAC1C,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, describe } from \"../../tunnel/describe/handler.js\";\n\nexport default {\n desc: \"Describes a tunnel in your account\",\n command: \"describe\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel to describe\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel describe\" });\n await describe(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAe;IACb,IAAI,EAAE,oCAAoC;IAC1C,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, describe } from \"../../tunnel/describe/handler.js\";\n\nexport default {\n desc: \"Describes a tunnel in your account\",\n command: \"describe\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel to describe\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel describe\" });\n await describe(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAWV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAUf,OAAO;;AAb/B,wBAiBE"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAUV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAUf,OAAO;;AAb/B,wBAiBE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../common/middleware/authentication.js";
3
- import { configure } from "../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../common/output.js";
6
5
  import { list } from "../../tunnel/list/handler.js";
@@ -14,8 +13,8 @@ export default {
14
13
  describe: "The API Key from Zuplo",
15
14
  envVar: "API_KEY",
16
15
  })
17
- .demandOption(["api-key"])
18
- .middleware([setBlocking, authenticate, configure, identify]);
16
+ .demandOption("api-key", "You must provide an API key with --api-key")
17
+ .middleware([setBlocking, authenticate, identify]);
19
18
  },
20
19
  handler: async (argv) => {
21
20
  await captureEvent({ argv, event: "zuplo tunnel list" });
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAE/D,eAAe;IACb,IAAI,EAAE,mCAAmC;IACzC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;aACzB,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,IAAiB,CAAC,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, list } from \"../../tunnel/list/handler.js\";\n\nexport default {\n desc: \"Lists the tunnels in your account\",\n command: \"list\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"api-key\"])\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel list\" });\n await list(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAE/D,eAAe;IACb,IAAI,EAAE,mCAAmC;IACzC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,IAAiB,CAAC,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, list } from \"../../tunnel/list/handler.js\";\n\nexport default {\n desc: \"Lists the tunnels in your account\",\n command: \"list\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel list\" });\n await list(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rotate-token.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/rotate-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAWV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAcf,OAAO;;AAjB/B,wBAqBE"}
1
+ {"version":3,"file":"rotate-token.d.ts","sourceRoot":"","sources":["../../../src/cmds/tunnel/rotate-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAUV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAef,OAAO;;AAlB/B,wBAsBE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../common/middleware/authentication.js";
3
- import { configure } from "../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../common/output.js";
6
5
  import { rotateToken } from "../../tunnel/rotate-token/handler.js";
@@ -19,7 +18,8 @@ export default {
19
18
  envVar: "API_KEY",
20
19
  })
21
20
  .demandOption(["tunnel-id"])
22
- .middleware([setBlocking, authenticate, configure, identify]);
21
+ .demandOption("api-key", "You must provide an API key with --api-key")
22
+ .middleware([setBlocking, authenticate, identify]);
23
23
  },
24
24
  handler: async (argv) => {
25
25
  await captureEvent({ argv, event: "zuplo tunnel rotate-token" });
@@ -1 +1 @@
1
- {"version":3,"file":"rotate-token.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/rotate-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAE9E,eAAe;IACb,IAAI,EAAE,gDAAgD;IACtD,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,CAAC,IAAiB,CAAC,CAAC;IACvC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, rotateToken } from \"../../tunnel/rotate-token/handler.js\";\n\nexport default {\n desc: \"Rotates the token for a tunnel in your account\",\n command: \"rotate-token\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel to rotate the token for\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel rotate-token\" });\n await rotateToken(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"rotate-token.js","sourceRoot":"","sources":["../../../src/cmds/tunnel/rotate-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAa,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAE9E,eAAe;IACb,IAAI,EAAE,gDAAgD;IACtD,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,CAAC,IAAiB,CAAC,CAAC;IACvC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments, rotateToken } from \"../../tunnel/rotate-token/handler.js\";\n\nexport default {\n desc: \"Rotates the token for a tunnel in your account\",\n command: \"rotate-token\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel to rotate the token for\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel rotate-token\" });\n await rotateToken(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAcf,OAAO;;AAjB/B,wBAqBE"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAaV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAef,OAAO;;AAlB/B,wBAsBE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../../common/middleware/authentication.js";
3
- import { configure } from "../../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../../common/output.js";
6
5
  import { describe, } from "../../../tunnel/services/describe/handler.js";
@@ -19,7 +18,8 @@ export default {
19
18
  envVar: "API_KEY",
20
19
  })
21
20
  .demandOption(["tunnel-id"])
22
- .middleware([setBlocking, authenticate, configure, identify]);
21
+ .demandOption("api-key", "You must provide an API key with --api-key")
22
+ .middleware([setBlocking, authenticate, identify]);
23
23
  },
24
24
  handler: async (argv) => {
25
25
  await captureEvent({ argv, event: "zuplo tunnel services describe" });
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAEL,QAAQ,GACT,MAAM,8CAA8C,CAAC;AAEtD,eAAe;IACb,IAAI,EAAE,wCAAwC;IAC9C,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACtE,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../../common/analytics/lib.js\";\nimport { authenticate } from \"../../../common/middleware/authentication.js\";\nimport { configure } from \"../../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../../common/output.js\";\nimport {\n Arguments,\n describe,\n} from \"../../../tunnel/services/describe/handler.js\";\n\nexport default {\n desc: \"Describes the services for this tunnel\",\n command: \"describe\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel containing the services\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel services describe\" });\n await describe(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/describe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAEL,QAAQ,GACT,MAAM,8CAA8C,CAAC;AAEtD,eAAe;IACb,IAAI,EAAE,wCAAwC;IAC9C,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACtE,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../../common/analytics/lib.js\";\nimport { authenticate } from \"../../../common/middleware/authentication.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../../common/output.js\";\nimport {\n Arguments,\n describe,\n} from \"../../../tunnel/services/describe/handler.js\";\n\nexport default {\n desc: \"Describes the services for this tunnel\",\n command: \"describe\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel containing the services\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel services describe\" });\n await describe(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAkBf,OAAO;;AArB/B,wBAyBE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAaV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAmBf,OAAO;;AAtB/B,wBA0BE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../../../common/analytics/lib.js";
2
2
  import { authenticate } from "../../../common/middleware/authentication.js";
3
- import { configure } from "../../../common/middleware/user-configuration.js";
4
3
  import { identify } from "../../../common/middleware/user-identification.js";
5
4
  import setBlocking from "../../../common/output.js";
6
5
  import { updateServices, } from "../../../tunnel/services/update/handler.js";
@@ -23,7 +22,8 @@ export default {
23
22
  envVar: "API_KEY",
24
23
  })
25
24
  .demandOption(["configuration-file", "tunnel-id"])
26
- .middleware([setBlocking, authenticate, configure, identify]);
25
+ .demandOption("api-key", "You must provide an API key with --api-key")
26
+ .middleware([setBlocking, authenticate, identify]);
27
27
  },
28
28
  handler: async (argv) => {
29
29
  await captureEvent({ argv, event: "zuplo tunnel services update" });
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAEL,cAAc,GACf,MAAM,4CAA4C,CAAC;AAEpD,eAAe;IACb,IAAI,EAAE,sCAAsC;IAC5C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,oBAAoB,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;aACjD,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACpE,MAAM,cAAc,CAAC,IAAiB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../../common/analytics/lib.js\";\nimport { authenticate } from \"../../../common/middleware/authentication.js\";\nimport { configure } from \"../../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../../common/output.js\";\nimport {\n Arguments,\n updateServices,\n} from \"../../../tunnel/services/update/handler.js\";\n\nexport default {\n desc: \"Updates the services for this tunnel\",\n command: \"update\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"configuration-file\", {\n type: \"string\",\n describe: \"The path to the configuration file\",\n })\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel containing the services\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"configuration-file\", \"tunnel-id\"])\n .middleware([setBlocking, authenticate, configure, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel services update\" });\n await updateServices(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cmds/tunnel/services/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAEL,cAAc,GACf,MAAM,4CAA4C,CAAC;AAEpD,eAAe;IACb,IAAI,EAAE,sCAAsC;IAC5C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,oBAAoB,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,8CAA8C;SACzD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;aACjD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACpE,MAAM,cAAc,CAAC,IAAiB,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../../common/analytics/lib.js\";\nimport { authenticate } from \"../../../common/middleware/authentication.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../../common/output.js\";\nimport {\n Arguments,\n updateServices,\n} from \"../../../tunnel/services/update/handler.js\";\n\nexport default {\n desc: \"Updates the services for this tunnel\",\n command: \"update\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"configuration-file\", {\n type: \"string\",\n describe: \"The path to the configuration file\",\n })\n .option(\"tunnel-id\", {\n type: \"string\",\n describe: \"The ID of the tunnel containing the services\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"configuration-file\", \"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .middleware([setBlocking, authenticate, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo tunnel services update\" });\n await updateServices(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmds/variable/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAmCf,OAAO;;AAtC/B,wBA0CE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmds/variable/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAyCf,OAAO;;AA5C/B,wBAgDE"}
@@ -3,9 +3,9 @@ import { authenticate } from "../../common/middleware/authentication.js";
3
3
  import { configure } from "../../common/middleware/user-configuration.js";
4
4
  import { identify } from "../../common/middleware/user-identification.js";
5
5
  import setBlocking from "../../common/output.js";
6
- import { YargsChecker } from "../../common/validators/lib.js";
7
- import { ProjectIsSetValidator } from "../../common/validators/project-name-validator.js";
8
6
  import { create } from "../../variable/create/handler.js";
7
+ import { fetchAccount } from "../../common/middleware/get-account-param.js";
8
+ import { fetchProject } from "../../common/middleware/get-project-param.js";
9
9
  export default {
10
10
  desc: "Creates a new variable for a branch",
11
11
  command: "create",
@@ -31,16 +31,24 @@ export default {
31
31
  type: "string",
32
32
  describe: "The API Key from Zuplo",
33
33
  envVar: "API_KEY",
34
+ })
35
+ .option("account", {
36
+ type: "string",
37
+ describe: "The account name",
34
38
  })
35
39
  .option("project", {
36
40
  type: "string",
37
41
  describe: "The project name",
38
42
  })
39
43
  .demandOption(["name", "value", "is-secret", "branch"])
40
- .middleware([setBlocking, authenticate, configure, identify])
41
- .check(async (argv) => {
42
- return await new YargsChecker(new ProjectIsSetValidator()).check(argv);
43
- });
44
+ .middleware([
45
+ setBlocking,
46
+ authenticate,
47
+ configure,
48
+ fetchAccount,
49
+ fetchProject,
50
+ identify,
51
+ ]);
44
52
  },
45
53
  handler: async (argv) => {
46
54
  await captureEvent({ argv, event: "zuplo variable create" });
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cmds/variable/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D,eAAe;IACb,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,0BAA0B;SACrC,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,6CAA6C;SACxD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,YAAY,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;aACtD,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC5D,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,OAAO,MAAM,IAAI,YAAY,CAC3B,IAAI,qBAAqB,EAAE,CAC5B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { YargsChecker } from \"../../common/validators/lib.js\";\nimport { ProjectIsSetValidator } from \"../../common/validators/project-name-validator.js\";\nimport { create } from \"../../variable/create/handler.js\";\nimport { Arguments } from \"../../variable/models.js\";\n\nexport default {\n desc: \"Creates a new variable for a branch\",\n command: \"create\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"name\", {\n type: \"string\",\n describe: \"The name of the variable to create\",\n })\n .option(\"value\", {\n type: \"string\",\n describe: \"The value of the variable to create\",\n })\n .option(\"is-secret\", {\n type: \"boolean\",\n describe: \"Is the variable a secret\",\n })\n .option(\"branch\", {\n type: \"string\",\n describe: \"The branch where the variable should be set\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .option(\"project\", {\n type: \"string\",\n describe: \"The project name\",\n })\n .demandOption([\"name\", \"value\", \"is-secret\", \"branch\"])\n .middleware([setBlocking, authenticate, configure, identify])\n .check(async (argv) => {\n return await new YargsChecker<typeof argv>(\n new ProjectIsSetValidator()\n ).check(argv);\n });\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo variable create\" });\n await create(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cmds/variable/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E,eAAe;IACb,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,0BAA0B;SACrC,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,6CAA6C;SACxD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,YAAY,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;aACtD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,YAAY;YACZ,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { create } from \"../../variable/create/handler.js\";\nimport { Arguments } from \"../../variable/models.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.js\";\n\nexport default {\n desc: \"Creates a new variable for a branch\",\n command: \"create\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"name\", {\n type: \"string\",\n describe: \"The name of the variable to create\",\n })\n .option(\"value\", {\n type: \"string\",\n describe: \"The value of the variable to create\",\n })\n .option(\"is-secret\", {\n type: \"boolean\",\n describe: \"Is the variable a secret\",\n })\n .option(\"branch\", {\n type: \"string\",\n describe: \"The branch where the variable should be set\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .option(\"account\", {\n type: \"string\",\n describe: \"The account name\",\n })\n .option(\"project\", {\n type: \"string\",\n describe: \"The project name\",\n })\n .demandOption([\"name\", \"value\", \"is-secret\", \"branch\"])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n fetchProject,\n identify,\n ]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo variable create\" });\n await create(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cmds/variable/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBA+Bf,OAAO;;AAlC/B,wBAsCE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cmds/variable/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAcV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAqCf,OAAO;;AAxC/B,wBA4CE"}
@@ -3,9 +3,9 @@ import { authenticate } from "../../common/middleware/authentication.js";
3
3
  import { configure } from "../../common/middleware/user-configuration.js";
4
4
  import { identify } from "../../common/middleware/user-identification.js";
5
5
  import setBlocking from "../../common/output.js";
6
- import { YargsChecker } from "../../common/validators/lib.js";
7
- import { ProjectIsSetValidator } from "../../common/validators/project-name-validator.js";
8
6
  import { update } from "../../variable/update/handler.js";
7
+ import { fetchAccount } from "../../common/middleware/get-account-param.js";
8
+ import { fetchProject } from "../../common/middleware/get-project-param.js";
9
9
  export default {
10
10
  desc: "Updates an existing variable for a branch",
11
11
  command: "update",
@@ -31,12 +31,20 @@ export default {
31
31
  type: "string",
32
32
  describe: "The API Key from Zuplo",
33
33
  envVar: "API_KEY",
34
+ })
35
+ .option("account", {
36
+ type: "string",
37
+ describe: "The account name",
34
38
  })
35
39
  .demandOption(["name", "value", "branch"])
36
- .middleware([setBlocking, authenticate, configure, identify])
37
- .check(async (argv) => {
38
- return await new YargsChecker(new ProjectIsSetValidator()).check(argv);
39
- });
40
+ .middleware([
41
+ setBlocking,
42
+ authenticate,
43
+ configure,
44
+ fetchAccount,
45
+ fetchProject,
46
+ identify,
47
+ ]);
40
48
  },
41
49
  handler: async (argv) => {
42
50
  await captureEvent({ argv, event: "zuplo variable update" });
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cmds/variable/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,eAAe;IACb,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,sCAAsC;SACjD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,YAAY,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzC,UAAU,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC5D,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACpB,OAAO,MAAM,IAAI,YAAY,CAC3B,IAAI,qBAAqB,EAAE,CAC5B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { YargsChecker } from \"../../common/validators/lib.js\";\nimport { ProjectIsSetValidator } from \"../../common/validators/project-name-validator.js\";\nimport { Arguments } from \"../../variable/models.js\";\nimport { update } from \"../../variable/update/handler.js\";\n\nexport default {\n desc: \"Updates an existing variable for a branch\",\n command: \"update\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"name\", {\n type: \"string\",\n describe: \"The name of the variable to update\",\n })\n .option(\"value\", {\n type: \"string\",\n describe: \"The value of the variable to update\",\n })\n .option(\"branch\", {\n type: \"string\",\n describe: \"The branch where the variable exists\",\n })\n .option(\"project\", {\n type: \"string\",\n describe: \"The project name\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .demandOption([\"name\", \"value\", \"branch\"])\n .middleware([setBlocking, authenticate, configure, identify])\n .check(async (argv) => {\n return await new YargsChecker<typeof argv>(\n new ProjectIsSetValidator()\n ).check(argv);\n });\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo variable update\" });\n await update(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cmds/variable/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E,eAAe;IACb,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;SAC/C,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,sCAAsC;SACjD,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;aACD,YAAY,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzC,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,YAAY;YACZ,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../../common/analytics/lib.js\";\nimport { authenticate } from \"../../common/middleware/authentication.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../common/output.js\";\nimport { Arguments } from \"../../variable/models.js\";\nimport { update } from \"../../variable/update/handler.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.js\";\n\nexport default {\n desc: \"Updates an existing variable for a branch\",\n command: \"update\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .option(\"name\", {\n type: \"string\",\n describe: \"The name of the variable to update\",\n })\n .option(\"value\", {\n type: \"string\",\n describe: \"The value of the variable to update\",\n })\n .option(\"branch\", {\n type: \"string\",\n describe: \"The branch where the variable exists\",\n })\n .option(\"project\", {\n type: \"string\",\n describe: \"The project name\",\n })\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n })\n .option(\"account\", {\n type: \"string\",\n describe: \"The account name\",\n })\n .demandOption([\"name\", \"value\", \"branch\"])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n fetchProject,\n identify,\n ]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo variable update\" });\n await update(argv as Arguments);\n },\n};\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function fetchAccount(argv: {
2
+ [key: string]: unknown;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=get-account-param.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-account-param.d.ts","sourceRoot":"","sources":["../../../src/common/middleware/get-account-param.ts"],"names":[],"mappings":"AAYA,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,iBA2DlE"}
@@ -0,0 +1,53 @@
1
+ import { select } from "@inquirer/prompts";
2
+ import { logger } from "../logger.js";
3
+ import { printCriticalFailureToConsoleAndExit, textOrJson } from "../output.js";
4
+ import settings from "../settings.js";
5
+ export async function fetchAccount(argv) {
6
+ if (argv.account && typeof argv.account === "string") {
7
+ return;
8
+ }
9
+ if (argv["api-key"]) {
10
+ return;
11
+ }
12
+ const response = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts`, {
13
+ method: "GET",
14
+ headers: {
15
+ Authorization: `Bearer ${argv.authToken}`,
16
+ },
17
+ });
18
+ if (response.ok) {
19
+ const accountsJson = await response.json();
20
+ try {
21
+ argv.account = await select({
22
+ message: "Select the account",
23
+ choices: accountsJson.data
24
+ .map((acc) => {
25
+ return {
26
+ name: acc.name,
27
+ value: acc.name,
28
+ };
29
+ })
30
+ .sort((a, b) => a.name.localeCompare(b.name)),
31
+ });
32
+ }
33
+ catch (error) {
34
+ if (error.isTtyError || error.name === "ExitPromptError") {
35
+ process.exit(0);
36
+ }
37
+ logger.trace("Failed to select account", error);
38
+ process.exit(1);
39
+ }
40
+ }
41
+ else {
42
+ if (response.status === 404) {
43
+ await printCriticalFailureToConsoleAndExit("You don't have a Zuplo account. Create one at https://zuplo.com and try again.");
44
+ }
45
+ logger.trace({
46
+ status: response.status,
47
+ statusText: response.statusText,
48
+ response: textOrJson(await response.text()),
49
+ }, "Failed to request accounts for user");
50
+ await printCriticalFailureToConsoleAndExit("Error: Failed to request accounts for the user.");
51
+ }
52
+ }
53
+ //# sourceMappingURL=get-account-param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-account-param.js","sourceRoot":"","sources":["../../../src/common/middleware/get-account-param.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oCAAoC,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgC;IACjE,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,QAAQ,CAAC,4BAA4B,cAAc,EACtD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,YAAY,GAAiC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEzE,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC;gBAC1B,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,YAAY,CAAC,IAAI;qBACvB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,IAAI;qBAChB,CAAC;gBACJ,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,oCAAoC,CACxC,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC5C,EACD,qCAAqC,CACtC,CAAC;QACF,MAAM,oCAAoC,CACxC,iDAAiD,CAClD,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { select } from \"@inquirer/prompts\";\nimport { logger } from \"../logger.js\";\nimport { printCriticalFailureToConsoleAndExit, textOrJson } from \"../output.js\";\nimport settings from \"../settings.js\";\n\n/**\n * Middleware that ensures an account is provided in argv. If not, prompts the user.\n *\n * NOTE: This middleware MUST come after the authenticate middleware\n * because the authenticate middleware gets the account if the user is\n * authenticating with an API key.\n */\nexport async function fetchAccount(argv: { [key: string]: unknown }) {\n if (argv.account && typeof argv.account === \"string\") {\n return;\n }\n // In the case where the user supplied an api-key, they don't need to supply an account.\n if (argv[\"api-key\"]) {\n return;\n }\n // Make a call to the API key\n const response = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (response.ok) {\n const accountsJson: { data: { name: string }[] } = await response.json();\n\n try {\n argv.account = await select({\n message: \"Select the account\",\n choices: accountsJson.data\n .map((acc) => {\n return {\n name: acc.name,\n value: acc.name,\n };\n })\n .sort((a, b) => a.name.localeCompare(b.name)),\n });\n } catch (error) {\n if (error.isTtyError || error.name === \"ExitPromptError\") {\n process.exit(0);\n }\n logger.trace(\"Failed to select account\", error);\n process.exit(1);\n }\n } else {\n if (response.status === 404) {\n await printCriticalFailureToConsoleAndExit(\n \"You don't have a Zuplo account. Create one at https://zuplo.com and try again.\"\n );\n }\n logger.trace(\n {\n status: response.status,\n statusText: response.statusText,\n response: textOrJson(await response.text()),\n },\n \"Failed to request accounts for user\"\n );\n await printCriticalFailureToConsoleAndExit(\n \"Error: Failed to request accounts for the user.\"\n );\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function fetchEnvironment(argv: {
2
+ [key: string]: unknown;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=get-environment-param.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-environment-param.d.ts","sourceRoot":"","sources":["../../../src/common/middleware/get-environment-param.ts"],"names":[],"mappings":"AAYA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,iBA0ItE"}
@@ -0,0 +1,141 @@
1
+ import { select } from "@inquirer/prompts";
2
+ import { simpleGit } from "simple-git";
3
+ import { logger } from "../logger.js";
4
+ import { printCriticalFailureToConsoleAndExit, textOrJson } from "../output.js";
5
+ import settings from "../settings.js";
6
+ import { prettyPrintEnvironmentPrompt } from "../utils/pretty-print-environment-prompt.js";
7
+ export async function fetchEnvironment(argv) {
8
+ if (argv.environment && typeof argv.environment === "string") {
9
+ return;
10
+ }
11
+ if (!argv.account || typeof argv.account !== "string") {
12
+ throw new Error("Invalid state: account is not set.");
13
+ }
14
+ if (!argv.project || typeof argv.project !== "string") {
15
+ throw new Error("Invalid state: project is not set.");
16
+ }
17
+ const branch = await getGitBranch(argv);
18
+ if (branch && !argv["fetch-environments"]) {
19
+ argv.environment = branch;
20
+ }
21
+ else {
22
+ const baseUrl = `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/environments`;
23
+ const queryParams = {
24
+ accountName: argv.account,
25
+ projectName: argv.project,
26
+ };
27
+ const url = new URL(baseUrl);
28
+ url.search = new URLSearchParams(queryParams).toString();
29
+ const response = await fetch(url, {
30
+ method: "GET",
31
+ headers: {
32
+ Authorization: `Bearer ${argv.authToken}`,
33
+ },
34
+ });
35
+ if (response.ok) {
36
+ let environmentJsonFromDeveloperAPI = (await response.json());
37
+ let numDevelopmentEnvironments = environmentJsonFromDeveloperAPI.data.filter((env) => {
38
+ return env.environmentType === "development";
39
+ }).length;
40
+ if (numDevelopmentEnvironments <= 0) {
41
+ const createDevelopmenEnvironmentResponse = await fetch(`${baseUrl}`, {
42
+ method: "POST",
43
+ headers: {
44
+ authorization: `Bearer ${argv.authToken}`,
45
+ "Content-Type": "application/json",
46
+ },
47
+ body: JSON.stringify({
48
+ accountName: argv.account,
49
+ projectName: argv.project,
50
+ environmentType: "development",
51
+ }),
52
+ });
53
+ if (!createDevelopmenEnvironmentResponse.ok) {
54
+ logger.debug({
55
+ status: createDevelopmenEnvironmentResponse.status,
56
+ statusText: createDevelopmenEnvironmentResponse.statusText,
57
+ }, "Failed to create a new instance of development environment");
58
+ await printCriticalFailureToConsoleAndExit("Failed to create a new development environment. Please try again later.");
59
+ }
60
+ numDevelopmentEnvironments++;
61
+ const updatedResponse = await fetch(url, {
62
+ headers: {
63
+ authorization: `Bearer ${argv.authToken}`,
64
+ },
65
+ });
66
+ environmentJsonFromDeveloperAPI = (await updatedResponse.json());
67
+ }
68
+ const environments = environmentJsonFromDeveloperAPI.data
69
+ .map((env) => {
70
+ return {
71
+ [prettyPrintEnvironmentPrompt(env, numDevelopmentEnvironments == 1)]: env.name,
72
+ };
73
+ })
74
+ .reduce((acc, curr) => {
75
+ return { ...acc, ...curr };
76
+ });
77
+ try {
78
+ argv.environment = await select({
79
+ message: "Select the environment",
80
+ choices: Object.entries(environments)
81
+ .map(([key, value]) => {
82
+ return {
83
+ name: key,
84
+ value: value,
85
+ };
86
+ })
87
+ .sort((a, b) => a.name.localeCompare(b.name)),
88
+ });
89
+ }
90
+ catch (error) {
91
+ if (error.isTtyError || error.name === "ExitPromptError") {
92
+ process.exit(0);
93
+ }
94
+ logger.trace("Failed to select account", error);
95
+ process.exit(1);
96
+ }
97
+ }
98
+ else {
99
+ logger.trace({
100
+ status: response.status,
101
+ statusText: response.statusText,
102
+ response: textOrJson(await response.text()),
103
+ }, "Failed to request environments for project");
104
+ await printCriticalFailureToConsoleAndExit("Error: Failed to request environments for the project.");
105
+ }
106
+ }
107
+ }
108
+ async function getGitBranch(argv) {
109
+ let branch;
110
+ const dir = argv.dir;
111
+ if (dir && typeof dir === "string") {
112
+ const git = simpleGit({ baseDir: dir });
113
+ const isGitRepo = await git.checkIsRepo();
114
+ if (isGitRepo) {
115
+ const status = await git.status();
116
+ if (!status.current) {
117
+ throw new Error("Invalid state: Directory is in detached head state.");
118
+ }
119
+ branch = status.current.trim();
120
+ if (branch === "HEAD") {
121
+ await git.fetch(["--all"]);
122
+ const branchCommit = await git.branch(["-a"]);
123
+ const branchRef = await git.branch([
124
+ "-r",
125
+ "--contains",
126
+ branchCommit.current,
127
+ ]);
128
+ if (branchRef && branchRef.all && branchRef.all[0]) {
129
+ const originBranch = branchRef.all[0];
130
+ const cleanOriginBranch = originBranch.replace(/^origin\//, "");
131
+ if (!cleanOriginBranch) {
132
+ throw new Error("Invalid state: Directory is in detached head state.");
133
+ }
134
+ branch = cleanOriginBranch.trim();
135
+ }
136
+ }
137
+ }
138
+ }
139
+ return branch;
140
+ }
141
+ //# sourceMappingURL=get-environment-param.js.map