@strapi/cloud-cli 0.0.0-next.eb48c73c86cbc452c1ba8d727106f9ed9da0c834 → 0.0.0-next.ebcac74d516f1eac8973e3621367a9515e76ca82
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/bin.d.ts.map +1 -0
- package/dist/bin.js +5 -18
- package/dist/bin.js.map +1 -1
- package/dist/bin.mjs +3 -16
- package/dist/bin.mjs.map +1 -1
- package/dist/cloud/command.d.ts.map +1 -0
- package/dist/cloud/command.js +14 -0
- package/dist/cloud/command.js.map +1 -0
- package/dist/cloud/command.mjs +12 -0
- package/dist/cloud/command.mjs.map +1 -0
- package/dist/config/api.d.ts.map +1 -0
- package/dist/config/api.js +11 -0
- package/dist/config/api.js.map +1 -0
- package/dist/config/api.mjs +9 -0
- package/dist/config/api.mjs.map +1 -0
- package/dist/{src/config → config}/local.d.ts +1 -1
- package/dist/config/local.d.ts.map +1 -0
- package/dist/config/local.js +60 -0
- package/dist/config/local.js.map +1 -0
- package/dist/config/local.mjs +55 -0
- package/dist/config/local.mjs.map +1 -0
- package/dist/create-growth-sso-trial/action.d.ts +9 -0
- package/dist/create-growth-sso-trial/action.d.ts.map +1 -0
- package/dist/create-growth-sso-trial/action.js +52 -0
- package/dist/create-growth-sso-trial/action.js.map +1 -0
- package/dist/create-growth-sso-trial/action.mjs +50 -0
- package/dist/create-growth-sso-trial/action.mjs.map +1 -0
- package/dist/create-growth-sso-trial/index.d.ts +4 -0
- package/dist/create-growth-sso-trial/index.d.ts.map +1 -0
- package/dist/create-project/action.d.ts.map +1 -0
- package/dist/create-project/action.js +95 -0
- package/dist/create-project/action.js.map +1 -0
- package/dist/create-project/action.mjs +93 -0
- package/dist/create-project/action.mjs.map +1 -0
- package/dist/create-project/command.d.ts.map +1 -0
- package/dist/create-project/command.js +14 -0
- package/dist/create-project/command.js.map +1 -0
- package/dist/create-project/command.mjs +12 -0
- package/dist/create-project/command.mjs.map +1 -0
- package/dist/create-project/index.d.ts.map +1 -0
- package/dist/create-project/index.js +18 -0
- package/dist/create-project/index.js.map +1 -0
- package/dist/create-project/index.mjs +12 -0
- package/dist/create-project/index.mjs.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.d.ts.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.js +15 -0
- package/dist/create-project/utils/get-project-name-from-pkg.js.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.mjs +13 -0
- package/dist/create-project/utils/get-project-name-from-pkg.mjs.map +1 -0
- package/dist/create-project/utils/project-questions.utils.d.ts.map +1 -0
- package/dist/create-project/utils/project-questions.utils.js +63 -0
- package/dist/create-project/utils/project-questions.utils.js.map +1 -0
- package/dist/create-project/utils/project-questions.utils.mjs +59 -0
- package/dist/create-project/utils/project-questions.utils.mjs.map +1 -0
- package/dist/deploy-project/action.d.ts.map +1 -0
- package/dist/deploy-project/action.js +287 -0
- package/dist/deploy-project/action.js.map +1 -0
- package/dist/deploy-project/action.mjs +266 -0
- package/dist/deploy-project/action.mjs.map +1 -0
- package/dist/deploy-project/command.d.ts.map +1 -0
- package/dist/deploy-project/command.js +14 -0
- package/dist/deploy-project/command.js.map +1 -0
- package/dist/deploy-project/command.mjs +12 -0
- package/dist/deploy-project/command.mjs.map +1 -0
- package/dist/deploy-project/index.d.ts.map +1 -0
- package/dist/deploy-project/index.js +18 -0
- package/dist/deploy-project/index.js.map +1 -0
- package/dist/deploy-project/index.mjs +12 -0
- package/dist/deploy-project/index.mjs.map +1 -0
- package/dist/environment/command.d.ts.map +1 -0
- package/dist/environment/command.js +15 -0
- package/dist/environment/command.js.map +1 -0
- package/dist/environment/command.mjs +13 -0
- package/dist/environment/command.mjs.map +1 -0
- package/dist/environment/link/action.d.ts.map +1 -0
- package/dist/environment/link/action.js +117 -0
- package/dist/environment/link/action.js.map +1 -0
- package/dist/environment/link/action.mjs +115 -0
- package/dist/environment/link/action.mjs.map +1 -0
- package/dist/environment/link/command.d.ts.map +1 -0
- package/dist/environment/link/command.js +13 -0
- package/dist/environment/link/command.js.map +1 -0
- package/dist/environment/link/command.mjs +11 -0
- package/dist/environment/link/command.mjs.map +1 -0
- package/dist/environment/link/index.d.ts.map +1 -0
- package/dist/environment/link/index.js +18 -0
- package/dist/environment/link/index.js.map +1 -0
- package/dist/environment/link/index.mjs +12 -0
- package/dist/environment/link/index.mjs.map +1 -0
- package/dist/environment/list/action.d.ts.map +1 -0
- package/dist/environment/list/action.js +57 -0
- package/dist/environment/list/action.js.map +1 -0
- package/dist/environment/list/action.mjs +55 -0
- package/dist/environment/list/action.mjs.map +1 -0
- package/dist/environment/list/command.d.ts.map +1 -0
- package/dist/environment/list/command.js +13 -0
- package/dist/environment/list/command.js.map +1 -0
- package/dist/environment/list/command.mjs +11 -0
- package/dist/environment/list/command.mjs.map +1 -0
- package/dist/environment/list/index.d.ts.map +1 -0
- package/dist/environment/list/index.js +18 -0
- package/dist/environment/list/index.js.map +1 -0
- package/dist/environment/list/index.mjs +12 -0
- package/dist/environment/list/index.mjs.map +1 -0
- package/dist/{src/index.d.ts → index.d.ts} +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -25
- package/dist/index.mjs.map +1 -1
- package/dist/link/action.d.ts.map +1 -0
- package/dist/link/action.js +146 -0
- package/dist/link/action.js.map +1 -0
- package/dist/link/action.mjs +144 -0
- package/dist/link/action.mjs.map +1 -0
- package/dist/link/command.d.ts.map +1 -0
- package/dist/link/command.js +13 -0
- package/dist/link/command.js.map +1 -0
- package/dist/link/command.mjs +11 -0
- package/dist/link/command.mjs.map +1 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +18 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/index.mjs +12 -0
- package/dist/link/index.mjs.map +1 -0
- package/dist/list-projects/action.d.ts.map +1 -0
- package/dist/list-projects/action.js +34 -0
- package/dist/list-projects/action.js.map +1 -0
- package/dist/list-projects/action.mjs +32 -0
- package/dist/list-projects/action.mjs.map +1 -0
- package/dist/list-projects/command.d.ts.map +1 -0
- package/dist/list-projects/command.js +13 -0
- package/dist/list-projects/command.js.map +1 -0
- package/dist/list-projects/command.mjs +11 -0
- package/dist/list-projects/command.mjs.map +1 -0
- package/dist/list-projects/index.d.ts.map +1 -0
- package/dist/list-projects/index.js +18 -0
- package/dist/list-projects/index.js.map +1 -0
- package/dist/list-projects/index.mjs +12 -0
- package/dist/list-projects/index.mjs.map +1 -0
- package/dist/login/action.d.ts +6 -0
- package/dist/login/action.d.ts.map +1 -0
- package/dist/login/action.js +194 -0
- package/dist/login/action.js.map +1 -0
- package/dist/login/action.mjs +189 -0
- package/dist/login/action.mjs.map +1 -0
- package/dist/login/command.d.ts.map +1 -0
- package/dist/login/command.js +14 -0
- package/dist/login/command.js.map +1 -0
- package/dist/login/command.mjs +12 -0
- package/dist/login/command.mjs.map +1 -0
- package/dist/login/index.d.ts.map +1 -0
- package/dist/login/index.js +18 -0
- package/dist/login/index.js.map +1 -0
- package/dist/login/index.mjs +12 -0
- package/dist/login/index.mjs.map +1 -0
- package/dist/logout/action.d.ts.map +1 -0
- package/dist/logout/action.js +46 -0
- package/dist/logout/action.js.map +1 -0
- package/dist/logout/action.mjs +44 -0
- package/dist/logout/action.mjs.map +1 -0
- package/dist/logout/command.d.ts.map +1 -0
- package/dist/logout/command.js +14 -0
- package/dist/logout/command.js.map +1 -0
- package/dist/logout/command.mjs +12 -0
- package/dist/logout/command.mjs.map +1 -0
- package/dist/logout/index.d.ts.map +1 -0
- package/dist/logout/index.js +18 -0
- package/dist/logout/index.js.map +1 -0
- package/dist/logout/index.mjs +12 -0
- package/dist/logout/index.mjs.map +1 -0
- package/dist/package.json.js +129 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +105 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/services/build-logs.d.ts.map +1 -0
- package/dist/services/build-logs.js +67 -0
- package/dist/services/build-logs.js.map +1 -0
- package/dist/services/build-logs.mjs +65 -0
- package/dist/services/build-logs.mjs.map +1 -0
- package/dist/{src/services → services}/cli-api.d.ts +7 -1
- package/dist/services/cli-api.d.ts.map +1 -0
- package/dist/services/cli-api.js +160 -0
- package/dist/services/cli-api.js.map +1 -0
- package/dist/services/cli-api.mjs +157 -0
- package/dist/services/cli-api.mjs.map +1 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +6 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js +128 -0
- package/dist/services/logger.js.map +1 -0
- package/dist/services/logger.mjs +107 -0
- package/dist/services/logger.mjs.map +1 -0
- package/dist/services/notification.d.ts.map +1 -0
- package/dist/services/notification.js +37 -0
- package/dist/services/notification.js.map +1 -0
- package/dist/services/notification.mjs +35 -0
- package/dist/services/notification.mjs.map +1 -0
- package/dist/services/strapi-info-save.d.ts.map +1 -0
- package/dist/services/strapi-info-save.js +53 -0
- package/dist/services/strapi-info-save.js.map +1 -0
- package/dist/services/strapi-info-save.mjs +47 -0
- package/dist/services/strapi-info-save.mjs.map +1 -0
- package/dist/services/token.d.ts.map +1 -0
- package/dist/services/token.js +126 -0
- package/dist/services/token.js.map +1 -0
- package/dist/services/token.mjs +124 -0
- package/dist/services/token.mjs.map +1 -0
- package/dist/{src/types.d.ts → types.d.ts} +8 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/analytics.js +12 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/analytics.mjs +10 -0
- package/dist/utils/analytics.mjs.map +1 -0
- package/dist/utils/compress-files.d.ts.map +1 -0
- package/dist/utils/compress-files.js +102 -0
- package/dist/utils/compress-files.js.map +1 -0
- package/dist/utils/compress-files.mjs +78 -0
- package/dist/utils/compress-files.mjs.map +1 -0
- package/dist/utils/get-local-config.d.ts.map +1 -0
- package/dist/utils/get-local-config.js +37 -0
- package/dist/utils/get-local-config.js.map +1 -0
- package/dist/utils/get-local-config.mjs +34 -0
- package/dist/utils/get-local-config.mjs.map +1 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +33 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/helpers.mjs +31 -0
- package/dist/utils/helpers.mjs.map +1 -0
- package/dist/utils/pkg.d.ts.map +1 -0
- package/dist/utils/pkg.js +65 -0
- package/dist/utils/pkg.js.map +1 -0
- package/dist/utils/pkg.mjs +43 -0
- package/dist/utils/pkg.mjs.map +1 -0
- package/dist/utils/tests/compress-files.test.d.ts.map +1 -0
- package/package.json +6 -6
- package/dist/chunks/index-BZ0dpHa6.js +0 -1896
- package/dist/chunks/index-BZ0dpHa6.js.map +0 -1
- package/dist/chunks/index-DGQHGTQ5.mjs +0 -1869
- package/dist/chunks/index-DGQHGTQ5.mjs.map +0 -1
- package/dist/src/bin.d.ts.map +0 -1
- package/dist/src/cloud/command.d.ts.map +0 -1
- package/dist/src/config/api.d.ts.map +0 -1
- package/dist/src/config/local.d.ts.map +0 -1
- package/dist/src/create-project/action.d.ts.map +0 -1
- package/dist/src/create-project/command.d.ts.map +0 -1
- package/dist/src/create-project/index.d.ts.map +0 -1
- package/dist/src/create-project/utils/get-project-name-from-pkg.d.ts.map +0 -1
- package/dist/src/create-project/utils/project-questions.utils.d.ts.map +0 -1
- package/dist/src/deploy-project/action.d.ts.map +0 -1
- package/dist/src/deploy-project/command.d.ts.map +0 -1
- package/dist/src/deploy-project/index.d.ts.map +0 -1
- package/dist/src/environment/command.d.ts.map +0 -1
- package/dist/src/environment/link/action.d.ts.map +0 -1
- package/dist/src/environment/link/command.d.ts.map +0 -1
- package/dist/src/environment/link/index.d.ts.map +0 -1
- package/dist/src/environment/list/action.d.ts.map +0 -1
- package/dist/src/environment/list/command.d.ts.map +0 -1
- package/dist/src/environment/list/index.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/link/action.d.ts.map +0 -1
- package/dist/src/link/command.d.ts.map +0 -1
- package/dist/src/link/index.d.ts.map +0 -1
- package/dist/src/list-projects/action.d.ts.map +0 -1
- package/dist/src/list-projects/command.d.ts.map +0 -1
- package/dist/src/list-projects/index.d.ts.map +0 -1
- package/dist/src/login/action.d.ts +0 -4
- package/dist/src/login/action.d.ts.map +0 -1
- package/dist/src/login/command.d.ts.map +0 -1
- package/dist/src/login/index.d.ts.map +0 -1
- package/dist/src/logout/action.d.ts.map +0 -1
- package/dist/src/logout/command.d.ts.map +0 -1
- package/dist/src/logout/index.d.ts.map +0 -1
- package/dist/src/services/build-logs.d.ts.map +0 -1
- package/dist/src/services/cli-api.d.ts.map +0 -1
- package/dist/src/services/index.d.ts.map +0 -1
- package/dist/src/services/logger.d.ts.map +0 -1
- package/dist/src/services/notification.d.ts.map +0 -1
- package/dist/src/services/strapi-info-save.d.ts.map +0 -1
- package/dist/src/services/token.d.ts.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils/analytics.d.ts.map +0 -1
- package/dist/src/utils/compress-files.d.ts.map +0 -1
- package/dist/src/utils/get-local-config.d.ts.map +0 -1
- package/dist/src/utils/helpers.d.ts.map +0 -1
- package/dist/src/utils/pkg.d.ts.map +0 -1
- package/dist/src/utils/tests/compress-files.test.d.ts.map +0 -1
- /package/dist/{src/bin.d.ts → bin.d.ts} +0 -0
- /package/dist/{src/cloud → cloud}/command.d.ts +0 -0
- /package/dist/{src/config → config}/api.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/action.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/command.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/index.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/utils/get-project-name-from-pkg.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/utils/project-questions.utils.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/action.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/command.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/index.d.ts +0 -0
- /package/dist/{src/environment → environment}/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/action.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/index.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/action.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/index.d.ts +0 -0
- /package/dist/{src/link → link}/action.d.ts +0 -0
- /package/dist/{src/link → link}/command.d.ts +0 -0
- /package/dist/{src/link → link}/index.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/action.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/command.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/index.d.ts +0 -0
- /package/dist/{src/login → login}/command.d.ts +0 -0
- /package/dist/{src/login → login}/index.d.ts +0 -0
- /package/dist/{src/logout → logout}/action.d.ts +0 -0
- /package/dist/{src/logout → logout}/command.d.ts +0 -0
- /package/dist/{src/logout → logout}/index.d.ts +0 -0
- /package/dist/{src/services → services}/build-logs.d.ts +0 -0
- /package/dist/{src/services → services}/index.d.ts +0 -0
- /package/dist/{src/services → services}/logger.d.ts +0 -0
- /package/dist/{src/services → services}/notification.d.ts +0 -0
- /package/dist/{src/services → services}/strapi-info-save.d.ts +0 -0
- /package/dist/{src/services → services}/token.d.ts +0 -0
- /package/dist/{src/utils → utils}/analytics.d.ts +0 -0
- /package/dist/{src/utils → utils}/compress-files.d.ts +0 -0
- /package/dist/{src/utils → utils}/get-local-config.d.ts +0 -0
- /package/dist/{src/utils → utils}/helpers.d.ts +0 -0
- /package/dist/{src/utils → utils}/pkg.d.ts +0 -0
- /package/dist/{src/utils → utils}/tests/compress-files.test.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.mjs","sources":["../../../src/environment/list/action.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { CLIContext } from '../../types';\nimport { cloudApiFactory, tokenServiceFactory } from '../../services';\nimport { promptLogin } from '../../login/action';\nimport { trackEvent } from '../../utils/analytics';\nimport { getLocalProject } from '../../utils/get-local-config';\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 if (!project) {\n ctx.logger.debug(`No valid local project configuration was found.`);\n return;\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n const spinner = logger.spinner('Fetching environments...').start();\n await trackEvent(ctx, cloudApiService, 'willListEnvironment', {\n projectInternalName: project.name,\n });\n\n try {\n const {\n data: { data: environmentsList },\n } = await cloudApiService.listEnvironments({ name: project.name });\n spinner.succeed();\n logger.log(environmentsList);\n await trackEvent(ctx, cloudApiService, 'didListEnvironment', {\n projectInternalName: project.name,\n });\n } catch (e: any) {\n if (e.response && e.response.status === 404) {\n spinner.succeed();\n 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 logger.debug('Failed to list environments', e);\n }\n await trackEvent(ctx, cloudApiService, 'didNotListEnvironment', {\n projectInternalName: project.name,\n });\n }\n};\n"],"names":["ctx","getValidToken","tokenServiceFactory","token","promptLogin","logger","project","getLocalProject","debug","cloudApiService","cloudApiFactory","spinner","start","trackEvent","projectInternalName","name","data","environmentsList","listEnvironments","succeed","log","e","response","status","warn","chalk","cyan","fail"],"mappings":";;;;;;;;;;;;;AAOA,aAAe,CAAA,OAAOA,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;AACtC,IAAA,IAAI,CAACM,OAAS,EAAA;AACZN,QAAAA,GAAAA,CAAIK,MAAM,CAACG,KAAK,CAAC,CAAC,+CAA+C,CAAC,CAAA;AAClE,QAAA;AACF;IAEA,MAAMC,eAAAA,GAAkB,MAAMC,eAAAA,CAAgBV,GAAKG,EAAAA,KAAAA,CAAAA;AACnD,IAAA,MAAMQ,OAAUN,GAAAA,MAAAA,CAAOM,OAAO,CAAC,4BAA4BC,KAAK,EAAA;IAChE,MAAMC,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,qBAAuB,EAAA;AAC5DK,QAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,KAAA,CAAA;IAEA,IAAI;QACF,MAAM,EACJC,IAAM,EAAA,EAAEA,IAAMC,EAAAA,gBAAgB,EAAE,EACjC,GAAG,MAAMR,eAAgBS,CAAAA,gBAAgB,CAAC;AAAEH,YAAAA,IAAAA,EAAMT,QAAQS;AAAK,SAAA,CAAA;AAChEJ,QAAAA,OAAAA,CAAQQ,OAAO,EAAA;AACfd,QAAAA,MAAAA,CAAOe,GAAG,CAACH,gBAAAA,CAAAA;QACX,MAAMJ,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,oBAAsB,EAAA;AAC3DK,YAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,SAAA,CAAA;AACF,KAAA,CAAE,OAAOM,CAAQ,EAAA;QACf,IAAIA,CAAAA,CAAEC,QAAQ,IAAID,CAAAA,CAAEC,QAAQ,CAACC,MAAM,KAAK,GAAK,EAAA;AAC3CZ,YAAAA,OAAAA,CAAQQ,OAAO,EAAA;YACfd,MAAOmB,CAAAA,IAAI,CACT,CAAC,yJAAyJ,EAAEC,MAAMC,IAAI,CACpK,MACA,CAAA,CAAA,QAAQ,CAAC,CAAA;SAER,MAAA;AACLf,YAAAA,OAAAA,CAAQgB,IAAI,CAAC,uEAAA,CAAA;YACbtB,MAAOG,CAAAA,KAAK,CAAC,6BAA+Ba,EAAAA,CAAAA,CAAAA;AAC9C;QACA,MAAMR,UAAAA,CAAWb,GAAKS,EAAAA,eAAAA,EAAiB,uBAAyB,EAAA;AAC9DK,YAAAA,mBAAAA,EAAqBR,QAAQS;AAC/B,SAAA,CAAA;AACF;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/environment/list/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,QAAA,MAAM,OAAO,EAAE,kBASd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var helpers = require('../../utils/helpers.js');
|
|
4
|
+
var action = require('./action.js');
|
|
5
|
+
var command$1 = require('../command.js');
|
|
6
|
+
|
|
7
|
+
const command = ({ command, ctx })=>{
|
|
8
|
+
const environmentCmd = command$1.initializeEnvironmentCommand(command, ctx);
|
|
9
|
+
environmentCmd.command('list').description('List Strapi Cloud project environments').option('-d, --debug', 'Enable debugging mode with verbose logs').option('-s, --silent', "Don't log anything").action(()=>helpers.runAction('list', action)(ctx));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
module.exports = command;
|
|
13
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sources":["../../../src/environment/list/command.ts"],"sourcesContent":["import { type StrapiCloudCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\nimport { initializeEnvironmentCommand } from '../command';\n\nconst command: StrapiCloudCommand = ({ command, ctx }) => {\n const environmentCmd = initializeEnvironmentCommand(command, ctx);\n\n environmentCmd\n .command('list')\n .description('List Strapi Cloud project environments')\n .option('-d, --debug', 'Enable debugging mode with verbose logs')\n .option('-s, --silent', \"Don't log anything\")\n .action(() => runAction('list', action)(ctx));\n};\n\nexport default command;\n"],"names":["command","ctx","environmentCmd","initializeEnvironmentCommand","description","option","action","runAction"],"mappings":";;;;;;AAKA,MAAMA,UAA8B,CAAC,EAAEA,OAAO,EAAEC,GAAG,EAAE,GAAA;IACnD,MAAMC,cAAAA,GAAiBC,uCAA6BH,OAASC,EAAAA,GAAAA,CAAAA;AAE7DC,IAAAA,cAAAA,CACGF,OAAO,CAAC,MAAA,CAAA,CACRI,WAAW,CAAC,wCAAA,CAAA,CACZC,MAAM,CAAC,aAAA,EAAe,2CACtBA,MAAM,CAAC,gBAAgB,oBACvBC,CAAAA,CAAAA,MAAM,CAAC,IAAMC,iBAAAA,CAAU,QAAQD,MAAQL,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;AAC5C;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { runAction } from '../../utils/helpers.mjs';
|
|
2
|
+
import action from './action.mjs';
|
|
3
|
+
import { initializeEnvironmentCommand } from '../command.mjs';
|
|
4
|
+
|
|
5
|
+
const command = ({ command, ctx })=>{
|
|
6
|
+
const environmentCmd = initializeEnvironmentCommand(command, ctx);
|
|
7
|
+
environmentCmd.command('list').description('List Strapi Cloud project environments').option('-d, --debug', 'Enable debugging mode with verbose logs').option('-s, --silent', "Don't log anything").action(()=>runAction('list', action)(ctx));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { command as default };
|
|
11
|
+
//# sourceMappingURL=command.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.mjs","sources":["../../../src/environment/list/command.ts"],"sourcesContent":["import { type StrapiCloudCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\nimport { initializeEnvironmentCommand } from '../command';\n\nconst command: StrapiCloudCommand = ({ command, ctx }) => {\n const environmentCmd = initializeEnvironmentCommand(command, ctx);\n\n environmentCmd\n .command('list')\n .description('List Strapi Cloud project environments')\n .option('-d, --debug', 'Enable debugging mode with verbose logs')\n .option('-s, --silent', \"Don't log anything\")\n .action(() => runAction('list', action)(ctx));\n};\n\nexport default command;\n"],"names":["command","ctx","environmentCmd","initializeEnvironmentCommand","description","option","action","runAction"],"mappings":";;;;AAKA,MAAMA,UAA8B,CAAC,EAAEA,OAAO,EAAEC,GAAG,EAAE,GAAA;IACnD,MAAMC,cAAAA,GAAiBC,6BAA6BH,OAASC,EAAAA,GAAAA,CAAAA;AAE7DC,IAAAA,cAAAA,CACGF,OAAO,CAAC,MAAA,CAAA,CACRI,WAAW,CAAC,wCAAA,CAAA,CACZC,MAAM,CAAC,aAAA,EAAe,2CACtBA,MAAM,CAAC,gBAAgB,oBACvBC,CAAAA,CAAAA,MAAM,CAAC,IAAMC,SAAAA,CAAU,QAAQD,MAAQL,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;AAC5C;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/environment/list/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;AAE3B,wBAK4B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var action = require('./action.js');
|
|
6
|
+
var command = require('./command.js');
|
|
7
|
+
|
|
8
|
+
var listEnvironments = {
|
|
9
|
+
name: 'list-environments',
|
|
10
|
+
description: 'List Strapi Cloud environments',
|
|
11
|
+
action,
|
|
12
|
+
command
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.action = action;
|
|
16
|
+
exports.command = command;
|
|
17
|
+
exports.default = listEnvironments;
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/environment/list/index.ts"],"sourcesContent":["import action from './action';\nimport command from './command';\nimport type { StrapiCloudCommandInfo } from '../../types';\n\nexport { action, command };\n\nexport default {\n name: 'list-environments',\n description: 'List Strapi Cloud environments',\n action,\n command,\n} as StrapiCloudCommandInfo;\n"],"names":["name","description","action","command"],"mappings":";;;;;;;AAMA,uBAAe;IACbA,IAAM,EAAA,mBAAA;IACNC,WAAa,EAAA,gCAAA;AACbC,IAAAA,MAAAA;AACAC,IAAAA;AACF,CAA4B;;;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import action from './action.mjs';
|
|
2
|
+
import command from './command.mjs';
|
|
3
|
+
|
|
4
|
+
var listEnvironments = {
|
|
5
|
+
name: 'list-environments',
|
|
6
|
+
description: 'List Strapi Cloud environments',
|
|
7
|
+
action,
|
|
8
|
+
command
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { action, command, listEnvironments as default };
|
|
12
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/environment/list/index.ts"],"sourcesContent":["import action from './action';\nimport command from './command';\nimport type { StrapiCloudCommandInfo } from '../../types';\n\nexport { action, command };\n\nexport default {\n name: 'list-environments',\n description: 'List Strapi Cloud environments',\n action,\n command,\n} as StrapiCloudCommandInfo;\n"],"names":["name","description","action","command"],"mappings":";;;AAMA,uBAAe;IACbA,IAAM,EAAA,mBAAA;IACNC,WAAa,EAAA,gCAAA;AACbC,IAAAA,MAAAA;AACAC,IAAAA;AACF,CAA4B;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { createGrowthSsoTrial } from './create-growth-sso-trial';
|
|
2
3
|
import { CLIContext } from './types';
|
|
3
4
|
export declare const cli: {
|
|
4
5
|
deployProject: import("./types").StrapiCloudCommandInfo;
|
|
@@ -15,6 +16,7 @@ export declare const cli: {
|
|
|
15
16
|
listProjects: import("./types").StrapiCloudCommandInfo;
|
|
16
17
|
listEnvironments: import("./types").StrapiCloudCommandInfo;
|
|
17
18
|
};
|
|
19
|
+
export { createGrowthSsoTrial };
|
|
18
20
|
export declare function buildStrapiCloudCommands({ command, ctx, argv, }: {
|
|
19
21
|
command: Command;
|
|
20
22
|
ctx: CLIContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,GAAG;;;;;;;;;;;;;;CASf,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAsBhC,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,GAAG,EACH,IAAI,GACL,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,iBAeA;AAED,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,66 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('crypto');
|
|
4
|
-
var index = require('./
|
|
5
|
-
require('
|
|
6
|
-
require('
|
|
7
|
-
require('
|
|
8
|
-
require('
|
|
9
|
-
require('
|
|
10
|
-
require('
|
|
11
|
-
require('
|
|
12
|
-
require('
|
|
13
|
-
require('
|
|
14
|
-
require('
|
|
15
|
-
require('lodash/fp');
|
|
16
|
-
require('os');
|
|
17
|
-
require('xdg-app-paths');
|
|
18
|
-
require('lodash');
|
|
19
|
-
require('jwks-rsa');
|
|
20
|
-
require('jsonwebtoken');
|
|
21
|
-
require('fast-safe-stringify');
|
|
22
|
-
require('ora');
|
|
23
|
-
require('cli-progress');
|
|
24
|
-
require('pkg-up');
|
|
25
|
-
require('yup');
|
|
26
|
-
require('eventsource');
|
|
27
|
-
require('commander');
|
|
3
|
+
var crypto = require('crypto');
|
|
4
|
+
var index$1 = require('./deploy-project/index.js');
|
|
5
|
+
var index$2 = require('./link/index.js');
|
|
6
|
+
var index$3 = require('./login/index.js');
|
|
7
|
+
var index$4 = require('./logout/index.js');
|
|
8
|
+
var index$5 = require('./create-project/index.js');
|
|
9
|
+
var action = require('./create-growth-sso-trial/action.js');
|
|
10
|
+
var index$7 = require('./list-projects/index.js');
|
|
11
|
+
var index$8 = require('./environment/list/index.js');
|
|
12
|
+
var index$6 = require('./environment/link/index.js');
|
|
13
|
+
var local = require('./config/local.js');
|
|
14
|
+
var index = require('./services/index.js');
|
|
28
15
|
|
|
16
|
+
const cli = {
|
|
17
|
+
deployProject: index$1.default,
|
|
18
|
+
link: index$2.default,
|
|
19
|
+
login: index$3.default,
|
|
20
|
+
logout: index$4.default,
|
|
21
|
+
createProject: index$5.default,
|
|
22
|
+
linkEnvironment: index$6.default,
|
|
23
|
+
listProjects: index$7.default,
|
|
24
|
+
listEnvironments: index$8.default
|
|
25
|
+
};
|
|
26
|
+
const cloudCommands = [
|
|
27
|
+
index$1.default,
|
|
28
|
+
index$2.default,
|
|
29
|
+
index$3.default,
|
|
30
|
+
index$4.default,
|
|
31
|
+
index$6.default,
|
|
32
|
+
index$7.default,
|
|
33
|
+
index$8.default
|
|
34
|
+
];
|
|
35
|
+
async function initCloudCLIConfig() {
|
|
36
|
+
const localConfig = await local.getLocalConfig();
|
|
37
|
+
if (!localConfig.installId) {
|
|
38
|
+
localConfig.installId = crypto.randomUUID();
|
|
39
|
+
}
|
|
40
|
+
await local.saveLocalConfig(localConfig);
|
|
41
|
+
}
|
|
42
|
+
async function buildStrapiCloudCommands({ command, ctx, argv }) {
|
|
43
|
+
await initCloudCLIConfig();
|
|
44
|
+
// Load all commands
|
|
45
|
+
for (const cloudCommand of cloudCommands){
|
|
46
|
+
try {
|
|
47
|
+
// Add this command to the Commander command object
|
|
48
|
+
const subCommand = await cloudCommand.command({
|
|
49
|
+
command,
|
|
50
|
+
ctx,
|
|
51
|
+
argv
|
|
52
|
+
});
|
|
53
|
+
if (subCommand) {
|
|
54
|
+
command.addCommand(subCommand);
|
|
55
|
+
}
|
|
56
|
+
} catch (e) {
|
|
57
|
+
console.error(`Failed to load command ${cloudCommand.name}`, e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
29
61
|
|
|
30
|
-
|
|
31
|
-
exports.
|
|
32
|
-
exports.
|
|
33
|
-
exports.
|
|
62
|
+
exports.createGrowthSsoTrial = action;
|
|
63
|
+
exports.services = index;
|
|
64
|
+
exports.buildStrapiCloudCommands = buildStrapiCloudCommands;
|
|
65
|
+
exports.cli = cli;
|
|
34
66
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport crypto from 'crypto';\nimport deployProject from './deploy-project';\nimport link from './link';\nimport login from './login';\nimport logout from './logout';\nimport createProject from './create-project';\nimport { createGrowthSsoTrial } from './create-growth-sso-trial';\nimport listProjects from './list-projects';\nimport listEnvironments from './environment/list';\nimport linkEnvironment from './environment/link';\nimport { CLIContext } from './types';\nimport { getLocalConfig, saveLocalConfig } from './config/local';\n\nexport const cli = {\n deployProject,\n link,\n login,\n logout,\n createProject,\n linkEnvironment,\n listProjects,\n listEnvironments,\n};\n\nexport { createGrowthSsoTrial };\n\nconst cloudCommands = [\n deployProject,\n link,\n login,\n logout,\n linkEnvironment,\n listProjects,\n listEnvironments,\n];\n\nasync function initCloudCLIConfig() {\n const localConfig = await getLocalConfig();\n\n if (!localConfig.installId) {\n localConfig.installId = crypto.randomUUID();\n }\n\n await saveLocalConfig(localConfig);\n}\n\nexport async function buildStrapiCloudCommands({\n command,\n ctx,\n argv,\n}: {\n command: Command;\n ctx: CLIContext;\n argv: string[];\n}) {\n await initCloudCLIConfig();\n // Load all commands\n for (const cloudCommand of cloudCommands) {\n try {\n // Add this command to the Commander command object\n const subCommand = await cloudCommand.command({ command, ctx, argv });\n\n if (subCommand) {\n command.addCommand(subCommand);\n }\n } catch (e) {\n console.error(`Failed to load command ${cloudCommand.name}`, e);\n }\n }\n}\n\nexport * as services from './services';\n\nexport * from './types';\n"],"names":["cli","deployProject","link","login","logout","createProject","linkEnvironment","listProjects","listEnvironments","cloudCommands","initCloudCLIConfig","localConfig","getLocalConfig","installId","crypto","randomUUID","saveLocalConfig","buildStrapiCloudCommands","command","ctx","argv","cloudCommand","subCommand","addCommand","e","console","error","name"],"mappings":";;;;;;;;;;;;;;;MAcaA,GAAM,GAAA;AACjBC,mBAAAA,eAAAA;AACAC,UAAAA,eAAAA;AACAC,WAAAA,eAAAA;AACAC,YAAAA,eAAAA;AACAC,mBAAAA,eAAAA;AACAC,qBAAAA,eAAAA;AACAC,kBAAAA,eAAAA;AACAC,sBAAAA;AACF;AAIA,MAAMC,aAAgB,GAAA;AACpBR,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAE,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA;AACD,CAAA;AAED,eAAeE,kBAAAA,GAAAA;AACb,IAAA,MAAMC,cAAc,MAAMC,oBAAAA,EAAAA;IAE1B,IAAI,CAACD,WAAYE,CAAAA,SAAS,EAAE;QAC1BF,WAAYE,CAAAA,SAAS,GAAGC,MAAAA,CAAOC,UAAU,EAAA;AAC3C;AAEA,IAAA,MAAMC,qBAAgBL,CAAAA,WAAAA,CAAAA;AACxB;AAEO,eAAeM,yBAAyB,EAC7CC,OAAO,EACPC,GAAG,EACHC,IAAI,EAKL,EAAA;IACC,MAAMV,kBAAAA,EAAAA;;IAEN,KAAK,MAAMW,gBAAgBZ,aAAe,CAAA;QACxC,IAAI;;AAEF,YAAA,MAAMa,UAAa,GAAA,MAAMD,YAAaH,CAAAA,OAAO,CAAC;AAAEA,gBAAAA,OAAAA;AAASC,gBAAAA,GAAAA;AAAKC,gBAAAA;AAAK,aAAA,CAAA;AAEnE,YAAA,IAAIE,UAAY,EAAA;AACdJ,gBAAAA,OAAAA,CAAQK,UAAU,CAACD,UAAAA,CAAAA;AACrB;AACF,SAAA,CAAE,OAAOE,CAAG,EAAA;YACVC,OAAQC,CAAAA,KAAK,CAAC,CAAC,uBAAuB,EAAEL,YAAaM,CAAAA,IAAI,CAAC,CAAC,EAAEH,CAAAA,CAAAA;AAC/D;AACF;AACF;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,26 +1,62 @@
|
|
|
1
|
-
import 'crypto';
|
|
2
|
-
|
|
3
|
-
import '
|
|
4
|
-
import '
|
|
5
|
-
import '
|
|
6
|
-
import '
|
|
7
|
-
|
|
8
|
-
import '
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
11
|
-
import '
|
|
12
|
-
import '
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import deployProject from './deploy-project/index.mjs';
|
|
3
|
+
import link from './link/index.mjs';
|
|
4
|
+
import login from './login/index.mjs';
|
|
5
|
+
import logout from './logout/index.mjs';
|
|
6
|
+
import createProject from './create-project/index.mjs';
|
|
7
|
+
export { default as createGrowthSsoTrial } from './create-growth-sso-trial/action.mjs';
|
|
8
|
+
import listProjects from './list-projects/index.mjs';
|
|
9
|
+
import listEnvironments from './environment/list/index.mjs';
|
|
10
|
+
import linkEnvironment from './environment/link/index.mjs';
|
|
11
|
+
import { getLocalConfig, saveLocalConfig } from './config/local.mjs';
|
|
12
|
+
import * as index from './services/index.mjs';
|
|
13
|
+
export { index as services };
|
|
14
|
+
|
|
15
|
+
const cli = {
|
|
16
|
+
deployProject,
|
|
17
|
+
link,
|
|
18
|
+
login,
|
|
19
|
+
logout,
|
|
20
|
+
createProject,
|
|
21
|
+
linkEnvironment,
|
|
22
|
+
listProjects,
|
|
23
|
+
listEnvironments
|
|
24
|
+
};
|
|
25
|
+
const cloudCommands = [
|
|
26
|
+
deployProject,
|
|
27
|
+
link,
|
|
28
|
+
login,
|
|
29
|
+
logout,
|
|
30
|
+
linkEnvironment,
|
|
31
|
+
listProjects,
|
|
32
|
+
listEnvironments
|
|
33
|
+
];
|
|
34
|
+
async function initCloudCLIConfig() {
|
|
35
|
+
const localConfig = await getLocalConfig();
|
|
36
|
+
if (!localConfig.installId) {
|
|
37
|
+
localConfig.installId = crypto.randomUUID();
|
|
38
|
+
}
|
|
39
|
+
await saveLocalConfig(localConfig);
|
|
40
|
+
}
|
|
41
|
+
async function buildStrapiCloudCommands({ command, ctx, argv }) {
|
|
42
|
+
await initCloudCLIConfig();
|
|
43
|
+
// Load all commands
|
|
44
|
+
for (const cloudCommand of cloudCommands){
|
|
45
|
+
try {
|
|
46
|
+
// Add this command to the Commander command object
|
|
47
|
+
const subCommand = await cloudCommand.command({
|
|
48
|
+
command,
|
|
49
|
+
ctx,
|
|
50
|
+
argv
|
|
51
|
+
});
|
|
52
|
+
if (subCommand) {
|
|
53
|
+
command.addCommand(subCommand);
|
|
54
|
+
}
|
|
55
|
+
} catch (e) {
|
|
56
|
+
console.error(`Failed to load command ${cloudCommand.name}`, e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { buildStrapiCloudCommands, cli };
|
|
26
62
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander';\nimport crypto from 'crypto';\nimport deployProject from './deploy-project';\nimport link from './link';\nimport login from './login';\nimport logout from './logout';\nimport createProject from './create-project';\nimport { createGrowthSsoTrial } from './create-growth-sso-trial';\nimport listProjects from './list-projects';\nimport listEnvironments from './environment/list';\nimport linkEnvironment from './environment/link';\nimport { CLIContext } from './types';\nimport { getLocalConfig, saveLocalConfig } from './config/local';\n\nexport const cli = {\n deployProject,\n link,\n login,\n logout,\n createProject,\n linkEnvironment,\n listProjects,\n listEnvironments,\n};\n\nexport { createGrowthSsoTrial };\n\nconst cloudCommands = [\n deployProject,\n link,\n login,\n logout,\n linkEnvironment,\n listProjects,\n listEnvironments,\n];\n\nasync function initCloudCLIConfig() {\n const localConfig = await getLocalConfig();\n\n if (!localConfig.installId) {\n localConfig.installId = crypto.randomUUID();\n }\n\n await saveLocalConfig(localConfig);\n}\n\nexport async function buildStrapiCloudCommands({\n command,\n ctx,\n argv,\n}: {\n command: Command;\n ctx: CLIContext;\n argv: string[];\n}) {\n await initCloudCLIConfig();\n // Load all commands\n for (const cloudCommand of cloudCommands) {\n try {\n // Add this command to the Commander command object\n const subCommand = await cloudCommand.command({ command, ctx, argv });\n\n if (subCommand) {\n command.addCommand(subCommand);\n }\n } catch (e) {\n console.error(`Failed to load command ${cloudCommand.name}`, e);\n }\n }\n}\n\nexport * as services from './services';\n\nexport * from './types';\n"],"names":["cli","deployProject","link","login","logout","createProject","linkEnvironment","listProjects","listEnvironments","cloudCommands","initCloudCLIConfig","localConfig","getLocalConfig","installId","crypto","randomUUID","saveLocalConfig","buildStrapiCloudCommands","command","ctx","argv","cloudCommand","subCommand","addCommand","e","console","error","name"],"mappings":";;;;;;;;;;;;;;MAcaA,GAAM,GAAA;AACjBC,IAAAA,aAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,MAAAA;AACAC,IAAAA,aAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA;AACF;AAIA,MAAMC,aAAgB,GAAA;AACpBR,IAAAA,aAAAA;AACAC,IAAAA,IAAAA;AACAC,IAAAA,KAAAA;AACAC,IAAAA,MAAAA;AACAE,IAAAA,eAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA;AACD,CAAA;AAED,eAAeE,kBAAAA,GAAAA;AACb,IAAA,MAAMC,cAAc,MAAMC,cAAAA,EAAAA;IAE1B,IAAI,CAACD,WAAYE,CAAAA,SAAS,EAAE;QAC1BF,WAAYE,CAAAA,SAAS,GAAGC,MAAAA,CAAOC,UAAU,EAAA;AAC3C;AAEA,IAAA,MAAMC,eAAgBL,CAAAA,WAAAA,CAAAA;AACxB;AAEO,eAAeM,yBAAyB,EAC7CC,OAAO,EACPC,GAAG,EACHC,IAAI,EAKL,EAAA;IACC,MAAMV,kBAAAA,EAAAA;;IAEN,KAAK,MAAMW,gBAAgBZ,aAAe,CAAA;QACxC,IAAI;;AAEF,YAAA,MAAMa,UAAa,GAAA,MAAMD,YAAaH,CAAAA,OAAO,CAAC;AAAEA,gBAAAA,OAAAA;AAASC,gBAAAA,GAAAA;AAAKC,gBAAAA;AAAK,aAAA,CAAA;AAEnE,YAAA,IAAIE,UAAY,EAAA;AACdJ,gBAAAA,OAAAA,CAAQK,UAAU,CAACD,UAAAA,CAAAA;AACrB;AACF,SAAA,CAAE,OAAOE,CAAG,EAAA;YACVC,OAAQC,CAAAA,KAAK,CAAC,CAAC,uBAAuB,EAAEL,YAAaM,CAAAA,IAAI,CAAC,CAAC,EAAEH,CAAAA,CAAAA;AAC/D;AACF;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/link/action.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;8BAuIhB,UAAU;AAArC,wBAoEE"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var inquirer = require('inquirer');
|
|
4
|
+
var chalk = require('chalk');
|
|
5
|
+
var cliApi = require('../services/cli-api.js');
|
|
6
|
+
var strapiInfoSave = require('../services/strapi-info-save.js');
|
|
7
|
+
var token = require('../services/token.js');
|
|
8
|
+
require('fast-safe-stringify');
|
|
9
|
+
require('ora');
|
|
10
|
+
require('cli-progress');
|
|
11
|
+
var action$1 = require('../login/action.js');
|
|
12
|
+
var analytics = require('../utils/analytics.js');
|
|
13
|
+
var getLocalConfig = require('../utils/get-local-config.js');
|
|
14
|
+
|
|
15
|
+
const QUIT_OPTION = 'Quit';
|
|
16
|
+
async function promptForRelink(ctx, cloudApiService, existingConfig) {
|
|
17
|
+
if (existingConfig && existingConfig.project) {
|
|
18
|
+
const { shouldRelink } = await inquirer.prompt([
|
|
19
|
+
{
|
|
20
|
+
type: 'confirm',
|
|
21
|
+
name: 'shouldRelink',
|
|
22
|
+
message: `A project named ${chalk.cyan(existingConfig.project.displayName ? existingConfig.project.displayName : existingConfig.project.name)} is already linked to this local folder. Do you want to update the link?`,
|
|
23
|
+
default: false
|
|
24
|
+
}
|
|
25
|
+
]);
|
|
26
|
+
if (!shouldRelink) {
|
|
27
|
+
await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
28
|
+
currentProjectName: existingConfig.project?.name
|
|
29
|
+
});
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
async function getProjectsList(ctx, cloudApiService, existingConfig) {
|
|
36
|
+
const spinner = ctx.logger.spinner('Fetching your projects...\n').start();
|
|
37
|
+
try {
|
|
38
|
+
const { data: { data: projectList } } = await cloudApiService.listLinkProjects();
|
|
39
|
+
spinner.succeed();
|
|
40
|
+
if (!Array.isArray(projectList)) {
|
|
41
|
+
ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const projects = projectList.filter((project)=>!(project.isMaintainer || project.name === existingConfig?.project?.name)).map((project)=>{
|
|
45
|
+
return {
|
|
46
|
+
name: project.displayName,
|
|
47
|
+
value: {
|
|
48
|
+
name: project.name,
|
|
49
|
+
displayName: project.displayName
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
if (projects.length === 0) {
|
|
54
|
+
ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return projects;
|
|
58
|
+
} catch (e) {
|
|
59
|
+
spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');
|
|
60
|
+
ctx.logger.debug('Failed to list projects', e);
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function getUserSelection(ctx, projects) {
|
|
65
|
+
const { logger } = ctx;
|
|
66
|
+
try {
|
|
67
|
+
const answer = await inquirer.prompt([
|
|
68
|
+
{
|
|
69
|
+
type: 'list',
|
|
70
|
+
name: 'linkProject',
|
|
71
|
+
message: 'Which project do you want to link?',
|
|
72
|
+
choices: [
|
|
73
|
+
...projects,
|
|
74
|
+
{
|
|
75
|
+
name: chalk.grey(`(${QUIT_OPTION})`),
|
|
76
|
+
value: null
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
]);
|
|
81
|
+
if (!answer.linkProject) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return answer;
|
|
85
|
+
} catch (e) {
|
|
86
|
+
logger.debug('Failed to get user input', e);
|
|
87
|
+
logger.error('An error occurred while trying to get your input.');
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
var action = (async (ctx)=>{
|
|
92
|
+
const { getValidToken } = await token.tokenServiceFactory(ctx);
|
|
93
|
+
const token$1 = await getValidToken(ctx, action$1.promptLogin);
|
|
94
|
+
const { logger } = ctx;
|
|
95
|
+
if (!token$1) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const cloudApiService = await cliApi.cloudApiFactory(ctx, token$1);
|
|
99
|
+
const existingConfig = await getLocalConfig.getLocalConfig(ctx);
|
|
100
|
+
const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);
|
|
101
|
+
if (!shouldRelink) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
await analytics.trackEvent(ctx, cloudApiService, 'willLinkProject', {});
|
|
105
|
+
const projects = await getProjectsList(ctx, cloudApiService, existingConfig);
|
|
106
|
+
if (!projects) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const answer = await getUserSelection(ctx, projects);
|
|
110
|
+
if (!answer) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
const { confirmAction } = await inquirer.prompt([
|
|
115
|
+
{
|
|
116
|
+
type: 'confirm',
|
|
117
|
+
name: 'confirmAction',
|
|
118
|
+
message: 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',
|
|
119
|
+
default: false
|
|
120
|
+
}
|
|
121
|
+
]);
|
|
122
|
+
if (!confirmAction) {
|
|
123
|
+
await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
124
|
+
cancelledProjectName: answer.linkProject.name,
|
|
125
|
+
currentProjectName: existingConfig ? existingConfig.project?.name : null
|
|
126
|
+
});
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
await strapiInfoSave.save({
|
|
130
|
+
project: answer.linkProject
|
|
131
|
+
});
|
|
132
|
+
logger.log(` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`);
|
|
133
|
+
await analytics.trackEvent(ctx, cloudApiService, 'didLinkProject', {
|
|
134
|
+
projectInternalName: answer.linkProject
|
|
135
|
+
});
|
|
136
|
+
} catch (e) {
|
|
137
|
+
logger.debug('Failed to link project', e);
|
|
138
|
+
logger.error('An error occurred while linking the project.');
|
|
139
|
+
await analytics.trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
140
|
+
projectInternalName: answer.linkProject
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
module.exports = action;
|
|
146
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sources":["../../src/link/action.ts"],"sourcesContent":["import inquirer from 'inquirer';\nimport chalk from 'chalk';\n\nimport type { Answers } from 'inquirer';\nimport type { CLIContext } from '../types';\nimport type { CloudApiService } from '../services/cli-api';\n\nimport { LocalSave } from '../services/strapi-info-save';\nimport { cloudApiFactory, tokenServiceFactory, local } from '../services';\nimport { promptLogin } from '../login/action';\nimport { trackEvent } from '../utils/analytics';\nimport { getLocalConfig } from '../utils/get-local-config';\n\nconst QUIT_OPTION = 'Quit';\n\ninterface LinkProjectValue {\n name: string;\n displayName: string;\n}\n\ninterface LinkProjectAnswer extends Answers {\n linkProject: LinkProjectValue;\n}\n\ninterface LinkProjectInput extends Answers {\n linkProject: LinkProjectValue | string;\n}\n\ntype ProjectsList = {\n name: string;\n value: {\n name: string;\n displayName: string;\n };\n}[];\n\ntype Project = {\n name: string;\n displayName: string;\n isMaintainer: boolean;\n};\n\nasync function promptForRelink(\n ctx: CLIContext,\n cloudApiService: CloudApiService,\n existingConfig: LocalSave | null\n) {\n if (existingConfig && existingConfig.project) {\n const { shouldRelink } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'shouldRelink',\n message: `A project named ${chalk.cyan(\n existingConfig.project.displayName\n ? existingConfig.project.displayName\n : existingConfig.project.name\n )} is already linked to this local folder. Do you want to update the link?`,\n default: false,\n },\n ]);\n\n if (!shouldRelink) {\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n currentProjectName: existingConfig.project?.name,\n });\n return false;\n }\n }\n\n return true;\n}\n\nasync function getProjectsList(\n ctx: CLIContext,\n cloudApiService: CloudApiService,\n existingConfig: LocalSave | null\n) {\n const spinner = ctx.logger.spinner('Fetching your projects...\\n').start();\n\n try {\n const {\n data: { data: projectList },\n } = await cloudApiService.listLinkProjects();\n spinner.succeed();\n\n if (!Array.isArray(projectList)) {\n ctx.logger.log(\"We couldn't find any projects available for linking in Strapi Cloud.\");\n return null;\n }\n const projects: ProjectsList = (projectList as unknown as Project[])\n .filter(\n (project: Project) =>\n !(project.isMaintainer || project.name === existingConfig?.project?.name)\n )\n .map((project: Project) => {\n return {\n name: project.displayName,\n value: { name: project.name, displayName: project.displayName },\n };\n });\n if (projects.length === 0) {\n ctx.logger.log(\"We couldn't find any projects available for linking in Strapi Cloud.\");\n return null;\n }\n return projects;\n } catch (e) {\n spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');\n ctx.logger.debug('Failed to list projects', e);\n return null;\n }\n}\n\nasync function getUserSelection(\n ctx: CLIContext,\n projects: ProjectsList\n): Promise<LinkProjectAnswer | null> {\n const { logger } = ctx;\n try {\n const answer: LinkProjectInput = await inquirer.prompt([\n {\n type: 'list',\n name: 'linkProject',\n message: 'Which project do you want to link?',\n choices: [...projects, { name: chalk.grey(`(${QUIT_OPTION})`), value: null }],\n },\n ]);\n\n if (!answer.linkProject) {\n return null;\n }\n\n return answer as LinkProjectAnswer;\n } catch (e) {\n logger.debug('Failed to get user input', e);\n logger.error('An error occurred while trying to get your input.');\n return null;\n }\n}\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 cloudApiService = await cloudApiFactory(ctx, token);\n\n const existingConfig: LocalSave | null = await getLocalConfig(ctx);\n const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);\n\n if (!shouldRelink) {\n return;\n }\n await trackEvent(ctx, cloudApiService, 'willLinkProject', {});\n\n const projects: ProjectsList | null | undefined = await getProjectsList(\n ctx,\n cloudApiService,\n existingConfig\n );\n\n if (!projects) {\n return;\n }\n\n const answer: LinkProjectAnswer | null = await getUserSelection(ctx, projects);\n\n if (!answer) {\n return;\n }\n\n try {\n const { confirmAction } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'confirmAction',\n message:\n 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',\n default: false,\n },\n ]);\n\n if (!confirmAction) {\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n cancelledProjectName: answer.linkProject.name,\n currentProjectName: existingConfig ? existingConfig.project?.name : null,\n });\n return;\n }\n\n await local.save({ project: answer.linkProject });\n logger.log(\n ` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`\n );\n await trackEvent(ctx, cloudApiService, 'didLinkProject', {\n projectInternalName: answer.linkProject,\n });\n } catch (e) {\n logger.debug('Failed to link project', e);\n logger.error('An error occurred while linking the project.');\n await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {\n projectInternalName: answer.linkProject,\n });\n }\n};\n"],"names":["QUIT_OPTION","promptForRelink","ctx","cloudApiService","existingConfig","project","shouldRelink","inquirer","prompt","type","name","message","chalk","cyan","displayName","default","trackEvent","currentProjectName","getProjectsList","spinner","logger","start","data","projectList","listLinkProjects","succeed","Array","isArray","log","projects","filter","isMaintainer","map","value","length","e","fail","debug","getUserSelection","answer","choices","grey","linkProject","error","getValidToken","tokenServiceFactory","token","promptLogin","cloudApiFactory","getLocalConfig","confirmAction","cancelledProjectName","local","projectInternalName"],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { cloudApiFactory } from '../services/cli-api.mjs';
|
|
4
|
+
import { save } from '../services/strapi-info-save.mjs';
|
|
5
|
+
import { tokenServiceFactory } from '../services/token.mjs';
|
|
6
|
+
import 'fast-safe-stringify';
|
|
7
|
+
import 'ora';
|
|
8
|
+
import 'cli-progress';
|
|
9
|
+
import { promptLogin } from '../login/action.mjs';
|
|
10
|
+
import { trackEvent } from '../utils/analytics.mjs';
|
|
11
|
+
import { getLocalConfig } from '../utils/get-local-config.mjs';
|
|
12
|
+
|
|
13
|
+
const QUIT_OPTION = 'Quit';
|
|
14
|
+
async function promptForRelink(ctx, cloudApiService, existingConfig) {
|
|
15
|
+
if (existingConfig && existingConfig.project) {
|
|
16
|
+
const { shouldRelink } = await inquirer.prompt([
|
|
17
|
+
{
|
|
18
|
+
type: 'confirm',
|
|
19
|
+
name: 'shouldRelink',
|
|
20
|
+
message: `A project named ${chalk.cyan(existingConfig.project.displayName ? existingConfig.project.displayName : existingConfig.project.name)} is already linked to this local folder. Do you want to update the link?`,
|
|
21
|
+
default: false
|
|
22
|
+
}
|
|
23
|
+
]);
|
|
24
|
+
if (!shouldRelink) {
|
|
25
|
+
await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
26
|
+
currentProjectName: existingConfig.project?.name
|
|
27
|
+
});
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
async function getProjectsList(ctx, cloudApiService, existingConfig) {
|
|
34
|
+
const spinner = ctx.logger.spinner('Fetching your projects...\n').start();
|
|
35
|
+
try {
|
|
36
|
+
const { data: { data: projectList } } = await cloudApiService.listLinkProjects();
|
|
37
|
+
spinner.succeed();
|
|
38
|
+
if (!Array.isArray(projectList)) {
|
|
39
|
+
ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const projects = projectList.filter((project)=>!(project.isMaintainer || project.name === existingConfig?.project?.name)).map((project)=>{
|
|
43
|
+
return {
|
|
44
|
+
name: project.displayName,
|
|
45
|
+
value: {
|
|
46
|
+
name: project.name,
|
|
47
|
+
displayName: project.displayName
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
if (projects.length === 0) {
|
|
52
|
+
ctx.logger.log("We couldn't find any projects available for linking in Strapi Cloud.");
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return projects;
|
|
56
|
+
} catch (e) {
|
|
57
|
+
spinner.fail('An error occurred while fetching your projects from Strapi Cloud.');
|
|
58
|
+
ctx.logger.debug('Failed to list projects', e);
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function getUserSelection(ctx, projects) {
|
|
63
|
+
const { logger } = ctx;
|
|
64
|
+
try {
|
|
65
|
+
const answer = await inquirer.prompt([
|
|
66
|
+
{
|
|
67
|
+
type: 'list',
|
|
68
|
+
name: 'linkProject',
|
|
69
|
+
message: 'Which project do you want to link?',
|
|
70
|
+
choices: [
|
|
71
|
+
...projects,
|
|
72
|
+
{
|
|
73
|
+
name: chalk.grey(`(${QUIT_OPTION})`),
|
|
74
|
+
value: null
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
]);
|
|
79
|
+
if (!answer.linkProject) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return answer;
|
|
83
|
+
} catch (e) {
|
|
84
|
+
logger.debug('Failed to get user input', e);
|
|
85
|
+
logger.error('An error occurred while trying to get your input.');
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
var action = (async (ctx)=>{
|
|
90
|
+
const { getValidToken } = await tokenServiceFactory(ctx);
|
|
91
|
+
const token = await getValidToken(ctx, promptLogin);
|
|
92
|
+
const { logger } = ctx;
|
|
93
|
+
if (!token) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const cloudApiService = await cloudApiFactory(ctx, token);
|
|
97
|
+
const existingConfig = await getLocalConfig(ctx);
|
|
98
|
+
const shouldRelink = await promptForRelink(ctx, cloudApiService, existingConfig);
|
|
99
|
+
if (!shouldRelink) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
await trackEvent(ctx, cloudApiService, 'willLinkProject', {});
|
|
103
|
+
const projects = await getProjectsList(ctx, cloudApiService, existingConfig);
|
|
104
|
+
if (!projects) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const answer = await getUserSelection(ctx, projects);
|
|
108
|
+
if (!answer) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const { confirmAction } = await inquirer.prompt([
|
|
113
|
+
{
|
|
114
|
+
type: 'confirm',
|
|
115
|
+
name: 'confirmAction',
|
|
116
|
+
message: 'Warning: Once linked, deploying from CLI will replace the existing project and its data. Confirm to proceed:',
|
|
117
|
+
default: false
|
|
118
|
+
}
|
|
119
|
+
]);
|
|
120
|
+
if (!confirmAction) {
|
|
121
|
+
await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
122
|
+
cancelledProjectName: answer.linkProject.name,
|
|
123
|
+
currentProjectName: existingConfig ? existingConfig.project?.name : null
|
|
124
|
+
});
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
await save({
|
|
128
|
+
project: answer.linkProject
|
|
129
|
+
});
|
|
130
|
+
logger.log(` You have successfully linked your project to ${chalk.cyan(answer.linkProject.displayName)}. You are now able to deploy your project.`);
|
|
131
|
+
await trackEvent(ctx, cloudApiService, 'didLinkProject', {
|
|
132
|
+
projectInternalName: answer.linkProject
|
|
133
|
+
});
|
|
134
|
+
} catch (e) {
|
|
135
|
+
logger.debug('Failed to link project', e);
|
|
136
|
+
logger.error('An error occurred while linking the project.');
|
|
137
|
+
await trackEvent(ctx, cloudApiService, 'didNotLinkProject', {
|
|
138
|
+
projectInternalName: answer.linkProject
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
export { action as default };
|
|
144
|
+
//# sourceMappingURL=action.mjs.map
|