@strapi/cloud-cli 5.55.1 → 5.57.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/create-project/action.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAGV,qBAAqB,EAGtB,MAAM,UAAU,CAAC;yBAsGI,KAAK,UAAU;AAArC,wBA0CE"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/create-project/action.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAGV,qBAAqB,EAGtB,MAAM,UAAU,CAAC;yBAsGI,KAAK,UAAU;AAArC,wBAyCE"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var fp = require('lodash/fp');
4
+ var lodash = require('lodash');
5
5
  var cliApi = require('../services/cli-api.js');
6
6
  var strapiInfoSave = require('../services/strapi-info-save.js');
7
7
  var token = require('../services/token.js');
@@ -99,10 +99,9 @@ var action = (async (ctx)=>{
99
99
  ...config.projectCreation.defaults,
100
100
  ...projectQuestions_utils.getDefaultsFromQuestions(questions)
101
101
  };
102
- const projectAnswersDefaulted = fp.defaults(defaultValues);
103
102
  const { default: inquirer } = await import('inquirer');
104
103
  const projectAnswers = await inquirer.prompt(questions);
105
- const projectInput = projectAnswersDefaulted(projectAnswers);
104
+ const projectInput = lodash.defaults({}, projectAnswers, defaultValues);
106
105
  try {
107
106
  return await createProject(ctx, cloudApi, projectInput, token$1, config);
108
107
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../src/create-project/action.ts"],"sourcesContent":["import { AxiosError } from 'axios';\nimport { defaults } from 'lodash/fp';\nimport {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n CreateProjectResponse,\n ProjectAnswers,\n ProjectInput,\n} from '../types';\nimport { cloudApiFactory, local, tokenServiceFactory } from '../services';\nimport { VERSION } from '../services/cli-api';\nimport { getProjectNameFromPackageJson } from './utils/get-project-name-from-pkg';\nimport { promptLogin } from '../login/action';\nimport {\n getDefaultsFromQuestions,\n getProjectNodeVersionDefault,\n questionDefaultValuesMapper,\n} from './utils/project-questions.utils';\nimport { apiConfig } from '../config/api';\nimport { notificationServiceFactory } from '../services/notification';\nimport {\n environmentCreationErrorFactory,\n environmentErrorMessageFactory,\n} from '../utils/error-message-factories';\n\nasync function handleError(ctx: CLIContext, error: Error) {\n const { logger } = ctx;\n logger.debug(error);\n if (error instanceof AxiosError) {\n const errorMessage = typeof error.response?.data === 'string' ? error.response.data : null;\n switch (error.response?.status) {\n case 400:\n logger.error(errorMessage || 'Invalid input. Please check your inputs and try again.');\n return;\n case 403:\n logger.error(\n errorMessage ||\n 'You do not have permission to create a project. Please contact support for assistance.'\n );\n return;\n case 503:\n logger.error(\n 'Strapi Cloud project creation is currently unavailable. Please try again later.'\n );\n return;\n default:\n if (errorMessage) {\n logger.error(errorMessage);\n throw error;\n }\n break;\n }\n }\n logger.error(\n 'We encountered an issue while creating your project. Please try again in a moment. If the problem persists, contact support for assistance.'\n );\n}\n\nasync function createProject(\n ctx: CLIContext,\n cloudApi: CloudApiService,\n projectInput: ProjectInput,\n token: string,\n config: CloudCliConfig\n) {\n const { logger } = ctx;\n const projectSpinner = logger.spinner('Setting up your project...').start();\n projectSpinner.indent = 1;\n const notificationService = notificationServiceFactory(ctx);\n const { waitForEnvironmentCreation, close } = notificationService(\n `${apiConfig.apiBaseUrl}/${VERSION}/notifications`,\n token,\n config\n );\n let projectData: CreateProjectResponse;\n try {\n const { data } = await cloudApi.createProject(projectInput);\n projectData = data;\n await local.save({ project: data });\n projectSpinner.succeed('Project created successfully!');\n } catch (e: Error | unknown) {\n projectSpinner.fail(`An error occurred while creating the project on Strapi Cloud.`);\n close();\n throw e;\n }\n if (config.featureFlags.asyncProjectCreationEnabled) {\n const environmentSpinner = logger\n .spinner('Setting up your environment... This may take a minute...')\n .start();\n environmentSpinner.indent = 1;\n try {\n await waitForEnvironmentCreation(projectData.environmentInternalName);\n environmentSpinner.succeed('Environment created successfully!\\n');\n } catch {\n environmentSpinner.fail(\n `An error occurred while creating the environment on Strapi Cloud.\\n`\n );\n const environmentErrorMessage = environmentErrorMessageFactory({\n projectName: projectData.name,\n firstLine: config.projectCreation.errors.environmentCreationFailed.firstLine,\n secondLine: config.projectCreation.errors.environmentCreationFailed.secondLine,\n });\n logger.log(environmentCreationErrorFactory(environmentErrorMessage));\n return;\n }\n }\n close();\n return projectData;\n}\n\nexport default async (ctx: CLIContext) => {\n const { logger } = ctx;\n const { getValidToken, eraseToken } = await tokenServiceFactory(ctx);\n\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const cloudApi = await cloudApiFactory(ctx, token);\n const { data: config } = await cloudApi.config();\n const projectName = await getProjectNameFromPackageJson(ctx);\n\n const defaultAnswersMapper = questionDefaultValuesMapper({\n name: projectName,\n nodeVersion: getProjectNodeVersionDefault,\n });\n const questions = defaultAnswersMapper(config.projectCreation.questions);\n const defaultValues = {\n ...config.projectCreation.defaults,\n ...getDefaultsFromQuestions(questions),\n };\n\n const projectAnswersDefaulted = defaults(defaultValues);\n const { default: inquirer } = await import('inquirer');\n const projectAnswers = await inquirer.prompt<ProjectAnswers>(questions);\n\n const projectInput: ProjectInput = projectAnswersDefaulted(projectAnswers);\n\n try {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.status === 401) {\n logger.warn('Oops! Your session has expired. Please log in again to retry.');\n await eraseToken();\n if (await promptLogin(ctx)) {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n }\n } else {\n await handleError(ctx, e as Error);\n }\n }\n};\n"],"names":["handleError","ctx","error","logger","debug","AxiosError","errorMessage","response","data","status","createProject","cloudApi","projectInput","token","config","projectSpinner","spinner","start","indent","notificationService","notificationServiceFactory","waitForEnvironmentCreation","close","apiConfig","apiBaseUrl","VERSION","projectData","local","project","succeed","e","fail","featureFlags","asyncProjectCreationEnabled","environmentSpinner","environmentInternalName","environmentErrorMessage","environmentErrorMessageFactory","projectName","name","firstLine","projectCreation","errors","environmentCreationFailed","secondLine","log","environmentCreationErrorFactory","getValidToken","eraseToken","tokenServiceFactory","promptLogin","cloudApiFactory","getProjectNameFromPackageJson","defaultAnswersMapper","questionDefaultValuesMapper","nodeVersion","getProjectNodeVersionDefault","questions","defaultValues","defaults","getDefaultsFromQuestions","projectAnswersDefaulted","default","inquirer","projectAnswers","prompt","warn"],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sources":["../../src/create-project/action.ts"],"sourcesContent":["import { AxiosError } from 'axios';\nimport { defaults } from 'lodash';\nimport {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n CreateProjectResponse,\n ProjectAnswers,\n ProjectInput,\n} from '../types';\nimport { cloudApiFactory, local, tokenServiceFactory } from '../services';\nimport { VERSION } from '../services/cli-api';\nimport { getProjectNameFromPackageJson } from './utils/get-project-name-from-pkg';\nimport { promptLogin } from '../login/action';\nimport {\n getDefaultsFromQuestions,\n getProjectNodeVersionDefault,\n questionDefaultValuesMapper,\n} from './utils/project-questions.utils';\nimport { apiConfig } from '../config/api';\nimport { notificationServiceFactory } from '../services/notification';\nimport {\n environmentCreationErrorFactory,\n environmentErrorMessageFactory,\n} from '../utils/error-message-factories';\n\nasync function handleError(ctx: CLIContext, error: Error) {\n const { logger } = ctx;\n logger.debug(error);\n if (error instanceof AxiosError) {\n const errorMessage = typeof error.response?.data === 'string' ? error.response.data : null;\n switch (error.response?.status) {\n case 400:\n logger.error(errorMessage || 'Invalid input. Please check your inputs and try again.');\n return;\n case 403:\n logger.error(\n errorMessage ||\n 'You do not have permission to create a project. Please contact support for assistance.'\n );\n return;\n case 503:\n logger.error(\n 'Strapi Cloud project creation is currently unavailable. Please try again later.'\n );\n return;\n default:\n if (errorMessage) {\n logger.error(errorMessage);\n throw error;\n }\n break;\n }\n }\n logger.error(\n 'We encountered an issue while creating your project. Please try again in a moment. If the problem persists, contact support for assistance.'\n );\n}\n\nasync function createProject(\n ctx: CLIContext,\n cloudApi: CloudApiService,\n projectInput: ProjectInput,\n token: string,\n config: CloudCliConfig\n) {\n const { logger } = ctx;\n const projectSpinner = logger.spinner('Setting up your project...').start();\n projectSpinner.indent = 1;\n const notificationService = notificationServiceFactory(ctx);\n const { waitForEnvironmentCreation, close } = notificationService(\n `${apiConfig.apiBaseUrl}/${VERSION}/notifications`,\n token,\n config\n );\n let projectData: CreateProjectResponse;\n try {\n const { data } = await cloudApi.createProject(projectInput);\n projectData = data;\n await local.save({ project: data });\n projectSpinner.succeed('Project created successfully!');\n } catch (e: Error | unknown) {\n projectSpinner.fail(`An error occurred while creating the project on Strapi Cloud.`);\n close();\n throw e;\n }\n if (config.featureFlags.asyncProjectCreationEnabled) {\n const environmentSpinner = logger\n .spinner('Setting up your environment... This may take a minute...')\n .start();\n environmentSpinner.indent = 1;\n try {\n await waitForEnvironmentCreation(projectData.environmentInternalName);\n environmentSpinner.succeed('Environment created successfully!\\n');\n } catch {\n environmentSpinner.fail(\n `An error occurred while creating the environment on Strapi Cloud.\\n`\n );\n const environmentErrorMessage = environmentErrorMessageFactory({\n projectName: projectData.name,\n firstLine: config.projectCreation.errors.environmentCreationFailed.firstLine,\n secondLine: config.projectCreation.errors.environmentCreationFailed.secondLine,\n });\n logger.log(environmentCreationErrorFactory(environmentErrorMessage));\n return;\n }\n }\n close();\n return projectData;\n}\n\nexport default async (ctx: CLIContext) => {\n const { logger } = ctx;\n const { getValidToken, eraseToken } = await tokenServiceFactory(ctx);\n\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const cloudApi = await cloudApiFactory(ctx, token);\n const { data: config } = await cloudApi.config();\n const projectName = await getProjectNameFromPackageJson(ctx);\n\n const defaultAnswersMapper = questionDefaultValuesMapper({\n name: projectName,\n nodeVersion: getProjectNodeVersionDefault,\n });\n const questions = defaultAnswersMapper(config.projectCreation.questions);\n const defaultValues = {\n ...config.projectCreation.defaults,\n ...getDefaultsFromQuestions(questions),\n };\n\n const { default: inquirer } = await import('inquirer');\n const projectAnswers = await inquirer.prompt<ProjectAnswers>(questions);\n\n const projectInput: ProjectInput = defaults({}, projectAnswers, defaultValues);\n\n try {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.status === 401) {\n logger.warn('Oops! Your session has expired. Please log in again to retry.');\n await eraseToken();\n if (await promptLogin(ctx)) {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n }\n } else {\n await handleError(ctx, e as Error);\n }\n }\n};\n"],"names":["handleError","ctx","error","logger","debug","AxiosError","errorMessage","response","data","status","createProject","cloudApi","projectInput","token","config","projectSpinner","spinner","start","indent","notificationService","notificationServiceFactory","waitForEnvironmentCreation","close","apiConfig","apiBaseUrl","VERSION","projectData","local","project","succeed","e","fail","featureFlags","asyncProjectCreationEnabled","environmentSpinner","environmentInternalName","environmentErrorMessage","environmentErrorMessageFactory","projectName","name","firstLine","projectCreation","errors","environmentCreationFailed","secondLine","log","environmentCreationErrorFactory","getValidToken","eraseToken","tokenServiceFactory","promptLogin","cloudApiFactory","getProjectNameFromPackageJson","defaultAnswersMapper","questionDefaultValuesMapper","nodeVersion","getProjectNodeVersionDefault","questions","defaultValues","defaults","getDefaultsFromQuestions","default","inquirer","projectAnswers","prompt","warn"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AxiosError } from 'axios';
2
- import { defaults } from 'lodash/fp';
2
+ import { defaults } from 'lodash';
3
3
  import { cloudApiFactory, VERSION } from '../services/cli-api.mjs';
4
4
  import { save } from '../services/strapi-info-save.mjs';
5
5
  import { tokenServiceFactory } from '../services/token.mjs';
@@ -97,10 +97,9 @@ var action = (async (ctx)=>{
97
97
  ...config.projectCreation.defaults,
98
98
  ...getDefaultsFromQuestions(questions)
99
99
  };
100
- const projectAnswersDefaulted = defaults(defaultValues);
101
100
  const { default: inquirer } = await import('inquirer');
102
101
  const projectAnswers = await inquirer.prompt(questions);
103
- const projectInput = projectAnswersDefaulted(projectAnswers);
102
+ const projectInput = defaults({}, projectAnswers, defaultValues);
104
103
  try {
105
104
  return await createProject(ctx, cloudApi, projectInput, token, config);
106
105
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","sources":["../../src/create-project/action.ts"],"sourcesContent":["import { AxiosError } from 'axios';\nimport { defaults } from 'lodash/fp';\nimport {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n CreateProjectResponse,\n ProjectAnswers,\n ProjectInput,\n} from '../types';\nimport { cloudApiFactory, local, tokenServiceFactory } from '../services';\nimport { VERSION } from '../services/cli-api';\nimport { getProjectNameFromPackageJson } from './utils/get-project-name-from-pkg';\nimport { promptLogin } from '../login/action';\nimport {\n getDefaultsFromQuestions,\n getProjectNodeVersionDefault,\n questionDefaultValuesMapper,\n} from './utils/project-questions.utils';\nimport { apiConfig } from '../config/api';\nimport { notificationServiceFactory } from '../services/notification';\nimport {\n environmentCreationErrorFactory,\n environmentErrorMessageFactory,\n} from '../utils/error-message-factories';\n\nasync function handleError(ctx: CLIContext, error: Error) {\n const { logger } = ctx;\n logger.debug(error);\n if (error instanceof AxiosError) {\n const errorMessage = typeof error.response?.data === 'string' ? error.response.data : null;\n switch (error.response?.status) {\n case 400:\n logger.error(errorMessage || 'Invalid input. Please check your inputs and try again.');\n return;\n case 403:\n logger.error(\n errorMessage ||\n 'You do not have permission to create a project. Please contact support for assistance.'\n );\n return;\n case 503:\n logger.error(\n 'Strapi Cloud project creation is currently unavailable. Please try again later.'\n );\n return;\n default:\n if (errorMessage) {\n logger.error(errorMessage);\n throw error;\n }\n break;\n }\n }\n logger.error(\n 'We encountered an issue while creating your project. Please try again in a moment. If the problem persists, contact support for assistance.'\n );\n}\n\nasync function createProject(\n ctx: CLIContext,\n cloudApi: CloudApiService,\n projectInput: ProjectInput,\n token: string,\n config: CloudCliConfig\n) {\n const { logger } = ctx;\n const projectSpinner = logger.spinner('Setting up your project...').start();\n projectSpinner.indent = 1;\n const notificationService = notificationServiceFactory(ctx);\n const { waitForEnvironmentCreation, close } = notificationService(\n `${apiConfig.apiBaseUrl}/${VERSION}/notifications`,\n token,\n config\n );\n let projectData: CreateProjectResponse;\n try {\n const { data } = await cloudApi.createProject(projectInput);\n projectData = data;\n await local.save({ project: data });\n projectSpinner.succeed('Project created successfully!');\n } catch (e: Error | unknown) {\n projectSpinner.fail(`An error occurred while creating the project on Strapi Cloud.`);\n close();\n throw e;\n }\n if (config.featureFlags.asyncProjectCreationEnabled) {\n const environmentSpinner = logger\n .spinner('Setting up your environment... This may take a minute...')\n .start();\n environmentSpinner.indent = 1;\n try {\n await waitForEnvironmentCreation(projectData.environmentInternalName);\n environmentSpinner.succeed('Environment created successfully!\\n');\n } catch {\n environmentSpinner.fail(\n `An error occurred while creating the environment on Strapi Cloud.\\n`\n );\n const environmentErrorMessage = environmentErrorMessageFactory({\n projectName: projectData.name,\n firstLine: config.projectCreation.errors.environmentCreationFailed.firstLine,\n secondLine: config.projectCreation.errors.environmentCreationFailed.secondLine,\n });\n logger.log(environmentCreationErrorFactory(environmentErrorMessage));\n return;\n }\n }\n close();\n return projectData;\n}\n\nexport default async (ctx: CLIContext) => {\n const { logger } = ctx;\n const { getValidToken, eraseToken } = await tokenServiceFactory(ctx);\n\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const cloudApi = await cloudApiFactory(ctx, token);\n const { data: config } = await cloudApi.config();\n const projectName = await getProjectNameFromPackageJson(ctx);\n\n const defaultAnswersMapper = questionDefaultValuesMapper({\n name: projectName,\n nodeVersion: getProjectNodeVersionDefault,\n });\n const questions = defaultAnswersMapper(config.projectCreation.questions);\n const defaultValues = {\n ...config.projectCreation.defaults,\n ...getDefaultsFromQuestions(questions),\n };\n\n const projectAnswersDefaulted = defaults(defaultValues);\n const { default: inquirer } = await import('inquirer');\n const projectAnswers = await inquirer.prompt<ProjectAnswers>(questions);\n\n const projectInput: ProjectInput = projectAnswersDefaulted(projectAnswers);\n\n try {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.status === 401) {\n logger.warn('Oops! Your session has expired. Please log in again to retry.');\n await eraseToken();\n if (await promptLogin(ctx)) {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n }\n } else {\n await handleError(ctx, e as Error);\n }\n }\n};\n"],"names":["handleError","ctx","error","logger","debug","AxiosError","errorMessage","response","data","status","createProject","cloudApi","projectInput","token","config","projectSpinner","spinner","start","indent","notificationService","notificationServiceFactory","waitForEnvironmentCreation","close","apiConfig","apiBaseUrl","VERSION","projectData","local","project","succeed","e","fail","featureFlags","asyncProjectCreationEnabled","environmentSpinner","environmentInternalName","environmentErrorMessage","environmentErrorMessageFactory","projectName","name","firstLine","projectCreation","errors","environmentCreationFailed","secondLine","log","environmentCreationErrorFactory","getValidToken","eraseToken","tokenServiceFactory","promptLogin","cloudApiFactory","getProjectNameFromPackageJson","defaultAnswersMapper","questionDefaultValuesMapper","nodeVersion","getProjectNodeVersionDefault","questions","defaultValues","defaults","getDefaultsFromQuestions","projectAnswersDefaulted","default","inquirer","projectAnswers","prompt","warn"],"mappings":"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"}
1
+ {"version":3,"file":"action.mjs","sources":["../../src/create-project/action.ts"],"sourcesContent":["import { AxiosError } from 'axios';\nimport { defaults } from 'lodash';\nimport {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n CreateProjectResponse,\n ProjectAnswers,\n ProjectInput,\n} from '../types';\nimport { cloudApiFactory, local, tokenServiceFactory } from '../services';\nimport { VERSION } from '../services/cli-api';\nimport { getProjectNameFromPackageJson } from './utils/get-project-name-from-pkg';\nimport { promptLogin } from '../login/action';\nimport {\n getDefaultsFromQuestions,\n getProjectNodeVersionDefault,\n questionDefaultValuesMapper,\n} from './utils/project-questions.utils';\nimport { apiConfig } from '../config/api';\nimport { notificationServiceFactory } from '../services/notification';\nimport {\n environmentCreationErrorFactory,\n environmentErrorMessageFactory,\n} from '../utils/error-message-factories';\n\nasync function handleError(ctx: CLIContext, error: Error) {\n const { logger } = ctx;\n logger.debug(error);\n if (error instanceof AxiosError) {\n const errorMessage = typeof error.response?.data === 'string' ? error.response.data : null;\n switch (error.response?.status) {\n case 400:\n logger.error(errorMessage || 'Invalid input. Please check your inputs and try again.');\n return;\n case 403:\n logger.error(\n errorMessage ||\n 'You do not have permission to create a project. Please contact support for assistance.'\n );\n return;\n case 503:\n logger.error(\n 'Strapi Cloud project creation is currently unavailable. Please try again later.'\n );\n return;\n default:\n if (errorMessage) {\n logger.error(errorMessage);\n throw error;\n }\n break;\n }\n }\n logger.error(\n 'We encountered an issue while creating your project. Please try again in a moment. If the problem persists, contact support for assistance.'\n );\n}\n\nasync function createProject(\n ctx: CLIContext,\n cloudApi: CloudApiService,\n projectInput: ProjectInput,\n token: string,\n config: CloudCliConfig\n) {\n const { logger } = ctx;\n const projectSpinner = logger.spinner('Setting up your project...').start();\n projectSpinner.indent = 1;\n const notificationService = notificationServiceFactory(ctx);\n const { waitForEnvironmentCreation, close } = notificationService(\n `${apiConfig.apiBaseUrl}/${VERSION}/notifications`,\n token,\n config\n );\n let projectData: CreateProjectResponse;\n try {\n const { data } = await cloudApi.createProject(projectInput);\n projectData = data;\n await local.save({ project: data });\n projectSpinner.succeed('Project created successfully!');\n } catch (e: Error | unknown) {\n projectSpinner.fail(`An error occurred while creating the project on Strapi Cloud.`);\n close();\n throw e;\n }\n if (config.featureFlags.asyncProjectCreationEnabled) {\n const environmentSpinner = logger\n .spinner('Setting up your environment... This may take a minute...')\n .start();\n environmentSpinner.indent = 1;\n try {\n await waitForEnvironmentCreation(projectData.environmentInternalName);\n environmentSpinner.succeed('Environment created successfully!\\n');\n } catch {\n environmentSpinner.fail(\n `An error occurred while creating the environment on Strapi Cloud.\\n`\n );\n const environmentErrorMessage = environmentErrorMessageFactory({\n projectName: projectData.name,\n firstLine: config.projectCreation.errors.environmentCreationFailed.firstLine,\n secondLine: config.projectCreation.errors.environmentCreationFailed.secondLine,\n });\n logger.log(environmentCreationErrorFactory(environmentErrorMessage));\n return;\n }\n }\n close();\n return projectData;\n}\n\nexport default async (ctx: CLIContext) => {\n const { logger } = ctx;\n const { getValidToken, eraseToken } = await tokenServiceFactory(ctx);\n\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const cloudApi = await cloudApiFactory(ctx, token);\n const { data: config } = await cloudApi.config();\n const projectName = await getProjectNameFromPackageJson(ctx);\n\n const defaultAnswersMapper = questionDefaultValuesMapper({\n name: projectName,\n nodeVersion: getProjectNodeVersionDefault,\n });\n const questions = defaultAnswersMapper(config.projectCreation.questions);\n const defaultValues = {\n ...config.projectCreation.defaults,\n ...getDefaultsFromQuestions(questions),\n };\n\n const { default: inquirer } = await import('inquirer');\n const projectAnswers = await inquirer.prompt<ProjectAnswers>(questions);\n\n const projectInput: ProjectInput = defaults({}, projectAnswers, defaultValues);\n\n try {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.status === 401) {\n logger.warn('Oops! Your session has expired. Please log in again to retry.');\n await eraseToken();\n if (await promptLogin(ctx)) {\n return await createProject(ctx, cloudApi, projectInput, token, config);\n }\n } else {\n await handleError(ctx, e as Error);\n }\n }\n};\n"],"names":["handleError","ctx","error","logger","debug","AxiosError","errorMessage","response","data","status","createProject","cloudApi","projectInput","token","config","projectSpinner","spinner","start","indent","notificationService","notificationServiceFactory","waitForEnvironmentCreation","close","apiConfig","apiBaseUrl","VERSION","projectData","local","project","succeed","e","fail","featureFlags","asyncProjectCreationEnabled","environmentSpinner","environmentInternalName","environmentErrorMessage","environmentErrorMessageFactory","projectName","name","firstLine","projectCreation","errors","environmentCreationFailed","secondLine","log","environmentCreationErrorFactory","getValidToken","eraseToken","tokenServiceFactory","promptLogin","cloudApiFactory","getProjectNameFromPackageJson","defaultAnswersMapper","questionDefaultValuesMapper","nodeVersion","getProjectNodeVersionDefault","questions","defaultValues","defaults","getDefaultsFromQuestions","default","inquirer","projectAnswers","prompt","warn"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "5.55.1";
5
+ var version = "5.57.0";
6
6
  var packageJson = {
7
7
  version: version};
8
8
 
@@ -1,4 +1,4 @@
1
- var version = "5.55.1";
1
+ var version = "5.57.0";
2
2
  var packageJson = {
3
3
  version: version};
4
4
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var fp = require('lodash/fp');
4
+ var lodash = require('lodash');
5
5
 
6
6
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
7
 
@@ -16,7 +16,7 @@ const assertCwdContainsStrapiProject = (name)=>{
16
16
  try {
17
17
  // eslint-disable-next-line @typescript-eslint/no-var-requires
18
18
  const pkgJSON = require(`${process.cwd()}/package.json`);
19
- if (!fp.has('dependencies.@strapi/strapi', pkgJSON) && !fp.has('devDependencies.@strapi/strapi', pkgJSON)) {
19
+ if (!lodash.has(pkgJSON, 'dependencies.@strapi/strapi') && !lodash.has(pkgJSON, 'devDependencies.@strapi/strapi')) {
20
20
  logErrorAndExit();
21
21
  }
22
22
  } catch {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/utils/helpers.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { has } from 'lodash/fp';\n\n// TODO: Remove duplicated code by extracting to a shared package\n\nconst assertCwdContainsStrapiProject = (name: string) => {\n const logErrorAndExit = () => {\n console.log(\n `You need to run ${chalk.yellow(\n `strapi ${name}`\n )} in a Strapi project. Make sure you are in the right directory.`\n );\n process.exit(1);\n };\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkgJSON = require(`${process.cwd()}/package.json`);\n if (\n !has('dependencies.@strapi/strapi', pkgJSON) &&\n !has('devDependencies.@strapi/strapi', pkgJSON)\n ) {\n logErrorAndExit();\n }\n } catch {\n logErrorAndExit();\n }\n};\n\nconst runAction =\n (name: string, action: (...args: any[]) => Promise<unknown>) =>\n (...args: unknown[]) => {\n assertCwdContainsStrapiProject(name);\n\n Promise.resolve()\n .then(() => {\n return action(...args);\n })\n .catch((error) => {\n console.error(error);\n process.exit(1);\n });\n };\n\nexport { runAction };\n"],"names":["assertCwdContainsStrapiProject","name","logErrorAndExit","console","log","chalk","yellow","process","exit","pkgJSON","require","cwd","has","runAction","action","args","Promise","resolve","then","catch","error"],"mappings":";;;;;;;;;AAGA;AAEA,MAAMA,iCAAiC,CAACC,IAAAA,GAAAA;AACtC,IAAA,MAAMC,eAAAA,GAAkB,IAAA;AACtBC,QAAAA,OAAAA,CAAQC,GAAG,CACT,CAAC,gBAAgB,EAAEC,sBAAAA,CAAMC,MAAM,CAC7B,CAAC,OAAO,EAAEL,IAAAA,CAAAA,CAAM,CAAA,CAChB,+DAA+D,CAAC,CAAA;AAEpEM,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA,CAAA;IAEA,IAAI;;AAEF,QAAA,MAAMC,UAAUC,OAAAA,CAAQ,CAAA,EAAGH,QAAQI,GAAG,EAAA,CAAG,aAAa,CAAC,CAAA;AACvD,QAAA,IACE,CAACC,MAAAA,CAAI,6BAAA,EAA+BH,YACpC,CAACG,MAAAA,CAAI,kCAAkCH,OAAAA,CAAAA,EACvC;AACAP,YAAAA,eAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA,CAAE,OAAM;AACNA,QAAAA,eAAAA,EAAAA;AACF,IAAA;AACF,CAAA;AAEA,MAAMW,SAAAA,GACJ,CAACZ,IAAAA,EAAca,MAAAA,GACf,CAAC,GAAGC,IAAAA,GAAAA;QACFf,8BAAAA,CAA+BC,IAAAA,CAAAA;QAE/Be,OAAAA,CAAQC,OAAO,EAAA,CACZC,IAAI,CAAC,IAAA;AACJ,YAAA,OAAOJ,MAAAA,CAAAA,GAAUC,IAAAA,CAAAA;QACnB,CAAA,CAAA,CACCI,KAAK,CAAC,CAACC,KAAAA,GAAAA;AACNjB,YAAAA,OAAAA,CAAQiB,KAAK,CAACA,KAAAA,CAAAA;AACdb,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACJ,IAAA;;;;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/utils/helpers.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { has } from 'lodash';\n\n// TODO: Remove duplicated code by extracting to a shared package\n\nconst assertCwdContainsStrapiProject = (name: string) => {\n const logErrorAndExit = () => {\n console.log(\n `You need to run ${chalk.yellow(\n `strapi ${name}`\n )} in a Strapi project. Make sure you are in the right directory.`\n );\n process.exit(1);\n };\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkgJSON = require(`${process.cwd()}/package.json`);\n if (\n !has(pkgJSON, 'dependencies.@strapi/strapi') &&\n !has(pkgJSON, 'devDependencies.@strapi/strapi')\n ) {\n logErrorAndExit();\n }\n } catch {\n logErrorAndExit();\n }\n};\n\nconst runAction =\n (name: string, action: (...args: any[]) => Promise<unknown>) =>\n (...args: unknown[]) => {\n assertCwdContainsStrapiProject(name);\n\n Promise.resolve()\n .then(() => {\n return action(...args);\n })\n .catch((error) => {\n console.error(error);\n process.exit(1);\n });\n };\n\nexport { runAction };\n"],"names":["assertCwdContainsStrapiProject","name","logErrorAndExit","console","log","chalk","yellow","process","exit","pkgJSON","require","cwd","has","runAction","action","args","Promise","resolve","then","catch","error"],"mappings":";;;;;;;;;AAGA;AAEA,MAAMA,iCAAiC,CAACC,IAAAA,GAAAA;AACtC,IAAA,MAAMC,eAAAA,GAAkB,IAAA;AACtBC,QAAAA,OAAAA,CAAQC,GAAG,CACT,CAAC,gBAAgB,EAAEC,sBAAAA,CAAMC,MAAM,CAC7B,CAAC,OAAO,EAAEL,IAAAA,CAAAA,CAAM,CAAA,CAChB,+DAA+D,CAAC,CAAA;AAEpEM,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA,CAAA;IAEA,IAAI;;AAEF,QAAA,MAAMC,UAAUC,OAAAA,CAAQ,CAAA,EAAGH,QAAQI,GAAG,EAAA,CAAG,aAAa,CAAC,CAAA;AACvD,QAAA,IACE,CAACC,UAAAA,CAAIH,OAAAA,EAAS,kCACd,CAACG,UAAAA,CAAIH,SAAS,gCAAA,CAAA,EACd;AACAP,YAAAA,eAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA,CAAE,OAAM;AACNA,QAAAA,eAAAA,EAAAA;AACF,IAAA;AACF,CAAA;AAEA,MAAMW,SAAAA,GACJ,CAACZ,IAAAA,EAAca,MAAAA,GACf,CAAC,GAAGC,IAAAA,GAAAA;QACFf,8BAAAA,CAA+BC,IAAAA,CAAAA;QAE/Be,OAAAA,CAAQC,OAAO,EAAA,CACZC,IAAI,CAAC,IAAA;AACJ,YAAA,OAAOJ,MAAAA,CAAAA,GAAUC,IAAAA,CAAAA;QACnB,CAAA,CAAA,CACCI,KAAK,CAAC,CAACC,KAAAA,GAAAA;AACNjB,YAAAA,OAAAA,CAAQiB,KAAK,CAACA,KAAAA,CAAAA;AACdb,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACJ,IAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { has } from 'lodash/fp';
2
+ import { has } from 'lodash';
3
3
 
4
4
  // TODO: Remove duplicated code by extracting to a shared package
5
5
  const assertCwdContainsStrapiProject = (name)=>{
@@ -10,7 +10,7 @@ const assertCwdContainsStrapiProject = (name)=>{
10
10
  try {
11
11
  // eslint-disable-next-line @typescript-eslint/no-var-requires
12
12
  const pkgJSON = require(`${process.cwd()}/package.json`);
13
- if (!has('dependencies.@strapi/strapi', pkgJSON) && !has('devDependencies.@strapi/strapi', pkgJSON)) {
13
+ if (!has(pkgJSON, 'dependencies.@strapi/strapi') && !has(pkgJSON, 'devDependencies.@strapi/strapi')) {
14
14
  logErrorAndExit();
15
15
  }
16
16
  } catch {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","sources":["../../src/utils/helpers.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { has } from 'lodash/fp';\n\n// TODO: Remove duplicated code by extracting to a shared package\n\nconst assertCwdContainsStrapiProject = (name: string) => {\n const logErrorAndExit = () => {\n console.log(\n `You need to run ${chalk.yellow(\n `strapi ${name}`\n )} in a Strapi project. Make sure you are in the right directory.`\n );\n process.exit(1);\n };\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkgJSON = require(`${process.cwd()}/package.json`);\n if (\n !has('dependencies.@strapi/strapi', pkgJSON) &&\n !has('devDependencies.@strapi/strapi', pkgJSON)\n ) {\n logErrorAndExit();\n }\n } catch {\n logErrorAndExit();\n }\n};\n\nconst runAction =\n (name: string, action: (...args: any[]) => Promise<unknown>) =>\n (...args: unknown[]) => {\n assertCwdContainsStrapiProject(name);\n\n Promise.resolve()\n .then(() => {\n return action(...args);\n })\n .catch((error) => {\n console.error(error);\n process.exit(1);\n });\n };\n\nexport { runAction };\n"],"names":["assertCwdContainsStrapiProject","name","logErrorAndExit","console","log","chalk","yellow","process","exit","pkgJSON","require","cwd","has","runAction","action","args","Promise","resolve","then","catch","error"],"mappings":";;;AAGA;AAEA,MAAMA,iCAAiC,CAACC,IAAAA,GAAAA;AACtC,IAAA,MAAMC,eAAAA,GAAkB,IAAA;AACtBC,QAAAA,OAAAA,CAAQC,GAAG,CACT,CAAC,gBAAgB,EAAEC,KAAAA,CAAMC,MAAM,CAC7B,CAAC,OAAO,EAAEL,IAAAA,CAAAA,CAAM,CAAA,CAChB,+DAA+D,CAAC,CAAA;AAEpEM,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA,CAAA;IAEA,IAAI;;AAEF,QAAA,MAAMC,UAAUC,OAAAA,CAAQ,CAAA,EAAGH,QAAQI,GAAG,EAAA,CAAG,aAAa,CAAC,CAAA;AACvD,QAAA,IACE,CAACC,GAAAA,CAAI,6BAAA,EAA+BH,YACpC,CAACG,GAAAA,CAAI,kCAAkCH,OAAAA,CAAAA,EACvC;AACAP,YAAAA,eAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA,CAAE,OAAM;AACNA,QAAAA,eAAAA,EAAAA;AACF,IAAA;AACF,CAAA;AAEA,MAAMW,SAAAA,GACJ,CAACZ,IAAAA,EAAca,MAAAA,GACf,CAAC,GAAGC,IAAAA,GAAAA;QACFf,8BAAAA,CAA+BC,IAAAA,CAAAA;QAE/Be,OAAAA,CAAQC,OAAO,EAAA,CACZC,IAAI,CAAC,IAAA;AACJ,YAAA,OAAOJ,MAAAA,CAAAA,GAAUC,IAAAA,CAAAA;QACnB,CAAA,CAAA,CACCI,KAAK,CAAC,CAACC,KAAAA,GAAAA;AACNjB,YAAAA,OAAAA,CAAQiB,KAAK,CAACA,KAAAA,CAAAA;AACdb,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACJ,IAAA;;;;"}
1
+ {"version":3,"file":"helpers.mjs","sources":["../../src/utils/helpers.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { has } from 'lodash';\n\n// TODO: Remove duplicated code by extracting to a shared package\n\nconst assertCwdContainsStrapiProject = (name: string) => {\n const logErrorAndExit = () => {\n console.log(\n `You need to run ${chalk.yellow(\n `strapi ${name}`\n )} in a Strapi project. Make sure you are in the right directory.`\n );\n process.exit(1);\n };\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkgJSON = require(`${process.cwd()}/package.json`);\n if (\n !has(pkgJSON, 'dependencies.@strapi/strapi') &&\n !has(pkgJSON, 'devDependencies.@strapi/strapi')\n ) {\n logErrorAndExit();\n }\n } catch {\n logErrorAndExit();\n }\n};\n\nconst runAction =\n (name: string, action: (...args: any[]) => Promise<unknown>) =>\n (...args: unknown[]) => {\n assertCwdContainsStrapiProject(name);\n\n Promise.resolve()\n .then(() => {\n return action(...args);\n })\n .catch((error) => {\n console.error(error);\n process.exit(1);\n });\n };\n\nexport { runAction };\n"],"names":["assertCwdContainsStrapiProject","name","logErrorAndExit","console","log","chalk","yellow","process","exit","pkgJSON","require","cwd","has","runAction","action","args","Promise","resolve","then","catch","error"],"mappings":";;;AAGA;AAEA,MAAMA,iCAAiC,CAACC,IAAAA,GAAAA;AACtC,IAAA,MAAMC,eAAAA,GAAkB,IAAA;AACtBC,QAAAA,OAAAA,CAAQC,GAAG,CACT,CAAC,gBAAgB,EAAEC,KAAAA,CAAMC,MAAM,CAC7B,CAAC,OAAO,EAAEL,IAAAA,CAAAA,CAAM,CAAA,CAChB,+DAA+D,CAAC,CAAA;AAEpEM,QAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,IAAA,CAAA;IAEA,IAAI;;AAEF,QAAA,MAAMC,UAAUC,OAAAA,CAAQ,CAAA,EAAGH,QAAQI,GAAG,EAAA,CAAG,aAAa,CAAC,CAAA;AACvD,QAAA,IACE,CAACC,GAAAA,CAAIH,OAAAA,EAAS,kCACd,CAACG,GAAAA,CAAIH,SAAS,gCAAA,CAAA,EACd;AACAP,YAAAA,eAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA,CAAE,OAAM;AACNA,QAAAA,eAAAA,EAAAA;AACF,IAAA;AACF,CAAA;AAEA,MAAMW,SAAAA,GACJ,CAACZ,IAAAA,EAAca,MAAAA,GACf,CAAC,GAAGC,IAAAA,GAAAA;QACFf,8BAAAA,CAA+BC,IAAAA,CAAAA;QAE/Be,OAAAA,CAAQC,OAAO,EAAA,CACZC,IAAI,CAAC,IAAA;AACJ,YAAA,OAAOJ,MAAAA,CAAAA,GAAUC,IAAAA,CAAAA;QACnB,CAAA,CAAA,CACCI,KAAK,CAAC,CAACC,KAAAA,GAAAA;AACNjB,YAAAA,OAAAA,CAAQiB,KAAK,CAACA,KAAAA,CAAAA;AACdb,YAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf,QAAA,CAAA,CAAA;AACJ,IAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/cloud-cli",
3
- "version": "5.55.1",
3
+ "version": "5.57.0",
4
4
  "description": "Commands to interact with the Strapi Cloud",
5
5
  "keywords": [
6
6
  "strapi",
@@ -50,7 +50,7 @@
50
50
  "test:unit:vitest:watch": "vitest --watch"
51
51
  },
52
52
  "dependencies": {
53
- "@strapi/utils": "5.55.1",
53
+ "@strapi/utils": "5.57.0",
54
54
  "axios": "1.19.0",
55
55
  "boxen": "5.1.2",
56
56
  "chalk": "4.1.2",
@@ -76,10 +76,10 @@
76
76
  "@types/eventsource": "1.1.15",
77
77
  "@types/lodash": "^4.14.191",
78
78
  "@types/node": "20.19.41",
79
- "eslint-config-custom": "5.55.1",
80
- "tsconfig": "5.55.1",
79
+ "eslint-config-custom": "5.57.0",
80
+ "tsconfig": "5.57.0",
81
81
  "vitest": "catalog:",
82
- "vitest-config": "5.55.1"
82
+ "vitest-config": "5.57.0"
83
83
  },
84
84
  "engines": {
85
85
  "node": ">=20.0.0 <=26.x.x",