From 212b0f15bb262d2bb1f5bb2ad34939785a282734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20Kopeck=C3=BD?= Date: Tue, 13 Apr 2021 19:08:57 +0100 Subject: [PATCH] fix: getting rules for ignoreFixableRulesWhileTyping A `cliEngine` does not have `getRules` among its own properties, instead the function is a class method. Because of this, the `getRules` function in `worker-helpers.js` would just return an empty map and `ignoreFixableRulesWhileTyping` couldn't work. --- dist/worker-helpers.js | 5 ++--- src/worker-helpers.js | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/dist/worker-helpers.js b/dist/worker-helpers.js index 6f1de034..f9c57ec0 100644 --- a/dist/worker-helpers.js +++ b/dist/worker-helpers.js @@ -226,8 +226,7 @@ function getCLIEngineOptions(type, config, rules, filePath, fileConfig) { function getRules(cliEngine) { // Pull the list of rules used directly from the CLIEngine - // Added in https://github.com/eslint/eslint/pull/9782 - if (Object.prototype.hasOwnProperty.call(cliEngine, 'getRules')) { + if (typeof cliEngine.getRules === 'function') { return cliEngine.getRules(); } // Attempt to use the internal (undocumented) `linter` instance attached to // the CLIEngine to get the loaded rules (including plugin rules). @@ -255,4 +254,4 @@ function getRules(cliEngine) { function didRulesChange(currentRules, newRules) { return !(currentRules.size === newRules.size && Array.from(currentRules.keys()).every(ruleId => newRules.has(ruleId))); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy93b3JrZXItaGVscGVycy5qcyJdLCJuYW1lcyI6WyJDYWNoZSIsIkVTTElOVF9MT0NBTF9QQVRIIiwiUGF0aCIsIm5vcm1hbGl6ZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJOT0RFX1BSRUZJWF9QQVRIIiwiTEFTVF9NT0RVTEVTX1BBVEgiLCJjbGVhblBhdGgiLCJwYXRoIiwiZnMiLCJnZXROb2RlUHJlZml4UGF0aCIsIm5wbUNvbW1hbmQiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJDaGlsZFByb2Nlc3MiLCJzcGF3blN5bmMiLCJlbnYiLCJPYmplY3QiLCJhc3NpZ24iLCJQQVRIIiwib3V0cHV0IiwidG9TdHJpbmciLCJ0cmltIiwiZSIsImVyck1zZyIsIkVycm9yIiwiaXNEaXJlY3RvcnkiLCJkaXJQYXRoIiwiaXNEaXIiLCJzdGF0U3luYyIsImZhbGxiYWNrRm9yR2xvYmFsRXJyb3JUaHJvd24iLCJmaW5kRVNMaW50RGlyZWN0b3J5IiwibW9kdWxlc0RpciIsImNvbmZpZyIsInByb2plY3RQYXRoIiwiZmFsbGJhY2tGb3JHbG9iYWwiLCJlc2xpbnREaXIiLCJsb2NhdGlvblR5cGUiLCJnbG9iYWwiLCJ1c2VHbG9iYWxFc2xpbnQiLCJjb25maWdHbG9iYWwiLCJnbG9iYWxOb2RlUGF0aCIsInByZWZpeFBhdGgiLCJhZHZhbmNlZCIsImxvY2FsTm9kZU1vZHVsZXMiLCJpc0Fic29sdXRlIiwidHlwZSIsImNvbnNvbGUiLCJlcnJvciIsImdldEVTTGludEZyb21EaXJlY3RvcnkiLCJFU0xpbnREaXJlY3RvcnkiLCJyZXF1aXJlIiwiY29kZSIsInJlZnJlc2hNb2R1bGVzUGF0aCIsIk5PREVfUEFUSCIsIk1vZHVsZSIsIl9pbml0UGF0aHMiLCJnZXRFU0xpbnRJbnN0YW5jZSIsImZpbGVEaXIiLCJkaXJuYW1lIiwiZ2V0Q29uZmlnRm9yRmlsZSIsImVzbGludCIsImZpbGVQYXRoIiwiY2xpIiwiQ0xJRW5naW5lIiwiZ2V0UmVsYXRpdmVQYXRoIiwiaWdub3JlRmlsZSIsImRpc2FibGVFc2xpbnRJZ25vcmUiLCJpZ25vcmVEaXIiLCJjaGRpciIsInJlbGF0aXZlIiwiYmFzZW5hbWUiLCJnZXRDTElFbmdpbmVPcHRpb25zIiwicnVsZXMiLCJmaWxlQ29uZmlnIiwiY2xpRW5naW5lQ29uZmlnIiwiaWdub3JlIiwiZml4IiwicnVsZVBhdGhzIiwiZXNsaW50UnVsZXNEaXJzIiwibWFwIiwicnVsZXNEaXIiLCJmaWx0ZXIiLCJlc2xpbnRyY1BhdGgiLCJjb25maWdGaWxlIiwiZ2V0UnVsZXMiLCJjbGlFbmdpbmUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJsaW50ZXIiLCJNYXAiLCJkaWRSdWxlc0NoYW5nZSIsImN1cnJlbnRSdWxlcyIsIm5ld1J1bGVzIiwic2l6ZSIsIkFycmF5IiwiZnJvbSIsImtleXMiLCJldmVyeSIsInJ1bGVJZCIsImhhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHO0FBQ1pDLEVBQUFBLGlCQUFpQixFQUFFQyxjQUFLQyxTQUFMLENBQWVELGNBQUtFLElBQUwsQ0FBVUMsU0FBVixFQUFxQixJQUFyQixFQUEyQixjQUEzQixFQUEyQyxRQUEzQyxDQUFmLENBRFA7QUFFWkMsRUFBQUEsZ0JBQWdCLEVBQUUsSUFGTjtBQUdaQyxFQUFBQSxpQkFBaUIsRUFBRTtBQUhQLENBQWQ7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBTUMsU0FBUyxHQUFHQyxJQUFJLElBQUtBLElBQUksR0FBRyx5QkFBV0MsZ0JBQUdQLFNBQUgsQ0FBYU0sSUFBYixDQUFYLENBQUgsR0FBb0MsRUFBbkU7O0FBRU8sU0FBU0UsaUJBQVQsR0FBNkI7QUFDbEMsTUFBSVgsS0FBSyxDQUFDTSxnQkFBTixLQUEyQixJQUEvQixFQUFxQztBQUNuQyxVQUFNTSxVQUFVLEdBQUdDLE9BQU8sQ0FBQ0MsUUFB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QUNBO0FBQ0E7OztBQUNPLFNBQVNDLGNBQVQsQ0FBd0JDLFlBQXhCLEVBQXNDQyxRQUF0QyxFQUFnRDtBQUNyRCxTQUFPLEVBQUVELFlBQVksQ0FBQ0UsSUFBYixLQUFzQkQsUUFBUSxDQUFDQyxJQUEvQixJQUNKQyxLQUFLLENBQUNDLElBQU4sQ0FBV0osWUFBWSxDQUFDSyxJQUFiLEVBQVgsRUFBZ0NDLEtBQWhDLENBQXNDQyxNQUFNLElBQUlOLFFBQVEsQ0FBQ08sR0FBVCxDQUFhRCxNQUFiLENBQWhELENBREUsQ0FBUDtBQUVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBmcyBmcm9tICdmcy1wbHVzJ1xuaW1wb3J0IENoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IHJlc29sdmVFbnYgZnJvbSAncmVzb2x2ZS1lbnYnXG5pbXBvcnQgeyBmaW5kQ2FjaGVkIH0gZnJvbSAnYXRvbS1saW50ZXInXG5pbXBvcnQgZ2V0UGF0aCBmcm9tICdjb25zaXN0ZW50LXBhdGgnXG5cbmNvbnN0IENhY2hlID0ge1xuICBFU0xJTlRfTE9DQUxfUEFUSDogUGF0aC5ub3JtYWxpemUoUGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ25vZGVfbW9kdWxlcycsICdlc2xpbnQnKSksXG4gIE5PREVfUFJFRklYX1BBVEg6IG51bGwsXG4gIExBU1RfTU9EVUxFU19QQVRIOiBudWxsXG59XG5cbi8qKlxuICogVGFrZXMgYSBwYXRoIGFuZCB0cmFuc2xhdGVzIGB+YCB0byB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5LCBhbmQgcmVwbGFjZXNcbiAqIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCB0aGVpciB2YWx1ZS5cbiAqIEBwYXJhbSAge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byByZW1vdmUgXCJzdHJhbmdlbmVzc1wiIGZyb21cbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICBUaGUgY2xlYW5lZCBwYXRoXG4gKi9cbmNvbnN0IGNsZWFuUGF0aCA9IHBhdGggPT4gKHBhdGggPyByZXNvbHZlRW52KGZzLm5vcm1hbGl6ZShwYXRoKSkgOiAnJylcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVQcmVmaXhQYXRoKCkge1xuICBpZiAoQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSCA9PT0gbnVsbCkge1xuICAgIGNvbnN0IG5wbUNvbW1hbmQgPSBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInID8gJ25wbS5jbWQnIDogJ25wbSdcbiAgICB0cnkge1xuICAgICAgQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSCA9IENoaWxkUHJvY2Vzcy5zcGF3blN5bmMobnBtQ29tbWFuZCwgWydnZXQnLCAncHJlZml4J10sIHtcbiAgICAgICAgZW52OiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByb2Nlc3MuZW52KSwgeyBQQVRIOiBnZXRQYXRoKCkgfSlcbiAgICAgIH0pLm91dHB1dFsxXS50b1N0cmluZygpLnRyaW0oKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IGVyck1zZyA9ICdVbmFibGUgdG8gZXhlY3V0ZSBgbnBtIGdldCBwcmVmaXhgLiBQbGVhc2UgbWFrZSBzdXJlICdcbiAgICAgICAgKyAnQXRvbSBpcyBnZXR0aW5nICRQQVRIIGNvcnJlY3RseS4nXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKVxuICAgIH1cbiAgfVxuICByZXR1cm4gQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSFxufVxuXG5mdW5jdGlvbiBpc0RpcmVjdG9yeShkaXJQYXRoKSB7XG4gIGxldCBpc0RpclxuICB0cnkge1xuICAgIGlzRGlyID0gZnMuc3RhdFN5bmMoZGlyUGF0aCkuaXNEaXJlY3RvcnkoKVxuICB9IGNhdGNoIChlKSB7XG4gICAgaXNEaXIgPSBmYWxzZVxuICB9XG4gIHJldHVybiBpc0RpclxufVxuXG5sZXQgZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93biA9IGZhbHNlXG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgsIGZhbGxiYWNrRm9yR2xvYmFsID0gZmFsc2UpIHtcbiAgbGV0IGVzbGludERpciA9IG51bGxcbiAgbGV0IGxvY2F0aW9uVHlwZSA9IG51bGxcbiAgaWYgKGNvbmZpZy5nbG9iYWwudXNlR2xvYmFsRXNsaW50ICYmICFmYWxsYmFja0Zvckdsb2JhbCkge1xuICAgIGxvY2F0aW9uVHlwZSA9ICdnbG9iYWwnXG4gICAgY29uc3QgY29uZmlnR2xvYmFsID0gY2xlYW5QYXRoKGNvbmZpZy5nbG9iYWwuZ2xvYmFsTm9kZVBhdGgpXG4gICAgY29uc3QgcHJlZml4UGF0aCA9IGNvbmZpZ0dsb2JhbCB8fCBnZXROb2RlUHJlZml4UGF0aCgpXG4gICAgLy8gTlBNIG9uIFdpbmRvd3MgYW5kIFlhcm4gb24gYWxsIHBsYXRmb3Jtc1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihwcmVmaXhQYXRoLCAnbm9kZV9tb2R1bGVzJywgJ2VzbGludCcpXG4gICAgaWYgKCFpc0RpcmVjdG9yeShlc2xpbnREaXIpKSB7XG4gICAgICAvLyBOUE0gb24gcGxhdGZvcm1zIG90aGVyIHRoYW4gV2luZG93c1xuICAgICAgZXNsaW50RGlyID0gUGF0aC5qb2luKHByZWZpeFBhdGgsICdsaWInLCAnbm9kZV9tb2R1bGVzJywgJ2VzbGludCcpXG4gICAgfVxuICB9IGVsc2UgaWYgKCFjb25maWcuYWR2YW5jZWQubG9jYWxOb2RlTW9kdWxlcykge1xuICAgIGxvY2F0aW9uVHlwZSA9ICdsb2NhbCBwcm9qZWN0J1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihtb2R1bGVzRGlyIHx8ICcnLCAnZXNsaW50JylcbiAgfSBlbHNlIGlmIChQYXRoLmlzQWJzb2x1dGUoY2xlYW5QYXRoKGNvbmZpZy5hZHZhbmNlZC5sb2NhbE5vZGVNb2R1bGVzKSkpIHtcbiAgICBsb2NhdGlvblR5cGUgPSAnYWR2YW5jZWQgc3BlY2lmaWVkJ1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihjbGVhblBhdGgoY29uZmlnLmFkdmFuY2VkLmxvY2FsTm9kZU1vZHVsZXMpLCAnZXNsaW50JylcbiAgfSBlbHNlIHtcbiAgICBsb2NhdGlvblR5cGUgPSAnYWR2YW5jZWQgc3BlY2lmaWVkJ1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihwcm9qZWN0UGF0aCB8fCAnJywgY2xlYW5QYXRoKGNvbmZpZy5hZHZhbmNlZC5sb2NhbE5vZGVNb2R1bGVzKSwgJ2VzbGludCcpXG4gIH1cblxuICBpZiAoaXNEaXJlY3RvcnkoZXNsaW50RGlyKSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXRoOiBlc2xpbnREaXIsXG4gICAgICB0eXBlOiBsb2NhdGlvblR5cGUsXG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmZpZy5nbG9iYWwudXNlR2xvYmFsRXNsaW50ICYmICFmYWxsYmFja0Zvckdsb2JhbCkge1xuICAgIGlmICghZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93bikge1xuICAgICAgLy8gVGhyb3cgdGhlIGVycm9yIG9ubHkgb25jZSB0byBwcmV2ZW50IHBlcmZvcm1hbmNlIGlzc3Vlc1xuICAgICAgZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93biA9IHRydWVcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEdsb2JhbCBFU0xpbnQgaXMgbm90IGZvdW5kLCBmYWxsaW5nIGJhY2sgdG8gb3RoZXIgRXNsaW50IGluc3RhbGxhdGlvbnMuLi5cbiAgICAgICAgUGxlYXNlIGVuc3VyZSB0aGUgZ2xvYmFsIE5vZGUgcGF0aCBpcyBzZXQgY29ycmVjdGx5LlxuICAgICAgICBJZiB5b3Ugd2FudGVkIHRvIHVzZSBhIGxvY2FsIGluc3RhbGxhdGlvbiBvZiBFc2xpbnQsIGRpc2FibGUgR2xvYmFsIEVzbGludCBvcHRpb24gaW4gdGhlIGxpbnRlci1lc2xpbnQgY29uZmlnLmApXG4gICAgfVxuICAgIHJldHVybiBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgsIHRydWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhdGg6IENhY2hlLkVTTElOVF9MT0NBTF9QQVRILFxuICAgIHR5cGU6ICdidW5kbGVkIGZhbGxiYWNrJyxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RVNMaW50RnJvbURpcmVjdG9yeShtb2R1bGVzRGlyLCBjb25maWcsIHByb2plY3RQYXRoKSB7XG4gIGNvbnN0IHsgcGF0aDogRVNMaW50RGlyZWN0b3J5IH0gPSBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgpXG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1keW5hbWljLXJlcXVpcmVcbiAgICByZXR1cm4gcmVxdWlyZShFU0xpbnREaXJlY3RvcnkpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoY29uZmlnLmdsb2JhbC51c2VHbG9iYWxFc2xpbnQgJiYgZS5jb2RlID09PSAnTU9EVUxFX05PVF9GT1VORCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRVNMaW50IG5vdCBmb3VuZCwgdHJ5IHJlc3RhcnRpbmcgQXRvbSB0byBjbGVhciBjYWNoZXMuJylcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1keW5hbWljLXJlcXVpcmVcbiAgICByZXR1cm4gcmVxdWlyZShDYWNoZS5FU0xJTlRfTE9DQUxfUEFUSClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmcmVzaE1vZHVsZXNQYXRoKG1vZHVsZXNEaXIpIHtcbiAgaWYgKENhY2hlLkxBU1RfTU9EVUxFU19QQVRIICE9PSBtb2R1bGVzRGlyKSB7XG4gICAgQ2FjaGUuTEFTVF9NT0RVTEVTX1BBVEggPSBtb2R1bGVzRGlyXG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9QQVRIID0gbW9kdWxlc0RpciB8fCAnJ1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHJlcXVpcmUoJ21vZHVsZScpLk1vZHVsZS5faW5pdFBhdGhzKClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RVNMaW50SW5zdGFuY2UoZmlsZURpciwgY29uZmlnLCBwcm9qZWN0UGF0aCkge1xuICBjb25zdCBtb2R1bGVzRGlyID0gUGF0aC5kaXJuYW1lKGZpbmRDYWNoZWQoZmlsZURpciwgJ25vZGVfbW9kdWxlcy9lc2xpbnQnKSB8fCAnJylcbiAgcmVmcmVzaE1vZHVsZXNQYXRoKG1vZHVsZXNEaXIpXG4gIHJldHVybiBnZXRFU0xpbnRGcm9tRGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdGb3JGaWxlKGVzbGludCwgZmlsZVBhdGgpIHtcbiAgY29uc3QgY2xpID0gbmV3IGVzbGludC5DTElFbmdpbmUoKVxuICB0cnkge1xuICAgIHJldHVybiBjbGkuZ2V0Q29uZmlnRm9yRmlsZShmaWxlUGF0aClcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIE5vIGNvbmZpZ3VyYXRpb24gd2FzIGZvdW5kXG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpdmVQYXRoKGZpbGVEaXIsIGZpbGVQYXRoLCBjb25maWcsIHByb2plY3RQYXRoKSB7XG4gIGNvbnN0IGlnbm9yZUZpbGUgPSBjb25maWcuYWR2YW5jZWQuZGlzYWJsZUVzbGludElnbm9yZSA/IG51bGwgOiBmaW5kQ2FjaGVkKGZpbGVEaXIsICcuZXNsaW50aWdub3JlJylcblxuICAvLyBJZiB3ZSBjYW4gZmluZCBhbiAuZXNsaW50aWdub3JlIGZpbGUsIHdlIGNhbiBzZXQgY3dkIHRoZXJlXG4gIC8vIChiZWNhdXNlIHRoZXkgYXJlIGV4cGVjdGVkIHRvIGJlIGF0IHRoZSBwcm9qZWN0IHJvb3QpXG4gIGlmIChpZ25vcmVGaWxlKSB7XG4gICAgY29uc3QgaWdub3JlRGlyID0gUGF0aC5kaXJuYW1lKGlnbm9yZUZpbGUpXG4gICAgcHJvY2Vzcy5jaGRpcihpZ25vcmVEaXIpXG4gICAgcmV0dXJuIFBhdGgucmVsYXRpdmUoaWdub3JlRGlyLCBmaWxlUGF0aClcbiAgfVxuICAvLyBPdGhlcndpc2UsIHdlJ2xsIHNldCB0aGUgY3dkIHRvIHRoZSBhdG9tIHByb2plY3Qgcm9vdCBhcyBsb25nIGFzIHRoYXQgZXhpc3RzXG4gIGlmIChwcm9qZWN0UGF0aCkge1xuICAgIHByb2Nlc3MuY2hkaXIocHJvamVjdFBhdGgpXG4gICAgcmV0dXJuIFBhdGgucmVsYXRpdmUocHJvamVjdFBhdGgsIGZpbGVQYXRoKVxuICB9XG4gIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB1c2UgdGhlIGZpbGUgbG9jYXRpb24gaXRzZWxmXG4gIHByb2Nlc3MuY2hkaXIoZmlsZURpcilcbiAgcmV0dXJuIFBhdGguYmFzZW5hbWUoZmlsZVBhdGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDTElFbmdpbmVPcHRpb25zKHR5cGUsIGNvbmZpZywgcnVsZXMsIGZpbGVQYXRoLCBmaWxlQ29uZmlnKSB7XG4gIGNvbnN0IGNsaUVuZ2luZUNvbmZpZyA9IHtcbiAgICBydWxlcyxcbiAgICBpZ25vcmU6ICFjb25maWcuYWR2YW5jZWQuZGlzYWJsZUVzbGludElnbm9yZSxcbiAgICBmaXg6IHR5cGUgPT09ICdmaXgnXG4gIH1cblxuICBjbGlFbmdpbmVDb25maWcucnVsZVBhdGhzID0gY29uZmlnLmFkdmFuY2VkLmVzbGludFJ1bGVzRGlycy5tYXAoKHBhdGgpID0+IHtcbiAgICBjb25zdCBydWxlc0RpciA9IGNsZWFuUGF0aChwYXRoKVxuICAgIGlmICghUGF0aC5pc0Fic29sdXRlKHJ1bGVzRGlyKSkge1xuICAgICAgcmV0dXJuIGZpbmRDYWNoZWQoUGF0aC5kaXJuYW1lKGZpbGVQYXRoKSwgcnVsZXNEaXIpXG4gICAgfVxuICAgIHJldHVybiBydWxlc0RpclxuICB9KS5maWx0ZXIocGF0aCA9PiBwYXRoKVxuXG4gIGlmIChmaWxlQ29uZmlnID09PSBudWxsICYmIGNvbmZpZy5nbG9iYWwuZXNsaW50cmNQYXRoKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYSBjb25maWd1cmF0aW9uIHVzZSB0aGUgZmFsbGJhY2sgZnJvbSB0aGUgc2V0dGluZ3NcbiAgICBjbGlFbmdpbmVDb25maWcuY29uZmlnRmlsZSA9IGNsZWFuUGF0aChjb25maWcuZ2xvYmFsLmVzbGludHJjUGF0aClcbiAgfVxuXG4gIHJldHVybiBjbGlFbmdpbmVDb25maWdcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBsaXN0IG9mIHJ1bGVzIHVzZWQgZm9yIGEgbGludCBqb2JcbiAqIEBwYXJhbSAge09iamVjdH0gY2xpRW5naW5lIFRoZSBDTElFbmdpbmUgaW5zdGFuY2UgdXNlZCBmb3IgdGhlIGxpbnQgam9iXG4gKiBAcmV0dXJuIHtNYXB9ICAgICAgICAgICAgICBBIE1hcCBvZiB0aGUgcnVsZXMgdXNlZCwgcnVsZSBuYW1lcyBhcyBrZXlzLCBydWxlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzIGFzIHRoZSBjb250ZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bGVzKGNsaUVuZ2luZSkge1xuICAvLyBQdWxsIHRoZSBsaXN0IG9mIHJ1bGVzIHVzZWQgZGlyZWN0bHkgZnJvbSB0aGUgQ0xJRW5naW5lXG4gIC8vIEFkZGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L3B1bGwvOTc4MlxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNsaUVuZ2luZSwgJ2dldFJ1bGVzJykpIHtcbiAgICByZXR1cm4gY2xpRW5naW5lLmdldFJ1bGVzKClcbiAgfVxuXG4gIC8vIEF0dGVtcHQgdG8gdXNlIHRoZSBpbnRlcm5hbCAodW5kb2N1bWVudGVkKSBgbGludGVyYCBpbnN0YW5jZSBhdHRhY2hlZCB0b1xuICAvLyB0aGUgQ0xJRW5naW5lIHRvIGdldCB0aGUgbG9hZGVkIHJ1bGVzIChpbmNsdWRpbmcgcGx1Z2luIHJ1bGVzKS5cbiAgLy8gQWRkZWQgaW4gRVNMaW50IHY0XG4gIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY2xpRW5naW5lLCAnbGludGVyJykpIHtcbiAgICByZXR1cm4gY2xpRW5naW5lLmxpbnRlci5nZXRSdWxlcygpXG4gIH1cblxuICAvLyBPbGRlciB2ZXJzaW9ucyBvZiBFU0xpbnQgZG9uJ3QgKGVhc2lseSkgc3VwcG9ydCBnZXR0aW5nIGEgbGlzdCBvZiBydWxlc1xuICByZXR1cm4gbmV3IE1hcCgpXG59XG5cbi8qKlxuICogR2l2ZW4gYW4gZXhpdGluZyBydWxlIGxpc3QgYW5kIGEgbmV3IHJ1bGUgbGlzdCwgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZXJlXG4gKiBoYXZlIGJlZW4gY2hhbmdlcy5cbiAqIE5PVEU6IFRoaXMgb25seSBhY2NvdW50cyBmb3IgcHJlc2VuY2Ugb2YgdGhlIHJ1bGVzLCBjaGFuZ2VzIHRvIHRoZWlyIG1ldGFkYXRhXG4gKiBhcmUgbm90IHRha2VuIGludG8gYWNjb3VudC5cbiAqIEBwYXJhbSAge01hcH0gbmV3UnVsZXMgICAgIEEgTWFwIG9mIHRoZSBuZXcgcnVsZXNcbiAqIEBwYXJhbSAge01hcH0gY3VycmVudFJ1bGVzIEEgTWFwIG9mIHRoZSBjdXJyZW50IHJ1bGVzXG4gKiBAcmV0dXJuIHtib29sZWFufSAgICAgICAgICAgICBXaGV0aGVyIG9yIG5vdCB0aGVyZSB3ZXJlIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZFJ1bGVzQ2hhbmdlKGN1cnJlbnRSdWxlcywgbmV3UnVsZXMpIHtcbiAgcmV0dXJuICEoY3VycmVudFJ1bGVzLnNpemUgPT09IG5ld1J1bGVzLnNpemVcbiAgICAmJiBBcnJheS5mcm9tKGN1cnJlbnRSdWxlcy5rZXlzKCkpLmV2ZXJ5KHJ1bGVJZCA9PiBuZXdSdWxlcy5oYXMocnVsZUlkKSkpXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy93b3JrZXItaGVscGVycy5qcyJdLCJuYW1lcyI6WyJDYWNoZSIsIkVTTElOVF9MT0NBTF9QQVRIIiwiUGF0aCIsIm5vcm1hbGl6ZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJOT0RFX1BSRUZJWF9QQVRIIiwiTEFTVF9NT0RVTEVTX1BBVEgiLCJjbGVhblBhdGgiLCJwYXRoIiwiZnMiLCJnZXROb2RlUHJlZml4UGF0aCIsIm5wbUNvbW1hbmQiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJDaGlsZFByb2Nlc3MiLCJzcGF3blN5bmMiLCJlbnYiLCJPYmplY3QiLCJhc3NpZ24iLCJQQVRIIiwib3V0cHV0IiwidG9TdHJpbmciLCJ0cmltIiwiZSIsImVyck1zZyIsIkVycm9yIiwiaXNEaXJlY3RvcnkiLCJkaXJQYXRoIiwiaXNEaXIiLCJzdGF0U3luYyIsImZhbGxiYWNrRm9yR2xvYmFsRXJyb3JUaHJvd24iLCJmaW5kRVNMaW50RGlyZWN0b3J5IiwibW9kdWxlc0RpciIsImNvbmZpZyIsInByb2plY3RQYXRoIiwiZmFsbGJhY2tGb3JHbG9iYWwiLCJlc2xpbnREaXIiLCJsb2NhdGlvblR5cGUiLCJnbG9iYWwiLCJ1c2VHbG9iYWxFc2xpbnQiLCJjb25maWdHbG9iYWwiLCJnbG9iYWxOb2RlUGF0aCIsInByZWZpeFBhdGgiLCJhZHZhbmNlZCIsImxvY2FsTm9kZU1vZHVsZXMiLCJpc0Fic29sdXRlIiwidHlwZSIsImNvbnNvbGUiLCJlcnJvciIsImdldEVTTGludEZyb21EaXJlY3RvcnkiLCJFU0xpbnREaXJlY3RvcnkiLCJyZXF1aXJlIiwiY29kZSIsInJlZnJlc2hNb2R1bGVzUGF0aCIsIk5PREVfUEFUSCIsIk1vZHVsZSIsIl9pbml0UGF0aHMiLCJnZXRFU0xpbnRJbnN0YW5jZSIsImZpbGVEaXIiLCJkaXJuYW1lIiwiZ2V0Q29uZmlnRm9yRmlsZSIsImVzbGludCIsImZpbGVQYXRoIiwiY2xpIiwiQ0xJRW5naW5lIiwiZ2V0UmVsYXRpdmVQYXRoIiwiaWdub3JlRmlsZSIsImRpc2FibGVFc2xpbnRJZ25vcmUiLCJpZ25vcmVEaXIiLCJjaGRpciIsInJlbGF0aXZlIiwiYmFzZW5hbWUiLCJnZXRDTElFbmdpbmVPcHRpb25zIiwicnVsZXMiLCJmaWxlQ29uZmlnIiwiY2xpRW5naW5lQ29uZmlnIiwiaWdub3JlIiwiZml4IiwicnVsZVBhdGhzIiwiZXNsaW50UnVsZXNEaXJzIiwibWFwIiwicnVsZXNEaXIiLCJmaWx0ZXIiLCJlc2xpbnRyY1BhdGgiLCJjb25maWdGaWxlIiwiZ2V0UnVsZXMiLCJjbGlFbmdpbmUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJsaW50ZXIiLCJNYXAiLCJkaWRSdWxlc0NoYW5nZSIsImN1cnJlbnRSdWxlcyIsIm5ld1J1bGVzIiwic2l6ZSIsIkFycmF5IiwiZnJvbSIsImtleXMiLCJldmVyeSIsInJ1bGVJZCIsImhhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHO0FBQ1pDLEVBQUFBLGlCQUFpQixFQUFFQyxjQUFLQyxTQUFMLENBQWVELGNBQUtFLElBQUwsQ0FBVUMsU0FBVixFQUFxQixJQUFyQixFQUEyQixjQUEzQixFQUEyQyxRQUEzQyxDQUFmLENBRFA7QUFFWkMsRUFBQUEsZ0JBQWdCLEVBQUUsSUFGTjtBQUdaQyxFQUFBQSxpQkFBaUIsRUFBRTtBQUhQLENBQWQ7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBTUMsU0FBUyxHQUFHQyxJQUFJLElBQUtBLElBQUksR0FBRyx5QkFBV0MsZ0JBQUdQLFNBQUgsQ0FBYU0sSUFBYixDQUFYLENBQUgsR0FBb0MsRUFBbkU7O0FBRU8sU0FBU0UsaUJBQVQsR0FBNkI7QUFDbEMsTUFBSVgsS0FBSyxDQUFDTSxnQkFBTixLQUEyQixJQUEvQixFQUFxQztBQUNuQyxVQUFNTSxVQUFVLEdBQUdDLE9BQU8sQ0FBQ0MsUUFB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QyxRQUF0QyxFQUFnRDtBQUNyRCxTQUFPLEVBQUVELFlBQVksQ0FBQ0UsSUFBYixLQUFzQkQsUUFBUSxDQUFDQyxJQUEvQixJQUNKQyxLQUFLLENBQUNDLElBQU4sQ0FBV0osWUFBWSxDQUFDSyxJQUFiLEVBQVgsRUFBZ0NDLEtBQWhDLENBQXNDQyxNQUFNLElBQUlOLFFBQVEsQ0FBQ08sR0FBVCxDQUFhRCxNQUFiLENBQWhELENBREUsQ0FBUDtBQUVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBmcyBmcm9tICdmcy1wbHVzJ1xuaW1wb3J0IENoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IHJlc29sdmVFbnYgZnJvbSAncmVzb2x2ZS1lbnYnXG5pbXBvcnQgeyBmaW5kQ2FjaGVkIH0gZnJvbSAnYXRvbS1saW50ZXInXG5pbXBvcnQgZ2V0UGF0aCBmcm9tICdjb25zaXN0ZW50LXBhdGgnXG5cbmNvbnN0IENhY2hlID0ge1xuICBFU0xJTlRfTE9DQUxfUEFUSDogUGF0aC5ub3JtYWxpemUoUGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ25vZGVfbW9kdWxlcycsICdlc2xpbnQnKSksXG4gIE5PREVfUFJFRklYX1BBVEg6IG51bGwsXG4gIExBU1RfTU9EVUxFU19QQVRIOiBudWxsXG59XG5cbi8qKlxuICogVGFrZXMgYSBwYXRoIGFuZCB0cmFuc2xhdGVzIGB+YCB0byB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5LCBhbmQgcmVwbGFjZXNcbiAqIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCB0aGVpciB2YWx1ZS5cbiAqIEBwYXJhbSAge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byByZW1vdmUgXCJzdHJhbmdlbmVzc1wiIGZyb21cbiAqIEByZXR1cm4ge3N0cmluZ30gICAgICBUaGUgY2xlYW5lZCBwYXRoXG4gKi9cbmNvbnN0IGNsZWFuUGF0aCA9IHBhdGggPT4gKHBhdGggPyByZXNvbHZlRW52KGZzLm5vcm1hbGl6ZShwYXRoKSkgOiAnJylcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVQcmVmaXhQYXRoKCkge1xuICBpZiAoQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSCA9PT0gbnVsbCkge1xuICAgIGNvbnN0IG5wbUNvbW1hbmQgPSBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInID8gJ25wbS5jbWQnIDogJ25wbSdcbiAgICB0cnkge1xuICAgICAgQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSCA9IENoaWxkUHJvY2Vzcy5zcGF3blN5bmMobnBtQ29tbWFuZCwgWydnZXQnLCAncHJlZml4J10sIHtcbiAgICAgICAgZW52OiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByb2Nlc3MuZW52KSwgeyBQQVRIOiBnZXRQYXRoKCkgfSlcbiAgICAgIH0pLm91dHB1dFsxXS50b1N0cmluZygpLnRyaW0oKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IGVyck1zZyA9ICdVbmFibGUgdG8gZXhlY3V0ZSBgbnBtIGdldCBwcmVmaXhgLiBQbGVhc2UgbWFrZSBzdXJlICdcbiAgICAgICAgKyAnQXRvbSBpcyBnZXR0aW5nICRQQVRIIGNvcnJlY3RseS4nXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKVxuICAgIH1cbiAgfVxuICByZXR1cm4gQ2FjaGUuTk9ERV9QUkVGSVhfUEFUSFxufVxuXG5mdW5jdGlvbiBpc0RpcmVjdG9yeShkaXJQYXRoKSB7XG4gIGxldCBpc0RpclxuICB0cnkge1xuICAgIGlzRGlyID0gZnMuc3RhdFN5bmMoZGlyUGF0aCkuaXNEaXJlY3RvcnkoKVxuICB9IGNhdGNoIChlKSB7XG4gICAgaXNEaXIgPSBmYWxzZVxuICB9XG4gIHJldHVybiBpc0RpclxufVxuXG5sZXQgZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93biA9IGZhbHNlXG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgsIGZhbGxiYWNrRm9yR2xvYmFsID0gZmFsc2UpIHtcbiAgbGV0IGVzbGludERpciA9IG51bGxcbiAgbGV0IGxvY2F0aW9uVHlwZSA9IG51bGxcbiAgaWYgKGNvbmZpZy5nbG9iYWwudXNlR2xvYmFsRXNsaW50ICYmICFmYWxsYmFja0Zvckdsb2JhbCkge1xuICAgIGxvY2F0aW9uVHlwZSA9ICdnbG9iYWwnXG4gICAgY29uc3QgY29uZmlnR2xvYmFsID0gY2xlYW5QYXRoKGNvbmZpZy5nbG9iYWwuZ2xvYmFsTm9kZVBhdGgpXG4gICAgY29uc3QgcHJlZml4UGF0aCA9IGNvbmZpZ0dsb2JhbCB8fCBnZXROb2RlUHJlZml4UGF0aCgpXG4gICAgLy8gTlBNIG9uIFdpbmRvd3MgYW5kIFlhcm4gb24gYWxsIHBsYXRmb3Jtc1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihwcmVmaXhQYXRoLCAnbm9kZV9tb2R1bGVzJywgJ2VzbGludCcpXG4gICAgaWYgKCFpc0RpcmVjdG9yeShlc2xpbnREaXIpKSB7XG4gICAgICAvLyBOUE0gb24gcGxhdGZvcm1zIG90aGVyIHRoYW4gV2luZG93c1xuICAgICAgZXNsaW50RGlyID0gUGF0aC5qb2luKHByZWZpeFBhdGgsICdsaWInLCAnbm9kZV9tb2R1bGVzJywgJ2VzbGludCcpXG4gICAgfVxuICB9IGVsc2UgaWYgKCFjb25maWcuYWR2YW5jZWQubG9jYWxOb2RlTW9kdWxlcykge1xuICAgIGxvY2F0aW9uVHlwZSA9ICdsb2NhbCBwcm9qZWN0J1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihtb2R1bGVzRGlyIHx8ICcnLCAnZXNsaW50JylcbiAgfSBlbHNlIGlmIChQYXRoLmlzQWJzb2x1dGUoY2xlYW5QYXRoKGNvbmZpZy5hZHZhbmNlZC5sb2NhbE5vZGVNb2R1bGVzKSkpIHtcbiAgICBsb2NhdGlvblR5cGUgPSAnYWR2YW5jZWQgc3BlY2lmaWVkJ1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihjbGVhblBhdGgoY29uZmlnLmFkdmFuY2VkLmxvY2FsTm9kZU1vZHVsZXMpLCAnZXNsaW50JylcbiAgfSBlbHNlIHtcbiAgICBsb2NhdGlvblR5cGUgPSAnYWR2YW5jZWQgc3BlY2lmaWVkJ1xuICAgIGVzbGludERpciA9IFBhdGguam9pbihwcm9qZWN0UGF0aCB8fCAnJywgY2xlYW5QYXRoKGNvbmZpZy5hZHZhbmNlZC5sb2NhbE5vZGVNb2R1bGVzKSwgJ2VzbGludCcpXG4gIH1cblxuICBpZiAoaXNEaXJlY3RvcnkoZXNsaW50RGlyKSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXRoOiBlc2xpbnREaXIsXG4gICAgICB0eXBlOiBsb2NhdGlvblR5cGUsXG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmZpZy5nbG9iYWwudXNlR2xvYmFsRXNsaW50ICYmICFmYWxsYmFja0Zvckdsb2JhbCkge1xuICAgIGlmICghZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93bikge1xuICAgICAgLy8gVGhyb3cgdGhlIGVycm9yIG9ubHkgb25jZSB0byBwcmV2ZW50IHBlcmZvcm1hbmNlIGlzc3Vlc1xuICAgICAgZmFsbGJhY2tGb3JHbG9iYWxFcnJvclRocm93biA9IHRydWVcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEdsb2JhbCBFU0xpbnQgaXMgbm90IGZvdW5kLCBmYWxsaW5nIGJhY2sgdG8gb3RoZXIgRXNsaW50IGluc3RhbGxhdGlvbnMuLi5cbiAgICAgICAgUGxlYXNlIGVuc3VyZSB0aGUgZ2xvYmFsIE5vZGUgcGF0aCBpcyBzZXQgY29ycmVjdGx5LlxuICAgICAgICBJZiB5b3Ugd2FudGVkIHRvIHVzZSBhIGxvY2FsIGluc3RhbGxhdGlvbiBvZiBFc2xpbnQsIGRpc2FibGUgR2xvYmFsIEVzbGludCBvcHRpb24gaW4gdGhlIGxpbnRlci1lc2xpbnQgY29uZmlnLmApXG4gICAgfVxuICAgIHJldHVybiBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgsIHRydWUpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhdGg6IENhY2hlLkVTTElOVF9MT0NBTF9QQVRILFxuICAgIHR5cGU6ICdidW5kbGVkIGZhbGxiYWNrJyxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RVNMaW50RnJvbURpcmVjdG9yeShtb2R1bGVzRGlyLCBjb25maWcsIHByb2plY3RQYXRoKSB7XG4gIGNvbnN0IHsgcGF0aDogRVNMaW50RGlyZWN0b3J5IH0gPSBmaW5kRVNMaW50RGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgpXG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1keW5hbWljLXJlcXVpcmVcbiAgICByZXR1cm4gcmVxdWlyZShFU0xpbnREaXJlY3RvcnkpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoY29uZmlnLmdsb2JhbC51c2VHbG9iYWxFc2xpbnQgJiYgZS5jb2RlID09PSAnTU9EVUxFX05PVF9GT1VORCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRVNMaW50IG5vdCBmb3VuZCwgdHJ5IHJlc3RhcnRpbmcgQXRvbSB0byBjbGVhciBjYWNoZXMuJylcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1keW5hbWljLXJlcXVpcmVcbiAgICByZXR1cm4gcmVxdWlyZShDYWNoZS5FU0xJTlRfTE9DQUxfUEFUSClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmcmVzaE1vZHVsZXNQYXRoKG1vZHVsZXNEaXIpIHtcbiAgaWYgKENhY2hlLkxBU1RfTU9EVUxFU19QQVRIICE9PSBtb2R1bGVzRGlyKSB7XG4gICAgQ2FjaGUuTEFTVF9NT0RVTEVTX1BBVEggPSBtb2R1bGVzRGlyXG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9QQVRIID0gbW9kdWxlc0RpciB8fCAnJ1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHJlcXVpcmUoJ21vZHVsZScpLk1vZHVsZS5faW5pdFBhdGhzKClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RVNMaW50SW5zdGFuY2UoZmlsZURpciwgY29uZmlnLCBwcm9qZWN0UGF0aCkge1xuICBjb25zdCBtb2R1bGVzRGlyID0gUGF0aC5kaXJuYW1lKGZpbmRDYWNoZWQoZmlsZURpciwgJ25vZGVfbW9kdWxlcy9lc2xpbnQnKSB8fCAnJylcbiAgcmVmcmVzaE1vZHVsZXNQYXRoKG1vZHVsZXNEaXIpXG4gIHJldHVybiBnZXRFU0xpbnRGcm9tRGlyZWN0b3J5KG1vZHVsZXNEaXIsIGNvbmZpZywgcHJvamVjdFBhdGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdGb3JGaWxlKGVzbGludCwgZmlsZVBhdGgpIHtcbiAgY29uc3QgY2xpID0gbmV3IGVzbGludC5DTElFbmdpbmUoKVxuICB0cnkge1xuICAgIHJldHVybiBjbGkuZ2V0Q29uZmlnRm9yRmlsZShmaWxlUGF0aClcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIE5vIGNvbmZpZ3VyYXRpb24gd2FzIGZvdW5kXG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpdmVQYXRoKGZpbGVEaXIsIGZpbGVQYXRoLCBjb25maWcsIHByb2plY3RQYXRoKSB7XG4gIGNvbnN0IGlnbm9yZUZpbGUgPSBjb25maWcuYWR2YW5jZWQuZGlzYWJsZUVzbGludElnbm9yZSA/IG51bGwgOiBmaW5kQ2FjaGVkKGZpbGVEaXIsICcuZXNsaW50aWdub3JlJylcblxuICAvLyBJZiB3ZSBjYW4gZmluZCBhbiAuZXNsaW50aWdub3JlIGZpbGUsIHdlIGNhbiBzZXQgY3dkIHRoZXJlXG4gIC8vIChiZWNhdXNlIHRoZXkgYXJlIGV4cGVjdGVkIHRvIGJlIGF0IHRoZSBwcm9qZWN0IHJvb3QpXG4gIGlmIChpZ25vcmVGaWxlKSB7XG4gICAgY29uc3QgaWdub3JlRGlyID0gUGF0aC5kaXJuYW1lKGlnbm9yZUZpbGUpXG4gICAgcHJvY2Vzcy5jaGRpcihpZ25vcmVEaXIpXG4gICAgcmV0dXJuIFBhdGgucmVsYXRpdmUoaWdub3JlRGlyLCBmaWxlUGF0aClcbiAgfVxuICAvLyBPdGhlcndpc2UsIHdlJ2xsIHNldCB0aGUgY3dkIHRvIHRoZSBhdG9tIHByb2plY3Qgcm9vdCBhcyBsb25nIGFzIHRoYXQgZXhpc3RzXG4gIGlmIChwcm9qZWN0UGF0aCkge1xuICAgIHByb2Nlc3MuY2hkaXIocHJvamVjdFBhdGgpXG4gICAgcmV0dXJuIFBhdGgucmVsYXRpdmUocHJvamVjdFBhdGgsIGZpbGVQYXRoKVxuICB9XG4gIC8vIElmIGFsbCBlbHNlIGZhaWxzLCB1c2UgdGhlIGZpbGUgbG9jYXRpb24gaXRzZWxmXG4gIHByb2Nlc3MuY2hkaXIoZmlsZURpcilcbiAgcmV0dXJuIFBhdGguYmFzZW5hbWUoZmlsZVBhdGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDTElFbmdpbmVPcHRpb25zKHR5cGUsIGNvbmZpZywgcnVsZXMsIGZpbGVQYXRoLCBmaWxlQ29uZmlnKSB7XG4gIGNvbnN0IGNsaUVuZ2luZUNvbmZpZyA9IHtcbiAgICBydWxlcyxcbiAgICBpZ25vcmU6ICFjb25maWcuYWR2YW5jZWQuZGlzYWJsZUVzbGludElnbm9yZSxcbiAgICBmaXg6IHR5cGUgPT09ICdmaXgnXG4gIH1cblxuICBjbGlFbmdpbmVDb25maWcucnVsZVBhdGhzID0gY29uZmlnLmFkdmFuY2VkLmVzbGludFJ1bGVzRGlycy5tYXAoKHBhdGgpID0+IHtcbiAgICBjb25zdCBydWxlc0RpciA9IGNsZWFuUGF0aChwYXRoKVxuICAgIGlmICghUGF0aC5pc0Fic29sdXRlKHJ1bGVzRGlyKSkge1xuICAgICAgcmV0dXJuIGZpbmRDYWNoZWQoUGF0aC5kaXJuYW1lKGZpbGVQYXRoKSwgcnVsZXNEaXIpXG4gICAgfVxuICAgIHJldHVybiBydWxlc0RpclxuICB9KS5maWx0ZXIocGF0aCA9PiBwYXRoKVxuXG4gIGlmIChmaWxlQ29uZmlnID09PSBudWxsICYmIGNvbmZpZy5nbG9iYWwuZXNsaW50cmNQYXRoKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYSBjb25maWd1cmF0aW9uIHVzZSB0aGUgZmFsbGJhY2sgZnJvbSB0aGUgc2V0dGluZ3NcbiAgICBjbGlFbmdpbmVDb25maWcuY29uZmlnRmlsZSA9IGNsZWFuUGF0aChjb25maWcuZ2xvYmFsLmVzbGludHJjUGF0aClcbiAgfVxuXG4gIHJldHVybiBjbGlFbmdpbmVDb25maWdcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBsaXN0IG9mIHJ1bGVzIHVzZWQgZm9yIGEgbGludCBqb2JcbiAqIEBwYXJhbSAge09iamVjdH0gY2xpRW5naW5lIFRoZSBDTElFbmdpbmUgaW5zdGFuY2UgdXNlZCBmb3IgdGhlIGxpbnQgam9iXG4gKiBAcmV0dXJuIHtNYXB9ICAgICAgICAgICAgICBBIE1hcCBvZiB0aGUgcnVsZXMgdXNlZCwgcnVsZSBuYW1lcyBhcyBrZXlzLCBydWxlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzIGFzIHRoZSBjb250ZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bGVzKGNsaUVuZ2luZSkge1xuICAvLyBQdWxsIHRoZSBsaXN0IG9mIHJ1bGVzIHVzZWQgZGlyZWN0bHkgZnJvbSB0aGUgQ0xJRW5naW5lXG4gIGlmICh0eXBlb2YgY2xpRW5naW5lLmdldFJ1bGVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGNsaUVuZ2luZS5nZXRSdWxlcygpXG4gIH1cblxuICAvLyBBdHRlbXB0IHRvIHVzZSB0aGUgaW50ZXJuYWwgKHVuZG9jdW1lbnRlZCkgYGxpbnRlcmAgaW5zdGFuY2UgYXR0YWNoZWQgdG9cbiAgLy8gdGhlIENMSUVuZ2luZSB0byBnZXQgdGhlIGxvYWRlZCBydWxlcyAoaW5jbHVkaW5nIHBsdWdpbiBydWxlcykuXG4gIC8vIEFkZGVkIGluIEVTTGludCB2NFxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNsaUVuZ2luZSwgJ2xpbnRlcicpKSB7XG4gICAgcmV0dXJuIGNsaUVuZ2luZS5saW50ZXIuZ2V0UnVsZXMoKVxuICB9XG5cbiAgLy8gT2xkZXIgdmVyc2lvbnMgb2YgRVNMaW50IGRvbid0IChlYXNpbHkpIHN1cHBvcnQgZ2V0dGluZyBhIGxpc3Qgb2YgcnVsZXNcbiAgcmV0dXJuIG5ldyBNYXAoKVxufVxuXG4vKipcbiAqIEdpdmVuIGFuIGV4aXRpbmcgcnVsZSBsaXN0IGFuZCBhIG5ldyBydWxlIGxpc3QsIGRldGVybWluZXMgd2hldGhlciB0aGVyZVxuICogaGF2ZSBiZWVuIGNoYW5nZXMuXG4gKiBOT1RFOiBUaGlzIG9ubHkgYWNjb3VudHMgZm9yIHByZXNlbmNlIG9mIHRoZSBydWxlcywgY2hhbmdlcyB0byB0aGVpciBtZXRhZGF0YVxuICogYXJlIG5vdCB0YWtlbiBpbnRvIGFjY291bnQuXG4gKiBAcGFyYW0gIHtNYXB9IG5ld1J1bGVzICAgICBBIE1hcCBvZiB0aGUgbmV3IHJ1bGVzXG4gKiBAcGFyYW0gIHtNYXB9IGN1cnJlbnRSdWxlcyBBIE1hcCBvZiB0aGUgY3VycmVudCBydWxlc1xuICogQHJldHVybiB7Ym9vbGVhbn0gICAgICAgICAgICAgV2hldGhlciBvciBub3QgdGhlcmUgd2VyZSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWRSdWxlc0NoYW5nZShjdXJyZW50UnVsZXMsIG5ld1J1bGVzKSB7XG4gIHJldHVybiAhKGN1cnJlbnRSdWxlcy5zaXplID09PSBuZXdSdWxlcy5zaXplXG4gICAgJiYgQXJyYXkuZnJvbShjdXJyZW50UnVsZXMua2V5cygpKS5ldmVyeShydWxlSWQgPT4gbmV3UnVsZXMuaGFzKHJ1bGVJZCkpKVxufVxuIl19 \ No newline at end of file diff --git a/src/worker-helpers.js b/src/worker-helpers.js index 7cd00d7f..cba7c8e9 100644 --- a/src/worker-helpers.js +++ b/src/worker-helpers.js @@ -185,8 +185,7 @@ export function getCLIEngineOptions(type, config, rules, filePath, fileConfig) { */ export function getRules(cliEngine) { // Pull the list of rules used directly from the CLIEngine - // Added in https://github.com/eslint/eslint/pull/9782 - if (Object.prototype.hasOwnProperty.call(cliEngine, 'getRules')) { + if (typeof cliEngine.getRules === 'function') { return cliEngine.getRules() }