@cenk1cenk2/oclif-common 6.2.1 → 6.2.3

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
@@ -35,9 +35,9 @@ interface ConfigModuleOptions {
35
35
  }
36
36
 
37
37
  declare class GenericParser {
38
- static extensions: string[];
39
- parse<T = unknown>(data: string | Buffer): T | Promise<T>;
40
- stringify<T = any>(data: T): string | Promise<string>;
38
+ readonly extensions: string[];
39
+ parse<T = unknown>(data: string | Buffer): T;
40
+ stringify<T = any>(data: T): string;
41
41
  }
42
42
 
43
43
  declare function pipeProcessThroughListr(task: ListrTaskWrapper<any, any, any>, instance: ExecaChildProcess): ExecaChildProcess;
@@ -126,7 +126,7 @@ declare class LoggerModule {
126
126
 
127
127
  declare class EnvironmentVariableParser implements GenericParser {
128
128
  private readonly logger;
129
- static extensions: string[];
129
+ readonly extensions: string[];
130
130
  private readonly LINE;
131
131
  constructor(logger: LoggerService);
132
132
  parse<T = unknown>(data: string | Buffer): T;
@@ -135,7 +135,7 @@ declare class EnvironmentVariableParser implements GenericParser {
135
135
 
136
136
  declare class JsonParser implements GenericParser {
137
137
  private readonly logger;
138
- static extensions: string[];
138
+ readonly extensions: string[];
139
139
  constructor(logger: LoggerService);
140
140
  parse<T = unknown>(data: string | Buffer): T;
141
141
  stringify<T = any>(data: T): string;
@@ -143,7 +143,7 @@ declare class JsonParser implements GenericParser {
143
143
 
144
144
  declare class YamlParser implements GenericParser {
145
145
  private readonly logger;
146
- static extensions: string[];
146
+ readonly extensions: string[];
147
147
  constructor(logger: LoggerService);
148
148
  parse<T = unknown>(data: string | Buffer): T;
149
149
  stringify<T = any>(data: T): string;
@@ -183,7 +183,6 @@ declare class ParserService {
183
183
  private moduleRef;
184
184
  private fs;
185
185
  private readonly logger;
186
- private readonly parsers;
187
186
  private readonly instances;
188
187
  constructor(moduleRef: ModuleRef, fs: FileSystemService, logger: LoggerService);
189
188
  byFt(file: string): GenericParser;
@@ -192,8 +191,10 @@ declare class ParserService {
192
191
  register(...parsers: ClassType<GenericParser>[]): Promise<void>;
193
192
  read<T = unknown>(file: string): Promise<T>;
194
193
  write<T = LockableData>(file: string, data: T): Promise<void>;
195
- parse<T = unknown>(file: string, data: string | Buffer): Promise<T>;
196
- stringify<T = any>(file: string, data: T): Promise<string>;
194
+ parse<T = unknown>(file: string, data: string | Buffer): T;
195
+ parseWith<T = unknown>(Parser: ClassType<GenericParser>, data: string | Buffer): T;
196
+ stringify<T = any>(file: string, data: T): string;
197
+ stringifyWith<T = any>(Parser: ClassType<GenericParser>, data: T): string;
197
198
  }
198
199
 
199
200
  type SetCtxDefaultsOptions<T extends ListrContext = ListrContext> = Partial<T>;
package/dist/index.js CHANGED
@@ -611,22 +611,20 @@ var ParserService = (_a6 = class {
611
611
  __publicField(this, "moduleRef");
612
612
  __publicField(this, "fs");
613
613
  __publicField(this, "logger");
614
- __publicField(this, "parsers");
615
614
  __publicField(this, "instances");
616
615
  this.moduleRef = moduleRef;
617
616
  this.fs = fs2;
618
617
  this.logger = logger;
619
- this.parsers = [];
620
618
  this.instances = [];
621
619
  this.logger.setup(this.constructor.name);
622
620
  }
623
621
  byFt(file) {
624
622
  const ext = (file.includes(".") ? this.fs.extname(file) : file).replace(/^\./, "");
625
- const Parser = this.parsers.find((parser) => parser.extensions.includes(ext));
623
+ const Parser = this.instances.find((parser) => parser.extensions.includes(ext));
626
624
  if (!Parser) {
627
625
  throw new Error(`Parser for the extension is not configured: ${ext}`);
628
626
  }
629
- return this.fetch(Parser);
627
+ return Parser;
630
628
  }
631
629
  fetch(Parser) {
632
630
  const parser = this.instances.find((instance) => instance instanceof Parser);
@@ -641,26 +639,35 @@ var ParserService = (_a6 = class {
641
639
  return parser;
642
640
  }
643
641
  async register(...parsers) {
644
- this.parsers.push(...parsers);
645
642
  await Promise.all(parsers.map(async (parser) => this.inject(parser)));
646
- this.logger.trace("Registered parsers: %o", this.parsers.map((p) => p.name));
643
+ this.logger.trace("Registered parsers: %o", parsers.map((p) => p.name));
647
644
  }
648
645
  async read(file) {
649
646
  return this.parse(file, await this.fs.read(file));
650
647
  }
651
648
  async write(file, data) {
652
- return this.fs.write(file, await this.stringify(file, data));
649
+ return this.fs.write(file, this.stringify(file, data));
653
650
  }
654
- async parse(file, data) {
651
+ parse(file, data) {
655
652
  const parser = this.byFt(file);
656
653
  this.logger.trace("Parsing file: %s -> %s", file, parser.constructor.name);
657
654
  return parser.parse(data);
658
655
  }
659
- async stringify(file, data) {
656
+ parseWith(Parser, data) {
657
+ const parser = this.fetch(Parser);
658
+ this.logger.trace("Parsing data with: %s", parser.constructor.name);
659
+ return parser.parse(data);
660
+ }
661
+ stringify(file, data) {
660
662
  const parser = this.byFt(file);
661
663
  this.logger.trace("Stringifying file: %s -> %s", file, parser.constructor.name);
662
664
  return parser.stringify(data);
663
665
  }
666
+ stringifyWith(Parser, data) {
667
+ const parser = this.fetch(Parser);
668
+ this.logger.trace("Stringifying data: %s", parser.constructor.name);
669
+ return parser.stringify(data);
670
+ }
664
671
  }, __name(_a6, "ParserService"), _a6);
665
672
  ParserService = _ts_decorate6([
666
673
  Injectable4(),
@@ -1024,8 +1031,12 @@ var _a10;
1024
1031
  var EnvironmentVariableParser = (_a10 = class {
1025
1032
  constructor(logger) {
1026
1033
  __publicField(this, "logger");
1034
+ __publicField(this, "extensions");
1027
1035
  __publicField(this, "LINE");
1028
1036
  this.logger = logger;
1037
+ this.extensions = [
1038
+ "env"
1039
+ ];
1029
1040
  this.LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
1030
1041
  this.logger.setup(this.constructor.name);
1031
1042
  }
@@ -1048,9 +1059,7 @@ var EnvironmentVariableParser = (_a10 = class {
1048
1059
  stringify(data) {
1049
1060
  return Object.entries(data).map(([k, v]) => `${k}=${v}`).join(EOL2) + EOL2;
1050
1061
  }
1051
- }, __name(_a10, "EnvironmentVariableParser"), __publicField(_a10, "extensions", [
1052
- "env"
1053
- ]), _a10);
1062
+ }, __name(_a10, "EnvironmentVariableParser"), _a10);
1054
1063
  EnvironmentVariableParser = _ts_decorate10([
1055
1064
  Injectable6(),
1056
1065
  _ts_metadata6("design:type", Function),
@@ -1081,7 +1090,11 @@ var _a11;
1081
1090
  var JsonParser = (_a11 = class {
1082
1091
  constructor(logger) {
1083
1092
  __publicField(this, "logger");
1093
+ __publicField(this, "extensions");
1084
1094
  this.logger = logger;
1095
+ this.extensions = [
1096
+ "json"
1097
+ ];
1085
1098
  this.logger.setup(this.constructor.name);
1086
1099
  }
1087
1100
  parse(data) {
@@ -1095,9 +1108,7 @@ var JsonParser = (_a11 = class {
1095
1108
  stringify(data) {
1096
1109
  return JSON.stringify(data, null, 2);
1097
1110
  }
1098
- }, __name(_a11, "JsonParser"), __publicField(_a11, "extensions", [
1099
- "json"
1100
- ]), _a11);
1111
+ }, __name(_a11, "JsonParser"), _a11);
1101
1112
  JsonParser = _ts_decorate11([
1102
1113
  Injectable7(),
1103
1114
  _ts_metadata7("design:type", Function),
@@ -1129,7 +1140,12 @@ var _a12;
1129
1140
  var YamlParser = (_a12 = class {
1130
1141
  constructor(logger) {
1131
1142
  __publicField(this, "logger");
1143
+ __publicField(this, "extensions");
1132
1144
  this.logger = logger;
1145
+ this.extensions = [
1146
+ "yaml",
1147
+ "yml"
1148
+ ];
1133
1149
  this.logger.setup(this.constructor.name);
1134
1150
  }
1135
1151
  parse(data) {
@@ -1145,10 +1161,7 @@ var YamlParser = (_a12 = class {
1145
1161
  prettyErrors: true
1146
1162
  });
1147
1163
  }
1148
- }, __name(_a12, "YamlParser"), __publicField(_a12, "extensions", [
1149
- "yaml",
1150
- "yml"
1151
- ]), _a12);
1164
+ }, __name(_a12, "YamlParser"), _a12);
1152
1165
  YamlParser = _ts_decorate12([
1153
1166
  Injectable8(),
1154
1167
  _ts_metadata8("design:type", Function),
@@ -1299,7 +1312,7 @@ var LockerService = (_a13 = class {
1299
1312
  this.logger.trace("Trying to write empty lock file, deleting it instead: %s", this.options.file);
1300
1313
  return this.fs.remove(this.options.file);
1301
1314
  }
1302
- return this.fs.write(this.options.file, await this.parser.fetch(this.options.parser).stringify(data));
1315
+ return this.fs.write(this.options.file, this.parser.fetch(this.options.parser).stringify(data));
1303
1316
  }
1304
1317
  buildPath(d) {
1305
1318
  if (d?.root !== true && this.options.root?.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cenk1cenk2/oclif-common",
3
- "version": "6.2.1",
3
+ "version": "6.2.3",
4
4
  "description": "Oclif common package for oclif2 projects.",
5
5
  "repository": "https://gitlab.kilic.dev/libraries/oclif-tools",
6
6
  "type": "module",
@@ -61,8 +61,8 @@
61
61
  }
62
62
  },
63
63
  "dependencies": {
64
- "@nestjs/common": "^10.2.7",
65
- "@nestjs/core": "^10.2.7",
64
+ "@nestjs/common": "^10.2.8",
65
+ "@nestjs/core": "^10.2.8",
66
66
  "deepmerge": "^4.3.1",
67
67
  "object-path-immutable": "^4.1.2",
68
68
  "reflect-metadata": "^0.1.13",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "devDependencies": {
72
72
  "@listr2/manager": "^1.0.2",
73
- "@oclif/core": "^3.9.2",
73
+ "@oclif/core": "^3.10.1",
74
74
  "@types/fs-extra": "^11.0.3",
75
75
  "@types/through": "^0.0.32",
76
76
  "@types/update-notifier": "^6.0.6",
@@ -81,6 +81,6 @@
81
81
  "fs-extra": "^11.1.1",
82
82
  "listr2": "^7.0.2",
83
83
  "source-map-support": "^0.5.21",
84
- "yaml": "^2.3.3"
84
+ "yaml": "^2.3.4"
85
85
  }
86
86
  }