@strapi/cloud-cli 5.18.0 → 5.19.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.
- package/dist/create-project/action.d.ts +2 -2
- package/dist/create-project/action.d.ts.map +1 -1
- package/dist/create-project/action.js +38 -11
- package/dist/create-project/action.js.map +1 -1
- package/dist/create-project/action.mjs +39 -12
- package/dist/create-project/action.mjs.map +1 -1
- package/dist/deploy-project/action.d.ts.map +1 -1
- package/dist/deploy-project/action.js +54 -17
- package/dist/deploy-project/action.js.map +1 -1
- package/dist/deploy-project/action.mjs +55 -18
- package/dist/deploy-project/action.mjs.map +1 -1
- package/dist/package.json.js +4 -4
- package/dist/package.json.mjs +4 -4
- package/dist/services/build-logs.d.ts.map +1 -1
- package/dist/services/build-logs.js +7 -7
- package/dist/services/build-logs.js.map +1 -1
- package/dist/services/build-logs.mjs +7 -7
- package/dist/services/build-logs.mjs.map +1 -1
- package/dist/services/cli-api.d.ts +7 -2
- package/dist/services/cli-api.d.ts.map +1 -1
- package/dist/services/cli-api.js +2 -3
- package/dist/services/cli-api.js.map +1 -1
- package/dist/services/cli-api.mjs +2 -3
- package/dist/services/cli-api.mjs.map +1 -1
- package/dist/services/notification.d.ts +4 -1
- package/dist/services/notification.d.ts.map +1 -1
- package/dist/services/notification.js +44 -2
- package/dist/services/notification.js.map +1 -1
- package/dist/services/notification.mjs +44 -2
- package/dist/services/notification.mjs.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/compress-files.d.ts.map +1 -1
- package/dist/utils/compress-files.js +2 -0
- package/dist/utils/compress-files.js.map +1 -1
- package/dist/utils/compress-files.mjs +2 -0
- package/dist/utils/compress-files.mjs.map +1 -1
- package/dist/utils/error-message-factories.d.ts +9 -0
- package/dist/utils/error-message-factories.d.ts.map +1 -0
- package/dist/utils/error-message-factories.js +25 -0
- package/dist/utils/error-message-factories.js.map +1 -0
- package/dist/utils/error-message-factories.mjs +22 -0
- package/dist/utils/error-message-factories.mjs.map +1 -0
- package/package.json +4 -4
|
@@ -9,7 +9,7 @@ import { apiConfig } from '../config/api.mjs';
|
|
|
9
9
|
import { compressFilesToTar } from '../utils/compress-files.mjs';
|
|
10
10
|
import action$1 from '../create-project/action.mjs';
|
|
11
11
|
import { getTmpStoragePath } from '../config/local.mjs';
|
|
12
|
-
import { cloudApiFactory } from '../services/cli-api.mjs';
|
|
12
|
+
import { cloudApiFactory, VERSION } from '../services/cli-api.mjs';
|
|
13
13
|
import { retrieve } from '../services/strapi-info-save.mjs';
|
|
14
14
|
import { tokenServiceFactory } from '../services/token.mjs';
|
|
15
15
|
import 'fast-safe-stringify';
|
|
@@ -20,6 +20,7 @@ import { loadPkg } from '../utils/pkg.mjs';
|
|
|
20
20
|
import { buildLogsServiceFactory } from '../services/build-logs.mjs';
|
|
21
21
|
import { promptLogin } from '../login/action.mjs';
|
|
22
22
|
import { trackEvent } from '../utils/analytics.mjs';
|
|
23
|
+
import { environmentErrorMessageFactory, environmentCreationErrorFactory } from '../utils/error-message-factories.mjs';
|
|
23
24
|
|
|
24
25
|
const boxenOptions = {
|
|
25
26
|
padding: 1,
|
|
@@ -53,7 +54,7 @@ async function promptForEnvironment(environments) {
|
|
|
53
54
|
}
|
|
54
55
|
return selectedEnvironment;
|
|
55
56
|
}
|
|
56
|
-
async function upload(ctx, project, token, maxProjectFileSize) {
|
|
57
|
+
async function upload(ctx, project, cliConfig, token, maxProjectFileSize) {
|
|
57
58
|
const cloudApi = await cloudApiFactory(ctx, token);
|
|
58
59
|
try {
|
|
59
60
|
const storagePath = await getTmpStoragePath();
|
|
@@ -63,16 +64,17 @@ async function upload(ctx, project, token, maxProjectFileSize) {
|
|
|
63
64
|
ctx.logger.error('Unable to deploy the project. Please make sure the package.json file is correctly formatted.');
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
|
-
ctx.logger.
|
|
67
|
+
const compressSpinner = ctx.logger.spinner('Compressing project...').start();
|
|
68
|
+
compressSpinner.indent = 1;
|
|
67
69
|
// hash packageJson.name to avoid conflicts
|
|
68
70
|
const hashname = crypto.createHash('sha512').update(packageJson.name).digest('hex');
|
|
69
71
|
const compressedFilename = `${hashname}.tar.gz`;
|
|
70
72
|
try {
|
|
71
73
|
ctx.logger.debug('Compression parameters\n', `Storage path: ${storagePath}\n`, `Project folder: ${projectFolder}\n`, `Compressed filename: ${compressedFilename}`);
|
|
72
74
|
await compressFilesToTar(storagePath, projectFolder, compressedFilename);
|
|
73
|
-
|
|
75
|
+
compressSpinner.succeed(`Project compressed successfully!`);
|
|
74
76
|
} catch (e) {
|
|
75
|
-
|
|
77
|
+
compressSpinner.fail('Project compression failed. Try again later or check for large/incompatible files.');
|
|
76
78
|
ctx.logger.debug(e);
|
|
77
79
|
process.exit(1);
|
|
78
80
|
}
|
|
@@ -88,8 +90,7 @@ async function upload(ctx, project, token, maxProjectFileSize) {
|
|
|
88
90
|
}
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
|
-
ctx.logger.
|
|
92
|
-
const progressBar = ctx.logger.progressBar(100, 'Upload Progress');
|
|
93
|
+
const progressBar = ctx.logger.progressBar(100, ' ∷ Uploading project');
|
|
93
94
|
try {
|
|
94
95
|
const { data } = await cloudApi.deploy({
|
|
95
96
|
filePath: tarFilePath,
|
|
@@ -103,12 +104,11 @@ async function upload(ctx, project, token, maxProjectFileSize) {
|
|
|
103
104
|
});
|
|
104
105
|
progressBar.update(100);
|
|
105
106
|
progressBar.stop();
|
|
106
|
-
ctx.logger.
|
|
107
|
+
ctx.logger.log(`${chalk.green.bold('✔')} Upload finished!\n`);
|
|
107
108
|
return data.build_id;
|
|
108
109
|
} catch (e) {
|
|
109
110
|
progressBar.stop();
|
|
110
|
-
ctx
|
|
111
|
-
ctx.logger.debug(e);
|
|
111
|
+
await handleUploadError(ctx, e, project, cliConfig);
|
|
112
112
|
} finally{
|
|
113
113
|
await fse__default.remove(tarFilePath);
|
|
114
114
|
}
|
|
@@ -119,11 +119,37 @@ async function upload(ctx, project, token, maxProjectFileSize) {
|
|
|
119
119
|
process.exit(1);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
+
async function handleUploadError(ctx, error, project, cliConfig) {
|
|
123
|
+
const { logger } = ctx;
|
|
124
|
+
logger.debug(error);
|
|
125
|
+
if (error.response?.status) {
|
|
126
|
+
switch(error.response.status){
|
|
127
|
+
case 405:
|
|
128
|
+
{
|
|
129
|
+
const environmentErrorMessage = environmentErrorMessageFactory({
|
|
130
|
+
projectName: project.name,
|
|
131
|
+
firstLine: cliConfig.projectDeployment.errors.environmentNotReady.firstLine,
|
|
132
|
+
secondLine: cliConfig.projectDeployment.errors.environmentNotReady.secondLine
|
|
133
|
+
});
|
|
134
|
+
logger.log(environmentCreationErrorFactory(environmentErrorMessage));
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
case 413:
|
|
138
|
+
logger.error('The project you are trying to upload is too big. Please remove unnecessary files and try again.');
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
logger.error('An error occurred while deploying the project. Please try again later.');
|
|
143
|
+
}
|
|
122
144
|
async function getProject(ctx) {
|
|
123
145
|
const { project } = await retrieve();
|
|
124
146
|
if (!project) {
|
|
125
147
|
try {
|
|
126
|
-
|
|
148
|
+
const projectResponse = await action$1(ctx);
|
|
149
|
+
if (projectResponse) {
|
|
150
|
+
const { project: projectSaved } = await retrieve();
|
|
151
|
+
return projectSaved;
|
|
152
|
+
}
|
|
127
153
|
} catch (e) {
|
|
128
154
|
ctx.logger.error('An error occurred while deploying the project. Please try again later.');
|
|
129
155
|
ctx.logger.debug(e);
|
|
@@ -175,7 +201,7 @@ var action = (async (ctx, opts)=>{
|
|
|
175
201
|
}
|
|
176
202
|
const project = await getProject(ctx);
|
|
177
203
|
if (!project) {
|
|
178
|
-
|
|
204
|
+
process.exit(1);
|
|
179
205
|
}
|
|
180
206
|
const cloudApiService = await cloudApiFactory(ctx, token);
|
|
181
207
|
let projectData;
|
|
@@ -242,16 +268,23 @@ var action = (async (ctx, opts)=>{
|
|
|
242
268
|
}
|
|
243
269
|
}
|
|
244
270
|
}
|
|
245
|
-
const buildId = await upload(ctx, project, token, maxSize);
|
|
271
|
+
const buildId = await upload(ctx, project, cliConfig, token, maxSize);
|
|
246
272
|
if (!buildId) {
|
|
247
273
|
return;
|
|
248
274
|
}
|
|
275
|
+
let notifications = null;
|
|
249
276
|
try {
|
|
250
|
-
ctx.logger.log(
|
|
251
|
-
notificationService(`${apiConfig.apiBaseUrl}/notifications`, token, cliConfig);
|
|
252
|
-
await buildLogsService(`${apiConfig.apiBaseUrl}/
|
|
253
|
-
|
|
254
|
-
ctx.logger.log(
|
|
277
|
+
ctx.logger.log(`∷ Deploying project to ${chalk.cyan(project.targetEnvironment ?? `production`)} environment...`);
|
|
278
|
+
notifications = notificationService(`${apiConfig.apiBaseUrl}/${VERSION}/notifications`, token, cliConfig);
|
|
279
|
+
await buildLogsService(`${apiConfig.apiBaseUrl}/${VERSION}/logs/${buildId}`, token, cliConfig);
|
|
280
|
+
const dashboardUrlLine = chalk.cyan(' → ') + chalk.cyan.underline(`${apiConfig.dashboardBaseUrl}/projects/${project.name}/deployments`);
|
|
281
|
+
ctx.logger.log(boxen(`Project and deployment logs ready at:\n${dashboardUrlLine}`, {
|
|
282
|
+
padding: 1,
|
|
283
|
+
margin: 1,
|
|
284
|
+
borderStyle: 'round',
|
|
285
|
+
borderColor: 'white',
|
|
286
|
+
titleAlignment: 'left'
|
|
287
|
+
}));
|
|
255
288
|
} catch (e) {
|
|
256
289
|
ctx.logger.debug(e);
|
|
257
290
|
if (e instanceof Error) {
|
|
@@ -259,6 +292,10 @@ var action = (async (ctx, opts)=>{
|
|
|
259
292
|
} else {
|
|
260
293
|
ctx.logger.error('An error occurred while deploying the project. Please try again later.');
|
|
261
294
|
}
|
|
295
|
+
} finally{
|
|
296
|
+
if (notifications) {
|
|
297
|
+
notifications.close();
|
|
298
|
+
}
|
|
262
299
|
}
|
|
263
300
|
});
|
|
264
301
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.mjs","sources":["../../src/deploy-project/action.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport inquirer from 'inquirer';\nimport boxen from 'boxen';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { AxiosError } from 'axios';\nimport * as crypto from 'node:crypto';\nimport { apiConfig } from '../config/api';\nimport { compressFilesToTar } from '../utils/compress-files';\nimport createProjectAction from '../create-project/action';\nimport type {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n EnvironmentDetails,\n ProjectInfo,\n} from '../types';\nimport { getTmpStoragePath } from '../config/local';\nimport { cloudApiFactory, tokenServiceFactory, local } from '../services';\nimport { notificationServiceFactory } from '../services/notification';\nimport { loadPkg } from '../utils/pkg';\nimport { buildLogsServiceFactory } from '../services/build-logs';\nimport { promptLogin } from '../login/action';\nimport { trackEvent } from '../utils/analytics';\n\ntype PackageJson = {\n name: string;\n strapi?: {\n uuid: string;\n };\n};\n\ninterface CmdOptions {\n env?: string;\n force?: boolean;\n}\n\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst QUIT_OPTION = 'Quit';\n\nasync function promptForEnvironment(environments: string[]): Promise<string> {\n const choices = environments.map((env) => ({ name: env, value: env }));\n const { selectedEnvironment } = await inquirer.prompt([\n {\n type: 'list',\n name: 'selectedEnvironment',\n message: 'Select the environment to deploy:',\n choices: [...choices, { name: chalk.grey(`(${QUIT_OPTION})`), value: null }],\n },\n ]);\n if (selectedEnvironment === null) {\n process.exit(1);\n }\n\n return selectedEnvironment;\n}\n\nasync function upload(\n ctx: CLIContext,\n project: ProjectInfo,\n token: string,\n maxProjectFileSize: number\n) {\n const cloudApi = await cloudApiFactory(ctx, token);\n try {\n const storagePath = await getTmpStoragePath();\n const projectFolder = path.resolve(process.cwd());\n const packageJson = (await loadPkg(ctx)) as PackageJson;\n\n if (!packageJson) {\n ctx.logger.error(\n 'Unable to deploy the project. Please make sure the package.json file is correctly formatted.'\n );\n return;\n }\n\n ctx.logger.log('📦 Compressing project...');\n // hash packageJson.name to avoid conflicts\n const hashname = crypto.createHash('sha512').update(packageJson.name).digest('hex');\n const compressedFilename = `${hashname}.tar.gz`;\n try {\n ctx.logger.debug(\n 'Compression parameters\\n',\n `Storage path: ${storagePath}\\n`,\n `Project folder: ${projectFolder}\\n`,\n `Compressed filename: ${compressedFilename}`\n );\n await compressFilesToTar(storagePath, projectFolder, compressedFilename);\n ctx.logger.log('📦 Project compressed successfully!');\n } catch (e: unknown) {\n ctx.logger.error(\n '⚠️ Project compression failed. Try again later or check for large/incompatible files.'\n );\n ctx.logger.debug(e);\n process.exit(1);\n }\n\n const tarFilePath = path.resolve(storagePath, compressedFilename);\n const fileStats = await fse.stat(tarFilePath);\n\n if (fileStats.size > maxProjectFileSize) {\n ctx.logger.log(\n 'Unable to proceed: Your project is too big to be transferred, please use a git repo instead.'\n );\n try {\n await fse.remove(tarFilePath);\n } catch (e: any) {\n ctx.logger.log('Unable to remove file: ', tarFilePath);\n ctx.logger.debug(e);\n }\n return;\n }\n\n ctx.logger.info('🚀 Uploading project...');\n const progressBar = ctx.logger.progressBar(100, 'Upload Progress');\n\n try {\n const { data } = await cloudApi.deploy(\n { filePath: tarFilePath, project },\n {\n onUploadProgress(progressEvent) {\n const total = progressEvent.total || fileStats.size;\n const percentage = Math.round((progressEvent.loaded * 100) / total);\n progressBar.update(percentage);\n },\n }\n );\n\n progressBar.update(100);\n progressBar.stop();\n ctx.logger.success('✨ Upload finished!');\n return data.build_id;\n } catch (e: any) {\n progressBar.stop();\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n ctx.logger.debug(e);\n } finally {\n await fse.remove(tarFilePath);\n }\n process.exit(0);\n } catch (e: any) {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n ctx.logger.debug(e);\n process.exit(1);\n }\n}\n\nasync function getProject(ctx: CLIContext) {\n const { project } = await local.retrieve();\n if (!project) {\n try {\n return await createProjectAction(ctx);\n } catch (e: any) {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n ctx.logger.debug(e);\n process.exit(1);\n }\n }\n return project;\n}\n\nasync function getConfig({\n ctx,\n cloudApiService,\n}: {\n ctx: CLIContext;\n cloudApiService: CloudApiService;\n}): Promise<CloudCliConfig | null> {\n try {\n const { data: cliConfig } = await cloudApiService.config();\n return cliConfig;\n } catch (e) {\n ctx.logger.debug('Failed to get cli config', e);\n return null;\n }\n}\n\nfunction validateEnvironment(ctx: CLIContext, environment: string, environments: string[]): void {\n if (!environments.includes(environment)) {\n ctx.logger.error(`Environment ${environment} does not exist.`);\n process.exit(1);\n }\n}\n\nasync function getTargetEnvironment(\n ctx: CLIContext,\n opts: CmdOptions,\n project: ProjectInfo,\n environments: string[]\n): Promise<string> {\n if (opts.env) {\n validateEnvironment(ctx, opts.env, environments);\n return opts.env;\n }\n\n if (project.targetEnvironment) {\n return project.targetEnvironment;\n }\n\n if (environments.length > 1) {\n return promptForEnvironment(environments);\n }\n\n return environments[0];\n}\n\nfunction hasPendingOrLiveDeployment(\n environments: EnvironmentDetails[],\n targetEnvironment: string\n): boolean {\n const environment = environments.find((env) => env.name === targetEnvironment);\n if (!environment) {\n throw new Error(`Environment details ${targetEnvironment} not found.`);\n }\n return environment.hasPendingDeployment || environment.hasLiveDeployment || false;\n}\n\nexport default async (ctx: CLIContext, opts: CmdOptions) => {\n const { getValidToken } = await tokenServiceFactory(ctx);\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const project = await getProject(ctx);\n if (!project) {\n return;\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n let projectData;\n let environments: string[];\n let environmentsDetails: EnvironmentDetails[];\n\n try {\n const {\n data: { data, metadata },\n } = await cloudApiService.getProject({ name: project.name });\n projectData = data;\n environments = projectData.environments;\n environmentsDetails = projectData.environmentsDetails;\n const isProjectSuspended = projectData.suspendedAt;\n\n if (isProjectSuspended) {\n ctx.logger.log(\n '\\n Oops! This project has been suspended. \\n\\n Please reactivate it from the dashboard to continue deploying: '\n );\n ctx.logger.log(chalk.underline(`${metadata.dashboardUrls.project}`));\n return;\n }\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.data) {\n if (e.response.status === 404) {\n ctx.logger.warn(\n `The 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 before deploying.`\n );\n } else {\n ctx.logger.error(e.response.data);\n }\n } else {\n ctx.logger.error(\n \"An error occurred while retrieving the project's information. Please try again later.\"\n );\n }\n ctx.logger.debug(e);\n return;\n }\n\n await trackEvent(ctx, cloudApiService, 'willDeployWithCLI', {\n projectInternalName: project.name,\n });\n\n const notificationService = notificationServiceFactory(ctx);\n const buildLogsService = buildLogsServiceFactory(ctx);\n\n const cliConfig = await getConfig({ ctx, cloudApiService });\n if (!cliConfig) {\n ctx.logger.error(\n 'An error occurred while retrieving data from Strapi Cloud. Please check your network or try again later.'\n );\n return;\n }\n\n let maxSize: number = parseInt(cliConfig.maxProjectFileSize, 10);\n if (Number.isNaN(maxSize)) {\n ctx.logger.debug(\n 'An error occurred while parsing the maxProjectFileSize. Using default value.'\n );\n maxSize = 100000000;\n }\n\n project.targetEnvironment = await getTargetEnvironment(ctx, opts, project, environments);\n\n if (!opts.force) {\n const shouldDisplayWarning = hasPendingOrLiveDeployment(\n environmentsDetails,\n project.targetEnvironment\n );\n if (shouldDisplayWarning) {\n ctx.logger.log(boxen(cliConfig.projectDeployment.confirmationText, boxenOptions));\n const { confirm } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'confirm',\n message: `Do you want to proceed with deployment to ${chalk.cyan(projectData.displayName)} on ${chalk.cyan(project.targetEnvironment)} environment?`,\n },\n ]);\n if (!confirm) {\n process.exit(1);\n }\n }\n }\n\n const buildId = await upload(ctx, project, token, maxSize);\n\n if (!buildId) {\n return;\n }\n\n try {\n ctx.logger.log(\n `🚀 Deploying project to ${chalk.cyan(project.targetEnvironment ?? `production`)} environment...`\n );\n notificationService(`${apiConfig.apiBaseUrl}/notifications`, token, cliConfig);\n await buildLogsService(`${apiConfig.apiBaseUrl}/v1/logs/${buildId}`, token, cliConfig);\n\n ctx.logger.log(\n 'Visit the following URL for deployment logs. Your deployment will be available here shortly.'\n );\n ctx.logger.log(\n chalk.underline(`${apiConfig.dashboardBaseUrl}/projects/${project.name}/deployments`)\n );\n } catch (e: Error | unknown) {\n ctx.logger.debug(e);\n if (e instanceof Error) {\n ctx.logger.error(e.message);\n } else {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n }\n }\n};\n"],"names":["boxenOptions","padding","margin","align","borderColor","borderStyle","QUIT_OPTION","promptForEnvironment","environments","choices","map","env","name","value","selectedEnvironment","inquirer","prompt","type","message","chalk","grey","process","exit","upload","ctx","project","token","maxProjectFileSize","cloudApi","cloudApiFactory","storagePath","getTmpStoragePath","projectFolder","path","resolve","cwd","packageJson","loadPkg","logger","error","log","hashname","crypto","createHash","update","digest","compressedFilename","debug","compressFilesToTar","e","tarFilePath","fileStats","fse","stat","size","remove","info","progressBar","data","deploy","filePath","onUploadProgress","progressEvent","total","percentage","Math","round","loaded","stop","success","build_id","getProject","local","createProjectAction","getConfig","cloudApiService","cliConfig","config","validateEnvironment","environment","includes","getTargetEnvironment","opts","targetEnvironment","length","hasPendingOrLiveDeployment","find","Error","hasPendingDeployment","hasLiveDeployment","getValidToken","tokenServiceFactory","promptLogin","projectData","environmentsDetails","metadata","isProjectSuspended","suspendedAt","underline","dashboardUrls","AxiosError","response","status","warn","cyan","trackEvent","projectInternalName","notificationService","notificationServiceFactory","buildLogsService","buildLogsServiceFactory","maxSize","parseInt","Number","isNaN","force","shouldDisplayWarning","boxen","projectDeployment","confirmationText","confirm","displayName","buildId","apiConfig","apiBaseUrl","dashboardBaseUrl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.mjs","sources":["../../src/deploy-project/action.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport inquirer from 'inquirer';\nimport boxen from 'boxen';\nimport path from 'path';\nimport chalk from 'chalk';\nimport { AxiosError } from 'axios';\nimport * as crypto from 'node:crypto';\nimport { apiConfig } from '../config/api';\nimport { compressFilesToTar } from '../utils/compress-files';\nimport createProjectAction from '../create-project/action';\nimport type {\n CLIContext,\n CloudApiService,\n CloudCliConfig,\n EnvironmentDetails,\n ProjectInfo,\n} from '../types';\nimport { getTmpStoragePath } from '../config/local';\nimport { cloudApiFactory, tokenServiceFactory, local } from '../services';\nimport { VERSION } from '../services/cli-api';\nimport { notificationServiceFactory } from '../services/notification';\nimport { loadPkg } from '../utils/pkg';\nimport { buildLogsServiceFactory } from '../services/build-logs';\nimport { promptLogin } from '../login/action';\nimport { trackEvent } from '../utils/analytics';\nimport {\n environmentCreationErrorFactory,\n environmentErrorMessageFactory,\n} from '../utils/error-message-factories';\n\ntype PackageJson = {\n name: string;\n strapi?: {\n uuid: string;\n };\n};\n\ninterface CmdOptions {\n env?: string;\n force?: boolean;\n}\n\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst QUIT_OPTION = 'Quit';\n\nasync function promptForEnvironment(environments: string[]): Promise<string> {\n const choices = environments.map((env) => ({ name: env, value: env }));\n const { selectedEnvironment } = await inquirer.prompt([\n {\n type: 'list',\n name: 'selectedEnvironment',\n message: 'Select the environment to deploy:',\n choices: [...choices, { name: chalk.grey(`(${QUIT_OPTION})`), value: null }],\n },\n ]);\n if (selectedEnvironment === null) {\n process.exit(1);\n }\n\n return selectedEnvironment;\n}\n\nasync function upload(\n ctx: CLIContext,\n project: Omit<ProjectInfo, 'id'>,\n cliConfig: CloudCliConfig,\n token: string,\n maxProjectFileSize: number\n) {\n const cloudApi = await cloudApiFactory(ctx, token);\n try {\n const storagePath = await getTmpStoragePath();\n const projectFolder = path.resolve(process.cwd());\n const packageJson = (await loadPkg(ctx)) as PackageJson;\n\n if (!packageJson) {\n ctx.logger.error(\n 'Unable to deploy the project. Please make sure the package.json file is correctly formatted.'\n );\n return;\n }\n\n const compressSpinner = ctx.logger.spinner('Compressing project...').start();\n compressSpinner.indent = 1;\n // hash packageJson.name to avoid conflicts\n const hashname = crypto.createHash('sha512').update(packageJson.name).digest('hex');\n const compressedFilename = `${hashname}.tar.gz`;\n try {\n ctx.logger.debug(\n 'Compression parameters\\n',\n `Storage path: ${storagePath}\\n`,\n `Project folder: ${projectFolder}\\n`,\n `Compressed filename: ${compressedFilename}`\n );\n await compressFilesToTar(storagePath, projectFolder, compressedFilename);\n compressSpinner.succeed(`Project compressed successfully!`);\n } catch (e: unknown) {\n compressSpinner.fail(\n 'Project compression failed. Try again later or check for large/incompatible files.'\n );\n ctx.logger.debug(e);\n process.exit(1);\n }\n\n const tarFilePath = path.resolve(storagePath, compressedFilename);\n const fileStats = await fse.stat(tarFilePath);\n\n if (fileStats.size > maxProjectFileSize) {\n ctx.logger.log(\n 'Unable to proceed: Your project is too big to be transferred, please use a git repo instead.'\n );\n try {\n await fse.remove(tarFilePath);\n } catch (e: any) {\n ctx.logger.log('Unable to remove file: ', tarFilePath);\n ctx.logger.debug(e);\n }\n return;\n }\n\n const progressBar = ctx.logger.progressBar(100, ' ∷ Uploading project');\n\n try {\n const { data } = await cloudApi.deploy(\n { filePath: tarFilePath, project },\n {\n onUploadProgress(progressEvent) {\n const total = progressEvent.total || fileStats.size;\n const percentage = Math.round((progressEvent.loaded * 100) / total);\n progressBar.update(percentage);\n },\n }\n );\n\n progressBar.update(100);\n progressBar.stop();\n ctx.logger.log(`${chalk.green.bold('✔')} Upload finished!\\n`);\n return data.build_id;\n } catch (e: any) {\n progressBar.stop();\n await handleUploadError(ctx, e, project, cliConfig);\n } finally {\n await fse.remove(tarFilePath);\n }\n process.exit(0);\n } catch (e: any) {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n ctx.logger.debug(e);\n process.exit(1);\n }\n}\n\nasync function handleUploadError(\n ctx: CLIContext,\n error: any,\n project: any,\n cliConfig: CloudCliConfig\n) {\n const { logger } = ctx;\n logger.debug(error);\n\n if (error.response?.status) {\n switch (error.response.status) {\n case 405: {\n const environmentErrorMessage = environmentErrorMessageFactory({\n projectName: project.name,\n firstLine: cliConfig.projectDeployment.errors.environmentNotReady.firstLine,\n secondLine: cliConfig.projectDeployment.errors.environmentNotReady.secondLine,\n });\n logger.log(environmentCreationErrorFactory(environmentErrorMessage));\n return;\n }\n case 413:\n logger.error(\n 'The project you are trying to upload is too big. Please remove unnecessary files and try again.'\n );\n return;\n default:\n break;\n }\n }\n logger.error('An error occurred while deploying the project. Please try again later.');\n}\n\nasync function getProject(ctx: CLIContext) {\n const { project } = await local.retrieve();\n if (!project) {\n try {\n const projectResponse = await createProjectAction(ctx);\n if (projectResponse) {\n const { project: projectSaved } = await local.retrieve();\n return projectSaved;\n }\n } catch (e: any) {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n ctx.logger.debug(e);\n process.exit(1);\n }\n }\n return project;\n}\n\nasync function getConfig({\n ctx,\n cloudApiService,\n}: {\n ctx: CLIContext;\n cloudApiService: CloudApiService;\n}): Promise<CloudCliConfig | null> {\n try {\n const { data: cliConfig } = await cloudApiService.config();\n return cliConfig;\n } catch (e) {\n ctx.logger.debug('Failed to get cli config', e);\n return null;\n }\n}\n\nfunction validateEnvironment(ctx: CLIContext, environment: string, environments: string[]): void {\n if (!environments.includes(environment)) {\n ctx.logger.error(`Environment ${environment} does not exist.`);\n process.exit(1);\n }\n}\n\nasync function getTargetEnvironment(\n ctx: CLIContext,\n opts: CmdOptions,\n project: Omit<ProjectInfo, 'id'>,\n environments: string[]\n): Promise<string> {\n if (opts.env) {\n validateEnvironment(ctx, opts.env, environments);\n return opts.env;\n }\n\n if (project.targetEnvironment) {\n return project.targetEnvironment;\n }\n\n if (environments.length > 1) {\n return promptForEnvironment(environments);\n }\n\n return environments[0];\n}\n\nfunction hasPendingOrLiveDeployment(\n environments: EnvironmentDetails[],\n targetEnvironment: string\n): boolean {\n const environment = environments.find((env) => env.name === targetEnvironment);\n if (!environment) {\n throw new Error(`Environment details ${targetEnvironment} not found.`);\n }\n return environment.hasPendingDeployment || environment.hasLiveDeployment || false;\n}\n\nexport default async (ctx: CLIContext, opts: CmdOptions) => {\n const { getValidToken } = await tokenServiceFactory(ctx);\n const token = await getValidToken(ctx, promptLogin);\n if (!token) {\n return;\n }\n\n const project = await getProject(ctx);\n if (!project) {\n process.exit(1);\n }\n\n const cloudApiService = await cloudApiFactory(ctx, token);\n let projectData;\n let environments: string[];\n let environmentsDetails: EnvironmentDetails[];\n\n try {\n const {\n data: { data, metadata },\n } = await cloudApiService.getProject({ name: project.name });\n projectData = data;\n environments = projectData.environments;\n environmentsDetails = projectData.environmentsDetails;\n const isProjectSuspended = projectData.suspendedAt;\n\n if (isProjectSuspended) {\n ctx.logger.log(\n '\\n Oops! This project has been suspended. \\n\\n Please reactivate it from the dashboard to continue deploying: '\n );\n ctx.logger.log(chalk.underline(`${metadata.dashboardUrls.project}`));\n return;\n }\n } catch (e: Error | unknown) {\n if (e instanceof AxiosError && e.response?.data) {\n if (e.response.status === 404) {\n ctx.logger.warn(\n `The 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 before deploying.`\n );\n } else {\n ctx.logger.error(e.response.data);\n }\n } else {\n ctx.logger.error(\n \"An error occurred while retrieving the project's information. Please try again later.\"\n );\n }\n ctx.logger.debug(e);\n return;\n }\n\n await trackEvent(ctx, cloudApiService, 'willDeployWithCLI', {\n projectInternalName: project.name,\n });\n\n const notificationService = notificationServiceFactory(ctx);\n const buildLogsService = buildLogsServiceFactory(ctx);\n\n const cliConfig = await getConfig({ ctx, cloudApiService });\n if (!cliConfig) {\n ctx.logger.error(\n 'An error occurred while retrieving data from Strapi Cloud. Please check your network or try again later.'\n );\n return;\n }\n\n let maxSize: number = parseInt(cliConfig.maxProjectFileSize, 10);\n if (Number.isNaN(maxSize)) {\n ctx.logger.debug(\n 'An error occurred while parsing the maxProjectFileSize. Using default value.'\n );\n maxSize = 100000000;\n }\n\n project.targetEnvironment = await getTargetEnvironment(ctx, opts, project, environments);\n\n if (!opts.force) {\n const shouldDisplayWarning = hasPendingOrLiveDeployment(\n environmentsDetails,\n project.targetEnvironment\n );\n if (shouldDisplayWarning) {\n ctx.logger.log(boxen(cliConfig.projectDeployment.confirmationText, boxenOptions));\n const { confirm } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'confirm',\n message: `Do you want to proceed with deployment to ${chalk.cyan(projectData.displayName)} on ${chalk.cyan(project.targetEnvironment)} environment?`,\n },\n ]);\n if (!confirm) {\n process.exit(1);\n }\n }\n }\n\n const buildId = await upload(ctx, project, cliConfig, token, maxSize);\n\n if (!buildId) {\n return;\n }\n\n let notifications: ReturnType<typeof notificationService> | null = null;\n\n try {\n ctx.logger.log(\n `∷ Deploying project to ${chalk.cyan(project.targetEnvironment ?? `production`)} environment...`\n );\n\n notifications = notificationService(\n `${apiConfig.apiBaseUrl}/${VERSION}/notifications`,\n token,\n cliConfig\n );\n\n await buildLogsService(`${apiConfig.apiBaseUrl}/${VERSION}/logs/${buildId}`, token, cliConfig);\n const dashboardUrlLine =\n chalk.cyan(' → ') +\n chalk.cyan.underline(`${apiConfig.dashboardBaseUrl}/projects/${project.name}/deployments`);\n ctx.logger.log(\n boxen(`Project and deployment logs ready at:\\n${dashboardUrlLine}`, {\n padding: 1,\n margin: 1,\n borderStyle: 'round',\n borderColor: 'white',\n titleAlignment: 'left',\n })\n );\n } catch (e: Error | unknown) {\n ctx.logger.debug(e);\n if (e instanceof Error) {\n ctx.logger.error(e.message);\n } else {\n ctx.logger.error('An error occurred while deploying the project. Please try again later.');\n }\n } finally {\n if (notifications) {\n notifications.close();\n }\n }\n};\n"],"names":["boxenOptions","padding","margin","align","borderColor","borderStyle","QUIT_OPTION","promptForEnvironment","environments","choices","map","env","name","value","selectedEnvironment","inquirer","prompt","type","message","chalk","grey","process","exit","upload","ctx","project","cliConfig","token","maxProjectFileSize","cloudApi","cloudApiFactory","storagePath","getTmpStoragePath","projectFolder","path","resolve","cwd","packageJson","loadPkg","logger","error","compressSpinner","spinner","start","indent","hashname","crypto","createHash","update","digest","compressedFilename","debug","compressFilesToTar","succeed","e","fail","tarFilePath","fileStats","fse","stat","size","log","remove","progressBar","data","deploy","filePath","onUploadProgress","progressEvent","total","percentage","Math","round","loaded","stop","green","bold","build_id","handleUploadError","response","status","environmentErrorMessage","environmentErrorMessageFactory","projectName","firstLine","projectDeployment","errors","environmentNotReady","secondLine","environmentCreationErrorFactory","getProject","local","projectResponse","createProjectAction","projectSaved","getConfig","cloudApiService","config","validateEnvironment","environment","includes","getTargetEnvironment","opts","targetEnvironment","length","hasPendingOrLiveDeployment","find","Error","hasPendingDeployment","hasLiveDeployment","getValidToken","tokenServiceFactory","promptLogin","projectData","environmentsDetails","metadata","isProjectSuspended","suspendedAt","underline","dashboardUrls","AxiosError","warn","cyan","trackEvent","projectInternalName","notificationService","notificationServiceFactory","buildLogsService","buildLogsServiceFactory","maxSize","parseInt","Number","isNaN","force","shouldDisplayWarning","boxen","confirmationText","confirm","displayName","buildId","notifications","apiConfig","apiBaseUrl","VERSION","dashboardUrlLine","dashboardBaseUrl","titleAlignment","close"],"mappings":"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"}
|
package/dist/package.json.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var name = "@strapi/cloud-cli";
|
|
6
|
-
var version = "5.
|
|
6
|
+
var version = "5.19.0";
|
|
7
7
|
var description = "Commands to interact with the Strapi Cloud";
|
|
8
8
|
var keywords = [
|
|
9
9
|
"strapi",
|
|
@@ -50,7 +50,7 @@ var scripts = {
|
|
|
50
50
|
watch: "run -T rollup -c -w"
|
|
51
51
|
};
|
|
52
52
|
var dependencies = {
|
|
53
|
-
"@strapi/utils": "5.
|
|
53
|
+
"@strapi/utils": "5.19.0",
|
|
54
54
|
axios: "1.8.4",
|
|
55
55
|
boxen: "5.1.2",
|
|
56
56
|
chalk: "4.1.2",
|
|
@@ -75,8 +75,8 @@ var devDependencies = {
|
|
|
75
75
|
"@types/cli-progress": "3.11.5",
|
|
76
76
|
"@types/eventsource": "1.1.15",
|
|
77
77
|
"@types/lodash": "^4.14.191",
|
|
78
|
-
"eslint-config-custom": "5.
|
|
79
|
-
tsconfig: "5.
|
|
78
|
+
"eslint-config-custom": "5.19.0",
|
|
79
|
+
tsconfig: "5.19.0"
|
|
80
80
|
};
|
|
81
81
|
var engines = {
|
|
82
82
|
node: ">=18.0.0 <=22.x.x",
|
package/dist/package.json.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "@strapi/cloud-cli";
|
|
2
|
-
var version = "5.
|
|
2
|
+
var version = "5.19.0";
|
|
3
3
|
var description = "Commands to interact with the Strapi Cloud";
|
|
4
4
|
var keywords = [
|
|
5
5
|
"strapi",
|
|
@@ -46,7 +46,7 @@ var scripts = {
|
|
|
46
46
|
watch: "run -T rollup -c -w"
|
|
47
47
|
};
|
|
48
48
|
var dependencies = {
|
|
49
|
-
"@strapi/utils": "5.
|
|
49
|
+
"@strapi/utils": "5.19.0",
|
|
50
50
|
axios: "1.8.4",
|
|
51
51
|
boxen: "5.1.2",
|
|
52
52
|
chalk: "4.1.2",
|
|
@@ -71,8 +71,8 @@ var devDependencies = {
|
|
|
71
71
|
"@types/cli-progress": "3.11.5",
|
|
72
72
|
"@types/eventsource": "1.1.15",
|
|
73
73
|
"@types/lodash": "^4.14.191",
|
|
74
|
-
"eslint-config-custom": "5.
|
|
75
|
-
tsconfig: "5.
|
|
74
|
+
"eslint-config-custom": "5.19.0",
|
|
75
|
+
tsconfig: "5.19.0"
|
|
76
76
|
};
|
|
77
77
|
var engines = {
|
|
78
78
|
node: ">=18.0.0 <=22.x.x",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-logs.d.ts","sourceRoot":"","sources":["../../src/services/build-logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3D,QAAA,MAAM,uBAAuB,eAAgB,UAAU,WAClC,MAAM,SAAS,MAAM,aAAa,cAAc,
|
|
1
|
+
{"version":3,"file":"build-logs.d.ts","sourceRoot":"","sources":["../../src/services/build-logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3D,QAAA,MAAM,uBAAuB,eAAgB,UAAU,WAClC,MAAM,SAAS,MAAM,aAAa,cAAc,qBAuEpE,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -10,8 +10,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
10
10
|
let timeoutId = null;
|
|
11
11
|
let retries = 0;
|
|
12
12
|
const connect = (url)=>{
|
|
13
|
-
const
|
|
14
|
-
|
|
13
|
+
const logsSpinner = logger.spinner('Connecting to the server to get build logs\n').start();
|
|
14
|
+
logsSpinner.indent = 1;
|
|
15
15
|
const es = new EventSource(`${url}`, {
|
|
16
16
|
headers: {
|
|
17
17
|
Authorization: `Bearer ${token}`
|
|
@@ -25,8 +25,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
25
25
|
const resetTimeout = ()=>{
|
|
26
26
|
clearExistingTimeout();
|
|
27
27
|
timeoutId = setTimeout(()=>{
|
|
28
|
-
if (
|
|
29
|
-
|
|
28
|
+
if (logsSpinner.isSpinning) {
|
|
29
|
+
logsSpinner.fail('We were unable to connect to the server to get build logs at this time. This could be due to a temporary issue.');
|
|
30
30
|
}
|
|
31
31
|
es.close();
|
|
32
32
|
reject(new Error('Connection timed out'));
|
|
@@ -41,8 +41,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
41
41
|
resolve(null);
|
|
42
42
|
});
|
|
43
43
|
es.addEventListener('log', (event)=>{
|
|
44
|
-
if (
|
|
45
|
-
|
|
44
|
+
if (logsSpinner.isSpinning) {
|
|
45
|
+
logsSpinner.succeed();
|
|
46
46
|
}
|
|
47
47
|
resetTimeout();
|
|
48
48
|
const data = JSON.parse(event.data);
|
|
@@ -51,7 +51,7 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
51
51
|
es.onerror = async ()=>{
|
|
52
52
|
retries += 1;
|
|
53
53
|
if (retries > MAX_RETRIES) {
|
|
54
|
-
|
|
54
|
+
logsSpinner.fail('We were unable to connect to the server to get build logs at this time.');
|
|
55
55
|
es.close();
|
|
56
56
|
clearExistingTimeout(); // Important to clear the event loop from remaining timeout - avoid to wait for nothing while the timeout is running
|
|
57
57
|
reject(new Error('Max retries reached'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-logs.js","sources":["../../src/services/build-logs.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport { CLIContext, type CloudCliConfig } from '../types';\n\nconst buildLogsServiceFactory = ({ logger }: CLIContext) => {\n return async (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.buildLogsConnectionTimeout);\n const MAX_RETRIES = Number(cliConfig.buildLogsMaxRetries);\n\n return new Promise((resolve, reject) => {\n let timeoutId: NodeJS.Timeout | null = null;\n let retries = 0;\n\n const connect = (url: string) => {\n const
|
|
1
|
+
{"version":3,"file":"build-logs.js","sources":["../../src/services/build-logs.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport { CLIContext, type CloudCliConfig } from '../types';\n\nconst buildLogsServiceFactory = ({ logger }: CLIContext) => {\n return async (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.buildLogsConnectionTimeout);\n const MAX_RETRIES = Number(cliConfig.buildLogsMaxRetries);\n\n return new Promise((resolve, reject) => {\n let timeoutId: NodeJS.Timeout | null = null;\n let retries = 0;\n\n const connect = (url: string) => {\n const logsSpinner = logger.spinner('Connecting to the server to get build logs\\n').start();\n logsSpinner.indent = 1;\n const es = new EventSource(`${url}`, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n const clearExistingTimeout = () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n\n const resetTimeout = () => {\n clearExistingTimeout();\n timeoutId = setTimeout(() => {\n if (logsSpinner.isSpinning) {\n logsSpinner.fail(\n 'We were unable to connect to the server to get build logs at this time. This could be due to a temporary issue.'\n );\n }\n es.close();\n reject(new Error('Connection timed out'));\n }, CONN_TIMEOUT);\n };\n\n es.onopen = resetTimeout;\n\n es.addEventListener('finished', (event) => {\n const data = JSON.parse(event.data);\n logger.log(data.msg);\n es.close();\n clearExistingTimeout();\n resolve(null);\n });\n\n es.addEventListener('log', (event) => {\n if (logsSpinner.isSpinning) {\n logsSpinner.succeed();\n }\n resetTimeout();\n const data = JSON.parse(event.data);\n logger.log(data.msg);\n });\n\n es.onerror = async () => {\n retries += 1;\n if (retries > MAX_RETRIES) {\n logsSpinner.fail(\n 'We were unable to connect to the server to get build logs at this time.'\n );\n es.close();\n clearExistingTimeout(); // Important to clear the event loop from remaining timeout - avoid to wait for nothing while the timeout is running\n reject(new Error('Max retries reached'));\n }\n };\n };\n\n connect(url);\n });\n };\n};\n\nexport { buildLogsServiceFactory };\n"],"names":["buildLogsServiceFactory","logger","url","token","cliConfig","CONN_TIMEOUT","Number","buildLogsConnectionTimeout","MAX_RETRIES","buildLogsMaxRetries","Promise","resolve","reject","timeoutId","retries","connect","logsSpinner","spinner","start","indent","es","EventSource","headers","Authorization","clearExistingTimeout","clearTimeout","resetTimeout","setTimeout","isSpinning","fail","close","Error","onopen","addEventListener","event","data","JSON","parse","log","msg","succeed","onerror"],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
8
8
|
let timeoutId = null;
|
|
9
9
|
let retries = 0;
|
|
10
10
|
const connect = (url)=>{
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const logsSpinner = logger.spinner('Connecting to the server to get build logs\n').start();
|
|
12
|
+
logsSpinner.indent = 1;
|
|
13
13
|
const es = new EventSource(`${url}`, {
|
|
14
14
|
headers: {
|
|
15
15
|
Authorization: `Bearer ${token}`
|
|
@@ -23,8 +23,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
23
23
|
const resetTimeout = ()=>{
|
|
24
24
|
clearExistingTimeout();
|
|
25
25
|
timeoutId = setTimeout(()=>{
|
|
26
|
-
if (
|
|
27
|
-
|
|
26
|
+
if (logsSpinner.isSpinning) {
|
|
27
|
+
logsSpinner.fail('We were unable to connect to the server to get build logs at this time. This could be due to a temporary issue.');
|
|
28
28
|
}
|
|
29
29
|
es.close();
|
|
30
30
|
reject(new Error('Connection timed out'));
|
|
@@ -39,8 +39,8 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
39
39
|
resolve(null);
|
|
40
40
|
});
|
|
41
41
|
es.addEventListener('log', (event)=>{
|
|
42
|
-
if (
|
|
43
|
-
|
|
42
|
+
if (logsSpinner.isSpinning) {
|
|
43
|
+
logsSpinner.succeed();
|
|
44
44
|
}
|
|
45
45
|
resetTimeout();
|
|
46
46
|
const data = JSON.parse(event.data);
|
|
@@ -49,7 +49,7 @@ const buildLogsServiceFactory = ({ logger })=>{
|
|
|
49
49
|
es.onerror = async ()=>{
|
|
50
50
|
retries += 1;
|
|
51
51
|
if (retries > MAX_RETRIES) {
|
|
52
|
-
|
|
52
|
+
logsSpinner.fail('We were unable to connect to the server to get build logs at this time.');
|
|
53
53
|
es.close();
|
|
54
54
|
clearExistingTimeout(); // Important to clear the event loop from remaining timeout - avoid to wait for nothing while the timeout is running
|
|
55
55
|
reject(new Error('Max retries reached'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-logs.mjs","sources":["../../src/services/build-logs.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport { CLIContext, type CloudCliConfig } from '../types';\n\nconst buildLogsServiceFactory = ({ logger }: CLIContext) => {\n return async (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.buildLogsConnectionTimeout);\n const MAX_RETRIES = Number(cliConfig.buildLogsMaxRetries);\n\n return new Promise((resolve, reject) => {\n let timeoutId: NodeJS.Timeout | null = null;\n let retries = 0;\n\n const connect = (url: string) => {\n const
|
|
1
|
+
{"version":3,"file":"build-logs.mjs","sources":["../../src/services/build-logs.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport { CLIContext, type CloudCliConfig } from '../types';\n\nconst buildLogsServiceFactory = ({ logger }: CLIContext) => {\n return async (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.buildLogsConnectionTimeout);\n const MAX_RETRIES = Number(cliConfig.buildLogsMaxRetries);\n\n return new Promise((resolve, reject) => {\n let timeoutId: NodeJS.Timeout | null = null;\n let retries = 0;\n\n const connect = (url: string) => {\n const logsSpinner = logger.spinner('Connecting to the server to get build logs\\n').start();\n logsSpinner.indent = 1;\n const es = new EventSource(`${url}`, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n const clearExistingTimeout = () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n\n const resetTimeout = () => {\n clearExistingTimeout();\n timeoutId = setTimeout(() => {\n if (logsSpinner.isSpinning) {\n logsSpinner.fail(\n 'We were unable to connect to the server to get build logs at this time. This could be due to a temporary issue.'\n );\n }\n es.close();\n reject(new Error('Connection timed out'));\n }, CONN_TIMEOUT);\n };\n\n es.onopen = resetTimeout;\n\n es.addEventListener('finished', (event) => {\n const data = JSON.parse(event.data);\n logger.log(data.msg);\n es.close();\n clearExistingTimeout();\n resolve(null);\n });\n\n es.addEventListener('log', (event) => {\n if (logsSpinner.isSpinning) {\n logsSpinner.succeed();\n }\n resetTimeout();\n const data = JSON.parse(event.data);\n logger.log(data.msg);\n });\n\n es.onerror = async () => {\n retries += 1;\n if (retries > MAX_RETRIES) {\n logsSpinner.fail(\n 'We were unable to connect to the server to get build logs at this time.'\n );\n es.close();\n clearExistingTimeout(); // Important to clear the event loop from remaining timeout - avoid to wait for nothing while the timeout is running\n reject(new Error('Max retries reached'));\n }\n };\n };\n\n connect(url);\n });\n };\n};\n\nexport { buildLogsServiceFactory };\n"],"names":["buildLogsServiceFactory","logger","url","token","cliConfig","CONN_TIMEOUT","Number","buildLogsConnectionTimeout","MAX_RETRIES","buildLogsMaxRetries","Promise","resolve","reject","timeoutId","retries","connect","logsSpinner","spinner","start","indent","es","EventSource","headers","Authorization","clearExistingTimeout","clearTimeout","resetTimeout","setTimeout","isSpinning","fail","close","Error","onopen","addEventListener","event","data","JSON","parse","log","msg","succeed","onerror"],"mappings":";;AAGA,MAAMA,uBAA0B,GAAA,CAAC,EAAEC,MAAM,EAAc,GAAA;IACrD,OAAO,OAAOC,KAAaC,KAAeC,EAAAA,SAAAA,GAAAA;QACxC,MAAMC,YAAAA,GAAeC,MAAOF,CAAAA,SAAAA,CAAUG,0BAA0B,CAAA;QAChE,MAAMC,WAAAA,GAAcF,MAAOF,CAAAA,SAAAA,CAAUK,mBAAmB,CAAA;QAExD,OAAO,IAAIC,OAAQ,CAAA,CAACC,OAASC,EAAAA,MAAAA,GAAAA;AAC3B,YAAA,IAAIC,SAAmC,GAAA,IAAA;AACvC,YAAA,IAAIC,OAAU,GAAA,CAAA;AAEd,YAAA,MAAMC,UAAU,CAACb,GAAAA,GAAAA;AACf,gBAAA,MAAMc,WAAcf,GAAAA,MAAAA,CAAOgB,OAAO,CAAC,gDAAgDC,KAAK,EAAA;AACxFF,gBAAAA,WAAAA,CAAYG,MAAM,GAAG,CAAA;AACrB,gBAAA,MAAMC,KAAK,IAAIC,WAAAA,CAAY,CAAC,EAAEnB,GAAAA,CAAI,CAAC,EAAE;oBACnCoB,OAAS,EAAA;AACPC,wBAAAA,aAAAA,EAAe,CAAC,OAAO,EAAEpB,KAAAA,CAAM;AACjC;AACF,iBAAA,CAAA;AAEA,gBAAA,MAAMqB,oBAAuB,GAAA,IAAA;AAC3B,oBAAA,IAAIX,SAAW,EAAA;wBACbY,YAAaZ,CAAAA,SAAAA,CAAAA;AACf;AACF,iBAAA;AAEA,gBAAA,MAAMa,YAAe,GAAA,IAAA;AACnBF,oBAAAA,oBAAAA,EAAAA;AACAX,oBAAAA,SAAAA,GAAYc,UAAW,CAAA,IAAA;wBACrB,IAAIX,WAAAA,CAAYY,UAAU,EAAE;AAC1BZ,4BAAAA,WAAAA,CAAYa,IAAI,CACd,iHAAA,CAAA;AAEJ;AACAT,wBAAAA,EAAAA,CAAGU,KAAK,EAAA;AACRlB,wBAAAA,MAAAA,CAAO,IAAImB,KAAM,CAAA,sBAAA,CAAA,CAAA;qBAChB1B,EAAAA,YAAAA,CAAAA;AACL,iBAAA;AAEAe,gBAAAA,EAAAA,CAAGY,MAAM,GAAGN,YAAAA;gBAEZN,EAAGa,CAAAA,gBAAgB,CAAC,UAAA,EAAY,CAACC,KAAAA,GAAAA;AAC/B,oBAAA,MAAMC,IAAOC,GAAAA,IAAAA,CAAKC,KAAK,CAACH,MAAMC,IAAI,CAAA;oBAClClC,MAAOqC,CAAAA,GAAG,CAACH,IAAAA,CAAKI,GAAG,CAAA;AACnBnB,oBAAAA,EAAAA,CAAGU,KAAK,EAAA;AACRN,oBAAAA,oBAAAA,EAAAA;oBACAb,OAAQ,CAAA,IAAA,CAAA;AACV,iBAAA,CAAA;gBAEAS,EAAGa,CAAAA,gBAAgB,CAAC,KAAA,EAAO,CAACC,KAAAA,GAAAA;oBAC1B,IAAIlB,WAAAA,CAAYY,UAAU,EAAE;AAC1BZ,wBAAAA,WAAAA,CAAYwB,OAAO,EAAA;AACrB;AACAd,oBAAAA,YAAAA,EAAAA;AACA,oBAAA,MAAMS,IAAOC,GAAAA,IAAAA,CAAKC,KAAK,CAACH,MAAMC,IAAI,CAAA;oBAClClC,MAAOqC,CAAAA,GAAG,CAACH,IAAAA,CAAKI,GAAG,CAAA;AACrB,iBAAA,CAAA;AAEAnB,gBAAAA,EAAAA,CAAGqB,OAAO,GAAG,UAAA;oBACX3B,OAAW,IAAA,CAAA;AACX,oBAAA,IAAIA,UAAUN,WAAa,EAAA;AACzBQ,wBAAAA,WAAAA,CAAYa,IAAI,CACd,yEAAA,CAAA;AAEFT,wBAAAA,EAAAA,CAAGU,KAAK,EAAA;AACRN,wBAAAA,oBAAAA,EAAAA,CAAAA;AACAZ,wBAAAA,MAAAA,CAAO,IAAImB,KAAM,CAAA,qBAAA,CAAA,CAAA;AACnB;AACF,iBAAA;AACF,aAAA;YAEAhB,OAAQb,CAAAA,GAAAA,CAAAA;AACV,SAAA,CAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AxiosResponse } from 'axios';
|
|
2
2
|
import type { CLIContext, CloudCliConfig, TrackPayload } from '../types';
|
|
3
|
-
export declare const VERSION = "
|
|
3
|
+
export declare const VERSION = "v3";
|
|
4
4
|
export type ProjectInfo = {
|
|
5
5
|
id: string;
|
|
6
6
|
name: string;
|
|
@@ -61,6 +61,11 @@ export type GetProjectResponse = {
|
|
|
61
61
|
export type CreateTrialResponse = {
|
|
62
62
|
licenseKey: string;
|
|
63
63
|
};
|
|
64
|
+
export type CreateProjectResponse = {
|
|
65
|
+
name: string;
|
|
66
|
+
environmentInternalName: string;
|
|
67
|
+
url?: string;
|
|
68
|
+
};
|
|
64
69
|
export interface CloudApiService {
|
|
65
70
|
deploy(deployInput: {
|
|
66
71
|
filePath: string;
|
|
@@ -75,7 +80,7 @@ export interface CloudApiService {
|
|
|
75
80
|
}) => void;
|
|
76
81
|
}): Promise<AxiosResponse<DeployResponse>>;
|
|
77
82
|
createProject(createProjectInput: ProjectInput): Promise<{
|
|
78
|
-
data:
|
|
83
|
+
data: CreateProjectResponse;
|
|
79
84
|
status: number;
|
|
80
85
|
}>;
|
|
81
86
|
getUserInfo(): Promise<AxiosResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-api.d.ts","sourceRoot":"","sources":["../../src/services/cli-api.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKzE,eAAO,MAAM,OAAO,OAAO,CAAC;AAE5B,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE;QACJ,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACjD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACpD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;KAC3C,CAAC;IACF,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,MAAM,CACJ,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACvD,EACD,EACE,gBAAgB,GACjB,EAAE;QACD,gBAAgB,EAAE,CAAC,aAAa,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KAC/E,GACA,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAE1C,aAAa,CAAC,kBAAkB,EAAE,YAAY,GAAG,OAAO,CAAC;QACvD,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"cli-api.d.ts","sourceRoot":"","sources":["../../src/services/cli-api.ts"],"names":[],"mappings":"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"}
|
package/dist/services/cli-api.js
CHANGED
|
@@ -7,7 +7,7 @@ var api = require('../config/api.js');
|
|
|
7
7
|
var local = require('../config/local.js');
|
|
8
8
|
var _package = require('../package.json.js');
|
|
9
9
|
|
|
10
|
-
const VERSION = '
|
|
10
|
+
const VERSION = 'v3';
|
|
11
11
|
async function cloudApiFactory({ logger }, token) {
|
|
12
12
|
const localConfig = await local.getLocalConfig();
|
|
13
13
|
const customHeaders = {
|
|
@@ -51,8 +51,7 @@ async function cloudApiFactory({ logger }, token) {
|
|
|
51
51
|
data: {
|
|
52
52
|
id: response.data.id,
|
|
53
53
|
name: response.data.name,
|
|
54
|
-
|
|
55
|
-
region: response.data.region
|
|
54
|
+
environmentInternalName: response.data.environmentInternalName
|
|
56
55
|
},
|
|
57
56
|
status: response.status
|
|
58
57
|
};
|