@silexlabs/silex 3.6.3 → 3.6.4

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.
@@ -11,6 +11,13 @@ export default class GitlabHostingConnector extends GitlabConnector implements H
11
11
  getUrl(session: GitlabSession, websiteId: WebsiteId): Promise<string>;
12
12
  getAdminUrl(session: GitlabSession, websiteId: WebsiteId): Promise<string>;
13
13
  getPageUrl(session: GitlabSession, websiteId: WebsiteId, projectUrl: string): Promise<string>;
14
- getGitlabJobLogsUrl(session: GitlabSession, websiteId: WebsiteId, job: PublicationJobData, { startJob, jobSuccess, jobError }: JobManager, projectUrl: string, tag: any): Promise<string | null>;
14
+ /**
15
+ * Wait for the GitLab CI/CD job to complete
16
+ * Polls the job status and updates the Silex job with progress
17
+ */
18
+ waitForGitlabJobCompletion(session: GitlabSession, websiteId: WebsiteId, job: PublicationJobData, projectUrl: string, tag: string, gitlabUrl: string, pageUrl: string): Promise<{
19
+ success: boolean;
20
+ message: string;
21
+ }>;
15
22
  createTag(session: GitlabSession, websiteId: WebsiteId, job: PublicationJobData, { startJob, jobSuccess, jobError }: JobManager): Promise<string | null>;
16
23
  }
@@ -29,8 +29,103 @@ const dedent_1 = __importDefault(require("dedent"));
29
29
  const GitlabConnector_1 = __importDefault(require("./GitlabConnector"));
30
30
  const types_1 = require("../../types");
31
31
  const promises_1 = require("timers/promises");
32
- const waitTimeOut = 5000; /* for wait loop in job pages getting */
32
+ const waitTimeOut = 5000; /* for wait loop waiting for job to appear */
33
+ const jobPollInterval = 10000; /* poll job status every 10 seconds */
34
+ const jobCompletionTimeOut = 45 * 60 * 1000; /* 45 minutes max for job completion */
33
35
  const SILEX_OVERWRITE_NOTICE = '# silexOverwrite: true';
36
+ // GitLab job statuses that indicate the job is still running
37
+ const GITLAB_RUNNING_STATUSES = ['created', 'waiting_for_resource', 'preparing', 'pending', 'running'];
38
+ // GitLab job statuses that indicate success
39
+ const GITLAB_SUCCESS_STATUSES = ['success'];
40
+ // GitLab job statuses that indicate failure
41
+ const GITLAB_FAILED_STATUSES = ['failed', 'canceled', 'skipped'];
42
+ /**
43
+ * Filter GitLab trace to remove technical noise
44
+ * Returns an array of meaningful log lines
45
+ */
46
+ function filterTraceLines(trace) {
47
+ return trace.split('\n')
48
+ .map(l => l.trim())
49
+ .filter(l => l.length > 0)
50
+ // Remove GitLab internal markers
51
+ .filter(l => !l.match(/^section_/))
52
+ // eslint-disable-next-line no-control-regex
53
+ .filter(l => !l.match(/^\x1b/)) // Remove ANSI escape sequences at start
54
+ // Remove timestamps at the beginning of lines
55
+ .map(l => l.replace(/^\d{4}-\d{2}-\d{2}T[\d:.]+Z\s*\d*O?\s*/, ''))
56
+ // Remove Docker/Git setup noise
57
+ .filter(l => !l.includes('Using Docker executor'))
58
+ .filter(l => !l.includes('Pulling docker image'))
59
+ .filter(l => !l.includes('Fetching changes'))
60
+ .filter(l => !l.includes('Checking out'))
61
+ .filter(l => !l.includes('Skipping Git submodules'))
62
+ .filter(l => !l.includes('Getting source from Git'))
63
+ .filter(l => !l.includes('Executing "step_script"'))
64
+ .filter(l => !l.includes('Restoring cache'))
65
+ .filter(l => !l.includes('Saving cache'))
66
+ .filter(l => !l.match(/^\s*\$\s/)) // Remove shell command echoes
67
+ .filter(l => !l.match(/^Running with gitlab-runner/))
68
+ .filter(l => !l.match(/^Preparing the .* executor/))
69
+ .filter(l => !l.match(/^Using .* as base image/))
70
+ // Keep non-empty lines after filtering
71
+ .filter(l => l.trim().length > 0);
72
+ }
73
+ /**
74
+ * Parse GitLab/11ty job logs to extract meaningful status
75
+ * Returns a short user-friendly status message
76
+ */
77
+ function parseJobTrace(trace) {
78
+ const lines = filterTraceLines(trace);
79
+ // Look for 11ty build progress
80
+ if (trace.includes('[11ty]')) {
81
+ // Look for 11ty completion first
82
+ if (trace.includes('[11ty] Wrote') || trace.includes('[11ty] Copied')) {
83
+ const wroteMatch = trace.match(/\[11ty\] Wrote (\d+)/i);
84
+ const copiedMatch = trace.match(/\[11ty\] Copied (\d+)/i);
85
+ const parts = [];
86
+ if (wroteMatch)
87
+ parts.push(`${wroteMatch[1]} pages generated`);
88
+ if (copiedMatch)
89
+ parts.push(`${copiedMatch[1]} files copied`);
90
+ if (parts.length)
91
+ return parts.join(', ');
92
+ }
93
+ // Look for 11ty processing
94
+ const eleventyMatch = trace.match(/\[11ty\].*?(\d+)\s+files?/i);
95
+ if (eleventyMatch) {
96
+ return `Generating ${eleventyMatch[1]} pages...`;
97
+ }
98
+ return 'Building pages...';
99
+ }
100
+ // Look for npm/npx installing
101
+ if (trace.includes('npm') && trace.includes('install')) {
102
+ return 'Installing dependencies...';
103
+ }
104
+ // Look for npx running eleventy
105
+ if (trace.includes('npx') && trace.includes('eleventy')) {
106
+ return 'Running page generator...';
107
+ }
108
+ // Look for artifact upload
109
+ if (trace.includes('Uploading artifacts')) {
110
+ return 'Preparing files for deployment...';
111
+ }
112
+ // Look for pages deployment
113
+ if (trace.includes('CI_PAGES_URL') || trace.includes('will be deployed')) {
114
+ return 'Finalizing deployment...';
115
+ }
116
+ // Look for job completion
117
+ if (trace.includes('Job succeeded')) {
118
+ return 'Build complete';
119
+ }
120
+ // Look for errors
121
+ const errorMatch = trace.match(/error[:\s]+(.{0,100})/i);
122
+ if (errorMatch) {
123
+ const errorMsg = errorMatch[1].trim().substring(0, 60);
124
+ return `Error: ${errorMsg}${errorMsg.length >= 60 ? '...' : ''}`;
125
+ }
126
+ // Return empty string to avoid showing technical noise
127
+ return '';
128
+ }
34
129
  class GitlabHostingConnector extends GitlabConnector_1.default {
35
130
  displayName = 'Gitlab hosting';
36
131
  connectorType = types_1.ConnectorType.HOSTING;
@@ -113,30 +208,16 @@ class GitlabHostingConnector extends GitlabConnector_1.default {
113
208
  job.logs[0].push(job.message);
114
209
  const pageUrl = await this.getPageUrl(session, websiteId, adminUrl);
115
210
  job.logs[0].push(`Page URL: ${pageUrl}`);
116
- job.message = 'Getting the deployment logs URL...';
211
+ // Wait for the GitLab job to complete
212
+ job.message = 'Starting build...';
117
213
  job.logs[0].push(job.message);
118
- const gitlabJobLogsUrl = await this.getGitlabJobLogsUrl(session, websiteId, job, { startJob, jobSuccess, jobError }, adminUrl, successTag);
119
- // Because of the GitLab policy, this can be null (and we suggest the user to verify their account)
120
- if (!gitlabJobLogsUrl) {
121
- let errorMessage = 'Could not retrieve the deployment logs URL.';
122
- if (this.isUsingOfficialInstance()) {
123
- const verifyURL = 'https://gitlab.com/-/identity_verification';
124
- errorMessage +=
125
- `<div class="notice">
126
- If your GitLab account is recent, you may need to verify it <a href="${verifyURL}" target="_blank">here</a>
127
- in order to be able to use pipelines (this is GitLab's policy, not Silex's).
128
- </div>`;
129
- }
130
- throw new Error(errorMessage);
214
+ const result = await this.waitForGitlabJobCompletion(session, websiteId, job, adminUrl, successTag, gitlabUrl, pageUrl);
215
+ if (result.success) {
216
+ jobSuccess(job.jobId, result.message);
217
+ }
218
+ else {
219
+ jobError(job.jobId, result.message);
131
220
  }
132
- job.logs[0].push(`Deployment logs URL: ${gitlabJobLogsUrl}`);
133
- const message = `
134
- <p><a href="${gitlabUrl}" target="_blank">Your website will soon be live here</a>.</p>
135
- <p>Changes may take a few minutes to appear, <a href="${gitlabJobLogsUrl}" target="_blank">follow deployment here</a>.</p>
136
- <p>Manage <a href="${pageUrl}" target="_blank">GitLab Pages settings</a>.</p>
137
- `;
138
- job.logs[0].push(message);
139
- jobSuccess(job.jobId, message);
140
221
  }
141
222
  catch (error) {
142
223
  console.error('Error during getting the website URLs:', error.message);
@@ -216,35 +297,184 @@ class GitlabHostingConnector extends GitlabConnector_1.default {
216
297
  async getPageUrl(session, websiteId, projectUrl) {
217
298
  return `${projectUrl}/pages`;
218
299
  }
219
- // waiting for the job corresponding to the current tag
220
- async getGitlabJobLogsUrl(session, websiteId, job, { startJob, jobSuccess, jobError }, projectUrl, tag) {
300
+ /**
301
+ * Wait for the GitLab CI/CD job to complete
302
+ * Polls the job status and updates the Silex job with progress
303
+ */
304
+ async waitForGitlabJobCompletion(session, websiteId, job, projectUrl, tag, gitlabUrl, pageUrl) {
221
305
  const t0 = Date.now();
222
- do {
223
- const jobs = await this.callApi({
224
- session,
225
- path: `api/v4/projects/${websiteId}/jobs`,
226
- method: 'GET'
227
- });
228
- // Find job matching our tag (may not exist yet on first publish)
229
- const matchingJob = jobs.find(j => j.ref === tag);
230
- if (matchingJob) {
231
- return `${projectUrl}/-/jobs/${matchingJob.id}`;
306
+ let gitlabJobId = null;
307
+ let gitlabJobLogsUrl = null;
308
+ // First, wait for the job to appear
309
+ while (!gitlabJobId && (Date.now() - t0) < this.options.timeOut) {
310
+ try {
311
+ const jobs = await this.callApi({
312
+ session,
313
+ path: `api/v4/projects/${websiteId}/jobs`,
314
+ method: 'GET'
315
+ });
316
+ const matchingJob = jobs.find(j => j.ref === tag);
317
+ if (matchingJob) {
318
+ gitlabJobId = matchingJob.id;
319
+ gitlabJobLogsUrl = `${projectUrl}/-/jobs/${matchingJob.id}`;
320
+ job.logs[0].push('Build started');
321
+ job.message = `
322
+ <p><strong>Building...</strong></p>
323
+ <p><a href="${gitlabJobLogsUrl}" target="_blank">View build logs</a></p>
324
+ `;
325
+ }
326
+ }
327
+ catch (e) {
328
+ console.error('Error fetching GitLab jobs:', e.message);
329
+ }
330
+ if (!gitlabJobId) {
331
+ await (0, promises_1.setTimeout)(waitTimeOut);
232
332
  }
233
- // No matching job yet - wait and retry
234
- await (0, promises_1.setTimeout)(waitTimeOut);
235
- } while ((Date.now() - t0) < this.options.timeOut);
236
- // failed in timelaps allowed (avoiding infinite loop)
237
- jobError(job.jobId, 'Failed to get job id');
238
- job.message = 'Unable to get job id';
239
- job.logs[0].push(job.message);
240
- return `${projectUrl}/-/jobs/`;
333
+ }
334
+ // If job never appeared, handle the error
335
+ if (!gitlabJobId) {
336
+ let errorMessage = 'Could not start the build. The server may be busy or unavailable.';
337
+ if (this.isUsingOfficialInstance()) {
338
+ const verifyURL = 'https://gitlab.com/-/identity_verification';
339
+ errorMessage +=
340
+ `<div class="notice">
341
+ If your GitLab account is recent, you may need to <a href="${verifyURL}" target="_blank">verify it here</a>
342
+ before you can publish websites.
343
+ </div>`;
344
+ }
345
+ return { success: false, message: errorMessage };
346
+ }
347
+ // Now poll the job status until it completes
348
+ let lastTraceLength = 0;
349
+ while ((Date.now() - t0) < jobCompletionTimeOut) {
350
+ try {
351
+ // Get job status
352
+ const gitlabJob = await this.callApi({
353
+ session,
354
+ path: `api/v4/projects/${websiteId}/jobs/${gitlabJobId}`,
355
+ method: 'GET'
356
+ });
357
+ const jobStatus = gitlabJob.status;
358
+ // Try to get job trace (logs) for progress info
359
+ let traceInfo = '';
360
+ try {
361
+ const trace = await this.callApi({
362
+ session,
363
+ path: `api/v4/projects/${websiteId}/jobs/${gitlabJobId}/trace`,
364
+ method: 'GET'
365
+ });
366
+ if (typeof trace === 'string' && trace.length > lastTraceLength) {
367
+ // Parse the new portion of the trace
368
+ const newTrace = trace.substring(lastTraceLength);
369
+ traceInfo = parseJobTrace(newTrace);
370
+ lastTraceLength = trace.length;
371
+ // Add filtered log lines to the job logs for the <details> section
372
+ const filteredLines = filterTraceLines(newTrace);
373
+ if (filteredLines.length > 0) {
374
+ // Limit to last 50 lines to avoid overwhelming the logs
375
+ const linesToAdd = filteredLines.slice(-50);
376
+ job.logs[0].push(...linesToAdd);
377
+ }
378
+ }
379
+ }
380
+ catch (e) {
381
+ // Trace might not be available yet, that's OK
382
+ }
383
+ // Map GitLab status to user-friendly status
384
+ const statusMap = {
385
+ 'created': 'Starting',
386
+ 'waiting_for_resource': 'Waiting for server',
387
+ 'preparing': 'Preparing',
388
+ 'pending': 'Queued',
389
+ 'running': 'Building',
390
+ 'success': 'Complete',
391
+ 'failed': 'Failed',
392
+ 'canceled': 'Canceled',
393
+ 'skipped': 'Skipped',
394
+ };
395
+ const statusDisplay = statusMap[jobStatus] || jobStatus;
396
+ const progressInfo = traceInfo ? ` - ${traceInfo}` : '';
397
+ job.message = `
398
+ <p><strong>${statusDisplay}</strong>${progressInfo}</p>
399
+ <p><a href="${gitlabJobLogsUrl}" target="_blank">View build logs</a></p>
400
+ `;
401
+ // Check if job completed
402
+ if (GITLAB_SUCCESS_STATUSES.includes(jobStatus)) {
403
+ // Fetch final trace to include in logs
404
+ try {
405
+ const finalTrace = await this.callApi({
406
+ session,
407
+ path: `api/v4/projects/${websiteId}/jobs/${gitlabJobId}/trace`,
408
+ method: 'GET'
409
+ });
410
+ if (typeof finalTrace === 'string') {
411
+ const allFilteredLines = filterTraceLines(finalTrace);
412
+ // Add last 30 lines as summary
413
+ job.logs[0].push('--- Build Summary ---');
414
+ job.logs[0].push(...allFilteredLines.slice(-30));
415
+ }
416
+ }
417
+ catch (e) {
418
+ // Ignore trace fetch errors
419
+ }
420
+ const message = `
421
+ <p><strong>Your website is now live!</strong></p>
422
+ <p><a href="${gitlabUrl}" target="_blank" class="silex-button silex-button--primary">View your website</a></p>
423
+ `;
424
+ job.logs[0].push('Build completed successfully');
425
+ return { success: true, message };
426
+ }
427
+ if (GITLAB_FAILED_STATUSES.includes(jobStatus)) {
428
+ const failureReason = gitlabJob.failure_reason || 'Build error';
429
+ // Fetch final trace to include error details in logs
430
+ try {
431
+ const finalTrace = await this.callApi({
432
+ session,
433
+ path: `api/v4/projects/${websiteId}/jobs/${gitlabJobId}/trace`,
434
+ method: 'GET'
435
+ });
436
+ if (typeof finalTrace === 'string') {
437
+ const allFilteredLines = filterTraceLines(finalTrace);
438
+ // Add last 50 lines to help debug the error
439
+ job.logs[0].push('--- Error Details ---');
440
+ job.logs[0].push(...allFilteredLines.slice(-50));
441
+ }
442
+ }
443
+ catch (e) {
444
+ // Ignore trace fetch errors
445
+ }
446
+ const message = `
447
+ <p><strong>Build failed:</strong> ${failureReason}</p>
448
+ <p><a href="${gitlabJobLogsUrl}" target="_blank">View build logs for details</a></p>
449
+ <p><a href="${pageUrl}" target="_blank">Settings</a></p>
450
+ `;
451
+ job.logs[0].push(`Build failed: ${failureReason}`);
452
+ return { success: false, message };
453
+ }
454
+ // Job still running, wait before next poll
455
+ await (0, promises_1.setTimeout)(jobPollInterval);
456
+ }
457
+ catch (e) {
458
+ console.error('Error polling GitLab job status:', e.message);
459
+ // Don't fail immediately, just wait and retry
460
+ await (0, promises_1.setTimeout)(jobPollInterval);
461
+ }
462
+ }
463
+ // Timeout reached
464
+ const message = `
465
+ <p><strong>Build is taking longer than expected</strong></p>
466
+ <p>Your website may still be published successfully.</p>
467
+ <p><a href="${gitlabJobLogsUrl}" target="_blank">Check build status</a> | <a href="${gitlabUrl}" target="_blank">Check your website</a></p>
468
+ `;
469
+ job.logs[0].push('Timeout waiting for build completion');
470
+ return { success: false, message };
241
471
  }
242
472
  async createTag(session, websiteId, job, { startJob, jobSuccess, jobError }) {
243
473
  const projectId = websiteId; // Assuming websiteId corresponds to GitLab project ID
244
474
  const newTag = '_silex_' + Date.now();
245
- // Create a new tag
475
+ // Create a new tag to trigger the build
246
476
  try {
247
- job.message = `Creating new tag ${newTag}...`;
477
+ job.message = 'Triggering build...';
248
478
  job.logs[0].push(job.message);
249
479
  await this.callApi({
250
480
  session,
@@ -259,7 +489,7 @@ class GitlabHostingConnector extends GitlabConnector_1.default {
259
489
  }
260
490
  catch (error) {
261
491
  console.error('Error during creating new tag:', error.message);
262
- jobError(job.jobId, `Failed to create new tag: ${error.message}`);
492
+ jobError(job.jobId, `Failed to start build: ${error.message}`);
263
493
  return null;
264
494
  }
265
495
  // Return new tag
@@ -1 +1 @@
1
- {"version":3,"file":"GitlabHostingConnector.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/server/GitlabHostingConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitlabHostingConnector.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/server/GitlabHostingConnector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@silexlabs/silex",
3
3
  "description": "Free and easy website builder for everyone.",
4
- "version": "3.6.3",
4
+ "version": "3.6.4",
5
5
  "version:backwardcompat": "3.0.0",
6
6
  "author": "Alex Hoyau (https://lexoyo.me/)",
7
7
  "main": "dist/server/server/index.js",
@@ -227,10 +227,10 @@ export class PublicationUi {
227
227
  ` : nothing}
228
228
  ${this.isPending(status) || this.isLoggedOut(status) ? nothing : html`
229
229
  <button
230
- class="silex-button silex-button--primary"
230
+ class="silex-button ${this.isSuccess(status) ? 'silex-button--secondary' : 'silex-button--primary'}"
231
231
  id="publish-button--primary"
232
232
  @click=${() => this.editor.Commands.run(cmdPublicationStart)}
233
- >Publish</button>
233
+ >${this.isSuccess(status) ? 'Publish again' : 'Publish'}</button>
234
234
  `}
235
235
  `}
236
236
  </main>
@@ -129,17 +129,25 @@ export const storagePlugin = (editor: PublishableEditor) => {
129
129
  editor.UndoManager.clear()
130
130
  if (err.httpStatusCode === 401) {
131
131
  editor.once(eventLoggedIn, async () => {
132
- try {
133
- await editor.Storage.load(options)
134
- } catch (err) {
135
- console.error('connectorPlugin load error', err)
136
- throw err
137
- }
132
+ // This should work but well it doesn't... window.location.reload()
133
+ // Here comes the workaround:
134
+ /* @lint-ignore */
135
+ window.location.href = window.location.href
136
+ return null
137
+ // try {
138
+ // await this.load(options)
139
+ // } catch (err) {
140
+ // console.error('connectorPlugin load error', err)
141
+ // // Breaks grapesjs: throw err
142
+ // editor.trigger('storage:error:load', err)
143
+ // return null
144
+ // }
138
145
  })
139
146
  editor.Commands.run(cmdLogin)
140
147
  }
141
148
  console.error('connectorPlugin load error', err)
142
- throw err
149
+ // Breaks grapesjs: throw err
150
+ editor.trigger('storage:error:load', err)
143
151
  }
144
152
  },
145
153
 
@@ -171,7 +179,7 @@ export const storagePlugin = (editor: PublishableEditor) => {
171
179
  try {
172
180
  if (isSaving) {
173
181
  // Concurrent saving, save is delayed
174
- editor.once('storage:start:store', () => {
182
+ editor.once('storage:end:store', () => {
175
183
  this.doStore(data, options)
176
184
  })
177
185
  } else {
@@ -186,12 +194,8 @@ export const storagePlugin = (editor: PublishableEditor) => {
186
194
  await websiteSave({ websiteId: options.id, connectorId: user.storage.connectorId, data })
187
195
  isSaving = false
188
196
  } else {
189
- // Not logged in save is delayed
190
- editor.once(eventLoggedIn, () => {
191
- isSaving = false
192
- return editor.Storage.store(data, options)
193
- })
194
- editor.Commands.run(cmdLogin)
197
+ // This should never happen,
198
+ // because the user canot save when they never logged in before
195
199
  }
196
200
  } else {
197
201
  // Canceled saving
@@ -200,7 +204,14 @@ export const storagePlugin = (editor: PublishableEditor) => {
200
204
  } catch (err) {
201
205
  console.error('connectorPlugin store error', err)
202
206
  isSaving = false
203
- throw err
207
+ if (err.httpStatusCode === 401) {
208
+ editor.once(eventLoggedIn, () => {
209
+ isSaving = false
210
+ return editor.Storage.store(data, options)
211
+ })
212
+ }
213
+ // Breaks grapesjs: throw err
214
+ editor.trigger('storage:error:load', err)
204
215
  }
205
216
  }
206
217
  })
@@ -226,7 +237,6 @@ export const storagePlugin = (editor: PublishableEditor) => {
226
237
  case 404:
227
238
  return editor.Modal.open({
228
239
  title: 'Website not found',
229
-
230
240
  content: `This website could not be found.<br><hr>${err.message}`,
231
241
  })
232
242
  case 403: