@silexlabs/silex 3.0.0-alpha.152 → 3.0.0-alpha.154
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/client/client/grapesjs/index.d.ts +4 -0
- package/dist/client/client/grapesjs/keymaps.d.ts +71 -0
- package/dist/client/client/grapesjs/project-bar.d.ts +1 -0
- package/dist/client/client/utils.d.ts +7 -0
- package/dist/client/css/admin.css +102 -0
- package/dist/client/js/main.js +76 -68
- package/dist/plugins/server/plugins/server/GitlabConnector.d.ts +39 -9
- package/dist/plugins/server/plugins/server/GitlabConnector.js +53 -31
- package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -1
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.d.ts +18 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js +94 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js.map +1 -0
- package/package.json +6 -6
- package/src/css/grapesjs-plugins.scss +126 -0
- package/src/ts/client/api.ts +8 -1
- package/src/ts/client/config.ts +1 -1
- package/src/ts/client/grapesjs/PublicationManager.ts +5 -0
- package/src/ts/client/grapesjs/PublicationUi.ts +45 -27
- package/src/ts/client/grapesjs/index.ts +36 -13
- package/src/ts/client/grapesjs/keymaps.ts +155 -0
- package/src/ts/client/grapesjs/project-bar.ts +6 -4
- package/src/ts/client/utils.ts +33 -9
- package/src/ts/plugins/server/GitlabConnector.ts +64 -43
- package/src/ts/plugins/server/GitlabHostingConnector.ts +97 -0
|
@@ -16,10 +16,10 @@ export interface GitlabOptions {
|
|
|
16
16
|
scope: string;
|
|
17
17
|
domain: string;
|
|
18
18
|
}
|
|
19
|
-
interface GitlabToken {
|
|
20
|
-
state
|
|
21
|
-
codeVerifier
|
|
22
|
-
codeChallenge
|
|
19
|
+
export interface GitlabToken {
|
|
20
|
+
state?: string;
|
|
21
|
+
codeVerifier?: string;
|
|
22
|
+
codeChallenge?: string;
|
|
23
23
|
token?: {
|
|
24
24
|
access_token: string;
|
|
25
25
|
token_type: string;
|
|
@@ -32,8 +32,35 @@ interface GitlabToken {
|
|
|
32
32
|
userId?: number;
|
|
33
33
|
username?: string;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
export type GitlabSession = Record<string, GitlabToken>;
|
|
36
|
+
interface GitlabAction {
|
|
37
|
+
action: 'create' | 'delete' | 'move' | 'update';
|
|
38
|
+
file_path: string;
|
|
39
|
+
content?: string;
|
|
40
|
+
}
|
|
41
|
+
interface GitlabWriteFile {
|
|
42
|
+
branch: string;
|
|
43
|
+
commit_message: string;
|
|
44
|
+
id?: string;
|
|
45
|
+
actions?: GitlabAction[];
|
|
46
|
+
content?: string;
|
|
47
|
+
file_path?: string;
|
|
48
|
+
encoding?: 'base64' | 'text';
|
|
49
|
+
}
|
|
50
|
+
interface GitlabGetToken {
|
|
51
|
+
grant_type: 'authorization_code';
|
|
52
|
+
client_id: string;
|
|
53
|
+
client_secret: string;
|
|
54
|
+
code: string;
|
|
55
|
+
redirect_uri: string;
|
|
56
|
+
code_verifier: string;
|
|
57
|
+
}
|
|
58
|
+
interface GitlabWebsiteName {
|
|
59
|
+
name: string;
|
|
60
|
+
}
|
|
61
|
+
interface GitlabCreateBranch {
|
|
62
|
+
branch: string;
|
|
63
|
+
ref: string;
|
|
37
64
|
}
|
|
38
65
|
export default class GitlabConnector implements StorageConnector {
|
|
39
66
|
private config;
|
|
@@ -47,13 +74,13 @@ export default class GitlabConnector implements StorageConnector {
|
|
|
47
74
|
options: GitlabOptions;
|
|
48
75
|
constructor(config: ServerConfig, opts: Partial<GitlabOptions>);
|
|
49
76
|
private getAssetPath;
|
|
50
|
-
|
|
51
|
-
|
|
77
|
+
createFile(session: GitlabSession, websiteId: WebsiteId, path: string, content: string, isBase64?: boolean): Promise<void>;
|
|
78
|
+
updateFile(session: GitlabSession, websiteId: WebsiteId, path: string, content: string, isBase64?: boolean): Promise<void>;
|
|
52
79
|
readFile(session: GitlabSession, websiteId: string, fileName: string): Promise<Buffer>;
|
|
53
80
|
/**
|
|
54
81
|
* Call the Gitlab API with the user's token and handle errors
|
|
55
82
|
*/
|
|
56
|
-
|
|
83
|
+
callApi(session: GitlabSession, path: string, method?: 'POST' | 'GET' | 'PUT' | 'DELETE', body?: GitlabWriteFile | GitlabGetToken | GitlabWebsiteName | GitlabCreateBranch | null, params?: any): Promise<any>;
|
|
57
84
|
private generateCodeVerifier;
|
|
58
85
|
private generateCodeChallenge;
|
|
59
86
|
private getRedirect;
|
|
@@ -64,6 +91,9 @@ export default class GitlabConnector implements StorageConnector {
|
|
|
64
91
|
* OAuth2 Step #1 from https://docs.gitlab.com/ee/api/oauth2.html#authorization-code-with-proof-key-for-code-exchange-pkce
|
|
65
92
|
*/
|
|
66
93
|
getOAuthUrl(session: GitlabSession): Promise<string>;
|
|
94
|
+
getSessionToken(session: GitlabSession | undefined): GitlabToken;
|
|
95
|
+
setSessionToken(session: GitlabSession, token: GitlabToken): void;
|
|
96
|
+
resetSessionToken(session: GitlabSession): void;
|
|
67
97
|
getOptions(formData: object): object;
|
|
68
98
|
getLoginForm(session: GitlabSession, redirectTo: string): Promise<null>;
|
|
69
99
|
getSettingsForm(session: GitlabSession, redirectTo: string): Promise<null>;
|
|
@@ -48,9 +48,6 @@ const types_1 = require("../../types");
|
|
|
48
48
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
49
49
|
const crypto_1 = __importStar(require("crypto"));
|
|
50
50
|
const path_1 = require("path");
|
|
51
|
-
async function wait(ms) {
|
|
52
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
53
|
-
}
|
|
54
51
|
const svg = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
55
52
|
<svg
|
|
56
53
|
xmlns:svg="http://www.w3.org/2000/svg"
|
|
@@ -144,29 +141,31 @@ class GitlabConnector {
|
|
|
144
141
|
async createFile(session, websiteId, path, content, isBase64 = false) {
|
|
145
142
|
// Remove leading slash
|
|
146
143
|
const safePath = path.replace(/^\//, '');
|
|
144
|
+
const encodePath = decodeURIComponent(path);
|
|
147
145
|
return this.callApi(session, `api/v4/projects/${websiteId}/repository/files/${safePath}`, 'POST', {
|
|
148
146
|
id: websiteId,
|
|
149
147
|
branch: this.options.branch,
|
|
150
148
|
content,
|
|
151
|
-
commit_message: `Create file ${
|
|
149
|
+
commit_message: `Create file ${encodePath} from Silex`,
|
|
152
150
|
encoding: isBase64 ? 'base64' : undefined,
|
|
153
151
|
});
|
|
154
152
|
}
|
|
155
153
|
async updateFile(session, websiteId, path, content, isBase64 = false) {
|
|
156
154
|
// Remove leading slash
|
|
157
155
|
const safePath = path.replace(/^\//, '');
|
|
156
|
+
const encodePath = decodeURIComponent(path);
|
|
158
157
|
return this.callApi(session, `api/v4/projects/${websiteId}/repository/files/${safePath}`, 'PUT', {
|
|
159
158
|
id: websiteId,
|
|
160
159
|
branch: this.options.branch,
|
|
161
160
|
content: await (0, connectors_1.contentToString)(content),
|
|
162
|
-
commit_message: `Update website asset ${
|
|
161
|
+
commit_message: `Update website asset ${encodePath} from Silex`,
|
|
163
162
|
encoding: isBase64 ? 'base64' : undefined,
|
|
164
163
|
});
|
|
165
164
|
}
|
|
166
165
|
async readFile(session, websiteId, fileName) {
|
|
167
166
|
const safePath = fileName.replace(/^\//, '');
|
|
168
167
|
// Call the API
|
|
169
|
-
const url = `${this.options.domain}/api/v4/projects/${websiteId}/repository/files/${safePath}?ref=${this.options.branch}&access_token=${session.
|
|
168
|
+
const url = `${this.options.domain}/api/v4/projects/${websiteId}/repository/files/${safePath}?ref=${this.options.branch}&access_token=${this.getSessionToken(session).token?.access_token}`;
|
|
170
169
|
const response = await (0, node_fetch_1.default)(url, {
|
|
171
170
|
method: 'GET',
|
|
172
171
|
headers: {
|
|
@@ -186,8 +185,8 @@ class GitlabConnector {
|
|
|
186
185
|
* The meta repo contains a JSON file which contains the list of websites
|
|
187
186
|
*/
|
|
188
187
|
//private getMetaRepoPath(session: GitlabSession): string {
|
|
189
|
-
// if(!session.
|
|
190
|
-
// return encodeURIComponent(`${session.
|
|
188
|
+
// if(!this.getSessionToken(session).username) throw new ApiError('Missing Gitlab user ID. User not logged in?', 401)
|
|
189
|
+
// return encodeURIComponent(`${this.getSessionToken(session).username}/${this.options.metaRepo}`)
|
|
191
190
|
//}
|
|
192
191
|
///**
|
|
193
192
|
// * Initialize the storage with a meta repo
|
|
@@ -210,7 +209,7 @@ class GitlabConnector {
|
|
|
210
209
|
* Call the Gitlab API with the user's token and handle errors
|
|
211
210
|
*/
|
|
212
211
|
async callApi(session, path, method = 'GET', body = null, params = {}) {
|
|
213
|
-
const token = session
|
|
212
|
+
const token = this.getSessionToken(session).token;
|
|
214
213
|
const tokenParam = token ? `access_token=${token.access_token}&` : '';
|
|
215
214
|
const paramsStr = Object.entries(params).map(([k, v]) => `${k}=${encodeURIComponent(v.toString())}`).join('&');
|
|
216
215
|
const url = `${this.options.domain}/${path}?${tokenParam}${paramsStr}`;
|
|
@@ -236,12 +235,12 @@ class GitlabConnector {
|
|
|
236
235
|
if (text.includes('A file with this name doesn\'t exist')) {
|
|
237
236
|
throw new types_1.ApiError('Gitlab API error (5): Not Found', 404);
|
|
238
237
|
}
|
|
239
|
-
else if (response.status === 401 && session
|
|
238
|
+
else if (response.status === 401 && this.getSessionToken(session).token?.refresh_token) {
|
|
240
239
|
// Refresh the token
|
|
241
|
-
const token = session
|
|
240
|
+
const token = this.getSessionToken(session).token;
|
|
242
241
|
const body = {
|
|
243
242
|
grant_type: 'refresh_token',
|
|
244
|
-
refresh_token: token
|
|
243
|
+
refresh_token: token?.refresh_token,
|
|
245
244
|
client_id: this.options.clientId,
|
|
246
245
|
client_secret: this.options.clientSecret,
|
|
247
246
|
};
|
|
@@ -254,15 +253,17 @@ class GitlabConnector {
|
|
|
254
253
|
});
|
|
255
254
|
const refreshJson = await response.json();
|
|
256
255
|
if (response.ok) {
|
|
257
|
-
session
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
256
|
+
this.setSessionToken(session, {
|
|
257
|
+
token: {
|
|
258
|
+
...token,
|
|
259
|
+
...refreshJson,
|
|
260
|
+
},
|
|
261
|
+
});
|
|
261
262
|
return await this.callApi(session, path, method, body, params);
|
|
262
263
|
}
|
|
263
264
|
else {
|
|
264
265
|
const message = typeof refreshJson?.message === 'object' ? Object.entries(refreshJson.message).map(entry => entry.join(' ')).join(' ') : refreshJson?.message ?? refreshJson?.error ?? response.statusText;
|
|
265
|
-
console.error('Gitlab API error (2) - could not refresh token', response.status, response.statusText, { message }, 'refresh_token:', token
|
|
266
|
+
console.error('Gitlab API error (2) - could not refresh token', response.status, response.statusText, { message }, 'refresh_token:', token?.refresh_token);
|
|
266
267
|
// Workaround for when the token is invalid
|
|
267
268
|
// It happens often which is not normal (refresh token should last 6 months)
|
|
268
269
|
this.logout(session);
|
|
@@ -272,6 +273,7 @@ class GitlabConnector {
|
|
|
272
273
|
}
|
|
273
274
|
else {
|
|
274
275
|
const message = typeof json?.message === 'object' ? Object.entries(json.message).map(entry => entry.join(' ')).join(' ') : json?.message ?? json?.error ?? response.statusText;
|
|
276
|
+
console.error('Gitlab API error (1)', response.status, response.statusText, { url, method, body, params, text, message });
|
|
275
277
|
throw new types_1.ApiError(`Gitlab API error (1): ${message}`, response.status);
|
|
276
278
|
}
|
|
277
279
|
}
|
|
@@ -322,13 +324,22 @@ class GitlabConnector {
|
|
|
322
324
|
// Create the code challenge
|
|
323
325
|
const codeChallenge = await this.generateCodeChallenge(codeVerifier);
|
|
324
326
|
// Store the code verifier and code challenge in the session
|
|
325
|
-
session
|
|
326
|
-
...session
|
|
327
|
+
this.setSessionToken(session, {
|
|
328
|
+
...this.getSessionToken(session),
|
|
327
329
|
state,
|
|
328
330
|
codeVerifier,
|
|
329
331
|
codeChallenge,
|
|
330
|
-
};
|
|
331
|
-
return `${this.options.domain}/oauth/authorize?client_id=${this.options.clientId}&redirect_uri=${redirect_uri}&response_type=code&state=${session.
|
|
332
|
+
});
|
|
333
|
+
return `${this.options.domain}/oauth/authorize?client_id=${this.options.clientId}&redirect_uri=${redirect_uri}&response_type=code&state=${this.getSessionToken(session).state}&scope=${this.options.scope}&code_challenge=${codeChallenge}&code_challenge_method=S256`;
|
|
334
|
+
}
|
|
335
|
+
getSessionToken(session) {
|
|
336
|
+
return (session ?? {})[this.connectorId] ?? {};
|
|
337
|
+
}
|
|
338
|
+
setSessionToken(session, token) {
|
|
339
|
+
session[this.connectorId] = token;
|
|
340
|
+
}
|
|
341
|
+
resetSessionToken(session) {
|
|
342
|
+
delete session[this.connectorId];
|
|
332
343
|
}
|
|
333
344
|
getOptions(formData) {
|
|
334
345
|
return {}; // FIXME: store branch
|
|
@@ -340,7 +351,7 @@ class GitlabConnector {
|
|
|
340
351
|
return null;
|
|
341
352
|
}
|
|
342
353
|
async isLoggedIn(session) {
|
|
343
|
-
return !!session
|
|
354
|
+
return !!this.getSessionToken(session).token;
|
|
344
355
|
}
|
|
345
356
|
/**
|
|
346
357
|
* Get the token from return code
|
|
@@ -348,11 +359,12 @@ class GitlabConnector {
|
|
|
348
359
|
* OAuth2 Step #2 from https://docs.gitlab.com/ee/api/oauth2.html#authorization-code-with-proof-key-for-code-exchange-pkce
|
|
349
360
|
*/
|
|
350
361
|
async setToken(session, loginResult) {
|
|
351
|
-
|
|
362
|
+
const sessionToken = this.getSessionToken(session);
|
|
363
|
+
if (!loginResult.state || loginResult.state !== sessionToken?.state)
|
|
352
364
|
throw new types_1.ApiError('Invalid state', 401);
|
|
353
|
-
if (!
|
|
365
|
+
if (!sessionToken?.codeVerifier)
|
|
354
366
|
throw new types_1.ApiError('Missing code verifier', 401);
|
|
355
|
-
if (!
|
|
367
|
+
if (!sessionToken?.codeChallenge)
|
|
356
368
|
throw new types_1.ApiError('Missing code challenge', 401);
|
|
357
369
|
const response = await (0, node_fetch_1.default)(this.options.domain + '/oauth/token', {
|
|
358
370
|
method: 'POST',
|
|
@@ -365,19 +377,26 @@ class GitlabConnector {
|
|
|
365
377
|
code: loginResult.code,
|
|
366
378
|
grant_type: 'authorization_code',
|
|
367
379
|
redirect_uri: this.getRedirect(),
|
|
368
|
-
code_verifier:
|
|
380
|
+
code_verifier: sessionToken.codeVerifier,
|
|
369
381
|
}),
|
|
370
382
|
});
|
|
371
383
|
const token = await response.json();
|
|
372
384
|
// Store the token in the session
|
|
373
|
-
|
|
385
|
+
this.setSessionToken(session, {
|
|
386
|
+
token,
|
|
387
|
+
...this.getSessionToken(session),
|
|
388
|
+
});
|
|
374
389
|
// We need to get the user ID for listWebsites
|
|
375
390
|
const user = await this.callApi(session, 'api/v4/user');
|
|
376
|
-
|
|
377
|
-
session
|
|
391
|
+
// Store the user details in the session
|
|
392
|
+
this.setSessionToken(session, {
|
|
393
|
+
...this.getSessionToken(session),
|
|
394
|
+
userId: user.id,
|
|
395
|
+
username: user.username,
|
|
396
|
+
});
|
|
378
397
|
}
|
|
379
398
|
async logout(session) {
|
|
380
|
-
|
|
399
|
+
this.resetSessionToken(session);
|
|
381
400
|
}
|
|
382
401
|
async getUser(session) {
|
|
383
402
|
const user = await this.callApi(session, 'api/v4/user');
|
|
@@ -411,7 +430,7 @@ class GitlabConnector {
|
|
|
411
430
|
// throw e
|
|
412
431
|
// }
|
|
413
432
|
//}
|
|
414
|
-
const projects = await this.callApi(session, `api/v4/users/${session.
|
|
433
|
+
const projects = await this.callApi(session, `api/v4/users/${this.getSessionToken(session).userId}/projects`);
|
|
415
434
|
return projects
|
|
416
435
|
.filter(p => p.name.startsWith(this.options.repoPrefix))
|
|
417
436
|
.map(p => ({
|
|
@@ -563,6 +582,7 @@ class GitlabConnector {
|
|
|
563
582
|
//})
|
|
564
583
|
}
|
|
565
584
|
async writeAssets(session, websiteId, files, status) {
|
|
585
|
+
status && await status({ message: 'in progress...', status: types_1.JobStatus.IN_PROGRESS });
|
|
566
586
|
// For each file
|
|
567
587
|
for (const file of files) {
|
|
568
588
|
// Convert to base64
|
|
@@ -577,10 +597,12 @@ class GitlabConnector {
|
|
|
577
597
|
await this.createFile(session, websiteId, path, content, true);
|
|
578
598
|
}
|
|
579
599
|
else {
|
|
600
|
+
status && await status({ message: 'Error', status: types_1.JobStatus.ERROR });
|
|
580
601
|
throw e;
|
|
581
602
|
}
|
|
582
603
|
}
|
|
583
604
|
}
|
|
605
|
+
status && await status({ message: 'Successfull', status: types_1.JobStatus.SUCCESS });
|
|
584
606
|
}
|
|
585
607
|
async readAsset(session, websiteId, fileName) {
|
|
586
608
|
// Remove leading slash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitlabConnector.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/server/GitlabConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitlabConnector.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/server/GitlabConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gitlab hosting connector
|
|
3
|
+
* @fileoverview Gitlab hosting connector for Silex, connect to the user's Gitlab account to host websites with .gitlab-ci.yml file template for plain html by default
|
|
4
|
+
* @see https://docs.gitlab.com/ee/api/oauth2.html
|
|
5
|
+
* @see https://docs.gitlab.com/ee/user/project/pages/getting_started/pages_ci_cd_template.html
|
|
6
|
+
*/
|
|
7
|
+
import GitlabConnector, { GitlabOptions, GitlabSession } from './GitlabConnector';
|
|
8
|
+
import { HostingConnector, ConnectorFile } from '../../server/connectors/connectors';
|
|
9
|
+
import { ConnectorType, WebsiteId, JobData } from '../../types';
|
|
10
|
+
import { JobManager } from '../../server/jobs';
|
|
11
|
+
import { ServerConfig } from '../../server/config';
|
|
12
|
+
export default class GitlabHostingConnector extends GitlabConnector implements HostingConnector {
|
|
13
|
+
displayName: string;
|
|
14
|
+
connectorType: ConnectorType;
|
|
15
|
+
constructor(config: ServerConfig, opts: Partial<GitlabOptions>);
|
|
16
|
+
publish(session: GitlabSession, websiteId: WebsiteId, files: ConnectorFile[], { startJob, jobSuccess, jobError }: JobManager): Promise<JobData>;
|
|
17
|
+
getUrl(session: GitlabSession, websiteId: WebsiteId): Promise<string>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Silex website builder, free/libre no-code tool for makers.
|
|
4
|
+
* Copyright (c) 2023 lexoyo and Silex Labs foundation
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
/**
|
|
23
|
+
* Gitlab hosting connector
|
|
24
|
+
* @fileoverview Gitlab hosting connector for Silex, connect to the user's Gitlab account to host websites with .gitlab-ci.yml file template for plain html by default
|
|
25
|
+
* @see https://docs.gitlab.com/ee/api/oauth2.html
|
|
26
|
+
* @see https://docs.gitlab.com/ee/user/project/pages/getting_started/pages_ci_cd_template.html
|
|
27
|
+
*/
|
|
28
|
+
const GitlabConnector_1 = __importDefault(require("./GitlabConnector"));
|
|
29
|
+
const types_1 = require("../../types");
|
|
30
|
+
class GitlabHostingConnector extends GitlabConnector_1.default {
|
|
31
|
+
displayName = 'Gitlab hosting';
|
|
32
|
+
connectorType = types_1.ConnectorType.HOSTING;
|
|
33
|
+
constructor(config, opts) {
|
|
34
|
+
super(config, opts);
|
|
35
|
+
/* public directory for standard gitlab pages */
|
|
36
|
+
this.options.assetsFolder = 'public';
|
|
37
|
+
}
|
|
38
|
+
async publish(session, websiteId, files, { startJob, jobSuccess, jobError }) {
|
|
39
|
+
const job = startJob(`Publishing to ${this.displayName}`);
|
|
40
|
+
job.logs = [[`Publishing to ${this.displayName}`]];
|
|
41
|
+
job.errors = [[]];
|
|
42
|
+
/* Configuration file .gitlab-ci.yml contains template for plain html Gitlab pages*/
|
|
43
|
+
const pathYml = '.gitlab-ci.yml';
|
|
44
|
+
const contentYml = `image: busybox
|
|
45
|
+
pages:
|
|
46
|
+
stage: deploy
|
|
47
|
+
environment: production
|
|
48
|
+
script:${files.find(file => file.path.includes('.11tydata.')) ? `
|
|
49
|
+
- npx @11ty/eleventy@canary --input=public --output=_site
|
|
50
|
+
- mkdir -p public/css public/assets && cp -R public/css public/assets _site/
|
|
51
|
+
- rm -rf public && mv _site public` : `
|
|
52
|
+
- echo "The site will be deployed to $CI_PAGES_URL"`}
|
|
53
|
+
artifacts:
|
|
54
|
+
paths:
|
|
55
|
+
- public
|
|
56
|
+
rules:
|
|
57
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
58
|
+
`;
|
|
59
|
+
try {
|
|
60
|
+
await this.readFile(session, websiteId, pathYml);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
// If the file .gitlab-ci.yml does not exist, create it, otherwise do nothing (do not overwriting existing one)
|
|
64
|
+
if (e.statusCode === 404 || e.httpStatusCode === 404 || e.message.endsWith('A file with this name doesn\'t exist')) {
|
|
65
|
+
await this.createFile(session, websiteId, pathYml, contentYml);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/* publishing all files for website*/
|
|
69
|
+
await this.writeAssets(session, websiteId, files, async ({ status, message }) => {
|
|
70
|
+
// Update the job status
|
|
71
|
+
job.status = status;
|
|
72
|
+
job.message = message;
|
|
73
|
+
job.logs[0].push(message);
|
|
74
|
+
if (status === types_1.JobStatus.SUCCESS) {
|
|
75
|
+
const gitlabUrl = await this.getUrl(session, websiteId);
|
|
76
|
+
job.message = gitlabUrl;
|
|
77
|
+
job.logs[0].push(gitlabUrl);
|
|
78
|
+
jobSuccess(job.jobId, 'Gitlab pages PUBLISHED: ' + '<a href="' + gitlabUrl + '" target="_blank">' + gitlabUrl + '</a>');
|
|
79
|
+
}
|
|
80
|
+
else if (status === types_1.JobStatus.ERROR) {
|
|
81
|
+
job.errors[0].push(message);
|
|
82
|
+
jobError(job.jobId, message);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return job;
|
|
86
|
+
}
|
|
87
|
+
/* Get and return Url Gitlab Pages */
|
|
88
|
+
async getUrl(session, websiteId) {
|
|
89
|
+
const response = await this.callApi(session, `api/v4/projects/${websiteId}/pages`, 'GET');
|
|
90
|
+
return response.url;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.default = GitlabHostingConnector;
|
|
94
|
+
//# sourceMappingURL=GitlabHostingConnector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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.0.0-alpha.
|
|
4
|
+
"version": "3.0.0-alpha.154",
|
|
5
5
|
"version:backwardcompat": "3.0.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Alex Hoyau",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"dev": "run-p watch start:debug start:http-server",
|
|
80
80
|
"watch": "npm-watch",
|
|
81
81
|
"start": "node dist/server/server/",
|
|
82
|
-
"start:debug": "cross-env SILEX_FS_ROOT=`pwd`/silex SILEX_DEBUG=true
|
|
82
|
+
"start:debug": "cross-env SILEX_FS_ROOT=`pwd`/silex SILEX_DEBUG=true nodemon --watch dist/server dist/server/server/",
|
|
83
83
|
"start:http-server": "http-server silex/hosting",
|
|
84
84
|
"prepublishOnly": "$npm_execpath run lint && $npm_execpath test && $npm_execpath run build",
|
|
85
85
|
"preversion": "$npm_execpath run prepublishOnly",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"build:server:debug": "SILEX_DEBUG=true tsc -p tsconfig-server-debug.json",
|
|
96
96
|
"build:plugins:server": "tsc -p tsconfig-plugins-server.json",
|
|
97
97
|
"build:plugins:client": "tsc -p tsconfig-plugins-client.json",
|
|
98
|
-
"lint": "eslint
|
|
98
|
+
"lint": "eslint \"src/ts/**/*.ts\"",
|
|
99
99
|
"lint:fix": "$npm_execpath run lint -- --fix",
|
|
100
100
|
"test": "node --experimental-vm-modules `node_modules jest`/jest/bin/jest.js",
|
|
101
101
|
"test:watch": "$npm_execpath test -- --watch"
|
|
@@ -104,11 +104,11 @@
|
|
|
104
104
|
"@fontsource/ubuntu": "^5.0.12",
|
|
105
105
|
"@fortawesome/fontawesome-free": "6.5.1",
|
|
106
106
|
"@silexlabs/grapesjs-filter-styles": "^1.0.0",
|
|
107
|
-
"@silexlabs/grapesjs-fonts": "^1.0.
|
|
107
|
+
"@silexlabs/grapesjs-fonts": "^1.0.19",
|
|
108
108
|
"@silexlabs/grapesjs-loading": "1.0.9",
|
|
109
|
-
"@silexlabs/grapesjs-notifications": "^0.0.
|
|
109
|
+
"@silexlabs/grapesjs-notifications": "^0.0.8",
|
|
110
110
|
"@silexlabs/grapesjs-storage-rate-limit": "^1.0.8",
|
|
111
|
-
"@silexlabs/grapesjs-symbols": "1.0.
|
|
111
|
+
"@silexlabs/grapesjs-symbols": "1.0.40",
|
|
112
112
|
"@silexlabs/grapesjs-ui-suggest-classes": "1.0.23",
|
|
113
113
|
"@silexlabs/silex-plugins": "1.0.10",
|
|
114
114
|
"@types/archiver": "^6.0.2",
|