@zuplo/cli 6.69.6 → 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/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 +3 -0
- package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
- package/dist/__tests__/integration/whoami.integration.test.js +27 -0
- 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 +4 -0
- 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/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 +3 -0
- package/dist/common/output.d.ts.map +1 -1
- package/dist/common/output.js +11 -0
- 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/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/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/tsconfig.tsbuildinfo +1 -1
- package/dist/whoami/handler.d.ts +1 -1
- package/dist/whoami/handler.d.ts.map +1 -1
- package/dist/whoami/handler.js +8 -1
- 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":"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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAG7C,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,MAAM;IACN,QAAQ;IACR,YAAY;CACb,CAAC,CAAC;AAKH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,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,MAAM,eAAe,GAA6B,sBAAsB,CACtE,MAAM,CACP;QACC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE,EAAE;QAC1D,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,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,MAAM;YAClB,eAAe;SAChB,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,yBAAyB,CAAC,EAAE,EAAE,CAAC;QACjC,OAAO,MAAM,yBAAyB,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,aAAa,MAAM,kBAAkB,yBAAyB,CAAC,UAAU,EAAE,CAC7H,CAAC;IACJ,CAAC;AACH,CAAC","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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/login/logout.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAGpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/login/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC","sourcesContent":["import { clearAuthState } from \"./tokens.js\";\n\nexport interface LogoutResult {\n hadCredentials: boolean;\n}\n\nexport async function logout(): Promise<LogoutResult> {\n const hadCredentials = await clearAuthState();\n return { hadCredentials };\n}\n"]}
|
package/dist/login/tokens.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export declare function refreshAccessToken(
|
|
|
11
11
|
): Promise<OAuthResponse>;
|
|
12
12
|
export declare function getAuthToken(): Promise<string | undefined>;
|
|
13
13
|
export declare function saveAuthState(result: OAuthResponse): Promise<void>;
|
|
14
|
+
export declare function clearAuthState(): Promise<boolean>;
|
|
14
15
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/login/tokens.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA0DxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8BhE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE"}
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/login/tokens.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CA0DxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8BhE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE;AAMD,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAevD"}
|
package/dist/login/tokens.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, mkdirSync } from "node:fs";
|
|
2
|
-
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { readFile, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { decodeJwt } from "jose";
|
|
5
5
|
import { ZUPLO_AUTH_FILE_NAME } from "../common/constants.js";
|
|
@@ -84,4 +84,19 @@ export async function saveAuthState(result) {
|
|
|
84
84
|
printDiagnosticsToConsole("Failed to save authorization state.");
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
export async function clearAuthState() {
|
|
88
|
+
const tokenPath = join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME);
|
|
89
|
+
if (!existsSync(tokenPath)) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
await rm(tokenPath, { force: true });
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger.error({ error, tokenPath }, "Failed to remove auth state file");
|
|
98
|
+
printDiagnosticsToConsole(`Failed to remove the local credentials file at ${tokenPath}. You may need to remove it manually.`);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
87
102
|
//# sourceMappingURL=tokens.js.map
|
package/dist/login/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/login/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/login/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, mkdirSync } from \"node:fs\";\nimport { readFile, rm, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { decodeJwt } from \"jose\";\nimport { ZUPLO_AUTH_FILE_NAME } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { printDiagnosticsToConsole } from \"../common/output.js\";\nimport { ZUPLO_XDG_STATE_HOME } from \"../common/xdg/lib.js\";\nimport { AUTH0_DOMAIN, CLIENT_ID } from \"./login.js\";\n\nexport interface OAuthResponse {\n // biome-ignore lint/style/useNamingConvention: API field\n refresh_token?: string;\n // biome-ignore lint/style/useNamingConvention: API field\n access_token: string;\n // biome-ignore lint/style/useNamingConvention: API field\n id_token: string;\n // biome-ignore lint/style/useNamingConvention: API field\n expires_in: number;\n // biome-ignore lint/style/useNamingConvention: API field\n token_type: string;\n scope: string;\n}\n\n/**\n * Refreshes the access token using the provided refresh token.\n * @param refreshToken The refresh token to use for obtaining a new access token.\n * @returns A promise resolving to the new authentication state.\n */\nexport async function refreshAccessToken(\n refreshToken: string\n): Promise<OAuthResponse> {\n const response = await fetch(`https://${AUTH0_DOMAIN}/oauth/token`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n // biome-ignore lint/style/useNamingConvention: External API property\n grant_type: \"refresh_token\",\n // biome-ignore lint/style/useNamingConvention: External API property\n client_id: CLIENT_ID,\n // biome-ignore lint/style/useNamingConvention: External API property\n refresh_token: refreshToken,\n }),\n });\n\n if (!response.ok) {\n // Parse the error response if available\n // biome-ignore lint/suspicious/noExplicitAny: Migrated from ESLint\n let errorDetails: any = {};\n try {\n errorDetails = await response.json();\n } catch {\n // If response body is not JSON, continue with status text\n }\n\n const Sentry = await import(\"@sentry/node\");\n const errorMessage =\n errorDetails.error_description ||\n errorDetails.error ||\n response.statusText;\n\n Sentry.captureException(\n new Error(`Failed to refresh token: ${errorMessage}`),\n {\n tags: {\n // biome-ignore lint/style/useNamingConvention: External API property\n oauth_error: errorDetails.error || \"refresh_token_failed\",\n source: \"cli_refresh_token\",\n // biome-ignore lint/style/useNamingConvention: External API property\n status_code: response.status,\n },\n extra: {\n // biome-ignore lint/style/useNamingConvention: External API property\n error_description: errorDetails.error_description,\n // biome-ignore lint/style/useNamingConvention: External API property\n error_details: errorDetails,\n status: response.status,\n // biome-ignore lint/style/useNamingConvention: External API property\n status_text: response.statusText,\n },\n }\n );\n\n throw new Error(`Failed to refresh token: ${errorMessage}`);\n }\n\n return response.json();\n}\n\nexport async function getAuthToken(): Promise<string | undefined> {\n // The auth file doesn't exist.\n if (!existsSync(join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME))) {\n return;\n }\n\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 const jwt = decodeJwt(authJson.access_token);\n\n // The credentials have expired\n if (!jwt.exp || jwt.exp < Date.now() / 1000) {\n logger.debug(\"Access token expired, attempting to get a new one\");\n // If we have a refresh token try to refresh\n if (authJson.refresh_token) {\n try {\n const newAuth = await refreshAccessToken(authJson.refresh_token);\n await saveAuthState(newAuth);\n return newAuth.access_token;\n } catch (error) {\n logger.error(error, `Failed to refresh access token`);\n return;\n }\n }\n return;\n }\n return authJson.access_token;\n}\n\nexport async function saveAuthState(result: OAuthResponse): Promise<void> {\n try {\n if (!existsSync(ZUPLO_XDG_STATE_HOME)) {\n mkdirSync(ZUPLO_XDG_STATE_HOME, { recursive: true });\n }\n const tokenPath = join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME);\n await writeFile(tokenPath, JSON.stringify(result));\n } catch (error) {\n logger.error(error, \"Failed to save auth state\");\n printDiagnosticsToConsole(\"Failed to save authorization state.\");\n }\n}\n\n/**\n * Removes the persisted auth state from disk. Returns true if a credentials\n * file was removed, false if there was nothing to remove.\n */\nexport async function clearAuthState(): Promise<boolean> {\n const tokenPath = join(ZUPLO_XDG_STATE_HOME, ZUPLO_AUTH_FILE_NAME);\n if (!existsSync(tokenPath)) {\n return false;\n }\n try {\n await rm(tokenPath, { force: true });\n return true;\n } catch (error) {\n logger.error({ error, tokenPath }, \"Failed to remove auth state file\");\n printDiagnosticsToConsole(\n `Failed to remove the local credentials file at ${tokenPath}. You may need to remove it manually.`\n );\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/build/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
|
|
1
|
+
{"root":["../src/cli.ts","../src/internal.ts","../src/types.d.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/outdated.test.ts","../src/__tests__/populate.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/__tests__/integration/confirm-linked-config.integration.test.ts","../src/__tests__/integration/confirm-production-deploy.integration.test.ts","../src/__tests__/integration/custom-domain.integration.test.ts","../src/__tests__/integration/delete.integration.test.ts","../src/__tests__/integration/deploy.integration.test.ts","../src/__tests__/integration/get-project-param.integration.test.ts","../src/__tests__/integration/info.integration.test.ts","../src/__tests__/integration/jest-mocks-setup.ts","../src/__tests__/integration/jest-setup.ts","../src/__tests__/integration/link.integration.test.ts","../src/__tests__/integration/linked-config-cascade.integration.test.ts","../src/__tests__/integration/list.integration.test.ts","../src/__tests__/integration/test-utils.ts","../src/__tests__/integration/tunnel.integration.test.ts","../src/__tests__/integration/variable.integration.test.ts","../src/__tests__/integration/whoami.integration.test.ts","../src/bucket/models.ts","../src/bucket/list/handler.ts","../src/build/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/docs.ts","../src/cmds/editor.ts","../src/cmds/info.ts","../src/cmds/init.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/logout.ts","../src/cmds/test.ts","../src/cmds/whoami.ts","../src/cmds/bucket/index.ts","../src/cmds/bucket/list.ts","../src/cmds/custom-domain/create.ts","../src/cmds/custom-domain/delete.ts","../src/cmds/custom-domain/index.ts","../src/cmds/custom-domain/list.ts","../src/cmds/custom-domain/update.ts","../src/cmds/mtls-certificates/create.ts","../src/cmds/mtls-certificates/delete.ts","../src/cmds/mtls-certificates/describe.ts","../src/cmds/mtls-certificates/disable.ts","../src/cmds/mtls-certificates/index.ts","../src/cmds/mtls-certificates/list.ts","../src/cmds/mtls-certificates/update.ts","../src/cmds/open-api/convert.ts","../src/cmds/open-api/index.ts","../src/cmds/open-api/merge.ts","../src/cmds/open-api/overlay.ts","../src/cmds/project/create.ts","../src/cmds/project/index.ts","../src/cmds/project/info.ts","../src/cmds/proxies/create.ts","../src/cmds/proxies/delete.ts","../src/cmds/proxies/describe.ts","../src/cmds/proxies/index.ts","../src/cmds/proxies/update.ts","../src/cmds/source/import-openapi.ts","../src/cmds/source/index.ts","../src/cmds/source/migrate.ts","../src/cmds/source/upgrade.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/populate.ts","../src/common/read-linked-config.test.ts","../src/common/read-linked-config.ts","../src/common/runner.ts","../src/common/settings.ts","../src/common/terminal.test.ts","../src/common/terminal.ts","../src/common/worker-output.ts","../src/common/analytics/lib.ts","../src/common/api/client.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/authentication.ts","../src/common/middleware/confirm-linked-config.ts","../src/common/middleware/confirm-production-deploy.ts","../src/common/middleware/get-account-param.ts","../src/common/middleware/get-environment-param.test.ts","../src/common/middleware/get-environment-param.ts","../src/common/middleware/get-project-param.ts","../src/common/middleware/logging.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/middleware/validate-fleet.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/branch.ts","../src/common/utils/build-environment-prompt-choices.test.ts","../src/common/utils/build-environment-prompt-choices.ts","../src/common/utils/format-environment-type.test.ts","../src/common/utils/format-environment-type.ts","../src/common/utils/ports.ts","../src/common/utils/prefixed-output.ts","../src/common/utils/pretty-print-environment-prompt.test.ts","../src/common/utils/pretty-print-environment-prompt.ts","../src/common/utils/sort-environments-for-prompt.test.ts","../src/common/utils/sort-environments-for-prompt.ts","../src/common/utils/stringify-config.test.ts","../src/common/utils/stringify-config.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/argument-validators.spec.ts","../src/common/validators/argument-validators.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/custom-domain/models.ts","../src/custom-domain/create/handler.ts","../src/custom-domain/delete/handler.ts","../src/custom-domain/list/handler.ts","../src/custom-domain/update/handler.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.local-registry.test.ts","../src/deploy/archive.test.ts","../src/deploy/archive.ts","../src/deploy/environments.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/docs/handler.ts","../src/editor/handler.ts","../src/editor/e2e/editor.spec.ts","../src/init/handler.ts","../src/link/handler.ts","../src/list/handler.ts","../src/login/login.ts","../src/login/logout.ts","../src/login/tokens.ts","../src/mtls-certificates/models.ts","../src/mtls-certificates/create/handler.ts","../src/mtls-certificates/delete/handler.ts","../src/mtls-certificates/describe/handler.ts","../src/mtls-certificates/disable/handler.ts","../src/mtls-certificates/list/handler.ts","../src/mtls-certificates/update/handler.ts","../src/open-api/convert/handler.spec.ts","../src/open-api/convert/handler.ts","../src/open-api/merge/handler.spec.ts","../src/open-api/merge/handler.ts","../src/open-api/overlay/handler.spec.ts","../src/open-api/overlay/handler.ts","../src/project/create/handler.ts","../src/project/info/handler.ts","../src/proxies/models.ts","../src/proxies/create/handler.ts","../src/proxies/delete/handler.ts","../src/proxies/describe/handler.ts","../src/proxies/update/handler.ts","../src/source/migrate/dev-portal/handler.ts","../src/source/migrate/dev-portal/types.ts","../src/source/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/test-files.test.ts","../src/test/test-files.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts","../src/whoami/handler.ts"],"version":"5.8.2"}
|
package/dist/whoami/handler.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBAuB3C"}
|
package/dist/whoami/handler.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { createApiClient } from "../common/api/client.js";
|
|
2
2
|
import { printResultToConsoleAndExitGracefully } from "../common/output.js";
|
|
3
|
+
import { getAuthToken } from "../login/tokens.js";
|
|
3
4
|
export async function whoami(argv) {
|
|
4
|
-
const
|
|
5
|
+
const apiKey = argv["api-key"]?.trim();
|
|
6
|
+
const authToken = apiKey || (await getAuthToken());
|
|
7
|
+
if (!authToken) {
|
|
8
|
+
await printResultToConsoleAndExitGracefully("You are logged out");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const client = createApiClient({ authToken });
|
|
5
12
|
const data = await client.get("/v1/who-am-i", {
|
|
6
13
|
operation: "Failed to determine current user",
|
|
7
14
|
errorMessage: "Error: Failed to determine current user. Check your credentials.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYlD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,qCAAqC,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAiB,cAAc,EAAE;QAC5D,SAAS,EAAE,kCAAkC;QAC7C,YAAY,EACV,kEAAkE;KACrE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,qCAAqC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import { createApiClient } from \"../common/api/client.js\";\nimport { printResultToConsoleAndExitGracefully } from \"../common/output.js\";\nimport { getAuthToken } from \"../login/tokens.js\";\n\nexport interface Arguments {\n \"api-key\"?: string;\n}\n\ninterface WhoAmIResponse {\n sub: string;\n account?: string;\n email?: string;\n}\n\nexport async function whoami(argv: Arguments) {\n const apiKey = argv[\"api-key\"]?.trim();\n const authToken = apiKey || (await getAuthToken());\n\n if (!authToken) {\n await printResultToConsoleAndExitGracefully(\"You are logged out\");\n return;\n }\n\n const client = createApiClient({ authToken });\n const data = await client.get<WhoAmIResponse>(\"/v1/who-am-i\", {\n operation: \"Failed to determine current user\",\n errorMessage:\n \"Error: Failed to determine current user. Check your credentials.\",\n });\n\n const identity = data.email ? `${data.email} (${data.sub})` : data.sub;\n const lines = [`Authenticated as ${identity}`];\n if (data.account) {\n lines.push(`Account: ${data.account}`);\n }\n\n await printResultToConsoleAndExitGracefully(lines.join(\"\\n\"));\n}\n"]}
|