@jtff/miztemplate-lib 3.0.0-rc11 → 3.0.0-rc12

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/lib/mizlib.js CHANGED
@@ -12,6 +12,23 @@ class Mizlib {
12
12
  // no need for initialization
13
13
  }
14
14
 
15
+ async injectLuaScriptIntoZipObjectAndUpdateWorkspace(workspacePath, folderPath, luaScriptsArray, titleString, zipObject, timing, colorString) {
16
+ let missionObject = await this.getMissionObjectFromZipObject(zipObject);
17
+ let mapResourceObject = await this.getMapResourceObjectFromZipObject(zipObject);
18
+ let tuple = this.injectLuaScriptAndUpdateWorkspace(workspacePath, folderPath, luaScriptsArray, titleString, missionObject, mapResourceObject, timing, colorString);
19
+ for (let luaScript of luaScriptsArray) {
20
+ this.injectFileIntoZipObject(zipObject, [
21
+ workspacePath,
22
+ "/",
23
+ folderPath,
24
+ "/",
25
+ path.basename(luaScript)
26
+ ].join("")
27
+ );
28
+ }
29
+ return {tuple, zipObject};
30
+ }
31
+
15
32
  injectLuaScriptAndUpdateWorkspace(workspacePath, folderPath, luaScriptsArray, titleString, missionObject, mapResourceObject, timing, colorString) {
16
33
  let tuple = this.injectLuaScriptsInMissionObject(
17
34
  missionObject['trig'],
@@ -98,7 +115,7 @@ class Mizlib {
98
115
  // TODO: Inject fake data
99
116
  console.log("NO THEATRE SPECIFIED. RADIO PRESETS WILL NOT BE AVAILABLE !");
100
117
  } else {
101
- await this.mizUpdateRadioPresets(zip, 'resources/radios/' + strTheatreSettings);
118
+ await this.injectRadioPresetsFromFolderIntoZipObject(zip, 'resources/radios/' + strTheatreSettings);
102
119
  }
103
120
  this.mizUpdateSettingsLuaFiles(zip, strTheatreSettings);
104
121
  await this.mizUpdateSoundFolders(zip);
@@ -211,7 +228,7 @@ class Mizlib {
211
228
  }
212
229
 
213
230
 
214
- async mizUpdateRadioPresets(zip, preset_folder) {
231
+ async injectRadioPresetsFromFolderIntoZipObject(zip, preset_folder) {
215
232
  // Create folder Avionics to make sure it exists then delete it to remove any old preset in the template
216
233
  // Allows adding presets for A-10C
217
234
  zip.folder("Avionics");
@@ -327,11 +344,11 @@ class Mizlib {
327
344
  }
328
345
  }
329
346
 
330
- async injectSingleSoundFolderIntoZipObject(zip, folder) {
331
- if (fs.existsSync('resources/sounds/' + folder) && fs.lstatSync('resources/sounds/' + folder).isDirectory()) {
332
- console.log('adding sound files from resources/sounds/' + folder + ' folder...');
347
+ async injectSingleSoundFolderIntoZipObject(zip, workspacePath, folder) {
348
+ if (fs.existsSync(workspacePath + '/resources/sounds/' + folder) && fs.lstatSync(workspacePath + '/resources/sounds/' + folder).isDirectory()) {
349
+ console.log('adding sound files from '+workspacePath+'/resources/sounds/' + folder + ' folder...');
333
350
  zip = zip.remove(folder).folder(folder);
334
- await this.addFilesToZip(zip, 'resources/sounds/' + folder, fs.readdirSync('resources/sounds/' + folder));
351
+ await this.addFilesToZip(zip, workspacePath + '/resources/sounds/' + folder, fs.readdirSync(workspacePath + '/resources/sounds/' + folder));
335
352
  }
336
353
  }
337
354
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jtff/miztemplate-lib",
3
- "version": "3.0.0-rc11",
3
+ "version": "3.0.0-rc12",
4
4
  "description": "JTFF mission template library",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -3,54 +3,46 @@ const path = require("path");
3
3
  const prompt = require('prompt');
4
4
 
5
5
  function injectScripts(jtffci, env_mission) {
6
- // create mission folder in jtffci.config.reneral.missionFolder folder
7
- fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
8
- if (fs.existsSync([
6
+ const workspacePath = [
9
7
  jtffci.config.general.missionFolder,
10
8
  "/",
11
9
  path.parse(env_mission).name
12
- ].join(""))) {
10
+ ].join("");
11
+ const destinationMizFilePath = [
12
+ workspacePath,
13
+ '/',
14
+ path.basename(env_mission)
15
+ ].join("");
16
+ // create mission folder in jtffci.config.reneral.missionFolder folder
17
+ fs.mkdirSync(jtffci.config.general.missionFolder, { recursive: true });
18
+ if (fs.existsSync(workspacePath)) {
13
19
  // if there is a specific mission folder (dist/env_mission), clean it
14
- fs.rmSync([
15
- jtffci.config.general.missionFolder,
16
- '/',
17
- path.parse(env_mission).name
18
- ].join(""),
19
- { recursive: true }
20
- );
20
+ fs.rmSync(workspacePath,{ recursive: true });
21
21
  }
22
22
  // create a settings folder
23
23
  fs.mkdirSync([
24
- jtffci.config.general.missionFolder,
25
- "/",
26
- path.parse(env_mission).name,
24
+ workspacePath,
27
25
  "/settings"
28
26
  ].join(""),
29
27
  { recursive: true }
30
28
  );
31
29
  // create a src folder
32
30
  fs.mkdirSync([
33
- jtffci.config.general.missionFolder,
34
- "/",
35
- path.parse(env_mission).name,
31
+ workspacePath,
36
32
  "/src"
37
33
  ].join(""),
38
34
  { recursive: true }
39
35
  );
40
36
  // create a lib folder
41
37
  fs.mkdirSync([
42
- jtffci.config.general.missionFolder,
43
- "/",
44
- path.parse(env_mission).name,
38
+ workspacePath,
45
39
  "/lib"
46
40
  ].join(""),
47
41
  { recursive: true }
48
42
  );
49
43
  // create a resources folder
50
44
  fs.mkdirSync([
51
- jtffci.config.general.missionFolder,
52
- "/",
53
- path.parse(env_mission).name,
45
+ workspacePath,
54
46
  "/resources"
55
47
  ].join(""),
56
48
  { recursive: true }
@@ -135,9 +127,10 @@ function injectScripts(jtffci, env_mission) {
135
127
  console.log(' inject_A2G scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G));
136
128
  console.log(' inject_mission specific scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission));
137
129
  console.log(' inject_radio_presets scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets));
138
-
139
130
  // open the miz input file for reading
140
- const mizObject = await jtffci.mizlib.getZipObjectFromMizPath(env_mission);
131
+ const originalMizObject = await jtffci.mizlib.getZipObjectFromMizPath(env_mission);
132
+ // copie de l'objet pour modification
133
+ let mizObject = originalMizObject;
141
134
  // Open the mission Object and mapResource Object for modification
142
135
  const missionObject = await jtffci.mizlib.getMissionObjectFromZipObject(mizObject);
143
136
  let mapResourceObject = await jtffci.mizlib.getMapResourceObjectFromZipObject(mizObject);
@@ -150,7 +143,7 @@ function injectScripts(jtffci, env_mission) {
150
143
  mapResourceObject = {};
151
144
  }
152
145
  }
153
- // injection des librairies externes
146
+ // insertion des librairies externes dans la file d'attente
154
147
  libsArray.push({
155
148
  folder: 'lib',
156
149
  scriptTitle: 'SplashDamage 2.0',
@@ -186,59 +179,13 @@ function injectScripts(jtffci, env_mission) {
186
179
  timing: 15,
187
180
  color: '0x008000ff'
188
181
  });
189
- // inject all the lua files in the src folder into the source zip object
190
- // jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "src");
191
- // inject all the lua files in the lib folder into the source zip object
192
- // jtffci.mizlib.injectLuaFilesFromFolderIntoZipObject(mizObject, "lib");
193
182
  // injection des fichiers son Généraux si repertoire resources/sounds/General present
194
- await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([
195
- jtffci.config.general.missionFolder,
196
- "/",
197
- path.parse(env_mission).name
198
- ].join(""), 'General');
199
- await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'General');
200
- // On fait une sauvegarde dans le folder de destination
201
- // fs.writeFileSync([
202
- // jtffci.config.general.missionFolder,
203
- // "/",
204
- // path.parse(env_mission).name,
205
- // "/",
206
- // path.basename(env_mission)
207
- // ].join(""),
208
- // await mizObject.generateAsync({
209
- // type: 'nodebuffer',
210
- // streamFiles: true,
211
- // compression: "DEFLATE",
212
- // compressionOptions: {
213
- // level: 9
214
- // }
215
- // })
216
- // );
183
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'General');
184
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'General');
217
185
  // injection des fichiers son Misc si repertoire resources/sounds/Misc present
218
- await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([jtffci.config.general.missionFolder,
219
- "/",
220
- path.parse(env_mission).name
221
- ].join(""), 'Misc');
222
- await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'Misc');
223
- // On fait une sauvegarde dans le folder de destination
224
- // fs.writeFileSync([
225
- // jtffci.config.general.missionFolder,
226
- // "/",
227
- // path.parse(env_mission).name,
228
- // "/",
229
- // path.basename(env_mission)
230
- // ].join(""),
231
- // await mizObject.generateAsync({
232
- // type: 'nodebuffer',
233
- // streamFiles: true,
234
- // compression: "DEFLATE",
235
- // compressionOptions: {
236
- // level: 9
237
- // }
238
- // })
239
- // );
240
-
241
- // injection Librairies JTFF
186
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'Misc');
187
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'Misc');
188
+ // insertion des Librairies JTFF dans la file d'attente
242
189
  settingsArray.push(
243
190
  {
244
191
  file: "settings-gemman.lua",
@@ -261,26 +208,24 @@ function injectScripts(jtffci, env_mission) {
261
208
  timing: 18,
262
209
  color: '0xffff00ff'
263
210
  });
211
+ // traitement de la file d'attente des librairies (injection des triggers et des fichiers lua)
264
212
  for ( script of libsArray) {
265
- let tuple = jtffci.mizlib.injectLuaScriptAndUpdateWorkspace(
266
- [
267
- jtffci.config.general.missionFolder,
268
- "/",
269
- path.parse(env_mission).name,
270
- ].join(""),
213
+ console.log(['adding library',script.scripts.join(' and '),'from',workspacePath + '/' + script.folder, 'folder...'].join(' '));
214
+ let {tuple, zipObject} = await jtffci.mizlib.injectLuaScriptIntoZipObjectAndUpdateWorkspace(
215
+ workspacePath,
271
216
  script.folder,
272
217
  script.scripts,
273
218
  script.scriptTitle + ' Load',
274
- missionObject,
275
- mapResourceObject,
219
+ mizObject,
276
220
  script.timing,
277
221
  script.color
278
222
  );
279
223
  missionObject['trig'] = tuple.tObject;
280
224
  missionObject['trigrules'] = tuple.trObject;
281
225
  mapResourceObject = tuple.mrObject;
226
+ mizObject = zipObject;
282
227
  }
283
- // injection de la gestion des Set_Clients
228
+ // injection de la gestion des Set_Clients dans la file d'attente
284
229
  scriptsArray.push({
285
230
  folder: 'src',
286
231
  scriptTitle: 'Set clients',
@@ -288,7 +233,7 @@ function injectScripts(jtffci, env_mission) {
288
233
  timing: 21,
289
234
  color: '0xff0000ff'
290
235
  });
291
- // injection des Tankers et OndemandTankers
236
+ // injection des Tankers et OndemandTankers dans la file d'attente
292
237
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_tankers)) {
293
238
  settingsArray.push(
294
239
  {
@@ -308,13 +253,11 @@ function injectScripts(jtffci, env_mission) {
308
253
  color: '0xff0000ff'
309
254
  });
310
255
  }
256
+ // injection des Airboss et Pedros dans la file d'attente
311
257
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_airboss)) {
312
258
  // injection des fichiers son Airboss
313
- await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder([jtffci.config.general.missionFolder,
314
- "/",
315
- path.parse(env_mission).name
316
- ].join(""), 'AIRBOSS');
317
- await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'AIRBOSS');
259
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'AIRBOSS');
260
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'AIRBOSS');
318
261
  settingsArray.push(
319
262
  {
320
263
  file: "settings-airboss.lua",
@@ -333,6 +276,7 @@ function injectScripts(jtffci, env_mission) {
333
276
  color: '0xff0000ff'
334
277
  });
335
278
  }
279
+ // injection des Beacons dans la file d'attente
336
280
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_beacons)) {
337
281
  settingsArray.push(
338
282
  {
@@ -348,6 +292,7 @@ function injectScripts(jtffci, env_mission) {
348
292
  color: '0xff0000ff'
349
293
  });
350
294
  }
295
+ // injection des AWACS et OnDemandAwacs dans la file d'attente
351
296
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_awacs)) {
352
297
  settingsArray.push(
353
298
  {
@@ -367,9 +312,11 @@ function injectScripts(jtffci, env_mission) {
367
312
  color: '0xff0000ff'
368
313
  });
369
314
  }
315
+ // injection des ATIS dans la file d'attente
370
316
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
371
317
  // injection des fichiers son ATIS
372
- // await jtffci.mizlib.mizUpdateSingleSoundFolder(mizObject, 'ATIS');
318
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'ATIS');
319
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'ATIS');
373
320
  settingsArray.push(
374
321
  {
375
322
  file: "settings-atis.lua",
@@ -384,6 +331,7 @@ function injectScripts(jtffci, env_mission) {
384
331
  color: '0xff0000ff'
385
332
  });
386
333
  }
334
+ // injection des scripts A2A dans la file d'attente
387
335
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2A)) {
388
336
  settingsArray.push(
389
337
  {
@@ -415,9 +363,11 @@ function injectScripts(jtffci, env_mission) {
415
363
  color: '0xff0000ff'
416
364
  });
417
365
  }
366
+ // injection des CTLD dans la file d'attente
418
367
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_Logistics)) {
419
368
  // injection des fichiers son CTLD
420
- await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject, 'CTLD');
369
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'CTLD');
370
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'CTLD');
421
371
  settingsArray.push(
422
372
  {
423
373
  file: "settings-logistics.lua",
@@ -432,9 +382,11 @@ function injectScripts(jtffci, env_mission) {
432
382
  color: '0xff0000ff'
433
383
  });
434
384
  }
385
+ // injection des scripts A2G dans la file d'attente
435
386
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
436
387
  // injection des fichiers son Range
437
- // await jtffci.mizlib.mizUpdateSingleSoundFolder(mizObject, 'RANGE');
388
+ await jtffci.mizlib.updateWorkspaceWithSingleSoundFolder(workspacePath, 'RANGE');
389
+ await jtffci.mizlib.injectSingleSoundFolderIntoZipObject(mizObject,workspacePath, 'RANGE');
438
390
  settingsArray.push(
439
391
  {
440
392
  file: "settings-ranges.lua",
@@ -469,46 +421,8 @@ function injectScripts(jtffci, env_mission) {
469
421
  color: '0xff0000ff'
470
422
  });
471
423
  }
424
+ // injection du script spécifique de mission dans la file d'attente
472
425
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission)) {
473
- // fs.copyFileSync('templates/src/200-mission.lua',
474
- // [
475
- // jtffci.config.general.missionFolder,
476
- // "/",
477
- // path.parse(env_mission).name,
478
- // "/src/200-mission.lua"
479
- // ].join("")
480
- // );
481
- // const zip = await jtffci.mizlib.getZipObjectFromMizPath([
482
- // jtffci.config.general.missionFolder,
483
- // "/",
484
- // path.parse(env_mission).name,
485
- // "/",
486
- // path.basename(env_mission)
487
- // ].join(""));
488
- //
489
- // jtffci.mizlib.injectFileIntoZipObject(zip, [
490
- // jtffci.config.general.missionFolder,
491
- // "/",
492
- // path.parse(env_mission).name,
493
- // "/src/200-mission.lua"
494
- // ].join("")
495
- // );
496
- // const inputZip = await zip.generateAsync({
497
- // type: 'nodebuffer',
498
- // streamFiles: true,
499
- // compression: "DEFLATE",
500
- // compressionOptions: {
501
- // level: 9
502
- // }
503
- // });
504
- // fs.writeFileSync([
505
- // jtffci.config.general.missionFolder,
506
- // "/",
507
- // path.parse(env_mission).name,
508
- // "/",
509
- // path.basename(env_mission)
510
- // ].join(""),
511
- // inputZip);
512
426
  scriptsArray.push({
513
427
  folder: 'src',
514
428
  scriptTitle: 'Mission specific',
@@ -517,93 +431,68 @@ function injectScripts(jtffci, env_mission) {
517
431
  color: '0xff0000ff'
518
432
  });
519
433
  }
434
+ // traitement de la file d'attente des scripts (injection des triggers et des fichiers lua)
520
435
  for ( script of scriptsArray) {
521
- let tuple = jtffci.mizlib.injectLuaScriptAndUpdateWorkspace(
522
- [
523
- jtffci.config.general.missionFolder,
524
- "/",
525
- path.parse(env_mission).name,
526
- ].join(""),
436
+ console.log(['adding script',script.scripts.join(' and '),'from',workspacePath + '/' + script.folder, 'folder...'].join(' '));
437
+ let {tuple, zipObject} = await jtffci.mizlib.injectLuaScriptIntoZipObjectAndUpdateWorkspace(
438
+ workspacePath,
527
439
  script.folder,
528
440
  script.scripts,
529
441
  script.scriptTitle,
530
- missionObject,
531
- mapResourceObject,
442
+ mizObject,
532
443
  script.timing,
533
444
  script.color
534
445
  );
535
446
  missionObject['trig'] = tuple.tObject;
536
447
  missionObject['trigrules'] = tuple.trObject;
537
448
  mapResourceObject = tuple.mrObject;
449
+ mizObject = zipObject;
538
450
  }
451
+ // injection des preset radio dans les avions humains
539
452
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets)) {
540
453
  // injection des preset radio
541
- console.log([
542
- jtffci.config.general.missionFolder,
543
- "/",
544
- path.parse(env_mission).name,
545
- "/",
546
- path.basename(env_mission)
547
- ].join("") + ": injecting radio presets declared in resources/radios/" + path.parse(env_mission).name);
548
- await jtffci.mizlib.mizUpdateRadioPresets(mizObject, 'resources/radios/' + path.parse(env_mission).name);
549
- }
550
- //injection du trigger des settings
551
- for (let settingsObject of settingsArray) {
552
- fs.copyFileSync(
553
- [
554
- 'templates/settings/',
555
- settingsObject.file
556
- ].join(""),
557
- [
558
- jtffci.config.general.missionFolder,
559
- "/",
560
- path.parse(env_mission).name,
561
- "/settings/",
562
- settingsObject.file
563
- ].join("")
564
- );
454
+ fs.mkdirSync(workspacePath + '/resources/radios',{recursive: true});
455
+ console.log(destinationMizFilePath + ": injecting radio presets declared in resources/radios/" + path.parse(env_mission).name);
456
+ await jtffci.mizlib.injectRadioPresetsFromFolderIntoZipObject(mizObject, workspacePath + '/resources/radios');
565
457
  }
566
- await jtffci.mizlib.injectLuaSettingsFromFolderPathToZipObject(mizObject,
567
- [
568
- jtffci.config.general.missionFolder,
569
- "/",
570
- path.parse(env_mission).name,
571
- "/settings"
572
- ].join("")
573
- );
458
+ // traitement de la file d'attente des settings (injection des triggers et des fichiers lua)
574
459
  if (settingsArray.length > 0) {
575
- let tuple = jtffci.mizlib.injectLuaScriptsInMissionObject(
576
- missionObject['trig'],
577
- missionObject['trigrules'],
578
- mapResourceObject,
460
+ console.log(['adding settings files',settingsArray.map(a => a.file).join(' and '),'from',workspacePath + '/settings', 'folder...'].join(' '));
461
+ let {tuple, zipObject} = await jtffci.mizlib.injectLuaScriptIntoZipObjectAndUpdateWorkspace(
462
+ workspacePath,
463
+ 'settings',
464
+ settingsArray.map(a => a.file),
579
465
  'Mission Settings',
580
- settingsArray.map(settingsObject => settingsObject.file),
466
+ mizObject,
581
467
  15,
582
468
  '0xffff00ff'
583
469
  );
584
470
  missionObject['trig'] = tuple.tObject;
585
471
  missionObject['trigrules'] = tuple.trObject;
586
472
  mapResourceObject = tuple.mrObject;
473
+ mizObject = zipObject;
587
474
  }
475
+ // creation du cichier miz dans l'espace de travail
476
+ await fs.closeSync(fs.openSync(destinationMizFilePath, 'a'));
477
+ // On fait une sauvegarde dans le folder de destination
478
+ fs.writeFileSync(
479
+ destinationMizFilePath,
480
+ await mizObject.generateAsync({
481
+ type: 'nodebuffer',
482
+ streamFiles: true,
483
+ compression: "DEFLATE",
484
+ compressionOptions: {
485
+ level: 9
486
+ }
487
+ })
488
+ );
588
489
  // Sauvegarde de la mission avec scripts injectés
589
490
  await jtffci.mizlib.mizInjectMissionDataFile(
590
- [
591
- jtffci.config.general.missionFolder,
592
- "/",
593
- path.parse(env_mission).name,
594
- "/",
595
- path.basename(env_mission)
596
- ].join(""),
491
+ destinationMizFilePath,
597
492
  { mission: missionObject }
598
493
  );
599
494
  await jtffci.mizlib.mizInjectMapResourceFile(
600
- [
601
- jtffci.config.general.missionFolder,
602
- "/",
603
- path.parse(env_mission).name,
604
- "/",
605
- path.basename(env_mission)
606
- ].join(""),
495
+ destinationMizFilePath,
607
496
  { mapResource: mapResourceObject }
608
497
  );
609
498
  console.log('...Done...');