@zuplo/cli 6.69.10 → 6.69.11

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 (189) hide show
  1. package/dist/__tests__/integration/jest-mocks-setup.js +3 -0
  2. package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
  3. package/dist/cli.js +4 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cmds/bucket/list.d.ts.map +1 -1
  6. package/dist/cmds/bucket/list.js +1 -8
  7. package/dist/cmds/bucket/list.js.map +1 -1
  8. package/dist/cmds/build.d.ts.map +1 -1
  9. package/dist/cmds/build.js +1 -2
  10. package/dist/cmds/build.js.map +1 -1
  11. package/dist/cmds/compile.d.ts.map +1 -1
  12. package/dist/cmds/compile.js +1 -2
  13. package/dist/cmds/compile.js.map +1 -1
  14. package/dist/cmds/custom-domain/create.d.ts.map +1 -1
  15. package/dist/cmds/custom-domain/create.js +1 -8
  16. package/dist/cmds/custom-domain/create.js.map +1 -1
  17. package/dist/cmds/custom-domain/delete.d.ts.map +1 -1
  18. package/dist/cmds/custom-domain/delete.js +1 -8
  19. package/dist/cmds/custom-domain/delete.js.map +1 -1
  20. package/dist/cmds/custom-domain/list.d.ts.map +1 -1
  21. package/dist/cmds/custom-domain/list.js +1 -8
  22. package/dist/cmds/custom-domain/list.js.map +1 -1
  23. package/dist/cmds/custom-domain/update.d.ts.map +1 -1
  24. package/dist/cmds/custom-domain/update.js +1 -8
  25. package/dist/cmds/custom-domain/update.js.map +1 -1
  26. package/dist/cmds/delete.d.ts.map +1 -1
  27. package/dist/cmds/delete.js +0 -2
  28. package/dist/cmds/delete.js.map +1 -1
  29. package/dist/cmds/deploy.d.ts.map +1 -1
  30. package/dist/cmds/deploy.js +0 -2
  31. package/dist/cmds/deploy.js.map +1 -1
  32. package/dist/cmds/dev.d.ts.map +1 -1
  33. package/dist/cmds/dev.js +1 -2
  34. package/dist/cmds/dev.js.map +1 -1
  35. package/dist/cmds/docs.d.ts.map +1 -1
  36. package/dist/cmds/docs.js +1 -2
  37. package/dist/cmds/docs.js.map +1 -1
  38. package/dist/cmds/editor.d.ts.map +1 -1
  39. package/dist/cmds/editor.js +1 -2
  40. package/dist/cmds/editor.js.map +1 -1
  41. package/dist/cmds/init.d.ts.map +1 -1
  42. package/dist/cmds/init.js +1 -3
  43. package/dist/cmds/init.js.map +1 -1
  44. package/dist/cmds/link.d.ts.map +1 -1
  45. package/dist/cmds/link.js +0 -2
  46. package/dist/cmds/link.js.map +1 -1
  47. package/dist/cmds/list.d.ts.map +1 -1
  48. package/dist/cmds/list.js +0 -2
  49. package/dist/cmds/list.js.map +1 -1
  50. package/dist/cmds/login.d.ts.map +1 -1
  51. package/dist/cmds/login.js +2 -2
  52. package/dist/cmds/login.js.map +1 -1
  53. package/dist/cmds/logout.d.ts.map +1 -1
  54. package/dist/cmds/logout.js +2 -3
  55. package/dist/cmds/logout.js.map +1 -1
  56. package/dist/cmds/mtls-certificates/create.d.ts.map +1 -1
  57. package/dist/cmds/mtls-certificates/create.js +0 -2
  58. package/dist/cmds/mtls-certificates/create.js.map +1 -1
  59. package/dist/cmds/mtls-certificates/delete.d.ts.map +1 -1
  60. package/dist/cmds/mtls-certificates/delete.js +0 -2
  61. package/dist/cmds/mtls-certificates/delete.js.map +1 -1
  62. package/dist/cmds/mtls-certificates/describe.d.ts.map +1 -1
  63. package/dist/cmds/mtls-certificates/describe.js +0 -2
  64. package/dist/cmds/mtls-certificates/describe.js.map +1 -1
  65. package/dist/cmds/mtls-certificates/disable.d.ts.map +1 -1
  66. package/dist/cmds/mtls-certificates/disable.js +0 -2
  67. package/dist/cmds/mtls-certificates/disable.js.map +1 -1
  68. package/dist/cmds/mtls-certificates/list.d.ts.map +1 -1
  69. package/dist/cmds/mtls-certificates/list.js +0 -2
  70. package/dist/cmds/mtls-certificates/list.js.map +1 -1
  71. package/dist/cmds/mtls-certificates/update.d.ts.map +1 -1
  72. package/dist/cmds/mtls-certificates/update.js +0 -2
  73. package/dist/cmds/mtls-certificates/update.js.map +1 -1
  74. package/dist/cmds/project/create.d.ts.map +1 -1
  75. package/dist/cmds/project/create.js +1 -8
  76. package/dist/cmds/project/create.js.map +1 -1
  77. package/dist/cmds/project/info.d.ts.map +1 -1
  78. package/dist/cmds/project/info.js +1 -2
  79. package/dist/cmds/project/info.js.map +1 -1
  80. package/dist/cmds/proxies/create.d.ts.map +1 -1
  81. package/dist/cmds/proxies/create.js +0 -2
  82. package/dist/cmds/proxies/create.js.map +1 -1
  83. package/dist/cmds/proxies/delete.d.ts.map +1 -1
  84. package/dist/cmds/proxies/delete.js +0 -2
  85. package/dist/cmds/proxies/delete.js.map +1 -1
  86. package/dist/cmds/proxies/describe.d.ts.map +1 -1
  87. package/dist/cmds/proxies/describe.js +0 -2
  88. package/dist/cmds/proxies/describe.js.map +1 -1
  89. package/dist/cmds/proxies/update.d.ts.map +1 -1
  90. package/dist/cmds/proxies/update.js +0 -2
  91. package/dist/cmds/proxies/update.js.map +1 -1
  92. package/dist/cmds/source/migrate.d.ts.map +1 -1
  93. package/dist/cmds/source/migrate.js +1 -2
  94. package/dist/cmds/source/migrate.js.map +1 -1
  95. package/dist/cmds/source/upgrade.d.ts.map +1 -1
  96. package/dist/cmds/source/upgrade.js +1 -2
  97. package/dist/cmds/source/upgrade.js.map +1 -1
  98. package/dist/cmds/test.d.ts.map +1 -1
  99. package/dist/cmds/test.js +1 -2
  100. package/dist/cmds/test.js.map +1 -1
  101. package/dist/cmds/tunnel/create.d.ts.map +1 -1
  102. package/dist/cmds/tunnel/create.js +1 -8
  103. package/dist/cmds/tunnel/create.js.map +1 -1
  104. package/dist/cmds/tunnel/delete.d.ts.map +1 -1
  105. package/dist/cmds/tunnel/delete.js +1 -8
  106. package/dist/cmds/tunnel/delete.js.map +1 -1
  107. package/dist/cmds/tunnel/describe.d.ts.map +1 -1
  108. package/dist/cmds/tunnel/describe.js +1 -8
  109. package/dist/cmds/tunnel/describe.js.map +1 -1
  110. package/dist/cmds/tunnel/list.d.ts.map +1 -1
  111. package/dist/cmds/tunnel/list.js +1 -8
  112. package/dist/cmds/tunnel/list.js.map +1 -1
  113. package/dist/cmds/tunnel/rotate-token.d.ts.map +1 -1
  114. package/dist/cmds/tunnel/rotate-token.js +1 -8
  115. package/dist/cmds/tunnel/rotate-token.js.map +1 -1
  116. package/dist/cmds/tunnel/services/describe.d.ts.map +1 -1
  117. package/dist/cmds/tunnel/services/describe.js +1 -8
  118. package/dist/cmds/tunnel/services/describe.js.map +1 -1
  119. package/dist/cmds/tunnel/services/update.d.ts.map +1 -1
  120. package/dist/cmds/tunnel/services/update.js +1 -8
  121. package/dist/cmds/tunnel/services/update.js.map +1 -1
  122. package/dist/cmds/variable/create.d.ts.map +1 -1
  123. package/dist/cmds/variable/create.js +0 -2
  124. package/dist/cmds/variable/create.js.map +1 -1
  125. package/dist/cmds/variable/update.d.ts.map +1 -1
  126. package/dist/cmds/variable/update.js +0 -2
  127. package/dist/cmds/variable/update.js.map +1 -1
  128. package/dist/cmds/whoami.d.ts.map +1 -1
  129. package/dist/cmds/whoami.js +1 -2
  130. package/dist/cmds/whoami.js.map +1 -1
  131. package/dist/common/middleware/check-pnpm-lifecycle.d.ts +17 -0
  132. package/dist/common/middleware/check-pnpm-lifecycle.d.ts.map +1 -0
  133. package/dist/common/middleware/check-pnpm-lifecycle.js +96 -0
  134. package/dist/common/middleware/check-pnpm-lifecycle.js.map +1 -0
  135. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts +2 -0
  136. package/dist/common/middleware/check-pnpm-lifecycle.test.d.ts.map +1 -0
  137. package/dist/common/middleware/check-pnpm-lifecycle.test.js +125 -0
  138. package/dist/common/middleware/check-pnpm-lifecycle.test.js.map +1 -0
  139. package/dist/common/utils/pnpm-lifecycle.d.ts +13 -0
  140. package/dist/common/utils/pnpm-lifecycle.d.ts.map +1 -0
  141. package/dist/common/utils/pnpm-lifecycle.js +100 -0
  142. package/dist/common/utils/pnpm-lifecycle.js.map +1 -0
  143. package/dist/common/utils/pnpm-lifecycle.test.d.ts +2 -0
  144. package/dist/common/utils/pnpm-lifecycle.test.d.ts.map +1 -0
  145. package/dist/common/utils/pnpm-lifecycle.test.js +177 -0
  146. package/dist/common/utils/pnpm-lifecycle.test.js.map +1 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -1
  148. package/node_modules/@zuplo/core/package.json +1 -1
  149. package/node_modules/@zuplo/graphql/out/esm/index.js.map +1 -1
  150. package/node_modules/@zuplo/graphql/out/types/index.d.ts +3 -0
  151. package/node_modules/@zuplo/graphql/package.json +1 -1
  152. package/node_modules/@zuplo/openapi-tools/package.json +2 -2
  153. package/node_modules/@zuplo/otel/package.json +1 -1
  154. package/node_modules/@zuplo/runtime/out/esm/index.js +94 -94
  155. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  156. package/node_modules/@zuplo/runtime/out/types/index.d.ts +72 -0
  157. package/node_modules/@zuplo/runtime/package.json +2 -2
  158. package/node_modules/pino-http/node_modules/thread-stream/.github/workflows/ci.yml +4 -4
  159. package/node_modules/pino-http/node_modules/thread-stream/README.md +4 -1
  160. package/node_modules/pino-http/node_modules/thread-stream/index.d.ts +7 -0
  161. package/node_modules/pino-http/node_modules/thread-stream/index.js +120 -21
  162. package/node_modules/pino-http/node_modules/thread-stream/lib/worker.js +101 -0
  163. package/node_modules/pino-http/node_modules/thread-stream/node_modules/real-require/LICENSE.md +21 -0
  164. package/node_modules/pino-http/node_modules/thread-stream/node_modules/real-require/README.md +51 -0
  165. package/node_modules/pino-http/node_modules/thread-stream/node_modules/real-require/package.json +38 -0
  166. package/node_modules/pino-http/node_modules/thread-stream/node_modules/real-require/src/index.js +14 -0
  167. package/node_modules/pino-http/node_modules/thread-stream/package.json +10 -12
  168. package/node_modules/pino-http/node_modules/thread-stream/test/flush-worker.js +68 -0
  169. package/node_modules/pino-http/node_modules/thread-stream/test/flush.test.js +112 -0
  170. package/node_modules/pino-http/node_modules/thread-stream/test/message-without-code.js +19 -0
  171. package/node_modules/pino-http/node_modules/thread-stream/test/report-thread-name.js +16 -0
  172. package/node_modules/pino-http/node_modules/thread-stream/test/thread-management.test.js +12 -0
  173. package/node_modules/pino-http/node_modules/thread-stream/test/watch-mode.test.js +30 -0
  174. package/node_modules/pino-http/node_modules/thread-stream/test/worker-name.test.js +43 -0
  175. package/node_modules/protobufjs/dist/light/protobuf.js +5 -3
  176. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  177. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  178. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  179. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  180. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  181. package/node_modules/protobufjs/dist/protobuf.js +5 -3
  182. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  183. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  184. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  185. package/node_modules/protobufjs/package.json +1 -1
  186. package/node_modules/protobufjs/src/namespace.js +3 -1
  187. package/package.json +7 -7
  188. package/node_modules/pino-http/node_modules/thread-stream/.husky/pre-commit +0 -4
  189. package/node_modules/pino-http/node_modules/thread-stream/CLAUDE.md +0 -53
@@ -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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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,KAAK,CAAC,4BAA4B,CAAC;aACnC,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,kBAAkB;gBAClB,oDAAoD;aACrD;YACD;gBACE,uCAAuC;gBACvC,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../common/middleware/get-account-param.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 .usage(\"$0 tunnel delete [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel delete\",\n \"Delete a tunnel (will prompt for tunnel selection)\",\n ],\n [\n \"$0 tunnel delete --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,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,KAAK,CAAC,4BAA4B,CAAC;aACnC,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,kBAAkB;gBAClB,oDAAoD;aACrD;YACD;gBACE,uCAAuC;gBACvC,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\"$0 tunnel delete [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel delete\",\n \"Delete a tunnel (will prompt for tunnel selection)\",\n ],\n [\n \"$0 tunnel delete --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAYV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAiCf,OAAO;;AApC/B,wBAwCE"}
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;oBA2Bf,OAAO;;AA9B/B,wBAkCE"}
@@ -3,7 +3,6 @@ import { authenticate } from "../../common/middleware/authentication.js";
3
3
  import { fetchAccount } from "../../common/middleware/get-account-param.js";
4
4
  import { configure } from "../../common/middleware/user-configuration.js";
5
5
  import { identify } from "../../common/middleware/user-identification.js";
6
- import setBlocking from "../../common/output.js";
7
6
  import { describe } from "../../tunnel/describe/handler.js";
8
7
  export default {
9
8
  desc: "Describes a tunnel in your account",
@@ -33,13 +32,7 @@ export default {
33
32
  "Explicitly specify the account",
34
33
  ],
35
34
  ])
36
- .middleware([
37
- setBlocking,
38
- authenticate,
39
- configure,
40
- fetchAccount,
41
- identify,
42
- ]);
35
+ .middleware([authenticate, configure, fetchAccount, identify]);
43
36
  },
44
37
  handler: async (argv) => {
45
38
  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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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,KAAK,CAAC,+CAA+C,CAAC;aACtD,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,6DAA6D;gBAC7D,4BAA4B;aAC7B;YACD;gBACE,kFAAkF;gBAClF,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../common/middleware/get-account-param.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 .usage(\"$0 tunnel describe --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"Get details about a tunnel\",\n ],\n [\n \"$0 tunnel describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,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,KAAK,CAAC,+CAA+C,CAAC;aACtD,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,6DAA6D;gBAC7D,4BAA4B;aAC7B;YACD;gBACE,kFAAkF;gBAClF,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\"$0 tunnel describe --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"Get details about a tunnel\",\n ],\n [\n \"$0 tunnel describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAYV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAyBf,OAAO;;AA5B/B,wBAgCE"}
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;oBAmBf,OAAO;;AAtB/B,wBA0BE"}
@@ -3,7 +3,6 @@ import { authenticate } from "../../common/middleware/authentication.js";
3
3
  import { fetchAccount } from "../../common/middleware/get-account-param.js";
4
4
  import { configure } from "../../common/middleware/user-configuration.js";
5
5
  import { identify } from "../../common/middleware/user-identification.js";
6
- import setBlocking from "../../common/output.js";
7
6
  import { list } from "../../tunnel/list/handler.js";
8
7
  export default {
9
8
  desc: "Lists the tunnels in your account",
@@ -25,13 +24,7 @@ export default {
25
24
  "Explicitly specify the account",
26
25
  ],
27
26
  ])
28
- .middleware([
29
- setBlocking,
30
- authenticate,
31
- configure,
32
- fetchAccount,
33
- identify,
34
- ]);
27
+ .middleware([authenticate, configure, fetchAccount, identify]);
35
28
  },
36
29
  handler: async (argv) => {
37
30
  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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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,KAAK,CAAC,0BAA0B,CAAC;aACjC,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC;gBACE,qCAAqC;gBACrC,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../common/middleware/get-account-param.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 .usage(\"$0 tunnel list [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\"$0 tunnel list\", \"List all tunnels\"],\n [\n \"$0 tunnel list --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,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,KAAK,CAAC,0BAA0B,CAAC;aACjC,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;YACtC;gBACE,qCAAqC;gBACrC,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\"$0 tunnel list [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\"$0 tunnel list\", \"List all tunnels\"],\n [\n \"$0 tunnel list --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAYV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAiCf,OAAO;;AApC/B,wBAwCE"}
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;oBA2Bf,OAAO;;AA9B/B,wBAkCE"}
@@ -3,7 +3,6 @@ import { authenticate } from "../../common/middleware/authentication.js";
3
3
  import { fetchAccount } from "../../common/middleware/get-account-param.js";
4
4
  import { configure } from "../../common/middleware/user-configuration.js";
5
5
  import { identify } from "../../common/middleware/user-identification.js";
6
- import setBlocking from "../../common/output.js";
7
6
  import { rotateToken } from "../../tunnel/rotate-token/handler.js";
8
7
  export default {
9
8
  desc: "Rotates the token for a tunnel in your account",
@@ -33,13 +32,7 @@ export default {
33
32
  "Explicitly specify the account",
34
33
  ],
35
34
  ])
36
- .middleware([
37
- setBlocking,
38
- authenticate,
39
- configure,
40
- fetchAccount,
41
- identify,
42
- ]);
35
+ .middleware([authenticate, configure, fetchAccount, identify]);
43
36
  },
44
37
  handler: async (argv) => {
45
38
  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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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,KAAK,CAAC,mDAAmD,CAAC;aAC1D,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,iEAAiE;gBACjE,8CAA8C;aAC/C;YACD;gBACE,sFAAsF;gBACtF,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../common/middleware/get-account-param.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 .usage(\"$0 tunnel rotate-token --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel rotate-token --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"Rotate the authentication token for a tunnel\",\n ],\n [\n \"$0 tunnel rotate-token --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,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,KAAK,CAAC,mDAAmD,CAAC;aAC1D,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,iEAAiE;gBACjE,8CAA8C;aAC/C;YACD;gBACE,sFAAsF;gBACtF,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\"$0 tunnel rotate-token --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel rotate-token --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"Rotate the authentication token for a tunnel\",\n ],\n [\n \"$0 tunnel rotate-token --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAeV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAiCf,OAAO;;AApC/B,wBAwCE"}
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;oBA2Bf,OAAO;;AA9B/B,wBAkCE"}
@@ -3,7 +3,6 @@ import { authenticate } from "../../../common/middleware/authentication.js";
3
3
  import { fetchAccount } from "../../../common/middleware/get-account-param.js";
4
4
  import { configure } from "../../../common/middleware/user-configuration.js";
5
5
  import { identify } from "../../../common/middleware/user-identification.js";
6
- import setBlocking from "../../../common/output.js";
7
6
  import { describe, } from "../../../tunnel/services/describe/handler.js";
8
7
  export default {
9
8
  desc: "Describes the services for this tunnel",
@@ -33,13 +32,7 @@ export default {
33
32
  "Explicitly specify the account",
34
33
  ],
35
34
  ])
36
- .middleware([
37
- setBlocking,
38
- authenticate,
39
- configure,
40
- fetchAccount,
41
- identify,
42
- ]);
35
+ .middleware([authenticate, configure, fetchAccount, identify]);
43
36
  },
44
37
  handler: async (argv) => {
45
38
  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,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,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,KAAK,CAAC,wDAAwD,CAAC;aAC/D,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,sEAAsE;gBACtE,8CAA8C;aAC/C;YACD;gBACE,2FAA2F;gBAC3F,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../../common/middleware/get-account-param.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 .usage(\"$0 tunnel services describe --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel services describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"View the services configuration for a tunnel\",\n ],\n [\n \"$0 tunnel services describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,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,KAAK,CAAC,wDAAwD,CAAC;aAC/D,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;aAC3B,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,OAAO,CAAC;YACP;gBACE,sEAAsE;gBACtE,8CAA8C;aAC/C;YACD;gBACE,2FAA2F;gBAC3F,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../../common/middleware/user-identification.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 .usage(\"$0 tunnel services describe --tunnel-id <id> [options]\")\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 alias: \"apikey\",\n })\n .demandOption([\"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .example([\n [\n \"$0 tunnel services describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx\",\n \"View the services configuration for a tunnel\",\n ],\n [\n \"$0 tunnel services describe --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAgBV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBA+Cf,OAAO;;AAlD/B,wBAsDE"}
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;;;;qBAeV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAyCf,OAAO;;AA5C/B,wBAgDE"}
@@ -3,7 +3,6 @@ import { authenticate } from "../../../common/middleware/authentication.js";
3
3
  import { fetchAccount } from "../../../common/middleware/get-account-param.js";
4
4
  import { configure } from "../../../common/middleware/user-configuration.js";
5
5
  import { identify } from "../../../common/middleware/user-identification.js";
6
- import setBlocking from "../../../common/output.js";
7
6
  import { validateFileExists } from "../../../common/validators/argument-validators.js";
8
7
  import { updateServices, } from "../../../tunnel/services/update/handler.js";
9
8
  export default {
@@ -43,13 +42,7 @@ export default {
43
42
  "Explicitly specify the account",
44
43
  ],
45
44
  ])
46
- .middleware([
47
- setBlocking,
48
- authenticate,
49
- configure,
50
- fetchAccount,
51
- identify,
52
- ]);
45
+ .middleware([authenticate, configure, fetchAccount, identify]);
53
46
  },
54
47
  handler: async (argv) => {
55
48
  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,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,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,KAAK,CACJ,kFAAkF,CACnF;aACA,MAAM,CAAC,oBAAoB,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;YAC9C,SAAS,EAAE,IAAI;SAChB,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;aACjD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,kBAAkB,CAChB,IAAI,CAAC,oBAAoB,CAAW,EACpC,sBAAsB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC;YACP;gBACE,yGAAyG;gBACzG,gDAAgD;aACjD;YACD;gBACE,4IAA4I;gBAC5I,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,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,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 { fetchAccount } from \"../../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport setBlocking from \"../../../common/output.js\";\nimport { validateFileExists } from \"../../../common/validators/argument-validators.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 .usage(\n \"$0 tunnel services update --tunnel-id <id> --configuration-file <file> [options]\"\n )\n .option(\"configuration-file\", {\n type: \"string\",\n describe: \"The path to the configuration file\",\n normalize: true,\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 alias: \"apikey\",\n })\n .demandOption([\"configuration-file\", \"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .check((argv) => {\n validateFileExists(\n argv[\"configuration-file\"] as string,\n \"--configuration-file\"\n );\n return true;\n })\n .example([\n [\n \"$0 tunnel services update --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --configuration-file ./services.json\",\n \"Update the services configuration for a tunnel\",\n ],\n [\n \"$0 tunnel services update --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --configuration-file ./config/tunnel-services.json --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n fetchAccount,\n identify,\n ]);\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,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,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,KAAK,CACJ,kFAAkF,CACnF;aACA,MAAM,CAAC,oBAAoB,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,oCAAoC;YAC9C,SAAS,EAAE,IAAI;SAChB,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;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,YAAY,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;aACjD,YAAY,CAAC,SAAS,EAAE,4CAA4C,CAAC;aACrE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,kBAAkB,CAChB,IAAI,CAAC,oBAAoB,CAAW,EACpC,sBAAsB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC;YACP;gBACE,yGAAyG;gBACzG,gDAAgD;aACjD;YACD;gBACE,4IAA4I;gBAC5I,gCAAgC;aACjC;SACF,CAAC;aACD,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,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 { fetchAccount } from \"../../../common/middleware/get-account-param.js\";\nimport { configure } from \"../../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../../common/middleware/user-identification.js\";\nimport { validateFileExists } from \"../../../common/validators/argument-validators.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 .usage(\n \"$0 tunnel services update --tunnel-id <id> --configuration-file <file> [options]\"\n )\n .option(\"configuration-file\", {\n type: \"string\",\n describe: \"The path to the configuration file\",\n normalize: true,\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 alias: \"apikey\",\n })\n .demandOption([\"configuration-file\", \"tunnel-id\"])\n .demandOption(\"api-key\", \"You must provide an API key with --api-key\")\n .check((argv) => {\n validateFileExists(\n argv[\"configuration-file\"] as string,\n \"--configuration-file\"\n );\n return true;\n })\n .example([\n [\n \"$0 tunnel services update --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --configuration-file ./services.json\",\n \"Update the services configuration for a tunnel\",\n ],\n [\n \"$0 tunnel services update --tunnel-id tnl_TRMZwunq2PLNQDwhu6A04Bmx --configuration-file ./config/tunnel-services.json --account my-account\",\n \"Explicitly specify the account\",\n ],\n ])\n .middleware([authenticate, configure, fetchAccount, 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;;;;qBAeV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBA4Df,OAAO;;AA/D/B,wBAmEE"}
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;oBA2Df,OAAO;;AA9D/B,wBAkEE"}
@@ -5,7 +5,6 @@ import { fetchAccount } from "../../common/middleware/get-account-param.js";
5
5
  import { fetchProject } from "../../common/middleware/get-project-param.js";
6
6
  import { configure } from "../../common/middleware/user-configuration.js";
7
7
  import { identify } from "../../common/middleware/user-identification.js";
8
- import setBlocking from "../../common/output.js";
9
8
  import { create } from "../../variable/create/handler.js";
10
9
  export default {
11
10
  desc: "Creates a new variable for a branch",
@@ -59,7 +58,6 @@ export default {
59
58
  ],
60
59
  ])
61
60
  .middleware([
62
- setBlocking,
63
61
  authenticate,
64
62
  configure,
65
63
  confirmLinkedConfig,
@@ -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,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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;AAG1D,eAAe;IACb,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CACJ,oGAAoG,CACrG;aACA,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;YACjB,KAAK,EAAE,QAAQ;SAChB,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,OAAO,CAAC;YACP;gBACE,wFAAwF;gBACxF,8CAA8C;aAC/C;YACD;gBACE,0GAA0G;gBAC1G,wDAAwD;aACzD;YACD;gBACE,8HAA8H;gBAC9H,4CAA4C;aAC7C;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,mBAAmB;YACnB,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 { confirmLinkedConfig } from \"../../common/middleware/confirm-linked-config.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.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\";\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 .usage(\n \"$0 variable create --name <name> --value <value> --is-secret <boolean> --branch <branch> [options]\"\n )\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 alias: \"apikey\",\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 .example([\n [\n \"$0 variable create --name API_KEY --value my-secret-key --is-secret true --branch main\",\n \"Create a secret variable for the main branch\",\n ],\n [\n \"$0 variable create --name BASE_URL --value https://api.example.com --is-secret false --branch production\",\n \"Create a non-secret variable for the production branch\",\n ],\n [\n \"$0 variable create --name DB_HOST --value localhost --is-secret false --branch dev --account my-account --project my-project\",\n \"Explicitly specify the account and project\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n confirmLinkedConfig,\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
+ {"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,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC1E,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,KAAK,CACJ,oGAAoG,CACrG;aACA,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;YACjB,KAAK,EAAE,QAAQ;SAChB,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,OAAO,CAAC;YACP;gBACE,wFAAwF;gBACxF,8CAA8C;aAC/C;YACD;gBACE,0GAA0G;gBAC1G,wDAAwD;aACzD;YACD;gBACE,8HAA8H;gBAC9H,4CAA4C;aAC7C;SACF,CAAC;aACD,UAAU,CAAC;YACV,YAAY;YACZ,SAAS;YACT,mBAAmB;YACnB,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 { confirmLinkedConfig } from \"../../common/middleware/confirm-linked-config.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\n \"$0 variable create --name <name> --value <value> --is-secret <boolean> --branch <branch> [options]\"\n )\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 alias: \"apikey\",\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 .example([\n [\n \"$0 variable create --name API_KEY --value my-secret-key --is-secret true --branch main\",\n \"Create a secret variable for the main branch\",\n ],\n [\n \"$0 variable create --name BASE_URL --value https://api.example.com --is-secret false --branch production\",\n \"Create a non-secret variable for the production branch\",\n ],\n [\n \"$0 variable create --name DB_HOST --value localhost --is-secret false --branch dev --account my-account --project my-project\",\n \"Explicitly specify the account and project\",\n ],\n ])\n .middleware([\n authenticate,\n configure,\n confirmLinkedConfig,\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;;;;qBAeV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAoDf,OAAO;;AAvD/B,wBA2DE"}
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;oBAmDf,OAAO;;AAtD/B,wBA0DE"}
@@ -5,7 +5,6 @@ import { fetchAccount } from "../../common/middleware/get-account-param.js";
5
5
  import { fetchProject } from "../../common/middleware/get-project-param.js";
6
6
  import { configure } from "../../common/middleware/user-configuration.js";
7
7
  import { identify } from "../../common/middleware/user-identification.js";
8
- import setBlocking from "../../common/output.js";
9
8
  import { update } from "../../variable/update/handler.js";
10
9
  export default {
11
10
  desc: "Updates an existing variable for a branch",
@@ -51,7 +50,6 @@ export default {
51
50
  ],
52
51
  ])
53
52
  .middleware([
54
- setBlocking,
55
53
  authenticate,
56
54
  configure,
57
55
  confirmLinkedConfig,
@@ -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,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,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;AAE1D,eAAe;IACb,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CACJ,8EAA8E,CAC/E;aACA,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;YACjB,KAAK,EAAE,QAAQ;SAChB,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,OAAO,CAAC;YACP;gBACE,wEAAwE;gBACxE,sCAAsC;aACvC;YACD;gBACE,uIAAuI;gBACvI,4CAA4C;aAC7C;SACF,CAAC;aACD,UAAU,CAAC;YACV,WAAW;YACX,YAAY;YACZ,SAAS;YACT,mBAAmB;YACnB,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 { confirmLinkedConfig } from \"../../common/middleware/confirm-linked-config.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.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\";\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 .usage(\n \"$0 variable update --name <name> --value <value> --branch <branch> [options]\"\n )\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 alias: \"apikey\",\n })\n .option(\"account\", {\n type: \"string\",\n describe: \"The account name\",\n })\n .demandOption([\"name\", \"value\", \"branch\"])\n .example([\n [\n \"$0 variable update --name API_KEY --value new-secret-key --branch main\",\n \"Update a variable on the main branch\",\n ],\n [\n \"$0 variable update --name BASE_URL --value https://api.prod.example.com --branch production --account my-account --project my-project\",\n \"Explicitly specify the account and project\",\n ],\n ])\n .middleware([\n setBlocking,\n authenticate,\n configure,\n confirmLinkedConfig,\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"]}
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,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,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,KAAK,CACJ,8EAA8E,CAC/E;aACA,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;YACjB,KAAK,EAAE,QAAQ;SAChB,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,OAAO,CAAC;YACP;gBACE,wEAAwE;gBACxE,sCAAsC;aACvC;YACD;gBACE,uIAAuI;gBACvI,4CAA4C;aAC7C;SACF,CAAC;aACD,UAAU,CAAC;YACV,YAAY;YACZ,SAAS;YACT,mBAAmB;YACnB,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 { confirmLinkedConfig } from \"../../common/middleware/confirm-linked-config.js\";\nimport { fetchAccount } from \"../../common/middleware/get-account-param.js\";\nimport { fetchProject } from \"../../common/middleware/get-project-param.js\";\nimport { configure } from \"../../common/middleware/user-configuration.js\";\nimport { identify } from \"../../common/middleware/user-identification.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 .usage(\n \"$0 variable update --name <name> --value <value> --branch <branch> [options]\"\n )\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 alias: \"apikey\",\n })\n .option(\"account\", {\n type: \"string\",\n describe: \"The account name\",\n })\n .demandOption([\"name\", \"value\", \"branch\"])\n .example([\n [\n \"$0 variable update --name API_KEY --value new-secret-key --branch main\",\n \"Update a variable on the main branch\",\n ],\n [\n \"$0 variable update --name BASE_URL --value https://api.prod.example.com --branch production --account my-account --project my-project\",\n \"Explicitly specify the account and project\",\n ],\n ])\n .middleware([\n authenticate,\n configure,\n confirmLinkedConfig,\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/cmds/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBASV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAYf,OAAO;;AAf/B,wBAmBE"}
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/cmds/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAQV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAYf,OAAO;;AAf/B,wBAmBE"}
@@ -1,6 +1,5 @@
1
1
  import { captureEvent } from "../common/analytics/lib.js";
2
2
  import { identify } from "../common/middleware/user-identification.js";
3
- import setBlocking from "../common/output.js";
4
3
  import { whoami } from "../whoami/handler.js";
5
4
  export default {
6
5
  desc: "Displays the currently authenticated user",
@@ -15,7 +14,7 @@ export default {
15
14
  alias: "apikey",
16
15
  })
17
16
  .example([["$0 whoami", "Display the currently authenticated user"]])
18
- .middleware([setBlocking, identify]);
17
+ .middleware([identify]);
19
18
  },
20
19
  handler: async (argv) => {
21
20
  await captureEvent({ argv, event: "zuplo whoami" });
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/cmds/whoami.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAa,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAe;IACb,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CAAC,qBAAqB,CAAC;aAC5B,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC,CAAC;aACpE,UAAU,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../common/analytics/lib.js\";\nimport { identify } from \"../common/middleware/user-identification.js\";\nimport setBlocking from \"../common/output.js\";\nimport { Arguments, whoami } from \"../whoami/handler.js\";\n\nexport default {\n desc: \"Displays the currently authenticated user\",\n command: \"whoami\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .usage(\"$0 whoami [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .example([[\"$0 whoami\", \"Display the currently authenticated user\"]])\n .middleware([setBlocking, identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo whoami\" });\n await whoami(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/cmds/whoami.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAa,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAe;IACb,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CAAC,qBAAqB,CAAC;aAC5B,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC,CAAC;aACpE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,IAAiB,CAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../common/analytics/lib.js\";\nimport { identify } from \"../common/middleware/user-identification.js\";\nimport { Arguments, whoami } from \"../whoami/handler.js\";\n\nexport default {\n desc: \"Displays the currently authenticated user\",\n command: \"whoami\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .usage(\"$0 whoami [options]\")\n .option(\"api-key\", {\n type: \"string\",\n describe: \"The API Key from Zuplo\",\n envVar: \"API_KEY\",\n alias: \"apikey\",\n })\n .example([[\"$0 whoami\", \"Display the currently authenticated user\"]])\n .middleware([identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo whoami\" });\n await whoami(argv as Arguments);\n },\n};\n"]}
@@ -0,0 +1,17 @@
1
+ export declare function decideAction(
2
+ argv: {
3
+ _?: unknown[];
4
+ },
5
+ here: string
6
+ ): {
7
+ message: string;
8
+ } | null;
9
+ export declare function checkPnpmLifecycle(argv: {
10
+ [key: string]: unknown;
11
+ }): Promise<void>;
12
+ export declare function buildDlxMessage(
13
+ blockedList: string,
14
+ cmd: string
15
+ ): string;
16
+ export declare function buildProjectMessage(blockedList: string): string;
17
+ //# sourceMappingURL=check-pnpm-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-pnpm-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/common/middleware/check-pnpm-lifecycle.ts"],"names":[],"mappings":"AAwBA,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,EACvB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0B5B;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,iBAOxE;AA2BD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BxE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAmB/D"}
@@ -0,0 +1,96 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import { logger } from "../logger.js";
4
+ import { printCriticalFailureToConsoleAndExit } from "../output.js";
5
+ import { CRITICAL_BUILD_DEPS, formatCommand, getBlockedCriticalDeps, isPnpmDlx, } from "../utils/pnpm-lifecycle.js";
6
+ const SKIP_ENV_VAR = "ZUPLO_SKIP_PNPM_LIFECYCLE_CHECK";
7
+ export function decideAction(argv, here) {
8
+ if (process.env[SKIP_ENV_VAR]) {
9
+ logger.debug(`pnpm lifecycle check skipped via ${SKIP_ENV_VAR}`);
10
+ return null;
11
+ }
12
+ let blocked;
13
+ try {
14
+ blocked = getBlockedCriticalDeps(here);
15
+ }
16
+ catch (cause) {
17
+ logger.debug({ cause }, "pnpm lifecycle check threw; ignoring");
18
+ return null;
19
+ }
20
+ if (blocked.length === 0) {
21
+ return null;
22
+ }
23
+ const list = blocked.join(", ");
24
+ const cmd = formatCommand(argv);
25
+ const message = isPnpmDlx(here)
26
+ ? buildDlxMessage(list, cmd)
27
+ : buildProjectMessage(list);
28
+ return { message };
29
+ }
30
+ export async function checkPnpmLifecycle(argv) {
31
+ const here = path.dirname(fileURLToPath(import.meta.url));
32
+ const action = decideAction(argv, here);
33
+ if (action === null) {
34
+ return;
35
+ }
36
+ await printCriticalFailureToConsoleAndExit(action.message);
37
+ }
38
+ const SORTED_DEPS = [...CRITICAL_BUILD_DEPS].sort();
39
+ const ALLOW_BUILD_FLAGS = SORTED_DEPS.map((dep) => `--allow-build=${dep}`).join(" ");
40
+ const ONLY_BUILT_DEPENDENCIES_YAML = [
41
+ "onlyBuiltDependencies:",
42
+ ...SORTED_DEPS.map((dep) => dep.startsWith("@") ? ` - "${dep}"` : ` - ${dep}`),
43
+ ];
44
+ const ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON = [
45
+ '"pnpm": {',
46
+ ` "onlyBuiltDependencies": [${SORTED_DEPS.map((dep) => `"${dep}"`).join(", ")}]`,
47
+ "}",
48
+ ];
49
+ export function buildDlxMessage(blockedList, cmd) {
50
+ return [
51
+ `pnpm blocked install scripts for required Zuplo binaries: ${blockedList}.`,
52
+ "",
53
+ "These packages need their postinstall scripts to install platform-specific",
54
+ "binaries. pnpm's dlx cache (used by pnpx) is ephemeral and ignores your",
55
+ "project's config, so the scripts never run.",
56
+ "",
57
+ "For one-off use, re-run with --allow-build:",
58
+ "",
59
+ ` pnpx ${ALLOW_BUILD_FLAGS} zuplo ${cmd}`,
60
+ "",
61
+ "For repeated use, install zuplo in your project (recommended). First",
62
+ "approve the build scripts in pnpm-workspace.yaml at your project root:",
63
+ "",
64
+ ...ONLY_BUILT_DEPENDENCIES_YAML,
65
+ "",
66
+ "Or, equivalently, in package.json:",
67
+ "",
68
+ ...ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON,
69
+ "",
70
+ "Then:",
71
+ "",
72
+ " pnpm add -D zuplo",
73
+ ` pnpm zuplo ${cmd}`,
74
+ ].join("\n");
75
+ }
76
+ export function buildProjectMessage(blockedList) {
77
+ return [
78
+ `pnpm blocked install scripts for required Zuplo binaries: ${blockedList}.`,
79
+ "",
80
+ "These packages need their postinstall scripts to install platform-specific",
81
+ "binaries. Your project is missing onlyBuiltDependencies for them.",
82
+ "",
83
+ "Add this to pnpm-workspace.yaml at your project root:",
84
+ "",
85
+ ...ONLY_BUILT_DEPENDENCIES_YAML,
86
+ "",
87
+ "Or, equivalently, in package.json:",
88
+ "",
89
+ ...ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON,
90
+ "",
91
+ "Then re-install:",
92
+ "",
93
+ " pnpm install",
94
+ ].join("\n");
95
+ }
96
+ //# sourceMappingURL=check-pnpm-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-pnpm-lifecycle.js","sourceRoot":"","sources":["../../../src/common/middleware/check-pnpm-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,SAAS,GACV,MAAM,4BAA4B,CAAC;AAEpC,MAAM,YAAY,GAAG,iCAAiC,CAAC;AAavD,MAAM,UAAU,YAAY,CAC1B,IAAuB,EACvB,IAAY;IAGZ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC;QAC5B,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAgC;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,oCAAoC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAKD,MAAM,WAAW,GAAsB,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;AAEvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,IAAI,CAC7E,GAAG,CACJ,CAAC;AAKF,MAAM,4BAA4B,GAAG;IACnC,wBAAwB;IACxB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CACpD;CACF,CAAC;AAEF,MAAM,oCAAoC,GAAG;IAC3C,WAAW;IACX,+BAA+B,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IACjF,GAAG;CACJ,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,GAAW;IAC9D,OAAO;QACL,6DAA6D,WAAW,GAAG;QAC3E,EAAE;QACF,4EAA4E;QAC5E,yEAAyE;QACzE,6CAA6C;QAC7C,EAAE;QACF,6CAA6C;QAC7C,EAAE;QACF,UAAU,iBAAiB,UAAU,GAAG,EAAE;QAC1C,EAAE;QACF,sEAAsE;QACtE,wEAAwE;QACxE,EAAE;QACF,GAAG,4BAA4B;QAC/B,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,GAAG,oCAAoC;QACvC,EAAE;QACF,OAAO;QACP,EAAE;QACF,qBAAqB;QACrB,gBAAgB,GAAG,EAAE;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO;QACL,6DAA6D,WAAW,GAAG;QAC3E,EAAE;QACF,4EAA4E;QAC5E,mEAAmE;QACnE,EAAE;QACF,uDAAuD;QACvD,EAAE;QACF,GAAG,4BAA4B;QAC/B,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,GAAG,oCAAoC;QACvC,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC","sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { logger } from \"../logger.js\";\nimport { printCriticalFailureToConsoleAndExit } from \"../output.js\";\nimport {\n CRITICAL_BUILD_DEPS,\n formatCommand,\n getBlockedCriticalDeps,\n isPnpmDlx,\n} from \"../utils/pnpm-lifecycle.js\";\n\nconst SKIP_ENV_VAR = \"ZUPLO_SKIP_PNPM_LIFECYCLE_CHECK\";\n\n/**\n * Pure-ish decision function: given argv and the CLI's install directory,\n * decide whether the preflight should fail and what to say.\n *\n * Returns null when the command should proceed (bypass set, no `.modules.yaml`\n * found, no critical builds blocked, or detection threw). Returns a non-null\n * object when the caller must exit with the message.\n *\n * Separate from `checkPnpmLifecycle` so tests can drive the decision with\n * controlled fixtures without mocking process.exit.\n */\nexport function decideAction(\n argv: { _?: unknown[] },\n here: string\n): { message: string } | null {\n // biome-ignore lint/style/noProcessEnv: Intentional escape hatch for support cases\n if (process.env[SKIP_ENV_VAR]) {\n logger.debug(`pnpm lifecycle check skipped via ${SKIP_ENV_VAR}`);\n return null;\n }\n\n let blocked: string[];\n try {\n blocked = getBlockedCriticalDeps(here);\n } catch (cause) {\n logger.debug({ cause }, \"pnpm lifecycle check threw; ignoring\");\n return null;\n }\n\n if (blocked.length === 0) {\n return null;\n }\n\n const list = blocked.join(\", \");\n const cmd = formatCommand(argv);\n const message = isPnpmDlx(here)\n ? buildDlxMessage(list, cmd)\n : buildProjectMessage(list);\n\n return { message };\n}\n\nexport async function checkPnpmLifecycle(argv: { [key: string]: unknown }) {\n const here = path.dirname(fileURLToPath(import.meta.url));\n const action = decideAction(argv, here);\n if (action === null) {\n return;\n }\n await printCriticalFailureToConsoleAndExit(action.message);\n}\n\n// All user-facing package lists are derived from CRITICAL_BUILD_DEPS so the\n// remediation instructions can never drift from the detection logic. Sorted\n// alphabetically for stable presentation across messages.\nconst SORTED_DEPS: readonly string[] = [...CRITICAL_BUILD_DEPS].sort();\n\nconst ALLOW_BUILD_FLAGS = SORTED_DEPS.map((dep) => `--allow-build=${dep}`).join(\n \" \"\n);\n\n// Scoped packages (leading \"@\") need quotes in YAML because \"@\" is a reserved\n// char in some contexts; bare names don't. Both blocks live at column 0 so\n// users can paste them directly without re-indenting.\nconst ONLY_BUILT_DEPENDENCIES_YAML = [\n \"onlyBuiltDependencies:\",\n ...SORTED_DEPS.map((dep) =>\n dep.startsWith(\"@\") ? ` - \"${dep}\"` : ` - ${dep}`\n ),\n];\n\nconst ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON = [\n '\"pnpm\": {',\n ` \"onlyBuiltDependencies\": [${SORTED_DEPS.map((dep) => `\"${dep}\"`).join(\", \")}]`,\n \"}\",\n];\n\nexport function buildDlxMessage(blockedList: string, cmd: string): string {\n return [\n `pnpm blocked install scripts for required Zuplo binaries: ${blockedList}.`,\n \"\",\n \"These packages need their postinstall scripts to install platform-specific\",\n \"binaries. pnpm's dlx cache (used by pnpx) is ephemeral and ignores your\",\n \"project's config, so the scripts never run.\",\n \"\",\n \"For one-off use, re-run with --allow-build:\",\n \"\",\n ` pnpx ${ALLOW_BUILD_FLAGS} zuplo ${cmd}`,\n \"\",\n \"For repeated use, install zuplo in your project (recommended). First\",\n \"approve the build scripts in pnpm-workspace.yaml at your project root:\",\n \"\",\n ...ONLY_BUILT_DEPENDENCIES_YAML,\n \"\",\n \"Or, equivalently, in package.json:\",\n \"\",\n ...ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON,\n \"\",\n \"Then:\",\n \"\",\n \" pnpm add -D zuplo\",\n ` pnpm zuplo ${cmd}`,\n ].join(\"\\n\");\n}\n\nexport function buildProjectMessage(blockedList: string): string {\n return [\n `pnpm blocked install scripts for required Zuplo binaries: ${blockedList}.`,\n \"\",\n \"These packages need their postinstall scripts to install platform-specific\",\n \"binaries. Your project is missing onlyBuiltDependencies for them.\",\n \"\",\n \"Add this to pnpm-workspace.yaml at your project root:\",\n \"\",\n ...ONLY_BUILT_DEPENDENCIES_YAML,\n \"\",\n \"Or, equivalently, in package.json:\",\n \"\",\n ...ONLY_BUILT_DEPENDENCIES_PACKAGE_JSON,\n \"\",\n \"Then re-install:\",\n \"\",\n \" pnpm install\",\n ].join(\"\\n\");\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=check-pnpm-lifecycle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-pnpm-lifecycle.test.d.ts","sourceRoot":"","sources":["../../../src/common/middleware/check-pnpm-lifecycle.test.ts"],"names":[],"mappings":""}