bootstrapping-lambda/generateAppSyncAuthToken.ts (22 lines of code) (raw):

import prompts from "prompts"; import { S3 } from "@aws-sdk/client-s3"; import { standardAwsConfig } from "../shared/awsIntegration"; import { getYourEmail } from "../shared/local/yourEmail"; (async () => { const s3 = new S3(standardAwsConfig); const { stage } = await prompts({ type: "select", name: "stage", message: "Stage?", choices: [ { title: "CODE", value: "CODE", selected: true }, { title: "PROD", value: "PROD" }, ], }); process.env.STAGE = stage; process.env.GRAPHQL_ENDPOINT = "N/A"; const yourEmail = await getYourEmail(); // using dynamic import to allow us to override STAGE which is evaluated when the module is imported const generateAppSyncConfig = (await import("./src/generateAppSyncConfig")) .generateAppSyncConfig; console.log((await generateAppSyncConfig(yourEmail, s3)).authToken); })();