barrelize 1.1.7 → 1.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/lib/index.js +336 -240
- package/lib/src/config/config.d.ts +19 -12
- package/lib/src/generate/generate-barrel.d.ts +2 -0
- package/lib/src/generate/generate-barrels.d.ts +1 -1
- package/lib/src/generate/glob-paths.d.ts +2 -0
- package/lib/src/generate/handle-path-order.d.ts +2 -0
- package/lib/src/generate/handle-path-replacement.d.ts +2 -0
- package/lib/src/generate/index-file-exported-paths.d.ts +1 -0
- package/lib/src/generate/paths-differences.d.ts +5 -0
- package/lib/src/index.d.ts +11 -5
- package/package.json +1 -1
- package/schema.json +24 -0
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import * as actualFS from "node:fs";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
1
3
|
import { writeFile, readFile, realpath, readlink, readdir, lstat } from "node:fs/promises";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
4
|
import { resolve, dirname, win32, posix, join } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
4
6
|
import { realpathSync as realpathSync$1, readlinkSync, readdirSync, readdir as readdir$1, lstatSync } from "fs";
|
|
5
|
-
import * as actualFS from "node:fs";
|
|
6
|
-
import { existsSync } from "node:fs";
|
|
7
7
|
import { EventEmitter as EventEmitter$1 } from "node:events";
|
|
8
8
|
import Stream from "node:stream";
|
|
9
9
|
import { StringDecoder } from "node:string_decoder";
|
|
@@ -591,7 +591,7 @@ class CAC extends EventEmitter {
|
|
|
591
591
|
}
|
|
592
592
|
const cac = (name2 = "") => new CAC(name2);
|
|
593
593
|
const name = "barrelize";
|
|
594
|
-
const version = "1.1.
|
|
594
|
+
const version = "1.1.7";
|
|
595
595
|
function cliInit() {
|
|
596
596
|
const cli = cac(name);
|
|
597
597
|
cli.command("[config path]", `Generate 'index.ts' files for all directories`).action(async (config) => {
|
|
@@ -612,6 +612,36 @@ function cliInit() {
|
|
|
612
612
|
}
|
|
613
613
|
}
|
|
614
614
|
}
|
|
615
|
+
const configTemplate = {
|
|
616
|
+
$schema: "node_modules/barrelize/schema.json",
|
|
617
|
+
directories: [
|
|
618
|
+
{
|
|
619
|
+
path: "src",
|
|
620
|
+
include: ["**/*.ts"],
|
|
621
|
+
exclude: ["**/*.test.ts"],
|
|
622
|
+
indexFilePath: "index.ts"
|
|
623
|
+
}
|
|
624
|
+
]
|
|
625
|
+
};
|
|
626
|
+
async function runInitCommand(baseConfigFilePath) {
|
|
627
|
+
const configFilePath = resolve(process.cwd(), baseConfigFilePath);
|
|
628
|
+
if (existsSync(configFilePath)) {
|
|
629
|
+
logWarning(`Config file '${configFilePath}' already exists`);
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
const configDirectoryPath = dirname(configFilePath);
|
|
633
|
+
if (!existsSync(configDirectoryPath)) {
|
|
634
|
+
logWarning(`Directory '${configDirectoryPath}' does not exist`);
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
const configTemplateJson = JSON.stringify(configTemplate, null, 2);
|
|
638
|
+
await writeFile(configFilePath, configTemplateJson);
|
|
639
|
+
console.log(
|
|
640
|
+
colorize(baseConfigFilePath, TerminalColor.CYAN),
|
|
641
|
+
colorize(`config file created`, TerminalColor.GRAY)
|
|
642
|
+
);
|
|
643
|
+
console.log(colorize(configTemplateJson, TerminalColor.GREEN));
|
|
644
|
+
}
|
|
615
645
|
function getDefaultExportFromCjs(x) {
|
|
616
646
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
617
647
|
}
|
|
@@ -879,37 +909,50 @@ async function runGenerateCommand(options) {
|
|
|
879
909
|
return;
|
|
880
910
|
}
|
|
881
911
|
const rootPath = resolve(dirname(options.configPath));
|
|
882
|
-
await generateBarrels(rootPath, validatedConfig.data);
|
|
912
|
+
await generateBarrels(rootPath, options.configPath, validatedConfig.data);
|
|
883
913
|
}
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
914
|
+
function logError(message) {
|
|
915
|
+
console.log(colorize(message, TerminalColor.RED));
|
|
916
|
+
}
|
|
917
|
+
function logWarning(message) {
|
|
918
|
+
console.log(colorize(message, TerminalColor.YELLOW));
|
|
919
|
+
}
|
|
920
|
+
function logInfo(message) {
|
|
921
|
+
console.log(colorize(message, TerminalColor.BLUE));
|
|
922
|
+
}
|
|
923
|
+
var TerminalColor = /* @__PURE__ */ ((TerminalColor2) => {
|
|
924
|
+
TerminalColor2[TerminalColor2["BLACK"] = 0] = "BLACK";
|
|
925
|
+
TerminalColor2[TerminalColor2["RED"] = 1] = "RED";
|
|
926
|
+
TerminalColor2[TerminalColor2["GREEN"] = 2] = "GREEN";
|
|
927
|
+
TerminalColor2[TerminalColor2["YELLOW"] = 3] = "YELLOW";
|
|
928
|
+
TerminalColor2[TerminalColor2["BLUE"] = 4] = "BLUE";
|
|
929
|
+
TerminalColor2[TerminalColor2["MAGENTA"] = 5] = "MAGENTA";
|
|
930
|
+
TerminalColor2[TerminalColor2["CYAN"] = 6] = "CYAN";
|
|
931
|
+
TerminalColor2[TerminalColor2["WHITE"] = 7] = "WHITE";
|
|
932
|
+
TerminalColor2[TerminalColor2["GRAY"] = 60] = "GRAY";
|
|
933
|
+
return TerminalColor2;
|
|
934
|
+
})(TerminalColor || {});
|
|
935
|
+
function colorize(text, foreground, background) {
|
|
936
|
+
if (background == null) {
|
|
937
|
+
return `\x1B[${30 + foreground}m${text}\x1B[0m`;
|
|
905
938
|
}
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
939
|
+
return `\x1B[${30 + foreground}m\x1B[${40 + background}m${text}\x1B[0m`;
|
|
940
|
+
}
|
|
941
|
+
function logValidationError(message, validation) {
|
|
942
|
+
const formatError = (e) => {
|
|
943
|
+
const property = e.path.replace("$input.", "");
|
|
944
|
+
if (e.expected === "undefined") {
|
|
945
|
+
return `Property '${property}' is not allowed in configuration`;
|
|
946
|
+
}
|
|
947
|
+
if (e.value === void 0) {
|
|
948
|
+
return `Missing required property '${property}' in configuration`;
|
|
949
|
+
}
|
|
950
|
+
return `Invalid type for property '${property}'`;
|
|
951
|
+
};
|
|
952
|
+
const errors = validation.errors.map((x) => ` ` + formatError(x)).join("\n");
|
|
953
|
+
const text = `${message}:
|
|
954
|
+
${errors}`;
|
|
955
|
+
logError(text);
|
|
913
956
|
}
|
|
914
957
|
const DEFAULT_CONFIG = {
|
|
915
958
|
path: "",
|
|
@@ -917,19 +960,22 @@ const DEFAULT_CONFIG = {
|
|
|
917
960
|
exclude: [],
|
|
918
961
|
order: [],
|
|
919
962
|
indexFilePath: "index.ts",
|
|
920
|
-
replace: [{ find: "\\.ts$", replacement: "" }]
|
|
963
|
+
replace: [{ find: "\\.ts$", replacement: "" }],
|
|
964
|
+
singleQuote: true,
|
|
965
|
+
semi: true,
|
|
966
|
+
insertFinalNewline: true
|
|
921
967
|
};
|
|
922
968
|
const validateConfig = (() => {
|
|
923
|
-
const _io0 = (input, _exceptionable = true) => (void 0 === input.$schema || "string" === typeof input.$schema) && (Array.isArray(input.directories) && input.directories.every((elem, _index1) => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _io1(elem, _exceptionable))) && (1 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
924
|
-
if (["$schema", "directories"].some((prop) => key2 === prop))
|
|
969
|
+
const _io0 = (input, _exceptionable = true) => (void 0 === input.$schema || "string" === typeof input.$schema) && (void 0 === input.singleQuote || "boolean" === typeof input.singleQuote) && (void 0 === input.semi || "boolean" === typeof input.semi) && (void 0 === input.insertFinalNewline || "boolean" === typeof input.insertFinalNewline) && (Array.isArray(input.directories) && input.directories.every((elem, _index1) => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _io1(elem, _exceptionable))) && (1 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
970
|
+
if (["$schema", "singleQuote", "semi", "insertFinalNewline", "directories"].some((prop) => key2 === prop))
|
|
925
971
|
return true;
|
|
926
972
|
const value = input[key2];
|
|
927
973
|
if (void 0 === value)
|
|
928
974
|
return true;
|
|
929
975
|
return false;
|
|
930
976
|
}));
|
|
931
|
-
const _io1 = (input, _exceptionable = true) => (void 0 === input.path || "string" === typeof input.path) && (void 0 === input.include || Array.isArray(input.include) && input.include.every((elem, _index2) => "string" === typeof elem)) && (void 0 === input.exclude || Array.isArray(input.exclude) && input.exclude.every((elem, _index3) => "string" === typeof elem)) && (void 0 === input.order || Array.isArray(input.order) && input.order.every((elem, _index4) => "string" === typeof elem)) && (void 0 === input.indexFilePath || "string" === typeof input.indexFilePath) && (void 0 === input.replace || Array.isArray(input.replace) && input.replace.every((elem, _index5) => "object" === typeof elem && null !== elem && _io2(elem, _exceptionable))) && (0 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
932
|
-
if (["path", "include", "exclude", "order", "indexFilePath", "replace"].some((prop) => key2 === prop))
|
|
977
|
+
const _io1 = (input, _exceptionable = true) => (void 0 === input.path || "string" === typeof input.path) && (void 0 === input.include || Array.isArray(input.include) && input.include.every((elem, _index2) => "string" === typeof elem)) && (void 0 === input.exclude || Array.isArray(input.exclude) && input.exclude.every((elem, _index3) => "string" === typeof elem)) && (void 0 === input.order || Array.isArray(input.order) && input.order.every((elem, _index4) => "string" === typeof elem)) && (void 0 === input.indexFilePath || "string" === typeof input.indexFilePath) && (void 0 === input.replace || Array.isArray(input.replace) && input.replace.every((elem, _index5) => "object" === typeof elem && null !== elem && _io2(elem, _exceptionable))) && (void 0 === input.singleQuote || "boolean" === typeof input.singleQuote) && (void 0 === input.semi || "boolean" === typeof input.semi) && (void 0 === input.insertFinalNewline || "boolean" === typeof input.insertFinalNewline) && (0 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
978
|
+
if (["path", "include", "exclude", "order", "indexFilePath", "replace", "singleQuote", "semi", "insertFinalNewline"].some((prop) => key2 === prop))
|
|
933
979
|
return true;
|
|
934
980
|
const value = input[key2];
|
|
935
981
|
if (void 0 === value)
|
|
@@ -948,24 +994,36 @@ const validateConfig = (() => {
|
|
|
948
994
|
path: _path + ".$schema",
|
|
949
995
|
expected: "(string | undefined)",
|
|
950
996
|
value: input.$schema
|
|
997
|
+
}), void 0 === input.singleQuote || "boolean" === typeof input.singleQuote || _report(_exceptionable, {
|
|
998
|
+
path: _path + ".singleQuote",
|
|
999
|
+
expected: "(boolean | undefined)",
|
|
1000
|
+
value: input.singleQuote
|
|
1001
|
+
}), void 0 === input.semi || "boolean" === typeof input.semi || _report(_exceptionable, {
|
|
1002
|
+
path: _path + ".semi",
|
|
1003
|
+
expected: "(boolean | undefined)",
|
|
1004
|
+
value: input.semi
|
|
1005
|
+
}), void 0 === input.insertFinalNewline || "boolean" === typeof input.insertFinalNewline || _report(_exceptionable, {
|
|
1006
|
+
path: _path + ".insertFinalNewline",
|
|
1007
|
+
expected: "(boolean | undefined)",
|
|
1008
|
+
value: input.insertFinalNewline
|
|
951
1009
|
}), (Array.isArray(input.directories) || _report(_exceptionable, {
|
|
952
1010
|
path: _path + ".directories",
|
|
953
|
-
expected: "Array<
|
|
1011
|
+
expected: "Array<DirectoryConfig>",
|
|
954
1012
|
value: input.directories
|
|
955
1013
|
})) && input.directories.map((elem, _index6) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _report(_exceptionable, {
|
|
956
1014
|
path: _path + ".directories[" + _index6 + "]",
|
|
957
|
-
expected: "
|
|
1015
|
+
expected: "DirectoryConfig",
|
|
958
1016
|
value: elem
|
|
959
1017
|
})) && _vo1(elem, _path + ".directories[" + _index6 + "]", _exceptionable) || _report(_exceptionable, {
|
|
960
1018
|
path: _path + ".directories[" + _index6 + "]",
|
|
961
|
-
expected: "
|
|
1019
|
+
expected: "DirectoryConfig",
|
|
962
1020
|
value: elem
|
|
963
1021
|
})).every((flag) => flag) || _report(_exceptionable, {
|
|
964
1022
|
path: _path + ".directories",
|
|
965
|
-
expected: "Array<
|
|
1023
|
+
expected: "Array<DirectoryConfig>",
|
|
966
1024
|
value: input.directories
|
|
967
1025
|
}), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
968
|
-
if (["$schema", "directories"].some((prop) => key2 === prop))
|
|
1026
|
+
if (["$schema", "singleQuote", "semi", "insertFinalNewline", "directories"].some((prop) => key2 === prop))
|
|
969
1027
|
return true;
|
|
970
1028
|
const value = input[key2];
|
|
971
1029
|
if (void 0 === value)
|
|
@@ -1022,22 +1080,34 @@ const validateConfig = (() => {
|
|
|
1022
1080
|
value: input.indexFilePath
|
|
1023
1081
|
}), void 0 === input.replace || (Array.isArray(input.replace) || _report(_exceptionable, {
|
|
1024
1082
|
path: _path + ".replace",
|
|
1025
|
-
expected: "(Array<__type
|
|
1083
|
+
expected: "(Array<__type> | undefined)",
|
|
1026
1084
|
value: input.replace
|
|
1027
1085
|
})) && input.replace.map((elem, _index10) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
1028
1086
|
path: _path + ".replace[" + _index10 + "]",
|
|
1029
|
-
expected: "__type
|
|
1087
|
+
expected: "__type",
|
|
1030
1088
|
value: elem
|
|
1031
1089
|
})) && _vo2(elem, _path + ".replace[" + _index10 + "]", _exceptionable) || _report(_exceptionable, {
|
|
1032
1090
|
path: _path + ".replace[" + _index10 + "]",
|
|
1033
|
-
expected: "__type
|
|
1091
|
+
expected: "__type",
|
|
1034
1092
|
value: elem
|
|
1035
1093
|
})).every((flag) => flag) || _report(_exceptionable, {
|
|
1036
1094
|
path: _path + ".replace",
|
|
1037
|
-
expected: "(Array<__type
|
|
1095
|
+
expected: "(Array<__type> | undefined)",
|
|
1038
1096
|
value: input.replace
|
|
1097
|
+
}), void 0 === input.singleQuote || "boolean" === typeof input.singleQuote || _report(_exceptionable, {
|
|
1098
|
+
path: _path + ".singleQuote",
|
|
1099
|
+
expected: "(boolean | undefined)",
|
|
1100
|
+
value: input.singleQuote
|
|
1101
|
+
}), void 0 === input.semi || "boolean" === typeof input.semi || _report(_exceptionable, {
|
|
1102
|
+
path: _path + ".semi",
|
|
1103
|
+
expected: "(boolean | undefined)",
|
|
1104
|
+
value: input.semi
|
|
1105
|
+
}), void 0 === input.insertFinalNewline || "boolean" === typeof input.insertFinalNewline || _report(_exceptionable, {
|
|
1106
|
+
path: _path + ".insertFinalNewline",
|
|
1107
|
+
expected: "(boolean | undefined)",
|
|
1108
|
+
value: input.insertFinalNewline
|
|
1039
1109
|
}), 0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
1040
|
-
if (["path", "include", "exclude", "order", "indexFilePath", "replace"].some((prop) => key2 === prop))
|
|
1110
|
+
if (["path", "include", "exclude", "order", "indexFilePath", "replace", "singleQuote", "semi", "insertFinalNewline"].some((prop) => key2 === prop))
|
|
1041
1111
|
return true;
|
|
1042
1112
|
const value = input[key2];
|
|
1043
1113
|
if (void 0 === value)
|
|
@@ -1100,123 +1170,6 @@ const validateConfig = (() => {
|
|
|
1100
1170
|
};
|
|
1101
1171
|
});
|
|
1102
1172
|
})();
|
|
1103
|
-
const validateOutputConfig = (() => {
|
|
1104
|
-
const _io0 = (input, _exceptionable = true) => "string" === typeof input.cwd && (Array.isArray(input.directories) && input.directories.every((elem, _index1) => "object" === typeof elem && null !== elem && _io1(elem, _exceptionable))) && (2 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
1105
|
-
if (["cwd", "directories"].some((prop) => key2 === prop))
|
|
1106
|
-
return true;
|
|
1107
|
-
const value = input[key2];
|
|
1108
|
-
if (void 0 === value)
|
|
1109
|
-
return true;
|
|
1110
|
-
return false;
|
|
1111
|
-
}));
|
|
1112
|
-
const _io1 = (input, _exceptionable = true) => Array.isArray(input.files) && input.files.every((elem, _index2) => "string" === typeof elem) && (void 0 === input.order || Array.isArray(input.order) && input.order.every((elem, _index3) => "string" === typeof elem)) && (1 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
1113
|
-
if (["files", "order"].some((prop) => key2 === prop))
|
|
1114
|
-
return true;
|
|
1115
|
-
const value = input[key2];
|
|
1116
|
-
if (void 0 === value)
|
|
1117
|
-
return true;
|
|
1118
|
-
return false;
|
|
1119
|
-
}));
|
|
1120
|
-
const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.cwd || _report(_exceptionable, {
|
|
1121
|
-
path: _path + ".cwd",
|
|
1122
|
-
expected: "string",
|
|
1123
|
-
value: input.cwd
|
|
1124
|
-
}), (Array.isArray(input.directories) || _report(_exceptionable, {
|
|
1125
|
-
path: _path + ".directories",
|
|
1126
|
-
expected: "Array<__type>",
|
|
1127
|
-
value: input.directories
|
|
1128
|
-
})) && input.directories.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
1129
|
-
path: _path + ".directories[" + _index4 + "]",
|
|
1130
|
-
expected: "__type",
|
|
1131
|
-
value: elem
|
|
1132
|
-
})) && _vo1(elem, _path + ".directories[" + _index4 + "]", _exceptionable) || _report(_exceptionable, {
|
|
1133
|
-
path: _path + ".directories[" + _index4 + "]",
|
|
1134
|
-
expected: "__type",
|
|
1135
|
-
value: elem
|
|
1136
|
-
})).every((flag) => flag) || _report(_exceptionable, {
|
|
1137
|
-
path: _path + ".directories",
|
|
1138
|
-
expected: "Array<__type>",
|
|
1139
|
-
value: input.directories
|
|
1140
|
-
}), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
1141
|
-
if (["cwd", "directories"].some((prop) => key2 === prop))
|
|
1142
|
-
return true;
|
|
1143
|
-
const value = input[key2];
|
|
1144
|
-
if (void 0 === value)
|
|
1145
|
-
return true;
|
|
1146
|
-
return _report(_exceptionable, {
|
|
1147
|
-
path: _path + _accessExpressionAsStringExports._accessExpressionAsString(key2),
|
|
1148
|
-
expected: "undefined",
|
|
1149
|
-
value
|
|
1150
|
-
});
|
|
1151
|
-
}).every((flag) => flag))].every((flag) => flag);
|
|
1152
|
-
const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
|
|
1153
|
-
path: _path + ".files",
|
|
1154
|
-
expected: "Array<string>",
|
|
1155
|
-
value: input.files
|
|
1156
|
-
})) && input.files.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
1157
|
-
path: _path + ".files[" + _index5 + "]",
|
|
1158
|
-
expected: "string",
|
|
1159
|
-
value: elem
|
|
1160
|
-
})).every((flag) => flag) || _report(_exceptionable, {
|
|
1161
|
-
path: _path + ".files",
|
|
1162
|
-
expected: "Array<string>",
|
|
1163
|
-
value: input.files
|
|
1164
|
-
}), void 0 === input.order || (Array.isArray(input.order) || _report(_exceptionable, {
|
|
1165
|
-
path: _path + ".order",
|
|
1166
|
-
expected: "(Array<string> | undefined)",
|
|
1167
|
-
value: input.order
|
|
1168
|
-
})) && input.order.map((elem, _index6) => "string" === typeof elem || _report(_exceptionable, {
|
|
1169
|
-
path: _path + ".order[" + _index6 + "]",
|
|
1170
|
-
expected: "string",
|
|
1171
|
-
value: elem
|
|
1172
|
-
})).every((flag) => flag) || _report(_exceptionable, {
|
|
1173
|
-
path: _path + ".order",
|
|
1174
|
-
expected: "(Array<string> | undefined)",
|
|
1175
|
-
value: input.order
|
|
1176
|
-
}), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
1177
|
-
if (["files", "order"].some((prop) => key2 === prop))
|
|
1178
|
-
return true;
|
|
1179
|
-
const value = input[key2];
|
|
1180
|
-
if (void 0 === value)
|
|
1181
|
-
return true;
|
|
1182
|
-
return _report(_exceptionable, {
|
|
1183
|
-
path: _path + _accessExpressionAsStringExports._accessExpressionAsString(key2),
|
|
1184
|
-
expected: "undefined",
|
|
1185
|
-
value
|
|
1186
|
-
});
|
|
1187
|
-
}).every((flag) => flag))].every((flag) => flag);
|
|
1188
|
-
const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && _io0(input, true);
|
|
1189
|
-
let errors;
|
|
1190
|
-
let _report;
|
|
1191
|
-
return _createStandardSchemaExports._createStandardSchema((input) => {
|
|
1192
|
-
if (false === __is(input)) {
|
|
1193
|
-
errors = [];
|
|
1194
|
-
_report = _validateReportExports._validateReport(errors);
|
|
1195
|
-
((input2, _path, _exceptionable = true) => ("object" === typeof input2 && null !== input2 || _report(true, {
|
|
1196
|
-
path: _path + "",
|
|
1197
|
-
expected: "OutputConfig",
|
|
1198
|
-
value: input2
|
|
1199
|
-
})) && _vo0(input2, _path + "", true) || _report(true, {
|
|
1200
|
-
path: _path + "",
|
|
1201
|
-
expected: "OutputConfig",
|
|
1202
|
-
value: input2
|
|
1203
|
-
}))(input, "$input", true);
|
|
1204
|
-
const success = 0 === errors.length;
|
|
1205
|
-
return success ? {
|
|
1206
|
-
success,
|
|
1207
|
-
data: input
|
|
1208
|
-
} : {
|
|
1209
|
-
success,
|
|
1210
|
-
errors,
|
|
1211
|
-
data: input
|
|
1212
|
-
};
|
|
1213
|
-
}
|
|
1214
|
-
return {
|
|
1215
|
-
success: true,
|
|
1216
|
-
data: input
|
|
1217
|
-
};
|
|
1218
|
-
});
|
|
1219
|
-
})();
|
|
1220
1173
|
var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
|
|
1221
1174
|
var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
|
|
1222
1175
|
var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
|
|
@@ -8871,7 +8824,142 @@ const glob = Object.assign(glob_, {
|
|
|
8871
8824
|
unescape
|
|
8872
8825
|
});
|
|
8873
8826
|
glob.glob = glob;
|
|
8874
|
-
async function
|
|
8827
|
+
async function globPaths(cwd, directoryConfig) {
|
|
8828
|
+
const ignore = [...directoryConfig.exclude ?? DEFAULT_CONFIG.exclude, "**/index.ts", "**/index.js"];
|
|
8829
|
+
let paths = await glob(directoryConfig.include ?? DEFAULT_CONFIG.include, {
|
|
8830
|
+
cwd,
|
|
8831
|
+
ignore,
|
|
8832
|
+
nodir: true,
|
|
8833
|
+
includeChildMatches: true
|
|
8834
|
+
});
|
|
8835
|
+
paths = paths.map((file) => file.replace(/\\/g, "/"));
|
|
8836
|
+
return paths;
|
|
8837
|
+
}
|
|
8838
|
+
const validateOutputConfig = (() => {
|
|
8839
|
+
const _io0 = (input, _exceptionable = true) => "string" === typeof input.cwd && (Array.isArray(input.directories) && input.directories.every((elem, _index1) => "object" === typeof elem && null !== elem && _io1(elem, _exceptionable))) && (2 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
8840
|
+
if (["cwd", "directories"].some((prop) => key2 === prop))
|
|
8841
|
+
return true;
|
|
8842
|
+
const value = input[key2];
|
|
8843
|
+
if (void 0 === value)
|
|
8844
|
+
return true;
|
|
8845
|
+
return false;
|
|
8846
|
+
}));
|
|
8847
|
+
const _io1 = (input, _exceptionable = true) => Array.isArray(input.files) && input.files.every((elem, _index2) => "string" === typeof elem) && (void 0 === input.order || Array.isArray(input.order) && input.order.every((elem, _index3) => "string" === typeof elem)) && (1 === Object.keys(input).length || Object.keys(input).every((key2) => {
|
|
8848
|
+
if (["files", "order"].some((prop) => key2 === prop))
|
|
8849
|
+
return true;
|
|
8850
|
+
const value = input[key2];
|
|
8851
|
+
if (void 0 === value)
|
|
8852
|
+
return true;
|
|
8853
|
+
return false;
|
|
8854
|
+
}));
|
|
8855
|
+
const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.cwd || _report(_exceptionable, {
|
|
8856
|
+
path: _path + ".cwd",
|
|
8857
|
+
expected: "string",
|
|
8858
|
+
value: input.cwd
|
|
8859
|
+
}), (Array.isArray(input.directories) || _report(_exceptionable, {
|
|
8860
|
+
path: _path + ".directories",
|
|
8861
|
+
expected: "Array<__type>",
|
|
8862
|
+
value: input.directories
|
|
8863
|
+
})) && input.directories.map((elem, _index4) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
|
|
8864
|
+
path: _path + ".directories[" + _index4 + "]",
|
|
8865
|
+
expected: "__type",
|
|
8866
|
+
value: elem
|
|
8867
|
+
})) && _vo1(elem, _path + ".directories[" + _index4 + "]", _exceptionable) || _report(_exceptionable, {
|
|
8868
|
+
path: _path + ".directories[" + _index4 + "]",
|
|
8869
|
+
expected: "__type",
|
|
8870
|
+
value: elem
|
|
8871
|
+
})).every((flag) => flag) || _report(_exceptionable, {
|
|
8872
|
+
path: _path + ".directories",
|
|
8873
|
+
expected: "Array<__type>",
|
|
8874
|
+
value: input.directories
|
|
8875
|
+
}), 2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
8876
|
+
if (["cwd", "directories"].some((prop) => key2 === prop))
|
|
8877
|
+
return true;
|
|
8878
|
+
const value = input[key2];
|
|
8879
|
+
if (void 0 === value)
|
|
8880
|
+
return true;
|
|
8881
|
+
return _report(_exceptionable, {
|
|
8882
|
+
path: _path + _accessExpressionAsStringExports._accessExpressionAsString(key2),
|
|
8883
|
+
expected: "undefined",
|
|
8884
|
+
value
|
|
8885
|
+
});
|
|
8886
|
+
}).every((flag) => flag))].every((flag) => flag);
|
|
8887
|
+
const _vo1 = (input, _path, _exceptionable = true) => [(Array.isArray(input.files) || _report(_exceptionable, {
|
|
8888
|
+
path: _path + ".files",
|
|
8889
|
+
expected: "Array<string>",
|
|
8890
|
+
value: input.files
|
|
8891
|
+
})) && input.files.map((elem, _index5) => "string" === typeof elem || _report(_exceptionable, {
|
|
8892
|
+
path: _path + ".files[" + _index5 + "]",
|
|
8893
|
+
expected: "string",
|
|
8894
|
+
value: elem
|
|
8895
|
+
})).every((flag) => flag) || _report(_exceptionable, {
|
|
8896
|
+
path: _path + ".files",
|
|
8897
|
+
expected: "Array<string>",
|
|
8898
|
+
value: input.files
|
|
8899
|
+
}), void 0 === input.order || (Array.isArray(input.order) || _report(_exceptionable, {
|
|
8900
|
+
path: _path + ".order",
|
|
8901
|
+
expected: "(Array<string> | undefined)",
|
|
8902
|
+
value: input.order
|
|
8903
|
+
})) && input.order.map((elem, _index6) => "string" === typeof elem || _report(_exceptionable, {
|
|
8904
|
+
path: _path + ".order[" + _index6 + "]",
|
|
8905
|
+
expected: "string",
|
|
8906
|
+
value: elem
|
|
8907
|
+
})).every((flag) => flag) || _report(_exceptionable, {
|
|
8908
|
+
path: _path + ".order",
|
|
8909
|
+
expected: "(Array<string> | undefined)",
|
|
8910
|
+
value: input.order
|
|
8911
|
+
}), 1 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).map((key2) => {
|
|
8912
|
+
if (["files", "order"].some((prop) => key2 === prop))
|
|
8913
|
+
return true;
|
|
8914
|
+
const value = input[key2];
|
|
8915
|
+
if (void 0 === value)
|
|
8916
|
+
return true;
|
|
8917
|
+
return _report(_exceptionable, {
|
|
8918
|
+
path: _path + _accessExpressionAsStringExports._accessExpressionAsString(key2),
|
|
8919
|
+
expected: "undefined",
|
|
8920
|
+
value
|
|
8921
|
+
});
|
|
8922
|
+
}).every((flag) => flag))].every((flag) => flag);
|
|
8923
|
+
const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && _io0(input, true);
|
|
8924
|
+
let errors;
|
|
8925
|
+
let _report;
|
|
8926
|
+
return _createStandardSchemaExports._createStandardSchema((input) => {
|
|
8927
|
+
if (false === __is(input)) {
|
|
8928
|
+
errors = [];
|
|
8929
|
+
_report = _validateReportExports._validateReport(errors);
|
|
8930
|
+
((input2, _path, _exceptionable = true) => ("object" === typeof input2 && null !== input2 || _report(true, {
|
|
8931
|
+
path: _path + "",
|
|
8932
|
+
expected: "OutputConfig",
|
|
8933
|
+
value: input2
|
|
8934
|
+
})) && _vo0(input2, _path + "", true) || _report(true, {
|
|
8935
|
+
path: _path + "",
|
|
8936
|
+
expected: "OutputConfig",
|
|
8937
|
+
value: input2
|
|
8938
|
+
}))(input, "$input", true);
|
|
8939
|
+
const success = 0 === errors.length;
|
|
8940
|
+
return success ? {
|
|
8941
|
+
success,
|
|
8942
|
+
data: input
|
|
8943
|
+
} : {
|
|
8944
|
+
success,
|
|
8945
|
+
errors,
|
|
8946
|
+
data: input
|
|
8947
|
+
};
|
|
8948
|
+
}
|
|
8949
|
+
return {
|
|
8950
|
+
success: true,
|
|
8951
|
+
data: input
|
|
8952
|
+
};
|
|
8953
|
+
});
|
|
8954
|
+
})();
|
|
8955
|
+
async function generateBarrel(rootPath, directoryConfig) {
|
|
8956
|
+
const cwd = resolve(rootPath, directoryConfig.path ?? DEFAULT_CONFIG.path);
|
|
8957
|
+
let paths = await globPaths(cwd, directoryConfig);
|
|
8958
|
+
paths = handlePathOrder(directoryConfig, paths);
|
|
8959
|
+
paths = handlePathReplacement(directoryConfig, paths);
|
|
8960
|
+
return paths;
|
|
8961
|
+
}
|
|
8962
|
+
async function generateBarrels(rootPath, configPath, config) {
|
|
8875
8963
|
for (const directoryConfig of config.directories) {
|
|
8876
8964
|
const indexFileBasePath = directoryConfig.indexFilePath ?? DEFAULT_CONFIG.indexFilePath;
|
|
8877
8965
|
const indexFileRelativePath = join(directoryConfig.path ?? DEFAULT_CONFIG.path, indexFileBasePath);
|
|
@@ -8879,31 +8967,87 @@ async function generateBarrels(rootPath, config) {
|
|
|
8879
8967
|
const indexDirectory = dirname(indexFileAbsolutePath);
|
|
8880
8968
|
if (!existsSync(indexDirectory)) {
|
|
8881
8969
|
console.error(logWarning(`Index directory '${indexDirectory}' does not exist - skipping`));
|
|
8882
|
-
console.error(logWarning(` Please verify the directory path in your configuration`));
|
|
8970
|
+
console.error(logWarning(` Please verify the directory path in your '${configPath}' configuration`));
|
|
8883
8971
|
continue;
|
|
8884
8972
|
}
|
|
8885
|
-
const
|
|
8886
|
-
const
|
|
8973
|
+
const paths = await generateBarrel(rootPath, directoryConfig);
|
|
8974
|
+
const quote = directoryConfig.singleQuote ?? config.singleQuote ?? DEFAULT_CONFIG.singleQuote ? "'" : '"';
|
|
8975
|
+
const semiIfNeeded = directoryConfig.semi ?? config.semi ?? DEFAULT_CONFIG.semi ? ";" : "";
|
|
8976
|
+
const newLineIfNeeded = directoryConfig.insertFinalNewline ?? config.insertFinalNewline ?? DEFAULT_CONFIG.insertFinalNewline ? "\n" : "";
|
|
8977
|
+
const formatExportLine = (path2) => `export * from ${quote}./${path2}${quote}${semiIfNeeded}`;
|
|
8978
|
+
const content = paths.map(formatExportLine).join("\n") + newLineIfNeeded;
|
|
8979
|
+
const exportedText = `${paths.length} file${plural(paths)} exported`;
|
|
8980
|
+
if (existsSync(indexFileAbsolutePath)) {
|
|
8981
|
+
const oldContent = (await readFile(indexFileAbsolutePath)).toString();
|
|
8982
|
+
const oldPaths = await indexFileExportedPaths(oldContent);
|
|
8983
|
+
if (content === oldContent) {
|
|
8984
|
+
console.log(
|
|
8985
|
+
colorize("IGNORE", TerminalColor.GREEN),
|
|
8986
|
+
colorize(indexFileRelativePath, TerminalColor.CYAN),
|
|
8987
|
+
colorize(exportedText, TerminalColor.GRAY)
|
|
8988
|
+
);
|
|
8989
|
+
return;
|
|
8990
|
+
}
|
|
8991
|
+
await writeFile(indexFileAbsolutePath, content);
|
|
8992
|
+
const { insertions, deletions } = pathsDifferences(oldPaths, paths);
|
|
8993
|
+
const insertionsText = insertions.length > 0 ? `, ${insertions.length} insertion${plural(insertions)}` : "";
|
|
8994
|
+
const deletionsText = deletions.length > 0 ? `, ${deletions.length} deletion${plural(deletions)}` : "";
|
|
8995
|
+
console.log(
|
|
8996
|
+
colorize("UPDATE", TerminalColor.GREEN),
|
|
8997
|
+
colorize(indexFileRelativePath, TerminalColor.CYAN),
|
|
8998
|
+
colorize(`${exportedText}${insertionsText}${deletionsText}`, TerminalColor.GRAY)
|
|
8999
|
+
);
|
|
9000
|
+
printDifferences(insertions, deletions);
|
|
9001
|
+
return;
|
|
9002
|
+
}
|
|
8887
9003
|
await writeFile(indexFileAbsolutePath, content);
|
|
8888
9004
|
console.log(
|
|
9005
|
+
colorize("CREATE", TerminalColor.GREEN),
|
|
8889
9006
|
colorize(indexFileRelativePath, TerminalColor.CYAN),
|
|
8890
|
-
colorize(
|
|
9007
|
+
colorize(exportedText, TerminalColor.GRAY)
|
|
8891
9008
|
);
|
|
8892
9009
|
}
|
|
8893
9010
|
}
|
|
8894
|
-
|
|
8895
|
-
const
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
8899
|
-
|
|
8900
|
-
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
|
|
8904
|
-
|
|
8905
|
-
|
|
8906
|
-
|
|
9011
|
+
function printDifferences(insertions, deletions) {
|
|
9012
|
+
for (const path2 of insertions) {
|
|
9013
|
+
console.log(colorize(` + ${path2}`, TerminalColor.GREEN));
|
|
9014
|
+
}
|
|
9015
|
+
for (const path2 of deletions) {
|
|
9016
|
+
console.log(colorize(` - ${path2}`, TerminalColor.RED));
|
|
9017
|
+
}
|
|
9018
|
+
}
|
|
9019
|
+
function plural(array) {
|
|
9020
|
+
return array.length > 1 ? "s" : "";
|
|
9021
|
+
}
|
|
9022
|
+
function handlePathOrder(config, paths) {
|
|
9023
|
+
paths = paths.sort((a, b) => a.localeCompare(b));
|
|
9024
|
+
const orders = config.order ?? DEFAULT_CONFIG.order;
|
|
9025
|
+
if (!orders.length) {
|
|
9026
|
+
return paths;
|
|
9027
|
+
}
|
|
9028
|
+
return paths.sort((a, b) => pathCompare(config.order, a, b));
|
|
9029
|
+
}
|
|
9030
|
+
function pathCompare(order, a, b) {
|
|
9031
|
+
const normalizeWeight = (index) => index < 0 ? order.length : index;
|
|
9032
|
+
const orderWeightA = normalizeWeight(order.findIndex((x) => a.startsWith(x)));
|
|
9033
|
+
const orderWeightB = normalizeWeight(order.findIndex((x) => b.startsWith(x)));
|
|
9034
|
+
if (orderWeightA !== orderWeightB) {
|
|
9035
|
+
return orderWeightA - orderWeightB;
|
|
9036
|
+
}
|
|
9037
|
+
const pathPortionsA = a.split("/").length;
|
|
9038
|
+
const pathPortionsB = b.split("/").length;
|
|
9039
|
+
if (pathPortionsA !== pathPortionsB) {
|
|
9040
|
+
return pathPortionsA - pathPortionsB;
|
|
9041
|
+
}
|
|
9042
|
+
return a.length - b.length;
|
|
9043
|
+
}
|
|
9044
|
+
function pathsDifferences(oldPaths, newPaths) {
|
|
9045
|
+
const insertions = newPaths.filter((x) => !oldPaths.includes(x));
|
|
9046
|
+
const deletions = oldPaths.filter((x) => !newPaths.includes(x));
|
|
9047
|
+
return {
|
|
9048
|
+
insertions,
|
|
9049
|
+
deletions
|
|
9050
|
+
};
|
|
8907
9051
|
}
|
|
8908
9052
|
function handlePathReplacement(config, files) {
|
|
8909
9053
|
const replaces = config.replace ?? DEFAULT_CONFIG.replace;
|
|
@@ -8927,75 +9071,27 @@ function handlePathReplacement(config, files) {
|
|
|
8927
9071
|
}
|
|
8928
9072
|
return files;
|
|
8929
9073
|
}
|
|
8930
|
-
function
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
if (!orders.length) {
|
|
8934
|
-
return files;
|
|
8935
|
-
}
|
|
8936
|
-
return files.sort((a, b) => sortPathWeight(config.order, b) - sortPathWeight(config.order, a));
|
|
8937
|
-
}
|
|
8938
|
-
function sortPathWeight(order, path2) {
|
|
8939
|
-
const orderIndex = order.findIndex((x) => path2.startsWith(x));
|
|
8940
|
-
if (orderIndex >= 0) {
|
|
8941
|
-
return (order.length - orderIndex) * 100 - path2.split("/").length;
|
|
8942
|
-
}
|
|
8943
|
-
return -path2.split("/").length;
|
|
8944
|
-
}
|
|
8945
|
-
var TerminalColor = /* @__PURE__ */ ((TerminalColor2) => {
|
|
8946
|
-
TerminalColor2[TerminalColor2["BLACK"] = 0] = "BLACK";
|
|
8947
|
-
TerminalColor2[TerminalColor2["RED"] = 1] = "RED";
|
|
8948
|
-
TerminalColor2[TerminalColor2["GREEN"] = 2] = "GREEN";
|
|
8949
|
-
TerminalColor2[TerminalColor2["YELLOW"] = 3] = "YELLOW";
|
|
8950
|
-
TerminalColor2[TerminalColor2["BLUE"] = 4] = "BLUE";
|
|
8951
|
-
TerminalColor2[TerminalColor2["MAGENTA"] = 5] = "MAGENTA";
|
|
8952
|
-
TerminalColor2[TerminalColor2["CYAN"] = 6] = "CYAN";
|
|
8953
|
-
TerminalColor2[TerminalColor2["WHITE"] = 7] = "WHITE";
|
|
8954
|
-
TerminalColor2[TerminalColor2["GRAY"] = 60] = "GRAY";
|
|
8955
|
-
return TerminalColor2;
|
|
8956
|
-
})(TerminalColor || {});
|
|
8957
|
-
function colorize(text, foreground, background) {
|
|
8958
|
-
if (background == null) {
|
|
8959
|
-
return `\x1B[${30 + foreground}m${text}\x1B[0m`;
|
|
8960
|
-
}
|
|
8961
|
-
return `\x1B[${30 + foreground}m\x1B[${40 + background}m${text}\x1B[0m`;
|
|
8962
|
-
}
|
|
8963
|
-
function logError(message) {
|
|
8964
|
-
console.log(colorize(message, TerminalColor.RED));
|
|
8965
|
-
}
|
|
8966
|
-
function logWarning(message) {
|
|
8967
|
-
console.log(colorize(message, TerminalColor.YELLOW));
|
|
8968
|
-
}
|
|
8969
|
-
function logInfo(message) {
|
|
8970
|
-
console.log(colorize(message, TerminalColor.BLUE));
|
|
8971
|
-
}
|
|
8972
|
-
function logValidationError(message, validation) {
|
|
8973
|
-
const formatError = (e) => {
|
|
8974
|
-
const property = e.path.replace("$input.", "");
|
|
8975
|
-
if (e.expected === "undefined") {
|
|
8976
|
-
return `Property '${property}' is not allowed in configuration`;
|
|
8977
|
-
}
|
|
8978
|
-
if (e.value === void 0) {
|
|
8979
|
-
return `Missing required property '${property}' in configuration`;
|
|
8980
|
-
}
|
|
8981
|
-
return `Invalid type for property '${property}'`;
|
|
8982
|
-
};
|
|
8983
|
-
const errors = validation.errors.map((x) => ` ` + formatError(x)).join("\n");
|
|
8984
|
-
const text = `${message}:
|
|
8985
|
-
${errors}`;
|
|
8986
|
-
logError(text);
|
|
9074
|
+
async function indexFileExportedPaths(indexFileContent) {
|
|
9075
|
+
const matches = indexFileContent.match(/(?<='\.\/).+(?=')/g);
|
|
9076
|
+
return matches?.map((x) => x) ?? [];
|
|
8987
9077
|
}
|
|
8988
9078
|
export {
|
|
8989
9079
|
DEFAULT_CONFIG,
|
|
8990
9080
|
TerminalColor,
|
|
8991
9081
|
cliInit,
|
|
8992
9082
|
colorize,
|
|
9083
|
+
generateBarrel,
|
|
8993
9084
|
generateBarrels,
|
|
9085
|
+
globPaths,
|
|
9086
|
+
handlePathOrder,
|
|
9087
|
+
handlePathReplacement,
|
|
9088
|
+
indexFileExportedPaths,
|
|
8994
9089
|
logError,
|
|
8995
9090
|
logInfo,
|
|
8996
9091
|
logValidationError,
|
|
8997
9092
|
logWarning,
|
|
8998
9093
|
parseConfig,
|
|
9094
|
+
pathsDifferences,
|
|
8999
9095
|
runGenerateCommand,
|
|
9000
9096
|
runInitCommand,
|
|
9001
9097
|
validateConfig,
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
+
export type DirectoryConfig = {
|
|
2
|
+
path?: string;
|
|
3
|
+
include?: string[];
|
|
4
|
+
exclude?: string[];
|
|
5
|
+
order?: string[];
|
|
6
|
+
indexFilePath?: string;
|
|
7
|
+
replace?: {
|
|
8
|
+
find: string;
|
|
9
|
+
replacement: string;
|
|
10
|
+
}[];
|
|
11
|
+
singleQuote?: boolean;
|
|
12
|
+
semi?: boolean;
|
|
13
|
+
insertFinalNewline?: boolean;
|
|
14
|
+
};
|
|
1
15
|
export type Config = {
|
|
2
16
|
$schema?: string;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
order?: string[];
|
|
8
|
-
indexFilePath?: string;
|
|
9
|
-
replace?: {
|
|
10
|
-
find: string;
|
|
11
|
-
replacement: string;
|
|
12
|
-
}[];
|
|
13
|
-
}[];
|
|
17
|
+
singleQuote?: boolean;
|
|
18
|
+
semi?: boolean;
|
|
19
|
+
insertFinalNewline?: boolean;
|
|
20
|
+
directories: DirectoryConfig[];
|
|
14
21
|
};
|
|
15
|
-
export declare const DEFAULT_CONFIG: Required<
|
|
22
|
+
export declare const DEFAULT_CONFIG: Required<DirectoryConfig>;
|
|
16
23
|
export declare const validateConfig: ((input: unknown) => import('typia').IValidation<Config>) & import('@standard-schema/spec').StandardSchemaV1<unknown, Config>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Config } from '../index.ts';
|
|
2
|
-
export declare function generateBarrels(rootPath: string, config: Config): Promise<void>;
|
|
2
|
+
export declare function generateBarrels(rootPath: string, configPath: string, config: Config): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function indexFileExportedPaths(indexFileContent: string): Promise<string[]>;
|
package/lib/src/index.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
export * from './cli/cli';
|
|
2
|
+
export * from './cli/commands/init-command';
|
|
2
3
|
export * from './cli/commands/generate-command';
|
|
3
4
|
export * from './cli/commands/generate-command-options';
|
|
4
|
-
export * from './
|
|
5
|
+
export * from './log/log';
|
|
6
|
+
export * from './log/colorize';
|
|
7
|
+
export * from './log/log-validation-error';
|
|
5
8
|
export * from './config/config';
|
|
6
|
-
export * from './config/output-config';
|
|
7
9
|
export * from './config/parse-config';
|
|
10
|
+
export * from './generate/glob-paths';
|
|
11
|
+
export * from './config/output-config';
|
|
12
|
+
export * from './generate/generate-barrel';
|
|
8
13
|
export * from './generate/generate-barrels';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
14
|
+
export * from './generate/handle-path-order';
|
|
15
|
+
export * from './generate/paths-differences';
|
|
16
|
+
export * from './generate/handle-path-replacement';
|
|
17
|
+
export * from './generate/index-file-exported-paths';
|
package/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -5,6 +5,18 @@
|
|
|
5
5
|
"$schema": {
|
|
6
6
|
"type": "string"
|
|
7
7
|
},
|
|
8
|
+
"singleQuote": {
|
|
9
|
+
"type": "boolean",
|
|
10
|
+
"default": true
|
|
11
|
+
},
|
|
12
|
+
"semi": {
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"default": true
|
|
15
|
+
},
|
|
16
|
+
"insertFinalNewline": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"default": true
|
|
19
|
+
},
|
|
8
20
|
"directories": {
|
|
9
21
|
"type": "array",
|
|
10
22
|
"items": {
|
|
@@ -64,6 +76,18 @@
|
|
|
64
76
|
"replacement": ""
|
|
65
77
|
}
|
|
66
78
|
]
|
|
79
|
+
},
|
|
80
|
+
"singleQuote": {
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"default": true
|
|
83
|
+
},
|
|
84
|
+
"semi": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"default": true
|
|
87
|
+
},
|
|
88
|
+
"insertFinalNewline": {
|
|
89
|
+
"type": "boolean",
|
|
90
|
+
"default": true
|
|
67
91
|
}
|
|
68
92
|
},
|
|
69
93
|
"required": []
|