@zuplo/cli 6.70.27 → 6.70.28

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 (47) hide show
  1. package/dist/cmds/project/index.d.ts.map +1 -1
  2. package/dist/cmds/project/index.js +2 -1
  3. package/dist/cmds/project/index.js.map +1 -1
  4. package/dist/cmds/project/list.d.ts +9 -0
  5. package/dist/cmds/project/list.d.ts.map +1 -0
  6. package/dist/cmds/project/list.js +52 -0
  7. package/dist/cmds/project/list.js.map +1 -0
  8. package/dist/cmds/test.d.ts.map +1 -1
  9. package/dist/cmds/test.js +4 -0
  10. package/dist/cmds/test.js.map +1 -1
  11. package/dist/project/list/handler.d.ts +7 -0
  12. package/dist/project/list/handler.d.ts.map +1 -0
  13. package/dist/project/list/handler.js +49 -0
  14. package/dist/project/list/handler.js.map +1 -0
  15. package/dist/test/handler.d.ts +1 -0
  16. package/dist/test/handler.d.ts.map +1 -1
  17. package/dist/test/handler.js.map +1 -1
  18. package/dist/test/invoke-test.d.ts.map +1 -1
  19. package/dist/test/invoke-test.js +46 -19
  20. package/dist/test/invoke-test.js.map +1 -1
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/node_modules/@zuplo/core/package.json +1 -1
  23. package/node_modules/@zuplo/graphql/package.json +1 -1
  24. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  25. package/node_modules/@zuplo/otel/package.json +1 -1
  26. package/node_modules/@zuplo/runtime/out/esm/{chunk-H7UGARU6.js → chunk-F7DJMBWH.js} +1 -1
  27. package/node_modules/@zuplo/runtime/out/esm/{chunk-H7UGARU6.js.map → chunk-F7DJMBWH.js.map} +1 -1
  28. package/node_modules/@zuplo/runtime/out/esm/{chunk-P4G7GA42.js → chunk-TEXCCTJT.js} +63 -63
  29. package/node_modules/@zuplo/runtime/out/esm/chunk-TEXCCTJT.js.map +1 -0
  30. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  31. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  32. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +19 -21
  33. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
  34. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  35. package/node_modules/@zuplo/runtime/out/types/index.d.ts +36 -0
  36. package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +4 -4
  37. package/node_modules/@zuplo/runtime/package.json +1 -1
  38. package/node_modules/pino-http/node_modules/thread-stream/.claude/settings.local.json +15 -0
  39. package/node_modules/pino-http/node_modules/thread-stream/index.js +92 -87
  40. package/node_modules/pino-http/node_modules/thread-stream/lib/indexes.js +3 -1
  41. package/node_modules/pino-http/node_modules/thread-stream/lib/wait.js +11 -2
  42. package/node_modules/pino-http/node_modules/thread-stream/lib/worker.js +27 -9
  43. package/node_modules/pino-http/node_modules/thread-stream/package.json +2 -2
  44. package/node_modules/pino-http/node_modules/thread-stream/test/multibyte-overrun.test.mjs +33 -0
  45. package/package.json +6 -6
  46. package/node_modules/@zuplo/runtime/out/esm/chunk-P4G7GA42.js.map +0 -1
  47. /package/node_modules/@zuplo/runtime/out/esm/{chunk-P4G7GA42.js.LEGAL.txt → chunk-TEXCCTJT.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,QAAA,MAAM,QAAQ,EAAE,aAIf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,QAAA,MAAM,QAAQ,EAAE,aAMf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { showHelpOnNoSubcommand } from "../../common/handler.js";
2
2
  import create from "./create.js";
3
3
  import info from "./info.js";
4
+ import list from "./list.js";
4
5
  const commands = {
5
6
  describe: "Project management commands",
6
7
  command: "project",
7
- ...showHelpOnNoSubcommand((yargs) => yargs.command(create).command(info)),
8
+ ...showHelpOnNoSubcommand((yargs) => yargs.command(create).command(info).command(list)),
8
9
  };
9
10
  export default commands;
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmds/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,QAAQ,GAAkB;IAC9B,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,SAAS;IAClB,GAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import { CommandModule } from \"yargs\";\nimport { showHelpOnNoSubcommand } from \"../../common/handler.js\";\nimport create from \"./create.js\";\nimport info from \"./info.js\";\n\nconst commands: CommandModule = {\n describe: \"Project management commands\",\n command: \"project\",\n ...showHelpOnNoSubcommand((yargs) => yargs.command(create).command(info)),\n};\n\nexport default commands;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmds/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,QAAQ,GAAkB;IAC9B,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,SAAS;IAClB,GAAG,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAClD;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import { CommandModule } from \"yargs\";\nimport { showHelpOnNoSubcommand } from \"../../common/handler.js\";\nimport create from \"./create.js\";\nimport info from \"./info.js\";\nimport list from \"./list.js\";\n\nconst commands: CommandModule = {\n describe: \"Project management commands\",\n command: \"project\",\n ...showHelpOnNoSubcommand((yargs) =>\n yargs.command(create).command(info).command(list)\n ),\n};\n\nexport default commands;\n"]}
@@ -0,0 +1,9 @@
1
+ import { Argv } from "yargs";
2
+ declare const _default: {
3
+ desc: string;
4
+ command: string;
5
+ builder: (yargs: Argv) => Argv<unknown>;
6
+ handler: (argv: unknown) => Promise<void>;
7
+ };
8
+ export default _default;
9
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cmds/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAYV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAoCf,OAAO;;AAvC/B,wBA2CE"}
@@ -0,0 +1,52 @@
1
+ import { captureEvent } from "../../common/analytics/lib.js";
2
+ import { authenticate } from "../../common/middleware/authentication.js";
3
+ import { fetchAccount } from "../../common/middleware/get-account-param.js";
4
+ import { configure } from "../../common/middleware/user-configuration.js";
5
+ import { identify } from "../../common/middleware/user-identification.js";
6
+ import setBlocking from "../../common/output.js";
7
+ import { list } from "../../project/list/handler.js";
8
+ export default {
9
+ desc: "Lists the projects in your account",
10
+ command: "list",
11
+ builder: (yargs) => {
12
+ return yargs
13
+ .usage("$0 project list [options]")
14
+ .option("api-key", {
15
+ type: "string",
16
+ describe: "The API Key from Zuplo",
17
+ envVar: "API_KEY",
18
+ alias: "apikey",
19
+ })
20
+ .option("account", {
21
+ type: "string",
22
+ describe: "The account name",
23
+ })
24
+ .option("output", {
25
+ type: "string",
26
+ alias: "o",
27
+ describe: "Output format",
28
+ choices: ["default", "json"],
29
+ default: "default",
30
+ })
31
+ .example([
32
+ ["$0 project list", "List all projects in your account"],
33
+ ["$0 project list --output json", "List all projects as JSON"],
34
+ [
35
+ "$0 project list --account my-account",
36
+ "Explicitly specify the account",
37
+ ],
38
+ ])
39
+ .middleware([
40
+ setBlocking,
41
+ authenticate,
42
+ configure,
43
+ fetchAccount,
44
+ identify,
45
+ ]);
46
+ },
47
+ handler: async (argv) => {
48
+ await captureEvent({ argv, event: "zuplo project list" });
49
+ await list(argv);
50
+ },
51
+ };
52
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cmds/project/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,+BAA+B,CAAC;AAEhE,eAAe;IACb,IAAI,EAAE,oCAAoC;IAC1C,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CAAC,2BAA2B,CAAC;aAClC,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,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YAC5B,OAAO,EAAE,SAAS;SACnB,CAAC;aACD,OAAO,CAAC;YACP,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;YACxD,CAAC,+BAA+B,EAAE,2BAA2B,CAAC;YAC9D;gBACE,sCAAsC;gBACtC,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,oBAAoB,EAAE,CAAC,CAAC;QAC1D,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 \"../../project/list/handler.js\";\n\nexport default {\n desc: \"Lists the projects in your account\",\n command: \"list\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .usage(\"$0 project 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 .option(\"account\", {\n type: \"string\",\n describe: \"The account name\",\n })\n .option(\"output\", {\n type: \"string\",\n alias: \"o\",\n describe: \"Output format\",\n choices: [\"default\", \"json\"],\n default: \"default\",\n })\n .example([\n [\"$0 project list\", \"List all projects in your account\"],\n [\"$0 project list --output json\", \"List all projects as JSON\"],\n [\n \"$0 project 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 project list\" });\n await list(argv as Arguments);\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/cmds/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAWV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAgDf,OAAO;;AAnD/B,wBAuDE"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/cmds/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;;;;qBAWV,IAAI,KAAG,IAAI,CAAC,OAAO,CAAC;oBAoDf,OAAO;;AAvD/B,wBA2DE"}
package/dist/cmds/test.js CHANGED
@@ -18,6 +18,10 @@ export default {
18
18
  .option("filter", {
19
19
  type: "string",
20
20
  describe: "A filter to run a subset of tests (e.g., --filter 'test name' or --filter '/test-name-regex/')",
21
+ })
22
+ .option("test-concurrency", {
23
+ type: "number",
24
+ hidden: true,
21
25
  })
22
26
  .option("dir", {
23
27
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/cmds/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAa,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAe;IACb,IAAI,EAAE,iDAAiD;IACvD,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CAAC,oCAAoC,CAAC;aAC3C,MAAM,CAAC,UAAU,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,0CAA0C;YACpD,YAAY,EAAE,IAAI;SACnB,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EACN,gGAAgG;SACnG,CAAC;aACD,MAAM,CAAC,KAAK,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,yCAAyC;YACnD,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;SACb,CAAC;aACD,OAAO,CAAC;YACP;gBACE,sDAAsD;gBACtD,yCAAyC;aAC1C;YACD;gBACE,sEAAsE;gBACtE,8CAA8C;aAC/C;YACD;gBACE,4EAA4E;gBAC5E,oCAAoC;aACrC;YACD;gBACE,qEAAqE;gBACrE,sCAAsC;aACvC;SACF,CAAC;aACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAEpB,WAAW,CAAC,IAAI,CAAC,QAAkB,EAAE,YAAY,CAAC,CAAC;YAEnD,OAAO,MAAM,IAAI,YAAY,CAC3B,2BAA2B,CAC5B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;aACD,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,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAiB,CAAC,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../common/analytics/lib.js\";\nimport { identify } from \"../common/middleware/user-identification.js\";\nimport { validateUrl } from \"../common/validators/argument-validators.js\";\nimport { validTestDirectoryValidator } from \"../common/validators/file-system-validator.js\";\nimport { YargsChecker } from \"../common/validators/lib.js\";\nimport { Arguments, test } from \"../test/handler.js\";\n\nexport default {\n desc: \"Runs the tests under /tests against an endpoint\",\n command: \"test\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .usage(\"$0 test --endpoint <url> [options]\")\n .option(\"endpoint\", {\n type: \"string\",\n describe: \"The URL of the Zuplo API to test against\",\n demandOption: true,\n })\n .option(\"filter\", {\n type: \"string\",\n describe:\n \"A filter to run a subset of tests (e.g., --filter 'test name' or --filter '/test-name-regex/')\",\n })\n .option(\"dir\", {\n type: \"string\",\n describe: \"The directory containing your Zuplo API\",\n default: \".\",\n normalize: true,\n hidden: true,\n })\n .example([\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app\",\n \"Run all tests against your deployed API\",\n ],\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app --filter 'auth'\",\n \"Run only tests matching 'auth' in their name\",\n ],\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app --filter '/api\\\\/v1/'\",\n \"Run tests matching a regex pattern\",\n ],\n [\n \"MY_VAR=example $0 test --endpoint https://your-api-123abc.zuplo.app\",\n \"Run tests with environment variables\",\n ],\n ])\n .check(async (argv) => {\n // Validate endpoint is a valid URL\n validateUrl(argv.endpoint as string, \"--endpoint\");\n\n return await new YargsChecker<typeof argv>(\n validTestDirectoryValidator\n ).check(argv);\n })\n .middleware([identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo test\" });\n await test(argv as Arguments);\n },\n};\n"]}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/cmds/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAa,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAe;IACb,IAAI,EAAE,iDAAiD;IACvD,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,KAAK,CAAC,oCAAoC,CAAC;aAC3C,MAAM,CAAC,UAAU,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,0CAA0C;YACpD,YAAY,EAAE,IAAI;SACnB,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EACN,gGAAgG;SACnG,CAAC;aACD,MAAM,CAAC,kBAAkB,EAAE;YAC1B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;SACb,CAAC;aACD,MAAM,CAAC,KAAK,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,yCAAyC;YACnD,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;SACb,CAAC;aACD,OAAO,CAAC;YACP;gBACE,sDAAsD;gBACtD,yCAAyC;aAC1C;YACD;gBACE,sEAAsE;gBACtE,8CAA8C;aAC/C;YACD;gBACE,4EAA4E;gBAC5E,oCAAoC;aACrC;YACD;gBACE,qEAAqE;gBACrE,sCAAsC;aACvC;SACF,CAAC;aACD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAEpB,WAAW,CAAC,IAAI,CAAC,QAAkB,EAAE,YAAY,CAAC,CAAC;YAEnD,OAAO,MAAM,IAAI,YAAY,CAC3B,2BAA2B,CAC5B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;aACD,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,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAiB,CAAC,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["import { Argv } from \"yargs\";\nimport { captureEvent } from \"../common/analytics/lib.js\";\nimport { identify } from \"../common/middleware/user-identification.js\";\nimport { validateUrl } from \"../common/validators/argument-validators.js\";\nimport { validTestDirectoryValidator } from \"../common/validators/file-system-validator.js\";\nimport { YargsChecker } from \"../common/validators/lib.js\";\nimport { Arguments, test } from \"../test/handler.js\";\n\nexport default {\n desc: \"Runs the tests under /tests against an endpoint\",\n command: \"test\",\n builder: (yargs: Argv): Argv<unknown> => {\n return yargs\n .usage(\"$0 test --endpoint <url> [options]\")\n .option(\"endpoint\", {\n type: \"string\",\n describe: \"The URL of the Zuplo API to test against\",\n demandOption: true,\n })\n .option(\"filter\", {\n type: \"string\",\n describe:\n \"A filter to run a subset of tests (e.g., --filter 'test name' or --filter '/test-name-regex/')\",\n })\n .option(\"test-concurrency\", {\n type: \"number\",\n hidden: true,\n })\n .option(\"dir\", {\n type: \"string\",\n describe: \"The directory containing your Zuplo API\",\n default: \".\",\n normalize: true,\n hidden: true,\n })\n .example([\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app\",\n \"Run all tests against your deployed API\",\n ],\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app --filter 'auth'\",\n \"Run only tests matching 'auth' in their name\",\n ],\n [\n \"$0 test --endpoint https://your-api-123abc.zuplo.app --filter '/api\\\\/v1/'\",\n \"Run tests matching a regex pattern\",\n ],\n [\n \"MY_VAR=example $0 test --endpoint https://your-api-123abc.zuplo.app\",\n \"Run tests with environment variables\",\n ],\n ])\n .check(async (argv) => {\n // Validate endpoint is a valid URL\n validateUrl(argv.endpoint as string, \"--endpoint\");\n\n return await new YargsChecker<typeof argv>(\n validTestDirectoryValidator\n ).check(argv);\n })\n .middleware([identify]);\n },\n handler: async (argv: unknown) => {\n await captureEvent({ argv, event: \"zuplo test\" });\n await test(argv as Arguments);\n },\n};\n"]}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ authToken: string;
4
+ output?: "default" | "json";
5
+ }
6
+ export declare function list(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/project/list/handler.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AA4BD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAgDzC"}
@@ -0,0 +1,49 @@
1
+ import { logger } from "../../common/logger.js";
2
+ import { printDiagnosticsToConsole, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
+ import settings from "../../common/settings.js";
4
+ function toTableRows(projects) {
5
+ return projects.map((project) => ({
6
+ name: project.name,
7
+ type: project.type,
8
+ "product-type": project.productType,
9
+ }));
10
+ }
11
+ export async function list(argv) {
12
+ const { account } = argv;
13
+ const url = new URL(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/projects`);
14
+ url.searchParams.set("accountName", account);
15
+ const listResponse = await fetch(url, {
16
+ method: "GET",
17
+ headers: {
18
+ Authorization: `Bearer ${argv.authToken}`,
19
+ },
20
+ });
21
+ if (listResponse.ok) {
22
+ const { data: projects } = await listResponse.json();
23
+ if (projects.length === 0) {
24
+ if (argv.output === "json") {
25
+ await printJsonToConsoleAndExitGracefully([]);
26
+ }
27
+ else {
28
+ await printResultToConsoleAndExitGracefully("No projects found");
29
+ }
30
+ return;
31
+ }
32
+ if (argv.output === "json") {
33
+ await printJsonToConsoleAndExitGracefully(projects);
34
+ }
35
+ else {
36
+ await printTableToConsoleAndExitGracefully(toTableRows(projects));
37
+ }
38
+ return;
39
+ }
40
+ const response = textOrJson(await listResponse.text());
41
+ logger.error({
42
+ status: listResponse.status,
43
+ statusText: listResponse.statusText,
44
+ response,
45
+ }, "Failed to list projects for account");
46
+ printDiagnosticsToConsole("Error: Failed to list projects for your account. Try again later.", response);
47
+ process.exit(1);
48
+ }
49
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/project/list/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,qCAAqC,EACrC,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AA0BhD,SAAS,WAAW,CAAC,QAAmB;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,cAAc,EAAE,OAAO,CAAC,WAAW;KACpC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,4BAA4B,cAAc,CAAC,CAAC;IAC5E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAwB,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAE1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,mCAAmC,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,qCAAqC,CAAC,mBAAmB,CAAC,CAAC;YACnE,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,mCAAmC,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,QAAQ;KACT,EACD,qCAAqC,CACtC,CAAC;IACF,yBAAyB,CACvB,mEAAmE,EACnE,QAAQ,CACT,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n output?: \"default\" | \"json\";\n}\n\ninterface Project {\n name: string;\n id: string;\n type: string;\n productType: string;\n accountName: string;\n createdOn?: number;\n sourceRepoUrl?: string | null;\n defaultBranch?: string | null;\n sourceControlProvider?: string | null;\n}\n\ninterface ProjectTableRow {\n name: string;\n type: string;\n \"product-type\": string;\n}\n\nfunction toTableRows(projects: Project[]): ProjectTableRow[] {\n return projects.map((project) => ({\n name: project.name,\n type: project.type,\n \"product-type\": project.productType,\n }));\n}\n\nexport async function list(argv: Arguments) {\n const { account } = argv;\n\n const url = new URL(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/projects`);\n url.searchParams.set(\"accountName\", account);\n\n const listResponse = await fetch(url, {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n });\n\n if (listResponse.ok) {\n const { data: projects }: { data: Project[] } = await listResponse.json();\n\n if (projects.length === 0) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully([]);\n } else {\n await printResultToConsoleAndExitGracefully(\"No projects found\");\n }\n return;\n }\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(projects);\n } else {\n await printTableToConsoleAndExitGracefully(toTableRows(projects));\n }\n return;\n }\n\n const response = textOrJson(await listResponse.text());\n logger.error(\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response,\n },\n \"Failed to list projects for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to list projects for your account. Try again later.\",\n response\n );\n process.exit(1);\n}\n"]}
@@ -2,6 +2,7 @@ export interface Arguments {
2
2
  dir: string;
3
3
  endpoint: string;
4
4
  filter: string;
5
+ testConcurrency?: number;
5
6
  }
6
7
  export declare function test(argv: Arguments): Promise<void>;
7
8
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBA0BzC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBA0BzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAwB,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IAExC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC1D,UAAU,CAAC,OAAO,CAAC,CAAC;IAGpB,MAAM,MAAM,GAAgB,MAAM,OAAO,CAAC,KAAK,CAAC;QAC9C,GAAG,2BAA2B,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;KACrC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,MAAM,EACb,qCAAqC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QAEN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC","sourcesContent":["import path from \"node:path\";\nimport esbuild, { BuildResult } from \"esbuild\";\nimport { rimrafSync } from \"rimraf\";\nimport { TEST_IN_FOLDER, TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { generateBuildOptionsForTest } from \"./esbuild-config.js\";\nimport { runTests } from \"./invoke-test.js\";\nimport { findTestFiles } from \"./test-files.js\";\n\nexport interface Arguments {\n dir: string;\n endpoint: string;\n filter: string;\n}\n\nexport async function test(argv: Arguments) {\n // 1. Clean out the folder\n const normalizedDir = path.resolve(argv.dir);\n const testDir = path.join(normalizedDir, TEST_OUT_FOLDER);\n rimrafSync(testDir);\n\n // 2. Build the test files\n const result: BuildResult = await esbuild.build({\n ...generateBuildOptionsForTest(argv),\n entryPoints: findTestFiles(argv.dir),\n });\n\n if (result.warnings.length > 0) {\n logger.debug(result.warnings);\n }\n\n if (result.errors.length > 0) {\n logger.error(\n result.errors,\n `Failed to build the test files in ${argv.dir}/${TEST_IN_FOLDER}`\n );\n } else {\n // 3. Run `node test`\n const { exitCode } = await runTests(argv);\n process.exit(exitCode);\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAwB,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IAExC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC1D,UAAU,CAAC,OAAO,CAAC,CAAC;IAGpB,MAAM,MAAM,GAAgB,MAAM,OAAO,CAAC,KAAK,CAAC;QAC9C,GAAG,2BAA2B,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;KACrC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,MAAM,EACb,qCAAqC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QAEN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC","sourcesContent":["import path from \"node:path\";\nimport esbuild, { BuildResult } from \"esbuild\";\nimport { rimrafSync } from \"rimraf\";\nimport { TEST_IN_FOLDER, TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { generateBuildOptionsForTest } from \"./esbuild-config.js\";\nimport { runTests } from \"./invoke-test.js\";\nimport { findTestFiles } from \"./test-files.js\";\n\nexport interface Arguments {\n dir: string;\n endpoint: string;\n filter: string;\n testConcurrency?: number;\n}\n\nexport async function test(argv: Arguments) {\n // 1. Clean out the folder\n const normalizedDir = path.resolve(argv.dir);\n const testDir = path.join(normalizedDir, TEST_OUT_FOLDER);\n rimrafSync(testDir);\n\n // 2. Build the test files\n const result: BuildResult = await esbuild.build({\n ...generateBuildOptionsForTest(argv),\n entryPoints: findTestFiles(argv.dir),\n });\n\n if (result.warnings.length > 0) {\n logger.debug(result.warnings);\n }\n\n if (result.errors.length > 0) {\n logger.error(\n result.errors,\n `Failed to build the test files in ${argv.dir}/${TEST_IN_FOLDER}`\n );\n } else {\n // 3. Run `node test`\n const { exitCode } = await runTests(argv);\n process.exit(exitCode);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"invoke-test.d.ts","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAS,MAAM,OAAO,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAkCpD"}
1
+ {"version":3,"file":"invoke-test.d.ts","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAS,MAAM,OAAO,CAAC;AAI/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAuBpD"}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { execa } from "execa";
3
+ import fg from "fast-glob";
3
4
  import { TEST_OUT_FOLDER } from "../common/constants.js";
4
5
  import { logger } from "../common/logger.js";
5
6
  class MissingNodeExecutableError extends Error {
@@ -11,29 +12,55 @@ class MissingNodeExecutableError extends Error {
11
12
  export async function runTests(argv) {
12
13
  const nodeExecutable = process.platform === "win32" ? "node.exe" : "node";
13
14
  if (nodeExecutable) {
14
- const args = ["--test", "--test-reporter=spec", "--enable-source-maps"];
15
- if (argv.filter) {
16
- args.push("--test-name-pattern", argv.filter);
17
- }
18
- const nodeVersion = parseInt(process.versions.node.split(".")[0], 10);
19
- const globPattern = nodeVersion >= 21
20
- ? path.join(argv.dir, TEST_OUT_FOLDER, "**", "*.test.mjs")
21
- : path.join(argv.dir, TEST_OUT_FOLDER);
22
- args.push(globPattern);
23
- const nodeProcess = execa(nodeExecutable, args);
24
- nodeProcess.stdout?.pipe(process.stdout);
25
- nodeProcess.stderr?.pipe(process.stderr);
26
- try {
27
- const result = await nodeProcess;
28
- return result;
29
- }
30
- catch (err) {
31
- logger.debug(err);
32
- return { exitCode: err.exitCode };
15
+ const args = buildNodeTestArgs(argv);
16
+ const serialTestTargets = argv.testConcurrency === 1 ? findCompiledTestFiles(argv.dir) : [];
17
+ const testTargets = serialTestTargets.length > 0
18
+ ? serialTestTargets
19
+ : [compiledTestGlob(argv.dir)];
20
+ for (const testTarget of testTargets) {
21
+ const result = await runNodeTest(nodeExecutable, [...args, testTarget]);
22
+ if (result.exitCode !== 0) {
23
+ return result;
24
+ }
33
25
  }
26
+ return { exitCode: 0 };
34
27
  }
35
28
  else {
36
29
  throw new MissingNodeExecutableError();
37
30
  }
38
31
  }
32
+ function buildNodeTestArgs(argv) {
33
+ const args = ["--test", "--test-reporter=spec", "--enable-source-maps"];
34
+ if (argv.testConcurrency !== undefined && argv.testConcurrency !== 1) {
35
+ args.push(`--test-concurrency=${argv.testConcurrency}`);
36
+ }
37
+ if (argv.filter) {
38
+ args.push("--test-name-pattern", argv.filter);
39
+ }
40
+ return args;
41
+ }
42
+ function compiledTestGlob(dir) {
43
+ const nodeVersion = parseInt(process.versions.node.split(".")[0], 10);
44
+ return nodeVersion >= 21
45
+ ? path.join(dir, TEST_OUT_FOLDER, "**", "*.test.mjs")
46
+ : path.join(dir, TEST_OUT_FOLDER);
47
+ }
48
+ function findCompiledTestFiles(dir) {
49
+ const normalizedDir = path.normalize(dir);
50
+ const testOutDir = fg.convertPathToPattern(path.join(normalizedDir, TEST_OUT_FOLDER));
51
+ return fg.sync(path.posix.join(testOutDir, "**", "*.test.mjs")).sort();
52
+ }
53
+ async function runNodeTest(nodeExecutable, args) {
54
+ const nodeProcess = execa(nodeExecutable, args);
55
+ nodeProcess.stdout?.pipe(process.stdout);
56
+ nodeProcess.stderr?.pipe(process.stderr);
57
+ try {
58
+ const result = await nodeProcess;
59
+ return result;
60
+ }
61
+ catch (err) {
62
+ logger.debug(err);
63
+ return { exitCode: err.exitCode };
64
+ }
65
+ }
39
66
  //# sourceMappingURL=invoke-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invoke-test.js","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAmB,KAAK,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,0BAA2B,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAe;IAGf,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAID,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,WAAW,GACf,WAAW,IAAI,EAAE;YACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvB,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAGb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;AACH,CAAC","sourcesContent":["import path from \"node:path\";\nimport { ExecaReturnBase, execa } from \"execa\";\nimport { TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { Arguments } from \"./handler.js\";\n\nclass MissingNodeExecutableError extends Error {\n constructor() {\n super(\"Missing executable: Cannot locate node executable\");\n Object.setPrototypeOf(this, MissingNodeExecutableError.prototype);\n }\n}\n\nexport async function runTests(\n argv: Arguments\n): Promise<Pick<ExecaReturnBase<string>, \"exitCode\">> {\n // Assume that \"node\" is in the path\n const nodeExecutable = process.platform === \"win32\" ? \"node.exe\" : \"node\";\n if (nodeExecutable) {\n const args = [\"--test\", \"--test-reporter=spec\", \"--enable-source-maps\"];\n if (argv.filter) {\n args.push(\"--test-name-pattern\", argv.filter);\n }\n\n // Check Node.js version to determine glob pattern\n // See https://github.com/nodejs/node/pull/47653#issuecomment-1692984053\n const nodeVersion = parseInt(process.versions.node.split(\".\")[0], 10);\n const globPattern =\n nodeVersion >= 21\n ? path.join(argv.dir, TEST_OUT_FOLDER, \"**\", \"*.test.mjs\")\n : path.join(argv.dir, TEST_OUT_FOLDER);\n\n args.push(globPattern);\n\n const nodeProcess = execa(nodeExecutable, args);\n nodeProcess.stdout?.pipe(process.stdout);\n nodeProcess.stderr?.pipe(process.stderr);\n try {\n const result = await nodeProcess;\n return result;\n } catch (err) {\n // We do not want to output the err by default since it could be a test failure\n // Test failures are already reported by piping stdout and stderr above\n logger.debug(err);\n return { exitCode: err.exitCode };\n }\n } else {\n throw new MissingNodeExecutableError();\n }\n}\n"]}
1
+ {"version":3,"file":"invoke-test.js","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"node:path\";\nimport { ExecaReturnBase, execa } from \"execa\";\nimport fg from \"fast-glob\";\nimport { TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { Arguments } from \"./handler.js\";\n\nclass MissingNodeExecutableError extends Error {\n constructor() {\n super(\"Missing executable: Cannot locate node executable\");\n Object.setPrototypeOf(this, MissingNodeExecutableError.prototype);\n }\n}\n\nexport async function runTests(\n argv: Arguments\n): Promise<Pick<ExecaReturnBase<string>, \"exitCode\">> {\n // Assume that \"node\" is in the path\n const nodeExecutable = process.platform === \"win32\" ? \"node.exe\" : \"node\";\n if (nodeExecutable) {\n const args = buildNodeTestArgs(argv);\n const serialTestTargets =\n argv.testConcurrency === 1 ? findCompiledTestFiles(argv.dir) : [];\n const testTargets =\n serialTestTargets.length > 0\n ? serialTestTargets\n : [compiledTestGlob(argv.dir)];\n\n for (const testTarget of testTargets) {\n const result = await runNodeTest(nodeExecutable, [...args, testTarget]);\n if (result.exitCode !== 0) {\n return result;\n }\n }\n\n return { exitCode: 0 };\n } else {\n throw new MissingNodeExecutableError();\n }\n}\n\nfunction buildNodeTestArgs(argv: Arguments): string[] {\n const args = [\"--test\", \"--test-reporter=spec\", \"--enable-source-maps\"];\n if (argv.testConcurrency !== undefined && argv.testConcurrency !== 1) {\n args.push(`--test-concurrency=${argv.testConcurrency}`);\n }\n if (argv.filter) {\n args.push(\"--test-name-pattern\", argv.filter);\n }\n return args;\n}\n\nfunction compiledTestGlob(dir: string): string {\n const nodeVersion = parseInt(process.versions.node.split(\".\")[0], 10);\n return nodeVersion >= 21\n ? path.join(dir, TEST_OUT_FOLDER, \"**\", \"*.test.mjs\")\n : path.join(dir, TEST_OUT_FOLDER);\n}\n\nfunction findCompiledTestFiles(dir: string): string[] {\n const normalizedDir = path.normalize(dir);\n const testOutDir = fg.convertPathToPattern(\n path.join(normalizedDir, TEST_OUT_FOLDER)\n );\n return fg.sync(path.posix.join(testOutDir, \"**\", \"*.test.mjs\")).sort();\n}\n\nasync function runNodeTest(\n nodeExecutable: string,\n args: string[]\n): Promise<Pick<ExecaReturnBase<string>, \"exitCode\">> {\n const nodeProcess = execa(nodeExecutable, args);\n nodeProcess.stdout?.pipe(process.stdout);\n nodeProcess.stderr?.pipe(process.stderr);\n try {\n const result = await nodeProcess;\n return result;\n } catch (err) {\n // We do not want to output the err by default since it could be a test\n // failure. Test failures are already reported by piping stdout and stderr\n // above.\n logger.debug(err);\n return { exitCode: err.exitCode };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/confirm-production-deploy.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/bucket/models.ts","../src/bucket/list/handler.ts","../src/build/handler.ts","../src/ca-certificate/models.ts","../src/ca-certificate/validation.test.ts","../src/ca-certificate/validation.ts","../src/ca-certificate/create/handler.ts","../src/ca-certificate/delete/handler.ts","../src/ca-certificate/describe/handler.ts","../src/ca-certificate/list/handler.ts","../src/ca-certificate/update/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/logout.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/bucket/index.ts","../src/cmds/bucket/list.ts","../src/cmds/ca-certificate/create.ts","../src/cmds/ca-certificate/delete.ts","../src/cmds/ca-certificate/describe.ts","../src/cmds/ca-certificate/index.ts","../src/cmds/ca-certificate/list.ts","../src/cmds/ca-certificate/update.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/cli-invocation.test.ts","../src/common/analytics/cli-invocation.ts","../src/common/analytics/lib.ts","../src/common/analytics/package-manager.test.ts","../src/common/analytics/package-manager.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/check-pnpm-lifecycle.test.ts","../src/common/middleware/check-pnpm-lifecycle.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/confirm-production-deploy.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.test.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/pnpm-lifecycle.test.ts","../src/common/utils/pnpm-lifecycle.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/logout.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
1
+ {"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/confirm-production-deploy.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/bucket/models.ts","../src/bucket/list/handler.ts","../src/build/handler.ts","../src/ca-certificate/models.ts","../src/ca-certificate/validation.test.ts","../src/ca-certificate/validation.ts","../src/ca-certificate/create/handler.ts","../src/ca-certificate/delete/handler.ts","../src/ca-certificate/describe/handler.ts","../src/ca-certificate/list/handler.ts","../src/ca-certificate/update/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/logout.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/bucket/index.ts","../src/cmds/bucket/list.ts","../src/cmds/ca-certificate/create.ts","../src/cmds/ca-certificate/delete.ts","../src/cmds/ca-certificate/describe.ts","../src/cmds/ca-certificate/index.ts","../src/cmds/ca-certificate/list.ts","../src/cmds/ca-certificate/update.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/project/list.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/cli-invocation.test.ts","../src/common/analytics/cli-invocation.ts","../src/common/analytics/lib.ts","../src/common/analytics/package-manager.test.ts","../src/common/analytics/package-manager.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/check-pnpm-lifecycle.test.ts","../src/common/middleware/check-pnpm-lifecycle.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/confirm-production-deploy.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.test.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/pnpm-lifecycle.test.ts","../src/common/utils/pnpm-lifecycle.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/logout.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/project/list/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.70.27",
3
+ "version": "6.70.28",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/graphql",
3
3
  "type": "module",
4
- "version": "6.70.27",
4
+ "version": "6.70.28",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -2,7 +2,7 @@
2
2
  "name": "@zuplo/openapi-tools",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "6.70.27",
5
+ "version": "6.70.28",
6
6
  "description": "Tooling for OpenAPI files",
7
7
  "repository": {
8
8
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/otel",
3
3
  "type": "module",
4
- "version": "6.70.27",
4
+ "version": "6.70.28",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -23,4 +23,4 @@
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
25
  import{Z as _,a as E}from"./chunk-JAEQKE5H.js";var t={AI_GATEWAY_COST_SUM:"ai_gateway_cost_sum",AI_GATEWAY_REQUEST_COUNT:"ai_gateway_request_count",AI_GATEWAY_TOKEN_SUM:"ai_gateway_token_sum",AI_GATEWAY_LATENCY_HISTOGRAM:"ai_gateway_latency_histogram",AI_GATEWAY_WARNING_COUNT:"ai_gateway_warning_count",AI_GATEWAY_BLOCKED_COUNT:"ai_gateway_blocked_count",MCP_REQUEST_RECEIVED:"mcp_request_received",MCP_REQUEST_COMPLETED:"mcp_request_completed",MCP_REQUEST_REJECTED:"mcp_request_rejected",MCP_INITIALIZE_NEGOTIATED:"mcp_initialize_negotiated",MCP_CLIENT_UNSUPPORTED_BEHAVIOR:"mcp_client_unsupported_behavior",MCP_CAPABILITY_LISTED:"mcp_capability_listed",MCP_CAPABILITY_INVOKED:"mcp_capability_invoked",MCP_CAPABILITY_COMPLETED:"mcp_capability_completed",MCP_CAPABILITY_FAILED:"mcp_capability_failed",MCP_CAPABILITY_CONNECT_REQUIRED:"mcp_capability_connect_required",MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED:"mcp_auth_downstream_token_validated",MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED:"mcp_auth_downstream_token_rejected",MCP_OAUTH_CLIENT_REGISTERED:"mcp_oauth_client_registered",MCP_OAUTH_AUTHORIZE_STARTED:"mcp_oauth_authorize_started",MCP_OAUTH_AUTHORIZE_AWAITING_SETUP:"mcp_oauth_authorize_awaiting_setup",MCP_OAUTH_TOKEN_ISSUED:"mcp_oauth_token_issued",MCP_OAUTH_TOKEN_REFRESH_ROTATED:"mcp_oauth_token_refresh_rotated",MCP_OAUTH_TOKEN_REVOKED:"mcp_oauth_token_revoked",MCP_AUTH_UPSTREAM_CONNECT_REQUIRED:"mcp_auth_upstream_connect_required",MCP_AUTH_UPSTREAM_CONNECT_STARTED:"mcp_auth_upstream_connect_started",MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED:"mcp_auth_upstream_callback_received",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED:"mcp_auth_upstream_token_exchange_succeeded",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED:"mcp_auth_upstream_token_exchange_failed",MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED:"mcp_auth_upstream_credential_resolved",MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING:"mcp_auth_upstream_credential_missing",MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED:"mcp_auth_upstream_reconsent_required"};var i=class{static{E(this,"BaseAnalyticsEvent")}eventId;requestId;timestamp;accountName;projectName;deploymentName;unit;value;constructor(e){this.eventId=e.eventId,this.requestId=e.requestId,this.timestamp=e.timestamp??new Date,this.accountName=e.accountName,this.projectName=e.projectName,this.deploymentName=e.deploymentName,this.unit=e.unit,this.value=e.value}};var o=class extends i{static{E(this,"AiGatewayBlockedCountEvent")}eventType=t.AI_GATEWAY_BLOCKED_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var T=class extends i{static{E(this,"AiGatewayCostSumEvent")}eventType=t.AI_GATEWAY_COST_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var s=class extends i{static{E(this,"AiGatewayLatencyHistogramEvent")}eventType=t.AI_GATEWAY_LATENCY_HISTOGRAM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var p=class extends i{static{E(this,"AiGatewayRequestCountEvent")}eventType=t.AI_GATEWAY_REQUEST_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var l=class extends i{static{E(this,"AiGatewayTokenSumEvent")}eventType=t.AI_GATEWAY_TOKEN_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var A=class extends i{static{E(this,"AiGatewayWarningCountEvent")}eventType=t.AI_GATEWAY_WARNING_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var u=class extends i{static{E(this,"McpEvent")}eventType;metadata;constructor(e){super(e),this.eventType=e.eventType,this.metadata=e.metadata}};var n=E(a=>e=>new u({...e,eventType:a}),"buildMcpEvent"),M={[t.AI_GATEWAY_COST_SUM]:a=>new T(a),[t.AI_GATEWAY_REQUEST_COUNT]:a=>new p(a),[t.AI_GATEWAY_TOKEN_SUM]:a=>new l(a),[t.AI_GATEWAY_LATENCY_HISTOGRAM]:a=>new s(a),[t.AI_GATEWAY_WARNING_COUNT]:a=>new A(a),[t.AI_GATEWAY_BLOCKED_COUNT]:a=>new o(a),[t.MCP_REQUEST_RECEIVED]:n(t.MCP_REQUEST_RECEIVED),[t.MCP_REQUEST_COMPLETED]:n(t.MCP_REQUEST_COMPLETED),[t.MCP_REQUEST_REJECTED]:n(t.MCP_REQUEST_REJECTED),[t.MCP_INITIALIZE_NEGOTIATED]:n(t.MCP_INITIALIZE_NEGOTIATED),[t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR]:n(t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR),[t.MCP_CAPABILITY_LISTED]:n(t.MCP_CAPABILITY_LISTED),[t.MCP_CAPABILITY_INVOKED]:n(t.MCP_CAPABILITY_INVOKED),[t.MCP_CAPABILITY_COMPLETED]:n(t.MCP_CAPABILITY_COMPLETED),[t.MCP_CAPABILITY_FAILED]:n(t.MCP_CAPABILITY_FAILED),[t.MCP_CAPABILITY_CONNECT_REQUIRED]:n(t.MCP_CAPABILITY_CONNECT_REQUIRED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED]:n(t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED]:n(t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED),[t.MCP_OAUTH_CLIENT_REGISTERED]:n(t.MCP_OAUTH_CLIENT_REGISTERED),[t.MCP_OAUTH_AUTHORIZE_STARTED]:n(t.MCP_OAUTH_AUTHORIZE_STARTED),[t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP]:n(t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP),[t.MCP_OAUTH_TOKEN_ISSUED]:n(t.MCP_OAUTH_TOKEN_ISSUED),[t.MCP_OAUTH_TOKEN_REFRESH_ROTATED]:n(t.MCP_OAUTH_TOKEN_REFRESH_ROTATED),[t.MCP_OAUTH_TOKEN_REVOKED]:n(t.MCP_OAUTH_TOKEN_REVOKED),[t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED]:n(t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED),[t.MCP_AUTH_UPSTREAM_CONNECT_STARTED]:n(t.MCP_AUTH_UPSTREAM_CONNECT_STARTED),[t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED]:n(t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED]:n(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED]:n(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED]:n(t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING]:n(t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING),[t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED]:n(t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED)};function d(a,e){let r=M[a];return r(e)}E(d,"createAnalyticsEvent");var C=class{static{E(this,"ZuploGatewayAnalyticsContext")}#t;#e;constructor(e){this.#t=[],this.#e=e}addAnalyticsEvent(e,r,m,c){let y=this.createAnalyticsEvent(e,r,m,c);this.#t.push(y)}flushAnalyticsEvents(){let e=[...this.#t];return this.#t.length=0,e}getAnalyticsEvents(){return[...this.#t]}createAnalyticsEvent(e,r,m,c){return d(r,{eventId:crypto.randomUUID(),requestId:this.#e,accountName:_.instance.build.ACCOUNT_NAME??"unknown",projectName:_.instance.build.PROJECT_NAME??"unknown",deploymentName:_.instance.deploymentName??"unknown",metadata:m,unit:c,value:e})}};export{t as a,C as b};
26
- //# sourceMappingURL=chunk-H7UGARU6.js.map
26
+ //# sourceMappingURL=chunk-F7DJMBWH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@zuplo/runtime/metrics/v2/interfaces.ts","@zuplo/runtime/metrics/v2/events/base-analytics-event.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-blocked-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-cost-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-latency-histogram.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-request-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-token-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-warning-count.ts","@zuplo/runtime/metrics/v2/events/mcp-event.ts","@zuplo/runtime/metrics/v2/create-events.ts","@zuplo/runtime/metrics/v2/analytics-context.ts"],"mappings":"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","names":["EventType","BaseAnalyticsEvent","__name","options","AiGatewayBlockedCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayCostSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayLatencyHistogramEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayRequestCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayTokenSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayWarningCountEvent","BaseAnalyticsEvent","__name","EventType","options","McpEvent","BaseAnalyticsEvent","__name","options","buildMcpEvent","__name","eventType","options","McpEvent","eventBuilders","EventType","AiGatewayCostSumEvent","AiGatewayRequestCountEvent","AiGatewayTokenSumEvent","AiGatewayLatencyHistogramEvent","AiGatewayWarningCountEvent","AiGatewayBlockedCountEvent","createAnalyticsEvent","builder","ZuploGatewayAnalyticsContext","__name","#events","#requestId","requestId","value","eventType","metadata","unit","event","events","createAnalyticsEvent","Environment"]}
1
+ {"version":3,"sources":["@zuplo/runtime/metrics/v2/interfaces.ts","@zuplo/runtime/metrics/v2/events/base-analytics-event.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-blocked-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-cost-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-latency-histogram.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-request-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-token-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-warning-count.ts","@zuplo/runtime/metrics/v2/events/mcp-event.ts","@zuplo/runtime/metrics/v2/create-events.ts","@zuplo/runtime/metrics/v2/analytics-context.ts"],"mappings":"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","names":["EventType","BaseAnalyticsEvent","__name","options","AiGatewayBlockedCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayCostSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayLatencyHistogramEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayRequestCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayTokenSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayWarningCountEvent","BaseAnalyticsEvent","__name","EventType","options","McpEvent","BaseAnalyticsEvent","__name","options","buildMcpEvent","__name","eventType","options","McpEvent","eventBuilders","EventType","AiGatewayCostSumEvent","AiGatewayRequestCountEvent","AiGatewayTokenSumEvent","AiGatewayLatencyHistogramEvent","AiGatewayWarningCountEvent","AiGatewayBlockedCountEvent","createAnalyticsEvent","builder","ZuploGatewayAnalyticsContext","__name","#events","#requestId","requestId","value","eventType","metadata","unit","event","events","createAnalyticsEvent","Environment"]}