Files
pole-book/server/node_modules/@strapi/cloud-cli/dist/environment/link/action.mjs.map

1 line
8.6 KiB
Plaintext

{"version":3,"file":"action.mjs","sources":["../../../src/environment/link/action.ts"],"sourcesContent":["import chalk from 'chalk';\nimport inquirer, { type Answers } from 'inquirer';\nimport { EnvironmentDetails, ProjectInput } from '../../services/cli-api';\nimport type { CLIContext, CloudApiService } from '../../types';\nimport { cloudApiFactory, tokenServiceFactory, local } from '../../services';\nimport { promptLogin } from '../../login/action';\nimport { trackEvent } from '../../utils/analytics';\nimport { getLocalProject } from '../../utils/get-local-config';\n\nconst QUIT_OPTION = 'Quit';\n\ninterface LinkEnvironmentAnswer extends Answers {\n targetEnvironment: string;\n}\n\ninterface LinkEnvironmentInput extends Answers {\n targetEnvironment: string;\n}\n\ntype EnvironmentsList = EnvironmentDetails[];\n\nexport default async (ctx: CLIContext) => {\n const { getValidToken } = await tokenServiceFactory(ctx);\n const token = await getValidToken(ctx, promptLogin);\n const { logger } = ctx;\n\n if (!token) {\n return;\n }\n\n const project = await getLocalProject(ctx);\n\n if (!project) {\n logger.debug(`No valid local project configuration was found.`);\n return;\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n const environments = await getEnvironmentsList(ctx, cloudApiService, project);\n\n if (!environments) {\n logger.debug(`Fetching environments failed.`);\n return;\n }\n\n if (environments.length === 0) {\n logger.log(\n `The only available environment is already linked. You can add a new one from your project settings on the Strapi Cloud dashboard.`\n );\n return;\n }\n\n const answer: LinkEnvironmentAnswer | null = await promptUserForEnvironment(ctx, environments);\n\n if (!answer) {\n return;\n }\n\n await trackEvent(ctx, cloudApiService, 'willLinkEnvironment', {\n projectName: project.name,\n environmentName: answer.targetEnvironment,\n });\n\n try {\n await local.patch({ project: { targetEnvironment: answer.targetEnvironment } });\n } catch (e) {\n await trackEvent(ctx, cloudApiService, 'didNotLinkEnvironment', {\n projectName: project.name,\n environmentName: answer.targetEnvironment,\n });\n logger.debug('Failed to link environment', e);\n logger.error(\n 'Failed to link the environment. If this issue persists, try re-linking your project or contact support.'\n );\n process.exit(1);\n }\n\n logger.log(\n ` You have successfully linked your project to ${chalk.cyan(answer.targetEnvironment)}, on ${chalk.cyan(project.displayName)}. You are now able to deploy your project.`\n );\n await trackEvent(ctx, cloudApiService, 'didLinkEnvironment', {\n projectName: project.name,\n environmentName: answer.targetEnvironment,\n });\n};\n\nasync function promptUserForEnvironment(\n ctx: CLIContext,\n environments: EnvironmentsList\n): Promise<LinkEnvironmentAnswer | null> {\n const { logger } = ctx;\n\n try {\n const answer: LinkEnvironmentInput = await inquirer.prompt([\n {\n type: 'list',\n name: 'targetEnvironment',\n message: 'Which environment do you want to link?',\n choices: [...environments, { name: chalk.grey(`(${QUIT_OPTION})`), value: null }],\n },\n ]);\n\n if (!answer.targetEnvironment) {\n return null;\n }\n\n return answer;\n } catch (e) {\n logger.debug('Failed to get user input', e);\n logger.error('An error occurred while trying to get your environment selection.');\n return null;\n }\n}\n\nasync function getEnvironmentsList(\n ctx: CLIContext,\n cloudApiService: CloudApiService,\n project: ProjectInput\n) {\n const spinner = ctx.logger.spinner('Fetching environments...\\n').start();\n\n try {\n const {\n data: { data: environmentsList },\n } = await cloudApiService.listLinkEnvironments({ name: project.name });\n\n if (!Array.isArray(environmentsList) || environmentsList.length === 0) {\n throw new Error('Environments not found in server response');\n }\n spinner.succeed();\n return environmentsList.filter(\n (environment: EnvironmentDetails) => environment.name !== project.targetEnvironment\n );\n } catch (e: any) {\n if (e.response && e.response.status === 404) {\n spinner.succeed();\n ctx.logger.warn(\n `\\nThe project associated with this folder does not exist in Strapi Cloud. \\nPlease link your local project to an existing Strapi Cloud project using the ${chalk.cyan(\n 'link'\n )} command.`\n );\n } else {\n spinner.fail('An error occurred while fetching environments data from Strapi Cloud.');\n ctx.logger.debug('Failed to list environments', e);\n }\n }\n}\n"],"names":["QUIT_OPTION","ctx","getValidToken","tokenServiceFactory","token","promptLogin","logger","project","getLocalProject","debug","cloudApiService","cloudApiFactory","environments","getEnvironmentsList","length","log","answer","promptUserForEnvironment","trackEvent","projectName","name","environmentName","targetEnvironment","local","e","error","process","exit","chalk","cyan","displayName","inquirer","prompt","type","message","choices","grey","value","spinner","start","data","environmentsList","listLinkEnvironments","Array","isArray","Error","succeed","filter","environment","response","status","warn","fail"],"mappings":";;;;;;;;;;;;AASA,MAAMA,WAAc,GAAA,MAAA;AAYpB,aAAe,CAAA,OAAOC,GAAAA,GAAAA;AACpB,IAAA,MAAM,EAAEC,aAAa,EAAE,GAAG,MAAMC,mBAAoBF,CAAAA,GAAAA,CAAAA;IACpD,MAAMG,KAAAA,GAAQ,MAAMF,aAAAA,CAAcD,GAAKI,EAAAA,WAAAA,CAAAA;IACvC,MAAM,EAAEC,MAAM,EAAE,GAAGL,GAAAA;AAEnB,IAAA,IAAI,CAACG,KAAO,EAAA;AACV,QAAA;AACF;IAEA,MAAMG,OAAAA,GAAU,MAAMC,eAAgBP,CAAAA,GAAAA,CAAAA;AAEtC,IAAA,IAAI,CAACM,OAAS,EAAA;AACZD,QAAAA,MAAAA,CAAOG,KAAK,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAC9D,QAAA;AACF;IAEA,MAAMC,eAAAA,GAAkB,MAAMC,eAAAA,CAAgBV,GAAKG,EAAAA,KAAAA,CAAAA;AACnD,IAAA,MAAMQ,YAAe,GAAA,MAAMC,mBAAoBZ,CAAAA,GAAAA,EAAKS,eAAiBH,EAAAA,OAAAA,CAAAA;AAErE,IAAA,IAAI,CAACK,YAAc,EAAA;AACjBN,QAAAA,MAAAA,CAAOG,KAAK,CAAC,CAAC,6BAA6B,CAAC,CAAA;AAC5C,QAAA;AACF;IAEA,IAAIG,YAAAA,CAAaE,MAAM,KAAK,CAAG,EAAA;AAC7BR,QAAAA,MAAAA,CAAOS,GAAG,CACR,CAAC,iIAAiI,CAAC,CAAA;AAErI,QAAA;AACF;IAEA,MAAMC,MAAAA,GAAuC,MAAMC,wBAAAA,CAAyBhB,GAAKW,EAAAA,YAAAA,CAAAA;AAEjF,IAAA,IAAI,CAACI,MAAQ,EAAA;AACX,QAAA;AACF;IAEA,MAAME,UAAAA,CAAWjB,GAAKS,EAAAA,eAAAA,EAAiB,qBAAuB,EAAA;AAC5DS,QAAAA,WAAAA,EAAaZ,QAAQa,IAAI;AACzBC,QAAAA,eAAAA,EAAiBL,OAAOM;AAC1B,KAAA,CAAA;IAEA,IAAI;QACF,MAAMC,KAAW,CAAC;YAAEhB,OAAS,EAAA;AAAEe,gBAAAA,iBAAAA,EAAmBN,OAAOM;AAAkB;AAAE,SAAA,CAAA;AAC/E,KAAA,CAAE,OAAOE,CAAG,EAAA;QACV,MAAMN,UAAAA,CAAWjB,GAAKS,EAAAA,eAAAA,EAAiB,uBAAyB,EAAA;AAC9DS,YAAAA,WAAAA,EAAaZ,QAAQa,IAAI;AACzBC,YAAAA,eAAAA,EAAiBL,OAAOM;AAC1B,SAAA,CAAA;QACAhB,MAAOG,CAAAA,KAAK,CAAC,4BAA8Be,EAAAA,CAAAA,CAAAA;AAC3ClB,QAAAA,MAAAA,CAAOmB,KAAK,CACV,yGAAA,CAAA;AAEFC,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;IAEArB,MAAOS,CAAAA,GAAG,CACR,CAAC,8CAA8C,EAAEa,KAAMC,CAAAA,IAAI,CAACb,MAAOM,CAAAA,iBAAiB,EAAE,KAAK,EAAEM,MAAMC,IAAI,CAACtB,QAAQuB,WAAW,CAAA,CAAE,0CAA0C,CAAC,CAAA;IAE1K,MAAMZ,UAAAA,CAAWjB,GAAKS,EAAAA,eAAAA,EAAiB,oBAAsB,EAAA;AAC3DS,QAAAA,WAAAA,EAAaZ,QAAQa,IAAI;AACzBC,QAAAA,eAAAA,EAAiBL,OAAOM;AAC1B,KAAA,CAAA;AACF,CAAA;AAEA,eAAeL,wBAAAA,CACbhB,GAAe,EACfW,YAA8B,EAAA;IAE9B,MAAM,EAAEN,MAAM,EAAE,GAAGL,GAAAA;IAEnB,IAAI;AACF,QAAA,MAAMe,MAA+B,GAAA,MAAMe,QAASC,CAAAA,MAAM,CAAC;AACzD,YAAA;gBACEC,IAAM,EAAA,MAAA;gBACNb,IAAM,EAAA,mBAAA;gBACNc,OAAS,EAAA,wCAAA;gBACTC,OAAS,EAAA;AAAIvB,oBAAAA,GAAAA,YAAAA;AAAc,oBAAA;wBAAEQ,IAAMQ,EAAAA,KAAAA,CAAMQ,IAAI,CAAC,CAAC,CAAC,EAAEpC,WAAAA,CAAY,CAAC,CAAC,CAAA;wBAAGqC,KAAO,EAAA;AAAK;AAAE;AACnF;AACD,SAAA,CAAA;QAED,IAAI,CAACrB,MAAOM,CAAAA,iBAAiB,EAAE;YAC7B,OAAO,IAAA;AACT;QAEA,OAAON,MAAAA;AACT,KAAA,CAAE,OAAOQ,CAAG,EAAA;QACVlB,MAAOG,CAAAA,KAAK,CAAC,0BAA4Be,EAAAA,CAAAA,CAAAA;AACzClB,QAAAA,MAAAA,CAAOmB,KAAK,CAAC,mEAAA,CAAA;QACb,OAAO,IAAA;AACT;AACF;AAEA,eAAeZ,mBACbZ,CAAAA,GAAe,EACfS,eAAgC,EAChCH,OAAqB,EAAA;AAErB,IAAA,MAAM+B,UAAUrC,GAAIK,CAAAA,MAAM,CAACgC,OAAO,CAAC,8BAA8BC,KAAK,EAAA;IAEtE,IAAI;QACF,MAAM,EACJC,IAAM,EAAA,EAAEA,IAAMC,EAAAA,gBAAgB,EAAE,EACjC,GAAG,MAAM/B,eAAgBgC,CAAAA,oBAAoB,CAAC;AAAEtB,YAAAA,IAAAA,EAAMb,QAAQa;AAAK,SAAA,CAAA;QAEpE,IAAI,CAACuB,MAAMC,OAAO,CAACH,qBAAqBA,gBAAiB3B,CAAAA,MAAM,KAAK,CAAG,EAAA;AACrE,YAAA,MAAM,IAAI+B,KAAM,CAAA,2CAAA,CAAA;AAClB;AACAP,QAAAA,OAAAA,CAAQQ,OAAO,EAAA;QACf,OAAOL,gBAAAA,CAAiBM,MAAM,CAC5B,CAACC,cAAoCA,WAAY5B,CAAAA,IAAI,KAAKb,OAAAA,CAAQe,iBAAiB,CAAA;AAEvF,KAAA,CAAE,OAAOE,CAAQ,EAAA;QACf,IAAIA,CAAAA,CAAEyB,QAAQ,IAAIzB,CAAAA,CAAEyB,QAAQ,CAACC,MAAM,KAAK,GAAK,EAAA;AAC3CZ,YAAAA,OAAAA,CAAQQ,OAAO,EAAA;AACf7C,YAAAA,GAAAA,CAAIK,MAAM,CAAC6C,IAAI,CACb,CAAC,yJAAyJ,EAAEvB,KAAAA,CAAMC,IAAI,CACpK,MACA,CAAA,CAAA,SAAS,CAAC,CAAA;SAET,MAAA;AACLS,YAAAA,OAAAA,CAAQc,IAAI,CAAC,uEAAA,CAAA;AACbnD,YAAAA,GAAAA,CAAIK,MAAM,CAACG,KAAK,CAAC,6BAA+Be,EAAAA,CAAAA,CAAAA;AAClD;AACF;AACF;;;;"}