@jupiterone/typescript-tools 20.0.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBRTFCLE1BQU0sS0FBSyxHQUFHLGVBQUs7S0FDaEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUNYLEtBQUssRUFBRSxNQUFNO0lBQ2IsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSwyQkFBMkI7Q0FDekMsQ0FBQztLQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7SUFDaEIsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsdUNBQXVDO0NBQ3JELENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDLENBQUMsSUFPSixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFFM0MsU0FBUyxHQUFHLENBQUMsR0FBVztJQUN0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTztJQUNULENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUM7QUFFRCxLQUFLLFVBQVUs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bSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5cbmNvbnN0IGlucHV0ID0geWFyZ3NcbiAgLm9wdGlvbignaCcsIHtcbiAgICBhbGlhczogJ2hlbHAnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSlcbiAgLm9wdGlvbignaHVza3knLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBjb21tYW5kIGJlaW5nIHJhbiBieSBodXNreT8nLFxuICB9KVxuICAub3B0aW9uKCdxdWlldCcsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdVc2UgcXVpZXQgbW9kZT8gKG5vIGxvZ3MpJyxcbiAgfSlcbiAgLm9wdGlvbigncmVwYWlyJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Nob3VsZCBlcnJvcnMgYmUgZml4ZWQgd2hlbiBwb3NzaWJsZT8nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGEgbW9ub3JlcG8/IElmIHNvLCBwYWNrYWdlcyB3aWxsIGJlIGNoZWNrZWQnLFxuICB9KS5hcmd2IGFzIHtcbiAgaGVscD86IGJvb2xlYW47XG4gIGh1c2t5PzogYm9vbGVhbjtcbiAgcXVpZXQ/OiBib29sZWFuO1xuICByZXBhaXI/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuY29uc3QgaXNRdWlldCA9IGlucHV0LnF1aWV0ID09PSB0cnVlO1xuY29uc3QgaXNSZXBhaXJFbmFibGVkID0gaW5wdXQucmVwYWlyID09PSB0cnVlO1xuY29uc3QgaXNNb25vcmVwbyA9IGlucHV0Lm1vbm9yZXBvID09PSB0cnVlO1xuXG5mdW5jdGlvbiBsb2cobXNnOiBzdHJpbmcpIHtcbiAgaWYgKGlzUXVpZXQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc29sZS5sb2cobXNnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZEpzb25GaWxlPFQ+KGZpbGU6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICBsZXQgY29udGVudHM6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGUsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgRXJyb3IgcmVhZGluZyAke2NoYWxrLmJvbGQoZmlsZSl9LiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBvYmo7XG4gIHRyeSB7XG4gICAgb2JqID0gSlNPTi5wYXJzZShjb250ZW50cyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHBhcnNpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG50eXBlIFBhY2thZ2VNYW5pZmVzdCA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZGV2RGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbnR5cGUgVFNDb25maWcgPSB7XG4gIHJlZmVyZW5jZXM/OiB7XG4gICAgcGF0aD86IHN0cmluZztcbiAgfVtdO1xufTtcblxudHlwZSBQYWNrYWdlSW5mbyA9IHtcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgZGlyOiBzdHJpbmc7XG4gIGRpck5hbWU6IHN0cmluZztcbiAgcGFja2FnZUZpbGU6IHN0cmluZztcbiAgcGFja2FnZU9iajogUGFja2FnZU1hbmlmZXN0O1xufTtcblxudHlwZSBDaGVja1RTQ29uZmlnU3RhdHMgPSB7XG4gIHByb2JsZW1GaWxlQ291bnQ6IG51bWJlcjtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrVHNDb25maWdGaWxlKG9wdGlvbnM6IHtcbiAgcGFja2FnZUluZm86IFBhY2thZ2VJbmZvO1xuICBzdGF0czogQ2hlY2tUU0NvbmZpZ1N0YXRzO1xuICB0c2NvbmZpZ0ZpbGU6IHN0cmluZztcbiAgdHNjb25maWdPYmo6IFRTQ29uZmlnO1xuICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBTZXQ8c3RyaW5nPjtcbn0pIHtcbiAgY29uc3QgeyBwYWNrYWdlSW5mbywgc3RhdHMsIHRzY29uZmlnRmlsZSwgdHNjb25maWdPYmogfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGV4cGVjdGVkID0gb3B0aW9ucy5leHBlY3RlZFByb2plY3RSZWZlcmVuY2VzO1xuICBjb25zdCB1bmV4cGVjdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IG1pc3NpbmcgPSBuZXcgU2V0PHN0cmluZz4oZXhwZWN0ZWQpO1xuXG4gIGZvciAoY29uc3QgcmVmIG9mIHRzY29uZmlnT2JqLnJlZmVyZW5jZXMgPz8gW10pIHtcbiAgICBpZiAocmVmLnBhdGgpIHtcbiAgICAgIGlmIChleHBlY3RlZC5oYXMocmVmLnBhdGgpKSB7XG4gICAgICAgIGxvZyhjaGFsay5ncmF5KGAgIOKckyBBbHJlYWR5IGhhcyAke3JlZi5wYXRofWApKTtcbiAgICAgICAgbWlzc2luZy5kZWxldGUocmVmLnBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5leHBlY3RlZC5hZGQocmVmLnBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh1bmV4cGVjdGVkLnNpemUpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGAgICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBoYXMgdW5leHBlY3RlZCBwcm9qZWN0IHJlZmVyZW5jZXM6XFxuJHtbLi4udW5leHBlY3RlZF1cbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtKU09OLnN0cmluZ2lmeShkZXApfVxcbmA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbignJyl9YFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBpZiAobWlzc2luZy5zaXplKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgICAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZUluZm8ucGFja2FnZU5hbWVcbiAgICAgICAgKX0gaXMgbWlzc2luZyB0aGVzZSBwcm9qZWN0IHByb2plY3QgcmVmZXJlbmNlczpcXG4ke1suLi5taXNzaW5nXVxuICAgICAgICAgIC5tYXAoKGRlcCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAgICAgLSAke0pTT04uc3RyaW5naWZ5KGRlcCl9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmICghdW5leHBlY3RlZC5zaXplICYmICFtaXNzaW5nLnNpemUpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay5ncmF5KFxuICAgICAgICBgXFxuICAke2NoYWxrLmJvbGQuZ3JlZW4oJ+KckycpfSAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZUluZm8ucGFja2FnZU5hbWVcbiAgICAgICAgKX0gaXMgZ29vZGBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0YXRzLnByb2JsZW1GaWxlQ291bnQrKztcblxuICBpZiAoaXNSZXBhaXJFbmFibGVkKSB7XG4gICAgY29uc3QgcmVwYWlyZWRSZWZlcmVuY2VzID0gWy4uLmV4cGVjdGVkXS5tYXAoKHJlZlBhdGgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdGg6IHJlZlBhdGgsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKFxuICAgICAgdHNjb25maWdGaWxlLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi50c2NvbmZpZ09iaixcbiAgICAgICAgICByZWZlcmVuY2VzOiByZXBhaXJlZFJlZmVyZW5jZXMsXG4gICAgICAgIH0sXG4gICAgICAgIG51bGwsXG4gICAgICAgIDJcbiAgICAgICksXG4gICAgICB7IGVuY29kaW5nOiAndXRmOCcgfVxuICAgICk7XG5cbiAgICBsb2coY2hhbGsuZ3JlZW4oYCAgJHtjaGFsay5ib2xkKHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lKX0gd2FzIHJlcGFpcmVkIWApKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjaGVja01vbm9yZXBvKCkge1xuICBjb25zdCBwYWNrYWdlc0RpciA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAncGFja2FnZXMnKTtcbiAgY29uc3QgcGFja2FnZXM6IFBhY2thZ2VJbmZvW10gPSBbXTtcblxuICBjb25zdCBrbm93blBhY2thZ2VzOiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSW5mbz4gPSB7fTtcbiAgY29uc3Qgc3RhdHM6IENoZWNrVFNDb25maWdTdGF0cyA9IHtcbiAgICBwcm9ibGVtRmlsZUNvdW50OiAwLFxuICB9O1xuXG4gIGxldCBwYWNrYWdlc1JlYWREaXJSZXN1bHQ7XG5cbiAgdHJ5IHtcbiAgICBwYWNrYWdlc1JlYWREaXJSZXN1bHQgPSBhd2FpdCBmcy5yZWFkZGlyKHBhY2thZ2VzRGlyKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgVW5hYmxlIHRvIHJlYWQgbW9ub3JlcG8gcGFja2FnZXMgYXQgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VzRGlyXG4gICAgICAgICl9IChwcm9iYWJseSBub3QgYSBtb25yZXBvKS4gRXJyb3I6ICR7ZXJyLnRvU3RyaW5nKCl9IChza2lwcGluZylgXG4gICAgICApXG4gICAgKTtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMztcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IHBhY2thZ2VEaXJOYW1lIG9mIHBhY2thZ2VzUmVhZERpclJlc3VsdCkge1xuICAgIGNvbnN0IHBhY2thZ2VEaXIgPSBwYXRoLmpvaW4ocGFja2FnZXNEaXIsIHBhY2thZ2VEaXJOYW1lKTtcbiAgICBjb25zdCBwYWNrYWdlRGlyU3RhdCA9IGF3YWl0IGZzLnN0YXQocGFja2FnZURpcik7XG4gICAgaWYgKCFwYWNrYWdlRGlyU3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlRmlsZSA9IHBhdGguam9pbihwYWNrYWdlRGlyLCAncGFja2FnZS5qc29uJyk7XG4gICAgY29uc3QgcGFja2FnZU9iaiA9IGF3YWl0IHJlYWRKc29uRmlsZTxQYWNrYWdlTWFuaWZlc3Q+KHBhY2thZ2VGaWxlKTtcbiAgICBpZiAoIXBhY2thZ2VPYmopIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcGFja2FnZU9iai5uYW1lO1xuICAgIGlmICghcGFja2FnZU5hbWUpIHtcbiAgICAgIGxvZyhcbiAgICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICAgIGBQYWNrYWdlIG5hbWUgaXMgbWlzc2luZyBpbiAke2NoYWxrLmJvbGQocGFja2FnZUZpbGUpfSAoc2tpcHBpbmcpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGtub3duUGFja2FnZXNbcGFja2FnZU5hbWVdKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgRHVwbGljYXRlIHBhY2thZ2UgbmFtZSBlbmNvdW50ZXJlZCBpbiAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgICBwYWNrYWdlRmlsZVxuICAgICAgICAgICl9IChhYm9ydGluZyEpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUluZm86IFBhY2thZ2VJbmZvID0ge1xuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBkaXI6IHBhY2thZ2VEaXIsXG4gICAgICBkaXJOYW1lOiBwYWNrYWdlRGlyTmFtZSxcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgcGFja2FnZU9iaixcbiAgICB9O1xuXG4gICAga25vd25QYWNrYWdlc1twYWNrYWdlTmFtZV0gPSBwYWNrYWdlSW5mbztcbiAgICBwYWNrYWdlcy5wdXNoKHBhY2thZ2VJbmZvKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZUluZm8gb2YgcGFja2FnZXMpIHtcbiAgICBsb2coYFxcbkNoZWNraW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5kaXJOYW1lKX0uLi5gKTtcblxuICAgIGNvbnN0IHRzY29uZmlnRGlzdEZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZUluZm8uZGlyLCAndHNjb25maWcuZGlzdC5qc29uJyk7XG4gICAgY29uc3QgdHNjb25maWdEaXN0T2JqID0gYXdhaXQgcmVhZEpzb25GaWxlPFRTQ29uZmlnPih0c2NvbmZpZ0Rpc3RGaWxlKTtcblxuICAgIGNvbnN0IHRzY29uZmlnRmlsZSA9IHBhdGguam9pbihwYWNrYWdlSW5mby5kaXIsICd0c2NvbmZpZy5qc29uJyk7XG4gICAgY29uc3QgdHNjb25maWdPYmogPSBhd2FpdCByZWFkSnNvbkZpbGU8VFNDb25maWc+KHRzY29uZmlnRmlsZSk7XG5cbiAgICBpZiAoIXRzY29uZmlnT2JqICYmICF0c2NvbmZpZ0Rpc3RPYmopIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgUGFja2FnZSAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZUluZm8uZGlyTmFtZVxuICAgICAgICApfSBkb2VzIG5vdCBoYXZlIHRzY29uZmlnLmpzb24gb3IgdHNjb25maWcuZGlzdC5qc29uIChza2lwcGluZylgXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWlyZWREZXBlbmRlbmNpZXNTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIGNvbnN0IHByb2Nlc3NEZXBlbmRlbmNpZXMgPSAoZGVwZW5kZW5jeU5hbWVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgZm9yIChjb25zdCBkZXBlbmRlbmN5TmFtZSBvZiBkZXBlbmRlbmN5TmFtZXMpIHtcbiAgICAgICAgaWYgKGtub3duUGFja2FnZXNbZGVwZW5kZW5jeU5hbWVdKSB7XG4gICAgICAgICAgcmVxdWlyZWREZXBlbmRlbmNpZXNTZXQuYWRkKGRlcGVuZGVuY3lOYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAocGFja2FnZUluZm8ucGFja2FnZU9iai5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHByb2Nlc3NEZXBlbmRlbmNpZXMoT2JqZWN0LmtleXMocGFja2FnZUluZm8ucGFja2FnZU9iai5kZXBlbmRlbmNpZXMpKTtcbiAgICB9XG5cbiAgICBpZiAocGFja2FnZUluZm8ucGFja2FnZU9iai5kZXZEZXBlbmRlbmNpZXMpIHtcbiAgICAgIHByb2Nlc3NEZXBlbmRlbmNpZXMoT2JqZWN0LmtleXMocGFja2FnZUluZm8ucGFja2FnZU9iai5kZXZEZXBlbmRlbmNpZXMpKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZERlcGVuZGVuY2llcyA9IFsuLi5yZXF1aXJlZERlcGVuZGVuY2llc1NldF07XG4gICAgaWYgKHJlcXVpcmVkRGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuICAgICAgbG9nKFxuICAgICAgICBgICBJdCBkZXBlbmRzIG9uOlxcbiR7cmVxdWlyZWREZXBlbmRlbmNpZXNcbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtkZXB9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgICAgYCAgJHtjaGFsay5ib2xkKHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lKX0gaGFzIG5vIGRlcGVuZGVuY2llc2BcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBlY3RlZE5vbkRpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuanNvbmA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBleHBlY3RlZERpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuZGlzdC5qc29uYDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0c2NvbmZpZ09iaikge1xuICAgICAgYXdhaXQgY2hlY2tUc0NvbmZpZ0ZpbGUoe1xuICAgICAgICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBleHBlY3RlZE5vbkRpc3QsXG4gICAgICAgIHBhY2thZ2VJbmZvLFxuICAgICAgICBzdGF0cyxcbiAgICAgICAgdHNjb25maWdGaWxlLFxuICAgICAgICB0c2NvbmZpZ09iaixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0c2NvbmZpZ0Rpc3RPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWREaXN0LFxuICAgICAgICBwYWNrYWdlSW5mbyxcbiAgICAgICAgc3RhdHMsXG4gICAgICAgIHRzY29uZmlnRmlsZTogdHNjb25maWdEaXN0RmlsZSxcbiAgICAgICAgdHNjb25maWdPYmo6IHRzY29uZmlnRGlzdE9iaixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBcXG4ke2NoYWxrLmJvbGQuZ3JlZW4oJ0ZpbmlzaGVkIGNoZWNraW5nIHRzY29uZmlnLmRpc3QuanNvbiBmaWxlcy4nKX1gXG4gICk7XG5cbiAgaWYgKGlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyByZXBhaXJlZDogJHtzdGF0cy5wcm9ibGVtRmlsZUNvdW50fVxcbmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyB3aXRoIHByb2JsZW1zOiAke3N0YXRzLnByb2JsZW1GaWxlQ291bnR9XFxuYCk7XG4gIH1cblxuICBpZiAoc3RhdHMucHJvYmxlbUZpbGVDb3VudCAmJiAhaXNSZXBhaXJFbmFibGVkKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGNoYWxrLmJvbGQucmVkKGBQcm9ibGVtcyB3ZXJlIGZvdW5kIGluIHRzY29uZmlnIGZpbGVzIChwbGVhc2UgcmV2aWV3KS5cXG5gKVxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDI7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgaWYgKGlzTW9ub3JlcG8pIHtcbiAgICBhd2FpdCBjaGVja01vbm9yZXBvKCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coYHRzY29uZmlnIGNoZWNrcyBhcmUgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZvciBtb25vcmVwb3NgKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoXG4gICAgY2hhbGsucmVkKGNoYWxrLmJvbGQoJ0Vycm9yIG9jY3VycmVkLiAnKSArIChlcnIuc3RhY2sgfHwgZXJyLnRvU3RyaW5nKCkpKVxuICApO1xufSk7XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUc5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsT0FBTyxFQUFFO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUscUNBQXFDO0NBQ25ELENBQUM7S0FDRCxNQUFNLENBQUMsT0FBTyxFQUFFO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsMkJBQTJCO0NBQ3pDLENBQUM7S0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO0lBQ2hCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHVDQUF1QztDQUNyRCxDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxREFBcUQ7Q0FDbkUsQ0FBQyxDQUFDLElBT0osQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQ3JDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQzlDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO0FBRTNDLFNBQVMsR0FBRyxDQUFDLEdBQVc7SUFDdEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE9BQU87SUFDVCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQixDQUFDO0FB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R0FBRyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixNQUFNLE9BQU8sR0FDWCxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcbmltcG9ydCB7IFBhY2thZ2VJbmZvLCBQYWNrYWdlTWFuaWZlc3QgfSBmcm9tICd+L3NyYy90eXBlcyc7XG5cbmNvbnN0IGlucHV0ID0geWFyZ3NcbiAgLm9wdGlvbignaCcsIHtcbiAgICBhbGlhczogJ2hlbHAnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSlcbiAgLm9wdGlvbignaHVza3knLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBjb21tYW5kIGJlaW5nIHJhbiBieSBodXNreT8nLFxuICB9KVxuICAub3B0aW9uKCdxdWlldCcsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdVc2UgcXVpZXQgbW9kZT8gKG5vIGxvZ3MpJyxcbiAgfSlcbiAgLm9wdGlvbigncmVwYWlyJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Nob3VsZCBlcnJvcnMgYmUgZml4ZWQgd2hlbiBwb3NzaWJsZT8nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGEgbW9ub3JlcG8/IElmIHNvLCBwYWNrYWdlcyB3aWxsIGJlIGNoZWNrZWQnLFxuICB9KS5hcmd2IGFzIHtcbiAgaGVscD86IGJvb2xlYW47XG4gIGh1c2t5PzogYm9vbGVhbjtcbiAgcXVpZXQ/OiBib29sZWFuO1xuICByZXBhaXI/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuY29uc3QgaXNRdWlldCA9IGlucHV0LnF1aWV0ID09PSB0cnVlO1xuY29uc3QgaXNSZXBhaXJFbmFibGVkID0gaW5wdXQucmVwYWlyID09PSB0cnVlO1xuY29uc3QgaXNNb25vcmVwbyA9IGlucHV0Lm1vbm9yZXBvID09PSB0cnVlO1xuXG5mdW5jdGlvbiBsb2cobXNnOiBzdHJpbmcpIHtcbiAgaWYgKGlzUXVpZXQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc29sZS5sb2cobXNnKTtcbn1cblxudHlwZSBUU0NvbmZpZyA9IHtcbiAgcmVmZXJlbmNlcz86IHtcbiAgICBwYXRoPzogc3RyaW5nO1xuICB9W107XG59O1xuXG50eXBlIENoZWNrVFNDb25maWdTdGF0cyA9IHtcbiAgcHJvYmxlbUZpbGVDb3VudDogbnVtYmVyO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tUc0NvbmZpZ0ZpbGUob3B0aW9uczoge1xuICBwYWNrYWdlSW5mbzogUGFja2FnZUluZm87XG4gIHN0YXRzOiBDaGVja1RTQ29uZmlnU3RhdHM7XG4gIHRzY29uZmlnRmlsZTogc3RyaW5nO1xuICB0c2NvbmZpZ09iajogVFNDb25maWc7XG4gIGV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM6IFNldDxzdHJpbmc+O1xufSkge1xuICBjb25zdCB7IHBhY2thZ2VJbmZvLCBzdGF0cywgdHNjb25maWdGaWxlLCB0c2NvbmZpZ09iaiB9ID0gb3B0aW9ucztcbiAgY29uc3QgZXhwZWN0ZWQgPSBvcHRpb25zLmV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM7XG4gIGNvbnN0IHVuZXhwZWN0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgbWlzc2luZyA9IG5ldyBTZXQ8c3RyaW5nPihleHBlY3RlZCk7XG5cbiAgZm9yIChjb25zdCByZWYgb2YgdHNjb25maWdPYmoucmVmZXJlbmNlcyA/PyBbXSkge1xuICAgIGlmIChyZWYucGF0aCkge1xuICAgICAgaWYgKGV4cGVjdGVkLmhhcyhyZWYucGF0aCkpIHtcbiAgICAgICAgbG9nKGNoYWxrLmdyYXkoYCAg4pyTIEFscmVhZHkgaGFzICR7cmVmLnBhdGh9YCkpO1xuICAgICAgICBtaXNzaW5nLmRlbGV0ZShyZWYucGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bmV4cGVjdGVkLmFkZChyZWYucGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZXhwZWN0ZWQuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYCAgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGhhcyB1bmV4cGVjdGVkIHByb2plY3QgcmVmZXJlbmNlczpcXG4ke1suLi51bmV4cGVjdGVkXVxuICAgICAgICAgIC5tYXAoKGRlcCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAgICAgLSAke0pTT04uc3RyaW5naWZ5KGRlcCl9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmIChtaXNzaW5nLnNpemUpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGAgICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBtaXNzaW5nIHRoZXNlIHByb2plY3QgcHJvamVjdCByZWZlcmVuY2VzOlxcbiR7Wy4uLm1pc3NpbmddXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7SlNPTi5zdHJpbmdpZnkoZGVwKX1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKCF1bmV4cGVjdGVkLnNpemUgJiYgIW1pc3Npbmcuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgIGBcXG4gICR7Y2hhbGsuYm9sZC5ncmVlbign4pyTJyl9ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBnb29kYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdHMucHJvYmxlbUZpbGVDb3VudCsrO1xuXG4gIGlmIChpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zdCByZXBhaXJlZFJlZmVyZW5jZXMgPSBbLi4uZXhwZWN0ZWRdLm1hcCgocmVmUGF0aCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogcmVmUGF0aCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICB0c2NvbmZpZ0ZpbGUsXG4gICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAge1xuICAgICAgICAgIC4uLnRzY29uZmlnT2JqLFxuICAgICAgICAgIHJlZmVyZW5jZXM6IHJlcGFpcmVkUmVmZXJlbmNlcyxcbiAgICAgICAgfSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMlxuICAgICAgKSxcbiAgICAgIHsgZW5jb2Rpbmc6ICd1dGY4JyB9XG4gICAgKTtcblxuICAgIGxvZyhjaGFsay5ncmVlbihgICAke2NoYWxrLmJvbGQocGFja2FnZUluZm8ucGFja2FnZU5hbWUpfSB3YXMgcmVwYWlyZWQhYCkpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzRGlyID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdwYWNrYWdlcycpO1xuICBjb25zdCBwYWNrYWdlczogUGFja2FnZUluZm9bXSA9IFtdO1xuXG4gIGNvbnN0IGtub3duUGFja2FnZXM6IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VJbmZvPiA9IHt9O1xuICBjb25zdCBzdGF0czogQ2hlY2tUU0NvbmZpZ1N0YXRzID0ge1xuICAgIHByb2JsZW1GaWxlQ291bnQ6IDAsXG4gIH07XG5cbiAgbGV0IHBhY2thZ2VzUmVhZERpclJlc3VsdDtcblxuICB0cnkge1xuICAgIHBhY2thZ2VzUmVhZERpclJlc3VsdCA9IGF3YWl0IGZzLnJlYWRkaXIocGFja2FnZXNEaXIpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBVbmFibGUgdG8gcmVhZCBtb25vcmVwbyBwYWNrYWdlcyBhdCAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZXNEaXJcbiAgICAgICAgKX0gKHByb2JhYmx5IG5vdCBhIG1vbnJlcG8pLiBFcnJvcjogJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAzO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlTWFuaWZlc3QgPSBhd2FpdCByZWFkSnNvbkZpbGVGb3JDbGk8UGFja2FnZU1hbmlmZXN0PihwYWNrYWdlRmlsZSwgbG9nKTtcbiAgICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTWFuaWZlc3QubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbyA9IHtcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZGlyOiBwYWNrYWdlRGlyLFxuICAgICAgZGlyTmFtZTogcGFja2FnZURpck5hbWUsXG4gICAgICBwYWNrYWdlRmlsZSxcbiAgICAgIHBhY2thZ2VNYW5pZmVzdCxcbiAgICB9O1xuXG4gICAga25vd25QYWNrYWdlc1twYWNrYWdlTmFtZV0gPSBwYWNrYWdlSW5mbztcbiAgICBwYWNrYWdlcy5wdXNoKHBhY2thZ2VJbmZvKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZUluZm8gb2YgcGFja2FnZXMpIHtcbiAgICBsb2coYFxcbkNoZWNraW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5kaXJOYW1lKX0uLi5gKTtcblxuICAgIGNvbnN0IHRzY29uZmlnRGlzdEZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZUluZm8uZGlyLCAndHNjb25maWcuZGlzdC5qc29uJyk7XG4gICAgY29uc3QgdHNjb25maWdEaXN0T2JqID0gYXdhaXQgcmVhZEpzb25GaWxlRm9yQ2xpPFRTQ29uZmlnPih0c2NvbmZpZ0Rpc3RGaWxlLCBsb2cpO1xuXG4gICAgY29uc3QgdHNjb25maWdGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VJbmZvLmRpciwgJ3RzY29uZmlnLmpzb24nKTtcbiAgICBjb25zdCB0c2NvbmZpZ09iaiA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaTxUU0NvbmZpZz4odHNjb25maWdGaWxlLCBsb2cpO1xuXG4gICAgaWYgKCF0c2NvbmZpZ09iaiAmJiAhdHNjb25maWdEaXN0T2JqKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFBhY2thZ2UgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLmRpck5hbWVcbiAgICAgICAgKX0gZG9lcyBub3QgaGF2ZSB0c2NvbmZpZy5qc29uIG9yIHRzY29uZmlnLmRpc3QuanNvbiAoc2tpcHBpbmcpYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBwcm9jZXNzRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY3lOYW1lczogc3RyaW5nW10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgZGVwZW5kZW5jeU5hbWUgb2YgZGVwZW5kZW5jeU5hbWVzKSB7XG4gICAgICAgIGlmIChrbm93blBhY2thZ2VzW2RlcGVuZGVuY3lOYW1lXSkge1xuICAgICAgICAgIHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0LmFkZChkZXBlbmRlbmN5TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VNYW5pZmVzdC5kZXBlbmRlbmNpZXMpIHtcbiAgICAgIHByb2Nlc3NEZXBlbmRlbmNpZXMoT2JqZWN0LmtleXMocGFja2FnZUluZm8ucGFja2FnZU1hbmlmZXN0LmRlcGVuZGVuY2llcykpO1xuICAgIH1cblxuICAgIGlmIChwYWNrYWdlSW5mby5wYWNrYWdlTWFuaWZlc3QuZGV2RGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VNYW5pZmVzdC5kZXZEZXBlbmRlbmNpZXMpKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZERlcGVuZGVuY2llcyA9IFsuLi5yZXF1aXJlZERlcGVuZGVuY2llc1NldF07XG4gICAgaWYgKHJlcXVpcmVkRGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuICAgICAgbG9nKFxuICAgICAgICBgICBJdCBkZXBlbmRzIG9uOlxcbiR7cmVxdWlyZWREZXBlbmRlbmNpZXNcbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtkZXB9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgICAgYCAgJHtjaGFsay5ib2xkKHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lKX0gaGFzIG5vIGRlcGVuZGVuY2llc2BcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBlY3RlZE5vbkRpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuanNvbmA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBleHBlY3RlZERpc3QgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuZGlzdC5qc29uYDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0c2NvbmZpZ09iaikge1xuICAgICAgYXdhaXQgY2hlY2tUc0NvbmZpZ0ZpbGUoe1xuICAgICAgICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBleHBlY3RlZE5vbkRpc3QsXG4gICAgICAgIHBhY2thZ2VJbmZvLFxuICAgICAgICBzdGF0cyxcbiAgICAgICAgdHNjb25maWdGaWxlLFxuICAgICAgICB0c2NvbmZpZ09iaixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0c2NvbmZpZ0Rpc3RPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWREaXN0LFxuICAgICAgICBwYWNrYWdlSW5mbyxcbiAgICAgICAgc3RhdHMsXG4gICAgICAgIHRzY29uZmlnRmlsZTogdHNjb25maWdEaXN0RmlsZSxcbiAgICAgICAgdHNjb25maWdPYmo6IHRzY29uZmlnRGlzdE9iaixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBcXG4ke2NoYWxrLmJvbGQuZ3JlZW4oJ0ZpbmlzaGVkIGNoZWNraW5nIHRzY29uZmlnLmRpc3QuanNvbiBmaWxlcy4nKX1gXG4gICk7XG5cbiAgaWYgKGlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyByZXBhaXJlZDogJHtzdGF0cy5wcm9ibGVtRmlsZUNvdW50fVxcbmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUubG9nKGAgIE51bWJlciBvZiBmaWxlcyB3aXRoIHByb2JsZW1zOiAke3N0YXRzLnByb2JsZW1GaWxlQ291bnR9XFxuYCk7XG4gIH1cblxuICBpZiAoc3RhdHMucHJvYmxlbUZpbGVDb3VudCAmJiAhaXNSZXBhaXJFbmFibGVkKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGNoYWxrLmJvbGQucmVkKGBQcm9ibGVtcyB3ZXJlIGZvdW5kIGluIHRzY29uZmlnIGZpbGVzIChwbGVhc2UgcmV2aWV3KS5cXG5gKVxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDI7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgaWYgKGlzTW9ub3JlcG8pIHtcbiAgICBhd2FpdCBjaGVja01vbm9yZXBvKCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coYHRzY29uZmlnIGNoZWNrcyBhcmUgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZvciBtb25vcmVwb3NgKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPVxuICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrID8/IFN0cmluZyhlcnIpIDogU3RyaW5nKGVycik7XG4gIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKGNoYWxrLmJvbGQoJ0Vycm9yIG9jY3VycmVkLiAnKSArIG1lc3NhZ2UpKTtcbn0pO1xuIl19
@@ -101,6 +101,7 @@ async function run() {
101
101
  }
102
102
  }
103
103
  run().catch((err) => {
104
- 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);
105
106
  });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi95YWxjLWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtGQUE4RTtBQUM5RSwyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBRXhCLGtEQUEwQjtBQUMxQixrRUFBOEQ7QUFFOUQsTUFBTSxLQUFLLEdBQUcsZUFBSztLQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsS0FBSyxFQUFFLE1BQU07SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxREFBcUQ7Q0FDbkUsQ0FBQztLQUNELE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDakIsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQyxDQUFDLElBS0osQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO0FBRXpDLFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3RDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNqQixVQUFVLEVBQUUsVUFBVTtLQUN2QixDQUFDLENBQUM7SUFDSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFDRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1REFBMEIsRUFBQztRQUNoRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLE1BQU0sVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsa0JBQWtCO0lBQy9CLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVqQyxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEVBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxlQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEVBQUUsQ0FBQztJQUUzQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQixNQUFNLG1CQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpJztcbmltcG9ydCAqIGFzIHlhbGMgZnJvbSAneWFsYyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IHJlYWRKc29uRmlsZUZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRKc29uRmlsZUZvckNsaSc7XG5cbmNvbnN0IGlucHV0ID0geWFyZ3NcbiAgLm9wdGlvbignaCcsIHtcbiAgICBhbGlhczogJ2hlbHAnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSlcbiAgLm9wdGlvbignbW9ub3JlcG8nLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBhIG1vbm9yZXBvPyBJZiBzbywgcGFja2FnZXMgd2lsbCBiZSBjaGVja2VkJyxcbiAgfSlcbiAgLm9wdGlvbigndmVyYm9zZScsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pLmFyZ3YgYXMge1xuICBoZWxwPzogYm9vbGVhbjtcbiAgbW9ub3JlcG8/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbiAgXzogc3RyaW5nW107XG59O1xuXG5jb25zdCBpc1ZlcmJvc2UgPSBpbnB1dC52ZXJib3NlID09PSB0cnVlO1xuXG5mdW5jdGlvbiBjaGVja1BhY2thZ2UocGFja2FnZURpcjogc3RyaW5nKSB7XG4gIGlmIChpc1ZlcmJvc2UpIHtcbiAgICBjb25zb2xlLmxvZyhgQ2hlY2tpbmcgJHtwYWNrYWdlRGlyfS4uLmApO1xuICB9XG4gIHlhbGMuY2hlY2tNYW5pZmVzdCh7XG4gICAgd29ya2luZ0RpcjogcGFja2FnZURpcixcbiAgfSk7XG4gIGlmIChpc1ZlcmJvc2UpIHtcbiAgICBjb25zb2xlLmxvZyhgJHtwYWNrYWdlRGlyfSBjaGVja2VkYCk7XG4gIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIHlhbGNQdWJsaXNoTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzID0gYXdhaXQgcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkoe1xuICAgIGxvZzogKG1zZykgPT4ge1xuICAgICAgY29uc29sZS5sb2cobXNnKTtcbiAgICB9LFxuICAgIHJvb3REaXI6IHByb2Nlc3MuY3dkKCksXG4gIH0pO1xuXG4gIGlmICghcGFja2FnZXMubGVuZ3RoKSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBjdXJQYWNrYWdlIG9mIHBhY2thZ2VzKSB7XG4gICAgY2hlY2tQYWNrYWdlKGN1clBhY2thZ2UuZGlyKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjaGVja1NpbmdsZVBhY2thZ2UoKSB7XG4gIGNvbnN0IHBhY2thZ2VEaXIgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgY29uc3QgcGFja2FnZU1hbmlmZXN0ID0gYXdhaXQgcmVhZEpzb25GaWxlRm9yQ2xpKHBhY2thZ2VGaWxlLCBjb25zb2xlLmxvZyk7XG4gIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY2hlY2tQYWNrYWdlKHBhY2thZ2VEaXIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gIGlmIChpbnB1dC5oZWxwKSB7XG4gICAgcmV0dXJuIHlhcmdzLnNob3dIZWxwKCk7XG4gIH1cblxuICBhd2FpdCBjaGVja1NpbmdsZVBhY2thZ2UoKTtcblxuICBpZiAoaW5wdXQubW9ub3JlcG8pIHtcbiAgICBhd2FpdCB5YWxjUHVibGlzaE1vbm9yZXBvKCk7XG4gIH1cbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4ge1xuICBjb25zb2xlLmVycm9yKCdFcnJvciBvY2N1cnJlZCEgJyArIChlcnIuc3RhY2sgfHwgZXJyLnRvU3RyaW5nKCkpKTtcbn0pO1xuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi95YWxjLWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtGQUE4RTtBQUM5RSwyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBRXhCLGtEQUEwQjtBQUMxQixrRUFBOEQ7QUFFOUQsTUFBTSxLQUFLLEdBQUcsZUFBSztLQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsS0FBSyxFQUFFLE1BQU07SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxREFBcUQ7Q0FDbkUsQ0FBQztLQUNELE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDakIsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQyxDQUFDLElBS0osQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO0FBRXpDLFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3RDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNqQixVQUFVLEVBQUUsVUFBVTtLQUN2QixDQUFDLENBQUM7SUFDSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFDRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1REFBMEIsRUFBQztRQUNoRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLE1BQU0sVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsa0JBQWtCO0lBQy9CLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVqQyxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEVBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTztJQUNULENBQUM7SUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxlQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEVBQUUsQ0FBQztJQUUzQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQixNQUFNLG1CQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixNQUFNLE9BQU8sR0FDWCxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGknO1xuaW1wb3J0ICogYXMgeWFsYyBmcm9tICd5YWxjJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcblxuY29uc3QgaW5wdXQgPSB5YXJnc1xuICAub3B0aW9uKCdoJywge1xuICAgIGFsaWFzOiAnaGVscCcsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGEgbW9ub3JlcG8/IElmIHNvLCBwYWNrYWdlcyB3aWxsIGJlIGNoZWNrZWQnLFxuICB9KVxuICAub3B0aW9uKCd2ZXJib3NlJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIHZlcmJvc2U/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmNvbnN0IGlzVmVyYm9zZSA9IGlucHV0LnZlcmJvc2UgPT09IHRydWU7XG5cbmZ1bmN0aW9uIGNoZWNrUGFja2FnZShwYWNrYWdlRGlyOiBzdHJpbmcpIHtcbiAgaWYgKGlzVmVyYm9zZSkge1xuICAgIGNvbnNvbGUubG9nKGBDaGVja2luZyAke3BhY2thZ2VEaXJ9Li4uYCk7XG4gIH1cbiAgeWFsYy5jaGVja01hbmlmZXN0KHtcbiAgICB3b3JraW5nRGlyOiBwYWNrYWdlRGlyLFxuICB9KTtcbiAgaWYgKGlzVmVyYm9zZSkge1xuICAgIGNvbnNvbGUubG9nKGAke3BhY2thZ2VEaXJ9IGNoZWNrZWRgKTtcbiAgfVxufVxuYXN5bmMgZnVuY3Rpb24geWFsY1B1Ymxpc2hNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXMgPSBhd2FpdCByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSh7XG4gICAgbG9nOiAobXNnKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhtc2cpO1xuICAgIH0sXG4gICAgcm9vdERpcjogcHJvY2Vzcy5jd2QoKSxcbiAgfSk7XG5cbiAgaWYgKCFwYWNrYWdlcy5sZW5ndGgpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGN1clBhY2thZ2Ugb2YgcGFja2FnZXMpIHtcbiAgICBjaGVja1BhY2thZ2UoY3VyUGFja2FnZS5kaXIpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrU2luZ2xlUGFja2FnZSgpIHtcbiAgY29uc3QgcGFja2FnZURpciA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBwYWNrYWdlTWFuaWZlc3QgPSBhd2FpdCByZWFkSnNvbkZpbGVGb3JDbGkocGFja2FnZUZpbGUsIGNvbnNvbGUubG9nKTtcbiAgaWYgKCFwYWNrYWdlTWFuaWZlc3QpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjaGVja1BhY2thZ2UocGFja2FnZURpcik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgaWYgKGlucHV0LmhlbHApIHtcbiAgICByZXR1cm4geWFyZ3Muc2hvd0hlbHAoKTtcbiAgfVxuXG4gIGF3YWl0IGNoZWNrU2luZ2xlUGFja2FnZSgpO1xuXG4gIGlmIChpbnB1dC5tb25vcmVwbykge1xuICAgIGF3YWl0IHlhbGNQdWJsaXNoTW9ub3JlcG8oKTtcbiAgfVxufVxuXG5ydW4oKS5jYXRjaCgoZXJyKSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPVxuICAgIGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrID8/IFN0cmluZyhlcnIpIDogU3RyaW5nKGVycik7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG9jY3VycmVkISAnICsgbWVzc2FnZSk7XG59KTtcbiJdfQ==
@@ -106,7 +106,7 @@ async function publishSinglePackage() {
106
106
  });
107
107
  console.log(chalk_1.default.green(`Published ${chalk_1.default.bold(packageDir)}`));
108
108
  console.log(`You can now run the following in other projects to use this package:\n`);
109
- 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)}`)}`);
110
110
  console.log('');
111
111
  }
112
112
  async function run() {
@@ -121,6 +121,7 @@ async function run() {
121
121
  }
122
122
  }
123
123
  run().catch((err) => {
124
- 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);
125
126
  });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1wdWJsaXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL3lhbGMtcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxrRkFBOEU7QUFDOUUsMkNBQTZCO0FBQzdCLGdEQUF3QjtBQUN4QixrREFBMEI7QUFDMUIsNENBQW9CO0FBRXBCLGtEQUEwQjtBQUMxQixrRUFBOEQ7QUFFOUQsTUFBTSxLQUFLLEdBQUcsZUFBSztLQUNoQixNQUFNLENBQUMsR0FBRyxFQUFFO0lBQ1gsS0FBSyxFQUFFLE1BQU07SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0tBQ0QsTUFBTSxDQUFDLFVBQVUsRUFBRTtJQUNsQixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxpREFBaUQ7Q0FDL0QsQ0FBQyxDQUFDLElBSUosQ0FBQztBQUVGLEtBQUssVUFBVSxtQkFBbUI7SUFDaEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHVEQUEwQixFQUFDO1FBQ2hELEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsWUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRTdCLEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sS0FB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QUFDLEdBQUcsQ0FDVCx3RUFBd0UsQ0FDekUsQ0FBQztJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQ1QsSUFBSSxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQzVFLENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCxLQUFLLFVBQVUsR0FBRztJQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9BQU8sZUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQixNQUFNLG1CQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLG9CQUFvQixFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpJztcbmltcG9ydCAqIGFzIHlhbGMgZnJvbSAneWFsYyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgcmVhZEpzb25GaWxlRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZEpzb25GaWxlRm9yQ2xpJztcblxuY29uc3QgaW5wdXQgPSB5YXJnc1xuICAub3B0aW9uKCdoJywge1xuICAgIGFsaWFzOiAnaGVscCcsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KVxuICAub3B0aW9uKCdtb25vcmVwbycsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJZiBzbywgdGhlbiBtb25vcmVwbyBwYWNrYWdlcyB3aWxsIGJlIHB1Ymxpc2hlZCcsXG4gIH0pLmFyZ3YgYXMge1xuICBoZWxwPzogYm9vbGVhbjtcbiAgbW9ub3JlcG8/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIHlhbGNQdWJsaXNoTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzID0gYXdhaXQgcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkoe1xuICAgIGxvZzogKG1zZykgPT4ge1xuICAgICAgY29uc29sZS5sb2cobXNnKTtcbiAgICB9LFxuICAgIHJvb3REaXI6IHByb2Nlc3MuY3dkKCksXG4gIH0pO1xuXG4gIGlmICghcGFja2FnZXMubGVuZ3RoKSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgY29uc3QgaG9tZURpciA9IG9zLmhvbWVkaXIoKTtcblxuICBmb3IgKGNvbnN0IGN1clBhY2thZ2Ugb2YgcGFja2FnZXMpIHtcbiAgICBpZiAoY3VyUGFja2FnZS5wYWNrYWdlTWFuaWZlc3QucHJpdmF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBcXG5Ta2lwcGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9IGJlY2F1c2UgaXQgaXMgcHJpdmF0ZWBcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWN1clBhY2thZ2UucGFja2FnZU1hbmlmZXN0LnZlcnNpb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgXFxuU2tpcHBlZCAke2NoYWxrLmJvbGQoY3VyUGFja2FnZS5kaXIpfSBiZWNhdXNlIGl0IGhhcyBubyB2ZXJzaW9uYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBcXG5QdWJsaXNoaW5nICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9Li4uYCk7XG4gICAgYXdhaXQgeWFsYy5wdWJsaXNoUGFja2FnZSh7XG4gICAgICBwdXNoOiB0cnVlLFxuICAgICAgd29ya2luZ0RpcjogcGF0aC5qb2luKGN1clBhY2thZ2UuZGlyLCAnZGlzdCcpLFxuICAgICAgLy8geWFybjogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZyhjaGFsay5ncmVlbihgUHVibGlzaGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9YCkpO1xuXG4gICAgcmVzb2x1dGlvbnNbY3VyUGFja2FnZS5wYWNrYWdlTmFtZV0gPSBgZmlsZToke3BhdGguam9pbihcbiAgICAgIGhvbWVEaXIsXG4gICAgICAnLnlhbGMnLFxuICAgICAgJ3BhY2thZ2VzJyxcbiAgICAgIGN1clBhY2thZ2UucGFja2FnZU5hbWUsXG4gICAgICBjdXJQYWNrYWdlLnBhY2thZ2VNYW5pZmVzdC52ZXJzaW9uXG4gICAgKX1gO1xuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgYFlvdSBjYW4gbm93IHJ1biB0aGUgZm9sbG93aW5nIGluIG90aGVyIHByb2plY3RzIHRvIHVzZSB0aGVzZSBwYWNrYWdlczpcXG5gXG4gICk7XG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCAke2NoYWxrLmJvbGQoJz4nKX0gJHtjaGFsay5ibHVlKFxuICAgICAgICBgbnB4IHlhbGMgYWRkICR7Y3VyUGFja2FnZS5wYWNrYWdlTmFtZX1gXG4gICAgICApfWBcbiAgICApO1xuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgY2hhbGsuYm9sZCgnXFxuQWRkIHRoZSBmb2xsb3dpbmcgdG8gdGhlIHBhY2thZ2UuanNvbiBvZiB0YXJnZXQgcHJvamVjdDpcXG4nKVxuICApO1xuICBjb25zb2xlLmxvZyhcbiAgICBjaGFsay5ibHVlKGBcInJlc29sdXRpb25zXCI6ICR7SlNPTi5zdHJpbmdpZnkocmVzb2x1dGlvbnMsIG51bGwsIDIpfVxcbmApXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHB1Ymxpc2hTaW5nbGVQYWNrYWdlKCkge1xuICBjb25zdCBwYWNrYWdlRGlyID0gcHJvY2Vzcy5jd2QoKTtcblxuICBjb25zdCBwYWNrYWdlRmlsZSA9IHBhdGguam9pbihwYWNrYWdlRGlyLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShwYWNrYWdlRmlsZSwgY29uc29sZS5sb2cpO1xuICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zb2xlLmxvZyhgXFxuUHVibGlzaGluZyAke2NoYWxrLmJvbGQocGFja2FnZURpcil9Li4uYCk7XG4gIGF3YWl0IHlhbGMucHVibGlzaFBhY2thZ2Uoe1xuICAgIHB1c2g6IHRydWUsXG4gICAgd29ya2luZ0RpcjogcGFja2FnZURpcixcbiAgfSk7XG4gIGNvbnNvbGUubG9nKGNoYWxrLmdyZWVuKGBQdWJsaXNoZWQgJHtjaGFsay5ib2xkKHBhY2thZ2VEaXIpfWApKTtcblxuICBjb25zb2xlLmxvZyhcbiAgICBgWW91IGNhbiBub3cgcnVuIHRoZSBmb2xsb3dpbmcgaW4gb3RoZXIgcHJvamVjdHMgdG8gdXNlIHRoaXMgcGFja2FnZTpcXG5gXG4gICk7XG4gIGNvbnNvbGUubG9nKFxuICAgIGAgJHtjaGFsay5ib2xkKCc+Jyl9ICR7Y2hhbGsuYmx1ZShgbnB4IHlhbGMgYWRkICR7cGFja2FnZU1hbmlmZXN0Lm5hbWV9YCl9YFxuICApO1xuICBjb25zb2xlLmxvZygnJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgaWYgKGlucHV0LmhlbHApIHtcbiAgICByZXR1cm4geWFyZ3Muc2hvd0hlbHAoKTtcbiAgfVxuXG4gIGlmIChpbnB1dC5tb25vcmVwbykge1xuICAgIGF3YWl0IHlhbGNQdWJsaXNoTW9ub3JlcG8oKTtcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBwdWJsaXNoU2luZ2xlUGFja2FnZSgpO1xuICB9XG59XG5cbnJ1bigpLmNhdGNoKChlcnIpID0+IHtcbiAgY29uc29sZS5lcnJvcignRXJyb3Igb2NjdXJyZWQhICcgKyAoZXJyLnN0YWNrIHx8IGVyci50b1N0cmluZygpKSk7XG59KTtcbiJdfQ==
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>;
@@ -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,9 +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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEpzb25GaWxlRm9yQ2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWRKc29uRmlsZUZvckNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLGdEQTBCQztBQTdCRCxrREFBMEI7QUFDMUIsMkJBQW9DO0FBRTdCLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsR0FBWTtJQUNqRSxJQUFJLFFBQWdCLENBQUM7SUFDckIsSUFBSSxDQUFDO1FBQ0gsUUFBUSxHQUFHLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLGlCQUFpQixlQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNsRSxDQUNGLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxHQUFHLENBQUM7SUFDUixJQUFJLENBQUM7UUFDSCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLGlCQUFpQixlQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNsRSxDQUNGLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nRnVuYyB9IGZyb20gJ34vc3JjL3R5cGVzJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uRmlsZUZvckNsaShmaWxlOiBzdHJpbmcsIGxvZzogTG9nRnVuYykge1xuICBsZXQgY29udGVudHM6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBjb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGUsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgRXJyb3IgcmVhZGluZyAke2NoYWxrLmJvbGQoZmlsZSl9LiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBvYmo7XG4gIHRyeSB7XG4gICAgb2JqID0gSlNPTi5wYXJzZShjb250ZW50cyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHBhcnNpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZEpzb25GaWxlRm9yQ2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWRKc29uRmlsZUZvckNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLGdEQTRCQztBQS9CRCxrREFBMEI7QUFDMUIsMkJBQW9DO0FBRTdCLEtBQUssVUFBVSxrQkFBa0IsQ0FFdEMsSUFBWSxFQUFFLEdBQVk7SUFDMUIsSUFBSSxRQUFnQixDQUFDO0lBQ3JCLElBQUksQ0FBQztRQUNILFFBQVEsR0FBRyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FDL0QsQ0FDRixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksR0FBTSxDQUFDO0lBQ1gsSUFBSSxDQUFDO1FBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFNLENBQUM7SUFDbEMsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVixpQkFBaUIsZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FDL0QsQ0FDRixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ0Z1bmMgfSBmcm9tICd+L3NyYy90eXBlcyc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkSnNvbkZpbGVGb3JDbGk8XG4gIFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oZmlsZTogc3RyaW5nLCBsb2c6IExvZ0Z1bmMpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IGNvbnRlbnRzOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlLCB7IGVuY29kaW5nOiAndXRmOCcgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHJlYWRpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgb2JqOiBUO1xuICB0cnkge1xuICAgIG9iaiA9IEpTT04ucGFyc2UoY29udGVudHMpIGFzIFQ7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHBhcnNpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtTdHJpbmcoZXJyKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuIl19
@@ -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,4 +52,4 @@ async function readMonorepoPackagesForCli(options) {
52
52
  }
53
53
  return packages;
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxnRUF5RUM7QUEvRUQsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsNkRBQThEO0FBR3ZELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxPQUdoRDtJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFbkMsTUFBTSxhQUFhLEdBQWdDLEVBQUUsQ0FBQztJQUV0RCxJQUFJLHFCQUFxQixDQUFDO0lBRTFCLElBQUksQ0FBQztRQUNILHFCQUFxQixHQUFHLE1BQU0sYUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLHVDQUF1QyxlQUFLLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQ1osc0NBQXNDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNuRSxDQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLE1BQU0sYUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDbEMsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxRCxNQUFNLGVBQWUsR0FBb0IsTUFBTSxJQUFBLHVDQUFrQixFQUMvRCxXQUFXLEVBQ1gsR0FBRyxDQUNKLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDViw4QkFBOEIsZUFBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUNuRSxDQUNGLENBQUM7WUFDRixTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUNELGVBQUssQ0FBQyxNQUFNLENBQ1YseUNBQXlDLGVBQUssQ0FBQyxJQUFJLENBQ2pELFdBQVcsQ0FDWixjQUFjLENBQ2hCLENBQ0YsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQWdCO1lBQy9CLFdBQVc7WUFDWCxHQUFHLEVBQUUsVUFBVTtZQUNmLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFdBQVc7WUFDWCxlQUFlO1NBQ2hCLENBQUM7UUFDRixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuaW1wb3J0IHsgTG9nRnVuYywgUGFja2FnZUluZm8sIFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ34vc3JjL3R5cGVzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpKG9wdGlvbnM6IHtcbiAgcm9vdERpcjogc3RyaW5nO1xuICBsb2c6IExvZ0Z1bmM7XG59KTogUHJvbWlzZTxQYWNrYWdlSW5mb1tdPiB7XG4gIGNvbnN0IHsgcm9vdERpciwgbG9nIH0gPSBvcHRpb25zO1xuICBjb25zdCBwYWNrYWdlc0RpciA9IHBhdGguam9pbihyb290RGlyLCAncGFja2FnZXMnKTtcbiAgY29uc3QgcGFja2FnZXM6IFBhY2thZ2VJbmZvW10gPSBbXTtcblxuICBjb25zdCBrbm93blBhY2thZ2VzOiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSW5mbz4gPSB7fTtcblxuICBsZXQgcGFja2FnZXNSZWFkRGlyUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgcGFja2FnZXNSZWFkRGlyUmVzdWx0ID0gYXdhaXQgZnMucmVhZGRpcihwYWNrYWdlc0Rpcik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYFVuYWJsZSB0byByZWFkIG1vbm9yZXBvIHBhY2thZ2VzIGF0ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlc0RpclxuICAgICAgICApfSAocHJvYmFibHkgbm90IGEgbW9ub3JlcG8pLiBFcnJvcjogJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiBwYWNrYWdlcztcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlTWFuaWZlc3Q6IFBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgbG9nXG4gICAgKTtcbiAgICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTWFuaWZlc3QubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlIHBhY2thZ2VzIGZvdW5kIChhYm9ydGluZyEpYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUluZm86IFBhY2thZ2VJbmZvID0ge1xuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBkaXI6IHBhY2thZ2VEaXIsXG4gICAgICBkaXJOYW1lOiBwYWNrYWdlRGlyTmFtZSxcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgcGFja2FnZU1hbmlmZXN0LFxuICAgIH07XG4gICAgcGFja2FnZXMucHVzaChwYWNrYWdlSW5mbyk7XG4gIH1cblxuICByZXR1cm4gcGFja2FnZXM7XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxnRUF5RUM7QUEvRUQsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsNkRBQThEO0FBR3ZELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxPQUdoRDtJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFbkMsTUFBTSxhQUFhLEdBQWdDLEVBQUUsQ0FBQztJQUV0RCxJQUFJLHFCQUFxQixDQUFDO0lBRTFCLElBQUksQ0FBQztRQUNILHFCQUFxQixHQUFHLE1BQU0sYUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLHVDQUF1QyxlQUFLLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQ1osc0NBQXNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUNoRSxDQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLE1BQU0sYUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDbEMsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUNBQWtCLEVBQzlDLFdBQVcsRUFDWCxHQUFHLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLDhCQUE4QixlQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQ25FLENBQ0YsQ0FBQztZQUNGLFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQ0QsZUFBSyxDQUFDLE1BQU0sQ0FDVix5Q0FBeUMsZUFBSyxDQUFDLElBQUksQ0FDakQsV0FBVyxDQUNaLGNBQWMsQ0FDaEIsQ0FDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsV0FBVztZQUNYLEdBQUcsRUFBRSxVQUFVO1lBQ2YsT0FBTyxFQUFFLGNBQWM7WUFDdkIsV0FBVztZQUNYLGVBQWU7U0FDaEIsQ0FBQztRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHJlYWRKc29uRmlsZUZvckNsaSB9IGZyb20gJ34vc3JjL3JlYWRKc29uRmlsZUZvckNsaSc7XG5pbXBvcnQgeyBMb2dGdW5jLCBQYWNrYWdlSW5mbywgUGFja2FnZU1hbmlmZXN0IH0gZnJvbSAnfi9zcmMvdHlwZXMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkob3B0aW9uczoge1xuICByb290RGlyOiBzdHJpbmc7XG4gIGxvZzogTG9nRnVuYztcbn0pOiBQcm9taXNlPFBhY2thZ2VJbmZvW10+IHtcbiAgY29uc3QgeyByb290RGlyLCBsb2cgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHBhY2thZ2VzRGlyID0gcGF0aC5qb2luKHJvb3REaXIsICdwYWNrYWdlcycpO1xuICBjb25zdCBwYWNrYWdlczogUGFja2FnZUluZm9bXSA9IFtdO1xuXG4gIGNvbnN0IGtub3duUGFja2FnZXM6IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VJbmZvPiA9IHt9O1xuXG4gIGxldCBwYWNrYWdlc1JlYWREaXJSZXN1bHQ7XG5cbiAgdHJ5IHtcbiAgICBwYWNrYWdlc1JlYWREaXJSZXN1bHQgPSBhd2FpdCBmcy5yZWFkZGlyKHBhY2thZ2VzRGlyKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgVW5hYmxlIHRvIHJlYWQgbW9ub3JlcG8gcGFja2FnZXMgYXQgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VzRGlyXG4gICAgICAgICl9IChwcm9iYWJseSBub3QgYSBtb25vcmVwbykuIEVycm9yOiAke1N0cmluZyhlcnIpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHBhY2thZ2VzO1xuICB9XG5cbiAgZm9yIChjb25zdCBwYWNrYWdlRGlyTmFtZSBvZiBwYWNrYWdlc1JlYWREaXJSZXN1bHQpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gcGF0aC5qb2luKHBhY2thZ2VzRGlyLCBwYWNrYWdlRGlyTmFtZSk7XG4gICAgY29uc3QgcGFja2FnZURpclN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhY2thZ2VEaXIpO1xuICAgIGlmICghcGFja2FnZURpclN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICAgIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaTxQYWNrYWdlTWFuaWZlc3Q+KFxuICAgICAgcGFja2FnZUZpbGUsXG4gICAgICBsb2dcbiAgICApO1xuICAgIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHBhY2thZ2VNYW5pZmVzdC5uYW1lO1xuICAgIGlmICghcGFja2FnZU5hbWUpIHtcbiAgICAgIGxvZyhcbiAgICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICAgIGBQYWNrYWdlIG5hbWUgaXMgbWlzc2luZyBpbiAke2NoYWxrLmJvbGQocGFja2FnZUZpbGUpfSAoc2tpcHBpbmcpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGtub3duUGFja2FnZXNbcGFja2FnZU5hbWVdKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgRHVwbGljYXRlIHBhY2thZ2UgbmFtZSBlbmNvdW50ZXJlZCBpbiAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgICBwYWNrYWdlRmlsZVxuICAgICAgICAgICl9IChhYm9ydGluZyEpYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgcGFja2FnZXMgZm91bmQgKGFib3J0aW5nISlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlSW5mbzogUGFja2FnZUluZm8gPSB7XG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGRpcjogcGFja2FnZURpcixcbiAgICAgIGRpck5hbWU6IHBhY2thZ2VEaXJOYW1lLFxuICAgICAgcGFja2FnZUZpbGUsXG4gICAgICBwYWNrYWdlTWFuaWZlc3QsXG4gICAgfTtcbiAgICBwYWNrYWdlcy5wdXNoKHBhY2thZ2VJbmZvKTtcbiAgfVxuXG4gIHJldHVybiBwYWNrYWdlcztcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupiterone/typescript-tools",
3
- "version": "20.0.0",
3
+ "version": "20.0.1",
4
4
  "description": "Shared TypeScript tooling configuration for JupiterOne projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,9 +38,8 @@
38
38
  "@babel/core": "^7.26.9",
39
39
  "@babel/preset-env": "^7.26.9",
40
40
  "@babel/preset-typescript": "^7.26.0",
41
- "@eslint/eslintrc": "^3.3.3",
42
41
  "@eslint/js": "^9.39.2",
43
- "@jupiterone/eslint-config": "^3.0.0",
42
+ "@jupiterone/eslint-config": "^4.0.0",
44
43
  "@philidem/rewrite-relative-paths": "^1.2.3",
45
44
  "babel-jest": "^30.2.0",
46
45
  "babel-plugin-module-resolver": "^5.0.2",