@nlabs/lex 1.59.4 → 2.0.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 +3 -47
- package/README.md +13 -19
- package/__mocks__/build.js +3 -3
- package/config.json +3 -1
- package/examples/lex.config.js +3 -7
- package/lib/LexConfig.d.ts +2 -6
- package/lib/LexConfig.js +2 -2
- package/lib/commands/ai/ai.js +3 -3
- package/lib/commands/build/build.d.ts +5 -3
- package/lib/commands/build/build.js +66 -156
- package/lib/commands/config/config.js +9 -7
- package/lib/commands/dev/dev.d.ts +0 -2
- package/lib/commands/dev/dev.js +24 -115
- package/lib/commands/init/init.js +4 -9
- package/lib/commands/migrate/migrate.js +2 -2
- package/lib/commands/serverless-dev/serverless-dev.js +2 -2
- package/lib/commands/versions/versions.d.ts +1 -1
- package/lib/commands/versions/versions.js +4 -4
- package/lib/lex.js +10 -11
- package/lib/types.d.ts +1 -1
- package/lib/types.js +1 -1
- package/lib/utils/app.d.ts +0 -2
- package/lib/utils/app.js +2 -29
- package/lib/utils/{webpack/LexSvgSpritemapPlugin.d.ts → assets/LexSvgSpritemap.d.ts} +6 -8
- package/lib/utils/assets/LexSvgSpritemap.js +219 -0
- package/lib/utils/file.d.ts +0 -4
- package/lib/utils/file.js +4 -100
- package/lib/utils/staticSite.d.ts +15 -0
- package/lib/utils/staticSite.js +80 -0
- package/lib/utils/vite/assets.d.ts +19 -0
- package/lib/utils/vite/assets.js +249 -0
- package/lib/utils/vite/config.d.ts +12 -0
- package/lib/utils/vite/config.js +279 -0
- package/package.json +27 -45
- package/postcss.config.js +1 -2
- package/tsconfig.lint.json +0 -1
- package/tsconfig.test.json +0 -1
- package/lib/utils/webpack/LexSvgSpritemapPlugin.js +0 -255
- package/scripts/test-webpack.js +0 -453
- package/webpack.config.d.ts +0 -2
- package/webpack.config.js +0 -960
package/lib/commands/dev/dev.js
CHANGED
|
@@ -3,26 +3,16 @@
|
|
|
3
3
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
4
|
*/ import boxen from 'boxen';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
|
-
import { execa } from 'execa';
|
|
7
6
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
8
7
|
import https from 'https';
|
|
9
8
|
import { networkInterfaces, homedir } from 'os';
|
|
10
|
-
import {
|
|
9
|
+
import { join } from 'path';
|
|
10
|
+
import { createServer as createViteServer } from 'vite';
|
|
11
11
|
import { LexConfig } from '../../LexConfig.js';
|
|
12
|
-
import { createSpinner,
|
|
13
|
-
import { resolveWebpackPaths } from '../../utils/file.js';
|
|
12
|
+
import { createSpinner, removeFiles } from '../../utils/app.js';
|
|
14
13
|
import { log } from '../../utils/log.js';
|
|
15
14
|
import { processTranslations } from '../../utils/translations.js';
|
|
16
|
-
|
|
17
|
-
let currentDirname;
|
|
18
|
-
try {
|
|
19
|
-
// eslint-disable-next-line no-eval
|
|
20
|
-
currentFilename = eval('require("url").fileURLToPath(import.meta.url)');
|
|
21
|
-
currentDirname = dirname(currentFilename);
|
|
22
|
-
} catch {
|
|
23
|
-
currentFilename = process.cwd();
|
|
24
|
-
currentDirname = process.cwd();
|
|
25
|
-
}
|
|
15
|
+
import { createLexViteConfig } from '../../utils/vite/config.js';
|
|
26
16
|
// default port used by the development server when none is provided
|
|
27
17
|
export const DEFAULT_DEV_PORT = 3000;
|
|
28
18
|
const parsePort = (portValue)=>{
|
|
@@ -150,7 +140,7 @@ const displayServerStatus = (port = DEFAULT_DEV_PORT, quiet = false, publicIp)=>
|
|
|
150
140
|
console.log(`\n${statusBox}\n`);
|
|
151
141
|
};
|
|
152
142
|
export const dev = async (cmd, callback = ()=>({}))=>{
|
|
153
|
-
const { bundleAnalyzer, cliName = 'Lex',
|
|
143
|
+
const { bundleAnalyzer, cliName = 'Lex', open = false, port: cliPort, quiet, remove, translations = false, usePublicIp, variables } = cmd;
|
|
154
144
|
const spinner = createSpinner(quiet);
|
|
155
145
|
log(`${cliName} start development server...`, 'info', quiet);
|
|
156
146
|
await LexConfig.parseConfig(cmd);
|
|
@@ -194,113 +184,32 @@ export const dev = async (cmd, callback = ()=>({}))=>{
|
|
|
194
184
|
return 1;
|
|
195
185
|
}
|
|
196
186
|
}
|
|
197
|
-
let webpackConfig;
|
|
198
|
-
if (config) {
|
|
199
|
-
const isRelativeConfig = config.substr(0, 2) === './';
|
|
200
|
-
webpackConfig = isRelativeConfig ? pathResolve(process.cwd(), config) : config;
|
|
201
|
-
} else {
|
|
202
|
-
const { webpackConfig: resolvedConfig } = resolveWebpackPaths(currentDirname);
|
|
203
|
-
webpackConfig = resolvedConfig;
|
|
204
|
-
}
|
|
205
|
-
const { webpackPath } = resolveWebpackPaths(currentDirname);
|
|
206
|
-
const webpackOptions = [
|
|
207
|
-
'--color',
|
|
208
|
-
'--watch',
|
|
209
|
-
'--config',
|
|
210
|
-
webpackConfig
|
|
211
|
-
];
|
|
212
|
-
if (bundleAnalyzer) {
|
|
213
|
-
webpackOptions.push('--bundleAnalyzer');
|
|
214
|
-
}
|
|
215
187
|
try {
|
|
216
|
-
let executablePath = webpackPath;
|
|
217
|
-
let finalWebpackOptions;
|
|
218
|
-
if (webpackPath === 'npx') {
|
|
219
|
-
finalWebpackOptions = [
|
|
220
|
-
'webpack',
|
|
221
|
-
...webpackOptions
|
|
222
|
-
];
|
|
223
|
-
} else if (webpackPath.endsWith('.js')) {
|
|
224
|
-
executablePath = 'node';
|
|
225
|
-
finalWebpackOptions = [
|
|
226
|
-
webpackPath,
|
|
227
|
-
...webpackOptions
|
|
228
|
-
];
|
|
229
|
-
} else {
|
|
230
|
-
finalWebpackOptions = webpackOptions;
|
|
231
|
-
}
|
|
232
188
|
spinner.start('Starting development server...');
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
statusShown = true;
|
|
250
|
-
if (usePublicIp) {
|
|
251
|
-
fetchPublicIp(usePublicIp).then((publicIp)=>{
|
|
252
|
-
displayServerStatus(portToShow, quiet, publicIp);
|
|
253
|
-
});
|
|
254
|
-
} else {
|
|
255
|
-
displayServerStatus(portToShow, quiet);
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
let detectedPort = finalPort;
|
|
259
|
-
childProcess.stdout?.on('data', (data)=>{
|
|
260
|
-
const output = data.toString();
|
|
261
|
-
handleWebpackProgress(output, spinner, quiet ?? false, '🚀', 'Webpack Building');
|
|
262
|
-
if (!serverStarted && (output.includes('Local:') || output.includes('webpack compiled') || output.includes('webpack-plugin-serve') || output.includes('http://localhost') || output.includes('listening on port'))) {
|
|
263
|
-
serverStarted = true;
|
|
264
|
-
spinner.succeed('Development server started.');
|
|
265
|
-
const portMatch = output.match(/Local:\s*http:\/\/[^:]+:(\d+)/) || output.match(/http:\/\/localhost:(\d+)/) || output.match(/port:\s*(\d+)/) || output.match(/listening on port (\d+)/) || output.match(/WebpackPluginServe listening on port (\d+)/);
|
|
266
|
-
if (portMatch) {
|
|
267
|
-
detectedPort = parseInt(portMatch[1]);
|
|
268
|
-
}
|
|
269
|
-
showStatusOnce(detectedPort);
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
childProcess.stderr?.on('data', (data)=>{
|
|
273
|
-
const output = data.toString();
|
|
274
|
-
handleWebpackProgress(output, spinner, quiet ?? false, '🚀', 'Webpack Building');
|
|
275
|
-
if (!serverStarted && (output.includes('Local:') || output.includes('webpack compiled') || output.includes('webpack-plugin-serve') || output.includes('http://localhost') || output.includes('listening on port'))) {
|
|
276
|
-
serverStarted = true;
|
|
277
|
-
spinner.succeed('Development server started.');
|
|
278
|
-
const portMatch = output.match(/Local:\s*http:\/\/[^:]+:(\d+)/) || output.match(/http:\/\/localhost:(\d+)/) || output.match(/port:\s*(\d+)/) || output.match(/listening on port (\d+)/) || output.match(/WebpackPluginServe listening on port (\d+)/);
|
|
279
|
-
if (portMatch) {
|
|
280
|
-
detectedPort = parseInt(portMatch[1]);
|
|
281
|
-
}
|
|
282
|
-
showStatusOnce(detectedPort);
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
setTimeout(()=>{
|
|
286
|
-
if (!serverStarted) {
|
|
287
|
-
spinner.succeed('Development server started.');
|
|
288
|
-
showStatusOnce(detectedPort);
|
|
289
|
-
}
|
|
290
|
-
}, 5000);
|
|
291
|
-
await childProcess;
|
|
292
|
-
if (!serverStarted) {
|
|
293
|
-
spinner.succeed('Development server started.');
|
|
294
|
-
showStatusOnce(detectedPort);
|
|
189
|
+
const server = await createViteServer(createLexViteConfig({
|
|
190
|
+
analyze: bundleAnalyzer,
|
|
191
|
+
command: 'serve',
|
|
192
|
+
mode: 'development',
|
|
193
|
+
open,
|
|
194
|
+
port: finalPort,
|
|
195
|
+
quiet
|
|
196
|
+
}));
|
|
197
|
+
await server.listen();
|
|
198
|
+
spinner.succeed('Development server started.');
|
|
199
|
+
if (usePublicIp) {
|
|
200
|
+
const publicIp = await fetchPublicIp(usePublicIp);
|
|
201
|
+
displayServerStatus(finalPort, quiet, publicIp);
|
|
202
|
+
} else {
|
|
203
|
+
displayServerStatus(finalPort, quiet);
|
|
295
204
|
}
|
|
296
|
-
callback(0);
|
|
297
205
|
return 0;
|
|
298
206
|
} catch (error) {
|
|
299
|
-
|
|
300
|
-
|
|
207
|
+
const serverError = error instanceof Error ? error : new Error(String(error));
|
|
208
|
+
log(`\n${cliName} Error: ${serverError.message}`, 'error', quiet);
|
|
209
|
+
spinner.fail('There was an error while running Vite.');
|
|
301
210
|
callback(1);
|
|
302
211
|
return 1;
|
|
303
212
|
}
|
|
304
213
|
};
|
|
305
214
|
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9kZXYvZGV2LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYm94ZW4gZnJvbSAnYm94ZW4nO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7ZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jLCB3cml0ZUZpbGVTeW5jLCBta2RpclN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBodHRwcyBmcm9tICdodHRwcyc7XG5pbXBvcnQge25ldHdvcmtJbnRlcmZhY2VzLCBob21lZGlyfSBmcm9tICdvcyc7XG5pbXBvcnQge2Rpcm5hbWUsIHJlc29sdmUgYXMgcGF0aFJlc29sdmUsIGpvaW59IGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Bpbm5lciwgaGFuZGxlV2VicGFja1Byb2dyZXNzLCByZW1vdmVGaWxlc30gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7cmVzb2x2ZVdlYnBhY2tQYXRoc30gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcbmltcG9ydCB7cHJvY2Vzc1RyYW5zbGF0aW9uc30gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNsYXRpb25zLmpzJztcblxubGV0IGN1cnJlbnRGaWxlbmFtZTogc3RyaW5nO1xubGV0IGN1cnJlbnREaXJuYW1lOiBzdHJpbmc7XG5cbnRyeSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gIGN1cnJlbnRGaWxlbmFtZSA9IGV2YWwoJ3JlcXVpcmUoXCJ1cmxcIikuZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpJyk7XG4gIGN1cnJlbnREaXJuYW1lID0gZGlybmFtZShjdXJyZW50RmlsZW5hbWUpO1xufSBjYXRjaHtcbiAgY3VycmVudEZpbGVuYW1lID0gcHJvY2Vzcy5jd2QoKTtcbiAgY3VycmVudERpcm5hbWUgPSBwcm9jZXNzLmN3ZCgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldk9wdGlvbnMge1xuICByZWFkb25seSBidW5kbGVBbmFseXplcj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbmZpZz86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9ybWF0Pzogc3RyaW5nO1xuICByZWFkb25seSBvcGVuPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSByZW1vdmU/OiBib29sZWFuO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM/OiBib29sZWFuO1xuICByZWFkb25seSB1c2VQdWJsaWNJcD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhcmlhYmxlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRGV2Q2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbi8vIGRlZmF1bHQgcG9ydCB1c2VkIGJ5IHRoZSBkZXZlbG9wbWVudCBzZXJ2ZXIgd2hlbiBub25lIGlzIHByb3ZpZGVkXG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVZfUE9SVCA9IDMwMDA7XG5cbmludGVyZmFjZSBQdWJsaWNJcENhY2hlIHtcbiAgaXA6IHN0cmluZztcbiAgdGltZXN0YW1wOiBudW1iZXI7XG59XG5cbmNvbnN0IHBhcnNlUG9ydCA9IChwb3J0VmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBpZihwb3J0VmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwb3J0VmFsdWUgPT09IG51bGwgfHwgcG9ydFZhbHVlID09PSAnJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSBOdW1iZXIocG9ydFZhbHVlKTtcbiAgaWYoTnVtYmVyLmlzSW50ZWdlcihwYXJzZWQpICYmIHBhcnNlZCA+IDApIHtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldENhY2hlRGlyID0gKCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGNhY2hlRGlyID0gam9pbihob21lZGlyKCksICcubGV4LWNhY2hlJyk7XG4gIGlmKCFleGlzdHNTeW5jKGNhY2hlRGlyKSkge1xuICAgIG1rZGlyU3luYyhjYWNoZURpciwge3JlY3Vyc2l2ZTogdHJ1ZX0pO1xuICB9XG4gIHJldHVybiBjYWNoZURpcjtcbn07XG5cbmNvbnN0IGdldENhY2hlUGF0aCA9ICgpOiBzdHJpbmcgPT4gam9pbihnZXRDYWNoZURpcigpLCAncHVibGljLWlwLmpzb24nKTtcblxuY29uc3QgcmVhZFB1YmxpY0lwQ2FjaGUgPSAoKTogUHVibGljSXBDYWNoZSB8IG51bGwgPT4ge1xuICBjb25zdCBjYWNoZVBhdGggPSBnZXRDYWNoZVBhdGgoKTtcbiAgaWYoIWV4aXN0c1N5bmMoY2FjaGVQYXRoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjYWNoZURhdGEgPSByZWFkRmlsZVN5bmMoY2FjaGVQYXRoLCAndXRmOCcpO1xuICAgIGNvbnN0IGNhY2hlOiBQdWJsaWNJcENhY2hlID0gSlNPTi5wYXJzZShjYWNoZURhdGEpO1xuICAgIGNvbnN0IG9uZVdlZWtNcyA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwO1xuXG4gICAgaWYoRGF0ZS5ub3coKSAtIGNhY2hlLnRpbWVzdGFtcCA+IG9uZVdlZWtNcykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhY2hlO1xuICB9IGNhdGNoe1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5jb25zdCB3cml0ZVB1YmxpY0lwQ2FjaGUgPSAoaXA6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBjb25zdCBjYWNoZVBhdGggPSBnZXRDYWNoZVBhdGgoKTtcbiAgY29uc3QgY2FjaGU6IFB1YmxpY0lwQ2FjaGUgPSB7XG4gICAgaXAsXG4gICAgdGltZXN0YW1wOiBEYXRlLm5vdygpXG4gIH07XG4gIHdyaXRlRmlsZVN5bmMoY2FjaGVQYXRoLCBKU09OLnN0cmluZ2lmeShjYWNoZSwgbnVsbCwgMikpO1xufTtcblxuY29uc3QgZmV0Y2hQdWJsaWNJcCA9IChmb3JjZVJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICBpZighZm9yY2VSZWZyZXNoKSB7XG4gICAgY29uc3QgY2FjaGVkID0gcmVhZFB1YmxpY0lwQ2FjaGUoKTtcbiAgICBpZihjYWNoZWQpIHtcbiAgICAgIHJlc29sdmUoY2FjaGVkLmlwKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBodHRwcy5nZXQoJ2h0dHBzOi8vYXBpLmlwaWZ5Lm9yZycsIChyZXMpID0+IHtcbiAgICBsZXQgZGF0YSA9ICcnO1xuICAgIHJlcy5vbignZGF0YScsIChjaHVuaykgPT4gKGRhdGEgKz0gY2h1bmspKTtcbiAgICByZXMub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGlwID0gZGF0YS50cmltKCk7XG4gICAgICBpZihpcCkge1xuICAgICAgICB3cml0ZVB1YmxpY0lwQ2FjaGUoaXApO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShpcCk7XG4gICAgfSk7XG4gIH0pLm9uKCdlcnJvcicsICgpID0+IHJlc29sdmUodW5kZWZpbmVkKSk7XG59KTtcblxuY29uc3QgZ2V0TmV0d29ya0FkZHJlc3NlcyA9ICgpID0+IHtcbiAgY29uc3QgaW50ZXJmYWNlcyA9IG5ldHdvcmtJbnRlcmZhY2VzKCk7XG4gIGNvbnN0IGFkZHJlc3NlcyA9IHtcbiAgICBsb2NhbDogJ2xvY2FsaG9zdCcsXG4gICAgcHJpdmF0ZTogbnVsbCBhcyBzdHJpbmcgfCBudWxsLFxuICAgIHB1YmxpYzogbnVsbCBhcyBzdHJpbmcgfCBudWxsXG4gIH07XG5cbiAgZm9yKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXMoaW50ZXJmYWNlcykpIHtcbiAgICBjb25zdCBuZXR3b3JrSW50ZXJmYWNlID0gaW50ZXJmYWNlc1tuYW1lXTtcbiAgICBpZighbmV0d29ya0ludGVyZmFjZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgZm9yKGNvbnN0IGlmYWNlIG9mIG5ldHdvcmtJbnRlcmZhY2UpIHtcbiAgICAgIGlmKGlmYWNlLmZhbWlseSA9PT0gJ0lQdjQnICYmICFpZmFjZS5pbnRlcm5hbCkge1xuICAgICAgICBjb25zdCBpcCA9IGlmYWNlLmFkZHJlc3M7XG5cbiAgICAgICAgaWYoaXAuc3RhcnRzV2l0aCgnMTAuJykgfHwgaXAuc3RhcnRzV2l0aCgnMTkyLjE2OC4nKSB8fCBpcC5zdGFydHNXaXRoKCcxNzIuJykpIHtcbiAgICAgICAgICBpZighYWRkcmVzc2VzLnByaXZhdGUpIHtcbiAgICAgICAgICAgIGFkZHJlc3Nlcy5wcml2YXRlID0gaXA7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmKCFhZGRyZXNzZXMucHVibGljKSB7XG4gICAgICAgICAgICBhZGRyZXNzZXMucHVibGljID0gaXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFkZHJlc3Nlcztcbn07XG5cbmNvbnN0IGRpc3BsYXlTZXJ2ZXJTdGF0dXMgPSAocG9ydDogbnVtYmVyID0gREVGQVVMVF9ERVZfUE9SVCwgcXVpZXQ6IGJvb2xlYW4gPSBmYWxzZSwgcHVibGljSXA/OiBzdHJpbmcpID0+IHtcbiAgaWYocXVpZXQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhZGRyZXNzZXMgPSBnZXROZXR3b3JrQWRkcmVzc2VzKCk7XG4gIGNvbnN0IGxvY2FsVXJsID0gYGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0fWA7XG4gIGNvbnN0IHByaXZhdGVVcmwgPSBhZGRyZXNzZXMucHJpdmF0ZSA/IGBodHRwOi8vJHthZGRyZXNzZXMucHJpdmF0ZX06JHtwb3J0fWAgOiBudWxsO1xuICBsZXQgcHVibGljVXJsID0gbnVsbDtcbiAgaWYocHVibGljSXApIHtcbiAgICBwdWJsaWNVcmwgPSBgaHR0cDovLyR7cHVibGljSXB9OiR7cG9ydH1gO1xuICB9IGVsc2UgaWYoYWRkcmVzc2VzLnB1YmxpYykge1xuICAgIHB1YmxpY1VybCA9IGBodHRwOi8vJHthZGRyZXNzZXMucHVibGljfToke3BvcnR9YDtcbiAgfVxuXG4gIGxldCB1cmxMaW5lcyA9IGAke2NoYWxrLmdyZWVuKCdMb2NhbDonKX0gICAgICR7Y2hhbGsudW5kZXJsaW5lKGxvY2FsVXJsKX1cXG5gO1xuXG4gIGlmKHByaXZhdGVVcmwpIHtcbiAgICB1cmxMaW5lcyArPSBgJHtjaGFsay5ncmVlbignUHJpdmF0ZTonKX0gICAke2NoYWxrLnVuZGVybGluZShwcml2YXRlVXJsKX1cXG5gO1xuICB9XG5cbiAgaWYocHVibGljVXJsKSB7XG4gICAgdXJsTGluZXMgKz0gYCR7Y2hhbGsuZ3JlZW4oJ1B1YmxpYzonKX0gICAgJHtjaGFsay51bmRlcmxpbmUocHVibGljVXJsKX1cXG5gO1xuICB9XG5cbiAgY29uc3Qgc3RhdHVzQm94ID0gYm94ZW4oXG4gICAgYCR7Y2hhbGsuY3lhbi5ib2xkKCfwn5qAIERldmVsb3BtZW50IFNlcnZlciBSdW5uaW5nJyl9XFxuXFxuJHt1cmxMaW5lc31cXG5gICtcbiAgICBgJHtjaGFsay55ZWxsb3coJ1ByZXNzIEN0cmwrQyB0byBzdG9wIHRoZSBzZXJ2ZXInKX1gLFxuICAgIHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJyMxYTFhMWEnLFxuICAgICAgYm9yZGVyQ29sb3I6ICdjeWFuJyxcbiAgICAgIGJvcmRlclN0eWxlOiAncm91bmQnLFxuICAgICAgbWFyZ2luOiAxLFxuICAgICAgcGFkZGluZzogMVxuICAgIH1cbiAgKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhgXFxuJHtzdGF0dXNCb3h9XFxuYCk7XG59O1xuXG5leHBvcnQgY29uc3QgZGV2ID0gYXN5bmMgKGNtZDogRGV2T3B0aW9ucywgY2FsbGJhY2s6IERldkNhbGxiYWNrID0gKCkgPT4gKHt9KSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IHtidW5kbGVBbmFseXplciwgY2xpTmFtZSA9ICdMZXgnLCBjb25maWcsIGZvcm1hdCA9ICdlc20nLCBvcGVuID0gZmFsc2UsIHBvcnQ6IGNsaVBvcnQsIHF1aWV0LCByZW1vdmUsIHRyYW5zbGF0aW9ucyA9IGZhbHNlLCB1c2VQdWJsaWNJcCwgdmFyaWFibGVzfSA9IGNtZDtcblxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgbG9nKGAke2NsaU5hbWV9IHN0YXJ0IGRldmVsb3BtZW50IHNlcnZlci4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuXG4gIGNvbnN0IHtkZXY6IGRldkNvbmZpZywgb3V0cHV0RnVsbFBhdGgsIHVzZVR5cGVzY3JpcHR9ID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgY29uc3QgZmluYWxQb3J0ID0gcGFyc2VQb3J0KGNsaVBvcnQpID8/IHBhcnNlUG9ydChkZXZDb25maWc/LnBvcnQpID8/IERFRkFVTFRfREVWX1BPUlQ7XG5cbiAgbGV0IHZhcmlhYmxlc09iajogb2JqZWN0ID0ge05PREVfRU5WOiAnZGV2ZWxvcG1lbnQnfTtcblxuICBpZih2YXJpYWJsZXMpIHtcbiAgICB0cnkge1xuICAgICAgdmFyaWFibGVzT2JqID0gSlNPTi5wYXJzZSh2YXJpYWJsZXMpO1xuICAgIH0gY2F0Y2goX2Vycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IEVudmlyb25tZW50IHZhcmlhYmxlcyBvcHRpb24gaXMgbm90IGEgdmFsaWQgSlNPTiBvYmplY3QuYCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgY2FsbGJhY2soMSk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICBwcm9jZXNzLmVudiA9IHsuLi5wcm9jZXNzLmVudiwgLi4udmFyaWFibGVzT2JqfTtcblxuICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgTGV4Q29uZmlnLmNoZWNrVHlwZXNjcmlwdENvbmZpZygpO1xuICB9XG5cbiAgaWYocmVtb3ZlKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnQ2xlYW5pbmcgb3V0cHV0IGRpcmVjdG9yeS4uLicpO1xuXG4gICAgYXdhaXQgcmVtb3ZlRmlsZXMob3V0cHV0RnVsbFBhdGggfHwgJycpO1xuXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgY2xlYW5lZCBvdXRwdXQgZGlyZWN0b3J5IScpO1xuICB9XG5cbiAgaWYodHJhbnNsYXRpb25zKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnUHJvY2Vzc2luZyB0cmFuc2xhdGlvbnMuLi4nKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzb3VyY2VQYXRoID0gTGV4Q29uZmlnLmNvbmZpZy5zb3VyY2VGdWxsUGF0aCB8fCBwcm9jZXNzLmN3ZCgpO1xuICAgICAgY29uc3Qgb3V0cHV0UGF0aCA9IExleENvbmZpZy5jb25maWcub3V0cHV0RnVsbFBhdGggfHwgJ2xpYic7XG5cbiAgICAgIGF3YWl0IHByb2Nlc3NUcmFuc2xhdGlvbnMoc291cmNlUGF0aCwgb3V0cHV0UGF0aCwgcXVpZXQpO1xuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdUcmFuc2xhdGlvbnMgcHJvY2Vzc2VkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICB9IGNhdGNoKHRyYW5zbGF0aW9uRXJyb3IpIHtcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogRmFpbGVkIHRvIHByb2Nlc3MgdHJhbnNsYXRpb25zOiAke3RyYW5zbGF0aW9uRXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBwcm9jZXNzIHRyYW5zbGF0aW9ucy4nKTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgbGV0IHdlYnBhY2tDb25maWc6IHN0cmluZztcblxuICBpZihjb25maWcpIHtcbiAgICBjb25zdCBpc1JlbGF0aXZlQ29uZmlnOiBib29sZWFuID0gY29uZmlnLnN1YnN0cigwLCAyKSA9PT0gJy4vJztcbiAgICB3ZWJwYWNrQ29uZmlnID0gaXNSZWxhdGl2ZUNvbmZpZyA/IHBhdGhSZXNvbHZlKHByb2Nlc3MuY3dkKCksIGNvbmZpZykgOiBjb25maWc7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qge3dlYnBhY2tDb25maWc6IHJlc29sdmVkQ29uZmlnfSA9IHJlc29sdmVXZWJwYWNrUGF0aHMoY3VycmVudERpcm5hbWUpO1xuICAgIHdlYnBhY2tDb25maWcgPSByZXNvbHZlZENvbmZpZztcbiAgfVxuXG4gIGNvbnN0IHt3ZWJwYWNrUGF0aH0gPSByZXNvbHZlV2VicGFja1BhdGhzKGN1cnJlbnREaXJuYW1lKTtcblxuICBjb25zdCB3ZWJwYWNrT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgJy0tY29sb3InLFxuICAgICctLXdhdGNoJyxcbiAgICAnLS1jb25maWcnLCB3ZWJwYWNrQ29uZmlnXG4gIF07XG5cbiAgaWYoYnVuZGxlQW5hbHl6ZXIpIHtcbiAgICB3ZWJwYWNrT3B0aW9ucy5wdXNoKCctLWJ1bmRsZUFuYWx5emVyJyk7XG4gIH1cblxuICB0cnkge1xuICAgIGxldCBleGVjdXRhYmxlUGF0aCA9IHdlYnBhY2tQYXRoO1xuICAgIGxldCBmaW5hbFdlYnBhY2tPcHRpb25zOiBzdHJpbmdbXTtcblxuICAgIGlmKHdlYnBhY2tQYXRoID09PSAnbnB4Jykge1xuICAgICAgZmluYWxXZWJwYWNrT3B0aW9ucyA9IFsnd2VicGFjaycsIC4uLndlYnBhY2tPcHRpb25zXTtcbiAgICB9IGVsc2UgaWYod2VicGFja1BhdGguZW5kc1dpdGgoJy5qcycpKSB7XG4gICAgICBleGVjdXRhYmxlUGF0aCA9ICdub2RlJztcbiAgICAgIGZpbmFsV2VicGFja09wdGlvbnMgPSBbd2VicGFja1BhdGgsIC4uLndlYnBhY2tPcHRpb25zXTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxXZWJwYWNrT3B0aW9ucyA9IHdlYnBhY2tPcHRpb25zO1xuICAgIH1cblxuICAgIHNwaW5uZXIuc3RhcnQoJ1N0YXJ0aW5nIGRldmVsb3BtZW50IHNlcnZlci4uLicpO1xuXG4gICAgY29uc3QgY2hpbGRQcm9jZXNzID0gZXhlY2EoZXhlY3V0YWJsZVBhdGgsIGZpbmFsV2VicGFja09wdGlvbnMsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICBlbnY6IHtcbiAgICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAgIExFWF9RVUlFVDogcXVpZXQsXG4gICAgICAgIFdFQlBBQ0tfREVWX09QRU46IG9wZW4sXG4gICAgICAgIFdFQlBBQ0tfREVWX1BPUlQ6IGZpbmFsUG9ydC50b1N0cmluZygpXG4gICAgICB9LFxuICAgICAgc3RkaW86ICdwaXBlJ1xuICAgIH0gYXMgYW55KTtcblxuICAgIGxldCBzZXJ2ZXJTdGFydGVkID0gZmFsc2U7XG4gICAgbGV0IHN0YXR1c1Nob3duID0gZmFsc2U7XG4gICAgY29uc3Qgc2hvd1N0YXR1c09uY2UgPSAocG9ydFRvU2hvdzogbnVtYmVyKSA9PiB7XG4gICAgICBpZihzdGF0dXNTaG93bikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzdGF0dXNTaG93biA9IHRydWU7XG4gICAgICBpZih1c2VQdWJsaWNJcCkge1xuICAgICAgICBmZXRjaFB1YmxpY0lwKHVzZVB1YmxpY0lwKS50aGVuKChwdWJsaWNJcCkgPT4ge1xuICAgICAgICAgIGRpc3BsYXlTZXJ2ZXJTdGF0dXMocG9ydFRvU2hvdywgcXVpZXQsIHB1YmxpY0lwKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwbGF5U2VydmVyU3RhdHVzKHBvcnRUb1Nob3csIHF1aWV0KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGxldCBkZXRlY3RlZFBvcnQgPSBmaW5hbFBvcnQ7XG5cbiAgICBjaGlsZFByb2Nlc3Muc3Rkb3V0Py5vbignZGF0YScsIChkYXRhOiBCdWZmZXIpID0+IHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGRhdGEudG9TdHJpbmcoKTtcblxuICAgICAgaGFuZGxlV2VicGFja1Byb2dyZXNzKG91dHB1dCwgc3Bpbm5lciwgcXVpZXQgPz8gZmFsc2UsICfwn5qAJywgJ1dlYnBhY2sgQnVpbGRpbmcnKTtcblxuICAgICAgaWYoIXNlcnZlclN0YXJ0ZWQgJiYgKG91dHB1dC5pbmNsdWRlcygnTG9jYWw6JykgfHwgb3V0cHV0LmluY2x1ZGVzKCd3ZWJwYWNrIGNvbXBpbGVkJykgfHwgb3V0cHV0LmluY2x1ZGVzKCd3ZWJwYWNrLXBsdWdpbi1zZXJ2ZScpIHx8IG91dHB1dC5pbmNsdWRlcygnaHR0cDovL2xvY2FsaG9zdCcpIHx8IG91dHB1dC5pbmNsdWRlcygnbGlzdGVuaW5nIG9uIHBvcnQnKSkpIHtcbiAgICAgICAgc2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRGV2ZWxvcG1lbnQgc2VydmVyIHN0YXJ0ZWQuJyk7XG5cbiAgICAgICAgY29uc3QgcG9ydE1hdGNoID0gb3V0cHV0Lm1hdGNoKC9Mb2NhbDpcXHMqaHR0cDpcXC9cXC9bXjpdKzooXFxkKykvKSB8fFxuICAgICAgICAgIG91dHB1dC5tYXRjaCgvaHR0cDpcXC9cXC9sb2NhbGhvc3Q6KFxcZCspLykgfHxcbiAgICAgICAgICBvdXRwdXQubWF0Y2goL3BvcnQ6XFxzKihcXGQrKS8pIHx8XG4gICAgICAgICAgb3V0cHV0Lm1hdGNoKC9saXN0ZW5pbmcgb24gcG9ydCAoXFxkKykvKSB8fFxuICAgICAgICAgIG91dHB1dC5tYXRjaCgvV2VicGFja1BsdWdpblNlcnZlIGxpc3RlbmluZyBvbiBwb3J0IChcXGQrKS8pO1xuICAgICAgICBpZihwb3J0TWF0Y2gpIHtcbiAgICAgICAgICBkZXRlY3RlZFBvcnQgPSBwYXJzZUludChwb3J0TWF0Y2hbMV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgc2hvd1N0YXR1c09uY2UoZGV0ZWN0ZWRQb3J0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNoaWxkUHJvY2Vzcy5zdGRlcnI/Lm9uKCdkYXRhJywgKGRhdGE6IEJ1ZmZlcikgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gZGF0YS50b1N0cmluZygpO1xuXG4gICAgICBoYW5kbGVXZWJwYWNrUHJvZ3Jlc3Mob3V0cHV0LCBzcGlubmVyLCBxdWlldCA/PyBmYWxzZSwgJ/CfmoAnLCAnV2VicGFjayBCdWlsZGluZycpO1xuXG4gICAgICBpZighc2VydmVyU3RhcnRlZCAmJiAob3V0cHV0LmluY2x1ZGVzKCdMb2NhbDonKSB8fCBvdXRwdXQuaW5jbHVkZXMoJ3dlYnBhY2sgY29tcGlsZWQnKSB8fCBvdXRwdXQuaW5jbHVkZXMoJ3dlYnBhY2stcGx1Z2luLXNlcnZlJykgfHwgb3V0cHV0LmluY2x1ZGVzKCdodHRwOi8vbG9jYWxob3N0JykgfHwgb3V0cHV0LmluY2x1ZGVzKCdsaXN0ZW5pbmcgb24gcG9ydCcpKSkge1xuICAgICAgICBzZXJ2ZXJTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgc3Bpbm5lci5zdWNjZWVkKCdEZXZlbG9wbWVudCBzZXJ2ZXIgc3RhcnRlZC4nKTtcblxuICAgICAgICBjb25zdCBwb3J0TWF0Y2ggPSBvdXRwdXQubWF0Y2goL0xvY2FsOlxccypodHRwOlxcL1xcL1teOl0rOihcXGQrKS8pIHx8XG4gICAgICAgICAgb3V0cHV0Lm1hdGNoKC9odHRwOlxcL1xcL2xvY2FsaG9zdDooXFxkKykvKSB8fFxuICAgICAgICAgIG91dHB1dC5tYXRjaCgvcG9ydDpcXHMqKFxcZCspLykgfHxcbiAgICAgICAgICBvdXRwdXQubWF0Y2goL2xpc3RlbmluZyBvbiBwb3J0IChcXGQrKS8pIHx8XG4gICAgICAgICAgb3V0cHV0Lm1hdGNoKC9XZWJwYWNrUGx1Z2luU2VydmUgbGlzdGVuaW5nIG9uIHBvcnQgKFxcZCspLyk7XG4gICAgICAgIGlmKHBvcnRNYXRjaCkge1xuICAgICAgICAgIGRldGVjdGVkUG9ydCA9IHBhcnNlSW50KHBvcnRNYXRjaFsxXSk7XG4gICAgICAgIH1cblxuICAgICAgICBzaG93U3RhdHVzT25jZShkZXRlY3RlZFBvcnQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZighc2VydmVyU3RhcnRlZCkge1xuICAgICAgICBzcGlubmVyLnN1Y2NlZWQoJ0RldmVsb3BtZW50IHNlcnZlciBzdGFydGVkLicpO1xuICAgICAgICBzaG93U3RhdHVzT25jZShkZXRlY3RlZFBvcnQpO1xuICAgICAgfVxuICAgIH0sIDUwMDApO1xuXG4gICAgYXdhaXQgY2hpbGRQcm9jZXNzO1xuXG4gICAgaWYoIXNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRGV2ZWxvcG1lbnQgc2VydmVyIHN0YXJ0ZWQuJyk7XG4gICAgICBzaG93U3RhdHVzT25jZShkZXRlY3RlZFBvcnQpO1xuICAgIH1cblxuICAgIGNhbGxiYWNrKDApO1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgc3Bpbm5lci5mYWlsKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyBXZWJwYWNrLicpO1xuXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiYm94ZW4iLCJjaGFsayIsImV4ZWNhIiwiZXhpc3RzU3luYyIsInJlYWRGaWxlU3luYyIsIndyaXRlRmlsZVN5bmMiLCJta2RpclN5bmMiLCJodHRwcyIsIm5ldHdvcmtJbnRlcmZhY2VzIiwiaG9tZWRpciIsImRpcm5hbWUiLCJyZXNvbHZlIiwicGF0aFJlc29sdmUiLCJqb2luIiwiTGV4Q29uZmlnIiwiY3JlYXRlU3Bpbm5lciIsImhhbmRsZVdlYnBhY2tQcm9ncmVzcyIsInJlbW92ZUZpbGVzIiwicmVzb2x2ZVdlYnBhY2tQYXRocyIsImxvZyIsInByb2Nlc3NUcmFuc2xhdGlvbnMiLCJjdXJyZW50RmlsZW5hbWUiLCJjdXJyZW50RGlybmFtZSIsImV2YWwiLCJwcm9jZXNzIiwiY3dkIiwiREVGQVVMVF9ERVZfUE9SVCIsInBhcnNlUG9ydCIsInBvcnRWYWx1ZSIsInVuZGVmaW5lZCIsInBhcnNlZCIsIk51bWJlciIsImlzSW50ZWdlciIsImdldENhY2hlRGlyIiwiY2FjaGVEaXIiLCJyZWN1cnNpdmUiLCJnZXRDYWNoZVBhdGgiLCJyZWFkUHVibGljSXBDYWNoZSIsImNhY2hlUGF0aCIsImNhY2hlRGF0YSIsImNhY2hlIiwiSlNPTiIsInBhcnNlIiwib25lV2Vla01zIiwiRGF0ZSIsIm5vdyIsInRpbWVzdGFtcCIsIndyaXRlUHVibGljSXBDYWNoZSIsImlwIiwic3RyaW5naWZ5IiwiZmV0Y2hQdWJsaWNJcCIsImZvcmNlUmVmcmVzaCIsIlByb21pc2UiLCJjYWNoZWQiLCJnZXQiLCJyZXMiLCJkYXRhIiwib24iLCJjaHVuayIsInRyaW0iLCJnZXROZXR3b3JrQWRkcmVzc2VzIiwiaW50ZXJmYWNlcyIsImFkZHJlc3NlcyIsImxvY2FsIiwicHJpdmF0ZSIsInB1YmxpYyIsIm5hbWUiLCJPYmplY3QiLCJrZXlzIiwibmV0d29ya0ludGVyZmFjZSIsImlmYWNlIiwiZmFtaWx5IiwiaW50ZXJuYWwiLCJhZGRyZXNzIiwic3RhcnRzV2l0aCIsImRpc3BsYXlTZXJ2ZXJTdGF0dXMiLCJwb3J0IiwicXVpZXQiLCJwdWJsaWNJcCIsImxvY2FsVXJsIiwicHJpdmF0ZVVybCIsInB1YmxpY1VybCIsInVybExpbmVzIiwiZ3JlZW4iLCJ1bmRlcmxpbmUiLCJzdGF0dXNCb3giLCJjeWFuIiwiYm9sZCIsInllbGxvdyIsImJhY2tncm91bmRDb2xvciIsImJvcmRlckNvbG9yIiwiYm9yZGVyU3R5bGUiLCJtYXJnaW4iLCJwYWRkaW5nIiwiY29uc29sZSIsImRldiIsImNtZCIsImNhbGxiYWNrIiwiYnVuZGxlQW5hbHl6ZXIiLCJjbGlOYW1lIiwiY29uZmlnIiwiZm9ybWF0Iiwib3BlbiIsImNsaVBvcnQiLCJyZW1vdmUiLCJ0cmFuc2xhdGlvbnMiLCJ1c2VQdWJsaWNJcCIsInZhcmlhYmxlcyIsInNwaW5uZXIiLCJwYXJzZUNvbmZpZyIsImRldkNvbmZpZyIsIm91dHB1dEZ1bGxQYXRoIiwidXNlVHlwZXNjcmlwdCIsImZpbmFsUG9ydCIsInZhcmlhYmxlc09iaiIsIk5PREVfRU5WIiwiX2Vycm9yIiwiZW52IiwiY2hlY2tUeXBlc2NyaXB0Q29uZmlnIiwic3RhcnQiLCJzdWNjZWVkIiwic291cmNlUGF0aCIsInNvdXJjZUZ1bGxQYXRoIiwib3V0cHV0UGF0aCIsInRyYW5zbGF0aW9uRXJyb3IiLCJtZXNzYWdlIiwiZmFpbCIsIndlYnBhY2tDb25maWciLCJpc1JlbGF0aXZlQ29uZmlnIiwic3Vic3RyIiwicmVzb2x2ZWRDb25maWciLCJ3ZWJwYWNrUGF0aCIsIndlYnBhY2tPcHRpb25zIiwicHVzaCIsImV4ZWN1dGFibGVQYXRoIiwiZmluYWxXZWJwYWNrT3B0aW9ucyIsImVuZHNXaXRoIiwiY2hpbGRQcm9jZXNzIiwiZW5jb2RpbmciLCJMRVhfUVVJRVQiLCJXRUJQQUNLX0RFVl9PUEVOIiwiV0VCUEFDS19ERVZfUE9SVCIsInRvU3RyaW5nIiwic3RkaW8iLCJzZXJ2ZXJTdGFydGVkIiwic3RhdHVzU2hvd24iLCJzaG93U3RhdHVzT25jZSIsInBvcnRUb1Nob3ciLCJ0aGVuIiwiZGV0ZWN0ZWRQb3J0Iiwic3Rkb3V0Iiwib3V0cHV0IiwiaW5jbHVkZXMiLCJwb3J0TWF0Y2giLCJtYXRjaCIsInBhcnNlSW50Iiwic3RkZXJyIiwic2V0VGltZW91dCIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsT0FBT0MsV0FBVyxRQUFRO0FBQzFCLFNBQVFDLEtBQUssUUFBTyxRQUFRO0FBQzVCLFNBQVFDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLFNBQVMsUUFBTyxLQUFLO0FBQ3RFLE9BQU9DLFdBQVcsUUFBUTtBQUMxQixTQUFRQyxpQkFBaUIsRUFBRUMsT0FBTyxRQUFPLEtBQUs7QUFDOUMsU0FBUUMsT0FBTyxFQUFFQyxXQUFXQyxXQUFXLEVBQUVDLElBQUksUUFBTyxPQUFPO0FBRTNELFNBQVFDLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsYUFBYSxFQUFFQyxxQkFBcUIsRUFBRUMsV0FBVyxRQUFPLHFCQUFxQjtBQUNyRixTQUFRQyxtQkFBbUIsUUFBTyxzQkFBc0I7QUFDeEQsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQUN2QyxTQUFRQyxtQkFBbUIsUUFBTyw4QkFBOEI7QUFFaEUsSUFBSUM7QUFDSixJQUFJQztBQUVKLElBQUk7SUFDRixtQ0FBbUM7SUFDbkNELGtCQUFrQkUsS0FBSztJQUN2QkQsaUJBQWlCWixRQUFRVztBQUMzQixFQUFFLE9BQUs7SUFDTEEsa0JBQWtCRyxRQUFRQyxHQUFHO0lBQzdCSCxpQkFBaUJFLFFBQVFDLEdBQUc7QUFDOUI7QUFrQkEsb0VBQW9FO0FBQ3BFLE9BQU8sTUFBTUMsbUJBQW1CLEtBQUs7QUFPckMsTUFBTUMsWUFBWSxDQUFDQztJQUNqQixJQUFHQSxjQUFjQyxhQUFhRCxjQUFjLFFBQVFBLGNBQWMsSUFBSTtRQUNwRSxPQUFPQztJQUNUO0lBRUEs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
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9kZXYvZGV2LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYm94ZW4gZnJvbSAnYm94ZW4nO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7ZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jLCB3cml0ZUZpbGVTeW5jLCBta2RpclN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBodHRwcyBmcm9tICdodHRwcyc7XG5pbXBvcnQge25ldHdvcmtJbnRlcmZhY2VzLCBob21lZGlyfSBmcm9tICdvcyc7XG5pbXBvcnQge2pvaW59IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtjcmVhdGVTZXJ2ZXIgYXMgY3JlYXRlVml0ZVNlcnZlcn0gZnJvbSAndml0ZSc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtjcmVhdGVTcGlubmVyLCByZW1vdmVGaWxlc30gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi8uLi91dGlscy9sb2cuanMnO1xuaW1wb3J0IHtwcm9jZXNzVHJhbnNsYXRpb25zfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2xhdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVMZXhWaXRlQ29uZmlnfSBmcm9tICcuLi8uLi91dGlscy92aXRlL2NvbmZpZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGJ1bmRsZUFuYWx5emVyPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgb3Blbj86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHF1aWV0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcmVtb3ZlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdHJhbnNsYXRpb25zPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlUHVibGljSXA/OiBib29sZWFuO1xuICByZWFkb25seSB2YXJpYWJsZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIERldkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG4vLyBkZWZhdWx0IHBvcnQgdXNlZCBieSB0aGUgZGV2ZWxvcG1lbnQgc2VydmVyIHdoZW4gbm9uZSBpcyBwcm92aWRlZFxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVWX1BPUlQgPSAzMDAwO1xuXG5pbnRlcmZhY2UgUHVibGljSXBDYWNoZSB7XG4gIGlwOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5jb25zdCBwYXJzZVBvcnQgPSAocG9ydFZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYocG9ydFZhbHVlID09PSB1bmRlZmluZWQgfHwgcG9ydFZhbHVlID09PSBudWxsIHx8IHBvcnRWYWx1ZSA9PT0gJycpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcGFyc2VkID0gTnVtYmVyKHBvcnRWYWx1ZSk7XG4gIGlmKE51bWJlci5pc0ludGVnZXIocGFyc2VkKSAmJiBwYXJzZWQgPiAwKSB7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRDYWNoZURpciA9ICgpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjYWNoZURpciA9IGpvaW4oaG9tZWRpcigpLCAnLmxleC1jYWNoZScpO1xuICBpZighZXhpc3RzU3luYyhjYWNoZURpcikpIHtcbiAgICBta2RpclN5bmMoY2FjaGVEaXIsIHtyZWN1cnNpdmU6IHRydWV9KTtcbiAgfVxuICByZXR1cm4gY2FjaGVEaXI7XG59O1xuXG5jb25zdCBnZXRDYWNoZVBhdGggPSAoKTogc3RyaW5nID0+IGpvaW4oZ2V0Q2FjaGVEaXIoKSwgJ3B1YmxpYy1pcC5qc29uJyk7XG5cbmNvbnN0IHJlYWRQdWJsaWNJcENhY2hlID0gKCk6IFB1YmxpY0lwQ2FjaGUgfCBudWxsID0+IHtcbiAgY29uc3QgY2FjaGVQYXRoID0gZ2V0Q2FjaGVQYXRoKCk7XG4gIGlmKCFleGlzdHNTeW5jKGNhY2hlUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY2FjaGVEYXRhID0gcmVhZEZpbGVTeW5jKGNhY2hlUGF0aCwgJ3V0ZjgnKTtcbiAgICBjb25zdCBjYWNoZTogUHVibGljSXBDYWNoZSA9IEpTT04ucGFyc2UoY2FjaGVEYXRhKTtcbiAgICBjb25zdCBvbmVXZWVrTXMgPSA3ICogMjQgKiA2MCAqIDYwICogMTAwMDtcblxuICAgIGlmKERhdGUubm93KCkgLSBjYWNoZS50aW1lc3RhbXAgPiBvbmVXZWVrTXMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjYWNoZTtcbiAgfSBjYXRjaHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuY29uc3Qgd3JpdGVQdWJsaWNJcENhY2hlID0gKGlwOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgY29uc3QgY2FjaGVQYXRoID0gZ2V0Q2FjaGVQYXRoKCk7XG4gIGNvbnN0IGNhY2hlOiBQdWJsaWNJcENhY2hlID0ge1xuICAgIGlwLFxuICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKVxuICB9O1xuICB3cml0ZUZpbGVTeW5jKGNhY2hlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY2FjaGUsIG51bGwsIDIpKTtcbn07XG5cbmNvbnN0IGZldGNoUHVibGljSXAgPSAoZm9yY2VSZWZyZXNoOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgaWYoIWZvcmNlUmVmcmVzaCkge1xuICAgIGNvbnN0IGNhY2hlZCA9IHJlYWRQdWJsaWNJcENhY2hlKCk7XG4gICAgaWYoY2FjaGVkKSB7XG4gICAgICByZXNvbHZlKGNhY2hlZC5pcCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaHR0cHMuZ2V0KCdodHRwczovL2FwaS5pcGlmeS5vcmcnLCAocmVzKSA9PiB7XG4gICAgbGV0IGRhdGEgPSAnJztcbiAgICByZXMub24oJ2RhdGEnLCAoY2h1bmspID0+IChkYXRhICs9IGNodW5rKSk7XG4gICAgcmVzLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBpcCA9IGRhdGEudHJpbSgpO1xuICAgICAgaWYoaXApIHtcbiAgICAgICAgd3JpdGVQdWJsaWNJcENhY2hlKGlwKTtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoaXApO1xuICAgIH0pO1xuICB9KS5vbignZXJyb3InLCAoKSA9PiByZXNvbHZlKHVuZGVmaW5lZCkpO1xufSk7XG5cbmNvbnN0IGdldE5ldHdvcmtBZGRyZXNzZXMgPSAoKSA9PiB7XG4gIGNvbnN0IGludGVyZmFjZXMgPSBuZXR3b3JrSW50ZXJmYWNlcygpO1xuICBjb25zdCBhZGRyZXNzZXMgPSB7XG4gICAgbG9jYWw6ICdsb2NhbGhvc3QnLFxuICAgIHByaXZhdGU6IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgICBwdWJsaWM6IG51bGwgYXMgc3RyaW5nIHwgbnVsbFxuICB9O1xuXG4gIGZvcihjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKGludGVyZmFjZXMpKSB7XG4gICAgY29uc3QgbmV0d29ya0ludGVyZmFjZSA9IGludGVyZmFjZXNbbmFtZV07XG4gICAgaWYoIW5ldHdvcmtJbnRlcmZhY2UpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGZvcihjb25zdCBpZmFjZSBvZiBuZXR3b3JrSW50ZXJmYWNlKSB7XG4gICAgICBpZihpZmFjZS5mYW1pbHkgPT09ICdJUHY0JyAmJiAhaWZhY2UuaW50ZXJuYWwpIHtcbiAgICAgICAgY29uc3QgaXAgPSBpZmFjZS5hZGRyZXNzO1xuXG4gICAgICAgIGlmKGlwLnN0YXJ0c1dpdGgoJzEwLicpIHx8IGlwLnN0YXJ0c1dpdGgoJzE5Mi4xNjguJykgfHwgaXAuc3RhcnRzV2l0aCgnMTcyLicpKSB7XG4gICAgICAgICAgaWYoIWFkZHJlc3Nlcy5wcml2YXRlKSB7XG4gICAgICAgICAgICBhZGRyZXNzZXMucHJpdmF0ZSA9IGlwO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZighYWRkcmVzc2VzLnB1YmxpYykge1xuICAgICAgICAgICAgYWRkcmVzc2VzLnB1YmxpYyA9IGlwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhZGRyZXNzZXM7XG59O1xuXG5jb25zdCBkaXNwbGF5U2VydmVyU3RhdHVzID0gKHBvcnQ6IG51bWJlciA9IERFRkFVTFRfREVWX1BPUlQsIHF1aWV0OiBib29sZWFuID0gZmFsc2UsIHB1YmxpY0lwPzogc3RyaW5nKSA9PiB7XG4gIGlmKHF1aWV0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWRkcmVzc2VzID0gZ2V0TmV0d29ya0FkZHJlc3NlcygpO1xuICBjb25zdCBsb2NhbFVybCA9IGBodHRwOi8vbG9jYWxob3N0OiR7cG9ydH1gO1xuICBjb25zdCBwcml2YXRlVXJsID0gYWRkcmVzc2VzLnByaXZhdGUgPyBgaHR0cDovLyR7YWRkcmVzc2VzLnByaXZhdGV9OiR7cG9ydH1gIDogbnVsbDtcbiAgbGV0IHB1YmxpY1VybCA9IG51bGw7XG4gIGlmKHB1YmxpY0lwKSB7XG4gICAgcHVibGljVXJsID0gYGh0dHA6Ly8ke3B1YmxpY0lwfToke3BvcnR9YDtcbiAgfSBlbHNlIGlmKGFkZHJlc3Nlcy5wdWJsaWMpIHtcbiAgICBwdWJsaWNVcmwgPSBgaHR0cDovLyR7YWRkcmVzc2VzLnB1YmxpY306JHtwb3J0fWA7XG4gIH1cblxuICBsZXQgdXJsTGluZXMgPSBgJHtjaGFsay5ncmVlbignTG9jYWw6Jyl9ICAgICAke2NoYWxrLnVuZGVybGluZShsb2NhbFVybCl9XFxuYDtcblxuICBpZihwcml2YXRlVXJsKSB7XG4gICAgdXJsTGluZXMgKz0gYCR7Y2hhbGsuZ3JlZW4oJ1ByaXZhdGU6Jyl9ICAgJHtjaGFsay51bmRlcmxpbmUocHJpdmF0ZVVybCl9XFxuYDtcbiAgfVxuXG4gIGlmKHB1YmxpY1VybCkge1xuICAgIHVybExpbmVzICs9IGAke2NoYWxrLmdyZWVuKCdQdWJsaWM6Jyl9ICAgICR7Y2hhbGsudW5kZXJsaW5lKHB1YmxpY1VybCl9XFxuYDtcbiAgfVxuXG4gIGNvbnN0IHN0YXR1c0JveCA9IGJveGVuKFxuICAgIGAke2NoYWxrLmN5YW4uYm9sZCgn8J+agCBEZXZlbG9wbWVudCBTZXJ2ZXIgUnVubmluZycpfVxcblxcbiR7dXJsTGluZXN9XFxuYCArXG4gICAgYCR7Y2hhbGsueWVsbG93KCdQcmVzcyBDdHJsK0MgdG8gc3RvcCB0aGUgc2VydmVyJyl9YCxcbiAgICB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMWExYTFhJyxcbiAgICAgIGJvcmRlckNvbG9yOiAnY3lhbicsXG4gICAgICBib3JkZXJTdHlsZTogJ3JvdW5kJyxcbiAgICAgIG1hcmdpbjogMSxcbiAgICAgIHBhZGRpbmc6IDFcbiAgICB9XG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFxcbiR7c3RhdHVzQm94fVxcbmApO1xufTtcblxuZXhwb3J0IGNvbnN0IGRldiA9IGFzeW5jIChjbWQ6IERldk9wdGlvbnMsIGNhbGxiYWNrOiBEZXZDYWxsYmFjayA9ICgpID0+ICh7fSkpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7YnVuZGxlQW5hbHl6ZXIsIGNsaU5hbWUgPSAnTGV4Jywgb3BlbiA9IGZhbHNlLCBwb3J0OiBjbGlQb3J0LCBxdWlldCwgcmVtb3ZlLCB0cmFuc2xhdGlvbnMgPSBmYWxzZSwgdXNlUHVibGljSXAsIHZhcmlhYmxlc30gPSBjbWQ7XG5cbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIGxvZyhgJHtjbGlOYW1lfSBzdGFydCBkZXZlbG9wbWVudCBzZXJ2ZXIuLi5gLCAnaW5mbycsIHF1aWV0KTtcblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcblxuICBjb25zdCB7ZGV2OiBkZXZDb25maWcsIG91dHB1dEZ1bGxQYXRoLCB1c2VUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IGZpbmFsUG9ydCA9IHBhcnNlUG9ydChjbGlQb3J0KSA/PyBwYXJzZVBvcnQoZGV2Q29uZmlnPy5wb3J0KSA/PyBERUZBVUxUX0RFVl9QT1JUO1xuXG4gIGxldCB2YXJpYWJsZXNPYmo6IG9iamVjdCA9IHtOT0RFX0VOVjogJ2RldmVsb3BtZW50J307XG5cbiAgaWYodmFyaWFibGVzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhcmlhYmxlc09iaiA9IEpTT04ucGFyc2UodmFyaWFibGVzKTtcbiAgICB9IGNhdGNoKF9lcnJvcikge1xuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIEpTT04gb2JqZWN0LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzcy5lbnYgPSB7Li4ucHJvY2Vzcy5lbnYsIC4uLnZhcmlhYmxlc09ian07XG5cbiAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgIExleENvbmZpZy5jaGVja1R5cGVzY3JpcHRDb25maWcoKTtcbiAgfVxuXG4gIGlmKHJlbW92ZSkge1xuICAgIHNwaW5uZXIuc3RhcnQoJ0NsZWFuaW5nIG91dHB1dCBkaXJlY3RvcnkuLi4nKTtcblxuICAgIGF3YWl0IHJlbW92ZUZpbGVzKG91dHB1dEZ1bGxQYXRoIHx8ICcnKTtcblxuICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGNsZWFuZWQgb3V0cHV0IGRpcmVjdG9yeSEnKTtcbiAgfVxuXG4gIGlmKHRyYW5zbGF0aW9ucykge1xuICAgIHNwaW5uZXIuc3RhcnQoJ1Byb2Nlc3NpbmcgdHJhbnNsYXRpb25zLi4uJyk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc291cmNlUGF0aCA9IExleENvbmZpZy5jb25maWcuc291cmNlRnVsbFBhdGggfHwgcHJvY2Vzcy5jd2QoKTtcbiAgICAgIGNvbnN0IG91dHB1dFBhdGggPSBMZXhDb25maWcuY29uZmlnLm91dHB1dEZ1bGxQYXRoIHx8ICdsaWInO1xuXG4gICAgICBhd2FpdCBwcm9jZXNzVHJhbnNsYXRpb25zKHNvdXJjZVBhdGgsIG91dHB1dFBhdGgsIHF1aWV0KTtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnVHJhbnNsYXRpb25zIHByb2Nlc3NlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgfSBjYXRjaCh0cmFuc2xhdGlvbkVycm9yKSB7XG4gICAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IEZhaWxlZCB0byBwcm9jZXNzIHRyYW5zbGF0aW9uczogJHt0cmFuc2xhdGlvbkVycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gcHJvY2VzcyB0cmFuc2xhdGlvbnMuJyk7XG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgc3Bpbm5lci5zdGFydCgnU3RhcnRpbmcgZGV2ZWxvcG1lbnQgc2VydmVyLi4uJyk7XG4gICAgY29uc3Qgc2VydmVyID0gYXdhaXQgY3JlYXRlVml0ZVNlcnZlcihjcmVhdGVMZXhWaXRlQ29uZmlnKHtcbiAgICAgIGFuYWx5emU6IGJ1bmRsZUFuYWx5emVyLFxuICAgICAgY29tbWFuZDogJ3NlcnZlJyxcbiAgICAgIG1vZGU6ICdkZXZlbG9wbWVudCcsXG4gICAgICBvcGVuLFxuICAgICAgcG9ydDogZmluYWxQb3J0LFxuICAgICAgcXVpZXRcbiAgICB9KSk7XG4gICAgYXdhaXQgc2VydmVyLmxpc3RlbigpO1xuICAgIHNwaW5uZXIuc3VjY2VlZCgnRGV2ZWxvcG1lbnQgc2VydmVyIHN0YXJ0ZWQuJyk7XG5cbiAgICBpZih1c2VQdWJsaWNJcCkge1xuICAgICAgY29uc3QgcHVibGljSXAgPSBhd2FpdCBmZXRjaFB1YmxpY0lwKHVzZVB1YmxpY0lwKTtcbiAgICAgIGRpc3BsYXlTZXJ2ZXJTdGF0dXMoZmluYWxQb3J0LCBxdWlldCwgcHVibGljSXApO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwbGF5U2VydmVyU3RhdHVzKGZpbmFsUG9ydCwgcXVpZXQpO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc3Qgc2VydmVyRXJyb3IgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoU3RyaW5nKGVycm9yKSk7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke3NlcnZlckVycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgc3Bpbm5lci5mYWlsKCdUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyBWaXRlLicpO1xuXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiYm94ZW4iLCJjaGFsayIsImV4aXN0c1N5bmMiLCJyZWFkRmlsZVN5bmMiLCJ3cml0ZUZpbGVTeW5jIiwibWtkaXJTeW5jIiwiaHR0cHMiLCJuZXR3b3JrSW50ZXJmYWNlcyIsImhvbWVkaXIiLCJqb2luIiwiY3JlYXRlU2VydmVyIiwiY3JlYXRlVml0ZVNlcnZlciIsIkxleENvbmZpZyIsImNyZWF0ZVNwaW5uZXIiLCJyZW1vdmVGaWxlcyIsImxvZyIsInByb2Nlc3NUcmFuc2xhdGlvbnMiLCJjcmVhdGVMZXhWaXRlQ29uZmlnIiwiREVGQVVMVF9ERVZfUE9SVCIsInBhcnNlUG9ydCIsInBvcnRWYWx1ZSIsInVuZGVmaW5lZCIsInBhcnNlZCIsIk51bWJlciIsImlzSW50ZWdlciIsImdldENhY2hlRGlyIiwiY2FjaGVEaXIiLCJyZWN1cnNpdmUiLCJnZXRDYWNoZVBhdGgiLCJyZWFkUHVibGljSXBDYWNoZSIsImNhY2hlUGF0aCIsImNhY2hlRGF0YSIsImNhY2hlIiwiSlNPTiIsInBhcnNlIiwib25lV2Vla01zIiwiRGF0ZSIsIm5vdyIsInRpbWVzdGFtcCIsIndyaXRlUHVibGljSXBDYWNoZSIsImlwIiwic3RyaW5naWZ5IiwiZmV0Y2hQdWJsaWNJcCIsImZvcmNlUmVmcmVzaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FjaGVkIiwiZ2V0IiwicmVzIiwiZGF0YSIsIm9uIiwiY2h1bmsiLCJ0cmltIiwiZ2V0TmV0d29ya0FkZHJlc3NlcyIsImludGVyZmFjZXMiLCJhZGRyZXNzZXMiLCJsb2NhbCIsInByaXZhdGUiLCJwdWJsaWMiLCJuYW1lIiwiT2JqZWN0Iiwia2V5cyIsIm5ldHdvcmtJbnRlcmZhY2UiLCJpZmFjZSIsImZhbWlseSIsImludGVybmFsIiwiYWRkcmVzcyIsInN0YXJ0c1dpdGgiLCJkaXNwbGF5U2VydmVyU3RhdHVzIiwicG9ydCIsInF1aWV0IiwicHVibGljSXAiLCJsb2NhbFVybCIsInByaXZhdGVVcmwiLCJwdWJsaWNVcmwiLCJ1cmxMaW5lcyIsImdyZWVuIiwidW5kZXJsaW5lIiwic3RhdHVzQm94IiwiY3lhbiIsImJvbGQiLCJ5ZWxsb3ciLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXJDb2xvciIsImJvcmRlclN0eWxlIiwibWFyZ2luIiwicGFkZGluZyIsImNvbnNvbGUiLCJkZXYiLCJjbWQiLCJjYWxsYmFjayIsImJ1bmRsZUFuYWx5emVyIiwiY2xpTmFtZSIsIm9wZW4iLCJjbGlQb3J0IiwicmVtb3ZlIiwidHJhbnNsYXRpb25zIiwidXNlUHVibGljSXAiLCJ2YXJpYWJsZXMiLCJzcGlubmVyIiwicGFyc2VDb25maWciLCJkZXZDb25maWciLCJvdXRwdXRGdWxsUGF0aCIsInVzZVR5cGVzY3JpcHQiLCJjb25maWciLCJmaW5hbFBvcnQiLCJ2YXJpYWJsZXNPYmoiLCJOT0RFX0VOViIsIl9lcnJvciIsInByb2Nlc3MiLCJlbnYiLCJjaGVja1R5cGVzY3JpcHRDb25maWciLCJzdGFydCIsInN1Y2NlZWQiLCJzb3VyY2VQYXRoIiwic291cmNlRnVsbFBhdGgiLCJjd2QiLCJvdXRwdXRQYXRoIiwidHJhbnNsYXRpb25FcnJvciIsIm1lc3NhZ2UiLCJmYWlsIiwic2VydmVyIiwiYW5hbHl6ZSIsImNvbW1hbmQiLCJtb2RlIiwibGlzdGVuIiwiZXJyb3IiLCJzZXJ2ZXJFcnJvciIsIkVycm9yIiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsT0FBT0MsV0FBVyxRQUFRO0FBQzFCLFNBQVFDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUVDLFNBQVMsUUFBTyxLQUFLO0FBQ3RFLE9BQU9DLFdBQVcsUUFBUTtBQUMxQixTQUFRQyxpQkFBaUIsRUFBRUMsT0FBTyxRQUFPLEtBQUs7QUFDOUMsU0FBUUMsSUFBSSxRQUFPLE9BQU87QUFDMUIsU0FBUUMsZ0JBQWdCQyxnQkFBZ0IsUUFBTyxPQUFPO0FBRXRELFNBQVFDLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsYUFBYSxFQUFFQyxXQUFXLFFBQU8scUJBQXFCO0FBQzlELFNBQVFDLEdBQUcsUUFBTyxxQkFBcUI7QUFDdkMsU0FBUUMsbUJBQW1CLFFBQU8sOEJBQThCO0FBQ2hFLFNBQVFDLG1CQUFtQixRQUFPLDZCQUE2QjtBQWdCL0Qsb0VBQW9FO0FBQ3BFLE9BQU8sTUFBTUMsbUJBQW1CLEtBQUs7QUFPckMsTUFBTUMsWUFBWSxDQUFD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
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
4
|
*/ import { execa } from 'execa';
|
|
5
5
|
import { renameSync, writeFileSync } from 'fs';
|
|
6
|
+
import pacote from 'pacote';
|
|
6
7
|
import { resolve as pathResolve } from 'path';
|
|
7
8
|
import { LexConfig } from '../../LexConfig.js';
|
|
8
9
|
import { createSpinner, getPackageJson, setPackageJson } from '../../utils/app.js';
|
|
9
|
-
import { getDirName } from '../../utils/file.js';
|
|
10
10
|
import { log } from '../../utils/log.js';
|
|
11
11
|
export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
12
12
|
const { cliName = 'Lex', install, packageManager: cmdPackageManager, quiet, typescript } = cmd;
|
|
@@ -18,8 +18,6 @@ export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
|
18
18
|
spinner.start('Downloading app...');
|
|
19
19
|
const tmpPath = pathResolve(cwd, './.lexTmp');
|
|
20
20
|
const appPath = pathResolve(cwd, `./${appName}`);
|
|
21
|
-
const dirName = getDirName();
|
|
22
|
-
const dnpPath = pathResolve(dirName, '../../../node_modules/download-npm-package/bin/cli.js');
|
|
23
21
|
// Get custom configuration
|
|
24
22
|
await LexConfig.parseConfig(cmd);
|
|
25
23
|
const { packageManager: configPackageManager, useTypescript: configTypescript } = LexConfig.config;
|
|
@@ -35,10 +33,7 @@ export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
try {
|
|
38
|
-
await
|
|
39
|
-
appModule,
|
|
40
|
-
tmpPath
|
|
41
|
-
], {});
|
|
36
|
+
await pacote.extract(appModule, tmpPath);
|
|
42
37
|
// Stop spinner and update status
|
|
43
38
|
spinner.succeed('Successfully downloaded app!');
|
|
44
39
|
} catch (error) {
|
|
@@ -52,7 +47,7 @@ export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
|
52
47
|
}
|
|
53
48
|
// Move into configured directory
|
|
54
49
|
try {
|
|
55
|
-
renameSync(
|
|
50
|
+
renameSync(tmpPath, appPath);
|
|
56
51
|
} catch (_error) {
|
|
57
52
|
log(`\n${cliName} Error: There was an error copying ${appModule} to the current working directory.`, 'error', quiet);
|
|
58
53
|
callback(1);
|
|
@@ -110,4 +105,4 @@ export const init = async (appName, packageName, cmd, callback = ()=>({}))=>{
|
|
|
110
105
|
return 0;
|
|
111
106
|
};
|
|
112
107
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9pbml0L2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCBzZXRQYWNrYWdlSnNvbn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7Z2V0RGlyTmFtZX0gZnJvbSAnLi4vLi4vdXRpbHMvZmlsZS5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbml0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc3RhbGw/OiBib29sZWFuO1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSB0eXBlc2NyaXB0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5pdENhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgY29uc3QgaW5pdCA9IGFzeW5jIChcbiAgYXBwTmFtZTogc3RyaW5nLFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBjbWQ6IEluaXRPcHRpb25zLFxuICBjYWxsYmFjazogSW5pdENhbGxiYWNrID0gKCkgPT4gKHt9KVxuKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgaW5zdGFsbCwgcGFja2FnZU1hbmFnZXI6IGNtZFBhY2thZ2VNYW5hZ2VyLCBxdWlldCwgdHlwZXNjcmlwdH0gPSBjbWQ7XG4gIGNvbnN0IGN3ZDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKTtcblxuICAvLyBTcGlubmVyXG4gIGNvbnN0IHNwaW5uZXIgPSBjcmVhdGVTcGlubmVyKHF1aWV0KTtcblxuICAvLyBEb3dubG9hZCBhcHAgbW9kdWxlIGludG8gdGVtcG9yYXJ5IGRpcmVjdG9yeVxuICBsb2coYCR7Y2xpTmFtZX0gaXMgZG93bmxvYWRpbmcgdGhlIGFwcCBtb2R1bGUuLi5gLCAnaW5mbycsIHF1aWV0KTtcbiAgc3Bpbm5lci5zdGFydCgnRG93bmxvYWRpbmcgYXBwLi4uJyk7XG4gIGNvbnN0IHRtcFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgJy4vLmxleFRtcCcpO1xuICBjb25zdCBhcHBQYXRoOiBzdHJpbmcgPSBwYXRoUmVzb2x2ZShjd2QsIGAuLyR7YXBwTmFtZX1gKTtcbiAgY29uc3QgZGlyTmFtZSA9IGdldERpck5hbWUoKTtcbiAgY29uc3QgZG5wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoZGlyTmFtZSwgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9kb3dubG9hZC1ucG0tcGFja2FnZS9iaW4vY2xpLmpzJyk7XG5cbiAgLy8gR2V0IGN1c3RvbSBjb25maWd1cmF0aW9uXG4gIGF3YWl0IExleENvbmZpZy5wYXJzZUNvbmZpZyhjbWQpO1xuICBjb25zdCB7cGFja2FnZU1hbmFnZXI6IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyLCB1c2VUeXBlc2NyaXB0OiBjb25maWdUeXBlc2NyaXB0fSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IHBhY2thZ2VNYW5hZ2VyOiBzdHJpbmcgPSBjbWRQYWNrYWdlTWFuYWdlciB8fCBjb25maWdQYWNrYWdlTWFuYWdlciB8fCAnJztcbiAgY29uc3QgdXNlVHlwZXNjcmlwdDogYm9vbGVhbiA9IHR5cGVzY3JpcHQgIT09IHVuZGVmaW5lZCA/IHR5cGVzY3JpcHQgOiBjb25maWdUeXBlc2NyaXB0IHx8IGZhbHNlO1xuXG4gIGxldCBhcHBNb2R1bGU6IHN0cmluZyA9IHBhY2thZ2VOYW1lO1xuXG4gIC8vIFVzZSBiYXNlIGFwcCBtb2R1bGUgYmFzZWQgb24gY29uZmlnXG4gIGlmKCFhcHBNb2R1bGUpIHtcbiAgICBpZih1c2VUeXBlc2NyaXB0KSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtdHMtcmVhY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBNb2R1bGUgPSAnQG5sYWJzL2Fya2hhbWpzLWV4YW1wbGUtZmxvdy1yZWFjdCc7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBleGVjYShkbnBQYXRoLCBbYXBwTW9kdWxlLCB0bXBQYXRoXSwge30pO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCB1cGRhdGUgc3RhdHVzXG4gICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgZG93bmxvYWRlZCBhcHAhJyk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZygnZXJyb3InLCBlcnJvcik7XG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiBUaGVyZSB3YXMgYW4gZXJyb3IgZG93bmxvYWRpbmcgJHthcHBNb2R1bGV9LiBNYWtlIHN1cmUgdGhlIHBhY2thZ2UgZXhpc3RzIGFuZCB0aGVyZSBpcyBhIG5ldHdvcmsgY29ubmVjdGlvbi5gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXIgYW5kIGtpbGwgcHJvY2Vzc1xuICAgIHNwaW5uZXIuZmFpbCgnRG93bmxvYWRlZCBvZiBhcHAgZmFpbGVkLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBNb3ZlIGludG8gY29uZmlndXJlZCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICByZW5hbWVTeW5jKGAke3RtcFBhdGh9LyR7YXBwTW9kdWxlfWAsIGFwcFBhdGgpO1xuICB9IGNhdGNoKF9lcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGNvcHlpbmcgJHthcHBNb2R1bGV9IHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LmAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIENvbmZpZ3VyZSBwYWNrYWdlLmpzb25cbiAgY29uc3QgcGFja2FnZVBhdGg6IHN0cmluZyA9IGAke2FwcFBhdGh9L3BhY2thZ2UuanNvbmA7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gZ2V0UGFja2FnZUpzb24ocGFja2FnZVBhdGgpO1xuICBwYWNrYWdlSnNvbi5uYW1lID0gYXBwTmFtZTtcbiAgcGFja2FnZUpzb24uZGVzY3JpcHRpb24gPSBgJHtjbGlOYW1lfSBjcmVhdGVkIGFwcGA7XG4gIHBhY2thZ2VKc29uLnZlcnNpb24gPSAnMC4xLjAnO1xuICBkZWxldGUgcGFja2FnZUpzb24ua2V5d29yZHM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5hdXRob3I7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5jb250cmlidXRvcnM7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5yZXBvc2l0b3J5O1xuICBkZWxldGUgcGFja2FnZUpzb24uaG9tZXBhZ2U7XG4gIGRlbGV0ZSBwYWNrYWdlSnNvbi5idWdzO1xuXG4gIHRyeSB7XG4gICAgLy8gVXBkYXRlIHBhY2thZ2UuanNvblxuICAgIHNldFBhY2thZ2VKc29uKHBhY2thZ2VKc29uLCBwYWNrYWdlUGF0aCk7XG5cbiAgICAvLyBVcGRhdGUgUkVBRE1FXG4gICAgY29uc3QgcmVhZG1lUGF0aDogc3RyaW5nID0gYCR7YXBwUGF0aH0vUkVBRE1FLm1kYDtcbiAgICB3cml0ZUZpbGVTeW5jKHJlYWRtZVBhdGgsIGAjICR7YXBwTmFtZX1gKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIGlmKGluc3RhbGwpIHtcbiAgICBzcGlubmVyLnN0YXJ0KCdJbnN0YWxsaW5nIGRlcGVuZGVuY2llcy4uLicpO1xuXG4gICAgLy8gQ2hhbmdlIHRvIHRoZSBhcHAgZGlyZWN0b3J5XG4gICAgcHJvY2Vzcy5jaGRpcihhcHBQYXRoKTtcblxuICAgIC8vIEluc3RhbGwgZGVwZW5kZW5jaWVzXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWNhKHBhY2thZ2VNYW5hZ2VyLCBbJ2luc3RhbGwnXSwge1xuICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICBzdGRpbzogJ2luaGVyaXQnXG4gICAgICB9KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBpbnN0YWxsZWQgZGVwZW5kZW5jaWVzIScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzLicpO1xuXG4gICAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICAgIGNhbGxiYWNrKDEpO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gS2lsbCBwcm9jZXNzXG4gIGNhbGxiYWNrKDApO1xuICByZXR1cm4gMDtcbn07Il0sIm5hbWVzIjpbImV4ZWNhIiwicmVuYW1lU3luYyIsIndyaXRlRmlsZVN5bmMiLCJyZXNvbHZlIiwicGF0aFJlc29sdmUiLCJMZXhDb25maWciLCJjcmVhdGVTcGlubmVyIiwiZ2V0UGFja2FnZUpzb24iLCJzZXRQYWNrYWdlSnNvbiIsImdldERpck5hbWUiLCJsb2ciLCJpbml0IiwiYXBwTmFtZSIsInBhY2thZ2VOYW1lIiwiY21kIiwiY2FsbGJhY2siLCJjbGlOYW1lIiwiaW5zdGFsbCIsInBhY2thZ2VNYW5hZ2VyIiwiY21kUGFja2FnZU1hbmFnZXIiLCJxdWlldCIsInR5cGVzY3JpcHQiLCJjd2QiLCJwcm9jZXNzIiwic3Bpbm5lciIsInN0YXJ0IiwidG1wUGF0aCIsImFwcFBhdGgiLCJkaXJOYW1lIiwiZG5wUGF0aCIsInBhcnNlQ29uZmlnIiwiY29uZmlnUGFja2FnZU1hbmFnZXIiLCJ1c2VUeXBlc2NyaXB0IiwiY29uZmlnVHlwZXNjcmlwdCIsImNvbmZpZyIsInVuZGVmaW5lZCIsImFwcE1vZHVsZSIsInN1Y2NlZWQiLCJlcnJvciIsImNvbnNvbGUiLCJmYWlsIiwiX2Vycm9yIiwicGFja2FnZVBhdGgiLCJwYWNrYWdlSnNvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInZlcnNpb24iLCJrZXl3b3JkcyIsImF1dGhvciIsImNvbnRyaWJ1dG9ycyIsInJlcG9zaXRvcnkiLCJob21lcGFnZSIsImJ1Z3MiLCJyZWFkbWVQYXRoIiwibWVzc2FnZSIsImNoZGlyIiwiZW5jb2RpbmciLCJzdGRpbyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsS0FBSyxRQUFPLFFBQVE7QUFDNUIsU0FBUUMsVUFBVSxFQUFFQyxhQUFhLFFBQU8sS0FBSztBQUM3QyxTQUFRQyxXQUFXQyxXQUFXLFFBQU8sT0FBTztBQUU1QyxTQUFRQyxTQUFTLFFBQU8scUJBQXFCO0FBQzdDLFNBQVFDLGFBQWEsRUFBRUMsY0FBYyxFQUFF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
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9pbml0L2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcbmltcG9ydCB7cmVuYW1lU3luYywgd3JpdGVGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHBhY290ZSBmcm9tICdwYWNvdGUnO1xuaW1wb3J0IHtyZXNvbHZlIGFzIHBhdGhSZXNvbHZlfSBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCBzZXRQYWNrYWdlSnNvbn0gZnJvbSAnLi4vLi4vdXRpbHMvYXBwLmpzJztcbmltcG9ydCB7bG9nfSBmcm9tICcuLi8uLi91dGlscy9sb2cuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRPcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFsbD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHR5cGVzY3JpcHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBJbml0Q2FsbGJhY2sgPSAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBpbml0ID0gYXN5bmMgKFxuICBhcHBOYW1lOiBzdHJpbmcsXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gIGNtZDogSW5pdE9wdGlvbnMsXG4gIGNhbGxiYWNrOiBJbml0Q2FsbGJhY2sgPSAoKSA9PiAoe30pXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBpbnN0YWxsLCBwYWNrYWdlTWFuYWdlcjogY21kUGFja2FnZU1hbmFnZXIsIHF1aWV0LCB0eXBlc2NyaXB0fSA9IGNtZDtcbiAgY29uc3QgY3dkOiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuXG4gIC8vIERvd25sb2FkIGFwcCBtb2R1bGUgaW50byB0ZW1wb3JhcnkgZGlyZWN0b3J5XG4gIGxvZyhgJHtjbGlOYW1lfSBpcyBkb3dubG9hZGluZyB0aGUgYXBwIG1vZHVsZS4uLmAsICdpbmZvJywgcXVpZXQpO1xuICBzcGlubmVyLnN0YXJ0KCdEb3dubG9hZGluZyBhcHAuLi4nKTtcbiAgY29uc3QgdG1wUGF0aDogc3RyaW5nID0gcGF0aFJlc29sdmUoY3dkLCAnLi8ubGV4VG1wJyk7XG4gIGNvbnN0IGFwcFBhdGg6IHN0cmluZyA9IHBhdGhSZXNvbHZlKGN3ZCwgYC4vJHthcHBOYW1lfWApO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcbiAgY29uc3Qge3BhY2thZ2VNYW5hZ2VyOiBjb25maWdQYWNrYWdlTWFuYWdlciwgdXNlVHlwZXNjcmlwdDogY29uZmlnVHlwZXNjcmlwdH0gPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBwYWNrYWdlTWFuYWdlcjogc3RyaW5nID0gY21kUGFja2FnZU1hbmFnZXIgfHwgY29uZmlnUGFja2FnZU1hbmFnZXIgfHwgJyc7XG4gIGNvbnN0IHVzZVR5cGVzY3JpcHQ6IGJvb2xlYW4gPSB0eXBlc2NyaXB0ICE9PSB1bmRlZmluZWQgPyB0eXBlc2NyaXB0IDogY29uZmlnVHlwZXNjcmlwdCB8fCBmYWxzZTtcblxuICBsZXQgYXBwTW9kdWxlOiBzdHJpbmcgPSBwYWNrYWdlTmFtZTtcblxuICAvLyBVc2UgYmFzZSBhcHAgbW9kdWxlIGJhc2VkIG9uIGNvbmZpZ1xuICBpZighYXBwTW9kdWxlKSB7XG4gICAgaWYodXNlVHlwZXNjcmlwdCkge1xuICAgICAgYXBwTW9kdWxlID0gJ0BubGFicy9hcmtoYW1qcy1leGFtcGxlLXRzLXJlYWN0JztcbiAgICB9IGVsc2Uge1xuICAgICAgYXBwTW9kdWxlID0gJ0BubGFicy9hcmtoYW1qcy1leGFtcGxlLWZsb3ctcmVhY3QnO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgcGFjb3RlLmV4dHJhY3QoYXBwTW9kdWxlLCB0bXBQYXRoKTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lciBhbmQgdXBkYXRlIHN0YXR1c1xuICAgIHNwaW5uZXIuc3VjY2VlZCgnU3VjY2Vzc2Z1bGx5IGRvd25sb2FkZWQgYXBwIScpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5sb2coJ2Vycm9yJywgZXJyb3IpO1xuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogVGhlcmUgd2FzIGFuIGVycm9yIGRvd25sb2FkaW5nICR7YXBwTW9kdWxlfS4gTWFrZSBzdXJlIHRoZSBwYWNrYWdlIGV4aXN0cyBhbmQgdGhlcmUgaXMgYSBuZXR3b3JrIGNvbm5lY3Rpb24uYCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyIGFuZCBraWxsIHByb2Nlc3NcbiAgICBzcGlubmVyLmZhaWwoJ0Rvd25sb2FkZWQgb2YgYXBwIGZhaWxlZC4nKTtcblxuICAgIC8vIEtpbGwgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDEpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLy8gTW92ZSBpbnRvIGNvbmZpZ3VyZWQgZGlyZWN0b3J5XG4gIHRyeSB7XG4gICAgcmVuYW1lU3luYyh0bXBQYXRoLCBhcHBQYXRoKTtcbiAgfSBjYXRjaChfZXJyb3IpIHtcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6IFRoZXJlIHdhcyBhbiBlcnJvciBjb3B5aW5nICR7YXBwTW9kdWxlfSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBDb25maWd1cmUgcGFja2FnZS5qc29uXG4gIGNvbnN0IHBhY2thZ2VQYXRoOiBzdHJpbmcgPSBgJHthcHBQYXRofS9wYWNrYWdlLmpzb25gO1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IGdldFBhY2thZ2VKc29uKHBhY2thZ2VQYXRoKTtcbiAgcGFja2FnZUpzb24ubmFtZSA9IGFwcE5hbWU7XG4gIHBhY2thZ2VKc29uLmRlc2NyaXB0aW9uID0gYCR7Y2xpTmFtZX0gY3JlYXRlZCBhcHBgO1xuICBwYWNrYWdlSnNvbi52ZXJzaW9uID0gJzAuMS4wJztcbiAgZGVsZXRlIHBhY2thZ2VKc29uLmtleXdvcmRzO1xuICBkZWxldGUgcGFja2FnZUpzb24uYXV0aG9yO1xuICBkZWxldGUgcGFja2FnZUpzb24uY29udHJpYnV0b3JzO1xuICBkZWxldGUgcGFja2FnZUpzb24ucmVwb3NpdG9yeTtcbiAgZGVsZXRlIHBhY2thZ2VKc29uLmhvbWVwYWdlO1xuICBkZWxldGUgcGFja2FnZUpzb24uYnVncztcblxuICB0cnkge1xuICAgIC8vIFVwZGF0ZSBwYWNrYWdlLmpzb25cbiAgICBzZXRQYWNrYWdlSnNvbihwYWNrYWdlSnNvbiwgcGFja2FnZVBhdGgpO1xuXG4gICAgLy8gVXBkYXRlIFJFQURNRVxuICAgIGNvbnN0IHJlYWRtZVBhdGg6IHN0cmluZyA9IGAke2FwcFBhdGh9L1JFQURNRS5tZGA7XG4gICAgd3JpdGVGaWxlU3luYyhyZWFkbWVQYXRoLCBgIyAke2FwcE5hbWV9YCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBpZihpbnN0YWxsKSB7XG4gICAgc3Bpbm5lci5zdGFydCgnSW5zdGFsbGluZyBkZXBlbmRlbmNpZXMuLi4nKTtcblxuICAgIC8vIENoYW5nZSB0byB0aGUgYXBwIGRpcmVjdG9yeVxuICAgIHByb2Nlc3MuY2hkaXIoYXBwUGF0aCk7XG5cbiAgICAvLyBJbnN0YWxsIGRlcGVuZGVuY2llc1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjYShwYWNrYWdlTWFuYWdlciwgWydpbnN0YWxsJ10sIHtcbiAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgICAgc3Bpbm5lci5zdWNjZWVkKCdTdWNjZXNzZnVsbHkgaW5zdGFsbGVkIGRlcGVuZGVuY2llcyEnKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgICAgLy8gU3RvcCBzcGlubmVyXG4gICAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCB0byBpbnN0YWxsIGRlcGVuZGVuY2llcy4nKTtcblxuICAgICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgICBjYWxsYmFjaygxKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtpbGwgcHJvY2Vzc1xuICBjYWxsYmFjaygwKTtcbiAgcmV0dXJuIDA7XG59O1xuIl0sIm5hbWVzIjpbImV4ZWNhIiwicmVuYW1lU3luYyIsIndyaXRlRmlsZVN5bmMiLCJwYWNvdGUiLCJyZXNvbHZlIiwicGF0aFJlc29sdmUiLCJMZXhDb25maWciLCJjcmVhdGVTcGlubmVyIiwiZ2V0UGFja2FnZUpzb24iLCJzZXRQYWNrYWdlSnNvbiIsImxvZyIsImluaXQiLCJhcHBOYW1lIiwicGFja2FnZU5hbWUiLCJjbWQiLCJjYWxsYmFjayIsImNsaU5hbWUiLCJpbnN0YWxsIiwicGFja2FnZU1hbmFnZXIiLCJjbWRQYWNrYWdlTWFuYWdlciIsInF1aWV0IiwidHlwZXNjcmlwdCIsImN3ZCIsInByb2Nlc3MiLCJzcGlubmVyIiwic3RhcnQiLCJ0bXBQYXRoIiwiYXBwUGF0aCIsInBhcnNlQ29uZmlnIiwiY29uZmlnUGFja2FnZU1hbmFnZXIiLCJ1c2VUeXBlc2NyaXB0IiwiY29uZmlnVHlwZXNjcmlwdCIsImNvbmZpZyIsInVuZGVmaW5lZCIsImFwcE1vZHVsZSIsImV4dHJhY3QiLCJzdWNjZWVkIiwiZXJyb3IiLCJjb25zb2xlIiwiZmFpbCIsIl9lcnJvciIsInBhY2thZ2VQYXRoIiwicGFja2FnZUpzb24iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJ2ZXJzaW9uIiwia2V5d29yZHMiLCJhdXRob3IiLCJjb250cmlidXRvcnMiLCJyZXBvc2l0b3J5IiwiaG9tZXBhZ2UiLCJidWdzIiwicmVhZG1lUGF0aCIsIm1lc3NhZ2UiLCJjaGRpciIsImVuY29kaW5nIiwic3RkaW8iXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEtBQUssUUFBTyxRQUFRO0FBQzVCLFNBQVFDLFVBQVUsRUFBRUMsYUFBYSxRQUFPLEtBQUs7QUFDN0MsT0FBT0MsWUFBWSxTQUFTO0FBQzVCLFNBQVFDLFdBQVdDLFdBQVcsUUFBTyxPQUFPO0FBRTVDLFNBQVFDLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGNBQWMsUUFBTyxxQkFBcUI7QUFDakYsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQVl2QyxPQUFPLE1BQU1DLE9BQU8sT0FDbEJDLFNBQ0FDLGFBQ0FDLEtBQ0FDLFdBQXlCLElBQU8sQ0FBQSxDQUFDLENBQUEsQ0FBRTtJQUVuQyxNQUFNLEVBQUNDLFVBQVUsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLGdC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
|
|
@@ -20,7 +20,7 @@ export const migrate = async (cmd, callback = process.exit)=>{
|
|
|
20
20
|
const packagePath = `${cwd}/package.json`;
|
|
21
21
|
const appPackage = getPackageJson(packagePath);
|
|
22
22
|
const { dependencies = {}, devDependencies = {} } = appPackage;
|
|
23
|
-
// Remove
|
|
23
|
+
// Remove toolchain packages supplied by Lex because duplicate versions can conflict.
|
|
24
24
|
appPackage.dependencies = removeConflictModules(dependencies);
|
|
25
25
|
appPackage.devDependencies = removeConflictModules(devDependencies);
|
|
26
26
|
// Install new list of packages
|
|
@@ -47,4 +47,4 @@ export const migrate = async (cmd, callback = process.exit)=>{
|
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9taWdyYXRlL21pZ3JhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCByZW1vdmVDb25mbGljdE1vZHVsZXMsIHJlbW92ZU1vZHVsZXN9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9taWdyYXRlL21pZ3JhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7ZXhlY2F9IGZyb20gJ2V4ZWNhJztcblxuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIGdldFBhY2thZ2VKc29uLCByZW1vdmVDb25mbGljdE1vZHVsZXMsIHJlbW92ZU1vZHVsZXN9IGZyb20gJy4uLy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNsaU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogc3RyaW5nO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIE1pZ3JhdGVDYWxsYmFjayA9IHR5cGVvZiBwcm9jZXNzLmV4aXQ7XG5cbmV4cG9ydCBjb25zdCBtaWdyYXRlID0gYXN5bmMgKGNtZDogTWlncmF0ZU9wdGlvbnMsIGNhbGxiYWNrOiBNaWdyYXRlQ2FsbGJhY2sgPSBwcm9jZXNzLmV4aXQpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCB7Y2xpTmFtZSA9ICdMZXgnLCBwYWNrYWdlTWFuYWdlcjogY21kUGFja2FnZU1hbmFnZXIsIHF1aWV0fSA9IGNtZDtcblxuICBjb25zdCBjd2Q6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgLy8gLy8gRGlzcGxheSBtZXNzYWdlXG4gIC8vIGxvZyhgJHtjbGlOYW1lfSBjb3B5aW5nIFwiJHt0b31cIi4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIC8vIFNwaW5uZXJcbiAgY29uc3Qgc3Bpbm5lciA9IGNyZWF0ZVNwaW5uZXIocXVpZXQpO1xuICBzcGlubmVyLnN0YXJ0KCdSZW1vdmluZyBub2RlIG1vZHVsZXMuLi4nKTtcblxuICAvLyBSZW1vdmUgbm9kZV9tb2R1bGVzXG4gIGF3YWl0IHJlbW92ZU1vZHVsZXMoKTtcblxuICBjb25zdCB7cGFja2FnZU1hbmFnZXI6IGNvbmZpZ1BhY2thZ2VNYW5hZ2VyfSA9IExleENvbmZpZy5jb25maWc7XG4gIGNvbnN0IHBhY2thZ2VNYW5hZ2VyOiBzdHJpbmcgPSBjbWRQYWNrYWdlTWFuYWdlciB8fCBjb25maWdQYWNrYWdlTWFuYWdlciB8fCAnJztcbiAgY29uc3QgcGFja2FnZVBhdGg6IHN0cmluZyA9IGAke2N3ZH0vcGFja2FnZS5qc29uYDtcbiAgY29uc3QgYXBwUGFja2FnZSA9IGdldFBhY2thZ2VKc29uKHBhY2thZ2VQYXRoKTtcbiAgY29uc3Qge2RlcGVuZGVuY2llcyA9IHt9LCBkZXZEZXBlbmRlbmNpZXMgPSB7fX0gPSBhcHBQYWNrYWdlO1xuXG4gIC8vIFJlbW92ZSB0b29sY2hhaW4gcGFja2FnZXMgc3VwcGxpZWQgYnkgTGV4IGJlY2F1c2UgZHVwbGljYXRlIHZlcnNpb25zIGNhbiBjb25mbGljdC5cbiAgYXBwUGFja2FnZS5kZXBlbmRlbmNpZXMgPSByZW1vdmVDb25mbGljdE1vZHVsZXMoZGVwZW5kZW5jaWVzKTtcbiAgYXBwUGFja2FnZS5kZXZEZXBlbmRlbmNpZXMgPSByZW1vdmVDb25mbGljdE1vZHVsZXMoZGV2RGVwZW5kZW5jaWVzKTtcblxuICAvLyBJbnN0YWxsIG5ldyBsaXN0IG9mIHBhY2thZ2VzXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY2EocGFja2FnZU1hbmFnZXIsIFsnaW5zdGFsbCddLCB7XG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgc3RkaW86ICdpbmhlcml0J1xuICAgIH0pO1xuXG4gICAgLy8gU3RvcCBsb2FkZXJcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBtaWdyYXRlZCBhcHAhJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygwKTtcbiAgICByZXR1cm4gMDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGxvZyhgXFxuJHtjbGlOYW1lfSBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsICdlcnJvcicsIHF1aWV0KTtcblxuICAgIC8vIFN0b3Agc3Bpbm5lclxuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIHJlbW92ZSBtb2R1bGVzLicpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgY2FsbGJhY2soMSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiZXhlY2EiLCJMZXhDb25maWciLCJjcmVhdGVTcGlubmVyIiwiZ2V0UGFja2FnZUpzb24iLCJyZW1vdmVDb25mbGljdE1vZHVsZXMiLCJyZW1vdmVNb2R1bGVzIiwibG9nIiwibWlncmF0ZSIsImNtZCIsImNhbGxiYWNrIiwicHJvY2VzcyIsImV4aXQiLCJjbGlOYW1lIiwicGFja2FnZU1hbmFnZXIiLCJjbWRQYWNrYWdlTWFuYWdlciIsInF1aWV0IiwiY3dkIiwic3Bpbm5lciIsInN0YXJ0IiwiY29uZmlnUGFja2FnZU1hbmFnZXIiLCJjb25maWciLCJwYWNrYWdlUGF0aCIsImFwcFBhY2thZ2UiLCJkZXBlbmRlbmNpZXMiLCJkZXZEZXBlbmRlbmNpZXMiLCJlbmNvZGluZyIsInN0ZGlvIiwic3VjY2VlZCIsImVycm9yIiwibWVzc2FnZSIsImZhaWwiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEtBQUssUUFBTyxRQUFRO0FBRTVCLFNBQVFDLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLHFCQUFxQixFQUFFQyxhQUFhLFFBQU8scUJBQXFCO0FBQ3ZHLFNBQVFDLEdBQUcsUUFBTyxxQkFBcUI7QUFVdkMsT0FBTyxNQUFNQyxVQUFVLE9BQU9DLEtBQXFCQyxXQUE0QkMsUUFBUUMsSUFBSTtJQUN6RixNQUFNLEVBQUNDLFVBQVUsS0FBSyxFQUFFQyxnQkFBZ0JDLGlCQUFpQixFQUFFQyxLQUFLLEVBQUMsR0FBR1A7SUFFcEUsTUFBTVEsTUFBY04sUUFBUU0sR0FBRztJQUUvQixxQkFBcUI7SUFDckIsdURBQXVEO0lBRXZELFVBQVU7SUFDVixNQUFNQyxVQUFVZixjQUFjYTtJQUM5QkUsUUFBUUMsS0FBSyxDQUFDO0lBRWQsc0JBQXNCO0lBQ3RCLE1BQU1iO0lBRU4sTUFBTSxFQUFDUSxnQkFBZ0JNLG9CQUFvQixFQUFDLEdBQUdsQixVQUFVbUIsTUFBTTtJQUMvRCxNQUFNUCxpQkFBeUJDLHFCQUFxQkssd0JBQXdCO0lBQzVFLE1BQU1FLGNBQXNCLEdBQUdMLElBQUksYUFBYSxDQUFDO0lBQ2pELE1BQU1NLGFBQWFuQixlQUFla0I7SUFDbEMsTUFBTSxFQUFDRSxlQUFlLENBQUMsQ0FBQyxFQUFFQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUMsR0FBR0Y7SUFFbEQscUZBQXFGO0lBQ3JGQSxXQUFXQyxZQUFZLEdBQUduQixzQkFBc0JtQjtJQUNoREQsV0FBV0UsZUFBZSxHQUFHcEIsc0JBQXNCb0I7SUFFbkQsK0JBQStCO0lBQy9CLElBQUk7UUFDRixNQUFNeEIsTUFBTWEsZ0JBQWdCO1lBQUM7U0FBVSxFQUFFO1lBQ3ZDWSxVQUFVO1lBQ1ZDLE9BQU87UUFDVDtRQUVBLGNBQWM7UUFDZFQsUUFBUVUsT0FBTyxDQUFDO1FBRWhCLGVBQWU7UUFDZmxCLFNBQVM7UUFDVCxPQUFPO0lBQ1QsRUFBRSxPQUFNbUIsT0FBTztRQUNiLHdCQUF3QjtRQUN4QnRCLElBQUksQ0FBQyxFQUFFLEVBQUVNLFFBQVEsUUFBUSxFQUFFZ0IsTUFBTUMsT0FBTyxFQUFFLEVBQUUsU0FBU2Q7UUFFckQsZUFBZTtRQUNmRSxRQUFRYSxJQUFJLENBQUM7UUFFYixlQUFlO1FBQ2ZyQixTQUFTO1FBQ1QsT0FBTztJQUNUO0FBQ0YsRUFBRSJ9
|