@nlabs/lex 1.48.6 → 1.49.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/.storybook/main.ts +9 -2
- package/.vscode/settings.json +1 -6
- package/README.md +276 -4
- package/eslint.config.mjs +24 -0
- package/examples/lex.config.js +18 -8
- package/examples/serverless-example/README.md +109 -0
- package/examples/serverless-example/dist/handlers/echo.js +15 -0
- package/examples/serverless-example/dist/handlers/graphql.js +137 -0
- package/examples/serverless-example/dist/handlers/hello.js +15 -0
- package/examples/serverless-example/dist/handlers/test.js +17 -0
- package/examples/serverless-example/dist/handlers/websocket.js +14 -0
- package/examples/serverless-example/lex.config.mjs +74 -0
- package/jest.config.mjs +13 -12
- package/{dist → lib}/LexConfig.d.ts +14 -6
- package/lib/LexConfig.js +268 -0
- package/lib/commands/ai/ai.js +303 -0
- package/{dist → lib}/commands/build/build.d.ts +3 -0
- package/lib/commands/build/build.js +494 -0
- package/{dist → lib}/commands/clean/clean.js +1 -1
- package/lib/commands/compile/compile.js +241 -0
- package/lib/commands/copy/copy.js +38 -0
- package/{dist → lib}/commands/create/create.js +1 -1
- package/{dist → lib}/commands/dev/dev.d.ts +2 -0
- package/lib/commands/dev/dev.js +286 -0
- package/{dist → lib}/commands/init/init.js +1 -1
- package/{dist → lib}/commands/lint/lint.d.ts +4 -1
- package/lib/commands/lint/lint.js +993 -0
- package/{dist → lib}/commands/migrate/migrate.js +1 -1
- package/lib/commands/publish/publish.js +104 -0
- package/lib/commands/serverless/serverless.d.ts +17 -0
- package/lib/commands/serverless/serverless.js +662 -0
- package/lib/commands/storybook/storybook.js +249 -0
- package/lib/commands/test/test.js +428 -0
- package/lib/commands/update/update.js +128 -0
- package/lib/commands/versions/versions.js +41 -0
- package/{dist → lib}/create/changelog.js +1 -1
- package/{dist → lib}/index.d.ts +2 -0
- package/{dist → lib}/index.js +3 -1
- package/lib/lex.js +73 -0
- package/lib/storybook/index.d.ts +5 -0
- package/lib/types.js +1 -0
- package/lib/utils/aiService.d.ts +9 -0
- package/lib/utils/aiService.js +299 -0
- package/{dist → lib}/utils/app.d.ts +3 -0
- package/lib/utils/app.js +296 -0
- package/lib/utils/deepMerge.js +26 -0
- package/{dist → lib}/utils/file.d.ts +7 -3
- package/lib/utils/file.js +229 -0
- package/lib/utils/translations.d.ts +1 -0
- package/lib/utils/translations.js +74 -0
- package/package.json +62 -50
- package/postcss.config.js +5 -3
- package/tsconfig.build.json +2 -2
- package/webpack.config.js +229 -39
- package/dist/LexConfig.js +0 -286
- package/dist/commands/ai/ai.js +0 -303
- package/dist/commands/build/build.js +0 -404
- package/dist/commands/compile/compile.js +0 -234
- package/dist/commands/copy/copy.js +0 -38
- package/dist/commands/dev/dev.js +0 -74
- package/dist/commands/lint/lint.js +0 -811
- package/dist/commands/publish/publish.js +0 -104
- package/dist/commands/storybook/storybook.js +0 -249
- package/dist/commands/test/test.js +0 -429
- package/dist/commands/update/update.js +0 -132
- package/dist/commands/versions/versions.js +0 -41
- package/dist/lex.js +0 -70
- package/dist/utils/aiService.d.ts +0 -9
- package/dist/utils/aiService.js +0 -299
- package/dist/utils/app.js +0 -267
- package/dist/utils/deepMerge.js +0 -24
- package/dist/utils/file.js +0 -185
- package/emptyModule.js +0 -0
- package/eslint.config.js +0 -7
- /package/{dist → lib}/Button.stories.d.ts +0 -0
- /package/{dist → lib}/commands/ai/ai.d.ts +0 -0
- /package/{dist → lib}/commands/ai/index.d.ts +0 -0
- /package/{dist → lib}/commands/ai/index.js +0 -0
- /package/{dist → lib}/commands/clean/clean.d.ts +0 -0
- /package/{dist → lib}/commands/compile/compile.d.ts +0 -0
- /package/{dist → lib}/commands/config/config.d.ts +0 -0
- /package/{dist → lib}/commands/config/config.js +0 -0
- /package/{dist → lib}/commands/copy/copy.d.ts +0 -0
- /package/{dist → lib}/commands/create/create.d.ts +0 -0
- /package/{dist → lib}/commands/init/init.d.ts +0 -0
- /package/{dist → lib}/commands/link/link.d.ts +0 -0
- /package/{dist → lib}/commands/link/link.js +0 -0
- /package/{dist → lib}/commands/lint/autofix.d.ts +0 -0
- /package/{dist → lib}/commands/migrate/migrate.d.ts +0 -0
- /package/{dist → lib}/commands/publish/publish.d.ts +0 -0
- /package/{dist → lib}/commands/storybook/storybook.d.ts +0 -0
- /package/{dist → lib}/commands/test/test.d.ts +0 -0
- /package/{dist → lib}/commands/update/update.d.ts +0 -0
- /package/{dist → lib}/commands/upgrade/upgrade.d.ts +0 -0
- /package/{dist → lib}/commands/upgrade/upgrade.js +0 -0
- /package/{dist → lib}/commands/versions/versions.d.ts +0 -0
- /package/{dist → lib}/create/changelog.d.ts +0 -0
- /package/{dist → lib}/lex.d.ts +0 -0
- /package/{dist/types.js → lib/storybook/index.js} +0 -0
- /package/{dist → lib}/test-react/index.d.ts +0 -0
- /package/{dist → lib}/test-react/index.js +0 -0
- /package/{dist → lib}/types.d.ts +0 -0
- /package/{dist → lib}/utils/deepMerge.d.ts +0 -0
- /package/{dist → lib}/utils/log.d.ts +0 -0
- /package/{dist → lib}/utils/log.js +0 -0
- /package/{dist → lib}/utils/reactShim.d.ts +0 -0
- /package/{dist → lib}/utils/reactShim.js +0 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import { existsSync, lstatSync, readdirSync } from "fs";
|
|
3
|
+
import { sync as globSync } from "glob";
|
|
4
|
+
import { extname as pathExtname, join as pathJoin, resolve as pathResolve } from "path";
|
|
5
|
+
import { LexConfig, getTypeScriptConfigPath } from "../../LexConfig.js";
|
|
6
|
+
import { checkLinkedModules, copyConfiguredFiles, copyFiles, createSpinner, getFilesByExt, removeFiles } from "../../utils/app.js";
|
|
7
|
+
import { getDirName, resolveBinaryPath } from "../../utils/file.js";
|
|
8
|
+
import { log } from "../../utils/log.js";
|
|
9
|
+
const hasFileType = (startPath, ext) => {
|
|
10
|
+
if (!existsSync(startPath)) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const files = readdirSync(startPath);
|
|
14
|
+
return files.some((file) => {
|
|
15
|
+
const filename = pathJoin(startPath, file);
|
|
16
|
+
const fileExt = pathExtname(filename);
|
|
17
|
+
const stat = lstatSync(filename);
|
|
18
|
+
if (stat.isDirectory()) {
|
|
19
|
+
return hasFileType(filename, ext);
|
|
20
|
+
}
|
|
21
|
+
return ext.includes(fileExt);
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const compile = async (cmd, callback = () => ({})) => {
|
|
25
|
+
const {
|
|
26
|
+
cliName = "Lex",
|
|
27
|
+
config,
|
|
28
|
+
outputPath,
|
|
29
|
+
quiet,
|
|
30
|
+
remove,
|
|
31
|
+
sourcePath,
|
|
32
|
+
watch
|
|
33
|
+
} = cmd;
|
|
34
|
+
const spinner = createSpinner(quiet);
|
|
35
|
+
log(`${cliName} compiling...`, "info", quiet);
|
|
36
|
+
await LexConfig.parseConfig(cmd);
|
|
37
|
+
const { outputFullPath, sourceFullPath, useTypescript } = LexConfig.config;
|
|
38
|
+
const outputDir = outputPath || outputFullPath;
|
|
39
|
+
const sourceDir = sourcePath ? pathResolve(process.cwd(), `./${sourcePath}`) : sourceFullPath || "";
|
|
40
|
+
const dirName = getDirName();
|
|
41
|
+
const dirPath = pathResolve(dirName, "../..");
|
|
42
|
+
checkLinkedModules();
|
|
43
|
+
if (remove) {
|
|
44
|
+
await removeFiles(outputDir);
|
|
45
|
+
}
|
|
46
|
+
if (useTypescript) {
|
|
47
|
+
LexConfig.checkCompileTypescriptConfig();
|
|
48
|
+
const typescriptPath = resolveBinaryPath("tsc", "typescript");
|
|
49
|
+
if (!typescriptPath) {
|
|
50
|
+
log(`
|
|
51
|
+
${cliName} Error: TypeScript binary not found in Lex's node_modules or monorepo root`, "error", quiet);
|
|
52
|
+
log("Please reinstall Lex or check your installation.", "info", quiet);
|
|
53
|
+
return 1;
|
|
54
|
+
}
|
|
55
|
+
const typescriptOptions = config ? ["-p", config] : ["-p", getTypeScriptConfigPath("tsconfig.build.json")];
|
|
56
|
+
spinner.start("Static type checking with Typescript...");
|
|
57
|
+
try {
|
|
58
|
+
await execa(typescriptPath, typescriptOptions, { encoding: "utf8" });
|
|
59
|
+
spinner.succeed("Successfully completed type checking!");
|
|
60
|
+
} catch (error) {
|
|
61
|
+
log(`
|
|
62
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
63
|
+
spinner.fail("Type checking failed.");
|
|
64
|
+
callback(1);
|
|
65
|
+
return 1;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const globOptions = {
|
|
69
|
+
cwd: sourceDir,
|
|
70
|
+
dot: false,
|
|
71
|
+
nodir: true,
|
|
72
|
+
nosort: true
|
|
73
|
+
};
|
|
74
|
+
const tsFiles = globSync(`${sourceDir}/**/!(*.spec|*.test).ts*`, globOptions);
|
|
75
|
+
const jsFiles = globSync(`${sourceDir}/**/!(*.spec|*.test).js`, globOptions);
|
|
76
|
+
const sourceFiles = [...tsFiles, ...jsFiles];
|
|
77
|
+
const esbuildConfig = LexConfig.config.esbuild || {};
|
|
78
|
+
const isProduction = process.env.NODE_ENV === "production";
|
|
79
|
+
let shouldMinify;
|
|
80
|
+
if (typeof esbuildConfig.minify === "boolean") {
|
|
81
|
+
shouldMinify = esbuildConfig.minify;
|
|
82
|
+
} else {
|
|
83
|
+
shouldMinify = isProduction;
|
|
84
|
+
}
|
|
85
|
+
const esbuildPath = resolveBinaryPath("esbuild", "esbuild");
|
|
86
|
+
if (!esbuildPath) {
|
|
87
|
+
log(`
|
|
88
|
+
${cliName} Error: esbuild binary not found in Lex's node_modules or monorepo root`, "error", quiet);
|
|
89
|
+
log("Please reinstall Lex or check your installation.", "info", quiet);
|
|
90
|
+
return 1;
|
|
91
|
+
}
|
|
92
|
+
const esbuildOptions = [
|
|
93
|
+
...sourceFiles,
|
|
94
|
+
"--color=true",
|
|
95
|
+
`--format=${esbuildConfig.format || "esm"}`,
|
|
96
|
+
`--outdir=${outputDir}`,
|
|
97
|
+
`--platform=${esbuildConfig.platform || "node"}`,
|
|
98
|
+
`--sourcemap=${esbuildConfig.sourcemap || "inline"}`,
|
|
99
|
+
`--target=${esbuildConfig.target || "node20"}`
|
|
100
|
+
];
|
|
101
|
+
if (shouldMinify) {
|
|
102
|
+
esbuildOptions.push("--minify");
|
|
103
|
+
}
|
|
104
|
+
if (esbuildConfig.treeShaking !== false) {
|
|
105
|
+
esbuildOptions.push("--tree-shaking=true");
|
|
106
|
+
}
|
|
107
|
+
if (esbuildConfig.drop && esbuildConfig.drop.length > 0) {
|
|
108
|
+
esbuildConfig.drop.forEach((item) => {
|
|
109
|
+
esbuildOptions.push(`--drop:${item}`);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (esbuildConfig.pure && esbuildConfig.pure.length > 0) {
|
|
113
|
+
esbuildConfig.pure.forEach((item) => {
|
|
114
|
+
esbuildOptions.push(`--pure:${item}`);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if (esbuildConfig.legalComments) {
|
|
118
|
+
esbuildOptions.push(`--legal-comments=${esbuildConfig.legalComments}`);
|
|
119
|
+
}
|
|
120
|
+
if (esbuildConfig.banner) {
|
|
121
|
+
Object.entries(esbuildConfig.banner).forEach(([type, content]) => {
|
|
122
|
+
esbuildOptions.push(`--banner:${type}=${content}`);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (esbuildConfig.footer) {
|
|
126
|
+
Object.entries(esbuildConfig.footer).forEach(([type, content]) => {
|
|
127
|
+
esbuildOptions.push(`--footer:${type}=${content}`);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (esbuildConfig.define) {
|
|
131
|
+
Object.entries(esbuildConfig.define).forEach(([key, value]) => {
|
|
132
|
+
esbuildOptions.push(`--define:${key}=${value}`);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
if (watch) {
|
|
136
|
+
esbuildOptions.push("--watch");
|
|
137
|
+
}
|
|
138
|
+
const cssFiles = getFilesByExt(".css", LexConfig.config);
|
|
139
|
+
if (cssFiles.length) {
|
|
140
|
+
const postcssPath = resolveBinaryPath("postcss", "postcss-cli");
|
|
141
|
+
if (!postcssPath) {
|
|
142
|
+
log(`
|
|
143
|
+
${cliName} Error: PostCSS binary not found in Lex's node_modules or monorepo root`, "error", quiet);
|
|
144
|
+
log("Please reinstall Lex or check your installation.", "info", quiet);
|
|
145
|
+
return 1;
|
|
146
|
+
}
|
|
147
|
+
const postcssOptions = [
|
|
148
|
+
`${sourceDir}/**/**.css`,
|
|
149
|
+
"--base",
|
|
150
|
+
sourceDir,
|
|
151
|
+
"--dir",
|
|
152
|
+
outputDir,
|
|
153
|
+
"--config",
|
|
154
|
+
pathResolve(dirName, "../../postcss.config.js")
|
|
155
|
+
];
|
|
156
|
+
try {
|
|
157
|
+
await execa(postcssPath, postcssOptions, { encoding: "utf8" });
|
|
158
|
+
spinner.succeed(`Successfully formatted ${cssFiles.length} css files!`);
|
|
159
|
+
} catch (error) {
|
|
160
|
+
log(`
|
|
161
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
162
|
+
spinner.fail("Failed formatting css.");
|
|
163
|
+
callback(1);
|
|
164
|
+
return 1;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const gifFiles = getFilesByExt(".gif", LexConfig.config);
|
|
168
|
+
const jpgFiles = getFilesByExt(".jpg", LexConfig.config);
|
|
169
|
+
const pngFiles = getFilesByExt(".png", LexConfig.config);
|
|
170
|
+
const svgFiles = getFilesByExt(".svg", LexConfig.config);
|
|
171
|
+
const imageFiles = [...gifFiles, ...jpgFiles, ...pngFiles, ...svgFiles];
|
|
172
|
+
if (imageFiles.length) {
|
|
173
|
+
try {
|
|
174
|
+
await copyFiles(imageFiles, "image", spinner, LexConfig.config);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
log(`
|
|
177
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
178
|
+
spinner.fail("Failed to move images to output directory.");
|
|
179
|
+
callback(1);
|
|
180
|
+
return 1;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
const ttfFiles = getFilesByExt(".ttf", LexConfig.config);
|
|
184
|
+
const otfFiles = getFilesByExt(".otf", LexConfig.config);
|
|
185
|
+
const woffFiles = getFilesByExt(".woff", LexConfig.config);
|
|
186
|
+
const woff2Files = getFilesByExt(".woff2", LexConfig.config);
|
|
187
|
+
const fontFiles = [...ttfFiles, ...otfFiles, ...woffFiles, ...woff2Files];
|
|
188
|
+
if (fontFiles.length) {
|
|
189
|
+
try {
|
|
190
|
+
await copyFiles(fontFiles, "font", spinner, LexConfig.config);
|
|
191
|
+
} catch (error) {
|
|
192
|
+
log(`
|
|
193
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
194
|
+
spinner.fail("Failed to move fonts to output directory.");
|
|
195
|
+
callback(1);
|
|
196
|
+
return 1;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const mdFiles = getFilesByExt(".md", LexConfig.config);
|
|
200
|
+
if (mdFiles.length) {
|
|
201
|
+
try {
|
|
202
|
+
await copyFiles(mdFiles, "documents", spinner, LexConfig.config);
|
|
203
|
+
} catch (error) {
|
|
204
|
+
log(`
|
|
205
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
206
|
+
spinner.fail("Failed to move docs to output directory.");
|
|
207
|
+
callback(1);
|
|
208
|
+
return 1;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
spinner.start(watch ? "Watching for changes..." : "Compiling with ESBuild...");
|
|
212
|
+
try {
|
|
213
|
+
await execa(esbuildPath, esbuildOptions, { encoding: "utf8" });
|
|
214
|
+
spinner.succeed("Compile completed successfully!");
|
|
215
|
+
} catch (error) {
|
|
216
|
+
log(`
|
|
217
|
+
${cliName} Error: ${error.message}`, "error", quiet);
|
|
218
|
+
if (!quiet) {
|
|
219
|
+
console.error(error);
|
|
220
|
+
}
|
|
221
|
+
spinner.fail("Code compiling failed.");
|
|
222
|
+
callback(1);
|
|
223
|
+
return 1;
|
|
224
|
+
}
|
|
225
|
+
try {
|
|
226
|
+
await copyConfiguredFiles(spinner, LexConfig.config, quiet);
|
|
227
|
+
} catch (copyError) {
|
|
228
|
+
log(`
|
|
229
|
+
${cliName} Error: Failed to copy configured files: ${copyError.message}`, "error", quiet);
|
|
230
|
+
spinner.fail("Failed to copy configured files.");
|
|
231
|
+
callback(1);
|
|
232
|
+
return 1;
|
|
233
|
+
}
|
|
234
|
+
callback(0);
|
|
235
|
+
return 0;
|
|
236
|
+
};
|
|
237
|
+
export {
|
|
238
|
+
compile,
|
|
239
|
+
hasFileType
|
|
240
|
+
};
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NvbXBpbGUvY29tcGlsZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7ZXhpc3RzU3luYywgbHN0YXRTeW5jLCByZWFkZGlyU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtzeW5jIGFzIGdsb2JTeW5jfSBmcm9tICdnbG9iJztcbmltcG9ydCB7ZXh0bmFtZSBhcyBwYXRoRXh0bmFtZSwgam9pbiBhcyBwYXRoSm9pbiwgcmVzb2x2ZSBhcyBwYXRoUmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7TGV4Q29uZmlnLCBnZXRUeXBlU2NyaXB0Q29uZmlnUGF0aH0gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y2hlY2tMaW5rZWRNb2R1bGVzLCBjb3B5Q29uZmlndXJlZEZpbGVzLCBjb3B5RmlsZXMsIGNyZWF0ZVNwaW5uZXIsIGdldEZpbGVzQnlFeHQsIHJlbW92ZUZpbGVzfSBmcm9tICcuLi8uLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtnZXREaXJOYW1lLCByZXNvbHZlQmluYXJ5UGF0aH0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGhhc0ZpbGVUeXBlID0gKHN0YXJ0UGF0aDogc3RyaW5nLCBleHQ6IHN0cmluZ1tdKTogYm9vbGVhbiA9PiB7XG4gIGlmKCFleGlzdHNTeW5jKHN0YXJ0UGF0aCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBmaWxlczogc3RyaW5nW10gPSByZWFkZGlyU3luYyhzdGFydFBhdGgpO1xuXG4gIHJldHVybiBmaWxlcy5zb21lKChmaWxlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBmaWxlbmFtZTogc3RyaW5nID0gcGF0aEpvaW4oc3RhcnRQYXRoLCBmaWxlKTtcbiAgICBjb25zdCBmaWxlRXh0OiBzdHJpbmcgPSBwYXRoRXh0bmFtZShmaWxlbmFtZSk7XG4gICAgY29uc3Qgc3RhdCA9IGxzdGF0U3luYyhmaWxlbmFtZSk7XG5cbiAgICBpZihzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIHJldHVybiBoYXNGaWxlVHlwZShmaWxlbmFtZSwgZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXh0LmluY2x1ZGVzKGZpbGVFeHQpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21waWxlID0gYXN5bmMgKGNtZDogYW55LCBjYWxsYmFjazogYW55ID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGlOYW1lID0gJ0xleCcsXG4gICAgY29uZmlnLFxuICAgIG91dHB1dFBhdGgsXG4gICAgcXVpZXQsXG4gICAgcmVtb3ZlLFxuICAgIHNvdXJjZVBhdGgsXG4gICAgd2F0Y2hcbiAgfSA9IGNtZDtcblxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgbG9nKGAke2NsaU5hbWV9IGNvbXBpbGluZy4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGNvbnN0IHtvdXRwdXRGdWxsUGF0aCwgc291cmNlRnVsbFBhdGgsIHVzZVR5cGVzY3JpcHR9ID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgY29uc3Qgb3V0cHV0RGlyOiBzdHJpbmcgPSBvdXRwdXRQYXRoIHx8IG91dHB1dEZ1bGxQYXRoO1xuICBjb25zdCBzb3VyY2VEaXI6IHN0cmluZyA9IHNvdXJjZVBhdGggPyBwYXRoUmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBgLi8ke3NvdXJjZVBhdGh9YCkgOiBzb3VyY2VGdWxsUGF0aCB8fCAnJztcbiAgY29uc3QgZGlyTmFtZSA9IGdldERpck5hbWUoKTtcbiAgY29uc3QgZGlyUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uJyk7XG5cbiAgY2hlY2tMaW5rZWRNb2R1bGVzKCk7XG5cbiAgaWYocmVtb3ZlKSB7XG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMob3V0cHV0RGlyKTtcbiAgfVxuXG4gIGlmKHVzZVR5cGVzY3JpcHQpIHtcbiAgICBMZXhDb25maWcuY2hlY2tDb21waWxlVHlwZXNjcmlwdENvbmZpZygpO1xuXG4gICAgY29uc3QgdHlwZXNjcmlwdFBhdGg6IHN0cmluZyA9IHJlc29sdmVCaW5hcnlQYXRoKCd0c2MnLCAndHlwZXNjcmlwdCcpO1xuXG4gICAgaWYoIXR5cGVzY3JpcHRQYXRoKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IFR5cGVTY3JpcHQgYmluYXJ5IG5vdCBmb3VuZCBpbiBMZXgncyBub2RlX21vZHVsZXMgb3IgbW9ub3JlcG8gcm9vdGAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGxvZygnUGxlYXNlIHJlaW5zdGFsbCBMZXggb3IgY2hlY2sgeW91ciBpbnN0YWxsYXRpb24uJywgJ2luZm8nLCBxdWlldCk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlc2NyaXB0T3B0aW9uczogc3RyaW5nW10gPSBjb25maWcgP1xuICAgICAgWyctcCcsIGNvbmZpZ10gOlxuICAgICAgWyctcCcsIGdldFR5cGVTY3JpcHRDb25maWdQYXRoKCd0c2NvbmZpZy5idWlsZC5qc29uJyldO1xuXG4gICAgc3Bpbm5lci5zdGFydCgnU3RhdGljIHR5cGUgY2hlY2tpbmcgd2l0aCBUeXBlc2NyaXB0Li4uJyk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgZXhlY2EodHlwZXNjcmlwdFBhdGgsIHR5cGVzY3JpcHRPcHRpb25zLCB7ZW5jb2Rpbmc6ICd1dGY4J30pO1xuXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgdHlwZSBjaGVja2luZyEnKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICBzcGlubmVyLmZhaWwoJ1R5cGUgY2hlY2tpbmcgZmFpbGVkLicpO1xuXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGdsb2JPcHRpb25zID0ge1xuICAgIGN3ZDogc291cmNlRGlyLFxuICAgIGRvdDogZmFsc2UsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgbm9zb3J0OiB0cnVlXG4gIH07XG4gIGNvbnN0IHRzRmlsZXM6IHN0cmluZ1tdID0gZ2xvYlN5bmMoYCR7c291cmNlRGlyfS8qKi8hKCouc3BlY3wqLnRlc3QpLnRzKmAsIGdsb2JPcHRpb25zKTtcbiAgY29uc3QganNGaWxlczogc3RyaW5nW10gPSBnbG9iU3luYyhgJHtzb3VyY2VEaXJ9LyoqLyEoKi5zcGVjfCoudGVzdCkuanNgLCBnbG9iT3B0aW9ucyk7XG4gIGNvbnN0IHNvdXJjZUZpbGVzOiBzdHJpbmdbXSA9IFsuLi50c0ZpbGVzLCAuLi5qc0ZpbGVzXTtcbiAgY29uc3QgZXNidWlsZENvbmZpZyA9IExleENvbmZpZy5jb25maWcuZXNidWlsZCB8fCB7fTtcbiAgY29uc3QgaXNQcm9kdWN0aW9uID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbiAgbGV0IHNob3VsZE1pbmlmeTogYm9vbGVhbjtcblxuICBpZih0eXBlb2YgZXNidWlsZENvbmZpZy5taW5pZnkgPT09ICdib29sZWFuJykge1xuICAgIHNob3VsZE1pbmlmeSA9IGVzYnVpbGRDb25maWcubWluaWZ5O1xuICB9IGVsc2Uge1xuICAgIHNob3VsZE1pbmlmeSA9IGlzUHJvZHVjdGlvbjtcbiAgfVxuXG4gIGNvbnN0IGVzYnVpbGRQYXRoOiBzdHJpbmcgPSByZXNvbHZlQmluYXJ5UGF0aCgnZXNidWlsZCcsICdlc2J1aWxkJyk7XG5cbiAgaWYoIWVzYnVpbGRQYXRoKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBlc2J1aWxkIGJpbmFyeSBub3QgZm91bmQgaW4gTGV4J3Mgbm9kZV9tb2R1bGVzIG9yIG1vbm9yZXBvIHJvb3RgLCAnZXJyb3InLCBxdWlldCk7XG4gICAgbG9nKCdQbGVhc2UgcmVpbnN0YWxsIExleCBvciBjaGVjayB5b3VyIGluc3RhbGxhdGlvbi4nLCAnaW5mbycsIHF1aWV0KTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIGNvbnN0IGVzYnVpbGRPcHRpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAuLi5zb3VyY2VGaWxlcyxcbiAgICAnLS1jb2xvcj10cnVlJyxcbiAgICBgLS1mb3JtYXQ9JHtlc2J1aWxkQ29uZmlnLmZvcm1hdCB8fCAnZXNtJ31gLFxuICAgIGAtLW91dGRpcj0ke291dHB1dERpcn1gLFxuICAgIGAtLXBsYXRmb3JtPSR7ZXNidWlsZENvbmZpZy5wbGF0Zm9ybSB8fCAnbm9kZSd9YCxcbiAgICBgLS1zb3VyY2VtYXA9JHtlc2J1aWxkQ29uZmlnLnNvdXJjZW1hcCB8fCAnaW5saW5lJ31gLFxuICAgIGAtLXRhcmdldD0ke2VzYnVpbGRDb25maWcudGFyZ2V0IHx8ICdub2RlMjAnfWBcbiAgXTtcblxuICBpZihzaG91bGRNaW5pZnkpIHtcbiAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKCctLW1pbmlmeScpO1xuICB9XG5cbiAgaWYoZXNidWlsZENvbmZpZy50cmVlU2hha2luZyAhPT0gZmFsc2UpIHtcbiAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKCctLXRyZWUtc2hha2luZz10cnVlJyk7XG4gIH1cblxuICBpZihlc2J1aWxkQ29uZmlnLmRyb3AgJiYgZXNidWlsZENvbmZpZy5kcm9wLmxlbmd0aCA+IDApIHtcbiAgICBlc2J1aWxkQ29uZmlnLmRyb3AuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgZXNidWlsZE9wdGlvbnMucHVzaChgLS1kcm9wOiR7aXRlbX1gKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmKGVzYnVpbGRDb25maWcucHVyZSAmJiBlc2J1aWxkQ29uZmlnLnB1cmUubGVuZ3RoID4gMCkge1xuICAgIGVzYnVpbGRDb25maWcucHVyZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKGAtLXB1cmU6JHtpdGVtfWApO1xuICAgIH0pO1xuICB9XG5cbiAgaWYoZXNidWlsZENvbmZpZy5sZWdhbENvbW1lbnRzKSB7XG4gICAgZXNidWlsZE9wdGlvbnMucHVzaChgLS1sZWdhbC1jb21tZW50cz0ke2VzYnVpbGRDb25maWcubGVnYWxDb21tZW50c31gKTtcbiAgfVxuXG4gIGlmKGVzYnVpbGRDb25maWcuYmFubmVyKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoZXNidWlsZENvbmZpZy5iYW5uZXIpLmZvckVhY2goKFt0eXBlLCBjb250ZW50XSkgPT4ge1xuICAgICAgZXNidWlsZE9wdGlvbnMucHVzaChgLS1iYW5uZXI6JHt0eXBlfT0ke2NvbnRlbnR9YCk7XG4gICAgfSk7XG4gIH1cblxuICBpZihlc2J1aWxkQ29uZmlnLmZvb3Rlcikge1xuICAgIE9iamVjdC5lbnRyaWVzKGVzYnVpbGRDb25maWcuZm9vdGVyKS5mb3JFYWNoKChbdHlwZSwgY29udGVudF0pID0+IHtcbiAgICAgIGVzYnVpbGRPcHRpb25zLnB1c2goYC0tZm9vdGVyOiR7dHlwZX09JHtjb250ZW50fWApO1xuICAgIH0pO1xuICB9XG5cbiAgaWYoZXNidWlsZENvbmZpZy5kZWZpbmUpIHtcbiAgICBPYmplY3QuZW50cmllcyhlc2J1aWxkQ29uZmlnLmRlZmluZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBlc2J1aWxkT3B0aW9ucy5wdXNoKGAtLWRlZmluZToke2tleX09JHt2YWx1ZX1gKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmKHdhdGNoKSB7XG4gICAgZXNidWlsZE9wdGlvbnMucHVzaCgnLS13YXRjaCcpO1xuICB9XG5cbiAgY29uc3QgY3NzRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLmNzcycsIExleENvbmZpZy5jb25maWcpO1xuXG4gIGlmKGNzc0ZpbGVzLmxlbmd0aCkge1xuICAgIGNvbnN0IHBvc3Rjc3NQYXRoOiBzdHJpbmcgPSByZXNvbHZlQmluYXJ5UGF0aCgncG9zdGNzcycsICdwb3N0Y3NzLWNsaScpO1xuXG4gICAgaWYoIXBvc3Rjc3NQYXRoKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IFBvc3RDU1MgYmluYXJ5IG5vdCBmb3VuZCBpbiBMZXgncyBub2RlX21vZHVsZXMgb3IgbW9ub3JlcG8gcm9vdGAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGxvZygnUGxlYXNlIHJlaW5zdGFsbCBMZXggb3IgY2hlY2sgeW91ciBpbnN0YWxsYXRpb24uJywgJ2luZm8nLCBxdWlldCk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3N0Y3NzT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgICBgJHtzb3VyY2VEaXJ9LyoqLyoqLmNzc2AsXG4gICAgICAnLS1iYXNlJyxcbiAgICAgIHNvdXJjZURpcixcbiAgICAgICctLWRpcicsXG4gICAgICBvdXRwdXREaXIsXG4gICAgICAnLS1jb25maWcnLFxuICAgICAgcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uL3Bvc3Rjc3MuY29uZmlnLmpzJylcbiAgICBdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBvc3Rjc3NQYXRoLCBwb3N0Y3NzT3B0aW9ucywge2VuY29kaW5nOiAndXRmOCd9KTtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZChgU3VjY2Vzc2Z1bGx5IGZvcm1hdHRlZCAke2Nzc0ZpbGVzLmxlbmd0aH0gY3NzIGZpbGVzIWApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIGZvcm1hdHRpbmcgY3NzLicpO1xuXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGdpZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5naWYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QganBnRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLmpwZycsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCBwbmdGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcucG5nJywgTGV4Q29uZmlnLmNvbmZpZyk7XG4gIGNvbnN0IHN2Z0ZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5zdmcnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QgaW1hZ2VGaWxlczogc3RyaW5nW10gPSBbLi4uZ2lmRmlsZXMsIC4uLmpwZ0ZpbGVzLCAuLi5wbmdGaWxlcywgLi4uc3ZnRmlsZXNdO1xuXG4gIGlmKGltYWdlRmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhpbWFnZUZpbGVzLCAnaW1hZ2UnLCBzcGlubmVyLCBMZXhDb25maWcuY29uZmlnKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBtb3ZlIGltYWdlcyB0byBvdXRwdXQgZGlyZWN0b3J5LicpO1xuXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHR0ZkZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy50dGYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3Qgb3RmRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLm90ZicsIExleENvbmZpZy5jb25maWcpO1xuICBjb25zdCB3b2ZmRmlsZXM6IHN0cmluZ1tdID0gZ2V0RmlsZXNCeUV4dCgnLndvZmYnLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3Qgd29mZjJGaWxlczogc3RyaW5nW10gPSBnZXRGaWxlc0J5RXh0KCcud29mZjInLCBMZXhDb25maWcuY29uZmlnKTtcbiAgY29uc3QgZm9udEZpbGVzOiBzdHJpbmdbXSA9IFsuLi50dGZGaWxlcywgLi4ub3RmRmlsZXMsIC4uLndvZmZGaWxlcywgLi4ud29mZjJGaWxlc107XG5cbiAgaWYoZm9udEZpbGVzLmxlbmd0aCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb3B5RmlsZXMoZm9udEZpbGVzLCAnZm9udCcsIHNwaW5uZXIsIExleENvbmZpZy5jb25maWcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIG1vdmUgZm9udHMgdG8gb3V0cHV0IGRpcmVjdG9yeS4nKTtcblxuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBtZEZpbGVzOiBzdHJpbmdbXSA9IGdldEZpbGVzQnlFeHQoJy5tZCcsIExleENvbmZpZy5jb25maWcpO1xuXG4gIGlmKG1kRmlsZXMubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvcHlGaWxlcyhtZEZpbGVzLCAnZG9jdW1lbnRzJywgc3Bpbm5lciwgTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gbW92ZSBkb2NzIHRvIG91dHB1dCBkaXJlY3RvcnkuJyk7XG5cbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgc3Bpbm5lci5zdGFydCh3YXRjaCA/ICdXYXRjaGluZyBmb3IgY2hhbmdlcy4uLicgOiAnQ29tcGlsaW5nIHdpdGggRVNCdWlsZC4uLicpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EoZXNidWlsZFBhdGgsIGVzYnVpbGRPcHRpb25zLCB7ZW5jb2Rpbmc6ICd1dGY4J30pO1xuXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdDb21waWxlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgaWYoIXF1aWV0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBzcGlubmVyLmZhaWwoJ0NvZGUgY29tcGlsaW5nIGZhaWxlZC4nKTtcblxuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBjb3B5Q29uZmlndXJlZEZpbGVzKHNwaW5uZXIsIExleENvbmZpZy5jb25maWcsIHF1aWV0KTtcbiAgfSBjYXRjaCAoY29weUVycm9yKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBGYWlsZWQgdG8gY29weSBjb25maWd1cmVkIGZpbGVzOiAke2NvcHlFcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGNvcHkgY29uZmlndXJlZCBmaWxlcy4nKTtcblxuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgY2FsbGJhY2soMCk7XG4gIHJldHVybiAwO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGFBQVk7QUFDcEIsU0FBUSxZQUFZLFdBQVcsbUJBQWtCO0FBQ2pELFNBQVEsUUFBUSxnQkFBZTtBQUMvQixTQUFRLFdBQVcsYUFBYSxRQUFRLFVBQVUsV0FBVyxtQkFBa0I7QUFFL0UsU0FBUSxXQUFXLCtCQUE4QjtBQUNqRCxTQUFRLG9CQUFvQixxQkFBcUIsV0FBVyxlQUFlLGVBQWUsbUJBQWtCO0FBQzVHLFNBQVEsWUFBWSx5QkFBd0I7QUFDNUMsU0FBUSxXQUFVO0FBRVgsTUFBTSxjQUFjLENBQUMsV0FBbUIsUUFBMkI7QUFDeEUsTUFBRyxDQUFDLFdBQVcsU0FBUyxHQUFHO0FBQ3pCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxRQUFrQixZQUFZLFNBQVM7QUFFN0MsU0FBTyxNQUFNLEtBQUssQ0FBQyxTQUFpQjtBQUNsQyxVQUFNLFdBQW1CLFNBQVMsV0FBVyxJQUFJO0FBQ2pELFVBQU0sVUFBa0IsWUFBWSxRQUFRO0FBQzVDLFVBQU0sT0FBTyxVQUFVLFFBQVE7QUFFL0IsUUFBRyxLQUFLLFlBQVksR0FBRztBQUNyQixhQUFPLFlBQVksVUFBVSxHQUFHO0FBQUEsSUFDbEM7QUFFQSxXQUFPLElBQUksU0FBUyxPQUFPO0FBQUEsRUFDN0IsQ0FBQztBQUNIO0FBRU8sTUFBTSxVQUFVLE9BQU8sS0FBVSxXQUFnQixPQUFPLENBQUMsT0FBd0I7QUFDdEYsUUFBTTtBQUFBLElBQ0osVUFBVTtBQUFBLElBQ1Y7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sVUFBVSxjQUFjLEtBQUs7QUFFbkMsTUFBSSxHQUFHLE9BQU8saUJBQWlCLFFBQVEsS0FBSztBQUU1QyxRQUFNLFVBQVUsWUFB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
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { existsSync, lstatSync } from "fs";
|
|
2
|
+
import { copyFileSync, copyFolderRecursiveSync } from "../../utils/app.js";
|
|
3
|
+
import { log } from "../../utils/log.js";
|
|
4
|
+
const copy = (from, to, cmd, callback = () => ({})) => {
|
|
5
|
+
const { cliName = "Lex", quiet } = cmd;
|
|
6
|
+
log(`${cliName} copying "${to}"...`, "info", quiet);
|
|
7
|
+
if (!existsSync(from)) {
|
|
8
|
+
log(`
|
|
9
|
+
${cliName} Error: Path not found, "${from}"...`, "error", quiet);
|
|
10
|
+
callback(1);
|
|
11
|
+
return Promise.resolve(1);
|
|
12
|
+
}
|
|
13
|
+
if (lstatSync(from).isDirectory()) {
|
|
14
|
+
try {
|
|
15
|
+
copyFolderRecursiveSync(from, to);
|
|
16
|
+
} catch (error) {
|
|
17
|
+
log(`
|
|
18
|
+
${cliName} Error: Cannot copy "${from}". ${error.message}`, "error", quiet);
|
|
19
|
+
callback(1);
|
|
20
|
+
return Promise.resolve(1);
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
try {
|
|
24
|
+
copyFileSync(from, to);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
log(`
|
|
27
|
+
${cliName} Error: Cannot copy "${from}" ${error.message}`, "error", quiet);
|
|
28
|
+
callback(1);
|
|
29
|
+
return Promise.resolve(1);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
callback(0);
|
|
33
|
+
return Promise.resolve(0);
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
copy
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NvcHkvY29weS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhpc3RzU3luYywgbHN0YXRTeW5jfSBmcm9tICdmcyc7XG5cbmltcG9ydCB7Y29weUZpbGVTeW5jLCBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luY30gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi8uLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvcHlPcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb3B5Q2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjb3B5ID0gKFxuICBmcm9tOiBzdHJpbmcsXG4gIHRvOiBzdHJpbmcsXG4gIGNtZDogQ29weU9wdGlvbnMsXG4gIGNhbGxiYWNrOiBDb3B5Q2FsbGJhY2sgPSAoKSA9PiAoe30pXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBxdWlldH0gPSBjbWQ7XG5cbiAgLy8gRGlzcGxheSBtZXNzYWdlXG4gIGxvZyhgJHtjbGlOYW1lfSBjb3B5aW5nIFwiJHt0b31cIi4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIGlmKCFleGlzdHNTeW5jKGZyb20pKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBQYXRoIG5vdCBmb3VuZCwgXCIke2Zyb219XCIuLi5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgfVxuXG4gIGlmKGxzdGF0U3luYyhmcm9tKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENvcHkgZGlyZWN0b3J5XG4gICAgICBjb3B5Rm9sZGVyUmVjdXJzaXZlU3luYyhmcm9tLCB0byk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNvcHkgXCIke2Zyb219XCIuICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICAvLyBDb3B5IGZpbGVcbiAgICAgIGNvcHlGaWxlU3luYyhmcm9tLCB0byk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNvcHkgXCIke2Zyb219XCIgJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcbiAgICB9XG4gIH1cblxuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgwKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxZQUFZLGlCQUFnQjtBQUVwQyxTQUFRLGNBQWMsK0JBQThCO0FBQ3BELFNBQVEsV0FBVTtBQVNYLE1BQU0sT0FBTyxDQUNsQixNQUNBLElBQ0EsS0FDQSxXQUF5QixPQUFPLENBQUMsT0FDYjtBQUNwQixRQUFNLEVBQUMsVUFBVSxPQUFPLE1BQUssSUFBSTtBQUdqQyxNQUFJLEdBQUcsT0FBTyxhQUFhLEVBQUUsUUFBUSxRQUFRLEtBQUs7QUFFbEQsTUFBRyxDQUFDLFdBQVcsSUFBSSxHQUFHO0FBQ3BCLFFBQUk7QUFBQSxFQUFLLE9BQU8sNEJBQTRCLElBQUksUUFBUSxTQUFTLEtBQUs7QUFDdEUsYUFBUyxDQUFDO0FBQ1YsV0FBTyxRQUFRLFFBQVEsQ0FBQztBQUFBLEVBQzFCO0FBRUEsTUFBRyxVQUFVLElBQUksRUFBRSxZQUFZLEdBQUc7QUFDaEMsUUFBSTtBQUVGLDhCQUF3QixNQUFNLEVBQUU7QUFBQSxJQUNsQyxTQUFTLE9BQU87QUFDZCxVQUFJO0FBQUEsRUFBSyxPQUFPLHdCQUF3QixJQUFJLE1BQU0sTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBQ2pGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0YsT0FBTztBQUNMLFFBQUk7QUFFRixtQkFBYSxNQUFNLEVBQUU7QUFBQSxJQUN2QixTQUFTLE9BQU87QUFDZCxVQUFJO0FBQUEsRUFBSyxPQUFPLHdCQUF3QixJQUFJLEtBQUssTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBQ2hGLGVBQVMsQ0FBQztBQUNWLGFBQU8sUUFBUSxRQUFRLENBQUM7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLENBQUM7QUFDVixTQUFPLFFBQVEsUUFBUSxDQUFDO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -121,4 +121,4 @@ ${cliName} Error: Cannot create new ${type}. ${error.message}`, "error", quiet);
|
|
|
121
121
|
export {
|
|
122
122
|
create
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NyZWF0ZS9jcmVhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4aXN0c1N5bmMsIHJlYWRGaWxlU3luYywgcmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtjcmVhdGVDaGFuZ2Vsb2d9IGZyb20gJy4uLy4uL2NyZWF0ZS9jaGFuZ2Vsb2cuanMnO1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NvcHlGb2xkZXJSZWN1cnNpdmVTeW5jLCBnZXRGaWxlbmFtZXMsIHJlbW92ZUZpbGVzLCB1cGRhdGVUZW1wbGF0ZU5hbWV9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2dldERpck5hbWV9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbGUuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dEZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBhc3luYyAodHlwZTogc3RyaW5nLCBjbWQ6IENyZWF0ZU9wdGlvbnMsIGNhbGxiYWNrOiBDcmVhdGVDYWxsYmFjayA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBvdXRwdXRGaWxlID0gJycsIG91dHB1dE5hbWUgPSAnJywgcXVpZXR9ID0gY21kO1xuICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG4gIGxvZyhgJHtjbGlOYW1lfSBjcmVhdGluZyAke3R5cGV9Li4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQsIGZhbHNlKTtcbiAgY29uc3Qge291dHB1dFBhdGggPSAnJywgc291cmNlUGF0aCA9ICcnLCB1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIC8vIE1ha2Ugc3VyZSB0c2NvbmZpZy5qc29uIGV4aXN0c1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIGNvbnN0IHtjb25maWd9ID0gTGV4Q29uZmlnO1xuICBjb25zdCBkaXJOYW1lID0gZ2V0RGlyTmFtZSgpO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSAnY2hhbmdlbG9nJzoge1xuICAgICAgY29uc3Qgc3RhdHVzQ2hhbmdlbG9nOiBudW1iZXIgPSBhd2FpdCBjcmVhdGVDaGFuZ2Vsb2coe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSwgcXVpZXR9KTtcbiAgICAgIGNhbGxiYWNrKHN0YXR1c0NoYW5nZWxvZyk7XG4gICAgICByZXR1cm4gc3RhdHVzQ2hhbmdlbG9nO1xuICAgIH1cbiAgICBjYXNlICdzdG9yZSc6IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGdldEZpbGVuYW1lcyh7XG4gICAgICAgICAgY2xpTmFtZSxcbiAgICAgICAgICBuYW1lOiBvdXRwdXROYW1lLFxuICAgICAgICAgIHF1aWV0LFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXNlVHlwZXNjcmlwdFxuICAgICAgICB9KTtcblxuICAgICAgICBpZighcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmFtZUNhcHMsIHRlbXBsYXRlRXh0LCB0ZW1wbGF0ZVBhdGh9ID0gcmVzdWx0O1xuICAgICAgICBjb25zdCBzdG9yZVBhdGg6IHN0cmluZyA9IGAke2N3ZH0vJHtuYW1lQ2Fwc31TdG9yZWA7XG5cbiAgICAgICAgaWYoIWV4aXN0c1N5bmMoc3RvcmVQYXRoKSkge1xuICAgICAgICAvLyBDb3B5IHN0b3JlIGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlU3RvcmUnKSwgY3dkKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBkaXJlY3RvcnlcbiAgICAgICAgICByZW5hbWVTeW5jKGAke2N3ZH0vLlNhbXBsZVN0b3JlYCwgc3RvcmVQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSB0ZXN0XG4gICAgICAgICAgY29uc3Qgc3RvcmVUZXN0UGF0aDogc3RyaW5nID0gYCR7c3RvcmVQYXRofS8ke25hbWVDYXBzfVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHtzdG9yZVBhdGh9L1NhbXBsZVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZVRlc3RQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlVGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHN0b3JlRmlsZVBhdGg6IHN0cmluZyA9IGAke3N0b3JlUGF0aH0vJHtuYW1lQ2Fwc31TdG9yZSR7dGVtcGxhdGVFeHR9YDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3N0b3JlUGF0aH0vU2FtcGxlU3RvcmUke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZUZpbGVQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlRmlsZVBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uIERpcmVjdG9yeSwgJHtzdG9yZVBhdGh9IGFscmVhZHkgZXhpc3RzLmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlICd0c2NvbmZpZyc6IHtcbiAgICAvLyBSZW1vdmUgZXhpc3RpbmcgZmlsZVxuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJ3RzY29uZmlnLmpzb24nLCB0cnVlKTtcblxuICAgICAgLy8gR2V0IHRzY29uZmlnIHRlbXBsYXRlXG4gICAgICBjb25zdCB0ZW1wbGF0ZVBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi8uLi90c2NvbmZpZy50ZW1wbGF0ZS5qc29uJyk7XG4gICAgICBsZXQgZGF0YTogc3RyaW5nID0gcmVhZEZpbGVTeW5jKHRlbXBsYXRlUGF0aCwgJ3V0ZjgnKTtcblxuICAgICAgLy8gVXBkYXRlIExleCB0c2NvbmZpZyB0ZW1wbGF0ZSB3aXRoIHNvdXJjZSBhbmQgb3V0cHV0IGRpcmVjdG9yaWVzXG4gICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8uXFwvc3JjL2csIHNvdXJjZVBhdGgpO1xuICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLlxcL2Rpc3QvZywgb3V0cHV0UGF0aCk7XG5cbiAgICAgIC8vIFNhdmUgbmV3IHRzY29uZmlnIHRvIGFwcFxuICAgICAgY29uc3QgZGVzdFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgJy4vdHNjb25maWcuanNvbicpO1xuICAgICAgd3JpdGVGaWxlU3luYyhkZXN0UGF0aCwgZGF0YSwgJ3V0ZjgnKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlICd2aWV3Jzoge1xuICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0RmlsZW5hbWVzKHtcbiAgICAgICAgY2xpTmFtZSxcbiAgICAgICAgbmFtZTogb3V0cHV0TmFtZSxcbiAgICAgICAgcXVpZXQsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHVzZVR5cGVzY3JpcHRcbiAgICAgIH0pO1xuXG4gICAgICBpZighcmVzdWx0KSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7bmFtZUNhcHMsIHRlbXBsYXRlUGF0aCwgdGVtcGxhdGVSZWFjdH0gPSByZXN1bHQ7XG4gICAgICBjb25zdCB2aWV3UGF0aDogc3RyaW5nID0gYCR7Y3dkfS8ke25hbWVDYXBzfVZpZXdgO1xuXG4gICAgICB0cnkge1xuICAgICAgICBpZighZXhpc3RzU3luYyh2aWV3UGF0aCkpIHtcbiAgICAgICAgLy8gQ29weSB2aWV3IGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlVmlldycpLCBjd2QpO1xuXG4gICAgICAgICAgLy8gUmVuYW1lIGRpcmVjdG9yeVxuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7Y3dkfS8uU2FtcGxlVmlld2AsIHZpZXdQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBDU1NcbiAgICAgICAgICBjb25zdCB2aWV3U3R5bGVQYXRoOiBzdHJpbmcgPSBgJHt2aWV3UGF0aH0vJHtvdXRwdXROYW1lfVZpZXcuY3NzYDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3ZpZXdQYXRofS9zYW1wbGVWaWV3LmNzc2AsIHZpZXdTdHlsZVBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3U3R5bGVQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgdGVzdFxuICAgICAgICAgIGNvbnN0IHZpZXdUZXN0UGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9Vmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHt2aWV3UGF0aH0vU2FtcGxlVmlldy50ZXN0JHt0ZW1wbGF0ZVJlYWN0fS50eHRgLCB2aWV3VGVzdFBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3VGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHZpZXdGaWxlUGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7bmFtZUNhcHN9VmlldyR7dGVtcGxhdGVSZWFjdH1gO1xuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7dmlld1BhdGh9L1NhbXBsZVZpZXcke3RlbXBsYXRlUmVhY3R9LnR4dGAsIHZpZXdGaWxlUGF0aCk7XG5cbiAgICAgICAgICAvLyBTZWFyY2ggYW5kIHJlcGxhY2UgdmlldyBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHZpZXdGaWxlUGF0aCwgb3V0cHV0TmFtZSwgbmFtZUNhcHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogQ2Fubm90IGNyZWF0ZSBuZXcgJHt0eXBlfS4gRGlyZWN0b3J5LCAke3ZpZXdQYXRofSBhbHJlYWR5IGV4aXN0cy5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgICAgY2FsbGJhY2soMSk7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndnNjb2RlJzoge1xuICAgIC8vIFJlbW92ZSBleGlzdGluZyBkaXJlY3RvcnlcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcudnNjb2RlJywgdHJ1ZSk7XG5cbiAgICAgIC8vIENvcHkgdnNjb2RlIGNvbmZpZ3VyYXRpb25cbiAgICAgIGNvcHlGb2xkZXJSZWN1cnNpdmVTeW5jKHBhdGhSZXNvbHZlKGRpck5hbWUsICcuLi8uLi8uLi8udnNjb2RlJyksIGN3ZCk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIDA7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsWUFBWSxjQUFjLFlBQVkscUJBQW9CO0FB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
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NyZWF0ZS9jcmVhdGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4aXN0c1N5bmMsIHJlYWRGaWxlU3luYywgcmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtjcmVhdGVDaGFuZ2Vsb2d9IGZyb20gJy4uLy4uL2NyZWF0ZS9jaGFuZ2Vsb2cuanMnO1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NvcHlGb2xkZXJSZWN1cnNpdmVTeW5jLCBnZXRGaWxlbmFtZXMsIHJlbW92ZUZpbGVzLCB1cGRhdGVUZW1wbGF0ZU5hbWV9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2dldERpck5hbWV9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbGUuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dEZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGUgPSBhc3luYyAodHlwZTogc3RyaW5nLCBjbWQ6IENyZWF0ZU9wdGlvbnMsIGNhbGxiYWNrOiBDcmVhdGVDYWxsYmFjayA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBvdXRwdXRGaWxlID0gJycsIG91dHB1dE5hbWUgPSAnJywgcXVpZXR9ID0gY21kO1xuICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG4gIGxvZyhgJHtjbGlOYW1lfSBjcmVhdGluZyAke3R5cGV9Li4uYCwgJ2luZm8nLCBxdWlldCk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQsIGZhbHNlKTtcbiAgY29uc3Qge291dHB1dFBhdGggPSAnJywgc291cmNlUGF0aCA9ICcnLCB1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIC8vIE1ha2Ugc3VyZSB0c2NvbmZpZy5qc29uIGV4aXN0c1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIGNvbnN0IHtjb25maWd9ID0gTGV4Q29uZmlnO1xuICBjb25zdCBkaXJOYW1lID0gZ2V0RGlyTmFtZSgpO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSAnY2hhbmdlbG9nJzoge1xuICAgICAgY29uc3Qgc3RhdHVzQ2hhbmdlbG9nOiBudW1iZXIgPSBhd2FpdCBjcmVhdGVDaGFuZ2Vsb2coe2NsaU5hbWUsIGNvbmZpZywgb3V0cHV0RmlsZSwgcXVpZXR9KTtcbiAgICAgIGNhbGxiYWNrKHN0YXR1c0NoYW5nZWxvZyk7XG4gICAgICByZXR1cm4gc3RhdHVzQ2hhbmdlbG9nO1xuICAgIH1cbiAgICBjYXNlICdzdG9yZSc6IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGdldEZpbGVuYW1lcyh7XG4gICAgICAgICAgY2xpTmFtZSxcbiAgICAgICAgICBuYW1lOiBvdXRwdXROYW1lLFxuICAgICAgICAgIHF1aWV0LFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXNlVHlwZXNjcmlwdFxuICAgICAgICB9KTtcblxuICAgICAgICBpZighcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmFtZUNhcHMsIHRlbXBsYXRlRXh0LCB0ZW1wbGF0ZVBhdGh9ID0gcmVzdWx0O1xuICAgICAgICBjb25zdCBzdG9yZVBhdGg6IHN0cmluZyA9IGAke2N3ZH0vJHtuYW1lQ2Fwc31TdG9yZWA7XG5cbiAgICAgICAgaWYoIWV4aXN0c1N5bmMoc3RvcmVQYXRoKSkge1xuICAgICAgICAvLyBDb3B5IHN0b3JlIGZpbGVzXG4gICAgICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgdGVtcGxhdGVQYXRoLCAnLi8uU2FtcGxlU3RvcmUnKSwgY3dkKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBkaXJlY3RvcnlcbiAgICAgICAgICByZW5hbWVTeW5jKGAke2N3ZH0vLlNhbXBsZVN0b3JlYCwgc3RvcmVQYXRoKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSB0ZXN0XG4gICAgICAgICAgY29uc3Qgc3RvcmVUZXN0UGF0aDogc3RyaW5nID0gYCR7c3RvcmVQYXRofS8ke25hbWVDYXBzfVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fWA7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHtzdG9yZVBhdGh9L1NhbXBsZVN0b3JlLnRlc3Qke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZVRlc3RQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlVGVzdFBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBzb3VyY2UgZmlsZVxuICAgICAgICAgIGNvbnN0IHN0b3JlRmlsZVBhdGg6IHN0cmluZyA9IGAke3N0b3JlUGF0aH0vJHtuYW1lQ2Fwc31TdG9yZSR7dGVtcGxhdGVFeHR9YDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3N0b3JlUGF0aH0vU2FtcGxlU3RvcmUke3RlbXBsYXRlRXh0fS50eHRgLCBzdG9yZUZpbGVQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSBzdG9yZSBuYW1lXG4gICAgICAgICAgdXBkYXRlVGVtcGxhdGVOYW1lKHN0b3JlRmlsZVBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uIERpcmVjdG9yeSwgJHtzdG9yZVBhdGh9IGFscmVhZHkgZXhpc3RzLmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBDYW5ub3QgY3JlYXRlIG5ldyAke3R5cGV9LiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICBjYWxsYmFjaygxKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndHNjb25maWcnOiB7XG4gICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGZpbGVcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVzKCd0c2NvbmZpZy5qc29uJywgdHJ1ZSk7XG5cbiAgICAgIC8vIEdldCB0c2NvbmZpZyB0ZW1wbGF0ZVxuICAgICAgY29uc3QgdGVtcGxhdGVQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShkaXJOYW1lLCAnLi4vLi4vLi4vdHNjb25maWcudGVtcGxhdGUuanNvbicpO1xuICAgICAgbGV0IGRhdGE6IHN0cmluZyA9IHJlYWRGaWxlU3luYyh0ZW1wbGF0ZVBhdGgsICd1dGY4Jyk7XG5cbiAgICAgIC8vIFVwZGF0ZSBMZXggdHNjb25maWcgdGVtcGxhdGUgd2l0aCBzb3VyY2UgYW5kIG91dHB1dCBkaXJlY3Rvcmllc1xuICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLlxcL3NyYy9nLCBzb3VyY2VQYXRoKTtcbiAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLy5cXC9kaXN0L2csIG91dHB1dFBhdGgpO1xuXG4gICAgICAvLyBTYXZlIG5ldyB0c2NvbmZpZyB0byBhcHBcbiAgICAgIGNvbnN0IGRlc3RQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShjd2QsICcuL3RzY29uZmlnLmpzb24nKTtcbiAgICAgIHdyaXRlRmlsZVN5bmMoZGVzdFBhdGgsIGRhdGEsICd1dGY4Jyk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAndmlldyc6IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldEZpbGVuYW1lcyh7XG4gICAgICAgIGNsaU5hbWUsXG4gICAgICAgIG5hbWU6IG91dHB1dE5hbWUsXG4gICAgICAgIHF1aWV0LFxuICAgICAgICB0eXBlLFxuICAgICAgICB1c2VUeXBlc2NyaXB0XG4gICAgICB9KTtcblxuICAgICAgaWYoIXJlc3VsdCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qge25hbWVDYXBzLCB0ZW1wbGF0ZVBhdGgsIHRlbXBsYXRlUmVhY3R9ID0gcmVzdWx0O1xuICAgICAgY29uc3Qgdmlld1BhdGg6IHN0cmluZyA9IGAke2N3ZH0vJHtuYW1lQ2Fwc31WaWV3YDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYoIWV4aXN0c1N5bmModmlld1BhdGgpKSB7XG4gICAgICAgIC8vIENvcHkgdmlldyBmaWxlc1xuICAgICAgICAgIGNvcHlGb2xkZXJSZWN1cnNpdmVTeW5jKHBhdGhSZXNvbHZlKGRpck5hbWUsIHRlbXBsYXRlUGF0aCwgJy4vLlNhbXBsZVZpZXcnKSwgY3dkKTtcblxuICAgICAgICAgIC8vIFJlbmFtZSBkaXJlY3RvcnlcbiAgICAgICAgICByZW5hbWVTeW5jKGAke2N3ZH0vLlNhbXBsZVZpZXdgLCB2aWV3UGF0aCk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgQ1NTXG4gICAgICAgICAgY29uc3Qgdmlld1N0eWxlUGF0aDogc3RyaW5nID0gYCR7dmlld1BhdGh9LyR7b3V0cHV0TmFtZX1WaWV3LmNzc2A7XG4gICAgICAgICAgcmVuYW1lU3luYyhgJHt2aWV3UGF0aH0vc2FtcGxlVmlldy5jc3NgLCB2aWV3U3R5bGVQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSB2aWV3IG5hbWVcbiAgICAgICAgICB1cGRhdGVUZW1wbGF0ZU5hbWUodmlld1N0eWxlUGF0aCwgb3V0cHV0TmFtZSwgbmFtZUNhcHMpO1xuXG4gICAgICAgICAgLy8gUmVuYW1lIHRlc3RcbiAgICAgICAgICBjb25zdCB2aWV3VGVzdFBhdGg6IHN0cmluZyA9IGAke3ZpZXdQYXRofS8ke25hbWVDYXBzfVZpZXcudGVzdCR7dGVtcGxhdGVSZWFjdH1gO1xuICAgICAgICAgIHJlbmFtZVN5bmMoYCR7dmlld1BhdGh9L1NhbXBsZVZpZXcudGVzdCR7dGVtcGxhdGVSZWFjdH0udHh0YCwgdmlld1Rlc3RQYXRoKTtcblxuICAgICAgICAgIC8vIFNlYXJjaCBhbmQgcmVwbGFjZSB2aWV3IG5hbWVcbiAgICAgICAgICB1cGRhdGVUZW1wbGF0ZU5hbWUodmlld1Rlc3RQYXRoLCBvdXRwdXROYW1lLCBuYW1lQ2Fwcyk7XG5cbiAgICAgICAgICAvLyBSZW5hbWUgc291cmNlIGZpbGVcbiAgICAgICAgICBjb25zdCB2aWV3RmlsZVBhdGg6IHN0cmluZyA9IGAke3ZpZXdQYXRofS8ke25hbWVDYXBzfVZpZXcke3RlbXBsYXRlUmVhY3R9YDtcbiAgICAgICAgICByZW5hbWVTeW5jKGAke3ZpZXdQYXRofS9TYW1wbGVWaWV3JHt0ZW1wbGF0ZVJlYWN0fS50eHRgLCB2aWV3RmlsZVBhdGgpO1xuXG4gICAgICAgICAgLy8gU2VhcmNoIGFuZCByZXBsYWNlIHZpZXcgbmFtZVxuICAgICAgICAgIHVwZGF0ZVRlbXBsYXRlTmFtZSh2aWV3RmlsZVBhdGgsIG91dHB1dE5hbWUsIG5hbWVDYXBzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uIERpcmVjdG9yeSwgJHt2aWV3UGF0aH0gYWxyZWFkeSBleGlzdHMuYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IENhbm5vdCBjcmVhdGUgbmV3ICR7dHlwZX0uICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlICd2c2NvZGUnOiB7XG4gICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGRpcmVjdG9yeVxuICAgICAgYXdhaXQgcmVtb3ZlRmlsZXMoJy52c2NvZGUnLCB0cnVlKTtcblxuICAgICAgLy8gQ29weSB2c2NvZGUgY29uZmlndXJhdGlvblxuICAgICAgY29weUZvbGRlclJlY3Vyc2l2ZVN5bmMocGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uLy52c2NvZGUnKSwgY3dkKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUSxZQUFZLGNBQWMsWUFBWSxxQkFBb0I7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
|
|
@@ -5,6 +5,8 @@ export interface DevOptions {
|
|
|
5
5
|
readonly open?: boolean;
|
|
6
6
|
readonly quiet?: boolean;
|
|
7
7
|
readonly remove?: boolean;
|
|
8
|
+
readonly translations?: boolean;
|
|
9
|
+
readonly usePublicIp?: boolean;
|
|
8
10
|
readonly variables?: string;
|
|
9
11
|
}
|
|
10
12
|
export type DevCallback = (status: number) => void;
|