@jtff/miztemplate-lib 2.0.2 → 2.0.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.
@@ -357,28 +357,29 @@ class MizTemplateCI{
357
357
  }
358
358
 
359
359
  uploadMizFiles(credentials) {
360
- const jtffFtpServer = new ftpClient();
360
+ const destFtpServer = new ftpClient();
361
+ const configObject = this.config;
361
362
 
362
- jtffFtpServer.connect({
363
+ destFtpServer.connect({
363
364
  host: credentials.host,
364
365
  secure: false,
365
366
  user: credentials.user,
366
367
  password: credentials.password
367
368
  });
368
- jtffFtpServer.on('ready', function () {
369
- jtffFtpServer.cwd(credentials.folder, function (err, curDir) {
369
+ destFtpServer.on('ready', function () {
370
+ destFtpServer.cwd(credentials.folder, function (err, curDir) {
370
371
  if (err) throw err;
371
372
  Promise.all(
372
- fs.readdirSync(this.config.general.missionFolder)
373
+ fs.readdirSync(configObject.general.missionFolder)
373
374
  .filter(file => file.endsWith('.pub.json'))
374
375
  .map(file => {
375
376
  return new Promise((resolve, reject) => {
376
- // console.log(this.config.general.missionFolder+'/'+file);
377
- fs.readFile(this.config.general.missionFolder + '/' + file, function (err, data) {
377
+ // console.log(configObject.general.missionFolder+'/'+file);
378
+ fs.readFile(configObject.general.missionFolder + '/' + file, function (err, data) {
378
379
  if (err) reject(err);
379
380
  data = JSON.parse(data.toString());
380
381
  // console.log(data);
381
- jtffFtpServer.put(data.mizFiles, path.basename(data.mizFiles), false, function (err) {
382
+ destFtpServer.put(data.mizFiles, path.basename(data.mizFiles), false, function (err) {
382
383
  if (err) reject(err);
383
384
  console.log('file ' + path.basename(data.mizFiles) + ' uploaded on DCS Server');
384
385
  resolve(path.basename(data.mizFiles));
@@ -387,7 +388,7 @@ class MizTemplateCI{
387
388
  })
388
389
  })
389
390
  ).then(() => {
390
- jtffFtpServer.end();
391
+ destFtpServer.end();
391
392
  });
392
393
  });
393
394
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jtff/miztemplate-lib",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "JTFF mission template library",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -72,18 +72,18 @@ function injectScripts(jtffci, env_mission) {
72
72
  warning: 'inject_A2A must be yes/y/o/oui or no/n/non',
73
73
  default: 'n'
74
74
  },
75
- {
76
- name: 'inject_mission',
77
- validator: /^y\b|n\b|o\b|yes\b|no\b|non\b|oui\b/i,
78
- warning: 'inject_mission must be yes/y/o/oui or no/n/non',
79
- default: 'y'
80
- },
81
75
  {
82
76
  name: 'inject_A2G',
83
77
  validator: /^y\b|n\b|o\b|yes\b|no\b|non\b|oui\b/i,
84
78
  warning: 'inject_A2G must be yes/y/o/oui or no/n/non',
85
79
  default: 'n'
86
80
  },
81
+ {
82
+ name: 'inject_mission',
83
+ validator: /^y\b|n\b|o\b|yes\b|no\b|non\b|oui\b/i,
84
+ warning: 'inject_mission must be yes/y/o/oui or no/n/non',
85
+ default: 'y'
86
+ },
87
87
  {
88
88
  name: 'inject_radio_presets',
89
89
  validator: /^y\b|n\b|o\b|yes\b|no\b|non\b|oui\b/i,
@@ -105,8 +105,8 @@ function injectScripts(jtffci, env_mission) {
105
105
  console.log(' inject_awacs scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_awacs));
106
106
  console.log(' inject_atis scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis));
107
107
  console.log(' inject_A2A scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2A));
108
- console.log(' inject_mission specific scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission));
109
108
  console.log(' inject_A2G scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G));
109
+ console.log(' inject_mission specific scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission));
110
110
  console.log(' inject_radio_presets scripts: ' + (/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_radio_presets));
111
111
 
112
112
  const zip = await jtffci.mizOpen(env_mission);
@@ -333,6 +333,10 @@ function injectScripts(jtffci, env_mission) {
333
333
  file: "settings-awacs.lua",
334
334
  objectName: "AwacsConfig"
335
335
  },
336
+ {
337
+ file: "settings-awacsondemand.lua",
338
+ objectName: "AwacsOnDemandConfig"
339
+ },
336
340
  );
337
341
  tuple = jtffci.injectScripts(
338
342
  missionObject['trig'],
@@ -349,31 +353,31 @@ function injectScripts(jtffci, env_mission) {
349
353
  }
350
354
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_atis)) {
351
355
  // injection des fichiers son ATIS
352
- const zip = await jtffci.mizOpen([
353
- jtffci.config.general.missionFolder,
354
- "/",
355
- path.parse(env_mission).name,
356
- "/",
357
- path.basename(env_mission)
358
- ].join(""));
356
+ // const zip = await jtffci.mizOpen([
357
+ // jtffci.config.general.missionFolder,
358
+ // "/",
359
+ // path.parse(env_mission).name,
360
+ // "/",
361
+ // path.basename(env_mission)
362
+ // ].join(""));
359
363
  // const atisSoundFolder = zip.remove('ATIS').folder('ATIS');
360
364
  // await jtffci.addFilesToZip(atisSoundFolder, 'resources/sounds/ATIS', fs.readdirSync('resources/sounds/ATIS'));
361
- const inputZip = await zip.generateAsync({
362
- type: 'nodebuffer',
363
- streamFiles: true,
364
- compression: "DEFLATE",
365
- compressionOptions: {
366
- level: 9
367
- }
368
- });
369
- fs.writeFileSync([
370
- jtffci.config.general.missionFolder,
371
- "/",
372
- path.parse(env_mission).name,
373
- "/",
374
- path.basename(env_mission)
375
- ].join(""),
376
- inputZip);
365
+ // const inputZip = await zip.generateAsync({
366
+ // type: 'nodebuffer',
367
+ // streamFiles: true,
368
+ // compression: "DEFLATE",
369
+ // compressionOptions: {
370
+ // level: 9
371
+ // }
372
+ // });
373
+ // fs.writeFileSync([
374
+ // jtffci.config.general.missionFolder,
375
+ // "/",
376
+ // path.parse(env_mission).name,
377
+ // "/",
378
+ // path.basename(env_mission)
379
+ // ].join(""),
380
+ // inputZip);
377
381
  settingsArray.push(
378
382
  {
379
383
  file: "settings-atis.lua",
@@ -429,13 +433,75 @@ function injectScripts(jtffci, env_mission) {
429
433
  missionObject['trigrules'] = tuple.trObject;
430
434
  mapResourceObject = tuple.mrObject;
431
435
  }
436
+ if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
437
+ // injection des fichiers son Range
438
+ // const zip = await jtffci.mizOpen([
439
+ // jtffci.config.general.missionFolder,
440
+ // "/",
441
+ // path.parse(env_mission).name,
442
+ // "/",
443
+ // path.basename(env_mission)
444
+ // ].join(""));
445
+ // const rangeSoundFolder = zip.remove('RANGE').folder('RANGE');
446
+ // await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/RANGE', fs.readdirSync('resources/sounds/RANGE'));
447
+ // const inputZip = await zip.generateAsync({
448
+ // type: 'nodebuffer',
449
+ // streamFiles: true,
450
+ // compression: "DEFLATE",
451
+ // compressionOptions: {
452
+ // level: 9
453
+ // }
454
+ // });
455
+ // fs.writeFileSync([
456
+ // jtffci.config.general.missionFolder,
457
+ // "/",
458
+ // path.parse(env_mission).name,
459
+ // "/",
460
+ // path.basename(env_mission)
461
+ // ].join(""),
462
+ // inputZip);
463
+ settingsArray.push(
464
+ {
465
+ file: "settings-ranges.lua",
466
+ objectName: "RangeConfig"
467
+ },
468
+ {
469
+ file: "settings-sams.lua",
470
+ objectName: "SamsConfig"
471
+ },
472
+ {
473
+ file: "settings-training_ranges.lua",
474
+ objectName: "TrainingRangeConfig"
475
+ },
476
+ {
477
+ file: "settings-fac_ranges.lua",
478
+ objectName: "FACRangeConfig"
479
+ },
480
+ {
481
+ file: "settings-skynet.lua",
482
+ objectName: "SkynetConfig"
483
+ },
484
+ );
485
+ tuple = jtffci.injectScripts(
486
+ missionObject['trig'],
487
+ missionObject['trigrules'],
488
+ mapResourceObject,
489
+ 'Air To Ground',
490
+ ['190-ranges.lua', '191-sams.lua', '193-training_ranges.lua', '196-fac_ranges.lua', '199-skynet.lua'],
491
+ 29,
492
+ '0xff0000ff'
493
+ );
494
+ missionObject['trig'] = tuple.tObject;
495
+ missionObject['trigrules'] = tuple.trObject;
496
+ mapResourceObject = tuple.mrObject;
497
+ }
432
498
  if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_mission)) {
433
- fs.copyFileSync('templates/src/180-mission.lua',
499
+ fs.copyFileSync('templates/src/200-mission.lua',
434
500
  [
435
501
  jtffci.config.general.missionFolder,
436
502
  "/",
437
503
  path.parse(env_mission).name,
438
- "/src/180-mission.lua"
504
+ "/src/200-mission.lua"
439
505
  ].join("")
440
506
  );
441
507
  const zip = await jtffci.mizOpen([
@@ -450,7 +516,7 @@ function injectScripts(jtffci, env_mission) {
450
516
  jtffci.config.general.missionFolder,
451
517
  "/",
452
518
  path.parse(env_mission).name,
453
- "/src/180-mission.lua"
519
+ "/src/200-mission.lua"
454
520
  ].join("")
455
521
  );
456
522
  const inputZip = await zip.generateAsync({
@@ -474,70 +540,8 @@ function injectScripts(jtffci, env_mission) {
474
540
  missionObject['trigrules'],
475
541
  mapResourceObject,
476
542
  'Mission specific',
477
- ['180-mission.lua'],
478
- 28,
479
- '0xff0000ff'
480
- );
481
- missionObject['trig'] = tuple.tObject;
482
- missionObject['trigrules'] = tuple.trObject;
483
- mapResourceObject = tuple.mrObject;
484
- }
485
- if ((/^y\b|o\b|yes\b|oui\b/i).test(prompt_result.inject_A2G)) {
486
- // injection des fichiers son Range
487
- const zip = await jtffci.mizOpen([
488
- jtffci.config.general.missionFolder,
489
- "/",
490
- path.parse(env_mission).name,
491
- "/",
492
- path.basename(env_mission)
493
- ].join(""));
494
- // const rangeSoundFolder = zip.remove('RANGE').folder('RANGE');
495
- // await jtffci.addFilesToZip(rangeSoundFolder, 'resources/sounds/RANGE', fs.readdirSync('resources/sounds/RANGE'));
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
- settingsArray.push(
513
- {
514
- file: "settings-ranges.lua",
515
- objectName: "RangeConfig"
516
- },
517
- {
518
- file: "settings-sams.lua",
519
- objectName: "SamsConfig"
520
- },
521
- {
522
- file: "settings-training_ranges.lua",
523
- objectName: "TrainingRangeConfig"
524
- },
525
- {
526
- file: "settings-fac_ranges.lua",
527
- objectName: "FACRangeConfig"
528
- },
529
- {
530
- file: "settings-skynet.lua",
531
- objectName: "SkynetConfig"
532
- },
533
- );
534
- tuple = jtffci.injectScripts(
535
- missionObject['trig'],
536
- missionObject['trigrules'],
537
- mapResourceObject,
538
- 'Air To Ground',
539
- ['190-ranges.lua', '191-sams.lua', '193-training_ranges.lua', '196-fac_ranges.lua', '199-skynet.lua'],
540
- 29,
543
+ ['200-mission.lua'],
544
+ 30,
541
545
  '0xff0000ff'
542
546
  );
543
547
  missionObject['trig'] = tuple.tObject;