@zuplo/cli 6.69.5 → 6.69.8
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.
- package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/confirm-production-deploy.integration.test.js +184 -0
- package/dist/__tests__/integration/confirm-production-deploy.integration.test.js.map +1 -0
- package/dist/__tests__/integration/custom-domain.integration.test.js +4 -4
- package/dist/__tests__/integration/custom-domain.integration.test.js.map +1 -1
- package/dist/__tests__/integration/deploy.integration.test.js +1 -0
- package/dist/__tests__/integration/deploy.integration.test.js.map +1 -1
- package/dist/__tests__/integration/jest-mocks-setup.js +4 -0
- package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
- package/dist/__tests__/integration/list.integration.test.js +2 -2
- package/dist/__tests__/integration/list.integration.test.js.map +1 -1
- package/dist/__tests__/integration/tunnel.integration.test.js +14 -14
- package/dist/__tests__/integration/tunnel.integration.test.js.map +1 -1
- package/dist/__tests__/integration/variable.integration.test.js +4 -4
- package/dist/__tests__/integration/variable.integration.test.js.map +1 -1
- package/dist/__tests__/integration/whoami.integration.test.js +29 -5
- package/dist/__tests__/integration/whoami.integration.test.js.map +1 -1
- package/dist/bucket/list/handler.d.ts +8 -0
- package/dist/bucket/list/handler.d.ts.map +1 -0
- package/dist/bucket/list/handler.js +54 -0
- package/dist/bucket/list/handler.js.map +1 -0
- package/dist/bucket/models.d.ts +23 -0
- package/dist/bucket/models.d.ts.map +1 -0
- package/dist/bucket/models.js +2 -0
- package/dist/bucket/models.js.map +1 -0
- package/dist/cli.js +16 -6
- package/dist/cli.js.map +1 -1
- package/dist/cmds/bucket/index.d.ts +4 -0
- package/dist/cmds/bucket/index.d.ts.map +1 -0
- package/dist/cmds/bucket/index.js +9 -0
- package/dist/cmds/bucket/index.js.map +1 -0
- package/dist/cmds/bucket/list.d.ts +9 -0
- package/dist/cmds/bucket/list.d.ts.map +1 -0
- package/dist/cmds/bucket/list.js +60 -0
- package/dist/cmds/bucket/list.js.map +1 -0
- package/dist/cmds/deploy.d.ts.map +1 -1
- package/dist/cmds/deploy.js +4 -1
- package/dist/cmds/deploy.js.map +1 -1
- package/dist/cmds/logout.d.ts +9 -0
- package/dist/cmds/logout.d.ts.map +1 -0
- package/dist/cmds/logout.js +23 -0
- package/dist/cmds/logout.js.map +1 -0
- package/dist/cmds/whoami.d.ts.map +1 -1
- package/dist/cmds/whoami.js +1 -2
- package/dist/cmds/whoami.js.map +1 -1
- package/dist/common/api/client.d.ts +40 -0
- package/dist/common/api/client.d.ts.map +1 -0
- package/dist/common/api/client.js +92 -0
- package/dist/common/api/client.js.map +1 -0
- package/dist/common/middleware/confirm-production-deploy.d.ts +4 -0
- package/dist/common/middleware/confirm-production-deploy.d.ts.map +1 -0
- package/dist/common/middleware/confirm-production-deploy.js +49 -0
- package/dist/common/middleware/confirm-production-deploy.js.map +1 -0
- package/dist/common/middleware/get-environment-param.d.ts +6 -0
- package/dist/common/middleware/get-environment-param.d.ts.map +1 -1
- package/dist/common/middleware/get-environment-param.js +15 -0
- package/dist/common/middleware/get-environment-param.js.map +1 -1
- package/dist/common/middleware/get-environment-param.test.d.ts +2 -0
- package/dist/common/middleware/get-environment-param.test.d.ts.map +1 -0
- package/dist/common/middleware/get-environment-param.test.js +33 -0
- package/dist/common/middleware/get-environment-param.test.js.map +1 -0
- package/dist/common/output.d.ts +7 -0
- package/dist/common/output.d.ts.map +1 -1
- package/dist/common/output.js +15 -1
- package/dist/common/output.js.map +1 -1
- package/dist/common/read-linked-config.d.ts +6 -1
- package/dist/common/read-linked-config.d.ts.map +1 -1
- package/dist/common/read-linked-config.js +14 -4
- package/dist/common/read-linked-config.js.map +1 -1
- package/dist/common/read-linked-config.test.js +97 -0
- package/dist/common/read-linked-config.test.js.map +1 -1
- package/dist/custom-domain/create/handler.d.ts.map +1 -1
- package/dist/custom-domain/create/handler.js +12 -27
- package/dist/custom-domain/create/handler.js.map +1 -1
- package/dist/custom-domain/delete/handler.d.ts.map +1 -1
- package/dist/custom-domain/delete/handler.js +25 -54
- package/dist/custom-domain/delete/handler.js.map +1 -1
- package/dist/custom-domain/list/handler.d.ts.map +1 -1
- package/dist/custom-domain/list/handler.js +15 -29
- package/dist/custom-domain/list/handler.js.map +1 -1
- package/dist/custom-domain/update/handler.d.ts.map +1 -1
- package/dist/custom-domain/update/handler.js +12 -27
- package/dist/custom-domain/update/handler.js.map +1 -1
- package/dist/deploy/environments.d.ts +1 -0
- package/dist/deploy/environments.d.ts.map +1 -1
- package/dist/deploy/environments.js +11 -7
- package/dist/deploy/environments.js.map +1 -1
- package/dist/list/handler.d.ts.map +1 -1
- package/dist/list/handler.js +41 -59
- package/dist/list/handler.js.map +1 -1
- package/dist/login/logout.d.ts +5 -0
- package/dist/login/logout.d.ts.map +1 -0
- package/dist/login/logout.js +6 -0
- package/dist/login/logout.js.map +1 -0
- package/dist/login/tokens.d.ts +1 -0
- package/dist/login/tokens.d.ts.map +1 -1
- package/dist/login/tokens.js +16 -1
- package/dist/login/tokens.js.map +1 -1
- package/dist/mtls-certificates/create/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/create/handler.js +9 -23
- package/dist/mtls-certificates/create/handler.js.map +1 -1
- package/dist/mtls-certificates/delete/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/delete/handler.js +8 -20
- package/dist/mtls-certificates/delete/handler.js.map +1 -1
- package/dist/mtls-certificates/describe/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/describe/handler.js +17 -31
- package/dist/mtls-certificates/describe/handler.js.map +1 -1
- package/dist/mtls-certificates/disable/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/disable/handler.js +9 -26
- package/dist/mtls-certificates/disable/handler.js.map +1 -1
- package/dist/mtls-certificates/list/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/list/handler.js +22 -36
- package/dist/mtls-certificates/list/handler.js.map +1 -1
- package/dist/mtls-certificates/update/handler.d.ts.map +1 -1
- package/dist/mtls-certificates/update/handler.js +14 -29
- package/dist/mtls-certificates/update/handler.js.map +1 -1
- package/dist/proxies/create/handler.d.ts.map +1 -1
- package/dist/proxies/create/handler.js +9 -22
- package/dist/proxies/create/handler.js.map +1 -1
- package/dist/proxies/delete/handler.d.ts.map +1 -1
- package/dist/proxies/delete/handler.js +8 -21
- package/dist/proxies/delete/handler.js.map +1 -1
- package/dist/proxies/describe/handler.d.ts.map +1 -1
- package/dist/proxies/describe/handler.js +7 -22
- package/dist/proxies/describe/handler.js.map +1 -1
- package/dist/proxies/update/handler.d.ts.map +1 -1
- package/dist/proxies/update/handler.js +9 -22
- package/dist/proxies/update/handler.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tunnel/create/handler.d.ts.map +1 -1
- package/dist/tunnel/create/handler.js +8 -22
- package/dist/tunnel/create/handler.js.map +1 -1
- package/dist/tunnel/delete/handler.d.ts.map +1 -1
- package/dist/tunnel/delete/handler.js +16 -30
- package/dist/tunnel/delete/handler.js.map +1 -1
- package/dist/tunnel/describe/handler.d.ts.map +1 -1
- package/dist/tunnel/describe/handler.js +7 -21
- package/dist/tunnel/describe/handler.js.map +1 -1
- package/dist/tunnel/list/handler.d.ts.map +1 -1
- package/dist/tunnel/list/handler.js +13 -28
- package/dist/tunnel/list/handler.js.map +1 -1
- package/dist/tunnel/rotate-token/handler.d.ts.map +1 -1
- package/dist/tunnel/rotate-token/handler.js +7 -21
- package/dist/tunnel/rotate-token/handler.js.map +1 -1
- package/dist/tunnel/services/describe/handler.d.ts.map +1 -1
- package/dist/tunnel/services/describe/handler.js +7 -21
- package/dist/tunnel/services/describe/handler.js.map +1 -1
- package/dist/tunnel/services/update/handler.d.ts.map +1 -1
- package/dist/tunnel/services/update/handler.js +18 -32
- package/dist/tunnel/services/update/handler.js.map +1 -1
- package/dist/variable/create/handler.d.ts.map +1 -1
- package/dist/variable/create/handler.js +9 -24
- package/dist/variable/create/handler.js.map +1 -1
- package/dist/variable/update/handler.d.ts.map +1 -1
- package/dist/variable/update/handler.js +9 -24
- package/dist/variable/update/handler.js.map +1 -1
- package/dist/whoami/handler.d.ts +1 -1
- package/dist/whoami/handler.d.ts.map +1 -1
- package/dist/whoami/handler.js +12 -17
- package/dist/whoami/handler.js.map +1 -1
- package/node_modules/@zuplo/core/customer.cli.minified.js +225 -211
- package/node_modules/@zuplo/core/index.minified.js +237 -223
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/editor/node_modules/find-my-way/.github/workflows/node.js.yml +1 -1
- package/node_modules/@zuplo/editor/node_modules/find-my-way/README.md +10 -0
- package/node_modules/@zuplo/editor/node_modules/find-my-way/index.d.ts +6 -0
- package/node_modules/@zuplo/editor/node_modules/find-my-way/index.js +37 -4
- package/node_modules/@zuplo/editor/node_modules/find-my-way/lib/handler-storage.js +2 -2
- package/node_modules/@zuplo/editor/node_modules/find-my-way/package.json +3 -3
- package/node_modules/@zuplo/editor/node_modules/find-my-way/test/repro-issue-414.test.js +57 -0
- package/node_modules/@zuplo/editor/node_modules/find-my-way/test/types/router.test-d.ts +1 -0
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/graphql/index.d.ts +1 -0
- package/node_modules/graphql/language/ast.d.ts +10 -1
- package/node_modules/graphql/language/ast.js +8 -1
- package/node_modules/graphql/language/ast.mjs +8 -1
- package/node_modules/graphql/language/directiveLocation.d.ts +1 -0
- package/node_modules/graphql/language/directiveLocation.js +1 -0
- package/node_modules/graphql/language/directiveLocation.mjs +1 -0
- package/node_modules/graphql/language/index.d.ts +1 -0
- package/node_modules/graphql/language/kinds.d.ts +1 -0
- package/node_modules/graphql/language/kinds.js +1 -0
- package/node_modules/graphql/language/kinds.mjs +1 -0
- package/node_modules/graphql/language/parser.d.ts +14 -0
- package/node_modules/graphql/language/parser.js +33 -0
- package/node_modules/graphql/language/parser.mjs +33 -0
- package/node_modules/graphql/language/predicates.js +3 -1
- package/node_modules/graphql/language/predicates.mjs +5 -1
- package/node_modules/graphql/language/printer.js +13 -1
- package/node_modules/graphql/language/printer.mjs +13 -1
- package/node_modules/graphql/package.json +1 -1
- package/node_modules/graphql/type/directives.d.ts +9 -1
- package/node_modules/graphql/type/directives.js +10 -1
- package/node_modules/graphql/type/directives.mjs +10 -1
- package/node_modules/graphql/type/introspection.js +24 -1
- package/node_modules/graphql/type/introspection.mjs +24 -1
- package/node_modules/graphql/utilities/buildASTSchema.js +4 -0
- package/node_modules/graphql/utilities/buildASTSchema.mjs +4 -0
- package/node_modules/graphql/utilities/buildClientSchema.js +1 -0
- package/node_modules/graphql/utilities/buildClientSchema.mjs +1 -0
- package/node_modules/graphql/utilities/extendSchema.js +58 -3
- package/node_modules/graphql/utilities/extendSchema.mjs +58 -3
- package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +16 -0
- package/node_modules/graphql/utilities/getIntrospectionQuery.js +31 -38
- package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +31 -38
- package/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
- package/node_modules/graphql/utilities/introspectionFromSchema.mjs +1 -0
- package/node_modules/graphql/utilities/printSchema.js +1 -0
- package/node_modules/graphql/utilities/printSchema.mjs +1 -0
- package/node_modules/graphql/utilities/valueFromAST.js +12 -2
- package/node_modules/graphql/utilities/valueFromAST.mjs +12 -2
- package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +4 -0
- package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +4 -0
- package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +12 -0
- package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +12 -0
- package/node_modules/graphql/version.js +3 -3
- package/node_modules/graphql/version.mjs +3 -3
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAKA,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,iBAgC3C"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import settings from "../../common/settings.js";
|
|
1
|
+
import { createApiClient } from "../../common/api/client.js";
|
|
2
|
+
import { printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
|
|
4
3
|
function toMutationTable(result) {
|
|
5
4
|
return {
|
|
6
5
|
hostname: result.hostname,
|
|
@@ -21,31 +20,17 @@ export async function create(argv) {
|
|
|
21
20
|
if (argv.stage) {
|
|
22
21
|
body.stage = argv.stage;
|
|
23
22
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
body: JSON.stringify(body),
|
|
23
|
+
const client = createApiClient({ authToken: argv.authToken });
|
|
24
|
+
const result = await client.post(`/v1/accounts/${account}/custom-domains`, {
|
|
25
|
+
operation: "Failed to create custom domain for account",
|
|
26
|
+
errorMessage: "Error: Failed to create custom domain for your account. Check the arguments.",
|
|
27
|
+
body,
|
|
31
28
|
});
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
else {
|
|
38
|
-
await printTableToConsoleAndExitGracefully(toMutationTable(result));
|
|
39
|
-
}
|
|
40
|
-
return;
|
|
29
|
+
if (argv.output === "json") {
|
|
30
|
+
await printJsonToConsoleAndExitGracefully(result);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
await printTableToConsoleAndExitGracefully(toMutationTable(result));
|
|
41
34
|
}
|
|
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
|
-
printDiagnosticsToConsole("Error: Failed to create custom domain for your account. Check the arguments.", response);
|
|
49
|
-
process.exit(1);
|
|
50
35
|
}
|
|
51
36
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAYhC,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,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,gBAAgB,OAAO,iBAAiB,EACxC;QACE,SAAS,EAAE,4CAA4C;QACvD,YAAY,EACV,8EAA8E;QAChF,IAAI;KACL,CACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.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 client = createApiClient({ authToken: argv.authToken });\n const result = await client.post<CustomDomainMutationResult>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to create custom domain for account\",\n errorMessage:\n \"Error: Failed to create custom domain for your account. Check the arguments.\",\n body,\n }\n );\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AASA,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;AAsDD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBAgCvD"}
|
|
@@ -1,32 +1,6 @@
|
|
|
1
|
+
import { createApiClient } from "../../common/api/client.js";
|
|
1
2
|
import { logger } from "../../common/logger.js";
|
|
2
|
-
import { printCriticalFailureToConsoleAndExit,
|
|
3
|
-
import settings from "../../common/settings.js";
|
|
4
|
-
async function exitWithLoggedFailure(genericMessage, logMessage, context = {}) {
|
|
5
|
-
logger.error(context, logMessage);
|
|
6
|
-
if (context.response !== undefined && context.response !== null) {
|
|
7
|
-
printDiagnosticsToConsole(genericMessage, context.response);
|
|
8
|
-
process.exit(1);
|
|
9
|
-
}
|
|
10
|
-
await printCriticalFailureToConsoleAndExit(genericMessage);
|
|
11
|
-
throw new Error("printCriticalFailureToConsoleAndExit returned unexpectedly");
|
|
12
|
-
}
|
|
13
|
-
async function fetchCustomDomains(account, authToken) {
|
|
14
|
-
const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
|
|
15
|
-
method: "GET",
|
|
16
|
-
headers: {
|
|
17
|
-
Authorization: `Bearer ${authToken}`,
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
if (listResponse.ok) {
|
|
21
|
-
return (await listResponse.json());
|
|
22
|
-
}
|
|
23
|
-
const response = textOrJson(await listResponse.text());
|
|
24
|
-
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", {
|
|
25
|
-
status: listResponse.status,
|
|
26
|
-
statusText: listResponse.statusText,
|
|
27
|
-
response,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
3
|
+
import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, } from "../../common/output.js";
|
|
30
4
|
async function resolveDeploymentName(customDomain) {
|
|
31
5
|
if (customDomain.deployments.length === 0) {
|
|
32
6
|
return undefined;
|
|
@@ -34,16 +8,22 @@ async function resolveDeploymentName(customDomain) {
|
|
|
34
8
|
if (customDomain.deployments.length === 1) {
|
|
35
9
|
return customDomain.deployments[0].deploymentName ?? undefined;
|
|
36
10
|
}
|
|
37
|
-
|
|
11
|
+
logger.error({
|
|
38
12
|
hostname: customDomain.hostname,
|
|
39
13
|
deploymentCount: customDomain.deployments.length,
|
|
40
|
-
});
|
|
14
|
+
}, "Custom domain deletion requires an explicit deployment name");
|
|
15
|
+
await printCriticalFailureToConsoleAndExit(`Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`);
|
|
16
|
+
throw new Error("printCriticalFailureToConsoleAndExit returned unexpectedly");
|
|
41
17
|
}
|
|
42
18
|
async function inferDeploymentName(argv) {
|
|
43
19
|
if (argv["deployment-name"]) {
|
|
44
20
|
return argv["deployment-name"];
|
|
45
21
|
}
|
|
46
|
-
const
|
|
22
|
+
const client = createApiClient({ authToken: argv.authToken });
|
|
23
|
+
const customDomains = await client.get(`/v1/accounts/${argv.account}/custom-domains`, {
|
|
24
|
+
operation: "Failed to fetch custom domains for deletion preflight",
|
|
25
|
+
errorMessage: "Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.",
|
|
26
|
+
});
|
|
47
27
|
const matchingCustomDomain = customDomains.data.find((customDomain) => {
|
|
48
28
|
return customDomain.hostname === argv.hostname;
|
|
49
29
|
});
|
|
@@ -60,30 +40,21 @@ export async function deleteCustomDomain(argv) {
|
|
|
60
40
|
if (deploymentName) {
|
|
61
41
|
query.set("deploymentName", deploymentName);
|
|
62
42
|
}
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
43
|
+
const client = createApiClient({ authToken: argv.authToken });
|
|
44
|
+
await client.delete(`/v1/accounts/${account}/custom-domains?${query.toString()}`, {
|
|
45
|
+
operation: "Failed to delete custom domain for account",
|
|
46
|
+
errorMessage: "Error: Failed to delete custom domain for your account. Check the arguments.",
|
|
47
|
+
emptyResponse: true,
|
|
68
48
|
});
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
await printResultToConsoleAndExitGracefully(`Custom domain ${hostname} deleted successfully.`);
|
|
79
|
-
}
|
|
80
|
-
return;
|
|
49
|
+
if (argv.output === "json") {
|
|
50
|
+
await printJsonToConsoleAndExitGracefully({
|
|
51
|
+
deleted: true,
|
|
52
|
+
hostname,
|
|
53
|
+
deploymentName: deploymentName ?? null,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
await printResultToConsoleAndExitGracefully(`Custom domain ${hostname} deleted successfully.`);
|
|
81
58
|
}
|
|
82
|
-
const response = textOrJson(await deleteResponse.text());
|
|
83
|
-
await exitWithLoggedFailure("Error: Failed to delete custom domain for your account. Check the arguments.", "Failed to delete custom domain for account", {
|
|
84
|
-
status: deleteResponse.status,
|
|
85
|
-
statusText: deleteResponse.statusText,
|
|
86
|
-
response,
|
|
87
|
-
});
|
|
88
59
|
}
|
|
89
60
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,oCAAoC,EACpC,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n} from \"../../common/output.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\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 logger.error(\n {\n hostname: customDomain.hostname,\n deploymentCount: customDomain.deployments.length,\n },\n \"Custom domain deletion requires an explicit deployment name\"\n );\n await printCriticalFailureToConsoleAndExit(\n `Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`\n );\n throw new Error(\"printCriticalFailureToConsoleAndExit returned unexpectedly\");\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 client = createApiClient({ authToken: argv.authToken });\n const customDomains = await client.get<CustomDomainListResponse>(\n `/v1/accounts/${argv.account}/custom-domains`,\n {\n operation: \"Failed to fetch custom domains for deletion preflight\",\n errorMessage:\n \"Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.\",\n }\n );\n\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 client = createApiClient({ authToken: argv.authToken });\n await client.delete(\n `/v1/accounts/${account}/custom-domains?${query.toString()}`,\n {\n operation: \"Failed to delete custom domain for account\",\n errorMessage:\n \"Error: Failed to delete custom domain for your account. Check the arguments.\",\n emptyResponse: true,\n }\n );\n\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}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"AAQA,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,iBA2BzC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import settings from "../../common/settings.js";
|
|
1
|
+
import { createApiClient } from "../../common/api/client.js";
|
|
2
|
+
import { printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
|
|
4
3
|
function toTableRows(customDomains) {
|
|
5
4
|
const rows = [];
|
|
6
5
|
customDomains.forEach((customDomain) => {
|
|
@@ -69,38 +68,25 @@ function toJsonRows(customDomains) {
|
|
|
69
68
|
}
|
|
70
69
|
export async function list(argv) {
|
|
71
70
|
const { account } = argv;
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
},
|
|
71
|
+
const client = createApiClient({ authToken: argv.authToken });
|
|
72
|
+
const customDomains = await client.get(`/v1/accounts/${account}/custom-domains`, {
|
|
73
|
+
operation: "Failed to list custom domains for account",
|
|
74
|
+
errorMessage: "Error: Failed to list custom domains for your account. Try again later.",
|
|
77
75
|
});
|
|
78
|
-
if (
|
|
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
|
-
}
|
|
76
|
+
if (customDomains.data.length === 0) {
|
|
89
77
|
if (argv.output === "json") {
|
|
90
|
-
await printJsonToConsoleAndExitGracefully(
|
|
78
|
+
await printJsonToConsoleAndExitGracefully([]);
|
|
91
79
|
}
|
|
92
80
|
else {
|
|
93
|
-
await
|
|
81
|
+
await printResultToConsoleAndExitGracefully("No custom domains found");
|
|
94
82
|
}
|
|
95
83
|
return;
|
|
96
84
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
printDiagnosticsToConsole("Error: Failed to list custom domains for your account. Try again later.", response);
|
|
104
|
-
process.exit(1);
|
|
85
|
+
if (argv.output === "json") {
|
|
86
|
+
await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
await printTableToConsoleAndExitGracefully(toTableRows(customDomains.data));
|
|
90
|
+
}
|
|
105
91
|
}
|
|
106
92
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.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\n const client = createApiClient({ authToken: argv.authToken });\n const customDomains = await client.get<CustomDomainListResponse>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to list custom domains for account\",\n errorMessage:\n \"Error: Failed to list custom domains for your account. Try again later.\",\n }\n );\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(toTableRows(customDomains.data));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAOA,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,iBA2B3C"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import settings from "../../common/settings.js";
|
|
1
|
+
import { createApiClient } from "../../common/api/client.js";
|
|
2
|
+
import { printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
|
|
4
3
|
function toMutationTable(result) {
|
|
5
4
|
return {
|
|
6
5
|
hostname: result.hostname,
|
|
@@ -18,31 +17,17 @@ export async function update(argv) {
|
|
|
18
17
|
if (argv["deployment-name"]) {
|
|
19
18
|
body.deploymentName = argv["deployment-name"];
|
|
20
19
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
body: JSON.stringify(body),
|
|
20
|
+
const client = createApiClient({ authToken: argv.authToken });
|
|
21
|
+
const result = await client.patch(`/v1/accounts/${account}/custom-domains`, {
|
|
22
|
+
operation: "Failed to update custom domain for account",
|
|
23
|
+
errorMessage: "Error: Failed to update custom domain for your account. Check the arguments.",
|
|
24
|
+
body,
|
|
28
25
|
});
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
else {
|
|
35
|
-
await printTableToConsoleAndExitGracefully(toMutationTable(result));
|
|
36
|
-
}
|
|
37
|
-
return;
|
|
26
|
+
if (argv.output === "json") {
|
|
27
|
+
await printJsonToConsoleAndExitGracefully(result);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
await printTableToConsoleAndExitGracefully(toMutationTable(result));
|
|
38
31
|
}
|
|
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
|
-
printDiagnosticsToConsole("Error: Failed to update custom domain for your account. Check the arguments.", response);
|
|
46
|
-
process.exit(1);
|
|
47
32
|
}
|
|
48
33
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAWhC,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,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,gBAAgB,OAAO,iBAAiB,EACxC;QACE,SAAS,EAAE,4CAA4C;QACvD,YAAY,EACV,8EAA8E;QAChF,IAAI;KACL,CACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.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 client = createApiClient({ authToken: argv.authToken });\n const result = await client.patch<CustomDomainMutationResult>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to update custom domain for account\",\n errorMessage:\n \"Error: Failed to update custom domain for your account. Check the arguments.\",\n body,\n }\n );\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Environment } from "../common/api/lib.js";
|
|
2
2
|
import { SelfHostedArgs } from "./handler.js";
|
|
3
|
+
export declare function isProductionBranchName(name: string): boolean;
|
|
3
4
|
export declare class UnableToAutoLinkToExistingProject extends Error {
|
|
4
5
|
constructor(projectName: string);
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/deploy/environments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/deploy/environments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAW9C,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,WAAW,EAAE,MAAM;CAMhC;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,gBAQrB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAiClC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,gBAgC3E"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { logger } from "../common/logger.js";
|
|
2
2
|
import settings from "../common/settings.js";
|
|
3
|
+
const PRODUCTION_BRANCH_NAMES = new Set([
|
|
4
|
+
"main",
|
|
5
|
+
"master",
|
|
6
|
+
"production",
|
|
7
|
+
]);
|
|
8
|
+
export function isProductionBranchName(name) {
|
|
9
|
+
return PRODUCTION_BRANCH_NAMES.has(name);
|
|
10
|
+
}
|
|
3
11
|
export class UnableToAutoLinkToExistingProject extends Error {
|
|
4
12
|
constructor(projectName) {
|
|
5
13
|
super(`Unable to link environment and system variables for ${projectName}. Check that the project specified in your zuplo.jsonc exists in your account.`);
|
|
@@ -40,13 +48,9 @@ export async function retrieveFirstEnvironment(branch, argv) {
|
|
|
40
48
|
export async function createEnvironment(branch, argv) {
|
|
41
49
|
const { account, project } = argv;
|
|
42
50
|
const baseUrl = `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/environments`;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
environmentType = "preview";
|
|
49
|
-
}
|
|
51
|
+
const environmentType = isProductionBranchName(branch)
|
|
52
|
+
? "production"
|
|
53
|
+
: "preview";
|
|
50
54
|
const createEnvironmentResponse = await fetch(`${baseUrl}`, {
|
|
51
55
|
method: "POST",
|
|
52
56
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/deploy/environments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAG7C,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,WAAmB;QAC7B,KAAK,CACH,uDAAuD,WAAW,gFAAgF,CACnJ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,IAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,IAAoB;IAEpB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,4BAA4B,kBAAkB,CAAC;IAE3E,MAAM,WAAW,GAA2B;QAC1C,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,OAAO;KACrB,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,MAAM,uBAAuB,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC/C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CACV,4DAA4D,OAAO,OAAO,uBAAuB,CAAC,MAAM,IAAI,uBAAuB,CAAC,UAAU,EAAE,CACjJ,CAAC;QACF,MAAM,IAAI,iCAAiC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,+BAA+B,GACnC,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAEpC,CAAC;IAEJ,OAAO,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAoB;IAC1E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,4BAA4B,kBAAkB,CAAC;IAG3E,
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../src/deploy/environments.ts"],"names":[],"mappings":"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","sourcesContent":["import { Environment } from \"../common/api/lib.js\";\nimport { logger } from \"../common/logger.js\";\nimport settings from \"../common/settings.js\";\nimport { SelfHostedArgs } from \"./handler.js\";\n\nconst PRODUCTION_BRANCH_NAMES: ReadonlySet<string> = new Set([\n \"main\",\n \"master\",\n \"production\",\n]);\n\n// Heuristic check used until dev-api exposes the project's `defaultBranch`\n// to the CLI. Tracked as a follow-up to the production-deploy confirmation\n// work — see PR #7693 review thread.\nexport function isProductionBranchName(name: string): boolean {\n return PRODUCTION_BRANCH_NAMES.has(name);\n}\n\nexport class UnableToAutoLinkToExistingProject extends Error {\n constructor(projectName: string) {\n super(\n `Unable to link environment and system variables for ${projectName}. Check that the project specified in your zuplo.jsonc exists in your account.`\n );\n Object.setPrototypeOf(this, UnableToAutoLinkToExistingProject.prototype);\n }\n}\n\nexport async function retrieveOrCreateEnvironment(\n branch: string,\n argv: SelfHostedArgs\n) {\n const environment = await retrieveFirstEnvironment(branch, argv);\n if (environment) {\n return environment;\n } else {\n return await createEnvironment(branch, argv);\n }\n}\n\nexport async function retrieveFirstEnvironment(\n branch: string,\n argv: SelfHostedArgs\n): Promise<Environment | undefined> {\n const { account, project } = argv;\n const baseUrl = `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/environments`;\n\n const queryParams: Record<string, string> = {\n accountName: account,\n projectName: project,\n };\n\n const url = new URL(baseUrl);\n url.search = new URLSearchParams(queryParams).toString();\n const readEnvironmentResponse = await fetch(url, {\n method: \"GET\",\n headers: {\n authorization: `Bearer ${argv.authToken}`,\n },\n });\n\n if (!readEnvironmentResponse.ok) {\n logger.debug(\n `Unable to auto-link environment and system variables for ${project} -- ${readEnvironmentResponse.status} ${readEnvironmentResponse.statusText}`\n );\n throw new UnableToAutoLinkToExistingProject(project);\n }\n\n const environmentJsonFromDeveloperAPI =\n (await readEnvironmentResponse.json()) as {\n data: Environment[];\n };\n\n return environmentJsonFromDeveloperAPI.data.find(\n (env) => env.branchName === branch\n );\n}\n\nexport async function createEnvironment(branch: string, argv: SelfHostedArgs) {\n const { account, project } = argv;\n const baseUrl = `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/environments`;\n\n // TODO: This is a heuristic for now since we don't have a way to determine the production branch for self-hosted from a DB\n const environmentType: \"production\" | \"preview\" = isProductionBranchName(\n branch\n )\n ? \"production\"\n : \"preview\";\n\n const createEnvironmentResponse = await fetch(`${baseUrl}`, {\n method: \"POST\",\n headers: {\n authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n accountName: account,\n projectName: project,\n branchName: branch,\n environmentType,\n }),\n });\n\n if (createEnvironmentResponse.ok) {\n return await createEnvironmentResponse.json();\n } else {\n throw new Error(\n `Unable to create environment (project: ${project}, branch: ${branch}). Failed with ${createEnvironmentResponse.statusText}`\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/list/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/list/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAkDD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAOzC;AAuCD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB"}
|