@zuplo/cli 6.68.7 → 6.68.9

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 (54) hide show
  1. package/dist/__tests__/integration/custom-domain.integration.test.d.ts +2 -0
  2. package/dist/__tests__/integration/custom-domain.integration.test.d.ts.map +1 -0
  3. package/dist/__tests__/integration/custom-domain.integration.test.js +543 -0
  4. package/dist/__tests__/integration/custom-domain.integration.test.js.map +1 -0
  5. package/dist/__tests__/integration/jest-mocks-setup.js +2 -0
  6. package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
  7. package/dist/cli.js +2 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/cmds/custom-domain/create.d.ts +9 -0
  10. package/dist/cmds/custom-domain/create.d.ts.map +1 -0
  11. package/dist/cmds/custom-domain/create.js +82 -0
  12. package/dist/cmds/custom-domain/create.js.map +1 -0
  13. package/dist/cmds/custom-domain/delete.d.ts +9 -0
  14. package/dist/cmds/custom-domain/delete.d.ts.map +1 -0
  15. package/dist/cmds/custom-domain/delete.js +72 -0
  16. package/dist/cmds/custom-domain/delete.js.map +1 -0
  17. package/dist/cmds/custom-domain/index.d.ts +4 -0
  18. package/dist/cmds/custom-domain/index.d.ts.map +1 -0
  19. package/dist/cmds/custom-domain/index.js +20 -0
  20. package/dist/cmds/custom-domain/index.js.map +1 -0
  21. package/dist/cmds/custom-domain/list.d.ts +9 -0
  22. package/dist/cmds/custom-domain/list.d.ts.map +1 -0
  23. package/dist/cmds/custom-domain/list.js +56 -0
  24. package/dist/cmds/custom-domain/list.js.map +1 -0
  25. package/dist/cmds/custom-domain/update.d.ts +9 -0
  26. package/dist/cmds/custom-domain/update.d.ts.map +1 -0
  27. package/dist/cmds/custom-domain/update.js +72 -0
  28. package/dist/cmds/custom-domain/update.js.map +1 -0
  29. package/dist/common/output.d.ts +4 -0
  30. package/dist/common/output.d.ts.map +1 -1
  31. package/dist/common/output.js +9 -0
  32. package/dist/common/output.js.map +1 -1
  33. package/dist/custom-domain/create/handler.d.ts +11 -0
  34. package/dist/custom-domain/create/handler.d.ts.map +1 -0
  35. package/dist/custom-domain/create/handler.js +50 -0
  36. package/dist/custom-domain/create/handler.js.map +1 -0
  37. package/dist/custom-domain/delete/handler.d.ts +9 -0
  38. package/dist/custom-domain/delete/handler.d.ts.map +1 -0
  39. package/dist/custom-domain/delete/handler.js +85 -0
  40. package/dist/custom-domain/delete/handler.js.map +1 -0
  41. package/dist/custom-domain/list/handler.d.ts +7 -0
  42. package/dist/custom-domain/list/handler.d.ts.map +1 -0
  43. package/dist/custom-domain/list/handler.js +105 -0
  44. package/dist/custom-domain/list/handler.js.map +1 -0
  45. package/dist/custom-domain/models.d.ts +37 -0
  46. package/dist/custom-domain/models.d.ts.map +1 -0
  47. package/dist/custom-domain/models.js +2 -0
  48. package/dist/custom-domain/models.js.map +1 -0
  49. package/dist/custom-domain/update/handler.d.ts +9 -0
  50. package/dist/custom-domain/update/handler.d.ts.map +1 -0
  51. package/dist/custom-domain/update/handler.js +47 -0
  52. package/dist/custom-domain/update/handler.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +4 -4
@@ -0,0 +1,11 @@
1
+ import { CustomDomainStage } from "../models.js";
2
+ export interface Arguments {
3
+ account: string;
4
+ authToken: string;
5
+ hostname: string;
6
+ "deployment-name"?: string;
7
+ stage?: CustomDomainStage;
8
+ output?: "default" | "json";
9
+ }
10
+ export declare function create(argv: Arguments): Promise<void>;
11
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAA8B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBAmD3C"}
@@ -0,0 +1,50 @@
1
+ import { logger } from "../../common/logger.js";
2
+ import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
+ import settings from "../../common/settings.js";
4
+ function toMutationTable(result) {
5
+ return {
6
+ hostname: result.hostname,
7
+ "deployment-name": result.deploymentName ?? "",
8
+ stage: result.stage ?? "",
9
+ cname: result.cname ?? "",
10
+ "ownership-verification-name": result.ownershipVerification?.name ?? "",
11
+ "ownership-verification-type": result.ownershipVerification?.type ?? "",
12
+ "ownership-verification-value": result.ownershipVerification?.value ?? "",
13
+ };
14
+ }
15
+ export async function create(argv) {
16
+ const { account, hostname } = argv;
17
+ const body = { hostname };
18
+ if (argv["deployment-name"]) {
19
+ body.deploymentName = argv["deployment-name"];
20
+ }
21
+ if (argv.stage) {
22
+ body.stage = argv.stage;
23
+ }
24
+ const createResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
25
+ method: "POST",
26
+ headers: {
27
+ Authorization: `Bearer ${argv.authToken}`,
28
+ "Content-Type": "application/json",
29
+ },
30
+ body: JSON.stringify(body),
31
+ });
32
+ if (createResponse.ok) {
33
+ const result = await createResponse.json();
34
+ if (argv.output === "json") {
35
+ await printJsonToConsoleAndExitGracefully(result);
36
+ }
37
+ else {
38
+ await printTableToConsoleAndExitGracefully(toMutationTable(result));
39
+ }
40
+ return;
41
+ }
42
+ const response = textOrJson(await createResponse.text());
43
+ logger.error({
44
+ status: createResponse.status,
45
+ statusText: createResponse.statusText,
46
+ response,
47
+ }, "Failed to create custom domain for account");
48
+ await printCriticalFailureToConsoleAndExit("Error: Failed to create custom domain for your account. Check the arguments.");
49
+ }
50
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAYhD,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAIN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,iBAAiB,EAChF;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAA+B,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,QAAQ;KACT,EACD,4CAA4C,CAC7C,CAAC;IACF,MAAM,oCAAoC,CACxC,8EAA8E,CAC/E,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainMutationResult, CustomDomainStage } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n stage?: CustomDomainStage;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function create(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n stage?: CustomDomainStage;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n if (argv.stage) {\n body.stage = argv.stage;\n }\n\n const createResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"POST\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n\n if (createResponse.ok) {\n const result: CustomDomainMutationResult = await createResponse.json();\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n return;\n }\n\n const response = textOrJson(await createResponse.text());\n logger.error(\n {\n status: createResponse.status,\n statusText: createResponse.statusText,\n response,\n },\n \"Failed to create custom domain for account\"\n );\n await printCriticalFailureToConsoleAndExit(\n \"Error: Failed to create custom domain for your account. Check the arguments.\"\n );\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ authToken: string;
4
+ hostname: string;
5
+ "deployment-name"?: string;
6
+ output?: "default" | "json";
7
+ }
8
+ export declare function deleteCustomDomain(argv: Arguments): Promise<void>;
9
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AA4FD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBA8CvD"}
@@ -0,0 +1,85 @@
1
+ import { logger } from "../../common/logger.js";
2
+ import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
+ import settings from "../../common/settings.js";
4
+ async function exitWithLoggedFailure(message, logMessage, context = {}) {
5
+ logger.error(context, logMessage);
6
+ await printCriticalFailureToConsoleAndExit(message);
7
+ throw new Error("printCriticalFailureToConsoleAndExit returned unexpectedly");
8
+ }
9
+ async function fetchCustomDomains(account, authToken) {
10
+ const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
11
+ method: "GET",
12
+ headers: {
13
+ Authorization: `Bearer ${authToken}`,
14
+ },
15
+ });
16
+ if (listResponse.ok) {
17
+ return (await listResponse.json());
18
+ }
19
+ const response = textOrJson(await listResponse.text());
20
+ return exitWithLoggedFailure("Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.", "Failed to fetch custom domains for deletion preflight", {
21
+ status: listResponse.status,
22
+ statusText: listResponse.statusText,
23
+ response,
24
+ });
25
+ }
26
+ async function resolveDeploymentName(customDomain) {
27
+ if (customDomain.deployments.length === 0) {
28
+ return undefined;
29
+ }
30
+ if (customDomain.deployments.length === 1) {
31
+ return customDomain.deployments[0].deploymentName ?? undefined;
32
+ }
33
+ return exitWithLoggedFailure(`Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`, "Custom domain deletion requires an explicit deployment name", {
34
+ hostname: customDomain.hostname,
35
+ deploymentCount: customDomain.deployments.length,
36
+ });
37
+ }
38
+ async function inferDeploymentName(argv) {
39
+ if (argv["deployment-name"]) {
40
+ return argv["deployment-name"];
41
+ }
42
+ const customDomains = await fetchCustomDomains(argv.account, argv.authToken);
43
+ const matchingCustomDomain = customDomains.data.find((customDomain) => {
44
+ return customDomain.hostname === argv.hostname;
45
+ });
46
+ if (!matchingCustomDomain) {
47
+ return undefined;
48
+ }
49
+ return resolveDeploymentName(matchingCustomDomain);
50
+ }
51
+ export async function deleteCustomDomain(argv) {
52
+ const { account, hostname } = argv;
53
+ const deploymentName = await inferDeploymentName(argv);
54
+ const query = new URLSearchParams();
55
+ query.set("hostname", hostname);
56
+ if (deploymentName) {
57
+ query.set("deploymentName", deploymentName);
58
+ }
59
+ const deleteResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains?${query.toString()}`, {
60
+ method: "DELETE",
61
+ headers: {
62
+ Authorization: `Bearer ${argv.authToken}`,
63
+ },
64
+ });
65
+ if (deleteResponse.ok) {
66
+ if (argv.output === "json") {
67
+ await printJsonToConsoleAndExitGracefully({
68
+ deleted: true,
69
+ hostname,
70
+ deploymentName: deploymentName ?? null,
71
+ });
72
+ }
73
+ else {
74
+ await printResultToConsoleAndExitGracefully(`Custom domain ${hostname} deleted successfully.`);
75
+ }
76
+ return;
77
+ }
78
+ const response = textOrJson(await deleteResponse.text());
79
+ await exitWithLoggedFailure("Error: Failed to delete custom domain for your account. Check the arguments.", "Failed to delete custom domain for account", {
80
+ status: deleteResponse.status,
81
+ statusText: deleteResponse.statusText,
82
+ response,
83
+ });
84
+ }
85
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\ninterface LoggedFailureContext {\n status?: number;\n statusText?: string;\n response?: unknown;\n hostname?: string;\n deploymentCount?: number;\n}\n\nasync function exitWithLoggedFailure(\n message: string,\n logMessage: string,\n context: LoggedFailureContext = {}\n): Promise<never> {\n logger.error(context, logMessage);\n await printCriticalFailureToConsoleAndExit(message);\n\n throw new Error(\"printCriticalFailureToConsoleAndExit returned unexpectedly\");\n}\n\nasync function fetchCustomDomains(\n account: string,\n authToken: string\n): Promise<CustomDomainListResponse> {\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${authToken}`,\n },\n }\n );\n\n if (listResponse.ok) {\n return (await listResponse.json()) as CustomDomainListResponse;\n }\n\n const response = textOrJson(await listResponse.text());\n return exitWithLoggedFailure(\n \"Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.\",\n \"Failed to fetch custom domains for deletion preflight\",\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response,\n }\n );\n}\n\nasync function resolveDeploymentName(\n customDomain: CustomDomainListItem\n): Promise<string | undefined> {\n if (customDomain.deployments.length === 0) {\n return undefined;\n }\n\n if (customDomain.deployments.length === 1) {\n return customDomain.deployments[0].deploymentName ?? undefined;\n }\n\n return exitWithLoggedFailure(\n `Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`,\n \"Custom domain deletion requires an explicit deployment name\",\n {\n hostname: customDomain.hostname,\n deploymentCount: customDomain.deployments.length,\n }\n );\n}\n\nasync function inferDeploymentName(\n argv: Arguments\n): Promise<string | undefined> {\n if (argv[\"deployment-name\"]) {\n return argv[\"deployment-name\"];\n }\n\n const customDomains = await fetchCustomDomains(argv.account, argv.authToken);\n const matchingCustomDomain = customDomains.data.find((customDomain) => {\n return customDomain.hostname === argv.hostname;\n });\n\n if (!matchingCustomDomain) {\n return undefined;\n }\n\n return resolveDeploymentName(matchingCustomDomain);\n}\n\nexport async function deleteCustomDomain(argv: Arguments) {\n const { account, hostname } = argv;\n const deploymentName = await inferDeploymentName(argv);\n\n const query = new URLSearchParams();\n query.set(\"hostname\", hostname);\n if (deploymentName) {\n query.set(\"deploymentName\", deploymentName);\n }\n\n const deleteResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains?${query.toString()}`,\n {\n method: \"DELETE\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (deleteResponse.ok) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully({\n deleted: true,\n hostname,\n deploymentName: deploymentName ?? null,\n });\n } else {\n await printResultToConsoleAndExitGracefully(\n `Custom domain ${hostname} deleted successfully.`\n );\n }\n return;\n }\n\n const response = textOrJson(await deleteResponse.text());\n await exitWithLoggedFailure(\n \"Error: Failed to delete custom domain for your account. Check the arguments.\",\n \"Failed to delete custom domain for account\",\n {\n status: deleteResponse.status,\n statusText: deleteResponse.statusText,\n response,\n }\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/custom-domain/list/handler.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAwGD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBA+CzC"}
@@ -0,0 +1,105 @@
1
+ import { logger } from "../../common/logger.js";
2
+ import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
+ import settings from "../../common/settings.js";
4
+ function toTableRows(customDomains) {
5
+ const rows = [];
6
+ customDomains.forEach((customDomain) => {
7
+ if (customDomain.deployments.length === 0) {
8
+ rows.push({
9
+ hostname: customDomain.hostname,
10
+ provider: customDomain.provider,
11
+ "project-name": customDomain.projectName,
12
+ "deployment-name": "",
13
+ branch: "",
14
+ "environment-type": "",
15
+ stage: "",
16
+ "is-default": "",
17
+ cname: "",
18
+ });
19
+ return;
20
+ }
21
+ customDomain.deployments.forEach((deployment) => {
22
+ rows.push({
23
+ hostname: customDomain.hostname,
24
+ provider: customDomain.provider,
25
+ "project-name": customDomain.projectName,
26
+ "deployment-name": deployment.deploymentName ?? "",
27
+ branch: deployment.branch ?? "",
28
+ "environment-type": deployment.environmentType ?? "",
29
+ stage: deployment.stage ?? "",
30
+ "is-default": deployment.isDefault,
31
+ cname: deployment.cname ?? "",
32
+ });
33
+ });
34
+ });
35
+ return rows;
36
+ }
37
+ function toJsonRows(customDomains) {
38
+ const rows = [];
39
+ customDomains.forEach((customDomain) => {
40
+ if (customDomain.deployments.length === 0) {
41
+ rows.push({
42
+ hostname: customDomain.hostname,
43
+ provider: customDomain.provider,
44
+ projectName: customDomain.projectName,
45
+ deploymentName: null,
46
+ branch: null,
47
+ environmentType: null,
48
+ stage: null,
49
+ isDefault: null,
50
+ cname: null,
51
+ });
52
+ return;
53
+ }
54
+ customDomain.deployments.forEach((deployment) => {
55
+ rows.push({
56
+ hostname: customDomain.hostname,
57
+ provider: customDomain.provider,
58
+ projectName: customDomain.projectName,
59
+ deploymentName: deployment.deploymentName,
60
+ branch: deployment.branch,
61
+ environmentType: deployment.environmentType,
62
+ stage: deployment.stage,
63
+ isDefault: deployment.isDefault,
64
+ cname: deployment.cname,
65
+ });
66
+ });
67
+ });
68
+ return rows;
69
+ }
70
+ export async function list(argv) {
71
+ const { account } = argv;
72
+ const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
73
+ method: "GET",
74
+ headers: {
75
+ Authorization: `Bearer ${argv.authToken}`,
76
+ },
77
+ });
78
+ if (listResponse.ok) {
79
+ const customDomains = await listResponse.json();
80
+ if (customDomains.data.length === 0) {
81
+ if (argv.output === "json") {
82
+ await printJsonToConsoleAndExitGracefully([]);
83
+ }
84
+ else {
85
+ await printResultToConsoleAndExitGracefully("No custom domains found");
86
+ }
87
+ return;
88
+ }
89
+ if (argv.output === "json") {
90
+ await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));
91
+ }
92
+ else {
93
+ await printTableToConsoleAndExitGracefully(toTableRows(customDomains.data));
94
+ }
95
+ return;
96
+ }
97
+ const response = textOrJson(await listResponse.text());
98
+ logger.error({
99
+ status: listResponse.status,
100
+ statusText: listResponse.statusText,
101
+ response,
102
+ }, "Failed to list custom domains for account");
103
+ await printCriticalFailureToConsoleAndExit("Error: Failed to list custom domains for your account. Try again later.");
104
+ }
105
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n output?: \"default\" | \"json\";\n}\n\ninterface CustomDomainTableRow {\n hostname: string;\n provider: string;\n \"project-name\": string;\n \"deployment-name\": string;\n branch: string;\n \"environment-type\": string;\n stage: string;\n \"is-default\": boolean | \"\";\n cname: string;\n}\n\ninterface CustomDomainJsonRow {\n hostname: string;\n provider: string;\n projectName: string;\n deploymentName: string | null;\n branch: string | null;\n environmentType: string | null;\n stage: string | null;\n isDefault: boolean | null;\n cname: string | null;\n}\n\nfunction toTableRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainTableRow[] {\n const rows: CustomDomainTableRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": \"\",\n branch: \"\",\n \"environment-type\": \"\",\n stage: \"\",\n \"is-default\": \"\",\n cname: \"\",\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": deployment.deploymentName ?? \"\",\n branch: deployment.branch ?? \"\",\n \"environment-type\": deployment.environmentType ?? \"\",\n stage: deployment.stage ?? \"\",\n \"is-default\": deployment.isDefault,\n cname: deployment.cname ?? \"\",\n });\n });\n });\n\n return rows;\n}\n\nfunction toJsonRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainJsonRow[] {\n const rows: CustomDomainJsonRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: null,\n branch: null,\n environmentType: null,\n stage: null,\n isDefault: null,\n cname: null,\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: deployment.deploymentName,\n branch: deployment.branch,\n environmentType: deployment.environmentType,\n stage: deployment.stage,\n isDefault: deployment.isDefault,\n cname: deployment.cname,\n });\n });\n });\n\n return rows;\n}\n\nexport async function list(argv: Arguments) {\n const { account } = argv;\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (listResponse.ok) {\n const customDomains: CustomDomainListResponse = await listResponse.json();\n\n if (customDomains.data.length === 0) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully([]);\n } else {\n await printResultToConsoleAndExitGracefully(\"No custom domains found\");\n }\n return;\n }\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));\n } else {\n await printTableToConsoleAndExitGracefully(\n toTableRows(customDomains.data)\n );\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 custom domains for account\"\n );\n await printCriticalFailureToConsoleAndExit(\n \"Error: Failed to list custom domains for your account. Try again later.\"\n );\n}\n"]}
@@ -0,0 +1,37 @@
1
+ export type CustomDomainProvider = "alias" | "amazon" | "cloudflare" | "custom";
2
+ export type CustomDomainStage = "api" | "dev-portal";
3
+ export type CustomDomainEnvironmentType = "PREVIEW" | "PRODUCTION";
4
+ export interface CustomDomainDeployment {
5
+ deploymentName: string | null;
6
+ branch: string | null;
7
+ environmentType: CustomDomainEnvironmentType | null;
8
+ isDefault: boolean;
9
+ stage: CustomDomainStage | null;
10
+ cname: string | null;
11
+ }
12
+ export interface CustomDomainListItem {
13
+ id: string;
14
+ accountName: string;
15
+ projectName: string;
16
+ deployments: CustomDomainDeployment[];
17
+ hostname: string;
18
+ provider: CustomDomainProvider;
19
+ }
20
+ export interface CustomDomainListResponse {
21
+ data: CustomDomainListItem[];
22
+ limit: number;
23
+ offset: number;
24
+ }
25
+ export interface OwnershipVerification {
26
+ name: string;
27
+ type: string;
28
+ value: string;
29
+ }
30
+ export interface CustomDomainMutationResult {
31
+ deploymentName: string | null;
32
+ hostname: string;
33
+ stage: CustomDomainStage | null;
34
+ ownershipVerification: OwnershipVerification | null;
35
+ cname: string | null;
36
+ }
37
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/custom-domain/models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,YAAY,CAAC;AAGrD,MAAM,MAAM,2BAA2B,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/custom-domain/models.ts"],"names":[],"mappings":"","sourcesContent":["export type CustomDomainProvider = \"alias\" | \"amazon\" | \"cloudflare\" | \"custom\";\n\nexport type CustomDomainStage = \"api\" | \"dev-portal\";\n\n// Custom domains can't be for working copies.\nexport type CustomDomainEnvironmentType = \"PREVIEW\" | \"PRODUCTION\";\n\nexport interface CustomDomainDeployment {\n deploymentName: string | null;\n branch: string | null;\n environmentType: CustomDomainEnvironmentType | null;\n isDefault: boolean;\n stage: CustomDomainStage | null;\n cname: string | null;\n}\n\nexport interface CustomDomainListItem {\n id: string;\n accountName: string;\n projectName: string;\n deployments: CustomDomainDeployment[];\n hostname: string;\n provider: CustomDomainProvider;\n}\n\nexport interface CustomDomainListResponse {\n data: CustomDomainListItem[];\n limit: number;\n offset: number;\n}\n\nexport interface OwnershipVerification {\n name: string;\n type: string;\n value: string;\n}\n\nexport interface CustomDomainMutationResult {\n deploymentName: string | null;\n hostname: string;\n stage: CustomDomainStage | null;\n ownershipVerification: OwnershipVerification | null;\n cname: string | null;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ authToken: string;
4
+ hostname: string;
5
+ "deployment-name"?: string;
6
+ output?: "default" | "json";
7
+ }
8
+ export declare function update(argv: Arguments): Promise<void>;
9
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBA8C3C"}
@@ -0,0 +1,47 @@
1
+ import { logger } from "../../common/logger.js";
2
+ import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
+ import settings from "../../common/settings.js";
4
+ function toMutationTable(result) {
5
+ return {
6
+ hostname: result.hostname,
7
+ "deployment-name": result.deploymentName ?? "",
8
+ stage: result.stage ?? "",
9
+ cname: result.cname ?? "",
10
+ "ownership-verification-name": result.ownershipVerification?.name ?? "",
11
+ "ownership-verification-type": result.ownershipVerification?.type ?? "",
12
+ "ownership-verification-value": result.ownershipVerification?.value ?? "",
13
+ };
14
+ }
15
+ export async function update(argv) {
16
+ const { account, hostname } = argv;
17
+ const body = { hostname };
18
+ if (argv["deployment-name"]) {
19
+ body.deploymentName = argv["deployment-name"];
20
+ }
21
+ const updateResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
22
+ method: "PATCH",
23
+ headers: {
24
+ Authorization: `Bearer ${argv.authToken}`,
25
+ "Content-Type": "application/json",
26
+ },
27
+ body: JSON.stringify(body),
28
+ });
29
+ if (updateResponse.ok) {
30
+ const result = await updateResponse.json();
31
+ if (argv.output === "json") {
32
+ await printJsonToConsoleAndExitGracefully(result);
33
+ }
34
+ else {
35
+ await printTableToConsoleAndExitGracefully(toMutationTable(result));
36
+ }
37
+ return;
38
+ }
39
+ const response = textOrJson(await updateResponse.text());
40
+ logger.error({
41
+ status: updateResponse.status,
42
+ statusText: updateResponse.statusText,
43
+ response,
44
+ }, "Failed to update custom domain for account");
45
+ await printCriticalFailureToConsoleAndExit("Error: Failed to update custom domain for your account. Check the arguments.");
46
+ }
47
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAWhD,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAGN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,iBAAiB,EAChF;QACE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAA+B,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,QAAQ;KACT,EACD,4CAA4C,CAC7C,CAAC;IACF,MAAM,oCAAoC,CACxC,8EAA8E,CAC/E,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainMutationResult } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function update(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n const updateResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"PATCH\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n\n if (updateResponse.ok) {\n const result: CustomDomainMutationResult = await updateResponse.json();\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n return;\n }\n\n const response = textOrJson(await updateResponse.text());\n logger.error(\n {\n status: updateResponse.status,\n statusText: updateResponse.statusText,\n response,\n },\n \"Failed to update custom domain for account\"\n );\n await printCriticalFailureToConsoleAndExit(\n \"Error: Failed to update custom domain for your account. Check the arguments.\"\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/delete.integration.test.ts","../src/__tests__/integration/deploy.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/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/build/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/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.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/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/runner.ts","../src/common/settings.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/get-account-param.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/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-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/delete/handler.ts","../src/delete/poll-deployment.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/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/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"],"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/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.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/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/build/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/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.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/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/runner.ts","../src/common/settings.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/get-account-param.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/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-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.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/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/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"],"version":"5.8.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/cli",
3
- "version": "6.68.7",
3
+ "version": "6.68.9",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -29,10 +29,10 @@
29
29
  "@opentelemetry/api": "1.9.0",
30
30
  "@sentry/node": "9.22.0",
31
31
  "@swc/core": "1.10.18",
32
- "@zuplo/core": "6.68.7",
32
+ "@zuplo/core": "6.68.9",
33
33
  "@zuplo/editor": "1.0.20821740935",
34
- "@zuplo/openapi-tools": "6.68.7",
35
- "@zuplo/runtime": "6.68.7",
34
+ "@zuplo/openapi-tools": "6.68.9",
35
+ "@zuplo/runtime": "6.68.9",
36
36
  "as-table": "1.0.55",
37
37
  "chalk": "5.4.1",
38
38
  "chokidar": "3.5.3",