@cenk1cenk2/oclif-common 6.0.4 → 6.2.0

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/index.d.ts CHANGED
@@ -185,10 +185,10 @@ declare class ParserService {
185
185
  private readonly logger;
186
186
  parsers: ClassType<GenericParser>[];
187
187
  constructor(moduleRef: ModuleRef, fs: FileSystemService, logger: LoggerService);
188
- getParser(file: string): Promise<GenericParser>;
188
+ byFt(file: string): GenericParser;
189
+ fetch<T extends GenericParser>(Parser: ClassType<T>): T;
189
190
  inject<T extends GenericParser>(Parser: ClassType<T>): Promise<T>;
190
- setParsers(...parsers: ClassType<GenericParser>[]): void;
191
- addParsers(...parsers: ClassType<GenericParser>[]): void;
191
+ register(...parsers: ClassType<GenericParser>[]): Promise<void>;
192
192
  read<T = unknown>(file: string): Promise<T>;
193
193
  write<T = LockableData>(file: string, data: T): Promise<void>;
194
194
  parse<T = unknown>(file: string, data: string | Buffer): Promise<T>;
@@ -236,7 +236,7 @@ interface UnlockData extends CommonLockerData {
236
236
  }
237
237
  interface LockerServiceOptions {
238
238
  file: string;
239
- parser: GenericParser;
239
+ parser: ClassType<GenericParser>;
240
240
  root?: string[];
241
241
  context?: string;
242
242
  token?: InjectionToken;
@@ -245,11 +245,12 @@ interface LockerServiceOptions {
245
245
  declare class LockerService<LockFile extends LockableData = LockableData> {
246
246
  private readonly logger;
247
247
  private readonly fs;
248
+ private readonly parser;
248
249
  private readonly options;
249
250
  readonly op: typeof op;
250
251
  private toLock;
251
252
  private toUnlock;
252
- constructor(logger: LoggerService, fs: FileSystemService, options: LockerServiceOptions);
253
+ constructor(logger: LoggerService, fs: FileSystemService, parser: ParserService, options: LockerServiceOptions);
253
254
  hasLock(): boolean;
254
255
  hasUnlock(): boolean;
255
256
  addLock<T extends LockableData = LockableData>(...data: LockData<T>[]): void;
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ var HelpGroups;
27
27
  })(HelpGroups || (HelpGroups = {}));
28
28
 
29
29
  // src/lib/config/config.service.ts
30
- import { Inject as Inject2, Injectable as Injectable8 } from "@nestjs/common";
30
+ import { Inject as Inject2, Injectable as Injectable5 } from "@nestjs/common";
31
31
  import op from "object-path-immutable";
32
32
  import { join } from "path";
33
33
 
@@ -399,12 +399,13 @@ LoggerModule = _ts_decorate3([
399
399
  ], LoggerModule);
400
400
 
401
401
  // src/lib/parser/parser.service.ts
402
- import { Injectable as Injectable7 } from "@nestjs/common";
402
+ import { Injectable as Injectable4 } from "@nestjs/common";
403
403
  import { ModuleRef } from "@nestjs/core";
404
404
 
405
- // src/lib/parser/fts/env-parser.service.ts
405
+ // src/lib/fs/filesystem.service.ts
406
406
  import { Injectable as Injectable3 } from "@nestjs/common";
407
- import { EOL as EOL2 } from "os";
407
+ import fs from "fs-extra";
408
+ import { extname, dirname } from "path";
408
409
  function _ts_decorate4(decorators, target, key, desc) {
409
410
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
410
411
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -422,164 +423,7 @@ function _ts_metadata3(k, v) {
422
423
  }
423
424
  __name(_ts_metadata3, "_ts_metadata");
424
425
  var _a4;
425
- var EnvironmentVariableParser = (_a4 = class {
426
- constructor(logger) {
427
- __publicField(this, "logger");
428
- __publicField(this, "LINE");
429
- this.logger = logger;
430
- this.LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
431
- this.logger.setup(this.constructor.name);
432
- }
433
- parse(data) {
434
- try {
435
- return data.toString().split(EOL2).reduce((o, line) => {
436
- const match = this.LINE.exec(line);
437
- const key = match[1];
438
- const value = match[2] ?? "";
439
- return {
440
- ...o,
441
- [key]: value
442
- };
443
- }, {});
444
- } catch (e) {
445
- this.logger.trace("Error during parsing environment file: %s", e.message);
446
- throw e;
447
- }
448
- }
449
- stringify(data) {
450
- return Object.entries(data).map(([k, v]) => `${k}=${v}`).join(EOL2) + EOL2;
451
- }
452
- }, __name(_a4, "EnvironmentVariableParser"), __publicField(_a4, "extensions", [
453
- "env"
454
- ]), _a4);
455
- EnvironmentVariableParser = _ts_decorate4([
456
- Injectable3(),
457
- _ts_metadata3("design:type", Function),
458
- _ts_metadata3("design:paramtypes", [
459
- typeof LoggerService === "undefined" ? Object : LoggerService
460
- ])
461
- ], EnvironmentVariableParser);
462
-
463
- // src/lib/parser/fts/json-parser.service.ts
464
- import { Injectable as Injectable4 } from "@nestjs/common";
465
- function _ts_decorate5(decorators, target, key, desc) {
466
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
467
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
468
- r = Reflect.decorate(decorators, target, key, desc);
469
- else
470
- for (var i = decorators.length - 1; i >= 0; i--)
471
- if (d = decorators[i])
472
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
473
- return c > 3 && r && Object.defineProperty(target, key, r), r;
474
- }
475
- __name(_ts_decorate5, "_ts_decorate");
476
- function _ts_metadata4(k, v) {
477
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
478
- return Reflect.metadata(k, v);
479
- }
480
- __name(_ts_metadata4, "_ts_metadata");
481
- var _a5;
482
- var JsonParser = (_a5 = class {
483
- constructor(logger) {
484
- __publicField(this, "logger");
485
- this.logger = logger;
486
- this.logger.setup(this.constructor.name);
487
- }
488
- parse(data) {
489
- try {
490
- return JSON.parse(data.toString());
491
- } catch (e) {
492
- this.logger.trace("Error during parsing JSON file: %s", e.message);
493
- throw e;
494
- }
495
- }
496
- stringify(data) {
497
- return JSON.stringify(data, null, 2);
498
- }
499
- }, __name(_a5, "JsonParser"), __publicField(_a5, "extensions", [
500
- "json"
501
- ]), _a5);
502
- JsonParser = _ts_decorate5([
503
- Injectable4(),
504
- _ts_metadata4("design:type", Function),
505
- _ts_metadata4("design:paramtypes", [
506
- typeof LoggerService === "undefined" ? Object : LoggerService
507
- ])
508
- ], JsonParser);
509
-
510
- // src/lib/parser/fts/yaml-parser.service.ts
511
- import { Injectable as Injectable5 } from "@nestjs/common";
512
- import { parse, stringify } from "yaml";
513
- function _ts_decorate6(decorators, target, key, desc) {
514
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
515
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
516
- r = Reflect.decorate(decorators, target, key, desc);
517
- else
518
- for (var i = decorators.length - 1; i >= 0; i--)
519
- if (d = decorators[i])
520
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
521
- return c > 3 && r && Object.defineProperty(target, key, r), r;
522
- }
523
- __name(_ts_decorate6, "_ts_decorate");
524
- function _ts_metadata5(k, v) {
525
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
526
- return Reflect.metadata(k, v);
527
- }
528
- __name(_ts_metadata5, "_ts_metadata");
529
- var _a6;
530
- var YamlParser = (_a6 = class {
531
- constructor(logger) {
532
- __publicField(this, "logger");
533
- this.logger = logger;
534
- this.logger.setup(this.constructor.name);
535
- }
536
- parse(data) {
537
- try {
538
- return parse(data.toString());
539
- } catch (e) {
540
- this.logger.trace("Error during parsing YAML file: %s", e.message);
541
- throw e;
542
- }
543
- }
544
- stringify(data) {
545
- return stringify(data, {
546
- prettyErrors: true
547
- });
548
- }
549
- }, __name(_a6, "YamlParser"), __publicField(_a6, "extensions", [
550
- "yaml",
551
- "yml"
552
- ]), _a6);
553
- YamlParser = _ts_decorate6([
554
- Injectable5(),
555
- _ts_metadata5("design:type", Function),
556
- _ts_metadata5("design:paramtypes", [
557
- typeof LoggerService === "undefined" ? Object : LoggerService
558
- ])
559
- ], YamlParser);
560
-
561
- // src/lib/fs/filesystem.service.ts
562
- import { Injectable as Injectable6 } from "@nestjs/common";
563
- import fs from "fs-extra";
564
- import { extname, dirname } from "path";
565
- function _ts_decorate7(decorators, target, key, desc) {
566
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
567
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
568
- r = Reflect.decorate(decorators, target, key, desc);
569
- else
570
- for (var i = decorators.length - 1; i >= 0; i--)
571
- if (d = decorators[i])
572
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
573
- return c > 3 && r && Object.defineProperty(target, key, r), r;
574
- }
575
- __name(_ts_decorate7, "_ts_decorate");
576
- function _ts_metadata6(k, v) {
577
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
578
- return Reflect.metadata(k, v);
579
- }
580
- __name(_ts_metadata6, "_ts_metadata");
581
- var _a7;
582
- var FileSystemService = (_a7 = class {
426
+ var FileSystemService = (_a4 = class {
583
427
  constructor(logger) {
584
428
  __publicField(this, "logger");
585
429
  __publicField(this, "extra");
@@ -707,18 +551,18 @@ var FileSystemService = (_a7 = class {
707
551
  throw new Error(`Error while creating the directory "${directory}": ${e.message}`);
708
552
  }
709
553
  }
710
- }, __name(_a7, "FileSystemService"), _a7);
711
- FileSystemService = _ts_decorate7([
712
- Injectable6(),
713
- _ts_metadata6("design:type", Function),
714
- _ts_metadata6("design:paramtypes", [
554
+ }, __name(_a4, "FileSystemService"), _a4);
555
+ FileSystemService = _ts_decorate4([
556
+ Injectable3(),
557
+ _ts_metadata3("design:type", Function),
558
+ _ts_metadata3("design:paramtypes", [
715
559
  typeof LoggerService === "undefined" ? Object : LoggerService
716
560
  ])
717
561
  ], FileSystemService);
718
562
 
719
563
  // src/lib/fs/filesystem.module.ts
720
564
  import { Global as Global2, Module as Module2 } from "@nestjs/common";
721
- function _ts_decorate8(decorators, target, key, desc) {
565
+ function _ts_decorate5(decorators, target, key, desc) {
722
566
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
723
567
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
724
568
  r = Reflect.decorate(decorators, target, key, desc);
@@ -728,11 +572,11 @@ function _ts_decorate8(decorators, target, key, desc) {
728
572
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
729
573
  return c > 3 && r && Object.defineProperty(target, key, r), r;
730
574
  }
731
- __name(_ts_decorate8, "_ts_decorate");
732
- var _a8;
733
- var FilesystemModule = (_a8 = class {
734
- }, __name(_a8, "FilesystemModule"), _a8);
735
- FilesystemModule = _ts_decorate8([
575
+ __name(_ts_decorate5, "_ts_decorate");
576
+ var _a5;
577
+ var FilesystemModule = (_a5 = class {
578
+ }, __name(_a5, "FilesystemModule"), _a5);
579
+ FilesystemModule = _ts_decorate5([
736
580
  Global2(),
737
581
  Module2({
738
582
  providers: [
@@ -745,7 +589,7 @@ FilesystemModule = _ts_decorate8([
745
589
  ], FilesystemModule);
746
590
 
747
591
  // src/lib/parser/parser.service.ts
748
- function _ts_decorate9(decorators, target, key, desc) {
592
+ function _ts_decorate6(decorators, target, key, desc) {
749
593
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
750
594
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
751
595
  r = Reflect.decorate(decorators, target, key, desc);
@@ -755,14 +599,14 @@ function _ts_decorate9(decorators, target, key, desc) {
755
599
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
756
600
  return c > 3 && r && Object.defineProperty(target, key, r), r;
757
601
  }
758
- __name(_ts_decorate9, "_ts_decorate");
759
- function _ts_metadata7(k, v) {
602
+ __name(_ts_decorate6, "_ts_decorate");
603
+ function _ts_metadata4(k, v) {
760
604
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
761
605
  return Reflect.metadata(k, v);
762
606
  }
763
- __name(_ts_metadata7, "_ts_metadata");
764
- var _a9;
765
- var ParserService = (_a9 = class {
607
+ __name(_ts_metadata4, "_ts_metadata");
608
+ var _a6;
609
+ var ParserService = (_a6 = class {
766
610
  constructor(moduleRef, fs2, logger) {
767
611
  __publicField(this, "moduleRef");
768
612
  __publicField(this, "fs");
@@ -771,32 +615,28 @@ var ParserService = (_a9 = class {
771
615
  this.moduleRef = moduleRef;
772
616
  this.fs = fs2;
773
617
  this.logger = logger;
774
- this.parsers = [
775
- YamlParser,
776
- JsonParser,
777
- EnvironmentVariableParser
778
- ];
618
+ this.parsers = [];
779
619
  this.logger.setup(this.constructor.name);
780
620
  }
781
- async getParser(file) {
621
+ byFt(file) {
782
622
  const ext = (file.includes(".") ? this.fs.extname(file) : file).replace(/^\./, "");
783
623
  const Parser = this.parsers.find((parser) => parser.extensions.includes(ext));
784
624
  if (!Parser) {
785
625
  throw new Error(`Parser for the extension is not configured: ${ext}`);
786
626
  }
787
- return this.inject(Parser);
627
+ return this.fetch(Parser);
628
+ }
629
+ fetch(Parser) {
630
+ return this.moduleRef.get(Parser);
788
631
  }
789
632
  async inject(Parser) {
790
633
  const parser = await this.moduleRef.create(Parser);
791
634
  return parser;
792
635
  }
793
- setParsers(...parsers) {
794
- this.parsers = parsers;
795
- this.logger.trace("Set parsers: %s", this.parsers.map((p) => p.name));
796
- }
797
- addParsers(...parsers) {
636
+ async register(...parsers) {
798
637
  this.parsers.push(...parsers);
799
- this.logger.trace("Added parser, current parsers: %s", this.parsers.map((p) => p.name));
638
+ await Promise.all(parsers.map(async (parser) => this.inject(parser)));
639
+ this.logger.trace("Registered parsers: %o", this.parsers.map((p) => p.name));
800
640
  }
801
641
  async read(file) {
802
642
  return this.parse(file, await this.fs.read(file));
@@ -805,20 +645,20 @@ var ParserService = (_a9 = class {
805
645
  return this.fs.write(file, await this.stringify(file, data));
806
646
  }
807
647
  async parse(file, data) {
808
- const parser = await this.getParser(file);
648
+ const parser = this.byFt(file);
809
649
  this.logger.trace("Parsing file: %s -> %s", file, parser.constructor.name);
810
650
  return parser.parse(data);
811
651
  }
812
652
  async stringify(file, data) {
813
- const parser = await this.getParser(file);
653
+ const parser = this.byFt(file);
814
654
  this.logger.trace("Stringifying file: %s -> %s", file, parser.constructor.name);
815
655
  return parser.stringify(data);
816
656
  }
817
- }, __name(_a9, "ParserService"), _a9);
818
- ParserService = _ts_decorate9([
819
- Injectable7(),
820
- _ts_metadata7("design:type", Function),
821
- _ts_metadata7("design:paramtypes", [
657
+ }, __name(_a6, "ParserService"), _a6);
658
+ ParserService = _ts_decorate6([
659
+ Injectable4(),
660
+ _ts_metadata4("design:type", Function),
661
+ _ts_metadata4("design:paramtypes", [
822
662
  typeof ModuleRef === "undefined" ? Object : ModuleRef,
823
663
  typeof FileSystemService === "undefined" ? Object : FileSystemService,
824
664
  typeof LoggerService === "undefined" ? Object : LoggerService
@@ -903,7 +743,7 @@ __name(uniqueArrayFilter, "uniqueArrayFilter");
903
743
  import { ux } from "@oclif/core";
904
744
 
905
745
  // src/lib/config/config.service.ts
906
- function _ts_decorate10(decorators, target, key, desc) {
746
+ function _ts_decorate7(decorators, target, key, desc) {
907
747
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
908
748
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
909
749
  r = Reflect.decorate(decorators, target, key, desc);
@@ -913,20 +753,20 @@ function _ts_decorate10(decorators, target, key, desc) {
913
753
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
914
754
  return c > 3 && r && Object.defineProperty(target, key, r), r;
915
755
  }
916
- __name(_ts_decorate10, "_ts_decorate");
917
- function _ts_metadata8(k, v) {
756
+ __name(_ts_decorate7, "_ts_decorate");
757
+ function _ts_metadata5(k, v) {
918
758
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
919
759
  return Reflect.metadata(k, v);
920
760
  }
921
- __name(_ts_metadata8, "_ts_metadata");
761
+ __name(_ts_metadata5, "_ts_metadata");
922
762
  function _ts_param2(paramIndex, decorator) {
923
763
  return function(target, key) {
924
764
  decorator(target, key, paramIndex);
925
765
  };
926
766
  }
927
767
  __name(_ts_param2, "_ts_param");
928
- var _a10;
929
- var ConfigService = (_a10 = class {
768
+ var _a7;
769
+ var ConfigService = (_a7 = class {
930
770
  constructor(parser, logger, options) {
931
771
  __publicField(this, "parser");
932
772
  __publicField(this, "logger");
@@ -1074,12 +914,12 @@ var ConfigService = (_a10 = class {
1074
914
  async write(path, data) {
1075
915
  return this.parser.write(path, data);
1076
916
  }
1077
- }, __name(_a10, "ConfigService"), _a10);
1078
- ConfigService = _ts_decorate10([
1079
- Injectable8(),
917
+ }, __name(_a7, "ConfigService"), _a7);
918
+ ConfigService = _ts_decorate7([
919
+ Injectable5(),
1080
920
  _ts_param2(2, Inject2(TOKEN_CONFIG_MODULE_OPTIONS)),
1081
- _ts_metadata8("design:type", Function),
1082
- _ts_metadata8("design:paramtypes", [
921
+ _ts_metadata5("design:type", Function),
922
+ _ts_metadata5("design:paramtypes", [
1083
923
  typeof ParserService === "undefined" ? Object : ParserService,
1084
924
  typeof LoggerService === "undefined" ? Object : LoggerService,
1085
925
  typeof ConfigModuleOptions === "undefined" ? Object : ConfigModuleOptions
@@ -1091,7 +931,7 @@ import { Global as Global4, Module as Module4 } from "@nestjs/common";
1091
931
 
1092
932
  // src/lib/parser/parser.module.ts
1093
933
  import { Global as Global3, Module as Module3 } from "@nestjs/common";
1094
- function _ts_decorate11(decorators, target, key, desc) {
934
+ function _ts_decorate8(decorators, target, key, desc) {
1095
935
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1096
936
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1097
937
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1101,11 +941,11 @@ function _ts_decorate11(decorators, target, key, desc) {
1101
941
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1102
942
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1103
943
  }
1104
- __name(_ts_decorate11, "_ts_decorate");
1105
- var _a11;
1106
- var ParserModule = (_a11 = class {
1107
- }, __name(_a11, "ParserModule"), _a11);
1108
- ParserModule = _ts_decorate11([
944
+ __name(_ts_decorate8, "_ts_decorate");
945
+ var _a8;
946
+ var ParserModule = (_a8 = class {
947
+ }, __name(_a8, "ParserModule"), _a8);
948
+ ParserModule = _ts_decorate8([
1109
949
  Global3(),
1110
950
  Module3({
1111
951
  imports: [
@@ -1121,7 +961,7 @@ ParserModule = _ts_decorate11([
1121
961
  ], ParserModule);
1122
962
 
1123
963
  // src/lib/config/config.module.ts
1124
- function _ts_decorate12(decorators, target, key, desc) {
964
+ function _ts_decorate9(decorators, target, key, desc) {
1125
965
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1126
966
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1127
967
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1131,11 +971,11 @@ function _ts_decorate12(decorators, target, key, desc) {
1131
971
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1132
972
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1133
973
  }
1134
- __name(_ts_decorate12, "_ts_decorate");
1135
- var _a12;
1136
- var ConfigModule = (_a12 = class {
1137
- }, __name(_a12, "ConfigModule"), _a12);
1138
- ConfigModule = _ts_decorate12([
974
+ __name(_ts_decorate9, "_ts_decorate");
975
+ var _a9;
976
+ var ConfigModule = (_a9 = class {
977
+ }, __name(_a9, "ConfigModule"), _a9);
978
+ ConfigModule = _ts_decorate9([
1139
979
  Global4(),
1140
980
  Module4({
1141
981
  imports: [
@@ -1153,6 +993,164 @@ ConfigModule = _ts_decorate12([
1153
993
  // src/lib/locker/locker.service.ts
1154
994
  import { Injectable as Injectable9 } from "@nestjs/common";
1155
995
  import op2 from "object-path-immutable";
996
+
997
+ // src/lib/parser/fts/env-parser.service.ts
998
+ import { Injectable as Injectable6 } from "@nestjs/common";
999
+ import { EOL as EOL2 } from "os";
1000
+ function _ts_decorate10(decorators, target, key, desc) {
1001
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1002
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1003
+ r = Reflect.decorate(decorators, target, key, desc);
1004
+ else
1005
+ for (var i = decorators.length - 1; i >= 0; i--)
1006
+ if (d = decorators[i])
1007
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1008
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1009
+ }
1010
+ __name(_ts_decorate10, "_ts_decorate");
1011
+ function _ts_metadata6(k, v) {
1012
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1013
+ return Reflect.metadata(k, v);
1014
+ }
1015
+ __name(_ts_metadata6, "_ts_metadata");
1016
+ var _a10;
1017
+ var EnvironmentVariableParser = (_a10 = class {
1018
+ constructor(logger) {
1019
+ __publicField(this, "logger");
1020
+ __publicField(this, "LINE");
1021
+ this.logger = logger;
1022
+ this.LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
1023
+ this.logger.setup(this.constructor.name);
1024
+ }
1025
+ parse(data) {
1026
+ try {
1027
+ return data.toString().split(EOL2).reduce((o, line) => {
1028
+ const match = this.LINE.exec(line);
1029
+ const key = match[1];
1030
+ const value = match[2] ?? "";
1031
+ return {
1032
+ ...o,
1033
+ [key]: value
1034
+ };
1035
+ }, {});
1036
+ } catch (e) {
1037
+ this.logger.trace("Error during parsing environment file: %s", e.message);
1038
+ throw e;
1039
+ }
1040
+ }
1041
+ stringify(data) {
1042
+ return Object.entries(data).map(([k, v]) => `${k}=${v}`).join(EOL2) + EOL2;
1043
+ }
1044
+ }, __name(_a10, "EnvironmentVariableParser"), __publicField(_a10, "extensions", [
1045
+ "env"
1046
+ ]), _a10);
1047
+ EnvironmentVariableParser = _ts_decorate10([
1048
+ Injectable6(),
1049
+ _ts_metadata6("design:type", Function),
1050
+ _ts_metadata6("design:paramtypes", [
1051
+ typeof LoggerService === "undefined" ? Object : LoggerService
1052
+ ])
1053
+ ], EnvironmentVariableParser);
1054
+
1055
+ // src/lib/parser/fts/json-parser.service.ts
1056
+ import { Injectable as Injectable7 } from "@nestjs/common";
1057
+ function _ts_decorate11(decorators, target, key, desc) {
1058
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1059
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1060
+ r = Reflect.decorate(decorators, target, key, desc);
1061
+ else
1062
+ for (var i = decorators.length - 1; i >= 0; i--)
1063
+ if (d = decorators[i])
1064
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1065
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1066
+ }
1067
+ __name(_ts_decorate11, "_ts_decorate");
1068
+ function _ts_metadata7(k, v) {
1069
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1070
+ return Reflect.metadata(k, v);
1071
+ }
1072
+ __name(_ts_metadata7, "_ts_metadata");
1073
+ var _a11;
1074
+ var JsonParser = (_a11 = class {
1075
+ constructor(logger) {
1076
+ __publicField(this, "logger");
1077
+ this.logger = logger;
1078
+ this.logger.setup(this.constructor.name);
1079
+ }
1080
+ parse(data) {
1081
+ try {
1082
+ return JSON.parse(data.toString());
1083
+ } catch (e) {
1084
+ this.logger.trace("Error during parsing JSON file: %s", e.message);
1085
+ throw e;
1086
+ }
1087
+ }
1088
+ stringify(data) {
1089
+ return JSON.stringify(data, null, 2);
1090
+ }
1091
+ }, __name(_a11, "JsonParser"), __publicField(_a11, "extensions", [
1092
+ "json"
1093
+ ]), _a11);
1094
+ JsonParser = _ts_decorate11([
1095
+ Injectable7(),
1096
+ _ts_metadata7("design:type", Function),
1097
+ _ts_metadata7("design:paramtypes", [
1098
+ typeof LoggerService === "undefined" ? Object : LoggerService
1099
+ ])
1100
+ ], JsonParser);
1101
+
1102
+ // src/lib/parser/fts/yaml-parser.service.ts
1103
+ import { Injectable as Injectable8 } from "@nestjs/common";
1104
+ import { parse, stringify } from "yaml";
1105
+ function _ts_decorate12(decorators, target, key, desc) {
1106
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1107
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1108
+ r = Reflect.decorate(decorators, target, key, desc);
1109
+ else
1110
+ for (var i = decorators.length - 1; i >= 0; i--)
1111
+ if (d = decorators[i])
1112
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1113
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1114
+ }
1115
+ __name(_ts_decorate12, "_ts_decorate");
1116
+ function _ts_metadata8(k, v) {
1117
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1118
+ return Reflect.metadata(k, v);
1119
+ }
1120
+ __name(_ts_metadata8, "_ts_metadata");
1121
+ var _a12;
1122
+ var YamlParser = (_a12 = class {
1123
+ constructor(logger) {
1124
+ __publicField(this, "logger");
1125
+ this.logger = logger;
1126
+ this.logger.setup(this.constructor.name);
1127
+ }
1128
+ parse(data) {
1129
+ try {
1130
+ return parse(data.toString());
1131
+ } catch (e) {
1132
+ this.logger.trace("Error during parsing YAML file: %s", e.message);
1133
+ throw e;
1134
+ }
1135
+ }
1136
+ stringify(data) {
1137
+ return stringify(data, {
1138
+ prettyErrors: true
1139
+ });
1140
+ }
1141
+ }, __name(_a12, "YamlParser"), __publicField(_a12, "extensions", [
1142
+ "yaml",
1143
+ "yml"
1144
+ ]), _a12);
1145
+ YamlParser = _ts_decorate12([
1146
+ Injectable8(),
1147
+ _ts_metadata8("design:type", Function),
1148
+ _ts_metadata8("design:paramtypes", [
1149
+ typeof LoggerService === "undefined" ? Object : LoggerService
1150
+ ])
1151
+ ], YamlParser);
1152
+
1153
+ // src/lib/locker/locker.service.ts
1156
1154
  function _ts_decorate13(decorators, target, key, desc) {
1157
1155
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1158
1156
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -1171,15 +1169,17 @@ function _ts_metadata9(k, v) {
1171
1169
  __name(_ts_metadata9, "_ts_metadata");
1172
1170
  var _a13;
1173
1171
  var LockerService = (_a13 = class {
1174
- constructor(logger, fs2, options) {
1172
+ constructor(logger, fs2, parser, options) {
1175
1173
  __publicField(this, "logger");
1176
1174
  __publicField(this, "fs");
1175
+ __publicField(this, "parser");
1177
1176
  __publicField(this, "options");
1178
1177
  __publicField(this, "op");
1179
1178
  __publicField(this, "toLock");
1180
1179
  __publicField(this, "toUnlock");
1181
1180
  this.logger = logger;
1182
1181
  this.fs = fs2;
1182
+ this.parser = parser;
1183
1183
  this.options = options;
1184
1184
  this.op = op2;
1185
1185
  this.toLock = [];
@@ -1278,11 +1278,11 @@ var LockerService = (_a13 = class {
1278
1278
  await this.write(lock ?? {});
1279
1279
  }
1280
1280
  async read() {
1281
- return this.options.parser.parse(await this.fs.read(this.options.file));
1281
+ return this.parser.fetch(this.options.parser).parse(await this.fs.read(this.options.file));
1282
1282
  }
1283
1283
  async tryRead() {
1284
1284
  try {
1285
- return this.options.parser.parse(await this.fs.read(this.options.file));
1285
+ return this.parser.fetch(this.options.parser).parse(await this.fs.read(this.options.file));
1286
1286
  } catch {
1287
1287
  this.logger.trace("Can not read lockfile: %s", this.options.file);
1288
1288
  }
@@ -1292,7 +1292,7 @@ var LockerService = (_a13 = class {
1292
1292
  this.logger.trace("Trying to write empty lock file, deleting it instead: %s", this.options.file);
1293
1293
  return this.fs.remove(this.options.file);
1294
1294
  }
1295
- return this.fs.write(this.options.file, await this.options.parser.stringify(data));
1295
+ return this.fs.write(this.options.file, await this.parser.fetch(this.options.parser).stringify(data));
1296
1296
  }
1297
1297
  buildPath(d) {
1298
1298
  if (d?.root !== true && this.options.root?.length) {
@@ -1318,6 +1318,7 @@ LockerService = _ts_decorate13([
1318
1318
  _ts_metadata9("design:paramtypes", [
1319
1319
  typeof LoggerService === "undefined" ? Object : LoggerService,
1320
1320
  typeof FileSystemService === "undefined" ? Object : FileSystemService,
1321
+ typeof ParserService === "undefined" ? Object : ParserService,
1321
1322
  typeof LockerServiceOptions === "undefined" ? Object : LockerServiceOptions
1322
1323
  ])
1323
1324
  ], LockerService);
@@ -1344,10 +1345,11 @@ var LockerModule = (_a14 = class {
1344
1345
  providers: [
1345
1346
  {
1346
1347
  provide: token,
1347
- useFactory: (logger, fs2) => new LockerService(logger, fs2, options),
1348
+ useFactory: (logger, fs2, parser) => new LockerService(logger, fs2, parser, options),
1348
1349
  inject: [
1349
1350
  LoggerService,
1350
- FileSystemService
1351
+ FileSystemService,
1352
+ ParserService
1351
1353
  ]
1352
1354
  }
1353
1355
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cenk1cenk2/oclif-common",
3
- "version": "6.0.4",
3
+ "version": "6.2.0",
4
4
  "description": "Oclif common package for oclif2 projects.",
5
5
  "repository": "https://gitlab.kilic.dev/libraries/oclif-tools",
6
6
  "type": "module",