gamelet-cli 0.7.12 → 0.7.13
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/assets/package.json.twig +3 -3
- package/assets/tsconfig.json.twig +1 -1
- package/build/package.json +67 -67
- package/build/src/gamelet/download.js +773 -737
- package/build/src/gamelet/merges.js +181 -179
- package/build/src/gamelet/prepare.js +276 -277
- package/build/src/gamelet/upload.js +280 -279
- package/build/src/index.js +86 -86
- package/build/src/server/Constant.js +9 -9
- package/build/src/server/entities/Client.js +78 -78
- package/build/src/server/entities/ClientOwner.js +67 -67
- package/build/src/server/entities/ClientProject.js +84 -84
- package/build/src/server/entities/Gameroom.js +89 -89
- package/build/src/server/entities/GameroomBase.js +276 -276
- package/build/src/server/entities/Gamezone.js +73 -73
- package/build/src/server/entities/ListFilter.js +193 -193
- package/build/src/server/entities/Monitor.js +94 -94
- package/build/src/server/entities/Player.js +140 -140
- package/build/src/server/managers/ApiManager.js +75 -75
- package/build/src/server/managers/ClientManager.js +64 -64
- package/build/src/server/managers/Database.js +627 -627
- package/build/src/server/managers/GameroomManager.js +392 -392
- package/build/src/server/managers/ManagerBase.js +17 -17
- package/build/src/server/managers/MonitorManager.js +73 -73
- package/build/src/server/managers/PlayerManager.js +108 -108
- package/build/src/server/managers/SocketManager.js +60 -60
- package/build/src/server/managers/UserManager.js +58 -58
- package/build/src/server/messages/Message.js +143 -143
- package/build/src/server/server.js +112 -113
- package/build/src/server/services/ServiceBase.js +25 -25
- package/build/src/server/services/clientService.js +23 -23
- package/build/src/server/services/gameroomService.js +121 -121
- package/build/src/server/services/gltserver.service.js +23 -23
- package/build/src/server/services/playerService.js +32 -32
- package/build/src/server/startServer.js +32 -33
- package/build/src/server/types/BadgeStatus.js +25 -25
- package/build/src/server/types/OrderType.js +38 -38
- package/build/src/server/types/SubmitType.js +24 -24
- package/build/src/server/types/TimeRange.js +26 -26
- package/build/src/server/utils/ArrayUtil.js +126 -126
- package/build/src/server/utils/IntUtil.js +9 -9
- package/build/src/server/utils/ObjectUtil.js +191 -191
- package/build/src/server/utils/StringUtil.js +37 -37
- package/build/src/utils/cli.js +53 -53
- package/build/src/utils/file.js +350 -337
- package/build/src/utils/init.js +57 -42
- package/build/src/utils/log.js +18 -17
- package/build/src/utils/net.js +43 -39
- package/package.json +2 -2
|
@@ -1,279 +1,280 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.upload = void 0;
|
|
7
|
-
const file_1 = require("../utils/file");
|
|
8
|
-
const net_1 = require("../utils/net");
|
|
9
|
-
const merges_1 = require("./merges");
|
|
10
|
-
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
11
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
12
|
-
const isbinaryfile_1 = require("isbinaryfile");
|
|
13
|
-
const tempFolder = '/.temp';
|
|
14
|
-
|
|
15
|
-
if (debug) {
|
|
16
|
-
console.log('debug = true');
|
|
17
|
-
}
|
|
18
|
-
let srcFolder = `${folder}/src`;
|
|
19
|
-
net_1.apiSetToken(token);
|
|
20
|
-
file_1.setFileCacheFolder(folder);
|
|
21
|
-
if (!file_1.fileExists(srcFolder)) {
|
|
22
|
-
return Promise.reject(`${srcFolder} does not exist`);
|
|
23
|
-
}
|
|
24
|
-
let zipFilename = folder + tempFolder + '/sources.zip';
|
|
25
|
-
return Promise.resolve()
|
|
26
|
-
.then(() => validateToken(projectCode, token))
|
|
27
|
-
.then(() => validateGitCommit(folder))
|
|
28
|
-
.then(() => checkSourcesMerged(zipFilename, projectCode, folder, token))
|
|
29
|
-
.then(basezip => createUploadQueue(projectCode, basezip, folder))
|
|
30
|
-
.then(queue => processUploadQueue(projectCode, queue, folder))
|
|
31
|
-
.then(queue => queue.length && downloadBase(zipFilename, projectCode, folder, token))
|
|
32
|
-
.then(() => file_1.rmdir(`${folder}${tempFolder}`).catch(_e => { }))
|
|
33
|
-
.then(() => {
|
|
34
|
-
console.log();
|
|
35
|
-
console.log('done');
|
|
36
|
-
})
|
|
37
|
-
.catch(err => {
|
|
38
|
-
console.log();
|
|
39
|
-
console.error(err);
|
|
40
|
-
})
|
|
41
|
-
.then(() => console.log());
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
.then(() => file_1.
|
|
95
|
-
.then(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
sourcesProcessing.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
progressBar.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
sourcesProcessing.
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
let
|
|
176
|
-
let
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
let
|
|
182
|
-
let
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
console.log('
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
sourcesProcessing.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
sourcesProcessing.
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dhbWVsZXQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdDQUFvSztBQUNwSyxzQ0FBbUU7QUFDbkUscUNBQTBDO0FBQzFDLGdFQUF1QztBQUN2Qyx3REFBZ0M7QUFDaEMsK0NBQTRDO0FBRTVDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUVmLFFBQUEsTUFBTSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQzVELElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUMvQjtJQUNELElBQUksU0FBUyxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUM7SUFDaEMsaUJBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQix5QkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUzQixJQUFJLENBQUMsaUJBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN4QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLGlCQUFpQixDQUFDLENBQUM7S0FDeEQ7SUFFRCxJQUFJLFdBQVcsR0FBRyxNQUFNLEdBQUcsVUFBVSxHQUFHLGNBQWMsQ0FBQztJQUV2RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUU7U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN2RSxJQUFJLENBQUMsT0FB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
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.upload = void 0;
|
|
7
|
+
const file_1 = require("../utils/file");
|
|
8
|
+
const net_1 = require("../utils/net");
|
|
9
|
+
const merges_1 = require("./merges");
|
|
10
|
+
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
11
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
12
|
+
const isbinaryfile_1 = require("isbinaryfile");
|
|
13
|
+
const tempFolder = '/.temp';
|
|
14
|
+
const upload = ({ projectCode, folder, token, debug }) => {
|
|
15
|
+
if (debug) {
|
|
16
|
+
console.log('debug = true');
|
|
17
|
+
}
|
|
18
|
+
let srcFolder = `${folder}/src`;
|
|
19
|
+
(0, net_1.apiSetToken)(token);
|
|
20
|
+
(0, file_1.setFileCacheFolder)(folder);
|
|
21
|
+
if (!(0, file_1.fileExists)(srcFolder)) {
|
|
22
|
+
return Promise.reject(`${srcFolder} does not exist`);
|
|
23
|
+
}
|
|
24
|
+
let zipFilename = folder + tempFolder + '/sources.zip';
|
|
25
|
+
return Promise.resolve()
|
|
26
|
+
.then(() => validateToken(projectCode, token))
|
|
27
|
+
.then(() => validateGitCommit(folder))
|
|
28
|
+
.then(() => checkSourcesMerged(zipFilename, projectCode, folder, token))
|
|
29
|
+
.then(basezip => createUploadQueue(projectCode, basezip, folder))
|
|
30
|
+
.then(queue => processUploadQueue(projectCode, queue, folder))
|
|
31
|
+
.then(queue => queue.length && downloadBase(zipFilename, projectCode, folder, token))
|
|
32
|
+
.then(() => (0, file_1.rmdir)(`${folder}${tempFolder}`).catch(_e => { }))
|
|
33
|
+
.then(() => {
|
|
34
|
+
console.log();
|
|
35
|
+
console.log('done');
|
|
36
|
+
})
|
|
37
|
+
.catch(err => {
|
|
38
|
+
console.log();
|
|
39
|
+
console.error(err);
|
|
40
|
+
})
|
|
41
|
+
.then(() => console.log());
|
|
42
|
+
};
|
|
43
|
+
exports.upload = upload;
|
|
44
|
+
function validateGitCommit(folder) {
|
|
45
|
+
return (0, file_1.isGitCommitted)(folder)
|
|
46
|
+
.then(committed => {
|
|
47
|
+
if (!committed) {
|
|
48
|
+
return Promise.reject('Please commit your current sources first.');
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return Promise.resolve();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function validateToken(projectCode, _token) {
|
|
56
|
+
return (0, net_1.apiGet)(`/validate/local_dev_token/${projectCode}/edit`)
|
|
57
|
+
.catch(_e => {
|
|
58
|
+
console.error('Only the current Project Editor can do the upload');
|
|
59
|
+
throw _e;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function downloadBase(zipFilename, projectCode, folder, token) {
|
|
63
|
+
let basezip = `${folder}/.cg/sources.base`;
|
|
64
|
+
console.log(`update sources base ...`);
|
|
65
|
+
return Promise.resolve()
|
|
66
|
+
.then(() => {
|
|
67
|
+
if (!(0, file_1.fileExists)(zipFilename)) {
|
|
68
|
+
let progressBar = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic);
|
|
69
|
+
return (0, file_1.downloadFile)((0, net_1.cgUrl)(`/download/${projectCode}?token=${token}`), zipFilename, progressBar, { noCache: true })
|
|
70
|
+
.then(() => progressBar && progressBar.stop());
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return Promise.resolve();
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
.then(() => (0, file_1.moveFile)(zipFilename, basezip));
|
|
77
|
+
}
|
|
78
|
+
let sourcesProcessing;
|
|
79
|
+
function checkSourcesMerged(zipFilename, projectCode, folder, token) {
|
|
80
|
+
let progressBar = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic);
|
|
81
|
+
sourcesProcessing = [];
|
|
82
|
+
let basezip = `${folder}/.cg/sources.base`;
|
|
83
|
+
if (!(0, file_1.fileExists)(basezip)) {
|
|
84
|
+
return Promise.reject('Cannot merge: source base missing.');
|
|
85
|
+
}
|
|
86
|
+
console.log(`prepare updates: download remote sources ...`);
|
|
87
|
+
return (0, file_1.downloadFile)((0, net_1.cgUrl)(`/download/${projectCode}?token=${token}`), zipFilename, progressBar, { noCache: true })
|
|
88
|
+
.then(() => {
|
|
89
|
+
progressBar.stop();
|
|
90
|
+
return (0, file_1.getFileZip)(zipFilename);
|
|
91
|
+
})
|
|
92
|
+
.then(jszip => {
|
|
93
|
+
return Promise.resolve()
|
|
94
|
+
.then(() => (0, file_1.rmdir)(`${folder}${tempFolder}`).catch(_e => { }))
|
|
95
|
+
.then(() => (0, file_1.getFileZip)(basezip))
|
|
96
|
+
.then(basezip => {
|
|
97
|
+
let saveSrcFiles = [];
|
|
98
|
+
sourcesProcessing = [];
|
|
99
|
+
console.log(`prepare updates: diff remote sources ...`);
|
|
100
|
+
for (let filename in jszip.files) {
|
|
101
|
+
if (filename.startsWith('src/')) {
|
|
102
|
+
saveSrcFiles.push(checkSourceMerged(jszip.file(filename), basezip.file(filename), folder));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return Promise.all(saveSrcFiles)
|
|
106
|
+
.then(results => {
|
|
107
|
+
if (results.find(result => !result)) {
|
|
108
|
+
return Promise.reject(`Please do a merge before upload.\nRun the command "gamelet merge"`);
|
|
109
|
+
}
|
|
110
|
+
return basezip;
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function checkSourceMerged(file, base, folder) {
|
|
116
|
+
if (sourcesProcessing.length > 19) {
|
|
117
|
+
return (0, file_1.wait)(30).then(() => checkSourceMerged(file, base, folder));
|
|
118
|
+
}
|
|
119
|
+
sourcesProcessing.push(file);
|
|
120
|
+
return (0, merges_1.isSourceMerged)(file.name, file, base, folder)
|
|
121
|
+
.then(result => {
|
|
122
|
+
let index = sourcesProcessing.indexOf(file);
|
|
123
|
+
sourcesProcessing.splice(index, 1);
|
|
124
|
+
return result;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function processUploadQueue(projectCode, queue, _folder) {
|
|
128
|
+
if (!queue.length) {
|
|
129
|
+
console.log('nothing to upload');
|
|
130
|
+
return Promise.resolve(queue);
|
|
131
|
+
}
|
|
132
|
+
return inquirer_1.default.prompt([
|
|
133
|
+
{
|
|
134
|
+
type: 'confirm',
|
|
135
|
+
name: 'confirm',
|
|
136
|
+
message: `${queue.length} item(s) to upload to "${projectCode}", Continue?`,
|
|
137
|
+
}
|
|
138
|
+
])
|
|
139
|
+
.then(result => {
|
|
140
|
+
if (result.confirm) {
|
|
141
|
+
sourcesProcessing = [];
|
|
142
|
+
let progressBar = new cli_progress_1.default.SingleBar({}, cli_progress_1.default.Presets.shades_classic);
|
|
143
|
+
progressBar.start(queue.length, 0);
|
|
144
|
+
return Promise.all(queue.map(item => processUploadQueueItem(projectCode, item, progressBar)))
|
|
145
|
+
.then(() => progressBar.stop());
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
queue.length = 0;
|
|
149
|
+
}
|
|
150
|
+
return Promise.resolve();
|
|
151
|
+
})
|
|
152
|
+
.then(() => queue);
|
|
153
|
+
}
|
|
154
|
+
function processUploadQueueItem(projectCode, queueItem, progressBar) {
|
|
155
|
+
if (sourcesProcessing.length > 5) {
|
|
156
|
+
return (0, file_1.wait)(30).then(() => processUploadQueueItem(projectCode, queueItem, progressBar));
|
|
157
|
+
}
|
|
158
|
+
sourcesProcessing.push(queueItem);
|
|
159
|
+
return Promise.resolve()
|
|
160
|
+
.then(() => {
|
|
161
|
+
return (0, net_1.apiPost)(`/update/source/local_dev/${projectCode}/${queueItem.action}`, {
|
|
162
|
+
path: queueItem.path,
|
|
163
|
+
filename: queueItem.filename,
|
|
164
|
+
content: queueItem.content || '',
|
|
165
|
+
});
|
|
166
|
+
})
|
|
167
|
+
.then(() => {
|
|
168
|
+
progressBar.increment(1);
|
|
169
|
+
let index = sourcesProcessing.indexOf(queueItem);
|
|
170
|
+
sourcesProcessing.splice(index, 1);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
function createUploadQueue(projectCode, basezip, folder) {
|
|
174
|
+
sourcesProcessing = [];
|
|
175
|
+
let srcFolder = `${folder}/src`;
|
|
176
|
+
let queue = [];
|
|
177
|
+
let filesToDelete = {};
|
|
178
|
+
for (let filename in basezip.files) {
|
|
179
|
+
let search = filename.match(/^src\/(.*\/)?([^\/]+)$/);
|
|
180
|
+
if (search) {
|
|
181
|
+
let path = search[1] ? search[1].substr(0, search[1].length - 1) : '';
|
|
182
|
+
let fname = search[2];
|
|
183
|
+
let fullpath = path ? `${path}/${fname}` : fname;
|
|
184
|
+
filesToDelete[fullpath] = {
|
|
185
|
+
path: path,
|
|
186
|
+
filename: fname,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
console.log('listing files to upload...');
|
|
191
|
+
console.log('===============================');
|
|
192
|
+
return (0, file_1.listFiles)(srcFolder)
|
|
193
|
+
.then(files => {
|
|
194
|
+
return Promise.all(files.map(file => updateSource(projectCode, srcFolder, '', file, basezip, queue, filesToDelete)));
|
|
195
|
+
})
|
|
196
|
+
.then(() => {
|
|
197
|
+
sourcesProcessing = [];
|
|
198
|
+
for (let key in filesToDelete) {
|
|
199
|
+
let queueItem = Object.assign({
|
|
200
|
+
action: 'delete',
|
|
201
|
+
}, filesToDelete[key]);
|
|
202
|
+
queue.push(queueItem);
|
|
203
|
+
console.log(' - (delete) ' + key);
|
|
204
|
+
}
|
|
205
|
+
})
|
|
206
|
+
.then(() => {
|
|
207
|
+
if (queue.length) {
|
|
208
|
+
console.log('-------------------------------');
|
|
209
|
+
}
|
|
210
|
+
return queue;
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
function updateSource(projectCode, srcFolder, path, filename, basezip, queue, filesToDelete) {
|
|
214
|
+
if (sourcesProcessing.length > 19) {
|
|
215
|
+
return (0, file_1.wait)(30).then(() => updateSource(projectCode, srcFolder, path, filename, basezip, queue, filesToDelete));
|
|
216
|
+
}
|
|
217
|
+
let fullpathname = path ? `${path}/${filename}` : filename;
|
|
218
|
+
sourcesProcessing.push(fullpathname);
|
|
219
|
+
let localFilepath = `${srcFolder}/${fullpathname}`;
|
|
220
|
+
delete filesToDelete[fullpathname];
|
|
221
|
+
return (0, file_1.fileStat)(localFilepath)
|
|
222
|
+
.then((stats) => {
|
|
223
|
+
if (stats.isDirectory()) {
|
|
224
|
+
return (0, file_1.listFiles)(localFilepath)
|
|
225
|
+
.then(files => {
|
|
226
|
+
let index = sourcesProcessing.indexOf(fullpathname);
|
|
227
|
+
sourcesProcessing.splice(index, 1);
|
|
228
|
+
return Promise.all(files.map(file => {
|
|
229
|
+
return updateSource(projectCode, srcFolder, fullpathname, file, basezip, queue, filesToDelete);
|
|
230
|
+
}));
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
else if (stats.isFile()) {
|
|
234
|
+
return (0, isbinaryfile_1.isBinaryFile)(localFilepath)
|
|
235
|
+
.then(isBinary => {
|
|
236
|
+
if (isBinary) {
|
|
237
|
+
return Promise.reject(`${filename} is not a text file.`);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
return (0, file_1.getFileString)(localFilepath)
|
|
241
|
+
.then(content => {
|
|
242
|
+
return getSourceAction(fullpathname, content, basezip)
|
|
243
|
+
.then(action => {
|
|
244
|
+
if (action) {
|
|
245
|
+
queue.push({
|
|
246
|
+
path: path,
|
|
247
|
+
filename: filename,
|
|
248
|
+
content: content,
|
|
249
|
+
action: action,
|
|
250
|
+
});
|
|
251
|
+
let sign = action == 'create' ? '+' : '>';
|
|
252
|
+
console.log(` ${sign} (${action}) ` + fullpathname);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
return Promise.resolve();
|
|
261
|
+
}
|
|
262
|
+
})
|
|
263
|
+
.then(() => {
|
|
264
|
+
let index = sourcesProcessing.indexOf(fullpathname);
|
|
265
|
+
sourcesProcessing.splice(index, 1);
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
function getSourceAction(sourcePathname, sourceContent, basezip) {
|
|
269
|
+
let baseFile = basezip.file(`src/${sourcePathname}`);
|
|
270
|
+
if (baseFile) {
|
|
271
|
+
return baseFile.async('string')
|
|
272
|
+
.then(baseContent => {
|
|
273
|
+
return sourceContent != baseContent ? 'update' : '';
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
return Promise.resolve('create');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dhbWVsZXQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdDQUFvSztBQUNwSyxzQ0FBbUU7QUFDbkUscUNBQTBDO0FBQzFDLGdFQUF1QztBQUN2Qyx3REFBZ0M7QUFDaEMsK0NBQTRDO0FBRTVDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUVyQixNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUM1RCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxTQUFTLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQztJQUNoQyxJQUFBLGlCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsSUFBQSx5QkFBa0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUUzQixJQUFJLENBQUMsSUFBQSxpQkFBVSxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFdBQVcsR0FBRyxNQUFNLEdBQUcsVUFBVSxHQUFHLGNBQWMsQ0FBQztJQUV2RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUU7U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFB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
|