Socket
Socket
Sign inDemoInstall

axe

Package Overview
Dependencies
Maintainers
1
Versions
103
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axe - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

10

lib/index.js

@@ -43,5 +43,7 @@ "use strict";

var isNull = require('lodash/isNull'); // add retry logic to superagent
var isNull = require('lodash/isNull');
var boolean = require('boolean'); // add retry logic to superagent
require('superagent-retry')(superagent); // eslint-disable-next-line import/no-unassigned-import

@@ -79,4 +81,4 @@

retry: 3,
showStack: true,
showMeta: false,
showStack: boolean(process.env.SHOW_STACK || env !== 'production'),
showMeta: boolean(process.env.SHOW_META),
silent: false,

@@ -231,2 +233,2 @@ logger: console,

module.exports = Axe;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJmb3JtYXQiLCJyZXF1aXJlIiwic3VwZXJhZ2VudCIsInBhcnNlRXJyIiwic2FmZVN0cmluZ2lmeSIsImlzRXJyb3IiLCJpc09iamVjdCIsImlzU3RyaW5nIiwiaW5jbHVkZXMiLCJvbWl0IiwiaXNFbXB0eSIsImlzUGxhaW5PYmplY3QiLCJpc1VuZGVmaW5lZCIsImlzTnVsbCIsInRva2VucyIsImxldmVscyIsImVuZHBvaW50IiwiZW52IiwicHJvY2VzcyIsIk5PREVfRU5WIiwiQXhlIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIiwia2V5IiwiaGVhZGVycyIsInRpbWVvdXQiLCJyZXRyeSIsInNob3dTdGFjayIsInNob3dNZXRhIiwic2lsZW50IiwibG9nZ2VyIiwiY29uc29sZSIsImNhcHR1cmUiLCJsb2ciLCJiaW5kIiwiZm9yRWFjaCIsImxldmVsIiwiYXJncyIsImNvbmNhdCIsInNsaWNlIiwiY2FsbCIsImVyciIsImVycm9yIiwid2FybmluZyIsIndhcm4iLCJtZXNzYWdlIiwibWV0YSIsIm9yaWdpbmFsQXJncyIsIm1vZGlmaWVyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic29tZSIsInQiLCJib2R5IiwiX2NhcHR1cmVGYWlsZWQiLCJFcnJvciIsInJlcSIsInBvc3QiLCJhdXRoIiwic2V0Iiwic2VuZCIsImVuZCIsIm9taXR0ZWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsYUFBRCxDQUF0Qjs7QUFDQSxJQUFNQyxVQUFVLEdBQUdELE9BQU8sQ0FBQyxZQUFELENBQTFCOztBQUNBLElBQU1FLFFBQVEsR0FBR0YsT0FBTyxDQUFDLFdBQUQsQ0FBeEI7O0FBQ0EsSUFBTUcsYUFBYSxHQUFHSCxPQUFPLENBQUMscUJBQUQsQ0FBN0IsQyxDQUNBO0FBQ0E7OztBQUNBLElBQU1JLE9BQU8sR0FB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Q0FBbUJZLEtBQW5CLENBQXlCRCxHQUF6QixFQUExQyxLQUNLLEtBQUtyQixNQUFMLENBQVlVLE1BQVosQ0FBbUJZLEtBQW5CLENBQXlCRCxHQUF6QixFQUE4QnFCLE9BQTlCO0FBQ04sT0FIRCxNQUdPLElBQUksQ0FBQzFDLE1BQU0sQ0FBQ1EsUUFBUixJQUFvQm5CLE9BQU8sQ0FBQ3FELE9BQUQsQ0FBL0IsRUFBMEM7QUFDL0MsYUFBSzFDLE1BQUwsQ0FBWVUsTUFBWixDQUFtQk0sS0FBbkIsRUFBMEJTLE9BQTFCO0FBQ0QsT0FGTSxNQUVBO0FBQ0wsYUFBS3pCLE1BQUwsQ0FBWVUsTUFBWixDQUFtQk0sS0FBbkIsRUFBMEJTLE9BQTFCLEVBQW1DaUIsT0FBbkM7QUFDRCxPQXpIcUMsQ0EySHRDOzs7QUFDQSxhQUFPVCxJQUFQO0FBQ0Q7Ozs7OztBQUdIVSxNQUFNLENBQUNDLE9BQVAsR0FBaUI3QyxHQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGZvcm1hdCA9IHJlcXVpcmUoJ2Zvcm1hdC11dGlsJyk7XG5jb25zdCBzdXBlcmFnZW50ID0gcmVxdWlyZSgnc3VwZXJhZ2VudCcpO1xuY29uc3QgcGFyc2VFcnIgPSByZXF1aXJlKCdwYXJzZS1lcnInKTtcbmNvbnN0IHNhZmVTdHJpbmdpZnkgPSByZXF1aXJlKCdmYXN0LXNhZmUtc3RyaW5naWZ5Jyk7XG4vLyA8aHR0cHM6Ly9sYWNrZS5tbi9yZWR1Y2UteW91ci1idW5kbGUtanMtZmlsZS1zaXplLz5cbi8vIDxodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2JhYmVsLXBsdWdpbi1sb2Rhc2gvaXNzdWVzLzIyMT5cbmNvbnN0IGlzRXJyb3IgPSByZXF1aXJlKCdsb2Rhc2gvaXNFcnJvcicpO1xuY29uc3QgaXNPYmplY3QgPSByZXF1aXJlKCdsb2Rhc2gvaXNPYmplY3QnKTtcbmNvbnN0IGlzU3RyaW5nID0gcmVxdWlyZSgnbG9kYXNoL2lzU3RyaW5nJyk7XG5jb25zdCBpbmNsdWRlcyA9IHJlcXVpcmUoJ2xvZGFzaC9pbmNsdWRlcycpO1xuY29uc3Qgb21pdCA9IHJlcXVpcmUoJ2xvZGFzaC9vbWl0Jyk7XG5jb25zdCBpc0VtcHR5ID0gcmVxdWlyZSgnbG9kYXNoL2lzRW1wdHknKTtcbmNvbnN0IGlzUGxhaW5PYmplY3QgPSByZXF1aXJlKCdsb2Rhc2gvaXNQbGFpbk9iamVjdCcpO1xuY29uc3QgaXNVbmRlZmluZWQgPSByZXF1aXJlKCdsb2Rhc2gvaXNVbmRlZmluZWQnKTtcbmNvbnN0IGlzTnVsbCA9IHJlcXVpcmUoJ2xvZGFzaC9pc051bGwnKTtcblxuLy8gYWRkIHJldHJ5IGxvZ2ljIHRvIHN1cGVyYWdlbnRcbnJlcXVpcmUoJ3N1cGVyYWdlbnQtcmV0cnknKShzdXBlcmFnZW50KTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bmFzc2lnbmVkLWltcG9ydFxucmVxdWlyZSgnY29uc29sZS1wb2x5ZmlsbCcpO1xuXG4vLyB0aGVzZSBhcmUga25vd24gYXMgXCJwbGFjZWhvbGRlciB0b2tlbnNcIiwgc2VlIHRoaXMgbGluayBmb3IgbW9yZSBpbmZvOlxuLy8gPGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvdXRpbC5odG1sI3V0aWxfdXRpbF9mb3JtYXRfZm9ybWF0X2FyZ3M+XG4vL1xuLy8gc2luY2UgdGhleSBhcmVuJ3QgZXhwb3NlZCAob3IgZG9uJ3Qgc2VlbSB0byBiZSkgYnkgbm9kZSAoYXQgbGVhc3Qgbm90IHlldClcbi8vIHdlIGp1c3QgZGVmaW5lIGFuIGFycmF5IHRoYXQgY29udGFpbnMgdGhlbSBmb3Igbm93XG4vLyA8aHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2lzc3Vlcy8xNzYwMT5cbmNvbnN0IHRva2VucyA9IFsnJXMnLCAnJWQnLCAnJWknLCAnJWYnLCAnJWonLCAnJW8nLCAnJU8nLCAnJSUnXTtcbmNvbnN0IGxldmVscyA9IFsndHJhY2UnLCAnZGVidWcnLCAnaW5mbycsICd3YXJuJywgJ2Vycm9yJywgJ2ZhdGFsJ107XG5jb25zdCBlbmRwb2ludCA9ICdodHRwczovL2FwaS5jYWJpbmpzLmNvbSc7XG5jb25zdCBlbnYgPSBwcm9jZXNzLmVudi5OT0RFX0VOViB8fCAnZGV2ZWxvcG1lbnQnO1xuXG5jbGFzcyBBeGUge1xuICBjb25zdHJ1Y3Rvcihjb25maWcgPSB7fSkge1xuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAga2V5OiAnJyxcbiAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICB0aW1lb3V0OiA1MDAwLFxuICAgICAgICByZXRyeTogMyxcbiAgICAgICAgc2hvd1N0YWNrOiB0cnVlLFxuICAgICAgICBzaG93TWV0YTogZmFsc2UsXG4gICAgICAgIHNpbGVudDogZmFsc2UsXG4gICAgICAgIGxvZ2dlcjogY29uc29sZSxcbiAgICAgICAgbGV2ZWxzOiBbJ2luZm8nLCAnd2FybicsICdlcnJvcicsICdmYXRhbCddLFxuICAgICAgICBjYXB0dXJlOiBlbnYgPT09ICdwcm9kdWN0aW9uJ1xuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG9taXQodGhpcy5jb25maWcubG9nZ2VyLCBbJ2NvbmZpZycsICdsb2cnXSkpO1xuXG4gICAgLy8gd2UgY291bGQgaGF2ZSB1c2VkIGBhdXRvLWJpbmRgIGJ1dCBpdCdzIG5vdCBjb21waWxlZCBmb3IgYnJvd3NlclxuICAgIHRoaXMubG9nID0gdGhpcy5sb2cuYmluZCh0aGlzKTtcblxuICAgIC8vIGJpbmQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgZWFjaCBsb2cgbGV2ZWxcbiAgICBsZXZlbHMuZm9yRWFjaChsZXZlbCA9PiB7XG4gICAgICB0aGlzW2xldmVsXSA9ICguLi5hcmdzKSA9PlxuICAgICAgICB0aGlzLmxvZyguLi5bbGV2ZWxdLmNvbmNhdChbXS5zbGljZS5jYWxsKGFyZ3MpKSk7XG4gICAgfSk7XG5cbiAgICAvLyBhbGlhc2VzXG4gICAgdGhpcy5lcnIgPSB0aGlzLmVycm9yO1xuICAgIHRoaXMud2FybmluZyA9IHRoaXMud2FybjtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gIGxvZyhsZXZlbCwgbWVzc2FnZSwgbWV0YSA9IHt9LCAuLi5hcmdzKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxBcmdzID0gW2xldmVsLCBtZXNzYWdlLCBtZXRhLCAuLi5bXS5zbGljZS5jYWxsKGFyZ3MpXTtcbiAgICBjb25zdCB7IGNvbmZpZyB9ID0gdGhpcztcbiAgICBsZXQgbW9kaWZpZXIgPSAwO1xuXG4gICAgaWYgKGxldmVsID09PSAnd2FybmluZycpIGxldmVsID0gJ3dhcm4nO1xuICAgIGlmIChsZXZlbCA9PT0gJ2VycicpIGxldmVsID0gJ2Vycm9yJztcblxuICAgIGlmIChpc0Vycm9yKGxldmVsKSkge1xuICAgICAgbWV0YSA9IG1lc3NhZ2U7XG4gICAgICBtZXNzYWdlID0gbGV2ZWw7XG4gICAgICBsZXZlbCA9ICdlcnJvcic7XG4gICAgfSBlbHNlIGlmICghaXNTdHJpbmcobGV2ZWwpIHx8ICFpbmNsdWRlcyhsZXZlbHMsIGxldmVsKSkge1xuICAgICAgbWV0YSA9IG1lc3NhZ2U7XG4gICAgICBtZXNzYWdlID0gbGV2ZWw7XG4gICAgICBsZXZlbCA9ICdpbmZvJztcbiAgICAgIG1vZGlmaWVyID0gLTE7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlcmUgYXJlIGZvdXIgb3IgbW9yZSBhcmdzXG4gICAgLy8gdGhlbiBpbmZlciB0byB1c2UgdXRpbC5mb3JtYXQgb24gZXZlcnl0aGluZ1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID49IDQgKyBtb2RpZmllcikge1xuICAgICAgbWVzc2FnZSA9IGZvcm1hdCguLi5vcmlnaW5hbEFyZ3Muc2xpY2UoMSArIG1vZGlmaWVyKSk7XG4gICAgICBtZXRhID0ge307XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGFyZ3VtZW50cy5sZW5ndGggPT09IDMgKyBtb2RpZmllciAmJlxuICAgICAgaXNTdHJpbmcobWVzc2FnZSkgJiZcbiAgICAgIHRva2Vucy5zb21lKHQgPT4gaW5jbHVkZXMobWVzc2FnZSwgdCkpXG4gICAgKSB7XG4gICAgICAvLyBvdGhlcndpc2UgaWYgdGhlcmUgYXJlIHRocmVlIGFyZ3MgYW5kIGlmIHRoZSBgbWVzc2FnZWAgY29udGFpbnNcbiAgICAgIC8vIGEgcGxhY2Vob2xkZXIgdG9rZW4gKGUuZy4gJyVzJyBvciAnJWQnIC0gc2VlIGFib3ZlIGB0b2tlbnNgIHZhcmlhYmxlKVxuICAgICAgLy8gdGhlbiB3ZSBjYW4gaW5mZXIgdGhhdCB0aGUgYG1ldGFgIGFyZyBwYXNzZWQgaXMgdXNlZCBmb3IgZm9ybWF0dGluZ1xuICAgICAgbWVzc2FnZSA9IGZvcm1hdChtZXNzYWdlLCBtZXRhKTtcbiAgICAgIG1ldGEgPSB7fTtcbiAgICB9IGVsc2UgaWYgKCFpc0Vycm9yKG1lc3NhZ2UpKSB7XG4gICAgICBpZiAoaXNFcnJvcihtZXRhKSkge1xuICAgICAgICBtZXRhID0geyBlcnI6IHBhcnNlRXJyKG1ldGEpIH07XG4gICAgICB9IGVsc2UgaWYgKCFpc1BsYWluT2JqZWN0KG1ldGEpICYmICFpc1VuZGVmaW5lZChtZXRhKSAmJiAhaXNOdWxsKG1ldGEpKSB7XG4gICAgICAgIC8vIGlmIHRoZSBgbWV0YWAgdmFyaWFibGUgcGFzc2VkIHdhcyBub3QgYW4gT2JqZWN0IHRoZW4gY29udmVydCBpdFxuICAgICAgICBtZXNzYWdlID0gZm9ybWF0KG1lc3NhZ2UsIG1ldGEpO1xuICAgICAgICBtZXRhID0ge307XG4gICAgICB9IGVsc2UgaWYgKCFpc1N0cmluZyhtZXNzYWdlKSkge1xuICAgICAgICAvLyBpZiB0aGUgbWVzc2FnZSBpcyBub3QgYSBzdHJpbmcgdGhlbiB3ZSBzaG91bGQgcnVuIGB1dGlsLmZvcm1hdGAgb24gaXRcbiAgICAgICAgLy8gYXNzdW1pbmcgd2UncmUgZm9ybWF0dGluZyBpdCBsaWtlIGl0IHdhcyBhbm90aGVyIGFyZ3VtZW50XG4gICAgICAgIC8vIChhcyBvcHBvc2VkIHRvIHVzaW5nIHNvbWV0aGluZyBsaWtlIGZhc3QtanNvbi1zdHJpbmdpZnkpXG4gICAgICAgIG1lc3NhZ2UgPSBmb3JtYXQobWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpc1BsYWluT2JqZWN0KG1ldGEpKSBtZXRhID0ge307XG5cbiAgICBsZXQgZXJyO1xuICAgIGlmIChpc0Vycm9yKG1lc3NhZ2UpKSB7XG4gICAgICBlcnIgPSBtZXNzYWdlO1xuICAgICAgaWYgKCFpc09iamVjdChtZXRhLmVycikpIG1ldGEuZXJyID0gcGFyc2VFcnIoZXJyKTtcbiAgICAgICh7IG1lc3NhZ2UgfSA9IG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8vIHNldCBkZWZhdWx0IGxldmVsIG9uIG1ldGFcbiAgICBtZXRhLmxldmVsID0gbGV2ZWw7XG5cbiAgICAvLyBzZXQgdGhlIGJvZHkgdXNlZCBmb3IgcmV0dXJuaW5nIHdpdGggYW5kIHNlbmRpbmcgbG9nc1xuICAgIC8vIChhbmQgYWxzbyByZW1vdmUgY2lyY3VsYXIgcmVmZXJlbmNlcylcbiAgICBjb25zdCBib2R5ID0gc2FmZVN0cmluZ2lmeSh7IG1lc3NhZ2UsIG1ldGEgfSk7XG5cbiAgICAvLyBzZW5kIHRvIENhYmluIG9yIG90aGVyIGxvZ2dpbmcgc2VydmljZSBoZXJlIHRoZSBgbWVzc2FnZWAgYW5kIGBtZXRhYFxuICAgIGlmIChcbiAgICAgIGNvbmZpZy5jYXB0dXJlICYmXG4gICAgICBpbmNsdWRlcyhjb25maWcubGV2ZWxzLCBsZXZlbCkgJiZcbiAgICAgICghaXNFcnJvcihlcnIpIHx8ICFlcnIuX2NhcHR1cmVGYWlsZWQpXG4gICAgKSB7XG4gICAgICAvLyBpZiB0aGUgdXNlciBkaWRuJ3Qgc3BlY2lmeSBhIGtleVxuICAgICAgLy8gYW5kIHRoZXkgYXJlIHVzaW5nIHRoZSBkZWZhdWx0IGVuZHBvaW50XG4gICAgICAvLyB0aGVuIHdlIHNob3VsZCB0aHJvdyBhbiBlcnJvciB0byB0aGVtXG4gICAgICBpZiAoY29uZmlnLmVuZHBvaW50ID09PSBlbmRwb2ludCAmJiAhY29uZmlnLmtleSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiUGxlYXNlIHByb3ZpZGUgeW91ciBDYWJpbiBBUEkga2V5IGFzIGBuZXcgQXhlKHsga2V5OiAnWU9VUi1DQUJJTi1BUEktS0VZJyB9KWAuXFxuVmlzaXQgPGh0dHBzOi8vY2FiaW5qcy5jb20+IHRvIHNpZ24gdXAgZm9yIGZyZWUhXFxuSGlkZSB0aGlzIG1lc3NhZ2Ugd2l0aCBgbmV3IEF4ZSh7IGNhcHR1cmU6IGZhbHNlIH0pYC5cIlxuICAgICAgICApO1xuXG4gICAgICAvLyBjYXB0dXJlIHRoZSBsb2cgb3ZlciBIVFRQXG4gICAgICBjb25zdCByZXEgPSBzdXBlcmFnZW50LnBvc3QoY29uZmlnLmVuZHBvaW50KS50aW1lb3V0KGNvbmZpZy50aW1lb3V0KTtcblxuICAgICAgLy8gYmFzaWMgYXV0aCAoZS5nLiBDYWJpbiBBUEkga2V5KVxuICAgICAgaWYgKGNvbmZpZy5rZXkpIHJlcS5hdXRoKGNvbmZpZy5rZXkpO1xuXG4gICAgICAvLyBzZXQgaGVhZGVycyBpZiBhbnlcbiAgICAgIGlmICghaXNFbXB0eShjb25maWcuaGVhZGVycykpIHJlcS5zZXQoY29uZmlnLmhlYWRlcnMpO1xuXG4gICAgICByZXFcbiAgICAgICAgLnJldHJ5KGNvbmZpZy5yZXRyeSlcbiAgICAgICAgLnNlbmQoYm9keSlcbiAgICAgICAgLmVuZChlcnIgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIGVyci5fY2FwdHVyZUZhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5sb2dnZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFN1cHByZXNzIGxvZ3MgaWYgaXQgd2FzIHNpbGVudFxuICAgIGlmIChjb25maWcuc2lsZW50KSByZXR1cm4gYm9keTtcblxuICAgIC8vIGlmIHRoZXJlIHdhcyBtZXRhIGluZm9ybWF0aW9uIHRoZW4gb3V0cHV0IGl0XG4gICAgY29uc3Qgb21pdHRlZCA9IG9taXQobWV0YSwgWydsZXZlbCcsICdlcnInXSk7XG5cbiAgICAvLyBmYXRhbCBzaG91bGQgdXNlIGVycm9yIChlLmcuIGluIGJyb3dzZXIpXG4gICAgaWYgKGxldmVsID09PSAnZmF0YWwnKSBsZXZlbCA9ICdlcnJvcic7XG5cbiAgICAvLyBpZiB3ZSBkaWRuJ3QgcGFzcyBhIGxldmVsIGFzIGEgbWV0aG9kXG4gICAgLy8gKGUuZy4gY29uc29sZS5pbmZvKSwgdGhlbiB3ZSBzaG91bGQgc3RpbGxcbiAgICAvLyB1c2UgdGhlIGxvZ2dlcidzIGBsb2dgIG1ldGhvZCB0byBvdXRwdXRcbiAgICBpZiAobW9kaWZpZXIgPT09IC0xKSBsZXZlbCA9ICdsb2cnO1xuXG4gICAgLy8gc2hvdyBzdGFjayB0cmFjZSBpZiBuZWNlc3NhcnkgKGFsb25nIHdpdGggYW55IG1ldGFkYXRhKVxuICAgIGlmIChsZXZlbCA9PT0gJ2Vycm9yJyAmJiBpc0Vycm9yKGVycikgJiYgY29uZmlnLnNob3dTdGFjaykge1xuICAgICAgaWYgKCFjb25maWcuc2hvd01ldGEgfHwgaXNFbXB0eShvbWl0dGVkKSkgdGhpcy5jb25maWcubG9nZ2VyLmVycm9yKGVycik7XG4gICAgICBlbHNlIHRoaXMuY29uZmlnLmxvZ2dlci5lcnJvcihlcnIsIG9taXR0ZWQpO1xuICAgIH0gZWxzZSBpZiAoIWNvbmZpZy5zaG93TWV0YSB8fCBpc0VtcHR5KG9taXR0ZWQpKSB7XG4gICAgICB0aGlzLmNvbmZpZy5sb2dnZXJbbGV2ZWxdKG1lc3NhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbmZpZy5sb2dnZXJbbGV2ZWxdKG1lc3NhZ2UsIG9taXR0ZWQpO1xuICAgIH1cblxuICAgIC8vIHJldHVybiB0aGUgcGFyc2VkIGJvZHkgaW4gY2FzZSB3ZSBuZWVkIGl0XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBBeGU7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJmb3JtYXQiLCJyZXF1aXJlIiwic3VwZXJhZ2VudCIsInBhcnNlRXJyIiwic2FmZVN0cmluZ2lmeSIsImlzRXJyb3IiLCJpc09iamVjdCIsImlzU3RyaW5nIiwiaW5jbHVkZXMiLCJvbWl0IiwiaXNFbXB0eSIsImlzUGxhaW5PYmplY3QiLCJpc1VuZGVmaW5lZCIsImlzTnVsbCIsImJvb2xlYW4iLCJ0b2tlbnMiLCJsZXZlbHMiLCJlbmRwb2ludCIsImVudiIsInByb2Nlc3MiLCJOT0RFX0VOViIsIkF4ZSIsImNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiIsImtleSIsImhlYWRlcnMiLCJ0aW1lb3V0IiwicmV0cnkiLCJzaG93U3RhY2siLCJTSE9XX1NUQUNLIiwic2hvd01ldGEiLCJTSE9XX01FVEEiLCJzaWxlbnQiLCJsb2dnZXIiLCJjb25zb2xlIiwiY2FwdHVyZSIsImxvZyIsImJpbmQiLCJmb3JFYWNoIiwibGV2ZWwiLCJhcmdzIiwiY29uY2F0Iiwic2xpY2UiLCJjYWxsIiwiZXJyIiwiZXJyb3IiLCJ3YXJuaW5nIiwid2FybiIsIm1lc3NhZ2UiLCJtZXRhIiwib3JpZ2luYWxBcmdzIiwibW9kaWZpZXIiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb21lIiwidCIsImJvZHkiLCJfY2FwdHVyZUZhaWxlZCIsIkVycm9yIiwicmVxIiwicG9zdCIsImF1dGgiLCJzZXQiLCJzZW5kIiwiZW5kIiwib21pdHRlZCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFNQSxNQUFNLEdBQUdDLE9BQU8sQ0FBQyxhQUFELENBQXRCOztBQUNBLElBQU1DLFVBQVUsR0FBR0QsT0FBTyxDQUFDLFlBQUQsQ0FBMUI7O0FBQ0EsSUFBTUUsUUFBUSxHQUFHRixPQUFPLENBQUMsV0FBRCxDQUF4Qjs7QUFDQSxJQUFNRyxhQUFhLEdBQUdILE9BQU8sQ0FBQyxxQkFBRCxDQUE3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OztBQUNBLFVBQUlBLEtBQUssS0FBSyxPQUFWLElBQXFCbkMsT0FBTyxDQUFDd0MsR0FBRCxDQUE1QixJQUFxQ3ZCLE1BQU0sQ0FBQ08sU0FBaEQsRUFBMkQ7QUFDekQsWUFBSSxDQUFDUCxNQUFNLENBQUNTLFFBQVIsSUFBb0JyQixPQUFPLENBQUN3RCxPQUFELENBQS9CLEVBQTBDLEtBQUs1QyxNQUFMLENBQVlZLE1BQVosQ0FBbUJZLEtBQW5CLENBQXlCRCxHQUF6QixFQUExQyxLQUNLLEtBQUt2QixNQUFMLENBQVlZLE1BQVosQ0FBbUJZLEtBQW5CLENBQXlCRCxHQUF6QixFQUE4QnFCLE9BQTlCO0FBQ04sT0FIRCxNQUdPLElBQUksQ0FBQzVDLE1BQU0sQ0FBQ1MsUUFBUixJQUFvQnJCLE9BQU8sQ0FBQ3dELE9BQUQsQ0FBL0IsRUFBMEM7QUFDL0MsYUFBSzVDLE1BQUwsQ0FBWVksTUFBWixDQUFtQk0sS0FBbkIsRUFBMEJTLE9BQTFCO0FBQ0QsT0FGTSxNQUVBO0FBQ0wsYUFBSzNCLE1BQUwsQ0FBWVksTUFBWixDQUFtQk0sS0FBbkIsRUFBMEJTLE9BQTFCLEVBQW1DaUIsT0FBbkM7QUFDRCxPQXpIcUMsQ0EySHRDOzs7QUFDQSxhQUFPVCxJQUFQO0FBQ0Q7Ozs7OztBQUdIVSxNQUFNLENBQUNDLE9BQVAsR0FBaUIvQyxHQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGZvcm1hdCA9IHJlcXVpcmUoJ2Zvcm1hdC11dGlsJyk7XG5jb25zdCBzdXBlcmFnZW50ID0gcmVxdWlyZSgnc3VwZXJhZ2VudCcpO1xuY29uc3QgcGFyc2VFcnIgPSByZXF1aXJlKCdwYXJzZS1lcnInKTtcbmNvbnN0IHNhZmVTdHJpbmdpZnkgPSByZXF1aXJlKCdmYXN0LXNhZmUtc3RyaW5naWZ5Jyk7XG4vLyA8aHR0cHM6Ly9sYWNrZS5tbi9yZWR1Y2UteW91ci1idW5kbGUtanMtZmlsZS1zaXplLz5cbi8vIDxodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2JhYmVsLXBsdWdpbi1sb2Rhc2gvaXNzdWVzLzIyMT5cbmNvbnN0IGlzRXJyb3IgPSByZXF1aXJlKCdsb2Rhc2gvaXNFcnJvcicpO1xuY29uc3QgaXNPYmplY3QgPSByZXF1aXJlKCdsb2Rhc2gvaXNPYmplY3QnKTtcbmNvbnN0IGlzU3RyaW5nID0gcmVxdWlyZSgnbG9kYXNoL2lzU3RyaW5nJyk7XG5jb25zdCBpbmNsdWRlcyA9IHJlcXVpcmUoJ2xvZGFzaC9pbmNsdWRlcycpO1xuY29uc3Qgb21pdCA9IHJlcXVpcmUoJ2xvZGFzaC9vbWl0Jyk7XG5jb25zdCBpc0VtcHR5ID0gcmVxdWlyZSgnbG9kYXNoL2lzRW1wdHknKTtcbmNvbnN0IGlzUGxhaW5PYmplY3QgPSByZXF1aXJlKCdsb2Rhc2gvaXNQbGFpbk9iamVjdCcpO1xuY29uc3QgaXNVbmRlZmluZWQgPSByZXF1aXJlKCdsb2Rhc2gvaXNVbmRlZmluZWQnKTtcbmNvbnN0IGlzTnVsbCA9IHJlcXVpcmUoJ2xvZGFzaC9pc051bGwnKTtcbmNvbnN0IGJvb2xlYW4gPSByZXF1aXJlKCdib29sZWFuJyk7XG5cbi8vIGFkZCByZXRyeSBsb2dpYyB0byBzdXBlcmFnZW50XG5yZXF1aXJlKCdzdXBlcmFnZW50LXJldHJ5Jykoc3VwZXJhZ2VudCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW5hc3NpZ25lZC1pbXBvcnRcbnJlcXVpcmUoJ2NvbnNvbGUtcG9seWZpbGwnKTtcblxuLy8gdGhlc2UgYXJlIGtub3duIGFzIFwicGxhY2Vob2xkZXIgdG9rZW5zXCIsIHNlZSB0aGlzIGxpbmsgZm9yIG1vcmUgaW5mbzpcbi8vIDxodHRwczovL25vZGVqcy5vcmcvYXBpL3V0aWwuaHRtbCN1dGlsX3V0aWxfZm9ybWF0X2Zvcm1hdF9hcmdzPlxuLy9cbi8vIHNpbmNlIHRoZXkgYXJlbid0IGV4cG9zZWQgKG9yIGRvbid0IHNlZW0gdG8gYmUpIGJ5IG5vZGUgKGF0IGxlYXN0IG5vdCB5ZXQpXG4vLyB3ZSBqdXN0IGRlZmluZSBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIHRoZW0gZm9yIG5vd1xuLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9pc3N1ZXMvMTc2MDE+XG5jb25zdCB0b2tlbnMgPSBbJyVzJywgJyVkJywgJyVpJywgJyVmJywgJyVqJywgJyVvJywgJyVPJywgJyUlJ107XG5jb25zdCBsZXZlbHMgPSBbJ3RyYWNlJywgJ2RlYnVnJywgJ2luZm8nLCAnd2FybicsICdlcnJvcicsICdmYXRhbCddO1xuY29uc3QgZW5kcG9pbnQgPSAnaHR0cHM6Ly9hcGkuY2FiaW5qcy5jb20nO1xuY29uc3QgZW52ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2RldmVsb3BtZW50JztcblxuY2xhc3MgQXhlIHtcbiAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGVuZHBvaW50LFxuICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgdGltZW91dDogNTAwMCxcbiAgICAgICAgcmV0cnk6IDMsXG4gICAgICAgIHNob3dTdGFjazogYm9vbGVhbihwcm9jZXNzLmVudi5TSE9XX1NUQUNLIHx8IGVudiAhPT0gJ3Byb2R1Y3Rpb24nKSxcbiAgICAgICAgc2hvd01ldGE6IGJvb2xlYW4ocHJvY2Vzcy5lbnYuU0hPV19NRVRBKSxcbiAgICAgICAgc2lsZW50OiBmYWxzZSxcbiAgICAgICAgbG9nZ2VyOiBjb25zb2xlLFxuICAgICAgICBsZXZlbHM6IFsnaW5mbycsICd3YXJuJywgJ2Vycm9yJywgJ2ZhdGFsJ10sXG4gICAgICAgIGNhcHR1cmU6IGVudiA9PT0gJ3Byb2R1Y3Rpb24nXG4gICAgICB9LFxuICAgICAgY29uZmlnXG4gICAgKTtcblxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgb21pdCh0aGlzLmNvbmZpZy5sb2dnZXIsIFsnY29uZmlnJywgJ2xvZyddKSk7XG5cbiAgICAvLyB3ZSBjb3VsZCBoYXZlIHVzZWQgYGF1dG8tYmluZGAgYnV0IGl0J3Mgbm90IGNvbXBpbGVkIGZvciBicm93c2VyXG4gICAgdGhpcy5sb2cgPSB0aGlzLmxvZy5iaW5kKHRoaXMpO1xuXG4gICAgLy8gYmluZCBoZWxwZXIgZnVuY3Rpb25zIGZvciBlYWNoIGxvZyBsZXZlbFxuICAgIGxldmVscy5mb3JFYWNoKGxldmVsID0+IHtcbiAgICAgIHRoaXNbbGV2ZWxdID0gKC4uLmFyZ3MpID0+XG4gICAgICAgIHRoaXMubG9nKC4uLltsZXZlbF0uY29uY2F0KFtdLnNsaWNlLmNhbGwoYXJncykpKTtcbiAgICB9KTtcblxuICAgIC8vIGFsaWFzZXNcbiAgICB0aGlzLmVyciA9IHRoaXMuZXJyb3I7XG4gICAgdGhpcy53YXJuaW5nID0gdGhpcy53YXJuO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgbG9nKGxldmVsLCBtZXNzYWdlLCBtZXRhID0ge30sIC4uLmFyZ3MpIHtcbiAgICBjb25zdCBvcmlnaW5hbEFyZ3MgPSBbbGV2ZWwsIG1lc3NhZ2UsIG1ldGEsIC4uLltdLnNsaWNlLmNhbGwoYXJncyldO1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xuICAgIGxldCBtb2RpZmllciA9IDA7XG5cbiAgICBpZiAobGV2ZWwgPT09ICd3YXJuaW5nJykgbGV2ZWwgPSAnd2Fybic7XG4gICAgaWYgKGxldmVsID09PSAnZXJyJykgbGV2ZWwgPSAnZXJyb3InO1xuXG4gICAgaWYgKGlzRXJyb3IobGV2ZWwpKSB7XG4gICAgICBtZXRhID0gbWVzc2FnZTtcbiAgICAgIG1lc3NhZ2UgPSBsZXZlbDtcbiAgICAgIGxldmVsID0gJ2Vycm9yJztcbiAgICB9IGVsc2UgaWYgKCFpc1N0cmluZyhsZXZlbCkgfHwgIWluY2x1ZGVzKGxldmVscywgbGV2ZWwpKSB7XG4gICAgICBtZXRhID0gbWVzc2FnZTtcbiAgICAgIG1lc3NhZ2UgPSBsZXZlbDtcbiAgICAgIGxldmVsID0gJ2luZm8nO1xuICAgICAgbW9kaWZpZXIgPSAtMTtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBhcmUgZm91ciBvciBtb3JlIGFyZ3NcbiAgICAvLyB0aGVuIGluZmVyIHRvIHVzZSB1dGlsLmZvcm1hdCBvbiBldmVyeXRoaW5nXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPj0gNCArIG1vZGlmaWVyKSB7XG4gICAgICBtZXNzYWdlID0gZm9ybWF0KC4uLm9yaWdpbmFsQXJncy5zbGljZSgxICsgbW9kaWZpZXIpKTtcbiAgICAgIG1ldGEgPSB7fTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgYXJndW1lbnRzLmxlbmd0aCA9PT0gMyArIG1vZGlmaWVyICYmXG4gICAgICBpc1N0cmluZyhtZXNzYWdlKSAmJlxuICAgICAgdG9rZW5zLnNvbWUodCA9PiBpbmNsdWRlcyhtZXNzYWdlLCB0KSlcbiAgICApIHtcbiAgICAgIC8vIG90aGVyd2lzZSBpZiB0aGVyZSBhcmUgdGhyZWUgYXJncyBhbmQgaWYgdGhlIGBtZXNzYWdlYCBjb250YWluc1xuICAgICAgLy8gYSBwbGFjZWhvbGRlciB0b2tlbiAoZS5nLiAnJXMnIG9yICclZCcgLSBzZWUgYWJvdmUgYHRva2Vuc2AgdmFyaWFibGUpXG4gICAgICAvLyB0aGVuIHdlIGNhbiBpbmZlciB0aGF0IHRoZSBgbWV0YWAgYXJnIHBhc3NlZCBpcyB1c2VkIGZvciBmb3JtYXR0aW5nXG4gICAgICBtZXNzYWdlID0gZm9ybWF0KG1lc3NhZ2UsIG1ldGEpO1xuICAgICAgbWV0YSA9IHt9O1xuICAgIH0gZWxzZSBpZiAoIWlzRXJyb3IobWVzc2FnZSkpIHtcbiAgICAgIGlmIChpc0Vycm9yKG1ldGEpKSB7XG4gICAgICAgIG1ldGEgPSB7IGVycjogcGFyc2VFcnIobWV0YSkgfTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzUGxhaW5PYmplY3QobWV0YSkgJiYgIWlzVW5kZWZpbmVkKG1ldGEpICYmICFpc051bGwobWV0YSkpIHtcbiAgICAgICAgLy8gaWYgdGhlIGBtZXRhYCB2YXJpYWJsZSBwYXNzZWQgd2FzIG5vdCBhbiBPYmplY3QgdGhlbiBjb252ZXJ0IGl0XG4gICAgICAgIG1lc3NhZ2UgPSBmb3JtYXQobWVzc2FnZSwgbWV0YSk7XG4gICAgICAgIG1ldGEgPSB7fTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU3RyaW5nKG1lc3NhZ2UpKSB7XG4gICAgICAgIC8vIGlmIHRoZSBtZXNzYWdlIGlzIG5vdCBhIHN0cmluZyB0aGVuIHdlIHNob3VsZCBydW4gYHV0aWwuZm9ybWF0YCBvbiBpdFxuICAgICAgICAvLyBhc3N1bWluZyB3ZSdyZSBmb3JtYXR0aW5nIGl0IGxpa2UgaXQgd2FzIGFub3RoZXIgYXJndW1lbnRcbiAgICAgICAgLy8gKGFzIG9wcG9zZWQgdG8gdXNpbmcgc29tZXRoaW5nIGxpa2UgZmFzdC1qc29uLXN0cmluZ2lmeSlcbiAgICAgICAgbWVzc2FnZSA9IGZvcm1hdChtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWlzUGxhaW5PYmplY3QobWV0YSkpIG1ldGEgPSB7fTtcblxuICAgIGxldCBlcnI7XG4gICAgaWYgKGlzRXJyb3IobWVzc2FnZSkpIHtcbiAgICAgIGVyciA9IG1lc3NhZ2U7XG4gICAgICBpZiAoIWlzT2JqZWN0KG1ldGEuZXJyKSkgbWV0YS5lcnIgPSBwYXJzZUVycihlcnIpO1xuICAgICAgKHsgbWVzc2FnZSB9ID0gbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLy8gc2V0IGRlZmF1bHQgbGV2ZWwgb24gbWV0YVxuICAgIG1ldGEubGV2ZWwgPSBsZXZlbDtcblxuICAgIC8vIHNldCB0aGUgYm9keSB1c2VkIGZvciByZXR1cm5pbmcgd2l0aCBhbmQgc2VuZGluZyBsb2dzXG4gICAgLy8gKGFuZCBhbHNvIHJlbW92ZSBjaXJjdWxhciByZWZlcmVuY2VzKVxuICAgIGNvbnN0IGJvZHkgPSBzYWZlU3RyaW5naWZ5KHsgbWVzc2FnZSwgbWV0YSB9KTtcblxuICAgIC8vIHNlbmQgdG8gQ2FiaW4gb3Igb3RoZXIgbG9nZ2luZyBzZXJ2aWNlIGhlcmUgdGhlIGBtZXNzYWdlYCBhbmQgYG1ldGFgXG4gICAgaWYgKFxuICAgICAgY29uZmlnLmNhcHR1cmUgJiZcbiAgICAgIGluY2x1ZGVzKGNvbmZpZy5sZXZlbHMsIGxldmVsKSAmJlxuICAgICAgKCFpc0Vycm9yKGVycikgfHwgIWVyci5fY2FwdHVyZUZhaWxlZClcbiAgICApIHtcbiAgICAgIC8vIGlmIHRoZSB1c2VyIGRpZG4ndCBzcGVjaWZ5IGEga2V5XG4gICAgICAvLyBhbmQgdGhleSBhcmUgdXNpbmcgdGhlIGRlZmF1bHQgZW5kcG9pbnRcbiAgICAgIC8vIHRoZW4gd2Ugc2hvdWxkIHRocm93IGFuIGVycm9yIHRvIHRoZW1cbiAgICAgIGlmIChjb25maWcuZW5kcG9pbnQgPT09IGVuZHBvaW50ICYmICFjb25maWcua2V5KVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJQbGVhc2UgcHJvdmlkZSB5b3VyIENhYmluIEFQSSBrZXkgYXMgYG5ldyBBeGUoeyBrZXk6ICdZT1VSLUNBQklOLUFQSS1LRVknIH0pYC5cXG5WaXNpdCA8aHR0cHM6Ly9jYWJpbmpzLmNvbT4gdG8gc2lnbiB1cCBmb3IgZnJlZSFcXG5IaWRlIHRoaXMgbWVzc2FnZSB3aXRoIGBuZXcgQXhlKHsgY2FwdHVyZTogZmFsc2UgfSlgLlwiXG4gICAgICAgICk7XG5cbiAgICAgIC8vIGNhcHR1cmUgdGhlIGxvZyBvdmVyIEhUVFBcbiAgICAgIGNvbnN0IHJlcSA9IHN1cGVyYWdlbnQucG9zdChjb25maWcuZW5kcG9pbnQpLnRpbWVvdXQoY29uZmlnLnRpbWVvdXQpO1xuXG4gICAgICAvLyBiYXNpYyBhdXRoIChlLmcuIENhYmluIEFQSSBrZXkpXG4gICAgICBpZiAoY29uZmlnLmtleSkgcmVxLmF1dGgoY29uZmlnLmtleSk7XG5cbiAgICAgIC8vIHNldCBoZWFkZXJzIGlmIGFueVxuICAgICAgaWYgKCFpc0VtcHR5KGNvbmZpZy5oZWFkZXJzKSkgcmVxLnNldChjb25maWcuaGVhZGVycyk7XG5cbiAgICAgIHJlcVxuICAgICAgICAucmV0cnkoY29uZmlnLnJldHJ5KVxuICAgICAgICAuc2VuZChib2R5KVxuICAgICAgICAuZW5kKGVyciA9PiB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgZXJyLl9jYXB0dXJlRmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU3VwcHJlc3MgbG9ncyBpZiBpdCB3YXMgc2lsZW50XG4gICAgaWYgKGNvbmZpZy5zaWxlbnQpIHJldHVybiBib2R5O1xuXG4gICAgLy8gaWYgdGhlcmUgd2FzIG1ldGEgaW5mb3JtYXRpb24gdGhlbiBvdXRwdXQgaXRcbiAgICBjb25zdCBvbWl0dGVkID0gb21pdChtZXRhLCBbJ2xldmVsJywgJ2VyciddKTtcblxuICAgIC8vIGZhdGFsIHNob3VsZCB1c2UgZXJyb3IgKGUuZy4gaW4gYnJvd3NlcilcbiAgICBpZiAobGV2ZWwgPT09ICdmYXRhbCcpIGxldmVsID0gJ2Vycm9yJztcblxuICAgIC8vIGlmIHdlIGRpZG4ndCBwYXNzIGEgbGV2ZWwgYXMgYSBtZXRob2RcbiAgICAvLyAoZS5nLiBjb25zb2xlLmluZm8pLCB0aGVuIHdlIHNob3VsZCBzdGlsbFxuICAgIC8vIHVzZSB0aGUgbG9nZ2VyJ3MgYGxvZ2AgbWV0aG9kIHRvIG91dHB1dFxuICAgIGlmIChtb2RpZmllciA9PT0gLTEpIGxldmVsID0gJ2xvZyc7XG5cbiAgICAvLyBzaG93IHN0YWNrIHRyYWNlIGlmIG5lY2Vzc2FyeSAoYWxvbmcgd2l0aCBhbnkgbWV0YWRhdGEpXG4gICAgaWYgKGxldmVsID09PSAnZXJyb3InICYmIGlzRXJyb3IoZXJyKSAmJiBjb25maWcuc2hvd1N0YWNrKSB7XG4gICAgICBpZiAoIWNvbmZpZy5zaG93TWV0YSB8fCBpc0VtcHR5KG9taXR0ZWQpKSB0aGlzLmNvbmZpZy5sb2dnZXIuZXJyb3IoZXJyKTtcbiAgICAgIGVsc2UgdGhpcy5jb25maWcubG9nZ2VyLmVycm9yKGVyciwgb21pdHRlZCk7XG4gICAgfSBlbHNlIGlmICghY29uZmlnLnNob3dNZXRhIHx8IGlzRW1wdHkob21pdHRlZCkpIHtcbiAgICAgIHRoaXMuY29uZmlnLmxvZ2dlcltsZXZlbF0obWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlnLmxvZ2dlcltsZXZlbF0obWVzc2FnZSwgb21pdHRlZCk7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIHRoZSBwYXJzZWQgYm9keSBpbiBjYXNlIHdlIG5lZWQgaXRcbiAgICByZXR1cm4gYm9keTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEF4ZTtcbiJdfQ==

3

package.json
{
"name": "axe",
"description": "Logging add-on to send logs over HTTP to your server in Node and Browser environments. Works with any logger! Chop up your logs consistently! Made for Cabin and Lad.",
"version": "2.0.1",
"version": "2.0.2",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com)",

@@ -18,2 +18,3 @@ "ava": {

"dependencies": {
"boolean": "^0.2.0",
"console-polyfill": "^0.3.0",

@@ -20,0 +21,0 @@ "fast-safe-stringify": "^2.0.4",

@@ -221,8 +221,8 @@ # Axe

* `retry` (Number) - defaults to `3`, number of attempts to retry sending log over HTTP
* `showStack` (Boolean) - defaults to `true`, whether or not to output a stack trace
* `showMeta` (Boolean) - defaults to `false`, whether or not to output metadata to logger methods
* `showStack` (Boolean) - defaults to `true` in non-production environments (attempts to parse a boolean value from `process.env.SHOW_STACK`), whether or not to output a stack trace
* `showMeta` (Boolean) - defaults to `false` (attempts to parse a boolean value from `process.env.SHOW_META` – meaning you can pass a flag `SHOW_META=true node app.js` when needed for debugging), whether or not to output metadata to logger methods
* `silent` (Boolean) - defaults to `false`, whether or not to suppress log output to console
* `logger` (Object) - defaults to `console` (with [console-polyfill][] added automatically), but you may wish to use a [custom logger](#custom-logger)
* `levels` (Array) - an Array of levels to capture (defaults to `[ 'info', 'warn', 'error', 'fatal' ]`
* `capture` (Boolean) - defaults to `true`, whether or not to `POST` logs to the `endpoint` (takes into consideration the `config.levels` to only send valid capture levels)
* `capture` (Boolean) - defaults to `false` in non-production environments, whether or not to `POST` logs to the `endpoint` (takes into consideration the `config.levels` to only send valid capture levels)

@@ -229,0 +229,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc