@cenk1cenk2/oclif-common 6.2.1 → 6.2.2
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 +10 -9
- package/dist/index.js +33 -20
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -35,9 +35,9 @@ interface ConfigModuleOptions {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
declare class GenericParser {
|
|
38
|
-
|
|
39
|
-
parse<T = unknown>(data: string | Buffer): T
|
|
40
|
-
stringify<T = any>(data: T): 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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):
|
|
196
|
-
|
|
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.
|
|
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
|
|
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",
|
|
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,
|
|
649
|
+
return this.fs.write(file, this.stringify(file, data));
|
|
653
650
|
}
|
|
654
|
-
|
|
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
|
-
|
|
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"),
|
|
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"),
|
|
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"),
|
|
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,
|
|
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.
|
|
3
|
+
"version": "6.2.2",
|
|
4
4
|
"description": "Oclif common package for oclif2 projects.",
|
|
5
5
|
"repository": "https://gitlab.kilic.dev/libraries/oclif-tools",
|
|
6
6
|
"type": "module",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@listr2/manager": "^1.0.2",
|
|
73
|
-
"@oclif/core": "^3.
|
|
73
|
+
"@oclif/core": "^3.10.0",
|
|
74
74
|
"@types/fs-extra": "^11.0.3",
|
|
75
75
|
"@types/through": "^0.0.32",
|
|
76
76
|
"@types/update-notifier": "^6.0.6",
|