@nlabs/lex 1.37.8 → 1.39.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/.eslintrc +1 -0
- package/.postcssrc.js +39 -29
- package/dist/LexConfig.js +22 -46
- package/dist/commands/build.js +35 -63
- package/dist/commands/bulid.test.js +3 -3
- package/dist/commands/clean.js +14 -37
- package/dist/commands/compile.js +60 -81
- package/dist/commands/config.js +18 -50
- package/dist/commands/copy.js +14 -43
- package/dist/commands/create.js +45 -72
- package/dist/commands/dev.js +23 -50
- package/dist/commands/init.js +26 -53
- package/dist/commands/link.js +9 -32
- package/dist/commands/lint.js +20 -47
- package/dist/commands/migrate.js +15 -44
- package/dist/commands/publish.js +27 -56
- package/dist/commands/test.js +21 -48
- package/dist/commands/update.js +15 -44
- package/dist/commands/upgrade.js +21 -50
- package/dist/commands/versions.js +17 -43
- package/dist/create/changelog.js +23 -52
- package/dist/lex.js +34 -20
- package/dist/resolver.js +12 -6
- package/dist/utils/app.js +55 -87
- package/dist/utils/file.js +14 -42
- package/dist/utils/log.js +9 -38
- package/dist/utils/reactShim.js +4 -33
- package/jest.config.lex.js +5 -0
- package/jest.setup.js +1 -1
- package/package.json +60 -58
- package/tsconfig/reactNative.json +30 -0
- package/tsconfig/web.json +0 -0
- package/tsconfig.template.json +0 -1
- package/webpack.config.js +3 -2
- package/dist/commands/index.js +0 -70
package/dist/commands/compile.js
CHANGED
|
@@ -1,49 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
-
mod
|
|
22
|
-
));
|
|
23
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
-
var compile_exports = {};
|
|
25
|
-
__export(compile_exports, {
|
|
26
|
-
compile: () => compile,
|
|
27
|
-
hasFileType: () => hasFileType
|
|
28
|
-
});
|
|
29
|
-
module.exports = __toCommonJS(compile_exports);
|
|
30
|
-
var import_execa = __toESM(require("execa"));
|
|
31
|
-
var fs = __toESM(require("fs-extra"));
|
|
32
|
-
var glob = __toESM(require("glob"));
|
|
33
|
-
var path = __toESM(require("path"));
|
|
34
|
-
var import_LexConfig = require("../LexConfig");
|
|
35
|
-
var import_app = require("../utils/app");
|
|
36
|
-
var import_file = require("../utils/file");
|
|
37
|
-
var import_log = require("../utils/log");
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import { existsSync, lstatSync, readdirSync } from "fs";
|
|
3
|
+
import * as glob from "glob";
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
import { LexConfig } from "../LexConfig.js";
|
|
7
|
+
import { checkLinkedModules, copyFiles, createSpinner, getFilesByExt, removeFiles } from "../utils/app.js";
|
|
8
|
+
import { relativeFilePath } from "../utils/file.js";
|
|
9
|
+
import { log } from "../utils/log.js";
|
|
38
10
|
const hasFileType = (startPath, ext) => {
|
|
39
|
-
if (!
|
|
11
|
+
if (!existsSync(startPath)) {
|
|
40
12
|
return false;
|
|
41
13
|
}
|
|
42
|
-
const files =
|
|
14
|
+
const files = readdirSync(startPath);
|
|
43
15
|
return files.some((file) => {
|
|
44
16
|
const filename = path.join(startPath, file);
|
|
45
17
|
const fileExt = path.extname(filename);
|
|
46
|
-
const stat =
|
|
18
|
+
const stat = lstatSync(filename);
|
|
47
19
|
if (stat.isDirectory()) {
|
|
48
20
|
return hasFileType(filename, ext);
|
|
49
21
|
}
|
|
@@ -52,24 +24,24 @@ const hasFileType = (startPath, ext) => {
|
|
|
52
24
|
};
|
|
53
25
|
const compile = async (cmd, callback = () => ({})) => {
|
|
54
26
|
const { cliName = "Lex", config, quiet, remove, watch } = cmd;
|
|
55
|
-
const spinner =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const { outputFullPath, sourceFullPath, useTypescript } =
|
|
59
|
-
const
|
|
60
|
-
(
|
|
27
|
+
const spinner = createSpinner(quiet);
|
|
28
|
+
log(`${cliName} compiling...`, "info", quiet);
|
|
29
|
+
LexConfig.parseConfig(cmd);
|
|
30
|
+
const { outputFullPath, preset, sourceFullPath, useTypescript } = LexConfig.config;
|
|
31
|
+
const dirName = fileURLToPath(new URL(".", import.meta.url));
|
|
32
|
+
const nodePath = path.resolve(dirName, "../../node_modules");
|
|
33
|
+
checkLinkedModules();
|
|
61
34
|
if (remove) {
|
|
62
|
-
await
|
|
35
|
+
await removeFiles(outputFullPath);
|
|
63
36
|
}
|
|
64
37
|
if (useTypescript) {
|
|
65
|
-
|
|
66
|
-
const typescriptPath =
|
|
38
|
+
LexConfig.checkTypescriptConfig();
|
|
39
|
+
const typescriptPath = relativeFilePath("typescript/bin/tsc", nodePath);
|
|
67
40
|
const typescriptOptions = config ? ["-p", config] : [
|
|
68
41
|
"--allowSyntheticDefaultImports",
|
|
69
42
|
"--baseUrl",
|
|
70
43
|
sourceFullPath,
|
|
71
44
|
"--declaration",
|
|
72
|
-
"--emitDeclarationOnly",
|
|
73
45
|
"--inlineSourceMap",
|
|
74
46
|
"--jsx",
|
|
75
47
|
"react-jsx",
|
|
@@ -81,7 +53,6 @@ const compile = async (cmd, callback = () => ({})) => {
|
|
|
81
53
|
"node",
|
|
82
54
|
"--noImplicitReturns",
|
|
83
55
|
"--noImplicitThis",
|
|
84
|
-
"--noStrictGenericChecks",
|
|
85
56
|
"--outDir",
|
|
86
57
|
outputFullPath,
|
|
87
58
|
"--removeComments",
|
|
@@ -95,12 +66,18 @@ const compile = async (cmd, callback = () => ({})) => {
|
|
|
95
66
|
"--typeRoots",
|
|
96
67
|
["node_modules/@types", "node_modules/json-d-ts"]
|
|
97
68
|
];
|
|
69
|
+
const delcarationPresets = [
|
|
70
|
+
"web"
|
|
71
|
+
];
|
|
72
|
+
if (delcarationPresets.includes(preset)) {
|
|
73
|
+
typescriptOptions.push("--emitDeclarationOnly");
|
|
74
|
+
}
|
|
98
75
|
spinner.start("Static type checking with Typescript...");
|
|
99
76
|
try {
|
|
100
|
-
await (
|
|
77
|
+
await execa(typescriptPath, typescriptOptions, { encoding: "utf-8" });
|
|
101
78
|
spinner.succeed("Successfully completed type checking!");
|
|
102
79
|
} catch (error) {
|
|
103
|
-
|
|
80
|
+
log(`
|
|
104
81
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
105
82
|
if (!quiet) {
|
|
106
83
|
console.error(error);
|
|
@@ -119,7 +96,7 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
119
96
|
const tsFiles = glob.sync(`${sourceFullPath}/**/**.ts*`, globOptions);
|
|
120
97
|
const jsFiles = glob.sync(`${sourceFullPath}/**/**.js`, globOptions);
|
|
121
98
|
const sourceFiles = [...tsFiles, ...jsFiles];
|
|
122
|
-
const esbuildPath =
|
|
99
|
+
const esbuildPath = relativeFilePath("esbuild/bin/esbuild", nodePath);
|
|
123
100
|
const esbuildOptions = [
|
|
124
101
|
...sourceFiles,
|
|
125
102
|
"--color=true",
|
|
@@ -128,17 +105,20 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
128
105
|
"--outdir=lib",
|
|
129
106
|
"--platform=node",
|
|
130
107
|
"--sourcemap=inline",
|
|
131
|
-
"--target=
|
|
108
|
+
"--target=node18"
|
|
132
109
|
];
|
|
110
|
+
console.log({ useTypescript });
|
|
133
111
|
if (useTypescript) {
|
|
134
112
|
esbuildOptions.push("--loader:.ts=ts", "--loader:.tsx=tsx");
|
|
135
113
|
}
|
|
136
114
|
if (watch) {
|
|
137
115
|
esbuildOptions.push("--watch");
|
|
138
116
|
}
|
|
139
|
-
const cssFiles =
|
|
117
|
+
const cssFiles = getFilesByExt(".css", LexConfig.config);
|
|
140
118
|
if (cssFiles.length) {
|
|
141
|
-
const postcssPath =
|
|
119
|
+
const postcssPath = relativeFilePath("postcss-cli/index.js", nodePath);
|
|
120
|
+
console.log({ nodePath, postcssPath });
|
|
121
|
+
const dirName2 = fileURLToPath(new URL(".", import.meta.url));
|
|
142
122
|
const postcssOptions = [
|
|
143
123
|
`${sourceFullPath}/**/**.css`,
|
|
144
124
|
"--base",
|
|
@@ -146,57 +126,57 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
146
126
|
"--dir",
|
|
147
127
|
outputFullPath,
|
|
148
128
|
"--config",
|
|
149
|
-
path.resolve(
|
|
129
|
+
path.resolve(dirName2, "../../.postcssrc.js")
|
|
150
130
|
];
|
|
151
131
|
try {
|
|
152
|
-
await (
|
|
132
|
+
await execa(postcssPath, postcssOptions, { encoding: "utf-8" });
|
|
153
133
|
spinner.succeed(`Successfully formatted ${cssFiles.length} css files!`);
|
|
154
134
|
} catch (error) {
|
|
155
|
-
|
|
135
|
+
log(`
|
|
156
136
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
157
137
|
spinner.fail("Failed formatting css.");
|
|
158
138
|
callback(error.status);
|
|
159
139
|
return error.status;
|
|
160
140
|
}
|
|
161
141
|
}
|
|
162
|
-
const gifFiles =
|
|
163
|
-
const jpgFiles =
|
|
164
|
-
const pngFiles =
|
|
165
|
-
const svgFiles =
|
|
142
|
+
const gifFiles = getFilesByExt(".gif", LexConfig.config);
|
|
143
|
+
const jpgFiles = getFilesByExt(".jpg", LexConfig.config);
|
|
144
|
+
const pngFiles = getFilesByExt(".png", LexConfig.config);
|
|
145
|
+
const svgFiles = getFilesByExt(".svg", LexConfig.config);
|
|
166
146
|
const imageFiles = [...gifFiles, ...jpgFiles, ...pngFiles, ...svgFiles];
|
|
167
147
|
if (imageFiles.length) {
|
|
168
148
|
try {
|
|
169
|
-
await
|
|
149
|
+
await copyFiles(imageFiles, "image", spinner, LexConfig.config);
|
|
170
150
|
} catch (error) {
|
|
171
|
-
|
|
151
|
+
log(`
|
|
172
152
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
173
153
|
spinner.fail("Failed to move images to output directory.");
|
|
174
154
|
callback(error.status);
|
|
175
155
|
return error.status;
|
|
176
156
|
}
|
|
177
157
|
}
|
|
178
|
-
const ttfFiles =
|
|
179
|
-
const otfFiles =
|
|
180
|
-
const woffFiles =
|
|
181
|
-
const woff2Files =
|
|
158
|
+
const ttfFiles = getFilesByExt(".ttf", LexConfig.config);
|
|
159
|
+
const otfFiles = getFilesByExt(".otf", LexConfig.config);
|
|
160
|
+
const woffFiles = getFilesByExt(".woff", LexConfig.config);
|
|
161
|
+
const woff2Files = getFilesByExt(".woff2", LexConfig.config);
|
|
182
162
|
const fontFiles = [...ttfFiles, ...otfFiles, ...woffFiles, ...woff2Files];
|
|
183
163
|
if (fontFiles.length) {
|
|
184
164
|
try {
|
|
185
|
-
await
|
|
165
|
+
await copyFiles(fontFiles, "font", spinner, LexConfig.config);
|
|
186
166
|
} catch (error) {
|
|
187
|
-
|
|
167
|
+
log(`
|
|
188
168
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
189
169
|
spinner.fail("Failed to move fonts to output directory.");
|
|
190
170
|
callback(error.status);
|
|
191
171
|
return error.status;
|
|
192
172
|
}
|
|
193
173
|
}
|
|
194
|
-
const mdFiles =
|
|
174
|
+
const mdFiles = getFilesByExt(".md", LexConfig.config);
|
|
195
175
|
if (mdFiles.length) {
|
|
196
176
|
try {
|
|
197
|
-
await
|
|
177
|
+
await copyFiles(mdFiles, "documents", spinner, LexConfig.config);
|
|
198
178
|
} catch (error) {
|
|
199
|
-
|
|
179
|
+
log(`
|
|
200
180
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
201
181
|
spinner.fail("Failed to move docs to output directory.");
|
|
202
182
|
callback(error.status);
|
|
@@ -205,10 +185,10 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
205
185
|
}
|
|
206
186
|
spinner.start(watch ? "Watching for changes..." : "Compiling with ESBuild...");
|
|
207
187
|
try {
|
|
208
|
-
await (
|
|
188
|
+
await execa(esbuildPath, esbuildOptions, { encoding: "utf-8" });
|
|
209
189
|
spinner.succeed("Compile completed successfully!");
|
|
210
190
|
} catch (error) {
|
|
211
|
-
|
|
191
|
+
log(`
|
|
212
192
|
${cliName} Error: ${error.message}`, "error", quiet);
|
|
213
193
|
if (!quiet) {
|
|
214
194
|
console.error(error);
|
|
@@ -220,9 +200,8 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
220
200
|
callback(0);
|
|
221
201
|
return 0;
|
|
222
202
|
};
|
|
223
|
-
|
|
224
|
-
0 && (module.exports = {
|
|
203
|
+
export {
|
|
225
204
|
compile,
|
|
226
205
|
hasFileType
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2RlZmF1bHQgYXMgZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSAnZ2xvYic7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vTGV4Q29uZmlnJztcbmltcG9ydCB7XG4gIGNoZWNrTGlua2VkTW9kdWxlcyxcbiAgY29weUZpbGVzLFxuICBjcmVhdGVTcGlubmVyLFxuICBnZXRGaWxlc0J5RXh0LFxuICByZW1vdmVGaWxlc1xufSBmcm9tICcuLi91dGlscy9hcHAnO1xuaW1wb3J0IHtyZWxhdGl2ZUZpbGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cnO1xuXG5leHBvcnQgY29uc3QgaGFzRmlsZVR5cGUgPSAoc3RhcnRQYXRoOiBzdHJpbmcsIGV4dDogc3RyaW5nW10pOiBib29sZWFuID0+IHtcbiAgaWYoIWZzLmV4aXN0c1N5bmMoc3RhcnRQYXRoKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVzOiBzdHJpbmdbXSA9IGZzLnJlYWRkaXJTeW5jKHN0YXJ0UGF0aCk7XG5cbiAgcmV0dXJuIGZpbGVzLnNvbWUoKGZpbGU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGZpbGVuYW1lOiBzdHJpbmcgPSBwYXRoLmpvaW4oc3RhcnRQYXRoLCBmaWxlKTtcbiAgICBjb25zdCBmaWxlRXh0OiBzdHJpbmcgPSBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpO1xuICAgIGNvbnN0IHN0YXQgPSBmcy5sc3RhdFN5bmMoZmlsZW5hbWUpO1xuXG4gICAgaWYoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAvLyBSZWN1cnNpdmUgc2VhcmNoXG4gICAgICByZXR1cm4gaGFzRmlsZVR5cGUoZmlsZW5hbWUsIGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4dC5pbmNsdWRlcyhmaWxlRXh0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcGlsZSA9IGFzeW5jIChjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBjb25maWcsIHF1aWV0LCByZW1vdmUsIHdhdGNofSA9IGNtZDtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gY29tcGlsaW5nLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIC8vIENvbXBpbGUgdHlwZVxuICBjb25zdCB7b3V0cHV0RnVsbFBhdGgsIHNvdXJjZUZ1bGxQYXRoLCB1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IG5vZGVQYXRoOiBzdHJpbmcgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vbm9kZV9tb2R1bGVzJyk7XG5cbiAgLy8gQ2hlY2sgZm9yIGxpbmtlZCBtb2R1bGVzXG4gIGNoZWNrTGlua2VkTW9kdWxlcygpO1xuXG4gIC8vIENsZWFuIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIHdlIHN0YXJ0IGFkZGluZyBpbiBuZXcgZmlsZXNcbiAgaWYocmVtb3ZlKSB7XG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMob3V0cHV0RnVsbFBhdGgpO1xuICB9XG5cbiAgLy8gQWRkIHRzY29uZmlnIGZpbGUgaWYgbm9uZSBleGlzdHNcbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIC8vIE1ha2Ugc3VyZSB0c2NvbmZpZy5qc29uIGV4aXN0c1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcblxuICAgIC8vIENoZWNrIHN0YXRpYyB0eXBlcyB3aXRoIHR5cGVzY3JpcHRcbiAgICBjb25zdCB0eXBlc2NyaXB0UGF0aDogc3RyaW5nID0gcmVsYXRpdmVGaWxlUGF0aCgndHlwZXNjcmlwdC9iaW4vdHNjJywgbm9kZVBhdGgpO1xuICAgIGNvbnN0IHR5cGVzY3JpcHRPcHRpb25zOiBzdHJpbmdbXSA9IGNvbmZpZyA/XG4gICAgICBbJy1wJywgY29uZmlnXSA6XG4gICAgICBbXG4gICAgICAgICctLWFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHMnLFxuICAgICAgICAnLS1iYXNlVXJsJywgc291cmNlRnVsbFBhdGgsXG4gICAgICAgICctLWRlY2xhcmF0aW9uJyxcbiAgICAgICAgJy0tZW1pdERlY2xhcmF0aW9uT25seScsXG4gICAgICAgICctLWlubGluZVNvdXJjZU1hcCcsXG4gICAgICAgICctLWpzeCcsICdyZWFjdC1qc3gnLFxuICAgICAgICAnLS1saWInLCBbJ0VTNScsICdFUzYnLCAnRVMyMDE1JywgJ0VTNycsICdFUzIwMTYnLCAnRVMyMDE3JywgJ0VTMjAxOCcsICdFU05leHQnLCAnRE9NJ10sXG4gICAgICAgICctLW1vZHVsZScsICdjb21tb25qcycsXG4gICAgICAgICctLW1vZHVsZVJlc29sdXRpb24nLCAnbm9kZScsXG4gICAgICAgICctLW5vSW1wbGljaXRSZXR1cm5zJyxcbiAgICAgICAgJy0tbm9JbXBsaWNpdFRoaXMnLFxuICAgICAgICAnLS1ub1N0cmljdEdlbmVyaWNDaGVja3MnLFxuICAgICAgICAnLS1vdXREaXInLCBvdXRwdXRGdWxsUGF0aCxcbiAgICAgICAgJy0tcmVtb3ZlQ29tbWVudHMnLFxuICAgICAgICAnLS1yZXNvbHZlSnNvbk1vZHVsZScsXG4gICAgICAgICctLXJvb3REaXInLCBzb3VyY2VGdWxsUGF0aCxcbiAgICAgICAgJy0tc291cmNlUm9vdCcsIHNvdXJjZUZ1bGxQYXRoLFxuICAgICAgICAnLS10YXJnZXQnLCAnRVM1JyxcbiAgICAgICAgJy0tdHlwZVJvb3RzJywgWydub2RlX21vZHVsZXMvQHR5cGVzJywgJ25vZGVfbW9kdWxlcy9qc29uLWQtdHMnXVxuICAgICAgXTtcblxuICAgIC8vIFN0YXJ0IHR5cGUgY2hlY2tpbmcgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3RhcnQoJ1N0YXRpYyB0eXBlIGNoZWNraW5nIHdpdGggVHlwZXNjcmlwdC4uLicpO1xuXG4gICAgLy8gVHlwZSBjaGVja2luZ1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjYSh0eXBlc2NyaXB0UGF0aCwgdHlwZXNjcmlwdE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0Zi04J30pO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCB0eXBlIGNoZWNraW5nIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICBpZighcXVpZXQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdUeXBlIGNoZWNraW5nIGZhaWxlZC4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjayhlcnJvci5zdGF0dXMpO1xuICAgICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2UgZmlsZXNcbiAgY29uc3QgZ2xvYk9wdGlvbnMgPSB7XG4gICAgY3dkOiBzb3VyY2VGdWxsUGF0aCxcbiAgICBkb3Q6IGZhbHNlLFxuICAgIG5vZGlyOiB0cnVlLFxuICAgIG5vc29ydDogdHJ1ZVxuICB9O1xuICBjb25zdCB0c0ZpbGVzOiBzdHJpbmdbXSA9IGdsb2Iuc3luYyhgJHtzb3VyY2VGdWxsUGF0aH0vKiovKioudHMqYCwgZ2xvYk9wdGlvbnMpO1xuICBjb25zdCBqc0ZpbGVzOiBzdHJpbmdbXSA9IGdsb2Iuc3luYyhgJHtzb3VyY2VGdWxsUGF0aH0vKiovKiouanNgLCBnbG9iT3B0aW9ucyk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzOiBzdHJpbmdbXSA9IFsuLi50c0ZpbGVzLCAuLi5qc0ZpbGVzXTtcblxuICAvLyBFU0J1aWxkIG9wdGlvbnNcbiAgY29uc3QgZXNidWlsZFBhdGg6IHN0cmluZyA9IHJlbGF0aXZlRmlsZVBhdGgoJ2VzYnVpbGQvYmluL2VzYnVpbGQnLCBub2RlUGF0aCk7XG4gIGNvbnN0IGVzYnVpbGRPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAuLi5zb3VyY2VGaWxlcyxcbiAgICAnLS1jb2xvcj10cnVlJyxcbiAgICAnLS1mb3JtYXQ9Y2pzJyxcbiAgICAnLS1sb2FkZXI6LmpzPWpzJyxcbiAgICAnLS1vdXRkaXI9bGliJyxcbiAgICAnLS1wbGF0Zm9ybT1ub2RlJyxcbiAgICAnLS1zb3VyY2VtYXA9aW5saW5lJyxcbiAgICAnLS10YXJnZXQ9bm9kZTE2J1xuICBdO1xuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKCctLWxvYWRlcjoudHM9dHMnLCAnLS1sb2FkZXI6LnRzeD10c3gnKTtcbiAgfVxuXG4gIGlmKHdhdGNoKSB7XG4gICAgZXNidWlsZE9wdGlvbnMucHVzaCgnLS13YXRjaCcpO1xuICB9XG5cbiAgLy8gVXNlIFBvc3RDU1MgZm9yIENTUyBmaWxlc1xuICBjb25zdCBjc3NGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuY3NzJywgTGV4Q29uZmlnLmNvbmZpZyk7XG5cbiAgaWYoY3NzRmlsZXMubGVuZ3RoKSB7XG4gICAgY29uc3QgcG9zdGNzc1BhdGg6IHN0cmluZyA9IHJlbGF0aXZlRmlsZVBhdGgoJ3Bvc3Rjc3MtY2xpL2luZGV4LmpzJywgbm9kZVBhdGgpO1xuICAgIGNvbnN0IHBvc3Rjc3NPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAgIGAke3NvdXJjZUZ1bGxQYXRofS8qKi8qKi5jc3NgLFxuICAgICAgJy0tYmFzZScsXG4gICAgICBzb3VyY2VGdWxsUGF0aCxcbiAgICAgICctLWRpcicsXG4gICAgICBvdXRwdXRGdWxsUGF0aCxcbiAgICAgICctLWNvbmZpZycsXG4gICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vLnBvc3Rjc3NyYy5qcycpXG4gICAgXTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjYShwb3N0Y3NzUGF0aCwgcG9zdGNzc09wdGlvbnMsIHtlbmNvZGluZzogJ3V0Zi04J30pO1xuICAgICAgc3Bpbm5lci5zdWNjZWVkKGBTdWNjZXNzZnVsbHkgZm9ybWF0dGVkICR7Y3NzRmlsZXMubGVuZ3RofSBjc3MgZmlsZXMhYCk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgZm9ybWF0dGluZyBjc3MuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soZXJyb3Iuc3RhdHVzKTtcbiAgICAgIHJldHVybiBlcnJvci5zdGF0dXM7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29weSBpbWFnZSBmaWxlc1xuICBjb25zdCBnaWZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuZ2lmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGpwZ0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5qcGcnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QgcG5nRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLnBuZycsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBzdmdGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcuc3ZnJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGltYWdlRmlsZXM6IHN0cmluZ1tdID0gWy4uLmdpZkZpbGVzLCAuLi5qcGdGaWxlcywgLi4ucG5nRmlsZXMsIC4uLnN2Z0ZpbGVzXTtcblxuICBpZihpbWFnZUZpbGVzLmxlbmd0aCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb3B5RmlsZXMoaW1hZ2VGaWxlcywgJ2ltYWdlJywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBpbWFnZXMgdG8gb3V0cHV0IGRpcmVjdG9yeS4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjayhlcnJvci5zdGF0dXMpO1xuICAgICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgICB9XG4gIH1cblxuICAvLyBDb3B5IGZvbnQgZmlsZXNcbiAgY29uc3QgdHRmRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLnR0ZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBvdGZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcub3RmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHdvZmZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcud29mZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCB3b2ZmMkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy53b2ZmMicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBmb250RmlsZXM6IHN0cmluZ1tdID0gWy4uLnR0ZkZpbGVzLCAuLi5vdGZGaWxlcywgLi4ud29mZkZpbGVzLCAuLi53b2ZmMkZpbGVzXTtcblxuICBpZihmb250RmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhmb250RmlsZXMsICdmb250Jywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBmb250cyB0byBvdXRwdXQgZGlyZWN0b3J5LicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKGVycm9yLnN0YXR1cyk7XG4gICAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvcHkgbWFya2Rvd24gZmlsZXNcbiAgY29uc3QgbWRGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcubWQnLCBMZXhDb25maWcuY29uZmlnKTtcblxuICBpZihtZEZpbGVzLmxlbmd0aCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb3B5RmlsZXMobWRGaWxlcywgJ2RvY3VtZW50cycsIHNwaW5uZXIsIExleENvbmZpZy5jb25maWcpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIG1vdmUgZG9jcyB0byBvdXRwdXQgZGlyZWN0b3J5LicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKGVycm9yLnN0YXR1cyk7XG4gICAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0YXJ0IGNvbXBpbGUgc3Bpbm5lclxuICBzcGlubmVyLnN0YXJ0KHdhdGNoID8gJ1dhdGNoaW5nIGZvciBjaGFuZ2VzLi4uJyA6ICdDb21waWxpbmcgd2l0aCBFU0J1aWxkLi4uJyk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShlc2J1aWxkUGF0aCwgZXNidWlsZE9wdGlvbnMsIHtlbmNvZGluZzogJ3V0Zi04J30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdDb21waWxlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICBpZighcXVpZXQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnQ29kZSBjb21waWxpbmcgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgY2FsbGJhY2soZXJyb3Iuc3RhdHVzKTtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICB9XG5cbiAgLy8gU3RvcCBwcm9jZXNzXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLG1CQUErQjtBQUMvQixTQUFvQjtBQUNwQixXQUFzQjtBQUN0QixXQUFzQjtBQUV0Qix1QkFBd0I7QUFDeEIsaUJBTU87QUFDUCxrQkFBK0I7QUFDL0IsaUJBQWtCO0FBRVgsTUFBTSxjQUFjLENBQUMsV0FBbUIsUUFBMkI7QUFDeEUsTUFBRyxDQUFDLEdBQUcsV0FBVyxTQUFTLEdBQUc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQWtCLEdBQUcsWUFBWSxTQUFTO0FBRWhELFNBQU8sTUFBTSxLQUFLLENBQUMsU0FBaUI7QUFDbEMsVUFBTSxXQUFtQixLQUFLLEtBQUssV0FBVyxJQUFJO0FBQ2xELFVBQU0sVUFBa0IsS0FBSyxRQUFRLFFBQVE7QUFDN0MsVUFBTSxPQUFPLEdBQUcsVUFBVSxRQUFRO0FBRWxDLFFBQUcsS0FBSyxZQUFZLEdBQUc7QUFFckIsYUFBTyxZQUFZLFVBQVUsR0FBRztBQUFBLElBQ2xDO0FBRUEsV0FBTyxJQUFJLFNBQVMsT0FBTztBQUFBLEVBQzdCLENBQUM7QUFDSDtBQUVPLE1BQU0sVUFBVSxPQUFPLEtBQVUsV0FBZ0IsT0FBTyxDQUFDLE9BQXdCO0FBQ3RGLFFBQU0sRUFBQyxVQUFVLE9BQU8sUUFBUSxPQUFPLFFBQVEsTUFBSyxJQUFJO0FBR3hELFFBQU0sY0FBVSwwQkFBYyxLQUFLO0FBR25DLHNCQUFJLEdBQUcsd0JBQXdCLFFBQVEsS0FBSztBQUc1Qyw2QkFBVSxZQUFZLEdBQUc7QUFHekIsUUFBTSxFQUFDLGdCQUFnQixnQkFBZ0IsY0FBYSxJQUFJLDJCQUFVO0FBQ2xFLFFBQU0sV0FBbUIsS0FBSyxRQUFRLFdBQVcsb0JBQW9CO0FBR3JFLHFDQUFtQjtBQUduQixNQUFHLFFBQVE7QUFDVCxjQUFNLHdCQUFZLGNBQWM7QUFBQSxFQUNsQztBQUdBLE1BQUcsZUFBZTtBQUVoQiwrQkFBVSxzQkFBc0I7QUFHaEMsVUFBTSxxQkFBeUIsOEJBQWlCLHNCQUFzQixRQUFRO0FBQzlFLFVBQU0sb0JBQThCLFNBQ2xDLENBQUMsTUFBTSxNQUFNLElBQ2I7QUFBQSxNQUNFO0FBQUEsTUFDQTtBQUFBLE1BQWE7QUFBQSxNQUNiO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFBUztBQUFBLE1BQ1Q7QUFBQSxNQUFTLENBQUMsT0FBTyxPQUFPLFVBQVUsT0FBTyxVQUFVLFVBQVUsVUFBVSxVQUFVLEtBQUs7QUFBQSxNQUN0RjtBQUFBLE1BQVk7QUFBQSxNQUNaO0FBQUEsTUFBc0I7QUFBQSxNQUN0QjtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQVk7QUFBQSxNQUNaO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUFhO0FBQUEsTUFDYjtBQUFBLE1BQWdCO0FBQUEsTUFDaEI7QUFBQSxNQUFZO0FBQUEsTUFDWjtBQUFBLE1BQWUsQ0FBQyx1QkFBdUIsd0JBQXdCO0FBQUEsSUFDakU7QUFHRixZQUFRLE1BQU0seUNBQXlDO0FBR3ZELFFBQUk7QUFDRixnQkFBTSxhQUFBQSxTQUFNLGdCQUFnQixtQkFBbUIsRUFBQyxVQUFVLFFBQU8sQ0FBQztBQUdsRSxjQUFRLFFBQVEsdUNBQXVDO0FBQUEsSUFDekQsU0FBUSxPQUFOO0FBRUEsMEJBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRTFELFVBQUcsQ0FBQyxPQUFPO0FBQ1QsZ0JBQVEsTUFBTSxLQUFLO0FBQUEsTUFDckI7QUFHQSxjQUFRLEtBQUssdUJBQXVCO0FBR3BDLGVBQVMsTUFBTSxNQUFNO0FBQ3JCLGFBQU8sTUFBTTtBQUFBLElBQ2Y7QUFBQSxFQUNGO0FBR0EsUUFBTSxjQUFjO0FBQUEsSUFDbEIsS0FBSztBQUFBLElBQ0wsS0FBSztBQUFBLElBQ0wsT0FBTztBQUFBLElBQ1AsUUFBUTtBQUFBLEVBQ1Y7QUFDQSxRQUFNLFVBQW9CLEtBQUssS0FBSyxHQUFHLDRCQUE0QixXQUFXO0FBQzlFLFFBQU0sVUFBb0IsS0FBSyxLQUFLLEdBQUcsMkJBQTJCLFdBQVc7QUFDN0UsUUFBTSxjQUF3QixDQUFDLEdBQUcsU0FBUyxHQUFHLE9BQU87QUFHckQsUUFBTSxrQkFBc0IsOEJBQWlCLHVCQUF1QixRQUFRO0FBQzVFLFFBQU0saUJBQTJCO0FBQUEsSUFDL0IsR0FBRztBQUFBLElBQ0g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBRUEsTUFBRyxlQUFlO0FBQ2hCLG1CQUFlLEtBQUssbUJBQW1CLG1CQUFtQjtBQUFBLEVBQzVEO0FBRUEsTUFBRyxPQUFPO0FBQ1IsbUJBQWUsS0FBSyxTQUFTO0FBQUEsRUFDL0I7QUFHQSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUVqRSxNQUFHLFNBQVMsUUFBUTtBQUNsQixVQUFNLGtCQUFzQiw4QkFBaUIsd0JBQXdCLFFBQVE7QUFDN0UsVUFBTSxpQkFBMkI7QUFBQSxNQUMvQixHQUFHO0FBQUEsTUFDSDtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBLEtBQUssUUFBUSxXQUFXLHFCQUFxQjtBQUFBLElBQy9DO0FBRUEsUUFBSTtBQUNGLGdCQUFNLGFBQUFBLFNBQU0sYUFBYSxnQkFBZ0IsRUFBQyxVQUFVLFFBQU8sQ0FBQztBQUM1RCxjQUFRLFFBQVEsMEJBQTBCLFNBQVMsbUJBQW1CO0FBQUEsSUFDeEUsU0FBUSxPQUFOO0FBRUEsMEJBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRzFELGNBQVEsS0FBSyx3QkFBd0I7QUFHckMsZUFBUyxNQUFNLE1BQU07QUFDckIsYUFBTyxNQUFNO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFHQSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGFBQXVCLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyxRQUFRO0FBRWhGLE1BQUcsV0FBVyxRQUFRO0FBQ3BCLFFBQUk7QUFDRixnQkFBTSxzQkFBVSxZQUFZLFNBQVMsU0FBUywyQkFBVSxNQUFNO0FBQUEsSUFDaEUsU0FBUSxPQUFOO0FBRUEsMEJBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRzFELGNBQVEsS0FBSyw0Q0FBNEM7QUFHekQsZUFBUyxNQUFNLE1BQU07QUFDckIsYUFBTyxNQUFNO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFHQSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGVBQXFCLDBCQUFjLFFBQVEsMkJBQVUsTUFBTTtBQUNqRSxRQUFNLGdCQUFzQiwwQkFBYyxTQUFTLDJCQUFVLE1BQU07QUFDbkUsUUFBTSxpQkFBdUIsMEJBQWMsVUFBVSwyQkFBVSxNQUFNO0FBQ3JFLFFBQU0sWUFBc0IsQ0FBQyxHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsV0FBVyxHQUFHLFVBQVU7QUFFbEYsTUFBRyxVQUFVLFFBQVE7QUFDbkIsUUFBSTtBQUNGLGdCQUFNLHNCQUFVLFdBQVcsUUFBUSxTQUFTLDJCQUFVLE1BQU07QUFBQSxJQUM5RCxTQUFRLE9BQU47QUFFQSwwQkFBSTtBQUFBLEVBQUssa0JBQWtCLE1BQU0sV0FBVyxTQUFTLEtBQUs7QUFHMUQsY0FBUSxLQUFLLDJDQUEyQztBQUd4RCxlQUFTLE1BQU0sTUFBTTtBQUNyQixhQUFPLE1BQU07QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUdBLFFBQU0sY0FBb0IsMEJBQWMsT0FBTywyQkFBVSxNQUFNO0FBRS9ELE1BQUcsUUFBUSxRQUFRO0FBQ2pCLFFBQUk7QUFDRixnQkFBTSxzQkFBVSxTQUFTLGFBQWEsU0FBUywyQkFBVSxNQUFNO0FBQUEsSUFDakUsU0FBUSxPQUFOO0FBRUEsMEJBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRzFELGNBQVEsS0FBSywwQ0FBMEM7QUFHdkQsZUFBUyxNQUFNLE1BQU07QUFDckIsYUFBTyxNQUFNO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFHQSxVQUFRLE1BQU0sUUFBUSw0QkFBNEIsMkJBQTJCO0FBRTdFLE1BQUk7QUFDRixjQUFNLGFBQUFBLFNBQU0sYUFBYSxnQkFBZ0IsRUFBQyxVQUFVLFFBQU8sQ0FBQztBQUc1RCxZQUFRLFFBQVEsaUNBQWlDO0FBQUEsRUFDbkQsU0FBUSxPQUFOO0FBRUEsd0JBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRTFELFFBQUcsQ0FBQyxPQUFPO0FBQ1QsY0FBUSxNQUFNLEtBQUs7QUFBQSxJQUNyQjtBQUdBLFlBQVEsS0FBSyx3QkFBd0I7QUFHckMsYUFBUyxNQUFNLE1BQU07QUFDckIsV0FBTyxNQUFNO0FBQUEsRUFDZjtBQUdBLFdBQVMsQ0FBQztBQUNWLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFsiZXhlY2EiXQp9Cg==
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge2V4aXN0c1N5bmMsIGxzdGF0U3luYywgcmVhZGRpclN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSAnZ2xvYic7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtmaWxlVVJMVG9QYXRofSBmcm9tICd1cmwnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y2hlY2tMaW5rZWRNb2R1bGVzLCBjb3B5RmlsZXMsIGNyZWF0ZVNwaW5uZXIsIGdldEZpbGVzQnlFeHQsIHJlbW92ZUZpbGVzfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtyZWxhdGl2ZUZpbGVQYXRofSBmcm9tICcuLi91dGlscy9maWxlLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgY29uc3QgaGFzRmlsZVR5cGUgPSAoc3RhcnRQYXRoOiBzdHJpbmcsIGV4dDogc3RyaW5nW10pOiBib29sZWFuID0+IHtcbiAgaWYoIWV4aXN0c1N5bmMoc3RhcnRQYXRoKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGZpbGVzOiBzdHJpbmdbXSA9IHJlYWRkaXJTeW5jKHN0YXJ0UGF0aCk7XG5cbiAgcmV0dXJuIGZpbGVzLnNvbWUoKGZpbGU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGZpbGVuYW1lOiBzdHJpbmcgPSBwYXRoLmpvaW4oc3RhcnRQYXRoLCBmaWxlKTtcbiAgICBjb25zdCBmaWxlRXh0OiBzdHJpbmcgPSBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpO1xuICAgIGNvbnN0IHN0YXQgPSBsc3RhdFN5bmMoZmlsZW5hbWUpO1xuXG4gICAgaWYoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAvLyBSZWN1cnNpdmUgc2VhcmNoXG4gICAgICByZXR1cm4gaGFzRmlsZVR5cGUoZmlsZW5hbWUsIGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4dC5pbmNsdWRlcyhmaWxlRXh0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcGlsZSA9IGFzeW5jIChjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBjb25maWcsIHF1aWV0LCByZW1vdmUsIHdhdGNofSA9IGNtZDtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEaXNwbGF5IHN0YXR1c1xuICBsb2coYCR7Y2xpTmFtZX0gY29tcGlsaW5nLi4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIC8vIENvbXBpbGUgdHlwZVxuICBjb25zdCB7b3V0cHV0RnVsbFBhdGgsIHByZXNldCwgc291cmNlRnVsbFBhdGgsIHVzZVR5cGVzY3JpcHR9ID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgY29uc3QgZGlyTmFtZSA9IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLicsIGltcG9ydC5tZXRhLnVybCkpO1xuICBjb25zdCBub2RlUGF0aDogc3RyaW5nID0gcGF0aC5yZXNvbHZlKGRpck5hbWUsICcuLi8uLi9ub2RlX21vZHVsZXMnKTtcblxuICAvLyBDaGVjayBmb3IgbGlua2VkIG1vZHVsZXNcbiAgY2hlY2tMaW5rZWRNb2R1bGVzKCk7XG5cbiAgLy8gQ2xlYW4gb3V0cHV0IGRpcmVjdG9yeSBiZWZvcmUgd2Ugc3RhcnQgYWRkaW5nIGluIG5ldyBmaWxlc1xuICBpZihyZW1vdmUpIHtcbiAgICBhd2FpdCByZW1vdmVGaWxlcyhvdXRwdXRGdWxsUGF0aCk7XG4gIH1cblxuICAvLyBBZGQgdHNjb25maWcgZmlsZSBpZiBub25lIGV4aXN0c1xuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgLy8gTWFrZSBzdXJlIHRzY29uZmlnLmpzb24gZXhpc3RzXG4gICAgTGV4Q29uZmlnLmNoZWNrVHlwZXNjcmlwdENvbmZpZygpO1xuXG4gICAgLy8gQ2hlY2sgc3RhdGljIHR5cGVzIHdpdGggdHlwZXNjcmlwdFxuICAgIGNvbnN0IHR5cGVzY3JpcHRQYXRoOiBzdHJpbmcgPSByZWxhdGl2ZUZpbGVQYXRoKCd0eXBlc2NyaXB0L2Jpbi90c2MnLCBub2RlUGF0aCk7XG4gICAgY29uc3QgdHlwZXNjcmlwdE9wdGlvbnM6IHN0cmluZ1tdID0gY29uZmlnID9cbiAgICAgIFsnLXAnLCBjb25maWddIDpcbiAgICAgIFtcbiAgICAgICAgJy0tYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cycsXG4gICAgICAgICctLWJhc2VVcmwnLCBzb3VyY2VGdWxsUGF0aCxcbiAgICAgICAgJy0tZGVjbGFyYXRpb24nLFxuICAgICAgICAnLS1pbmxpbmVTb3VyY2VNYXAnLFxuICAgICAgICAnLS1qc3gnLCAncmVhY3QtanN4JyxcbiAgICAgICAgJy0tbGliJywgWydFUzUnLCAnRVM2JywgJ0VTMjAxNScsICdFUzcnLCAnRVMyMDE2JywgJ0VTMjAxNycsICdFUzIwMTgnLCAnRVNOZXh0JywgJ0RPTSddLFxuICAgICAgICAnLS1tb2R1bGUnLCAnY29tbW9uanMnLFxuICAgICAgICAnLS1tb2R1bGVSZXNvbHV0aW9uJywgJ25vZGUnLFxuICAgICAgICAnLS1ub0ltcGxpY2l0UmV0dXJucycsXG4gICAgICAgICctLW5vSW1wbGljaXRUaGlzJyxcbiAgICAgICAgJy0tb3V0RGlyJywgb3V0cHV0RnVsbFBhdGgsXG4gICAgICAgICctLXJlbW92ZUNvbW1lbnRzJyxcbiAgICAgICAgJy0tcmVzb2x2ZUpzb25Nb2R1bGUnLFxuICAgICAgICAnLS1yb290RGlyJywgc291cmNlRnVsbFBhdGgsXG4gICAgICAgICctLXNvdXJjZVJvb3QnLCBzb3VyY2VGdWxsUGF0aCxcbiAgICAgICAgJy0tdGFyZ2V0JywgJ0VTNScsXG4gICAgICAgICctLXR5cGVSb290cycsIFsnbm9kZV9tb2R1bGVzL0B0eXBlcycsICdub2RlX21vZHVsZXMvanNvbi1kLXRzJ11cbiAgICAgIF07XG5cbiAgICBjb25zdCBkZWxjYXJhdGlvblByZXNldHMgPSBbXG4gICAgICAnd2ViJ1xuICAgIF07XG5cbiAgICBpZihkZWxjYXJhdGlvblByZXNldHMuaW5jbHVkZXMocHJlc2V0KSkge1xuICAgICAgdHlwZXNjcmlwdE9wdGlvbnMucHVzaCgnLS1lbWl0RGVjbGFyYXRpb25Pbmx5Jyk7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgdHlwZSBjaGVja2luZyBzcGlubmVyXG4gICAgc3Bpbm5lci5zdGFydCgnU3RhdGljIHR5cGUgY2hlY2tpbmcgd2l0aCBUeXBlc2NyaXB0Li4uJyk7XG5cbiAgICAvLyBUeXBlIGNoZWNraW5nXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHR5cGVzY3JpcHRQYXRoLCB0eXBlc2NyaXB0T3B0aW9ucywge2VuY29kaW5nOiAndXRmLTgnfSk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY29tcGxldGVkIHR5cGUgY2hlY2tpbmchJyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIGlmKCFxdWlldCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ1R5cGUgY2hlY2tpbmcgZmFpbGVkLicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKGVycm9yLnN0YXR1cyk7XG4gICAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBmaWxlc1xuICBjb25zdCBnbG9iT3B0aW9ucyA9IHtcbiAgICBjd2Q6IHNvdXJjZUZ1bGxQYXRoLFxuICAgIGRvdDogZmFsc2UsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgbm9zb3J0OiB0cnVlXG4gIH07XG4gIGNvbnN0IHRzRmlsZXM6IHN0cmluZ1tdID0gZ2xvYi5zeW5jKGAke3NvdXJjZUZ1bGxQYXRofS8qKi8qKi50cypgLCBnbG9iT3B0aW9ucyk7XG4gIGNvbnN0IGpzRmlsZXM6IHN0cmluZ1tdID0gZ2xvYi5zeW5jKGAke3NvdXJjZUZ1bGxQYXRofS8qKi8qKi5qc2AsIGdsb2JPcHRpb25zKTtcbiAgY29uc3Qgc291cmNlRmlsZXM6IHN0cmluZ1tdID0gWy4uLnRzRmlsZXMsIC4uLmpzRmlsZXNdO1xuXG4gIC8vIEVTQnVpbGQgb3B0aW9uc1xuICBjb25zdCBlc2J1aWxkUGF0aDogc3RyaW5nID0gcmVsYXRpdmVGaWxlUGF0aCgnZXNidWlsZC9iaW4vZXNidWlsZCcsIG5vZGVQYXRoKTtcbiAgY29uc3QgZXNidWlsZE9wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIC4uLnNvdXJjZUZpbGVzLFxuICAgICctLWNvbG9yPXRydWUnLFxuICAgICctLWZvcm1hdD1janMnLFxuICAgICctLWxvYWRlcjouanM9anMnLFxuICAgICctLW91dGRpcj1saWInLFxuICAgICctLXBsYXRmb3JtPW5vZGUnLFxuICAgICctLXNvdXJjZW1hcD1pbmxpbmUnLFxuICAgICctLXRhcmdldD1ub2RlMTgnXG4gIF07XG5cbiAgY29uc29sZS5sb2coe3VzZVR5cGVzY3JpcHR9KTtcbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIGVzYnVpbGRPcHRpb25zLnB1c2goJy0tbG9hZGVyOi50cz10cycsICctLWxvYWRlcjoudHN4PXRzeCcpO1xuICB9XG5cbiAgaWYod2F0Y2gpIHtcbiAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKCctLXdhdGNoJyk7XG4gIH1cblxuICAvLyBVc2UgUG9zdENTUyBmb3IgQ1NTIGZpbGVzXG4gIGNvbnN0IGNzc0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5jc3MnLCBMZXhDb25maWcuY29uZmlnKTtcblxuICBpZihjc3NGaWxlcy5sZW5ndGgpIHtcbiAgICBjb25zdCBwb3N0Y3NzUGF0aDogc3RyaW5nID0gcmVsYXRpdmVGaWxlUGF0aCgncG9zdGNzcy1jbGkvaW5kZXguanMnLCBub2RlUGF0aCk7XG4gICAgY29uc29sZS5sb2coe25vZGVQYXRoLCBwb3N0Y3NzUGF0aH0pO1xuICAgIGNvbnN0IGRpck5hbWUgPSBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4nLCBpbXBvcnQubWV0YS51cmwpKTtcbiAgICBjb25zdCBwb3N0Y3NzT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgICBgJHtzb3VyY2VGdWxsUGF0aH0vKiovKiouY3NzYCxcbiAgICAgICctLWJhc2UnLFxuICAgICAgc291cmNlRnVsbFBhdGgsXG4gICAgICAnLS1kaXInLFxuICAgICAgb3V0cHV0RnVsbFBhdGgsXG4gICAgICAnLS1jb25maWcnLFxuICAgICAgcGF0aC5yZXNvbHZlKGRpck5hbWUsICcuLi8uLi8ucG9zdGNzc3JjLmpzJylcbiAgICBdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBvc3Rjc3NQYXRoLCBwb3N0Y3NzT3B0aW9ucywge2VuY29kaW5nOiAndXRmLTgnfSk7XG4gICAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSBmb3JtYXR0ZWQgJHtjc3NGaWxlcy5sZW5ndGh9IGNzcyBmaWxlcyFgKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCBmb3JtYXR0aW5nIGNzcy4nKTtcblxuICAgICAgLy8gS2lsbCBQcm9jZXNzXG4gICAgICBjYWxsYmFjayhlcnJvci5zdGF0dXMpO1xuICAgICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgICB9XG4gIH1cblxuICAvLyBDb3B5IGltYWdlIGZpbGVzXG4gIGNvbnN0IGdpZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5naWYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QganBnRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLmpwZycsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBwbmdGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcucG5nJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHN2Z0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5zdmcnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QgaW1hZ2VGaWxlczogc3RyaW5nW10gPSBbLi4uZ2lmRmlsZXMsIC4uLmpwZ0ZpbGVzLCAuLi5wbmdGaWxlcywgLi4uc3ZnRmlsZXNdO1xuXG4gIGlmKGltYWdlRmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhpbWFnZUZpbGVzLCAnaW1hZ2UnLCBzcGlubmVyLCBMZXhDb25maWcuY29uZmlnKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBtb3ZlIGltYWdlcyB0byBvdXRwdXQgZGlyZWN0b3J5LicpO1xuXG4gICAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKGVycm9yLnN0YXR1cyk7XG4gICAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvcHkgZm9udCBmaWxlc1xuICBjb25zdCB0dGZGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcudHRmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IG90ZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5vdGYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3Qgd29mZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy53b2ZmJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHdvZmYyRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLndvZmYyJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IGZvbnRGaWxlczogc3RyaW5nW10gPSBbLi4udHRmRmlsZXMsIC4uLm90ZkZpbGVzLCAuLi53b2ZmRmlsZXMsIC4uLndvZmYyRmlsZXNdO1xuXG4gIGlmKGZvbnRGaWxlcy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29weUZpbGVzKGZvbnRGaWxlcywgJ2ZvbnQnLCBzcGlubmVyLCBMZXhDb25maWcuY29uZmlnKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBtb3ZlIGZvbnRzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soZXJyb3Iuc3RhdHVzKTtcbiAgICAgIHJldHVybiBlcnJvci5zdGF0dXM7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29weSBtYXJrZG93biBmaWxlc1xuICBjb25zdCBtZEZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5tZCcsIExleENvbmZpZy5jb25maWcpO1xuXG4gIGlmKG1kRmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhtZEZpbGVzLCAnZG9jdW1lbnRzJywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBkb2NzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIC8vIEtpbGwgUHJvY2Vzc1xuICAgICAgY2FsbGJhY2soZXJyb3Iuc3RhdHVzKTtcbiAgICAgIHJldHVybiBlcnJvci5zdGF0dXM7XG4gICAgfVxuICB9XG5cbiAgLy8gU3RhcnQgY29tcGlsZSBzcGlubmVyXG4gIHNwaW5uZXIuc3RhcnQod2F0Y2ggPyAnV2F0Y2hpbmcgZm9yIGNoYW5nZXMuLi4nIDogJ0NvbXBpbGluZyB3aXRoIEVTQnVpbGQuLi4nKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNhKGVzYnVpbGRQYXRoLCBlc2J1aWxkT3B0aW9ucywge2VuY29kaW5nOiAndXRmLTgnfSk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0NvbXBpbGUgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIGlmKCFxdWlldCkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdDb2RlIGNvbXBpbGluZyBmYWlsZWQuJyk7XG5cbiAgICAvLyBLaWxsIFByb2Nlc3NcbiAgICBjYWxsYmFjayhlcnJvci5zdGF0dXMpO1xuICAgIHJldHVybiBlcnJvci5zdGF0dXM7XG4gIH1cblxuICAvLyBTdG9wIHByb2Nlc3NcbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiAwO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLFlBQVksV0FBVyxtQkFBa0I7QUFDakQsWUFBWSxVQUFVO0FBQ3RCLFlBQVksVUFBVTtBQUN0QixTQUFRLHFCQUFvQjtBQUU1QixTQUFRLGlCQUFnQjtBQUN4QixTQUFRLG9CQUFvQixXQUFXLGVBQWUsZUFBZSxtQkFBa0I7QUFDdkYsU0FBUSx3QkFBdUI7QUFDL0IsU0FBUSxXQUFVO0FBRVgsTUFBTSxjQUFjLENBQUMsV0FBbUIsUUFBMkI7QUFDeEUsTUFBRyxDQUFDLFdBQVcsU0FBUyxHQUFHO0FBQ3pCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxRQUFrQixZQUFZLFNBQVM7QUFFN0MsU0FBTyxNQUFNLEtBQUssQ0FBQyxTQUFpQjtBQUNsQyxVQUFNLFdBQW1CLEtBQUssS0FBSyxXQUFXLElBQUk7QUFDbEQsVUFBTSxVQUFrQixLQUFLLFFBQVEsUUFBUTtBQUM3QyxVQUFNLE9BQU8sVUFBVSxRQUFRO0FBRS9C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aEUsU0FBUSxPQUFOO0FBRUEsVUFBSTtBQUFBLEVBQUssa0JBQWtCLE1BQU0sV0FBVyxTQUFTLEtBQUs7QUFHMUQsY0FBUSxLQUFLLDRDQUE0QztBQUd6RCxlQUFTLE1BQU0sTUFBTTtBQUNyQixhQUFPLE1BQU07QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUdBLFFBQU0sV0FBcUIsY0FBYyxRQUFRLFVBQVUsTUFBTTtBQUNqRSxRQUFNLFdBQXFCLGNBQWMsUUFBUSxVQUFVLE1BQU07QUFDakUsUUFBTSxZQUFzQixjQUFjLFNBQVMsVUFBVSxNQUFNO0FBQ25FLFFBQU0sYUFBdUIsY0FBYyxVQUFVLFVBQVUsTUFBTTtBQUNyRSxRQUFNLFlBQXNCLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLFdBQVcsR0FBRyxVQUFVO0FBRWxGLE1BQUcsVUFBVSxRQUFRO0FBQ25CLFFBQUk7QUFDRixZQUFNLFVBQVUsV0FBVyxRQUFRLFNBQVMsVUFBVSxNQUFNO0FBQUEsSUFDOUQsU0FBUSxPQUFOO0FBRUEsVUFBSTtBQUFBLEVBQUssa0JBQWtCLE1BQU0sV0FBVyxTQUFTLEtBQUs7QUFHMUQsY0FBUSxLQUFLLDJDQUEyQztBQUd4RCxlQUFTLE1BQU0sTUFBTTtBQUNyQixhQUFPLE1BQU07QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUdBLFFBQU0sVUFBb0IsY0FBYyxPQUFPLFVBQVUsTUFBTTtBQUUvRCxNQUFHLFFBQVEsUUFBUTtBQUNqQixRQUFJO0FBQ0YsWUFBTSxVQUFVLFNBQVMsYUFBYSxTQUFTLFVBQVUsTUFBTTtBQUFBLElBQ2pFLFNBQVEsT0FBTjtBQUVBLFVBQUk7QUFBQSxFQUFLLGtCQUFrQixNQUFNLFdBQVcsU0FBUyxLQUFLO0FBRzFELGNBQVEsS0FBSywwQ0FBMEM7QUFHdkQsZUFBUyxNQUFNLE1BQU07QUFDckIsYUFBTyxNQUFNO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFHQSxVQUFRLE1BQU0sUUFBUSw0QkFBNEIsMkJBQTJCO0FBRTdFLE1BQUk7QUFDRixVQUFNLE1BQU0sYUFBYSxnQkFBZ0IsRUFBQyxVQUFVLFFBQU8sQ0FBQztBQUc1RCxZQUFRLFFBQVEsaUNBQWlDO0FBQUEsRUFDbkQsU0FBUSxPQUFOO0FBRUEsUUFBSTtBQUFBLEVBQUssa0JBQWtCLE1BQU0sV0FBVyxTQUFTLEtBQUs7QUFFMUQsUUFBRyxDQUFDLE9BQU87QUFDVCxjQUFRLE1BQU0sS0FBSztBQUFBLElBQ3JCO0FBR0EsWUFBUSxLQUFLLHdCQUF3QjtBQUdyQyxhQUFTLE1BQU0sTUFBTTtBQUNyQixXQUFPLE1BQU07QUFBQSxFQUNmO0FBR0EsV0FBUyxDQUFDO0FBQ1YsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJkaXJOYW1lIl0KfQo=
|
package/dist/commands/config.js
CHANGED
|
@@ -1,75 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
-
mod
|
|
22
|
-
));
|
|
23
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
-
var config_exports = {};
|
|
25
|
-
__export(config_exports, {
|
|
26
|
-
config: () => config
|
|
27
|
-
});
|
|
28
|
-
module.exports = __toCommonJS(config_exports);
|
|
29
|
-
var fs = __toESM(require("fs-extra"));
|
|
30
|
-
var import_startCase = __toESM(require("lodash/startCase"));
|
|
31
|
-
var path = __toESM(require("path"));
|
|
32
|
-
var import_LexConfig = require("../LexConfig");
|
|
33
|
-
var import_app = require("../utils/app");
|
|
34
|
-
var import_log = require("../utils/log");
|
|
35
|
-
const config = (type, cmd, callback = () => ({})) => {
|
|
1
|
+
import { writeFileSync } from "fs";
|
|
2
|
+
import startCase from "lodash/startCase.js";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { LexConfig } from "../LexConfig.js";
|
|
5
|
+
import { createSpinner } from "../utils/app.js";
|
|
6
|
+
import { log } from "../utils/log.js";
|
|
7
|
+
const config = async (type, cmd, callback = () => ({})) => {
|
|
36
8
|
const { cliName = "Lex", json, quiet } = cmd;
|
|
37
9
|
const validTypes = ["app", "jest", "webpack"];
|
|
38
10
|
if (!validTypes.includes(type)) {
|
|
39
|
-
|
|
11
|
+
log(`
|
|
40
12
|
${cliName} Error: Option for ${type} not found. Configurations only available for app, jest, and webpack.`, "error", quiet);
|
|
41
13
|
callback(1);
|
|
42
14
|
return Promise.resolve(1);
|
|
43
15
|
}
|
|
44
|
-
|
|
45
|
-
|
|
16
|
+
log(`${cliName} generating configuration for ${startCase(type)}...`, "info", quiet);
|
|
17
|
+
LexConfig.parseConfig(cmd);
|
|
46
18
|
let configOptions;
|
|
47
19
|
switch (type) {
|
|
48
20
|
case "app":
|
|
49
|
-
configOptions =
|
|
50
|
-
break;
|
|
51
|
-
case "esbuild":
|
|
52
|
-
configOptions = require("../../esbuildOptions");
|
|
21
|
+
configOptions = LexConfig.config;
|
|
53
22
|
break;
|
|
54
23
|
case "jest":
|
|
55
|
-
configOptions =
|
|
24
|
+
configOptions = import("../../jest.config.lex");
|
|
56
25
|
break;
|
|
57
26
|
case "webpack":
|
|
58
|
-
configOptions =
|
|
27
|
+
configOptions = import("../../webpack.config");
|
|
59
28
|
break;
|
|
60
29
|
}
|
|
61
30
|
const jsonOutput = JSON.stringify(configOptions, null, 2);
|
|
62
31
|
if (json) {
|
|
63
|
-
const spinner =
|
|
32
|
+
const spinner = createSpinner(quiet);
|
|
64
33
|
spinner.start("Creating JSON output...");
|
|
65
|
-
|
|
34
|
+
writeFileSync(json, jsonOutput);
|
|
66
35
|
spinner.succeed(`Successfully saved JSON output to ${path.relative(process.cwd(), json)}`);
|
|
67
36
|
}
|
|
68
37
|
callback(0);
|
|
69
38
|
return Promise.resolve(0);
|
|
70
39
|
};
|
|
71
|
-
|
|
72
|
-
0 && (module.exports = {
|
|
40
|
+
export {
|
|
73
41
|
config
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7d3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHN0YXJ0Q2FzZSBmcm9tICdsb2Rhc2gvc3RhcnRDYXNlLmpzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyfSBmcm9tICcuLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSBhc3luYyAodHlwZTogc3RyaW5nLCBjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBqc29uLCBxdWlldH0gPSBjbWQ7XG4gIGNvbnN0IHZhbGlkVHlwZXM6IHN0cmluZ1tdID0gWydhcHAnLCAnamVzdCcsICd3ZWJwYWNrJ107XG5cbiAgaWYoIXZhbGlkVHlwZXMuaW5jbHVkZXModHlwZSkpIHtcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IE9wdGlvbiBmb3IgJHt0eXBlfSBub3QgZm91bmQuIENvbmZpZ3VyYXRpb25zIG9ubHkgYXZhaWxhYmxlIGZvciBhcHAsIGplc3QsIGFuZCB3ZWJwYWNrLmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEpO1xuICB9XG5cbiAgLy8gRGlzcGxheSBzdGF0dXNcbiAgbG9nKGAke2NsaU5hbWV9IGdlbmVyYXRpbmcgY29uZmlndXJhdGlvbiBmb3IgJHtzdGFydENhc2UodHlwZSl9Li4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGxldCBjb25maWdPcHRpb25zO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSAnYXBwJzpcbiAgICAgIGNvbmZpZ09wdGlvbnMgPSBMZXhDb25maWcuY29uZmlnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnamVzdCc6XG4gICAgICBjb25maWdPcHRpb25zID0gaW1wb3J0KCcuLi8uLi9qZXN0LmNvbmZpZy5sZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3dlYnBhY2snOlxuICAgICAgY29uZmlnT3B0aW9ucyA9IGltcG9ydCgnLi4vLi4vd2VicGFjay5jb25maWcnKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgLy8gT3V0cHV0IGNvbmZpZyB0byBjb25zb2xlXG4gIGNvbnN0IGpzb25PdXRwdXQ6IHN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGNvbmZpZ09wdGlvbnMsIG51bGwsIDIpO1xuXG4gIGlmKGpzb24pIHtcbiAgICAvLyBTcGlubmVyXG4gICAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gICAgLy8gU3RhcnQgc3Bpbm5lclxuICAgIHNwaW5uZXIuc3RhcnQoJ0NyZWF0aW5nIEpTT04gb3V0cHV0Li4uJyk7XG5cbiAgICAvLyBTYXZlIGpzb24gbG9jYWxseVxuICAgIHdyaXRlRmlsZVN5bmMoanNvbiwganNvbk91dHB1dCk7XG5cbiAgICAvLyBTdWNjZXNzIHNwaW5uZXJcbiAgICBzcGlubmVyLnN1Y2NlZWQoYFN1Y2Nlc3NmdWxseSBzYXZlZCBKU09OIG91dHB1dCB0byAke3BhdGgucmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwganNvbil9YCk7XG4gIH1cblxuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLHFCQUFvQjtBQUM1QixPQUFPLGVBQWU7QUFDdEIsWUFBWSxVQUFVO0FBRXRCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEscUJBQW9CO0FBQzVCLFNBQVEsV0FBVTtBQUVYLE1BQU0sU0FBUyxPQUFPLE1BQWMsS0FBVSxXQUFnQixPQUFPLENBQUMsT0FBd0I7QUFDbkcsUUFBTSxFQUFDLFVBQVUsT0FBTyxNQUFNLE1BQUssSUFBSTtBQUN2QyxRQUFNLGFBQXVCLENBQUMsT0FBTyxRQUFRLFNBQVM7QUFFdEQsTUFBRyxDQUFDLFdBQVcsU0FBUyxJQUFJLEdBQUc7QUFDN0IsUUFBSTtBQUFBLEVBQUssNkJBQTZCLDZFQUE2RSxTQUFTLEtBQUs7QUFDakksYUFBUyxDQUFDO0FBQ1YsV0FBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLEVBQzFCO0FBR0EsTUFBSSxHQUFHLHdDQUF3QyxVQUFVLElBQUksUUFBUSxRQUFRLEtBQUs7QUFHbEYsWUFBVSxZQUFZLEdBQUc7QUFFekIsTUFBSTtBQUVKLFVBQU8sTUFBTTtBQUFBLElBQ1gsS0FBSztBQUNILHNCQUFnQixVQUFVO0FBQzFCO0FBQUEsSUFDRixLQUFLO0FBQ0gsc0JBQWdCLE9BQU8sdUJBQXVCO0FBQzlDO0FBQUEsSUFDRixLQUFLO0FBQ0gsc0JBQWdCLE9BQU8sc0JBQXNCO0FBQzdDO0FBQUEsRUFDSjtBQUdBLFFBQU0sYUFBcUIsS0FBSyxVQUFVLGVBQWUsTUFBTSxDQUFDO0FBRWhFLE1BQUcsTUFBTTtBQUVQLFVBQU0sVUFBVSxjQUFjLEtBQUs7QUFHbkMsWUFBUSxNQUFNLHlCQUF5QjtBQUd2QyxrQkFBYyxNQUFNLFVBQVU7QUFHOUIsWUFBUSxRQUFRLHFDQUFxQyxLQUFLLFNBQVMsUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHO0FBQUEsRUFDM0Y7QUFFQSxXQUFTLENBQUM7QUFDVixTQUFPLFFBQVEsUUFBUSxDQUFDO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/commands/copy.js
CHANGED
|
@@ -1,57 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
-
mod
|
|
22
|
-
));
|
|
23
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
-
var copy_exports = {};
|
|
25
|
-
__export(copy_exports, {
|
|
26
|
-
copy: () => copy
|
|
27
|
-
});
|
|
28
|
-
module.exports = __toCommonJS(copy_exports);
|
|
29
|
-
var fs = __toESM(require("fs-extra"));
|
|
30
|
-
var import_app = require("../utils/app");
|
|
31
|
-
var import_log = require("../utils/log");
|
|
1
|
+
import { existsSync, lstatSync } from "fs";
|
|
2
|
+
import { copyFileSync, copyFolderRecursiveSync } from "../utils/app.js";
|
|
3
|
+
import { log } from "../utils/log.js";
|
|
32
4
|
const copy = (from, to, cmd, callback = () => ({})) => {
|
|
33
5
|
const { cliName = "Lex", quiet } = cmd;
|
|
34
|
-
|
|
35
|
-
if (!
|
|
36
|
-
|
|
6
|
+
log(`${cliName} copying "${to}"...`, "info", quiet);
|
|
7
|
+
if (!existsSync(from)) {
|
|
8
|
+
log(`
|
|
37
9
|
${cliName} Error: Path not found, "${from}"...`, "error", quiet);
|
|
38
10
|
callback(1);
|
|
39
11
|
return Promise.resolve(1);
|
|
40
12
|
}
|
|
41
|
-
if (
|
|
13
|
+
if (lstatSync(from).isDirectory()) {
|
|
42
14
|
try {
|
|
43
|
-
|
|
15
|
+
copyFolderRecursiveSync(from, to);
|
|
44
16
|
} catch (error) {
|
|
45
|
-
|
|
17
|
+
log(`
|
|
46
18
|
${cliName} Error: Cannot copy "${from}". ${error.message}`, "error", quiet);
|
|
47
19
|
callback(1);
|
|
48
20
|
return Promise.resolve(1);
|
|
49
21
|
}
|
|
50
22
|
} else {
|
|
51
23
|
try {
|
|
52
|
-
|
|
24
|
+
copyFileSync(from, to);
|
|
53
25
|
} catch (error) {
|
|
54
|
-
|
|
26
|
+
log(`
|
|
55
27
|
${cliName} Error: Cannot copy "${from}" ${error.message}`, "error", quiet);
|
|
56
28
|
callback(1);
|
|
57
29
|
return Promise.resolve(1);
|
|
@@ -60,8 +32,7 @@ ${cliName} Error: Cannot copy "${from}" ${error.message}`, "error", quiet);
|
|
|
60
32
|
callback(0);
|
|
61
33
|
return Promise.resolve(0);
|
|
62
34
|
};
|
|
63
|
-
|
|
64
|
-
0 && (module.exports = {
|
|
35
|
+
export {
|
|
65
36
|
copy
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvcHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4aXN0c1N5bmMsIGxzdGF0U3luY30gZnJvbSAnZnMnO1xuXG5pbXBvcnQge2NvcHlGaWxlU3luYywgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmN9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGNvcHkgPSAoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nLCBjbWQ6IGFueSwgY2FsbGJhY2s6IGFueSA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBxdWlldH0gPSBjbWQ7XG5cbiAgLy8gRGlzcGxheSBtZXNzYWdlXG4gIGxvZyhgJHtjbGlOYW1lfSBjb3B5aW5nIFwiJHt0b31cIi4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIGlmKCFleGlzdHNTeW5jKGZyb20pKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBQYXRoIG5vdCBmb3VuZCwgXCIke2Zyb219XCIuLi5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgfVxuXG4gIGlmKGxzdGF0U3luYyhmcm9tKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENvcHkgZGlyZWN0b3J5XG4gICAgICBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYyhmcm9tLCB0byk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY29weSBcIiR7ZnJvbX1cIi4gJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENvcHkgZmlsZVxuICAgICAgY29weUZpbGVTeW5jKGZyb20sIHRvKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjb3B5IFwiJHtmcm9tfVwiICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgfVxuICB9XG5cbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxZQUFZLGlCQUFnQjtBQUVwQyxTQUFRLGNBQWMsK0JBQThCO0FBQ3BELFNBQVEsV0FBVTtBQUVYLE1BQU0sT0FBTyxDQUFDLE1BQWMsSUFBWSxLQUFVLFdBQWdCLE9BQU8sQ0FBQyxPQUF3QjtBQUN2RyxRQUFNLEVBQUMsVUFBVSxPQUFPLE1BQUssSUFBSTtBQUdqQyxNQUFJLEdBQUcsb0JBQW9CLFVBQVUsUUFBUSxLQUFLO0FBRWxELE1BQUcsQ0FBQyxXQUFXLElBQUksR0FBRztBQUNwQixRQUFJO0FBQUEsRUFBSyxtQ0FBbUMsWUFBWSxTQUFTLEtBQUs7QUFDdEUsYUFBUyxDQUFDO0FBQ1YsV0FBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLEVBQzFCO0FBRUEsTUFBRyxVQUFVLElBQUksRUFBRSxZQUFZLEdBQUc7QUFDaEMsUUFBSTtBQUVGLDhCQUF3QixNQUFNLEVBQUU7QUFBQSxJQUNsQyxTQUFRLE9BQU47QUFDQSxVQUFJO0FBQUEsRUFBSywrQkFBK0IsVUFBVSxNQUFNLFdBQVcsU0FBUyxLQUFLO0FBQ2pGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0YsT0FBTztBQUNMLFFBQUk7QUFFRixtQkFBYSxNQUFNLEVBQUU7QUFBQSxJQUN2QixTQUFRLE9BQU47QUFDQSxVQUFJO0FBQUEsRUFBSywrQkFBK0IsU0FBUyxNQUFNLFdBQVcsU0FBUyxLQUFLO0FBQ2hGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLENBQUM7QUFDVixTQUFPLFFBQVEsUUFBUSxDQUFDO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=
|