@zuplo/cli 6.43.10 → 6.43.12
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/README.md +31 -31
- package/dist/__tests__/archive-utils.test.js +2 -2
- package/dist/__tests__/archive-utils.test.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/cmds/build.js +2 -2
- package/dist/cmds/build.js.map +1 -1
- package/dist/cmds/compile.js +4 -4
- package/dist/cmds/compile.js.map +1 -1
- package/dist/cmds/convert.js +1 -1
- package/dist/cmds/convert.js.map +1 -1
- package/dist/cmds/delete.d.ts.map +1 -1
- package/dist/cmds/delete.js +7 -6
- package/dist/cmds/delete.js.map +1 -1
- package/dist/cmds/deploy.d.ts.map +1 -1
- package/dist/cmds/deploy.js +4 -4
- package/dist/cmds/deploy.js.map +1 -1
- package/dist/cmds/dev.js +3 -3
- package/dist/cmds/dev.js.map +1 -1
- package/dist/cmds/editor.js +2 -2
- package/dist/cmds/editor.js.map +1 -1
- package/dist/cmds/link.d.ts.map +1 -1
- package/dist/cmds/link.js +4 -4
- package/dist/cmds/link.js.map +1 -1
- package/dist/cmds/list.d.ts.map +1 -1
- package/dist/cmds/list.js +3 -3
- package/dist/cmds/list.js.map +1 -1
- package/dist/cmds/login.d.ts.map +1 -1
- package/dist/cmds/login.js +3 -8
- package/dist/cmds/login.js.map +1 -1
- package/dist/cmds/project/import-openapi.js +1 -1
- package/dist/cmds/project/import-openapi.js.map +1 -1
- package/dist/cmds/project/update.js +2 -2
- package/dist/cmds/project/update.js.map +1 -1
- package/dist/cmds/test.js +3 -3
- package/dist/cmds/test.js.map +1 -1
- package/dist/cmds/tunnel/create.d.ts.map +1 -1
- package/dist/cmds/tunnel/create.js +4 -3
- package/dist/cmds/tunnel/create.js.map +1 -1
- package/dist/cmds/tunnel/delete.d.ts.map +1 -1
- package/dist/cmds/tunnel/delete.js +3 -3
- package/dist/cmds/tunnel/delete.js.map +1 -1
- package/dist/cmds/tunnel/describe.d.ts.map +1 -1
- package/dist/cmds/tunnel/describe.js +4 -3
- package/dist/cmds/tunnel/describe.js.map +1 -1
- package/dist/cmds/tunnel/list.js +1 -1
- package/dist/cmds/tunnel/list.js.map +1 -1
- package/dist/cmds/tunnel/rotate-token.d.ts.map +1 -1
- package/dist/cmds/tunnel/rotate-token.js +4 -3
- package/dist/cmds/tunnel/rotate-token.js.map +1 -1
- package/dist/cmds/tunnel/services/describe.d.ts.map +1 -1
- package/dist/cmds/tunnel/services/describe.js +4 -3
- package/dist/cmds/tunnel/services/describe.js.map +1 -1
- package/dist/cmds/tunnel/services/update.d.ts.map +1 -1
- package/dist/cmds/tunnel/services/update.js +4 -3
- package/dist/cmds/tunnel/services/update.js.map +1 -1
- package/dist/cmds/variable/create.d.ts.map +1 -1
- package/dist/cmds/variable/create.js +4 -3
- package/dist/cmds/variable/create.js.map +1 -1
- package/dist/cmds/variable/update.d.ts.map +1 -1
- package/dist/cmds/variable/update.js +9 -3
- package/dist/cmds/variable/update.js.map +1 -1
- package/dist/common/middleware/authentication.d.ts +4 -0
- package/dist/common/middleware/authentication.d.ts.map +1 -0
- package/dist/common/middleware/authentication.js +46 -0
- package/dist/common/middleware/authentication.js.map +1 -0
- package/dist/common/middleware/user-configuration.js +1 -1
- package/dist/common/middleware/user-configuration.js.map +1 -1
- package/dist/common/middleware/user-identification.js.map +1 -1
- package/dist/common/settings.d.ts +0 -1
- package/dist/common/settings.d.ts.map +1 -1
- package/dist/common/settings.js +0 -3
- package/dist/common/settings.js.map +1 -1
- package/dist/common/upgraders/package-json-upgrader.js +4 -4
- package/dist/common/upgraders/package-json-upgrader.js.map +1 -1
- package/dist/delete/handler.d.ts +1 -1
- package/dist/delete/handler.js +2 -2
- package/dist/delete/handler.js.map +1 -1
- package/dist/delete/poll-deployment.js +1 -1
- package/dist/delete/poll-deployment.js.map +1 -1
- package/dist/deploy/environments.js +2 -2
- package/dist/deploy/environments.js.map +1 -1
- package/dist/deploy/handler.d.ts +1 -1
- package/dist/deploy/handler.js +4 -4
- package/dist/deploy/handler.js.map +1 -1
- package/dist/deploy/poll-deployment.js +2 -2
- package/dist/deploy/poll-deployment.js.map +1 -1
- package/dist/link/handler.d.ts +1 -1
- package/dist/link/handler.js +4 -4
- package/dist/link/handler.js.map +1 -1
- package/dist/link/populate.d.ts +1 -1
- package/dist/link/populate.d.ts.map +1 -1
- package/dist/link/populate.js +3 -3
- package/dist/link/populate.js.map +1 -1
- package/dist/list/handler.d.ts +1 -1
- package/dist/list/handler.js +2 -2
- package/dist/list/handler.js.map +1 -1
- package/dist/login/handler.d.ts +1 -4
- package/dist/login/handler.d.ts.map +1 -1
- package/dist/login/handler.js +3 -6
- package/dist/login/handler.js.map +1 -1
- package/dist/login/html.d.ts +2 -0
- package/dist/login/html.d.ts.map +1 -0
- package/dist/login/html.js +84 -0
- package/dist/login/html.js.map +1 -0
- package/dist/login/server.d.ts.map +1 -1
- package/dist/login/server.js +4 -2
- package/dist/login/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tunnel/create/handler.d.ts +1 -1
- package/dist/tunnel/create/handler.js +1 -1
- package/dist/tunnel/create/handler.js.map +1 -1
- package/dist/tunnel/delete/handler.d.ts +1 -1
- package/dist/tunnel/delete/handler.js +1 -1
- package/dist/tunnel/delete/handler.js.map +1 -1
- package/dist/tunnel/delete/poll-teardown-operation.js +2 -2
- package/dist/tunnel/delete/poll-teardown-operation.js.map +1 -1
- package/dist/tunnel/describe/handler.d.ts +1 -1
- package/dist/tunnel/describe/handler.js +1 -1
- package/dist/tunnel/describe/handler.js.map +1 -1
- package/dist/tunnel/list/handler.d.ts +1 -1
- package/dist/tunnel/list/handler.js +1 -1
- package/dist/tunnel/list/handler.js.map +1 -1
- package/dist/tunnel/rotate-token/handler.d.ts +1 -1
- package/dist/tunnel/rotate-token/handler.js +1 -1
- package/dist/tunnel/rotate-token/handler.js.map +1 -1
- package/dist/tunnel/services/describe/handler.d.ts +1 -1
- package/dist/tunnel/services/describe/handler.js +1 -1
- package/dist/tunnel/services/describe/handler.js.map +1 -1
- package/dist/tunnel/services/update/handler.d.ts +1 -1
- package/dist/tunnel/services/update/handler.js +1 -1
- package/dist/tunnel/services/update/handler.js.map +1 -1
- package/dist/tunnel/services/update/poll-provisioning-operations.js +2 -2
- package/dist/tunnel/services/update/poll-provisioning-operations.js.map +1 -1
- package/dist/variable/create/handler.js +1 -1
- package/dist/variable/create/handler.js.map +1 -1
- package/dist/variable/models.d.ts +1 -1
- package/dist/variable/models.js.map +1 -1
- package/dist/variable/update/handler.js +1 -1
- package/dist/variable/update/handler.js.map +1 -1
- package/package.json +4 -4
- package/dist/common/validators/login-state-validator.d.ts +0 -14
- package/dist/common/validators/login-state-validator.d.ts.map +0 -1
- package/dist/common/validators/login-state-validator.js +0 -39
- package/dist/common/validators/login-state-validator.js.map +0 -1
|
@@ -6,7 +6,7 @@ export async function describe(argv) {
|
|
|
6
6
|
const describeResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv["tunnel-id"]}`, {
|
|
7
7
|
method: "GET",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
if (describeResponse.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/describe/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAClC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE,EAC9F;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/describe/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAClC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE,EAC9F;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,QAAQ;SACT,EACD,uCAAuC,CACxC,CAAC;QACF,yBAAyB,CACvB,yEAAyE,EACzE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Tunnel } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-id\": string;\n authToken: string;\n}\n\nexport async function describe(argv: Arguments) {\n const { account } = argv;\n const describeResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (describeResponse.ok) {\n const tunnel: Tunnel = await describeResponse.json();\n await printTableToConsoleAndExitGracefully(tunnel);\n } else {\n const response = textOrJson(await describeResponse.text());\n logger.error(\n {\n status: describeResponse.status,\n statusText: describeResponse.statusText,\n response,\n },\n \"Failed to describe tunnel for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to describe tunnel for your account. Check the arguments.\",\n response\n );\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export async function list(argv) {
|
|
|
6
6
|
const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels`, {
|
|
7
7
|
method: "GET",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
if (listResponse.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/list/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,KAAK,CAC9B,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,UAAU,EACzE;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/list/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,KAAK,CAC9B,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,UAAU,EACzE;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,GAAe,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAClC,MAAM,qCAAqC,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,oCAAoC,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,QAAQ;SACT,EACD,oCAAoC,CACrC,CAAC;QACF,yBAAyB,CACvB,kEAAkE,EAClE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { TunnelList } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n}\n\nexport async function list(argv: Arguments) {\n const { account } = await argv;\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (listResponse.ok) {\n const tunnels: TunnelList = await listResponse.json();\n\n if (tunnels.data.length === 0) {\n const output = \"No tunnels found\";\n await printResultToConsoleAndExitGracefully(output);\n } else {\n const table = tunnels.data.map((tunnel) => {\n return { \"tunnel-id\": tunnel.id, name: tunnel.name };\n });\n await printTableToConsoleAndExitGracefully(table);\n }\n } else {\n const response = await listResponse.json();\n logger.error(\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response,\n },\n \"Failed to list tunnels for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to list tunnels for your account. Try again later.\",\n response\n );\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export async function rotateToken(argv) {
|
|
|
6
6
|
const rotateResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv["tunnel-id"]}/$rotate-token`, {
|
|
7
7
|
method: "POST",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
if (rotateResponse.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/rotate-token/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAe;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAC5G;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/rotate-token/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAe;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAC5G;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAAW,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ;SACT,EACD,mCAAmC,CACpC,CAAC;QACF,yBAAyB,CACvB,gEAAgE,EAChE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Tunnel } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-id\": string;\n authToken: string;\n}\n\nexport async function rotateToken(argv: Arguments) {\n const { account } = argv;\n const rotateResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}/$rotate-token`,\n {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (rotateResponse.ok) {\n const tunnel: Tunnel = await rotateResponse.json();\n await printTableToConsoleAndExitGracefully(tunnel);\n } else {\n const response = textOrJson(await rotateResponse.text());\n logger.error(\n {\n status: rotateResponse.status,\n statusText: rotateResponse.statusText,\n response,\n },\n \"Failed to rotate token for tunnel\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to rotate token for tunnel. Check the arguments.\",\n response\n );\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export async function describe(argv) {
|
|
|
6
6
|
const describeResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv["tunnel-id"]}/services-configuration`, {
|
|
7
7
|
method: "GET",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
if (describeResponse.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/tunnel/services/describe/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AASnD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAClC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,yBAAyB,EACrH;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/tunnel/services/describe/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AASnD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAClC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,yBAAyB,EACrH;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,qCAAqC,CACzC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,QAAQ;SACT,EACD,wCAAwC,CACzC,CAAC;QACF,yBAAyB,CACvB,8EAA8E,EAC9E,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../../common/output.js\";\nimport settings from \"../../../common/settings.js\";\nimport { Tunnel } from \"../../models.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-id\": string;\n authToken: string;\n}\n\nexport async function describe(argv: Arguments) {\n const { account } = argv;\n const describeResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}/services-configuration`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (describeResponse.ok) {\n const tunnel: Tunnel = await describeResponse.json();\n await printResultToConsoleAndExitGracefully(\n JSON.stringify(tunnel, null, 2)\n );\n } else {\n const response = textOrJson(await describeResponse.text());\n logger.error(\n {\n status: describeResponse.status,\n statusText: describeResponse.statusText,\n response,\n },\n \"Failed to describe services for tunnel\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to describe the services for your tunnel. Check the arguments.\",\n response\n );\n }\n}\n"]}
|
|
@@ -15,7 +15,7 @@ export async function updateServices(argv) {
|
|
|
15
15
|
const deleteResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv["tunnel-id"]}/services-configuration`, {
|
|
16
16
|
method: "PUT",
|
|
17
17
|
headers: {
|
|
18
|
-
Authorization: `Bearer ${argv
|
|
18
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
19
19
|
"Content-Type": "application/json",
|
|
20
20
|
},
|
|
21
21
|
body: contents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/tunnel/services/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,oCAAoC,EACpC,yBAAyB,EACzB,qCAAqC,EACrC,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAS9E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAe;IAElD,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,oCAAoC,CACxC,2CAA2C,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CACzF,CAAC;IACJ,CAAC;IAGD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,yBAAyB,EACrH;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/tunnel/services/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,oCAAoC,EACpC,yBAAyB,EACzB,qCAAqC,EACrC,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAS9E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAe;IAElD,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,oCAAoC,CACxC,2CAA2C,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CACzF,CAAC;IACJ,CAAC;IAGD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,yBAAyB,EACrH;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,qBAAqB,GACzB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QAC9B,yBAAyB,CACvB,+BAA+B,IAAI,CAAC,WAAW,CAAC,eAAe,OAAO,KAAK,CAC5E,CAAC;QAGF,MAAM,2BAA2B,GAAG,MAAM,yBAAyB,CAAC;YAClE,IAAI;YACJ,OAAO;YACP,uBAAuB,EAAE,qBAAqB,CAAC,EAAE;SAClD,CAAC,CAAC;QAEH,IAAI,2BAA2B,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,qCAAqC,CACzC,UAAU,IAAI,CAAC,WAAW,CAAC,wBAAwB,CACpD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yBAAyB,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,oCAAoC,CACxC,UAAU,IAAI,CAAC,WAAW,CAAC,wCAAwC,2BAA2B,CAAC,OAAO,EAAE,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ;SACT,EACD,qCAAqC,CACtC,CAAC;QACF,yBAAyB,CACvB,2EAA2E,EAC3E,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { logger } from \"../../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../../common/output.js\";\nimport settings from \"../../../common/settings.js\";\nimport { ProvisioningOperation } from \"../../models.js\";\nimport { pollProvisioningOperation } from \"./poll-provisioning-operations.js\";\n\nexport interface Arguments {\n account: string;\n \"configuration-file\": string;\n \"tunnel-id\": string;\n authToken: string;\n}\n\nexport async function updateServices(argv: Arguments) {\n // 2. Read the configuration file\n let contents;\n try {\n contents = await readFile(argv[\"configuration-file\"], \"utf-8\");\n } catch (err) {\n await printCriticalFailureToConsoleAndExit(\n `Error reading the configuration file at ${argv[\"configuration-file\"]}: ${err.message}}`\n );\n }\n\n // 3. Initiate a update for the tunnel\n const { account } = argv;\n const deleteResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}/services-configuration`,\n {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: contents,\n }\n );\n\n if (deleteResponse.ok) {\n const provisioningOperation: ProvisioningOperation =\n await deleteResponse.json();\n printDiagnosticsToConsole(\n `Updating services on tunnel ${argv[\"tunnel-id\"]} on account ${account}...`\n );\n\n // 3. Poll for status\n const polledProvisioningOperation = await pollProvisioningOperation({\n argv,\n account,\n provisioningOperationId: provisioningOperation.id,\n });\n\n if (polledProvisioningOperation.status === \"success\") {\n await printResultToConsoleAndExitGracefully(\n `Tunnel ${argv[\"tunnel-id\"]} updated successfully.`\n );\n } else {\n printDiagnosticsToConsole(polledProvisioningOperation.details);\n await printCriticalFailureToConsoleAndExit(\n `Tunnel ${argv[\"tunnel-id\"]} failed to update. Here's the error: ${polledProvisioningOperation.message}`\n );\n }\n } else {\n const response = textOrJson(await deleteResponse.text());\n logger.error(\n {\n status: deleteResponse.status,\n statusText: deleteResponse.statusText,\n response,\n },\n \"Failed to update tunnel for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to update the tunnel for your account. Check the arguments.\",\n response\n );\n }\n}\n"]}
|
|
@@ -5,14 +5,14 @@ function wait(duration = settings.PROVISIONING_POLL_INTERVAL) {
|
|
|
5
5
|
return new Promise((resolve) => setTimeout(resolve, duration));
|
|
6
6
|
}
|
|
7
7
|
export async function pollProvisioningOperation(args) {
|
|
8
|
-
const
|
|
8
|
+
const authToken = args.argv.authToken;
|
|
9
9
|
const tunnelId = args.argv["tunnel-id"];
|
|
10
10
|
for (let pollRetry = 0; pollRetry < settings.MAX_PROVISIONING_RETRIES; pollRetry++) {
|
|
11
11
|
printDiagnosticsToConsole(`Polling for provisioning operation status... (${pollRetry}/${settings.MAX_PROVISIONING_RETRIES})`);
|
|
12
12
|
const response = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${args.account}/tunnels/${tunnelId}/provisioning-operations/${args.provisioningOperationId}`, {
|
|
13
13
|
method: "GET",
|
|
14
14
|
headers: {
|
|
15
|
-
Authorization: `Bearer ${
|
|
15
|
+
Authorization: `Bearer ${authToken}`,
|
|
16
16
|
},
|
|
17
17
|
});
|
|
18
18
|
if (response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-provisioning-operations.js","sourceRoot":"","sources":["../../../../src/tunnel/services/update/poll-provisioning-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AAInD,SAAS,IAAI,CACX,WAAmB,QAAQ,CAAC,0BAA0B;IAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAI/C;IACC,MAAM,
|
|
1
|
+
{"version":3,"file":"poll-provisioning-operations.js","sourceRoot":"","sources":["../../../../src/tunnel/services/update/poll-provisioning-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AAInD,SAAS,IAAI,CACX,WAAmB,QAAQ,CAAC,0BAA0B;IAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAI/C;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExC,KACE,IAAI,SAAS,GAAG,CAAC,EACjB,SAAS,GAAG,QAAQ,CAAC,wBAAwB,EAC7C,SAAS,EAAE,EACX,CAAC;QACD,yBAAyB,CACvB,iDAAiD,SAAS,IAAI,QAAQ,CAAC,wBAAwB,GAAG,CACnG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,IAAI,CAAC,OAAO,YAAY,QAAQ,4BAA4B,IAAI,CAAC,uBAAuB,EAAE,EAClJ;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,SAAS,EAAE;aACrC;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,qBAAqB,GACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,QAAQ,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBACrC,KAAK,OAAO;oBACV,OAAO,qBAAqB,CAAC;gBAC/B,KAAK,aAAa;oBAChB,MAAM,IAAI,EAAE,CAAC;oBACb,SAAS;gBACX,KAAK,SAAS;oBACZ,OAAO,qBAAqB,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV;gBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC5C,EACD,8EAA8E,CAC/E,CAAC;YACF,MAAM,IAAI,KAAK,CACb,oFAAoF,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC7H,CAAC;QACJ,CAAC;IACH,CAAC;IAID,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from \"../../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n textOrJson,\n} from \"../../../common/output.js\";\nimport settings from \"../../../common/settings.js\";\nimport { ProvisioningOperation } from \"../../models.js\";\nimport { Arguments } from \"./handler.js\";\n\nfunction wait(\n duration: number = settings.PROVISIONING_POLL_INTERVAL\n): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, duration));\n}\n\nexport async function pollProvisioningOperation(args: {\n argv: Arguments;\n account: string;\n provisioningOperationId: string;\n}): Promise<ProvisioningOperation> {\n const authToken = args.argv.authToken;\n const tunnelId = args.argv[\"tunnel-id\"];\n\n for (\n let pollRetry = 0;\n pollRetry < settings.MAX_PROVISIONING_RETRIES;\n pollRetry++\n ) {\n printDiagnosticsToConsole(\n `Polling for provisioning operation status... (${pollRetry}/${settings.MAX_PROVISIONING_RETRIES})`\n );\n\n const response = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${args.account}/tunnels/${tunnelId}/provisioning-operations/${args.provisioningOperationId}`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${authToken}`,\n },\n }\n );\n\n if (response.ok) {\n const provisioningOperation: ProvisioningOperation =\n await response.json();\n switch (provisioningOperation.status) {\n case \"error\":\n return provisioningOperation;\n case \"in-progress\":\n await wait();\n continue;\n case \"success\":\n return provisioningOperation;\n }\n } else {\n logger.error(\n {\n status: response.status,\n statusText: response.statusText,\n response: textOrJson(await response.text()),\n },\n \"Unexpected error from server while polling for provisioning operation status\"\n );\n throw new Error(\n `Unexpected response from server while polling for provisioning operation status: ${response.status} ${response.statusText}`\n );\n }\n }\n\n // We will not get here because we will always execute the loop at least once\n // This is to appease the TypeScript compiler\n throw new Error(\n \"Unexpected error while polling for provisioning operation status\"\n );\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export async function create(argv) {
|
|
|
6
6
|
const createResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/projects/${project}/branches/${encodeURIComponent(argv["branch"])}/variables`, {
|
|
7
7
|
method: "POST",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
"Content-Type": "application/json",
|
|
11
11
|
},
|
|
12
12
|
body: JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/variable/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAGhD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GACE,QAAQ,CAAC,4BACX,gBAAgB,OAAO,aAAa,OAAO,aAAa,kBAAkB,CACxE,IAAI,CAAC,QAAQ,CAAC,CACf,YAAY,EACb;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/variable/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAGhD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GACE,QAAQ,CAAC,4BACX,gBAAgB,OAAO,aAAa,OAAO,aAAa,kBAAkB,CACxE,IAAI,CAAC,QAAQ,CAAC,CACf,YAAY,EACb;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;SACrB,CAAC;KACH,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAa,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvD,oBAAoB,CAAC,QAAQ,CAAC,IAAI,GAAG,uBAAuB,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ,EAAE,OAAO;SAClB,EACD,2BAA2B,CAC5B,CAAC;QACF,yBAAyB,CACvB,wDAAwD,EACxD,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsole,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Arguments, Variable } from \"../models.js\";\n\nexport async function create(argv: Arguments) {\n const { account, project } = argv;\n const createResponse = await fetch(\n `${\n settings.ZUPLO_DEVELOPER_API_ENDPOINT\n }/v1/accounts/${account}/projects/${project}/branches/${encodeURIComponent(\n argv[\"branch\"]\n )}/variables`,\n {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n name: argv[\"name\"],\n isSecret: argv[\"is-secret\"],\n value: argv[\"value\"],\n }),\n }\n );\n\n if (createResponse.ok) {\n const variable: Variable = await createResponse.json();\n printResultToConsole(variable.name + \" created successfully\");\n } else {\n const problem = textOrJson(await createResponse.text());\n logger.error(\n {\n status: createResponse.status,\n statusText: createResponse.statusText,\n response: problem,\n },\n \"Failed to create variable\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to create variable. Check the arguments.\",\n problem\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/variable/models.ts"],"names":[],"mappings":"","sourcesContent":["export interface Variable {\n name: string;\n \"is-secret\": boolean;\n value: string;\n branch: string;\n createdOn: Date;\n updatedOn: Date;\n}\n\nexport interface Arguments {\n account: string;\n project: string;\n branch: string;\n
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/variable/models.ts"],"names":[],"mappings":"","sourcesContent":["export interface Variable {\n name: string;\n \"is-secret\": boolean;\n value: string;\n branch: string;\n createdOn: Date;\n updatedOn: Date;\n}\n\nexport interface Arguments {\n account: string;\n project: string;\n branch: string;\n authToken: string;\n name: string;\n \"is-secret\": boolean;\n value: string;\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export async function update(argv) {
|
|
|
6
6
|
const updateResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/projects/${project}/branches/${encodeURIComponent(argv["branch"])}/variables/${encodeURIComponent(argv["name"])}`, {
|
|
7
7
|
method: "PATCH",
|
|
8
8
|
headers: {
|
|
9
|
-
Authorization: `Bearer ${argv
|
|
9
|
+
Authorization: `Bearer ${argv.authToken}`,
|
|
10
10
|
"Content-Type": "application/json",
|
|
11
11
|
},
|
|
12
12
|
body: JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/variable/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAGhD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GACE,QAAQ,CAAC,4BACX,gBAAgB,OAAO,aAAa,OAAO,aAAa,kBAAkB,CACxE,IAAI,CAAC,QAAQ,CAAC,CACf,cAAc,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EACjD;QACE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/variable/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAGhD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GACE,QAAQ,CAAC,4BACX,gBAAgB,OAAO,aAAa,OAAO,aAAa,kBAAkB,CACxE,IAAI,CAAC,QAAQ,CAAC,CACf,cAAc,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EACjD;QACE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;SACrB,CAAC;KACH,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAa,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvD,oBAAoB,CAAC,QAAQ,CAAC,IAAI,GAAG,uBAAuB,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ,EAAE,OAAO;SAClB,EACD,2BAA2B,CAC5B,CAAC;QACF,yBAAyB,CACvB,wDAAwD,EACxD,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsole,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Arguments, Variable } from \"../models.js\";\n\nexport async function update(argv: Arguments) {\n const { account, project } = argv;\n const updateResponse = await fetch(\n `${\n settings.ZUPLO_DEVELOPER_API_ENDPOINT\n }/v1/accounts/${account}/projects/${project}/branches/${encodeURIComponent(\n argv[\"branch\"]\n )}/variables/${encodeURIComponent(argv[\"name\"])}`,\n {\n method: \"PATCH\",\n headers: {\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n value: argv[\"value\"],\n }),\n }\n );\n\n if (updateResponse.ok) {\n const variable: Variable = await updateResponse.json();\n printResultToConsole(variable.name + \" updated successfully\");\n } else {\n const problem = textOrJson(await updateResponse.text());\n logger.error(\n {\n status: updateResponse.status,\n statusText: updateResponse.statusText,\n response: problem,\n },\n \"Failed to update variable\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to update variable. Check the arguments.\",\n problem\n );\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zuplo/cli",
|
|
3
|
-
"version": "6.43.
|
|
3
|
+
"version": "6.43.12",
|
|
4
4
|
"repository": "https://github.com/zuplo/zuplo",
|
|
5
5
|
"author": "Zuplo, Inc.",
|
|
6
6
|
"type": "module",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"@opentelemetry/api": "^1.8.0",
|
|
30
30
|
"@sentry/node": "^9.5.0",
|
|
31
31
|
"@swc/core": "1.10.18",
|
|
32
|
-
"@zuplo/core": "^6.43.
|
|
33
|
-
"@zuplo/openapi-tools": "^6.43.
|
|
34
|
-
"@zuplo/runtime": "^6.43.
|
|
32
|
+
"@zuplo/core": "^6.43.12",
|
|
33
|
+
"@zuplo/openapi-tools": "^6.43.12",
|
|
34
|
+
"@zuplo/runtime": "^6.43.12",
|
|
35
35
|
"as-table": "^1.0.55",
|
|
36
36
|
"chalk": "^5.3.0",
|
|
37
37
|
"chokidar": "^3.5.3",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Result, ValidationRule } from "./lib.js";
|
|
2
|
-
export declare class CannotInvokeZupLink extends Error {
|
|
3
|
-
constructor();
|
|
4
|
-
}
|
|
5
|
-
export declare class IsZupLinkInvocableValidator implements ValidationRule<{
|
|
6
|
-
dir: string;
|
|
7
|
-
environment?: string;
|
|
8
|
-
}> {
|
|
9
|
-
validate(options: {
|
|
10
|
-
dir: string;
|
|
11
|
-
environment?: string;
|
|
12
|
-
}): Promise<Result>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=login-state-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login-state-validator.d.ts","sourceRoot":"","sources":["../../../src/common/validators/login-state-validator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAElD,qBAAa,mBAAoB,SAAQ,KAAK;;CAO7C;AAED,qBAAa,2BACX,YACE,cAAc,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;IAEE,QAAQ,CAAC,OAAO,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsCpB"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
2
|
-
import { readFile } from "node:fs/promises";
|
|
3
|
-
import { join } from "node:path";
|
|
4
|
-
import { ZUPLO_AUTH_FILE_NAME } from "../constants.js";
|
|
5
|
-
import { logger } from "../logger.js";
|
|
6
|
-
import settings from "../settings.js";
|
|
7
|
-
import { ZUPLO_XDG_STATE_HOME } from "../xdg/lib.js";
|
|
8
|
-
export class CannotInvokeZupLink extends Error {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(`You are not logged in (or your credentials have expired). Please run \`zup login\` to log in.`);
|
|
11
|
-
Object.setPrototypeOf(this, CannotInvokeZupLink.prototype);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class IsZupLinkInvocableValidator {
|
|
15
|
-
async validate(options) {
|
|
16
|
-
if (options.environment) {
|
|
17
|
-
return { ok: true };
|
|
18
|
-
}
|
|
19
|
-
if (!existsSync(join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME))) {
|
|
20
|
-
return { ok: false, error: new CannotInvokeZupLink() };
|
|
21
|
-
}
|
|
22
|
-
const rawAuth = await readFile(join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME), "utf-8");
|
|
23
|
-
const authJson = JSON.parse(rawAuth);
|
|
24
|
-
const accountResponse = await fetch(`${settings.ZUPLO_API_ENDPOINT}/v1/accounts`, {
|
|
25
|
-
headers: {
|
|
26
|
-
authorization: `Bearer ${authJson.access_token}`,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
if (!accountResponse.ok) {
|
|
30
|
-
logger.debug({
|
|
31
|
-
status: accountResponse.status,
|
|
32
|
-
statusText: accountResponse.statusText,
|
|
33
|
-
}, "Failed to connect to Zuplo API during verification. Assuming user is not logged in.");
|
|
34
|
-
return { ok: false, error: new CannotInvokeZupLink() };
|
|
35
|
-
}
|
|
36
|
-
return { ok: true };
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=login-state-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login-state-validator.js","sourceRoot":"","sources":["../../../src/common/validators/login-state-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CACH,+FAA+F,CAChG,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,2BAA2B;IAOtC,KAAK,CAAC,QAAQ,CAAC,OAGd;QACC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAExB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,mBAAmB,EAAE,EAAE,CAAC;QACzD,CAAC;QAGD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC5B,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAChD,OAAO,CACR,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,eAAe,GAAG,MAAM,KAAK,CACjC,GAAG,QAAQ,CAAC,kBAAkB,cAAc,EAC5C;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,QAAQ,CAAC,YAAY,EAAE;aACjD;SACF,CACF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CACV;gBACE,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,UAAU,EAAE,eAAe,CAAC,UAAU;aACvC,EACD,qFAAqF,CACtF,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,mBAAmB,EAAE,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CACF","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { ZUPLO_AUTH_FILE_NAME } from \"../constants.js\";\nimport { logger } from \"../logger.js\";\nimport settings from \"../settings.js\";\nimport { ZUPLO_XDG_STATE_HOME } from \"../xdg/lib.js\";\nimport { Result, ValidationRule } from \"./lib.js\";\n\nexport class CannotInvokeZupLink extends Error {\n constructor() {\n super(\n `You are not logged in (or your credentials have expired). Please run \\`zup login\\` to log in.`\n );\n Object.setPrototypeOf(this, CannotInvokeZupLink.prototype);\n }\n}\n\nexport class IsZupLinkInvocableValidator\n implements\n ValidationRule<{\n dir: string;\n environment?: string;\n }>\n{\n async validate(options: {\n dir: string;\n environment?: string;\n }): Promise<Result> {\n if (options.environment) {\n // The user has provided all the values on the CLI so we can link directly\n return { ok: true };\n }\n // The auth file doesn't exist.\n if (!existsSync(join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME))) {\n return { ok: false, error: new CannotInvokeZupLink() };\n }\n\n // The credentials have expired.\n const rawAuth = await readFile(\n join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME),\n \"utf-8\"\n );\n const authJson = JSON.parse(rawAuth);\n\n const accountResponse = await fetch(\n `${settings.ZUPLO_API_ENDPOINT}/v1/accounts`,\n {\n headers: {\n authorization: `Bearer ${authJson.access_token}`,\n },\n }\n );\n if (!accountResponse.ok) {\n logger.debug(\n {\n status: accountResponse.status,\n statusText: accountResponse.statusText,\n },\n \"Failed to connect to Zuplo API during verification. Assuming user is not logged in.\"\n );\n return { ok: false, error: new CannotInvokeZupLink() };\n }\n\n return { ok: true };\n }\n}\n"]}
|