@jupiterone/typescript-tools 19.2.0 → 20.0.1

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.
@@ -8,6 +8,7 @@
8
8
  "alwaysStrict": true,
9
9
  "strictNullChecks": true,
10
10
  "strictFunctionTypes": true,
11
+ "useUnknownInCatchVariables": true,
11
12
  "allowJs": true,
12
13
  "module": "CommonJS",
13
14
  "moduleResolution": "node",
@@ -8,6 +8,7 @@ const chalk_1 = __importDefault(require("chalk"));
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const yargs_1 = __importDefault(require("yargs"));
11
+ const readJsonFileForCli_1 = require("../src/readJsonFileForCli");
11
12
  const input = yargs_1.default
12
13
  .option('h', {
13
14
  alias: 'help',
@@ -38,25 +39,6 @@ function log(msg) {
38
39
  }
39
40
  console.log(msg);
40
41
  }
41
- async function readJsonFile(file) {
42
- let contents;
43
- try {
44
- contents = await fs_1.promises.readFile(file, { encoding: 'utf8' });
45
- }
46
- catch (err) {
47
- log(chalk_1.default.yellow(`Error reading ${chalk_1.default.bold(file)}. ${err.toString()} (skipping)`));
48
- return undefined;
49
- }
50
- let obj;
51
- try {
52
- obj = JSON.parse(contents);
53
- }
54
- catch (err) {
55
- log(chalk_1.default.yellow(`Error parsing ${chalk_1.default.bold(file)}. ${err.toString()} (skipping)`));
56
- return undefined;
57
- }
58
- return obj;
59
- }
60
42
  async function checkTsConfigFile(options) {
61
43
  const { packageInfo, stats, tsconfigFile, tsconfigObj } = options;
62
44
  const expected = options.expectedProjectReferences;
@@ -117,7 +99,7 @@ async function checkMonorepo() {
117
99
  packagesReadDirResult = await fs_1.promises.readdir(packagesDir);
118
100
  }
119
101
  catch (err) {
120
- log(chalk_1.default.yellow(`Unable to read monorepo packages at ${chalk_1.default.bold(packagesDir)} (probably not a monrepo). Error: ${err.toString()} (skipping)`));
102
+ log(chalk_1.default.yellow(`Unable to read monorepo packages at ${chalk_1.default.bold(packagesDir)} (probably not a monrepo). Error: ${String(err)} (skipping)`));
121
103
  process.exitCode = 3;
122
104
  return;
123
105
  }
@@ -128,11 +110,11 @@ async function checkMonorepo() {
128
110
  continue;
129
111
  }
130
112
  const packageFile = path_1.default.join(packageDir, 'package.json');
131
- const packageObj = await readJsonFile(packageFile);
132
- if (!packageObj) {
113
+ const packageManifest = await (0, readJsonFileForCli_1.readJsonFileForCli)(packageFile, log);
114
+ if (!packageManifest) {
133
115
  continue;
134
116
  }
135
- const packageName = packageObj.name;
117
+ const packageName = packageManifest.name;
136
118
  if (!packageName) {
137
119
  log(chalk_1.default.yellow(`Package name is missing in ${chalk_1.default.bold(packageFile)} (skipping)`));
138
120
  continue;
@@ -147,7 +129,7 @@ async function checkMonorepo() {
147
129
  dir: packageDir,
148
130
  dirName: packageDirName,
149
131
  packageFile,
150
- packageObj,
132
+ packageManifest,
151
133
  };
152
134
  knownPackages[packageName] = packageInfo;
153
135
  packages.push(packageInfo);
@@ -155,9 +137,9 @@ async function checkMonorepo() {
155
137
  for (const packageInfo of packages) {
156
138
  log(`\nChecking ${chalk_1.default.bold(packageInfo.dirName)}...`);
157
139
  const tsconfigDistFile = path_1.default.join(packageInfo.dir, 'tsconfig.dist.json');
158
- const tsconfigDistObj = await readJsonFile(tsconfigDistFile);
140
+ const tsconfigDistObj = await (0, readJsonFileForCli_1.readJsonFileForCli)(tsconfigDistFile, log);
159
141
  const tsconfigFile = path_1.default.join(packageInfo.dir, 'tsconfig.json');
160
- const tsconfigObj = await readJsonFile(tsconfigFile);
142
+ const tsconfigObj = await (0, readJsonFileForCli_1.readJsonFileForCli)(tsconfigFile, log);
161
143
  if (!tsconfigObj && !tsconfigDistObj) {
162
144
  console.log(`Package ${chalk_1.default.bold(packageInfo.dirName)} does not have tsconfig.json or tsconfig.dist.json (skipping)`);
163
145
  continue;
@@ -170,11 +152,11 @@ async function checkMonorepo() {
170
152
  }
171
153
  }
172
154
  };
173
- if (packageInfo.packageObj.dependencies) {
174
- processDependencies(Object.keys(packageInfo.packageObj.dependencies));
155
+ if (packageInfo.packageManifest.dependencies) {
156
+ processDependencies(Object.keys(packageInfo.packageManifest.dependencies));
175
157
  }
176
- if (packageInfo.packageObj.devDependencies) {
177
- processDependencies(Object.keys(packageInfo.packageObj.devDependencies));
158
+ if (packageInfo.packageManifest.devDependencies) {
159
+ processDependencies(Object.keys(packageInfo.packageManifest.devDependencies));
178
160
  }
179
161
  const requiredDependencies = [...requiredDependenciesSet];
180
162
  if (requiredDependencies.length) {
@@ -238,6 +220,7 @@ async function run() {
238
220
  }
239
221
  }
240
222
  run().catch((err) => {
241
- console.error(chalk_1.default.red(chalk_1.default.bold('Error occurred. ') + (err.stack || err.toString())));
223
+ const message = err instanceof Error ? err.stack ?? String(err) : String(err);
224
+ console.error(chalk_1.default.red(chalk_1.default.bold('Error occurred. ') + message));
242
225
  });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBRTFCLE1BQU0sS0FBSyxHQUFHLGVBQUs7S0FDaEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUNYLEtBQUssRUFBRSxNQUFNO0lBQ2IsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSwyQkFBMkI7Q0FDekMsQ0FBQztLQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7SUFDaEIsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsdUNBQXVDO0NBQ3JELENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDLENBQUMsSUFPSixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFFM0MsU0FBUyxHQUFHLENBQUMsR0FBVztJQUN0QixJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU87S0FDUjtJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELEtBQUssVUFBVSxZQUFZLENBQUks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QUM7UUFDRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsR0FBRztJQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDZCxPQUFPLGVBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUN6QjtJQUVELElBQUksVUFBVSxFQUFFO1FBQ2QsTUFBTSxhQUFhLEVBQUUsQ0FBQztLQUN2QjtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0tBQzNFO0FBQ0gsQ0FBQztBQUVELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsZUFBSyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQzFFLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ2h1c2t5Jywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lzIHRoaXMgY29tbWFuZCBiZWluZyByYW4gYnkgaHVza3k/JyxcbiAgfSlcbiAgLm9wdGlvbigncXVpZXQnLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnVXNlIHF1aWV0IG1vZGU/IChubyBsb2dzKScsXG4gIH0pXG4gIC5vcHRpb24oJ3JlcGFpcicsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdTaG91bGQgZXJyb3JzIGJlIGZpeGVkIHdoZW4gcG9zc2libGU/JyxcbiAgfSlcbiAgLm9wdGlvbignbW9ub3JlcG8nLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBhIG1vbm9yZXBvPyBJZiBzbywgcGFja2FnZXMgd2lsbCBiZSBjaGVja2VkJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBodXNreT86IGJvb2xlYW47XG4gIHF1aWV0PzogYm9vbGVhbjtcbiAgcmVwYWlyPzogYm9vbGVhbjtcbiAgbW9ub3JlcG8/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmNvbnN0IGlzUXVpZXQgPSBpbnB1dC5xdWlldCA9PT0gdHJ1ZTtcbmNvbnN0IGlzUmVwYWlyRW5hYmxlZCA9IGlucHV0LnJlcGFpciA9PT0gdHJ1ZTtcbmNvbnN0IGlzTW9ub3JlcG8gPSBpbnB1dC5tb25vcmVwbyA9PT0gdHJ1ZTtcblxuZnVuY3Rpb24gbG9nKG1zZzogc3RyaW5nKSB7XG4gIGlmIChpc1F1aWV0KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUubG9nKG1zZyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uRmlsZTxUPihmaWxlOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IGNvbnRlbnRzOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlLCB7IGVuY29kaW5nOiAndXRmOCcgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHJlYWRpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgb2JqO1xuICB0cnkge1xuICAgIG9iaiA9IEpTT04ucGFyc2UoY29udGVudHMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBFcnJvciBwYXJzaW5nICR7Y2hhbGsuYm9sZChmaWxlKX0uICR7ZXJyLnRvU3RyaW5nKCl9IChza2lwcGluZylgXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxudHlwZSBQYWNrYWdlTWFuaWZlc3QgPSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGRldkRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG50eXBlIFRTQ29uZmlnID0ge1xuICByZWZlcmVuY2VzPzoge1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gIH1bXTtcbn07XG5cbnR5cGUgUGFja2FnZUluZm8gPSB7XG4gIHBhY2thZ2VOYW1lOiBzdHJpbmc7XG4gIGRpcjogc3RyaW5nO1xuICBkaXJOYW1lOiBzdHJpbmc7XG4gIHBhY2thZ2VGaWxlOiBzdHJpbmc7XG4gIHBhY2thZ2VPYmo6IFBhY2thZ2VNYW5pZmVzdDtcbn07XG5cbnR5cGUgQ2hlY2tUU0NvbmZpZ1N0YXRzID0ge1xuICBwcm9ibGVtRmlsZUNvdW50OiBudW1iZXI7XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjaGVja1RzQ29uZmlnRmlsZShvcHRpb25zOiB7XG4gIHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbztcbiAgc3RhdHM6IENoZWNrVFNDb25maWdTdGF0cztcbiAgdHNjb25maWdGaWxlOiBzdHJpbmc7XG4gIHRzY29uZmlnT2JqOiBUU0NvbmZpZztcbiAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogU2V0PHN0cmluZz47XG59KSB7XG4gIGNvbnN0IHsgcGFja2FnZUluZm8sIHN0YXRzLCB0c2NvbmZpZ0ZpbGUsIHRzY29uZmlnT2JqIH0gPSBvcHRpb25zO1xuICBjb25zdCBleHBlY3RlZCA9IG9wdGlvbnMuZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlcztcbiAgY29uc3QgdW5leHBlY3RlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBtaXNzaW5nID0gbmV3IFNldDxzdHJpbmc+KGV4cGVjdGVkKTtcblxuICBmb3IgKGNvbnN0IHJlZiBvZiB0c2NvbmZpZ09iai5yZWZlcmVuY2VzID8/IFtdKSB7XG4gICAgaWYgKHJlZi5wYXRoKSB7XG4gICAgICBpZiAoZXhwZWN0ZWQuaGFzKHJlZi5wYXRoKSkge1xuICAgICAgICBsb2coY2hhbGsuZ3JheShgICDinJMgQWxyZWFkeSBoYXMgJHtyZWYucGF0aH1gKSk7XG4gICAgICAgIG1pc3NpbmcuZGVsZXRlKHJlZi5wYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVuZXhwZWN0ZWQuYWRkKHJlZi5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodW5leHBlY3RlZC5zaXplKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgICAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZUluZm8ucGFja2FnZU5hbWVcbiAgICAgICAgKX0gaGFzIHVuZXhwZWN0ZWQgcHJvamVjdCByZWZlcmVuY2VzOlxcbiR7Wy4uLnVuZXhwZWN0ZWRdXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7SlNPTi5zdHJpbmdpZnkoZGVwKX1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKG1pc3Npbmcuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYCAgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGlzIG1pc3NpbmcgdGhlc2UgcHJvamVjdCBwcm9qZWN0IHJlZmVyZW5jZXM6XFxuJHtbLi4ubWlzc2luZ11cbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtKU09OLnN0cmluZ2lmeShkZXApfVxcbmA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbignJyl9YFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBpZiAoIXVuZXhwZWN0ZWQuc2l6ZSAmJiAhbWlzc2luZy5zaXplKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsuZ3JheShcbiAgICAgICAgYFxcbiAgJHtjaGFsay5ib2xkLmdyZWVuKCfinJMnKX0gJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGlzIGdvb2RgXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0cy5wcm9ibGVtRmlsZUNvdW50Kys7XG5cbiAgaWYgKGlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnN0IHJlcGFpcmVkUmVmZXJlbmNlcyA9IFsuLi5leHBlY3RlZF0ubWFwKChyZWZQYXRoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiByZWZQYXRoLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgIHRzY29uZmlnRmlsZSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgICB7XG4gICAgICAgICAgLi4udHNjb25maWdPYmosXG4gICAgICAgICAgcmVmZXJlbmNlczogcmVwYWlyZWRSZWZlcmVuY2VzLFxuICAgICAgICB9LFxuICAgICAgICBudWxsLFxuICAgICAgICAyXG4gICAgICApLFxuICAgICAgeyBlbmNvZGluZzogJ3V0ZjgnIH1cbiAgICApO1xuXG4gICAgbG9nKGNoYWxrLmdyZWVuKGAgICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5wYWNrYWdlTmFtZSl9IHdhcyByZXBhaXJlZCFgKSk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXNEaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3BhY2thZ2VzJyk7XG4gIGNvbnN0IHBhY2thZ2VzOiBQYWNrYWdlSW5mb1tdID0gW107XG5cbiAgY29uc3Qga25vd25QYWNrYWdlczogUmVjb3JkPHN0cmluZywgUGFja2FnZUluZm8+ID0ge307XG4gIGNvbnN0IHN0YXRzOiBDaGVja1RTQ29uZmlnU3RhdHMgPSB7XG4gICAgcHJvYmxlbUZpbGVDb3VudDogMCxcbiAgfTtcblxuICBsZXQgcGFja2FnZXNSZWFkRGlyUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgcGFja2FnZXNSZWFkRGlyUmVzdWx0ID0gYXdhaXQgZnMucmVhZGRpcihwYWNrYWdlc0Rpcik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYFVuYWJsZSB0byByZWFkIG1vbm9yZXBvIHBhY2thZ2VzIGF0ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlc0RpclxuICAgICAgICApfSAocHJvYmFibHkgbm90IGEgbW9ucmVwbykuIEVycm9yOiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDM7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBwYWNrYWdlRGlyTmFtZSBvZiBwYWNrYWdlc1JlYWREaXJSZXN1bHQpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gcGF0aC5qb2luKHBhY2thZ2VzRGlyLCBwYWNrYWdlRGlyTmFtZSk7XG4gICAgY29uc3QgcGFja2FnZURpclN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhY2thZ2VEaXIpO1xuICAgIGlmICghcGFja2FnZURpclN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICAgIGNvbnN0IHBhY2thZ2VPYmogPSBhd2FpdCByZWFkSnNvbkZpbGU8UGFja2FnZU1hbmlmZXN0PihwYWNrYWdlRmlsZSk7XG4gICAgaWYgKCFwYWNrYWdlT2JqKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHBhY2thZ2VPYmoubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbyA9IHtcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZGlyOiBwYWNrYWdlRGlyLFxuICAgICAgZGlyTmFtZTogcGFja2FnZURpck5hbWUsXG4gICAgICBwYWNrYWdlRmlsZSxcbiAgICAgIHBhY2thZ2VPYmosXG4gICAgfTtcblxuICAgIGtub3duUGFja2FnZXNbcGFja2FnZU5hbWVdID0gcGFja2FnZUluZm87XG4gICAgcGFja2FnZXMucHVzaChwYWNrYWdlSW5mbyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IHBhY2thZ2VJbmZvIG9mIHBhY2thZ2VzKSB7XG4gICAgbG9nKGBcXG5DaGVja2luZyAke2NoYWxrLmJvbGQocGFja2FnZUluZm8uZGlyTmFtZSl9Li4uYCk7XG5cbiAgICBjb25zdCB0c2NvbmZpZ0Rpc3RGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VJbmZvLmRpciwgJ3RzY29uZmlnLmRpc3QuanNvbicpO1xuICAgIGNvbnN0IHRzY29uZmlnRGlzdE9iaiA9IGF3YWl0IHJlYWRKc29uRmlsZTxUU0NvbmZpZz4odHNjb25maWdEaXN0RmlsZSk7XG5cbiAgICBjb25zdCB0c2NvbmZpZ0ZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZUluZm8uZGlyLCAndHNjb25maWcuanNvbicpO1xuICAgIGNvbnN0IHRzY29uZmlnT2JqID0gYXdhaXQgcmVhZEpzb25GaWxlPFRTQ29uZmlnPih0c2NvbmZpZ0ZpbGUpO1xuXG4gICAgaWYgKCF0c2NvbmZpZ09iaiAmJiAhdHNjb25maWdEaXN0T2JqKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFBhY2thZ2UgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLmRpck5hbWVcbiAgICAgICAgKX0gZG9lcyBub3QgaGF2ZSB0c2NvbmZpZy5qc29uIG9yIHRzY29uZmlnLmRpc3QuanNvbiAoc2tpcHBpbmcpYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBwcm9jZXNzRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY3lOYW1lczogc3RyaW5nW10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgZGVwZW5kZW5jeU5hbWUgb2YgZGVwZW5kZW5jeU5hbWVzKSB7XG4gICAgICAgIGlmIChrbm93blBhY2thZ2VzW2RlcGVuZGVuY3lOYW1lXSkge1xuICAgICAgICAgIHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0LmFkZChkZXBlbmRlbmN5TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGVwZW5kZW5jaWVzKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGV2RGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGV2RGVwZW5kZW5jaWVzKSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWlyZWREZXBlbmRlbmNpZXMgPSBbLi4ucmVxdWlyZWREZXBlbmRlbmNpZXNTZXRdO1xuICAgIGlmIChyZXF1aXJlZERlcGVuZGVuY2llcy5sZW5ndGgpIHtcbiAgICAgIGxvZyhcbiAgICAgICAgYCAgSXQgZGVwZW5kcyBvbjpcXG4ke3JlcXVpcmVkRGVwZW5kZW5jaWVzXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7ZGVwfVxcbmA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbignJyl9YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay5ncmF5KFxuICAgICAgICAgIGAgICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5wYWNrYWdlTmFtZSl9IGhhcyBubyBkZXBlbmRlbmNpZXNgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwZWN0ZWROb25EaXN0ID0gbmV3IFNldDxzdHJpbmc+KFxuICAgICAgcmVxdWlyZWREZXBlbmRlbmNpZXMubWFwKChkZXApID0+IHtcbiAgICAgICAgY29uc3Qga25vd25QYWNrYWdlID0ga25vd25QYWNrYWdlc1tkZXBdO1xuICAgICAgICByZXR1cm4gYC4uLyR7a25vd25QYWNrYWdlLmRpck5hbWV9L3RzY29uZmlnLmpzb25gO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3QgZXhwZWN0ZWREaXN0ID0gbmV3IFNldDxzdHJpbmc+KFxuICAgICAgcmVxdWlyZWREZXBlbmRlbmNpZXMubWFwKChkZXApID0+IHtcbiAgICAgICAgY29uc3Qga25vd25QYWNrYWdlID0ga25vd25QYWNrYWdlc1tkZXBdO1xuICAgICAgICByZXR1cm4gYC4uLyR7a25vd25QYWNrYWdlLmRpck5hbWV9L3RzY29uZmlnLmRpc3QuanNvbmA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodHNjb25maWdPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWROb25EaXN0LFxuICAgICAgICBwYWNrYWdlSW5mbyxcbiAgICAgICAgc3RhdHMsXG4gICAgICAgIHRzY29uZmlnRmlsZSxcbiAgICAgICAgdHNjb25maWdPYmosXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodHNjb25maWdEaXN0T2JqKSB7XG4gICAgICBhd2FpdCBjaGVja1RzQ29uZmlnRmlsZSh7XG4gICAgICAgIGV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM6IGV4cGVjdGVkRGlzdCxcbiAgICAgICAgcGFja2FnZUluZm8sXG4gICAgICAgIHN0YXRzLFxuICAgICAgICB0c2NvbmZpZ0ZpbGU6IHRzY29uZmlnRGlzdEZpbGUsXG4gICAgICAgIHRzY29uZmlnT2JqOiB0c2NvbmZpZ0Rpc3RPYmosXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBgXFxuJHtjaGFsay5ib2xkLmdyZWVuKCdGaW5pc2hlZCBjaGVja2luZyB0c2NvbmZpZy5kaXN0Lmpzb24gZmlsZXMuJyl9YFxuICApO1xuXG4gIGlmIChpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zb2xlLmxvZyhgICBOdW1iZXIgb2YgZmlsZXMgcmVwYWlyZWQ6ICR7c3RhdHMucHJvYmxlbUZpbGVDb3VudH1cXG5gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyhgICBOdW1iZXIgb2YgZmlsZXMgd2l0aCBwcm9ibGVtczogJHtzdGF0cy5wcm9ibGVtRmlsZUNvdW50fVxcbmApO1xuICB9XG5cbiAgaWYgKHN0YXRzLnByb2JsZW1GaWxlQ291bnQgJiYgIWlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBjaGFsay5ib2xkLnJlZChgUHJvYmxlbXMgd2VyZSBmb3VuZCBpbiB0c2NvbmZpZyBmaWxlcyAocGxlYXNlIHJldmlldykuXFxuYClcbiAgICApO1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAyO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgaWYgKGlucHV0LmhlbHApIHtcbiAgICByZXR1cm4geWFyZ3Muc2hvd0hlbHAoKTtcbiAgfVxuXG4gIGlmIChpc01vbm9yZXBvKSB7XG4gICAgYXdhaXQgY2hlY2tNb25vcmVwbygpO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUubG9nKGB0c2NvbmZpZyBjaGVja3MgYXJlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBmb3IgbW9ub3JlcG9zYCk7XG4gIH1cbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4ge1xuICBjb25zb2xlLmVycm9yKFxuICAgIGNoYWxrLnJlZChjaGFsay5ib2xkKCdFcnJvciBvY2N1cnJlZC4gJykgKyAoZXJyLnN0YWNrIHx8IGVyci50b1N0cmluZygpKSlcbiAgKTtcbn0pO1xuIl19
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUc5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsT0FBTyxFQUFFO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUscUNBQXFDO0NBQ25ELENBQUM7S0FDRCxNQUFNLENBQUMsT0FBTyxFQUFFO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsMkJBQTJCO0NBQ3pDLENBQUM7S0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO0lBQ2hCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHVDQUF1QztDQUNyRCxDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxREFBcUQ7Q0FDbkUsQ0FBQyxDQUFDLElBT0osQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQ3JDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQzlDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO0FBRTNDLFNBQVMsR0FBRyxDQUFDLEdBQVc7SUFDdEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE9BQU87SUFDVCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQixDQUFDO0FB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R0FBRyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixNQUFNLE9BQU8sR0FDWCxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcbmltcG9ydCB7IFBhY2thZ2VJbmZvLCBQYWNrYWdlTWFuaWZlc3QgfSBmcm9tICd+L3NyYy90eXBlcyc7XG5cbmNvbnN0IGlucHV0ID0geWFyZ3NcbiAgLm9wdGlvbignaCcsIHtcbiAgICBhbGlhczogJ2hlbHAnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSlcbiAgLm9wdGlvbignaHVza3knLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBjb21tYW5kIGJlaW5nIHJhbiBieSBodXNreT8nLFxuICB9KVxuICAub3B0aW9uKCdxdWlldCcsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdVc2UgcXVpZXQgbW9kZT8gKG5vIGxvZ3MpJyxcbiAgfSlcbiAgLm9wdGlvbigncmVwYWlyJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Nob3VsZCBlcnJvcnMgYmUgZml4ZWQgd2hlbiBwb3NzaWJsZT8nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGEgbW9ub3JlcG8/IElmIHNvLCBwYWNrYWdlcyB3aWxsIGJlIGNoZWNrZWQnLFxuICB9KS5hcmd2IGFzIHtcbiAgaGVscD86IGJvb2xlYW47XG4gIGh1c2t5PzogYm9vbGVhbjtcbiAgcXVpZXQ/OiBib29sZWFuO1xuICByZXBhaXI/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuY29uc3QgaXNRdWlldCA9IGlucHV0LnF1aWV0ID09PSB0cnVlO1xuY29uc3QgaXNSZXBhaXJFbmFibGVkID0gaW5wdXQucmVwYWlyID09PSB0cnVlO1xuY29uc3QgaXNNb25vcmVwbyA9IGlucHV0Lm1vbm9yZXBvID09PSB0cnVlO1xuXG5mdW5jdGlvbiBsb2cobXNnOiBzdHJpbmcpIHtcbiAgaWYgKGlzUXVpZXQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc29sZS5sb2cobXNnKTtcbn1cblxudHlwZSBUU0NvbmZpZyA9IHtcbiAgcmVmZXJlbmNlcz86IHtcbiAgICBwYXRoPzogc3RyaW5nO1xuICB9W107XG59O1xuXG50eXBlIENoZWNrVFNDb25maWdTdGF0cyA9IHtcbiAgcHJvYmxlbUZpbGVDb3VudDogbnVtYmVyO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tUc0NvbmZpZ0ZpbGUob3B0aW9uczoge1xuICBwYWNrYWdlSW5mbzogUGFja2FnZUluZm87XG4gIHN0YXRzOiBDaGVja1RTQ29uZmlnU3RhdHM7XG4gIHRzY29uZmlnRmlsZTogc3RyaW5nO1xuICB0c2NvbmZpZ09iajogVFNDb25maWc7XG4gIGV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM6IFNldDxzdHJpbmc+O1xufSkge1xuICBjb25zdCB7IHBhY2thZ2VJbmZvLCBzdGF0cywgdHNjb25maWdGaWxlLCB0c2NvbmZpZ09iaiB9ID0gb3B0aW9ucztcbiAgY29uc3QgZXhwZWN0ZWQgPSBvcHRpb25zLmV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM7XG4gIGNvbnN0IHVuZXhwZWN0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgbWlzc2luZyA9IG5ldyBTZXQ8c3RyaW5nPihleHBlY3RlZCk7XG5cbiAgZm9yIChjb25zdCByZWYgb2YgdHNjb25maWdPYmoucmVmZXJlbmNlcyA/PyBbXSkge1xuICAgIGlmIChyZWYucGF0aCkge1xuICAgICAgaWYgKGV4cGVjdGVkLmhhcyhyZWYucGF0aCkpIHtcbiAgICAgICAgbG9nKGNoYWxrLmdyYXkoYCAg4pyTIEFscmVhZHkgaGFzICR7cmVmLnBhdGh9YCkpO1xuICAgICAgICBtaXNzaW5nLmRlbGV0ZShyZWYucGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bmV4cGVjdGVkLmFkZChyZWYucGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZXhwZWN0ZWQuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYCAgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGhhcyB1bmV4cGVjdGVkIHByb2plY3QgcmVmZXJlbmNlczpcXG4ke1suLi51bmV4cGVjdGVkXVxuICAgICAgICAgIC5tYXAoKGRlcCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAgICAgLSAke0pTT04uc3RyaW5naWZ5KGRlcCl9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmIChtaXNzaW5nLnNpemUpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGAgICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBtaXNzaW5nIHRoZXNlIHByb2plY3QgcHJvamVjdCByZWZlcmVuY2VzOlxcbiR7Wy4uLm1pc3NpbmddXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7SlNPTi5zdHJpbmdpZnkoZGVwKX1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKCF1bmV4cGVjdGVkLnNpemUgJiYgIW1pc3Npbmcuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgIGBcXG4gICR7Y2hhbGsuYm9sZC5ncmVlbign4pyTJyl9ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBnb29kYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdHMucHJvYmxlbUZpbGVDb3VudCsrO1xuXG4gIGlmIChpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zdCByZXBhaXJlZFJlZmVyZW5jZXMgPSBbLi4uZXhwZWN0ZWRdLm1hcCgocmVmUGF0aCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogcmVmUGF0aCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICB0c2NvbmZpZ0ZpbGUsXG4gICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAge1xuICAgICAgICAgIC4uLnRzY29uZmlnT2JqLFxuICAgICAgICAgIHJlZmVyZW5jZXM6IHJlcGFpcmVkUmVmZXJlbmNlcyxcbiAgICAgICAgfSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMlxuICAgICAgKSxcbiAgICAgIHsgZW5jb2Rpbmc6ICd1dGY4JyB9XG4gICAgKTtcblxuICAgIGxvZyhjaGFsay5ncmVlbihgICAke2NoYWxrLmJvbGQocGFja2FnZUluZm8ucGFja2FnZU5hbWUpfSB3YXMgcmVwYWlyZWQhYCkpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzRGlyID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdwYWNrYWdlcycpO1xuICBjb25zdCBwYWNrYWdlczogUGFja2FnZUluZm9bXSA9IFtdO1xuXG4gIGNvbnN0IGtub3duUGFja2FnZXM6IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VJbmZvPiA9IHt9O1xuICBjb25zdCBzdGF0czogQ2hlY2tUU0NvbmZpZ1N0YXRzID0ge1xuICAgIHByb2JsZW1GaWxlQ291bnQ6IDAsXG4gIH07XG5cbiAgbGV0IHBhY2thZ2VzUmVhZERpclJlc3VsdDtcblxuICB0cnkge1xuICAgIHBhY2thZ2VzUmVhZERpclJlc3VsdCA9IGF3YWl0IGZzLnJlYWRkaXIocGFja2FnZXNEaXIpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBVbmFibGUgdG8gcmVhZCBtb25vcmVwbyBwYWNrYWdlcyBhdCAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZXNEaXJcbiAgICAgICAgKX0gKHByb2JhYmx5IG5vdCBhIG1vbnJlcG8pLiBFcnJvcjogJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAzO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlTWFuaWZlc3QgPSBhd2FpdCByZWFkSnNvbkZpbGVGb3JDbGk8UGFja2FnZU1hbmlmZXN0PihwYWNrYWdlRmlsZSwgbG9nKTtcbiAgICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTWFuaWZlc3QubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbyA9IHtcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZGlyOiBwYWNrYWdlRGlyLFxuICAgICAgZGlyTmFtZTogcGFja2FnZURpck5hbWUsXG4gICAgICBwYWNrYWdlRmlsZSxcbiAgICAgIHBhY2thZ2VNYW5pZmVzdCxcbiAgICB9O1xuXG4gICAga25vd25QYWNrYWdlc1twYWNrYWdlTmFtZV0gPSBwYWNrYWdlSW5mbztcbiAgICBwYWNrYWdlcy5wdXNoKHBhY2thZ2VJbmZvKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZUluZm8gb2YgcGFja2FnZXMpIHtcbiAgICBsb2coYFxcbkNoZWNraW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5kaXJOYW1lKX0uLi5gKTtcblxuICAgIGNvbnN0IHRzY29uZmlnRGlzdEZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZUluZm8uZGlyLCAndHNjb25maWcuZGlzdC5qc29uJyk7XG4gICAgY29uc3QgdHNjb25maWdEaXN0T2JqID0gYXdhaXQgcmVhZEpzb25GaWxlRm9yQ2xpPFRTQ29uZmlnPih0c2NvbmZpZ0Rpc3RGaWxlLCBsb2cpO1xuXG4gICAgY29uc3QgdHNjb25maWdGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VJbmZvLmRpciwgJ3RzY29uZmlnLmpzb24nKTtcbiAgICBjb25zdCB0c2NvbmZpZ09iaiA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaTxUU0NvbmZpZz4odHNjb25maWdGaWxlLCBsb2cpO1xuXG4gICAgaWYgKCF0c2NvbmZpZ09iaiAmJiAhdHNjb25maWdEaXN0T2JqKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFBhY2thZ2UgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLmRpck5hbWVcbiAgICAgICAgKX0gZG9lcyBub3QgaGF2ZSB0c2NvbmZpZy5qc29uIG9yIHRzY29uZmlnLmRpc3QuanNvbiAoc2tpcHBpbmcpYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBwcm9jZXNzRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY3lOYW1lczogc3RyaW5nW10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgZGVwZW5kZW5jeU5hbWUgb2YgZGVwZW5kZW5jeU5hbWVzKSB7XG4gICAgICAgIGlmIChrbm93blBhY2thZ2VzW2RlcGVuZGVuY3lOYW1lXSkge1xuICAgICAgICAgIHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0LmFkZChkZXBlbmRlbmN5TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VNYW5pZmVzdC5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHByb2Nlc3NEZXBlbmRlbmNpZXMoT2JqZWN0LmtleXMocGFja2FnZUluZm8ucGFja2FnZU1hbmlmZXN0LmRlcGVuZGVuY2llcykpO1xuICAgIH1cblxuICAgIGlmIChwYWNrYWdlSW5mby5wYWNrYWdlTWFuaWZlc3QuZGV2RGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VNYW5pZmVzdC5kZXZEZXBlbmRlbmNpZXMpKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZERlcGVuZGVuY2llcyA9IFsuLi5yZXF1aXJlZERlcGVuZGVuY2llc1NldF07XG4gICAgaWYgKHJlcXVpcmVkRGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuICAgICAgbG9nKFxuICAgICAgICBgICBJdCBkZXBlbmRzIG9uOlxcbiR7cmVxdWlyZWREZXBlbmRlbmNpZXNcbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtkZXB9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgICAgYCAgJHtjaGFsay5ib2xkKHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lKX0gaGFzIG5vIGRlcGVuZGVuY2llc2BcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBlY3RlZE5vbkRpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuanNvbmA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBleHBlY3RlZERpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuZGlzdC5qc29uYDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0c2NvbmZpZ09iaikge1xuICAgICAgYXdhaXQgY2hlY2tUc0NvbmZpZ0ZpbGUoe1xuICAgICAgICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBleHBlY3RlZE5vbkRpc3QsXG4gICAgICAgIHBhY2thZ2VJbmZvLFxuICAgICAgICBzdGF0cyxcbiAgICAgICAgdHNjb25maWdGaWxlLFxuICAgICAgICB0c2NvbmZpZ09iaixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0c2NvbmZpZ0Rpc3RPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWREaXN0LFxuICAgICAgICBwYWNrYWdlSW5mbyxcbiAgICAgICAgc3RhdHMsXG4gICAgICAgIHRzY29uZmlnRmlsZTogdHNjb25maWdEaXN0RmlsZSxcbiAgICAgICAgdHNjb25maWdPYmo6IHRzY29uZmlnRGlzdE9iaixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBcXG4ke2NoYWxrLmJvbGQuZ3JlZW4oJ0ZpbmlzaGVkIGNoZWNraW5nIHRzY29uZmlnLmRpc3QuanNvbiBmaWxlcy4nKX1gXG4gICk7XG5cbiAgaWYgKGlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyByZXBhaXJlZDogJHtzdGF0cy5wcm9ibGVtRmlsZUNvdW50fVxcbmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyB3aXRoIHByb2JsZW1zOiAke3N0YXRzLnByb2JsZW1GaWxlQ291bnR9XFxuYCk7XG4gIH1cblxuICBpZiAoc3RhdHMucHJvYmxlbUZpbGVDb3VudCAmJiAhaXNSZXBhaXJFbmFibGVkKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGNoYWxrLmJvbGQucmVkKGBQcm9ibGVtcyB3ZXJlIGZvdW5kIGluIHRzY29uZmlnIGZpbGVzIChwbGVhc2UgcmV2aWV3KS5cXG5gKVxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDI7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgaWYgKGlzTW9ub3JlcG8pIHtcbiAgICBhd2FpdCBjaGVja01vbm9yZXBvKCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coYHRzY29uZmlnIGNoZWNrcyBhcmUgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZvciBtb25vcmVwb3NgKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPVxuICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrID8/IFN0cmluZyhlcnIpIDogU3RyaW5nKGVycik7XG4gIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKGNoYWxrLmJvbGQoJ0Vycm9yIG9jY3VycmVkLiAnKSArIG1lc3NhZ2UpKTtcbn0pO1xuIl19
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
38
  };
@@ -91,6 +101,7 @@ async function run() {
91
101
  }
92
102
  }
93
103
  run().catch((err) => {
94
- console.error('Error occurred! ' + (err.stack || err.toString()));
104
+ const message = err instanceof Error ? err.stack ?? String(err) : String(err);
105
+ console.error('Error occurred! ' + message);
95
106
  });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi95YWxjLWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0ZBQThFO0FBQzlFLDJDQUE2QjtBQUM3QixnREFBd0I7QUFFeEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUU5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDO0tBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRTtJQUNqQixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDLENBQUMsSUFLSixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUM7QUFFekMsU0FBUyxZQUFZLENBQUMsVUFBa0I7SUFDdEMsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztLQUMxQztJQUNELElBQUksQ0FBQyxhQUFhLENBQUM7UUFDakIsVUFBVSxFQUFFLFVBQVU7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxVQUFVLENBQUMsQ0FBQztLQUN0QztBQUNILENBQUM7QUFDRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1REFBMEIsRUFBQztRQUNoRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLE9BQU87S0FDUjtJQUVELEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxFQUFFO1FBQ2pDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDOUI7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQjtJQUMvQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFakMsTUFBTSxXQUFXLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFBLHVDQUFrQixFQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0UsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0tBQ1I7SUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE9BQU8sZUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3pCO0lBRUQsTUFBTSxrQkFBa0IsRUFBRSxDQUFDO0lBRTNCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNsQixNQUFNLG1CQUFtQixFQUFFLENBQUM7S0FDN0I7QUFDSCxDQUFDO0FBRUQsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IHsgcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSc7XG5pbXBvcnQgKiBhcyB5YWxjIGZyb20gJ3lhbGMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ21vbm9yZXBvJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lzIHRoaXMgYSBtb25vcmVwbz8gSWYgc28sIHBhY2thZ2VzIHdpbGwgYmUgY2hlY2tlZCcsXG4gIH0pXG4gIC5vcHRpb24oJ3ZlcmJvc2UnLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KS5hcmd2IGFzIHtcbiAgaGVscD86IGJvb2xlYW47XG4gIG1vbm9yZXBvPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuY29uc3QgaXNWZXJib3NlID0gaW5wdXQudmVyYm9zZSA9PT0gdHJ1ZTtcblxuZnVuY3Rpb24gY2hlY2tQYWNrYWdlKHBhY2thZ2VEaXI6IHN0cmluZykge1xuICBpZiAoaXNWZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coYENoZWNraW5nICR7cGFja2FnZURpcn0uLi5gKTtcbiAgfVxuICB5YWxjLmNoZWNrTWFuaWZlc3Qoe1xuICAgIHdvcmtpbmdEaXI6IHBhY2thZ2VEaXIsXG4gIH0pO1xuICBpZiAoaXNWZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coYCR7cGFja2FnZURpcn0gY2hlY2tlZGApO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiB5YWxjUHVibGlzaE1vbm9yZXBvKCkge1xuICBjb25zdCBwYWNrYWdlcyA9IGF3YWl0IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpKHtcbiAgICBsb2c6IChtc2cpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKG1zZyk7XG4gICAgfSxcbiAgICByb290RGlyOiBwcm9jZXNzLmN3ZCgpLFxuICB9KTtcblxuICBpZiAoIXBhY2thZ2VzLmxlbmd0aCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGNoZWNrUGFja2FnZShjdXJQYWNrYWdlLmRpcik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tTaW5nbGVQYWNrYWdlKCkge1xuICBjb25zdCBwYWNrYWdlRGlyID0gcHJvY2Vzcy5jd2QoKTtcblxuICBjb25zdCBwYWNrYWdlRmlsZSA9IHBhdGguam9pbihwYWNrYWdlRGlyLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShwYWNrYWdlRmlsZSwgY29uc29sZS5sb2cpO1xuICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNoZWNrUGFja2FnZShwYWNrYWdlRGlyKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgYXdhaXQgY2hlY2tTaW5nbGVQYWNrYWdlKCk7XG5cbiAgaWYgKGlucHV0Lm1vbm9yZXBvKSB7XG4gICAgYXdhaXQgeWFsY1B1Ymxpc2hNb25vcmVwbygpO1xuICB9XG59XG5cbnJ1bigpLmNhdGNoKChlcnIpID0+IHtcbiAgY29uc29sZS5lcnJvcignRXJyb3Igb2NjdXJyZWQhICcgKyAoZXJyLnN0YWNrIHx8IGVyci50b1N0cmluZygpKSk7XG59KTtcbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi95YWxjLWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtGQUE4RTtBQUM5RSwyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBRXhCLGtEQUEwQjtBQUMxQixrRUFBOEQ7QUFFOUQsTUFBTSxLQUFLLEdBQUcsZUFBSztLQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsS0FBSyxFQUFFLE1BQU07SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxREFBcUQ7Q0FDbkUsQ0FBQztLQUNELE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDakIsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQyxDQUFDLElBS0osQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO0FBRXpDLFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3RDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNqQixVQUFVLEVBQUUsVUFBVTtLQUN2QixDQUFDLENBQUM7SUFDSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFDRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1REFBMEIsRUFBQztRQUNoRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLE1BQU0sVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsa0JBQWtCO0lBQy9CLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVqQyxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEVBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxlQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEVBQUUsQ0FBQztJQUUzQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQixNQUFNLG1CQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixNQUFNLE9BQU8sR0FDWCxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGknO1xuaW1wb3J0ICogYXMgeWFsYyBmcm9tICd5YWxjJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcblxuY29uc3QgaW5wdXQgPSB5YXJnc1xuICAub3B0aW9uKCdoJywge1xuICAgIGFsaWFzOiAnaGVscCcsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGEgbW9ub3JlcG8/IElmIHNvLCBwYWNrYWdlcyB3aWxsIGJlIGNoZWNrZWQnLFxuICB9KVxuICAub3B0aW9uKCd2ZXJib3NlJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIHZlcmJvc2U/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmNvbnN0IGlzVmVyYm9zZSA9IGlucHV0LnZlcmJvc2UgPT09IHRydWU7XG5cbmZ1bmN0aW9uIGNoZWNrUGFja2FnZShwYWNrYWdlRGlyOiBzdHJpbmcpIHtcbiAgaWYgKGlzVmVyYm9zZSkge1xuICAgIGNvbnNvbGUubG9nKGBDaGVja2luZyAke3BhY2thZ2VEaXJ9Li4uYCk7XG4gIH1cbiAgeWFsYy5jaGVja01hbmlmZXN0KHtcbiAgICB3b3JraW5nRGlyOiBwYWNrYWdlRGlyLFxuICB9KTtcbiAgaWYgKGlzVmVyYm9zZSkge1xuICAgIGNvbnNvbGUubG9nKGAke3BhY2thZ2VEaXJ9IGNoZWNrZWRgKTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24geWFsY1B1Ymxpc2hNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXMgPSBhd2FpdCByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSh7XG4gICAgbG9nOiAobXNnKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhtc2cpO1xuICAgIH0sXG4gICAgcm9vdERpcjogcHJvY2Vzcy5jd2QoKSxcbiAgfSk7XG5cbiAgaWYgKCFwYWNrYWdlcy5sZW5ndGgpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGN1clBhY2thZ2Ugb2YgcGFja2FnZXMpIHtcbiAgICBjaGVja1BhY2thZ2UoY3VyUGFja2FnZS5kaXIpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrU2luZ2xlUGFja2FnZSgpIHtcbiAgY29uc3QgcGFja2FnZURpciA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBwYWNrYWdlTWFuaWZlc3QgPSBhd2FpdCByZWFkSnNvbkZpbGVGb3JDbGkocGFja2FnZUZpbGUsIGNvbnNvbGUubG9nKTtcbiAgaWYgKCFwYWNrYWdlTWFuaWZlc3QpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjaGVja1BhY2thZ2UocGFja2FnZURpcik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgaWYgKGlucHV0LmhlbHApIHtcbiAgICByZXR1cm4geWFyZ3Muc2hvd0hlbHAoKTtcbiAgfVxuXG4gIGF3YWl0IGNoZWNrU2luZ2xlUGFja2FnZSgpO1xuXG4gIGlmIChpbnB1dC5tb25vcmVwbykge1xuICAgIGF3YWl0IHlhbGNQdWJsaXNoTW9ub3JlcG8oKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPVxuICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrID8/IFN0cmluZyhlcnIpIDogU3RyaW5nKGVycik7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG9jY3VycmVkISAnICsgbWVzc2FnZSk7XG59KTtcbiJdfQ==
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
38
  };
@@ -96,7 +106,7 @@ async function publishSinglePackage() {
96
106
  });
97
107
  console.log(chalk_1.default.green(`Published ${chalk_1.default.bold(packageDir)}`));
98
108
  console.log(`You can now run the following in other projects to use this package:\n`);
99
- console.log(` ${chalk_1.default.bold('>')} ${chalk_1.default.blue(`npx yalc add ${packageManifest.name}`)}`);
109
+ console.log(` ${chalk_1.default.bold('>')} ${chalk_1.default.blue(`npx yalc add ${String(packageManifest.name)}`)}`);
100
110
  console.log('');
101
111
  }
102
112
  async function run() {
@@ -111,6 +121,7 @@ async function run() {
111
121
  }
112
122
  }
113
123
  run().catch((err) => {
114
- console.error('Error occurred! ' + (err.stack || err.toString()));
124
+ const message = err instanceof Error ? err.stack ?? String(err) : String(err);
125
+ console.error('Error occurred! ' + message);
115
126
  });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1wdWJsaXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL3lhbGMtcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtGQUE4RTtBQUM5RSwyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBQ3hCLGtEQUEwQjtBQUMxQiw0Q0FBb0I7QUFFcEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUU5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLGlEQUFpRDtDQUMvRCxDQUFDLENBQUMsSUFJSixDQUFDO0FBRUYsS0FBSyxVQUFVLG1CQUFtQjtJQUNoQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdURBQTBCLEVBQUM7UUFDaEQsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUN2QixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNwQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0tBQ1I7SUFFRCxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO0lBQy9DLE1BQU0sT0FBTyxHQUFHLFlBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUU3QixLQUFLLE1BQU0sVUFBVSxJQUFJLFFBQVEsRUFBRTtRQUNqQyxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQyxPQUFPLENB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QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksZUFBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FDNUUsQ0FBQztJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE9BQU8sZUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3pCO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ2xCLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQztLQUM3QjtTQUFNO1FBQ0wsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0tBQzlCO0FBQ0gsQ0FBQztBQUVELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGknO1xuaW1wb3J0ICogYXMgeWFsYyBmcm9tICd5YWxjJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5cbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ21vbm9yZXBvJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIHNvLCB0aGVuIG1vbm9yZXBvIHBhY2thZ2VzIHdpbGwgYmUgcHVibGlzaGVkJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuYXN5bmMgZnVuY3Rpb24geWFsY1B1Ymxpc2hNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXMgPSBhd2FpdCByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSh7XG4gICAgbG9nOiAobXNnKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhtc2cpO1xuICAgIH0sXG4gICAgcm9vdERpcjogcHJvY2Vzcy5jd2QoKSxcbiAgfSk7XG5cbiAgaWYgKCFwYWNrYWdlcy5sZW5ndGgpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZXNvbHV0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCBob21lRGlyID0gb3MuaG9tZWRpcigpO1xuXG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGlmIChjdXJQYWNrYWdlLnBhY2thZ2VNYW5pZmVzdC5wcml2YXRlID09PSB0cnVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFxcblNraXBwZWQgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX0gYmVjYXVzZSBpdCBpcyBwcml2YXRlYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghY3VyUGFja2FnZS5wYWNrYWdlTWFuaWZlc3QudmVyc2lvbikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBcXG5Ta2lwcGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9IGJlY2F1c2UgaXQgaGFzIG5vIHZlcnNpb25gXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYFxcblB1Ymxpc2hpbmcgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX0uLi5gKTtcbiAgICBhd2FpdCB5YWxjLnB1Ymxpc2hQYWNrYWdlKHtcbiAgICAgIHB1c2g6IHRydWUsXG4gICAgICB3b3JraW5nRGlyOiBwYXRoLmpvaW4oY3VyUGFja2FnZS5kaXIsICdkaXN0JyksXG4gICAgICAvLyB5YXJuOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKGNoYWxrLmdyZWVuKGBQdWJsaXNoZWQgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX1gKSk7XG5cbiAgICByZXNvbHV0aW9uc1tjdXJQYWNrYWdlLnBhY2thZ2VOYW1lXSA9IGBmaWxlOiR7cGF0aC5qb2luKFxuICAgICAgaG9tZURpcixcbiAgICAgICcueWFsYycsXG4gICAgICAncGFja2FnZXMnLFxuICAgICAgY3VyUGFja2FnZS5wYWNrYWdlTmFtZSxcbiAgICAgIGN1clBhY2thZ2UucGFja2FnZU1hbmlmZXN0LnZlcnNpb25cbiAgICApfWA7XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBgWW91IGNhbiBub3cgcnVuIHRoZSBmb2xsb3dpbmcgaW4gb3RoZXIgcHJvamVjdHMgdG8gdXNlIHRoZXNlIHBhY2thZ2VzOlxcbmBcbiAgKTtcbiAgZm9yIChjb25zdCBjdXJQYWNrYWdlIG9mIHBhY2thZ2VzKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgICR7Y2hhbGsuYm9sZCgnPicpfSAke2NoYWxrLmJsdWUoXG4gICAgICAgIGBucHggeWFsYyBhZGQgJHtjdXJQYWNrYWdlLnBhY2thZ2VOYW1lfWBcbiAgICAgICl9YFxuICAgICk7XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBjaGFsay5ib2xkKCdcXG5BZGQgdGhlIGZvbGxvd2luZyB0byB0aGUgcGFja2FnZS5qc29uIG9mIHRhcmdldCBwcm9qZWN0OlxcbicpXG4gICk7XG4gIGNvbnNvbGUubG9nKFxuICAgIGNoYWxrLmJsdWUoYFwicmVzb2x1dGlvbnNcIjogJHtKU09OLnN0cmluZ2lmeShyZXNvbHV0aW9ucywgbnVsbCwgMil9XFxuYClcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHVibGlzaFNpbmdsZVBhY2thZ2UoKSB7XG4gIGNvbnN0IHBhY2thZ2VEaXIgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgY29uc3QgcGFja2FnZU1hbmlmZXN0ID0gYXdhaXQgcmVhZEpzb25GaWxlRm9yQ2xpKHBhY2thZ2VGaWxlLCBjb25zb2xlLmxvZyk7XG4gIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUubG9nKGBcXG5QdWJsaXNoaW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlRGlyKX0uLi5gKTtcbiAgYXdhaXQgeWFsYy5wdWJsaXNoUGFja2FnZSh7XG4gICAgcHVzaDogdHJ1ZSxcbiAgICB3b3JraW5nRGlyOiBwYWNrYWdlRGlyLFxuICB9KTtcbiAgY29uc29sZS5sb2coY2hhbGsuZ3JlZW4oYFB1Ymxpc2hlZCAke2NoYWxrLmJvbGQocGFja2FnZURpcil9YCkpO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBZb3UgY2FuIG5vdyBydW4gdGhlIGZvbGxvd2luZyBpbiBvdGhlciBwcm9qZWN0cyB0byB1c2UgdGhpcyBwYWNrYWdlOlxcbmBcbiAgKTtcbiAgY29uc29sZS5sb2coXG4gICAgYCAke2NoYWxrLmJvbGQoJz4nKX0gJHtjaGFsay5ibHVlKGBucHggeWFsYyBhZGQgJHtwYWNrYWdlTWFuaWZlc3QubmFtZX1gKX1gXG4gICk7XG4gIGNvbnNvbGUubG9nKCcnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgaWYgKGlucHV0Lm1vbm9yZXBvKSB7XG4gICAgYXdhaXQgeWFsY1B1Ymxpc2hNb25vcmVwbygpO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IHB1Ymxpc2hTaW5nbGVQYWNrYWdlKCk7XG4gIH1cbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4ge1xuICBjb25zb2xlLmVycm9yKCdFcnJvciBvY2N1cnJlZCEgJyArIChlcnIuc3RhY2sgfHwgZXJyLnRvU3RyaW5nKCkpKTtcbn0pO1xuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1wdWJsaXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL3lhbGMtcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxrRkFBOEU7QUFDOUUsMkNBQTZCO0FBQzdCLGdEQUF3QjtBQUN4QixrREFBMEI7QUFDMUIsNENBQW9CO0FBRXBCLGtEQUEwQjtBQUMxQixrRUFBOEQ7QUFHOUQsTUFBTSxLQUFLLEdBQUcsZUFBSztLQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsS0FBSyxFQUFFLE1BQU07SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxpREFBaUQ7Q0FDL0QsQ0FBQyxDQUFDLElBSUosQ0FBQztBQUVGLEtBQUssVUFBVSxtQkFBbUI7SUFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHVEQUEwQixFQUFDO1FBQ2hELEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsWUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRTdCLEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sS0FB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Q0FBQyxHQUFHLENBQ1Qsd0VBQXdFLENBQ3pFLENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUNULElBQUksZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxlQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNwRixDQUFDO0lBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsS0FBSyxVQUFVLEdBQUc7SUFDaEIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLGVBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkIsTUFBTSxtQkFBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDO0FBRUQsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDbEIsTUFBTSxPQUFPLEdBQ1gsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRSxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpJztcbmltcG9ydCAqIGFzIHlhbGMgZnJvbSAneWFsYyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcbmltcG9ydCB7IFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ34vc3JjL3R5cGVzJztcblxuY29uc3QgaW5wdXQgPSB5YXJnc1xuICAub3B0aW9uKCdoJywge1xuICAgIGFsaWFzOiAnaGVscCcsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJZiBzbywgdGhlbiBtb25vcmVwbyBwYWNrYWdlcyB3aWxsIGJlIHB1Ymxpc2hlZCcsXG4gIH0pLmFyZ3YgYXMge1xuICBoZWxwPzogYm9vbGVhbjtcbiAgbW9ub3JlcG8/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIHlhbGNQdWJsaXNoTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzID0gYXdhaXQgcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkoe1xuICAgIGxvZzogKG1zZykgPT4ge1xuICAgICAgY29uc29sZS5sb2cobXNnKTtcbiAgICB9LFxuICAgIHJvb3REaXI6IHByb2Nlc3MuY3dkKCksXG4gIH0pO1xuXG4gIGlmICghcGFja2FnZXMubGVuZ3RoKSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgY29uc3QgaG9tZURpciA9IG9zLmhvbWVkaXIoKTtcblxuICBmb3IgKGNvbnN0IGN1clBhY2thZ2Ugb2YgcGFja2FnZXMpIHtcbiAgICBpZiAoY3VyUGFja2FnZS5wYWNrYWdlTWFuaWZlc3QucHJpdmF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBcXG5Ta2lwcGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9IGJlY2F1c2UgaXQgaXMgcHJpdmF0ZWBcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWN1clBhY2thZ2UucGFja2FnZU1hbmlmZXN0LnZlcnNpb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgXFxuU2tpcHBlZCAke2NoYWxrLmJvbGQoY3VyUGFja2FnZS5kaXIpfSBiZWNhdXNlIGl0IGhhcyBubyB2ZXJzaW9uYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBcXG5QdWJsaXNoaW5nICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9Li4uYCk7XG4gICAgYXdhaXQgeWFsYy5wdWJsaXNoUGFja2FnZSh7XG4gICAgICBwdXNoOiB0cnVlLFxuICAgICAgd29ya2luZ0RpcjogcGF0aC5qb2luKGN1clBhY2thZ2UuZGlyLCAnZGlzdCcpLFxuICAgICAgLy8geWFybjogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZyhjaGFsay5ncmVlbihgUHVibGlzaGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9YCkpO1xuXG4gICAgcmVzb2x1dGlvbnNbY3VyUGFja2FnZS5wYWNrYWdlTmFtZV0gPSBgZmlsZToke3BhdGguam9pbihcbiAgICAgIGhvbWVEaXIsXG4gICAgICAnLnlhbGMnLFxuICAgICAgJ3BhY2thZ2VzJyxcbiAgICAgIGN1clBhY2thZ2UucGFja2FnZU5hbWUsXG4gICAgICBjdXJQYWNrYWdlLnBhY2thZ2VNYW5pZmVzdC52ZXJzaW9uXG4gICAgKX1gO1xuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgYFlvdSBjYW4gbm93IHJ1biB0aGUgZm9sbG93aW5nIGluIG90aGVyIHByb2plY3RzIHRvIHVzZSB0aGVzZSBwYWNrYWdlczpcXG5gXG4gICk7XG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCAke2NoYWxrLmJvbGQoJz4nKX0gJHtjaGFsay5ibHVlKFxuICAgICAgICBgbnB4IHlhbGMgYWRkICR7Y3VyUGFja2FnZS5wYWNrYWdlTmFtZX1gXG4gICAgICApfWBcbiAgICApO1xuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgY2hhbGsuYm9sZCgnXFxuQWRkIHRoZSBmb2xsb3dpbmcgdG8gdGhlIHBhY2thZ2UuanNvbiBvZiB0YXJnZXQgcHJvamVjdDpcXG4nKVxuICApO1xuICBjb25zb2xlLmxvZyhcbiAgICBjaGFsay5ibHVlKGBcInJlc29sdXRpb25zXCI6ICR7SlNPTi5zdHJpbmdpZnkocmVzb2x1dGlvbnMsIG51bGwsIDIpfVxcbmApXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHB1Ymxpc2hTaW5nbGVQYWNrYWdlKCkge1xuICBjb25zdCBwYWNrYWdlRGlyID0gcHJvY2Vzcy5jd2QoKTtcblxuICBjb25zdCBwYWNrYWdlRmlsZSA9IHBhdGguam9pbihwYWNrYWdlRGlyLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaTxQYWNrYWdlTWFuaWZlc3Q+KHBhY2thZ2VGaWxlLCBjb25zb2xlLmxvZyk7XG4gIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUubG9nKGBcXG5QdWJsaXNoaW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlRGlyKX0uLi5gKTtcbiAgYXdhaXQgeWFsYy5wdWJsaXNoUGFja2FnZSh7XG4gICAgcHVzaDogdHJ1ZSxcbiAgICB3b3JraW5nRGlyOiBwYWNrYWdlRGlyLFxuICB9KTtcbiAgY29uc29sZS5sb2coY2hhbGsuZ3JlZW4oYFB1Ymxpc2hlZCAke2NoYWxrLmJvbGQocGFja2FnZURpcil9YCkpO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBZb3UgY2FuIG5vdyBydW4gdGhlIGZvbGxvd2luZyBpbiBvdGhlciBwcm9qZWN0cyB0byB1c2UgdGhpcyBwYWNrYWdlOlxcbmBcbiAgKTtcbiAgY29uc29sZS5sb2coXG4gICAgYCAke2NoYWxrLmJvbGQoJz4nKX0gJHtjaGFsay5ibHVlKGBucHggeWFsYyBhZGQgJHtTdHJpbmcocGFja2FnZU1hbmlmZXN0Lm5hbWUpfWApfWBcbiAgKTtcbiAgY29uc29sZS5sb2coJycpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gIGlmIChpbnB1dC5oZWxwKSB7XG4gICAgcmV0dXJuIHlhcmdzLnNob3dIZWxwKCk7XG4gIH1cblxuICBpZiAoaW5wdXQubW9ub3JlcG8pIHtcbiAgICBhd2FpdCB5YWxjUHVibGlzaE1vbm9yZXBvKCk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgcHVibGlzaFNpbmdsZVBhY2thZ2UoKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPVxuICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrID8/IFN0cmluZyhlcnIpIDogU3RyaW5nKGVycik7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG9jY3VycmVkISAnICsgbWVzc2FnZSk7XG59KTtcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  import { LogFunc } from '~/src/types';
2
- export declare function readJsonFileForCli(file: string, log: LogFunc): Promise<any>;
2
+ export declare function readJsonFileForCli<T = Record<string, unknown>>(file: string, log: LogFunc): Promise<T | undefined>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readJsonFileForCli = void 0;
6
+ exports.readJsonFileForCli = readJsonFileForCli;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const fs_1 = require("fs");
9
9
  async function readJsonFileForCli(file, log) {
@@ -12,7 +12,7 @@ async function readJsonFileForCli(file, log) {
12
12
  contents = await fs_1.promises.readFile(file, { encoding: 'utf8' });
13
13
  }
14
14
  catch (err) {
15
- log(chalk_1.default.yellow(`Error reading ${chalk_1.default.bold(file)}. ${err.toString()} (skipping)`));
15
+ log(chalk_1.default.yellow(`Error reading ${chalk_1.default.bold(file)}. ${String(err)} (skipping)`));
16
16
  return undefined;
17
17
  }
18
18
  let obj;
@@ -20,10 +20,9 @@ async function readJsonFileForCli(file, log) {
20
20
  obj = JSON.parse(contents);
21
21
  }
22
22
  catch (err) {
23
- log(chalk_1.default.yellow(`Error parsing ${chalk_1.default.bold(file)}. ${err.toString()} (skipping)`));
23
+ log(chalk_1.default.yellow(`Error parsing ${chalk_1.default.bold(file)}. ${String(err)} (skipping)`));
24
24
  return undefined;
25
25
  }
26
26
  return obj;
27
27
  }
28
- exports.readJsonFileForCli = readJsonFileForCli;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEpzb25GaWxlRm9yQ2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWRKc29uRmlsZUZvckNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsMkJBQW9DO0FBRTdCLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsR0FBWTtJQUNqRSxJQUFJLFFBQWdCLENBQUM7SUFDckIsSUFBSTtRQUNGLFFBQVEsR0FBRyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDMUQ7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLGlCQUFpQixlQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNsRSxDQUNGLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELElBQUksR0FBRyxDQUFDO0lBQ1IsSUFBSTtRQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzVCO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FDbEUsQ0FDRixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUExQkQsZ0RBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nRnVuYyB9IGZyb20gJ34vc3JjL3R5cGVzJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uRmlsZUZvckNsaShmaWxlOiBzdHJpbmcsIGxvZzogTG9nRnVuYykge1xuICBsZXQgY29udGVudHM6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGUsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgRXJyb3IgcmVhZGluZyAke2NoYWxrLmJvbGQoZmlsZSl9LiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBvYmo7XG4gIHRyeSB7XG4gICAgb2JqID0gSlNPTi5wYXJzZShjb250ZW50cyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHBhcnNpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEpzb25GaWxlRm9yQ2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWRKc29uRmlsZUZvckNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLGdEQTRCQztBQS9CRCxrREFBMEI7QUFDMUIsMkJBQW9DO0FBRTdCLEtBQUssVUFBVSxrQkFBa0IsQ0FFdEMsSUFBWSxFQUFFLEdBQVk7SUFDMUIsSUFBSSxRQUFnQixDQUFDO0lBQ3JCLElBQUksQ0FBQztRQUNILFFBQVEsR0FBRyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FDL0QsQ0FDRixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksR0FBTSxDQUFDO0lBQ1gsSUFBSSxDQUFDO1FBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFNLENBQUM7SUFDbEMsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FDL0QsQ0FDRixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ0Z1bmMgfSBmcm9tICd+L3NyYy90eXBlcyc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkSnNvbkZpbGVGb3JDbGk8XG4gIFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oZmlsZTogc3RyaW5nLCBsb2c6IExvZ0Z1bmMpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IGNvbnRlbnRzOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlLCB7IGVuY29kaW5nOiAndXRmOCcgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHJlYWRpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgb2JqOiBUO1xuICB0cnkge1xuICAgIG9iaiA9IEpTT04ucGFyc2UoY29udGVudHMpIGFzIFQ7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHBhcnNpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuIl19
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readMonorepoPackagesForCli = void 0;
6
+ exports.readMonorepoPackagesForCli = readMonorepoPackagesForCli;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
@@ -18,7 +18,7 @@ async function readMonorepoPackagesForCli(options) {
18
18
  packagesReadDirResult = await fs_1.promises.readdir(packagesDir);
19
19
  }
20
20
  catch (err) {
21
- log(chalk_1.default.yellow(`Unable to read monorepo packages at ${chalk_1.default.bold(packagesDir)} (probably not a monorepo). Error: ${err.toString()} (skipping)`));
21
+ log(chalk_1.default.yellow(`Unable to read monorepo packages at ${chalk_1.default.bold(packagesDir)} (probably not a monorepo). Error: ${String(err)} (skipping)`));
22
22
  return packages;
23
23
  }
24
24
  for (const packageDirName of packagesReadDirResult) {
@@ -52,5 +52,4 @@ async function readMonorepoPackagesForCli(options) {
52
52
  }
53
53
  return packages;
54
54
  }
55
- exports.readMonorepoPackagesForCli = readMonorepoPackagesForCli;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsNkRBQThEO0FBR3ZELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxPQUdoRDtJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFbkMsTUFBTSxhQUFhLEdBQWdDLEVBQUUsQ0FBQztJQUV0RCxJQUFJLHFCQUFxQixDQUFDO0lBRTFCLElBQUk7UUFDRixxQkFBcUIsR0FBRyxNQUFNLGFBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDdkQ7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLHVDQUF1QyxlQUFLLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQ1osc0NBQXNDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNuRSxDQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELEtBQUssTUFBTSxjQUFjLElBQUkscUJBQXFCLEVBQUU7UUFDbEQsTUFBTSxVQUFVLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxhQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMsU0FBUztTQUNWO1FBRUQsTUFBTSxXQUFXLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxlQUFlLEdBQW9CLE1BQU0sSUFBQSx1Q0FBa0IsRUFDL0QsV0FBVyxFQUNYLEdBQUcsQ0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixTQUFTO1NBQ1Y7UUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsR0FBRyxDQUNELGVBQUssQ0FBQyxNQUFNLENBQ1YsOEJBQThCLGVBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDbkUsQ0FDRixDQUFDO1lBQ0YsU0FBUztTQUNWO1FBRUQsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDOUIsR0FBRyxDQUNELGVBQUssQ0FBQyxNQUFNLENBQ1YseUNBQXlDLGVBQUssQ0FBQyxJQUFJLENBQ2pELFdBQVcsQ0FDWixjQUFjLENBQ2hCLENBQ0YsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUN6RDtRQUVELE1BQU0sV0FBVyxHQUFnQjtZQUMvQixXQUFXO1lBQ1gsR0FBRyxFQUFFLFVBQVU7WUFDZixPQUFPLEVBQUUsY0FBYztZQUN2QixXQUFXO1lBQ1gsZUFBZTtTQUNoQixDQUFDO1FBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM1QjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUF6RUQsZ0VBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuaW1wb3J0IHsgTG9nRnVuYywgUGFja2FnZUluZm8sIFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ34vc3JjL3R5cGVzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpKG9wdGlvbnM6IHtcbiAgcm9vdERpcjogc3RyaW5nO1xuICBsb2c6IExvZ0Z1bmM7XG59KTogUHJvbWlzZTxQYWNrYWdlSW5mb1tdPiB7XG4gIGNvbnN0IHsgcm9vdERpciwgbG9nIH0gPSBvcHRpb25zO1xuICBjb25zdCBwYWNrYWdlc0RpciA9IHBhdGguam9pbihyb290RGlyLCAncGFja2FnZXMnKTtcbiAgY29uc3QgcGFja2FnZXM6IFBhY2thZ2VJbmZvW10gPSBbXTtcblxuICBjb25zdCBrbm93blBhY2thZ2VzOiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSW5mbz4gPSB7fTtcblxuICBsZXQgcGFja2FnZXNSZWFkRGlyUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgcGFja2FnZXNSZWFkRGlyUmVzdWx0ID0gYXdhaXQgZnMucmVhZGRpcihwYWNrYWdlc0Rpcik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYFVuYWJsZSB0byByZWFkIG1vbm9yZXBvIHBhY2thZ2VzIGF0ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlc0RpclxuICAgICAgICApfSAocHJvYmFibHkgbm90IGEgbW9ub3JlcG8pLiBFcnJvcjogJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiBwYWNrYWdlcztcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlTWFuaWZlc3Q6IFBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgbG9nXG4gICAgKTtcbiAgICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTWFuaWZlc3QubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlIHBhY2thZ2VzIGZvdW5kIChhYm9ydGluZyEpYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUluZm86IFBhY2thZ2VJbmZvID0ge1xuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBkaXI6IHBhY2thZ2VEaXIsXG4gICAgICBkaXJOYW1lOiBwYWNrYWdlRGlyTmFtZSxcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgcGFja2FnZU1hbmlmZXN0LFxuICAgIH07XG4gICAgcGFja2FnZXMucHVzaChwYWNrYWdlSW5mbyk7XG4gIH1cblxuICByZXR1cm4gcGFja2FnZXM7XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxnRUF5RUM7QUEvRUQsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsNkRBQThEO0FBR3ZELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxPQUdoRDtJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFbkMsTUFBTSxhQUFhLEdBQWdDLEVBQUUsQ0FBQztJQUV0RCxJQUFJLHFCQUFxQixDQUFDO0lBRTFCLElBQUksQ0FBQztRQUNILHFCQUFxQixHQUFHLE1BQU0sYUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLHVDQUF1QyxlQUFLLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQ1osc0NBQXNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUNoRSxDQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLE1BQU0sYUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDbEMsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEVBQzlDLFdBQVcsRUFDWCxHQUFHLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLDhCQUE4QixlQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQ25FLENBQ0YsQ0FBQztZQUNGLFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVix5Q0FBeUMsZUFBSyxDQUFDLElBQUksQ0FDakQsV0FBVyxDQUNaLGNBQWMsQ0FDaEIsQ0FDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsV0FBVztZQUNYLEdBQUcsRUFBRSxVQUFVO1lBQ2YsT0FBTyxFQUFFLGNBQWM7WUFDdkIsV0FBVztZQUNYLGVBQWU7U0FDaEIsQ0FBQztRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHJlYWRKc29uRmlsZUZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRKc29uRmlsZUZvckNsaSc7XG5pbXBvcnQgeyBMb2dGdW5jLCBQYWNrYWdlSW5mbywgUGFja2FnZU1hbmlmZXN0IH0gZnJvbSAnfi9zcmMvdHlwZXMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkob3B0aW9uczoge1xuICByb290RGlyOiBzdHJpbmc7XG4gIGxvZzogTG9nRnVuYztcbn0pOiBQcm9taXNlPFBhY2thZ2VJbmZvW10+IHtcbiAgY29uc3QgeyByb290RGlyLCBsb2cgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHBhY2thZ2VzRGlyID0gcGF0aC5qb2luKHJvb3REaXIsICdwYWNrYWdlcycpO1xuICBjb25zdCBwYWNrYWdlczogUGFja2FnZUluZm9bXSA9IFtdO1xuXG4gIGNvbnN0IGtub3duUGFja2FnZXM6IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VJbmZvPiA9IHt9O1xuXG4gIGxldCBwYWNrYWdlc1JlYWREaXJSZXN1bHQ7XG5cbiAgdHJ5IHtcbiAgICBwYWNrYWdlc1JlYWREaXJSZXN1bHQgPSBhd2FpdCBmcy5yZWFkZGlyKHBhY2thZ2VzRGlyKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgVW5hYmxlIHRvIHJlYWQgbW9ub3JlcG8gcGFja2FnZXMgYXQgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VzRGlyXG4gICAgICAgICl9IChwcm9iYWJseSBub3QgYSBtb25vcmVwbykuIEVycm9yOiAke1N0cmluZyhlcnIpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHBhY2thZ2VzO1xuICB9XG5cbiAgZm9yIChjb25zdCBwYWNrYWdlRGlyTmFtZSBvZiBwYWNrYWdlc1JlYWREaXJSZXN1bHQpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gcGF0aC5qb2luKHBhY2thZ2VzRGlyLCBwYWNrYWdlRGlyTmFtZSk7XG4gICAgY29uc3QgcGFja2FnZURpclN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhY2thZ2VEaXIpO1xuICAgIGlmICghcGFja2FnZURpclN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICAgIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaTxQYWNrYWdlTWFuaWZlc3Q+KFxuICAgICAgcGFja2FnZUZpbGUsXG4gICAgICBsb2dcbiAgICApO1xuICAgIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHBhY2thZ2VNYW5pZmVzdC5uYW1lO1xuICAgIGlmICghcGFja2FnZU5hbWUpIHtcbiAgICAgIGxvZyhcbiAgICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICAgIGBQYWNrYWdlIG5hbWUgaXMgbWlzc2luZyBpbiAke2NoYWxrLmJvbGQocGFja2FnZUZpbGUpfSAoc2tpcHBpbmcpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGtub3duUGFja2FnZXNbcGFja2FnZU5hbWVdKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgRHVwbGljYXRlIHBhY2thZ2UgbmFtZSBlbmNvdW50ZXJlZCBpbiAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgICBwYWNrYWdlRmlsZVxuICAgICAgICAgICl9IChhYm9ydGluZyEpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgcGFja2FnZXMgZm91bmQgKGFib3J0aW5nISlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlSW5mbzogUGFja2FnZUluZm8gPSB7XG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGRpcjogcGFja2FnZURpcixcbiAgICAgIGRpck5hbWU6IHBhY2thZ2VEaXJOYW1lLFxuICAgICAgcGFja2FnZUZpbGUsXG4gICAgICBwYWNrYWdlTWFuaWZlc3QsXG4gICAgfTtcbiAgICBwYWNrYWdlcy5wdXNoKHBhY2thZ2VJbmZvKTtcbiAgfVxuXG4gIHJldHVybiBwYWNrYWdlcztcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,25 +1,32 @@
1
1
  {
2
2
  "name": "@jupiterone/typescript-tools",
3
- "version": "19.2.0",
3
+ "version": "20.0.1",
4
+ "description": "Shared TypeScript tooling configuration for JupiterOne projects",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/JupiterOne/typescript-tools"
8
+ },
9
+ "license": "UNLICENSED",
4
10
  "main": "./index.js",
5
- "repository": "https://github.com/jupiterone/typescript-tools",
6
11
  "author": "Development <development@jupiterone.com>",
7
- "license": "UNLICENSED",
12
+ "engines": {
13
+ "node": ">=18.0.0"
14
+ },
8
15
  "publishConfig": {
9
16
  "access": "public"
10
17
  },
11
18
  "scripts": {
12
19
  "format-code": "prettier --write '**/*.{js,ts,md,json}'",
13
- "lint": "eslint --ext .ts,.tsx,.js,.jsx .",
20
+ "lint": "eslint .",
14
21
  "format": "prettier --write '**/*.{js,jsx,ts,tsx,md,json,yaml}'",
15
- "compile": "yarn tspc --declaration -p tsconfig.json",
22
+ "compile": "tspc --declaration -p tsconfig.json",
16
23
  "clean": "rm -rf ./dist",
17
- "build": "yarn clean && yarn compile",
18
- "yalc:publish": "yarn build && node ./dist/bin/yalc-publish $@",
19
- "yalc:check": "node ./dist/bin/yalc-check $@",
24
+ "build": "npm run clean && npm run compile",
25
+ "yalc:publish": "npm run build && node ./dist/bin/yalc-publish",
26
+ "yalc:check": "node ./dist/bin/yalc-check",
20
27
  "tsconfig:repair": "node ./dist/bin/check-tsconfig --repair",
21
28
  "tsconfig:check": "node ./dist/bin/check-tsconfig --no-repair",
22
- "prepare": "husky install"
29
+ "prepare": "husky"
23
30
  },
24
31
  "bin": {
25
32
  "check-tsconfig": "./dist/bin/check-tsconfig.js",
@@ -27,26 +34,28 @@
27
34
  "yalc-check": "./dist/bin/yalc-check.js"
28
35
  },
29
36
  "dependencies": {
30
- "@babel/cli": "^7.22.10",
31
- "@babel/core": "^7.22.10",
32
- "@babel/preset-env": "^7.22.10",
33
- "@babel/preset-typescript": "^7.22.5",
34
- "@jupiterone/eslint-config": "^2.1.0",
37
+ "@babel/cli": "^7.26.4",
38
+ "@babel/core": "^7.26.9",
39
+ "@babel/preset-env": "^7.26.9",
40
+ "@babel/preset-typescript": "^7.26.0",
41
+ "@eslint/js": "^9.39.2",
42
+ "@jupiterone/eslint-config": "^4.0.0",
35
43
  "@philidem/rewrite-relative-paths": "^1.2.3",
36
- "babel-jest": "^29.6.2",
37
- "babel-plugin-module-resolver": "^5.0.0",
38
- "eslint": "^8.46.0",
39
- "husky": "^8.0.3",
40
- "jest": "^29.6.2",
41
- "lint-staged": "^13.2.3",
42
- "prettier": "^3.0.1",
43
- "prettier-plugin-organize-imports": "^3.2.3",
44
- "ts-patch": "^3.0.2",
44
+ "babel-jest": "^30.2.0",
45
+ "babel-plugin-module-resolver": "^5.0.2",
46
+ "eslint": "^9.39.2",
47
+ "globals": "^17.0.0",
48
+ "husky": "^9.1.7",
49
+ "jest": "^30.2.0",
50
+ "lint-staged": "^16.2.7",
51
+ "prettier": "^3.5.3",
52
+ "prettier-plugin-organize-imports": "^4.1.0",
53
+ "ts-patch": "^3.3.0",
45
54
  "ts-transform-paths": "^3.0.0",
46
- "typescript": "^5.1.6",
47
- "typescript-transform-paths": "^3.4.6",
55
+ "typescript": "^5.8.3",
56
+ "typescript-transform-paths": "^3.5.4",
48
57
  "yalc": "^1.0.0-pre.53",
49
- "yargs": "^17.7.2"
58
+ "yargs": "^18.0.0"
50
59
  },
51
60
  "files": [
52
61
  "LICENSE",
@@ -54,5 +63,10 @@
54
63
  "index.js",
55
64
  "config/**/*",
56
65
  "dist/**/*"
57
- ]
66
+ ],
67
+ "devDependencies": {
68
+ "@typescript-eslint/eslint-plugin": "^8.53.0",
69
+ "@typescript-eslint/parser": "^8.53.0",
70
+ "eslint-plugin-jest": "^29.12.1"
71
+ }
58
72
  }