teen_process 1.16.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/exec.js +2 -2
- package/build/lib/helpers.js +1 -1
- package/build/lib/index.js +34 -0
- package/build/lib/subprocess.js +4 -2
- package/index.js +1 -11
- package/lib/exec.js +78 -5
- package/lib/helpers.js +4 -4
- package/lib/index.js +11 -0
- package/lib/subprocess.js +6 -1
- package/package.json +13 -9
- package/build/index.js +0 -32
package/build/lib/exec.js
CHANGED
|
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.exec = exec;
|
|
9
8
|
exports.default = void 0;
|
|
9
|
+
exports.exec = exec;
|
|
10
10
|
|
|
11
11
|
require("source-map-support/register");
|
|
12
12
|
|
|
@@ -171,4 +171,4 @@ var _default = exec;
|
|
|
171
171
|
exports.default = _default;require('source-map-support').install();
|
|
172
172
|
|
|
173
173
|
|
|
174
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9leGVjLmpzIl0sIm5hbWVzIjpbIk1BWF9CVUZGRVJfU0laRSIsImV4ZWMiLCJjbWQiLCJhcmdzIiwib3B0cyIsInJlcCIsIk9iamVjdCIsImFzc2lnbiIsInRpbWVvdXQiLCJlbmNvZGluZyIsImtpbGxTaWduYWwiLCJjd2QiLCJ1bmRlZmluZWQiLCJlbnYiLCJwcm9jZXNzIiwiaWdub3JlT3V0cHV0Iiwic3RkaW8iLCJpc0J1ZmZlciIsInNoZWxsIiwibG9nZ2VyIiwibWF4U3Rkb3V0QnVmZmVyU2l6ZSIsIm1heFN0ZGVyckJ1ZmZlclNpemUiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsInByb2MiLCJzdGRvdXRBcnIiLCJzdGRlcnJBcnIiLCJ0aW1lciIsIm9uIiwiZXJyIiwiZXJybm8iLCJzdGRpbiIsIkVycm9yIiwic3lzY2FsbCIsInN0YWNrIiwiaGFuZGxlU3RyZWFtIiwic3RyZWFtVHlwZSIsInN0cmVhbVByb3BzIiwiXyIsImNhcGl0YWxpemUiLCJjaHVua3MiLCJtYXhTaXplIiwic2l6ZSIsImNodW5rIiwicHVzaCIsImxlbmd0aCIsInNoaWZ0IiwiaXNGdW5jdGlvbiIsImRlYnVnIiwidG9TdHJpbmciLCJnZXRTdGRpbyIsInN0ZG91dCIsInN0ZGVyciIsIkJ1ZmZlciIsImNvbmNhdCIsImNvZGUiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0Iiwia2lsbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsZUFBZSxHQUFHLE1BQU0sSUFBTixHQUFhLElBQXJDOztBQUVBLGVBQWVDLElBQWYsQ0FBcUJDLEdBQXJCLEVBQTBCQyxJQUFJLEdBQUcsRUFBakMsRUFBcUNDLElBQUksR0FBRyxFQUE1QyxFQUFnRDtBQUU5QyxRQUFNQyxHQUFHLEdBQUcsdUJBQU0sQ0FBQ0gsR0FBRCxFQUFNLEdBQUdDLElBQVQsQ0FBTixDQUFaO0FBSUFDLEVBQUFBLElBQUksR0FBR0Us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QUFBQ04sVUFBQUEsTUFBRDtBQUFTQyxVQUFBQTtBQUFULFlBQW1CRixRQUFRLENBQUMvQyxJQUFJLENBQUNhLFFBQU4sQ0FBL0I7QUFDQSxZQUFJYSxHQUFHLEdBQUcsSUFBSUcsS0FBSixDQUFXLFlBQVc1QixHQUFJLHFCQUFvQkQsSUFBSSxDQUFDSSxPQUFRLElBQTNELENBQVY7QUFDQXNCLFFBQUFBLEdBQUcsR0FBR3hCLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjdUIsR0FBZCxFQUFtQjtBQUFDc0IsVUFBQUEsTUFBRDtBQUFTQyxVQUFBQSxNQUFUO0FBQWlCRyxVQUFBQSxJQUFJLEVBQUU7QUFBdkIsU0FBbkIsQ0FBTjtBQUNBaEMsUUFBQUEsTUFBTSxDQUFDTSxHQUFELENBQU47QUFHQUwsUUFBQUEsSUFBSSxDQUFDa0MsSUFBTCxDQUFVdkQsSUFBSSxDQUFDTSxVQUFmO0FBQ0QsT0FSaUIsRUFRZk4sSUFBSSxDQUFDSSxPQVJVLENBQWxCO0FBU0Q7QUFDRixHQXBHWSxDQUFiO0FBcUdEOztlQUdjUCxJIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tY2FsbGJhY2tzICovXG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBxdW90ZSB9IGZyb20gJ3NoZWxsLXF1b3RlJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmb3JtYXRFbm9lbnQgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5jb25zdCBNQVhfQlVGRkVSX1NJWkUgPSAxMDAgKiAxMDI0ICogMTAyNDtcblxuYXN5bmMgZnVuY3Rpb24gZXhlYyAoY21kLCBhcmdzID0gW10sIG9wdHMgPSB7fSkge1xuICAvLyBnZXQgYSBxdW90ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbW1hbmQgZm9yIGVycm9yIHN0cmluZ3NcbiAgY29uc3QgcmVwID0gcXVvdGUoW2NtZCwgLi4uYXJnc10pO1xuXG4gIC8vIGV4dGVuZCBkZWZhdWx0IG9wdGlvbnM7IHdlJ3JlIGJhc2ljYWxseSByZS1pbXBsZW1lbnRpbmcgZXhlYydzIG9wdGlvbnNcbiAgLy8gZm9yIHVzZSBoZXJlIHdpdGggc3Bhd24gdW5kZXIgdGhlIGhvb2RcbiAgb3B0cyA9IE9iamVjdC5hc3NpZ24oe1xuICAgIHRpbWVvdXQ6IG51bGwsXG4gICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICBraWxsU2lnbmFsOiAnU0lHVEVSTScsXG4gICAgY3dkOiB1bmRlZmluZWQsXG4gICAgZW52OiBwcm9jZXNzLmVudixcbiAgICBpZ25vcmVPdXRwdXQ6IGZhbHNlLFxuICAgIHN0ZGlvOiAnaW5oZXJpdCcsXG4gICAgaXNCdWZmZXI6IGZhbHNlLFxuICAgIHNoZWxsOiB1bmRlZmluZWQsXG4gICAgbG9nZ2VyOiB1bmRlZmluZWQsXG4gICAgbWF4U3Rkb3V0QnVmZmVyU2l6ZTogTUFYX0JVRkZFUl9TSVpFLFxuICAgIG1heFN0ZGVyckJ1ZmZlclNpemU6IE1BWF9CVUZGRVJfU0laRSxcbiAgfSwgb3B0cyk7XG5cbiAgLy8gdGhpcyBpcyBhbiBhc3luYyBmdW5jdGlvbiwgc28gcmV0dXJuIGEgcHJvbWlzZVxuICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIC8vIHNwYXduIHRoZSBjaGlsZCBwcm9jZXNzIHdpdGggb3B0aW9uczsgd2UgZG9uJ3QgY3VycmVudGx5IGV4cG9zZSBhbnkgb2ZcbiAgICAvLyB0aGUgb3RoZXIgJ3NwYXduJyBvcHRpb25zIHRocm91Z2ggdGhlIEFQSVxuICAgIGxldCBwcm9jID0gc3Bhd24oY21kLCBhcmdzLCB7Y3dkOiBvcHRzLmN3ZCwgZW52OiBvcHRzLmVudiwgc2hlbGw6IG9wdHMuc2hlbGx9KTtcbiAgICBsZXQgc3Rkb3V0QXJyID0gW10sIHN0ZGVyckFyciA9IFtdLCB0aW1lciA9IG51bGw7XG5cbiAgICAvLyBpZiB0aGUgcHJvY2VzcyBlcnJvcnMgb3V0LCByZWplY3QgdGhlIHByb21pc2VcbiAgICBwcm9jLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIuZXJybm8gPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIGVyciA9IGZvcm1hdEVub2VudChlcnIsIGNtZCwgb3B0cy5jd2QpO1xuICAgICAgfVxuICAgICAgcmVqZWN0KGVycik7XG4gICAgfSk7XG4gICAgaWYgKHByb2Muc3RkaW4pIHtcbiAgICAgIHByb2Muc3RkaW4ub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKGBTdGFuZGFyZCBpbnB1dCAnJHtlcnIuc3lzY2FsbH0nIGVycm9yOiAke2Vyci5zdGFja31gKSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlU3RyZWFtID0gKHN0cmVhbVR5cGUsIHN0cmVhbVByb3BzKSA9PiB7XG4gICAgICBpZiAoIXByb2Nbc3RyZWFtVHlwZV0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBwcm9jW3N0cmVhbVR5cGVdLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgJHtfLmNhcGl0YWxpemUoc3RyZWFtVHlwZSl9ICcke2Vyci5zeXNjYWxsfScgZXJyb3I6ICR7ZXJyLnN0YWNrfWApKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAob3B0cy5pZ25vcmVPdXRwdXQpIHtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2lzc3Vlcy80MjM2XG4gICAgICAgIHByb2Nbc3RyZWFtVHlwZV0ub24oJ2RhdGEnLCAoKSA9PiB7fSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8ga2VlcCB0cmFjayBvZiB0aGUgc3RyZWFtIGlmIHdlIGRvbid0IHdhbnQgdG8gaWdub3JlIGl0XG4gICAgICBjb25zdCB7Y2h1bmtzLCBtYXhTaXplfSA9IHN0cmVhbVByb3BzO1xuICAgICAgbGV0IHNpemUgPSAwO1xuICAgICAgcHJvY1tzdHJlYW1UeXBlXS5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgICAgICBjaHVua3MucHVzaChjaHVuayk7XG4gICAgICAgIHNpemUgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoY2h1bmtzLmxlbmd0aCA+IDEgJiYgc2l6ZSA+PSBtYXhTaXplKSB7XG4gICAgICAgICAgc2l6ZSAtPSBjaHVua3NbMF0ubGVuZ3RoO1xuICAgICAgICAgIGNodW5rcy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRzLmxvZ2dlciAmJiBfLmlzRnVuY3Rpb24ob3B0cy5sb2dnZXIuZGVidWcpKSB7XG4gICAgICAgICAgb3B0cy5sb2dnZXIuZGVidWcoY2h1bmsudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gICAgaGFuZGxlU3RyZWFtKCdzdGRvdXQnLCB7XG4gICAgICBtYXhTaXplOiBvcHRzLm1heFN0ZG91dEJ1ZmZlclNpemUsXG4gICAgICBjaHVua3M6IHN0ZG91dEFycixcbiAgICB9KTtcbiAgICBoYW5kbGVTdHJlYW0oJ3N0ZGVycicsIHtcbiAgICAgIG1heFNpemU6IG9wdHMubWF4U3RkZXJyQnVmZmVyU2l6ZSxcbiAgICAgIGNodW5rczogc3RkZXJyQXJyLFxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gZ2V0U3RkaW8gKGlzQnVmZmVyKSB7XG4gICAgICBsZXQgc3Rkb3V0LCBzdGRlcnI7XG4gICAgICBpZiAoaXNCdWZmZXIpIHtcbiAgICAgICAgc3Rkb3V0ID0gQnVmZmVyLmNvbmNhdChzdGRvdXRBcnIpO1xuICAgICAgICBzdGRlcnIgPSBCdWZmZXIuY29uY2F0KHN0ZGVyckFycik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGRvdXQgPSBCdWZmZXIuY29uY2F0KHN0ZG91dEFycikudG9TdHJpbmcob3B0cy5lbmNvZGluZyk7XG4gICAgICAgIHN0ZGVyciA9IEJ1ZmZlci5jb25jYXQoc3RkZXJyQXJyKS50b1N0cmluZyhvcHRzLmVuY29kaW5nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7c3Rkb3V0LCBzdGRlcnJ9O1xuICAgIH1cblxuICAgIC8vIGlmIHRoZSBwcm9jZXNzIGVuZHMsIGVpdGhlciByZXNvbHZlIG9yIHJlamVjdCB0aGUgcHJvbWlzZSBiYXNlZCBvbiB0aGVcbiAgICAvLyBleGl0IGNvZGUgb2YgdGhlIHByb2Nlc3MuIGVpdGhlciB3YXksIGF0dGFjaCBzdGRvdXQsIHN0ZGVyciwgYW5kIGNvZGUuXG4gICAgLy8gQWxzbyBjbGVhbiB1cCB0aGUgdGltZXIgaWYgaXQgZXhpc3RzXG4gICAgcHJvYy5vbignY2xvc2UnLCAoY29kZSkgPT4ge1xuICAgICAgaWYgKHRpbWVyKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICB9XG4gICAgICBsZXQge3N0ZG91dCwgc3RkZXJyfSA9IGdldFN0ZGlvKG9wdHMuaXNCdWZmZXIpO1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmVzb2x2ZSh7c3Rkb3V0LCBzdGRlcnIsIGNvZGV9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBlcnIgPSBuZXcgRXJyb3IoYENvbW1hbmQgJyR7cmVwfScgZXhpdGVkIHdpdGggY29kZSAke2NvZGV9YCk7XG4gICAgICAgIGVyciA9IE9iamVjdC5hc3NpZ24oZXJyLCB7c3Rkb3V0LCBzdGRlcnIsIGNvZGV9KTtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBpZiB3ZSBzZXQgYSB0aW1lb3V0IG9uIHRoZSBjaGlsZCBwcm9jZXNzLCBjdXQgaW50byB0aGUgZXhlY3V0aW9uIGFuZFxuICAgIC8vIHJlamVjdCBpZiB0aGUgdGltZW91dCBpcyByZWFjaGVkLiBBdHRhY2ggdGhlIHN0ZG91dC9zdGRlcnIgd2UgY3VycmVudGx5XG4gICAgLy8gaGF2ZSBpbiBjYXNlIGl0J3MgaGVscGZ1bCBpbiBkZWJ1Z2dpbmdcbiAgICBpZiAob3B0cy50aW1lb3V0KSB7XG4gICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsZXQge3N0ZG91dCwgc3RkZXJyfSA9IGdldFN0ZGlvKG9wdHMuaXNCdWZmZXIpO1xuICAgICAgICBsZXQgZXJyID0gbmV3IEVycm9yKGBDb21tYW5kICcke3JlcH0nIHRpbWVkIG91dCBhZnRlciAke29wdHMudGltZW91dH1tc2ApO1xuICAgICAgICBlcnIgPSBPYmplY3QuYXNzaWduKGVyciwge3N0ZG91dCwgc3RkZXJyLCBjb2RlOiBudWxsfSk7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAvLyByZWplY3QgYW5kIFRIRU4ga2lsbCB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCB0aGUgaGFuZGxlcnNcbiAgICAgICAgLy8gYWJvdmVcbiAgICAgICAgcHJvYy5raWxsKG9wdHMua2lsbFNpZ25hbCk7XG4gICAgICB9LCBvcHRzLnRpbWVvdXQpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCB7IGV4ZWMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4ZWM7XG4iXSwiZmlsZSI6ImxpYi9leGVjLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2V4ZWMuanMiLCJuYW1lcyI6WyJNQVhfQlVGRkVSX1NJWkUiLCJleGVjIiwiY21kIiwiYXJncyIsIm9wdHMiLCJyZXAiLCJxdW90ZSIsIk9iamVjdCIsImFzc2lnbiIsInRpbWVvdXQiLCJlbmNvZGluZyIsImtpbGxTaWduYWwiLCJjd2QiLCJ1bmRlZmluZWQiLCJlbnYiLCJwcm9jZXNzIiwiaWdub3JlT3V0cHV0Iiwic3RkaW8iLCJpc0J1ZmZlciIsInNoZWxsIiwibG9nZ2VyIiwibWF4U3Rkb3V0QnVmZmVyU2l6ZSIsIm1heFN0ZGVyckJ1ZmZlclNpemUiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsInByb2MiLCJzcGF3biIsInN0ZG91dEFyciIsInN0ZGVyckFyciIsInRpbWVyIiwib24iLCJlcnIiLCJlcnJubyIsImZvcm1hdEVub2VudCIsInN0ZGluIiwiRXJyb3IiLCJzeXNjYWxsIiwic3RhY2siLCJoYW5kbGVTdHJlYW0iLCJzdHJlYW1UeXBlIiwic3RyZWFtUHJvcHMiLCJfIiwiY2FwaXRhbGl6ZSIsImNodW5rcyIsIm1heFNpemUiLCJzaXplIiwiY2h1bmsiLCJwdXNoIiwibGVuZ3RoIiwic2hpZnQiLCJpc0Z1bmN0aW9uIiwiZGVidWciLCJ0b1N0cmluZyIsImdldFN0ZGlvIiwic3Rkb3V0Iiwic3RkZXJyIiwiQnVmZmVyIiwiY29uY2F0IiwiY29kZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJraWxsIl0sInNvdXJjZVJvb3QiOiIuLi8uLiIsInNvdXJjZXMiOlsibGliL2V4ZWMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qIGVzbGludC1kaXNhYmxlIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLWNhbGxiYWNrcyAqL1xuXG5pbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgcXVvdGUgfSBmcm9tICdzaGVsbC1xdW90ZSc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZm9ybWF0RW5vZW50IH0gZnJvbSAnLi9oZWxwZXJzJztcblxuY29uc3QgTUFYX0JVRkZFUl9TSVpFID0gMTAwICogMTAyNCAqIDEwMjQ7XG5cbi8qKlxuICogU3Bhd25zIGEgcHJvY2Vzc1xuICogQHRlbXBsYXRlIHtUZWVuUHJvY2Vzc0V4ZWNPcHRpb25zfSBUXG4gKiBAcGFyYW0ge3N0cmluZ30gY21kIC0gUHJvZ3JhbSB0byBleGVjdXRlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBbYXJnc10gLSBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgcHJvZ3JhbVxuICogQHBhcmFtIHtUfSBbb3B0c10gLSBPcHRpb25zXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxCdWZmZXJQcm9wPFQ+IGV4dGVuZHMgdHJ1ZSA/IFRlZW5Qcm9jZXNzRXhlY0J1ZmZlclJlc3VsdCA6IFRlZW5Qcm9jZXNzRXhlY1N0cmluZ1Jlc3VsdD59XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGV4ZWMgKGNtZCwgYXJncyA9IFtdLCBvcHRzID0gLyoqIEB0eXBlIHtUfSAqLyh7fSkpIHtcbiAgLy8gZ2V0IGEgcXVvdGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb21tYW5kIGZvciBlcnJvciBzdHJpbmdzXG4gIGNvbnN0IHJlcCA9IHF1b3RlKFtjbWQsIC4uLmFyZ3NdKTtcblxuICAvLyBleHRlbmQgZGVmYXVsdCBvcHRpb25zOyB3ZSdyZSBiYXNpY2FsbHkgcmUtaW1wbGVtZW50aW5nIGV4ZWMncyBvcHRpb25zXG4gIC8vIGZvciB1c2UgaGVyZSB3aXRoIHNwYXduIHVuZGVyIHRoZSBob29kXG4gIG9wdHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICB0aW1lb3V0OiBudWxsLFxuICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAga2lsbFNpZ25hbDogJ1NJR1RFUk0nLFxuICAgIGN3ZDogdW5kZWZpbmVkLFxuICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgaWdub3JlT3V0cHV0OiBmYWxzZSxcbiAgICBzdGRpbzogJ2luaGVyaXQnLFxuICAgIGlzQnVmZmVyOiBmYWxzZSxcbiAgICBzaGVsbDogdW5kZWZpbmVkLFxuICAgIGxvZ2dlcjogdW5kZWZpbmVkLFxuICAgIG1heFN0ZG91dEJ1ZmZlclNpemU6IE1BWF9CVUZGRVJfU0laRSxcbiAgICBtYXhTdGRlcnJCdWZmZXJTaXplOiBNQVhfQlVGRkVSX1NJWkUsXG4gIH0sIG9wdHMpO1xuXG4gIC8vIHRoaXMgaXMgYW4gYXN5bmMgZnVuY3Rpb24sIHNvIHJldHVybiBhIHByb21pc2VcbiAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyBzcGF3biB0aGUgY2hpbGQgcHJvY2VzcyB3aXRoIG9wdGlvbnM7IHdlIGRvbid0IGN1cnJlbnRseSBleHBvc2UgYW55IG9mXG4gICAgLy8gdGhlIG90aGVyICdzcGF3bicgb3B0aW9ucyB0aHJvdWdoIHRoZSBBUElcbiAgICBsZXQgcHJvYyA9IHNwYXduKGNtZCwgYXJncywge2N3ZDogb3B0cy5jd2QsIGVudjogb3B0cy5lbnYsIHNoZWxsOiBvcHRzLnNoZWxsfSk7XG4gICAgbGV0IHN0ZG91dEFyciA9IFtdLCBzdGRlcnJBcnIgPSBbXSwgdGltZXIgPSBudWxsO1xuXG4gICAgLy8gaWYgdGhlIHByb2Nlc3MgZXJyb3JzIG91dCwgcmVqZWN0IHRoZSBwcm9taXNlXG4gICAgcHJvYy5vbignZXJyb3InLCAvKiogQHBhcmFtIHtOb2RlSlMuRXJybm9FeGNlcHRpb259IGVyciAqLyhlcnIpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChlcnIuZXJybm8gPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIGVyciA9IGZvcm1hdEVub2VudChlcnIsIGNtZCwgb3B0cy5jd2QpO1xuICAgICAgfVxuICAgICAgcmVqZWN0KGVycik7XG4gICAgfSk7XG4gICAgaWYgKHByb2Muc3RkaW4pIHtcbiAgICAgIHByb2Muc3RkaW4ub24oJ2Vycm9yJywgLyoqIEBwYXJhbSB7Tm9kZUpTLkVycm5vRXhjZXB0aW9ufSBlcnIgKi8oZXJyKSA9PiB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFN0YW5kYXJkIGlucHV0ICcke2Vyci5zeXNjYWxsfScgZXJyb3I6ICR7ZXJyLnN0YWNrfWApKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBoYW5kbGVTdHJlYW0gPSAoc3RyZWFtVHlwZSwgc3RyZWFtUHJvcHMpID0+IHtcbiAgICAgIGlmICghcHJvY1tzdHJlYW1UeXBlXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHByb2Nbc3RyZWFtVHlwZV0ub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKGAke18uY2FwaXRhbGl6ZShzdHJlYW1UeXBlKX0gJyR7ZXJyLnN5c2NhbGx9JyBlcnJvcjogJHtlcnIuc3RhY2t9YCkpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChvcHRzLmlnbm9yZU91dHB1dCkge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvaXNzdWVzLzQyMzZcbiAgICAgICAgcHJvY1tzdHJlYW1UeXBlXS5vbignZGF0YScsICgpID0+IHt9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBzdHJlYW0gaWYgd2UgZG9uJ3Qgd2FudCB0byBpZ25vcmUgaXRcbiAgICAgIGNvbnN0IHtjaHVua3MsIG1heFNpemV9ID0gc3RyZWFtUHJvcHM7XG4gICAgICBsZXQgc2l6ZSA9IDA7XG4gICAgICBwcm9jW3N0cmVhbVR5cGVdLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgIGNodW5rcy5wdXNoKGNodW5rKTtcbiAgICAgICAgc2l6ZSArPSBjaHVuay5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChjaHVua3MubGVuZ3RoID4gMSAmJiBzaXplID49IG1heFNpemUpIHtcbiAgICAgICAgICBzaXplIC09IGNodW5rc1swXS5sZW5ndGg7XG4gICAgICAgICAgY2h1bmtzLnNoaWZ0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdHMubG9nZ2VyICYmIF8uaXNGdW5jdGlvbihvcHRzLmxvZ2dlci5kZWJ1ZykpIHtcbiAgICAgICAgICBvcHRzLmxvZ2dlci5kZWJ1ZyhjaHVuay50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBoYW5kbGVTdHJlYW0oJ3N0ZG91dCcsIHtcbiAgICAgIG1heFNpemU6IG9wdHMubWF4U3Rkb3V0QnVmZmVyU2l6ZSxcbiAgICAgIGNodW5rczogc3Rkb3V0QXJyLFxuICAgIH0pO1xuICAgIGhhbmRsZVN0cmVhbSgnc3RkZXJyJywge1xuICAgICAgbWF4U2l6ZTogb3B0cy5tYXhTdGRlcnJCdWZmZXJTaXplLFxuICAgICAgY2h1bmtzOiBzdGRlcnJBcnIsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBAdGVtcGxhdGUge2Jvb2xlYW59IFVcbiAgICAgKiBAcGFyYW0ge1V9IGlzQnVmZmVyXG4gICAgICogQHJldHVybnMge1UgZXh0ZW5kcyB0cnVlID8ge3N0ZG91dDogQnVmZmVyLCBzdGRlcnI6IEJ1ZmZlcn0gOiB7c3Rkb3V0OiBzdHJpbmcsIHN0ZGVycjogc3RyaW5nfX1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRTdGRpbyAoaXNCdWZmZXIpIHtcbiAgICAgIGxldCBzdGRvdXQsIHN0ZGVycjtcbiAgICAgIGlmIChpc0J1ZmZlcikge1xuICAgICAgICBzdGRvdXQgPSBCdWZmZXIuY29uY2F0KHN0ZG91dEFycik7XG4gICAgICAgIHN0ZGVyciA9IEJ1ZmZlci5jb25jYXQoc3RkZXJyQXJyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0ZG91dCA9IEJ1ZmZlci5jb25jYXQoc3Rkb3V0QXJyKS50b1N0cmluZyhvcHRzLmVuY29kaW5nKTtcbiAgICAgICAgc3RkZXJyID0gQnVmZmVyLmNvbmNhdChzdGRlcnJBcnIpLnRvU3RyaW5nKG9wdHMuZW5jb2RpbmcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7VSBleHRlbmRzIHRydWUgPyB7c3Rkb3V0OiBCdWZmZXIsIHN0ZGVycjogQnVmZmVyfSA6IHtzdGRvdXQ6IHN0cmluZywgc3RkZXJyOiBzdHJpbmd9fSAqLyh7c3Rkb3V0LCBzdGRlcnJ9KTtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgcHJvY2VzcyBlbmRzLCBlaXRoZXIgcmVzb2x2ZSBvciByZWplY3QgdGhlIHByb21pc2UgYmFzZWQgb24gdGhlXG4gICAgLy8gZXhpdCBjb2RlIG9mIHRoZSBwcm9jZXNzLiBlaXRoZXIgd2F5LCBhdHRhY2ggc3Rkb3V0LCBzdGRlcnIsIGFuZCBjb2RlLlxuICAgIC8vIEFsc28gY2xlYW4gdXAgdGhlIHRpbWVyIGlmIGl0IGV4aXN0c1xuICAgIHByb2Mub24oJ2Nsb3NlJywgKGNvZGUpID0+IHtcbiAgICAgIGlmICh0aW1lcikge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgfVxuICAgICAgbGV0IHtzdGRvdXQsIHN0ZGVycn0gPSBnZXRTdGRpbyhvcHRzLmlzQnVmZmVyKTtcbiAgICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICAgIHJlc29sdmUoLyoqIEB0eXBlIHtCdWZmZXJQcm9wPFQ+IGV4dGVuZHMgdHJ1ZSA/IFRlZW5Qcm9jZXNzRXhlY0J1ZmZlclJlc3VsdCA6IFRlZW5Qcm9jZXNzRXhlY1N0cmluZ1Jlc3VsdH0gKi8oe3N0ZG91dCwgc3RkZXJyLCBjb2RlfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGVyciA9IG5ldyBFcnJvcihgQ29tbWFuZCAnJHtyZXB9JyBleGl0ZWQgd2l0aCBjb2RlICR7Y29kZX1gKTtcbiAgICAgICAgZXJyID0gT2JqZWN0LmFzc2lnbihlcnIsIHtzdGRvdXQsIHN0ZGVyciwgY29kZX0pO1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGlmIHdlIHNldCBhIHRpbWVvdXQgb24gdGhlIGNoaWxkIHByb2Nlc3MsIGN1dCBpbnRvIHRoZSBleGVjdXRpb24gYW5kXG4gICAgLy8gcmVqZWN0IGlmIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuIEF0dGFjaCB0aGUgc3Rkb3V0L3N0ZGVyciB3ZSBjdXJyZW50bHlcbiAgICAvLyBoYXZlIGluIGNhc2UgaXQncyBoZWxwZnVsIGluIGRlYnVnZ2luZ1xuICAgIGlmIChvcHRzLnRpbWVvdXQpIHtcbiAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxldCB7c3Rkb3V0LCBzdGRlcnJ9ID0gZ2V0U3RkaW8ob3B0cy5pc0J1ZmZlcik7XG4gICAgICAgIGxldCBlcnIgPSBuZXcgRXJyb3IoYENvbW1hbmQgJyR7cmVwfScgdGltZWQgb3V0IGFmdGVyICR7b3B0cy50aW1lb3V0fW1zYCk7XG4gICAgICAgIGVyciA9IE9iamVjdC5hc3NpZ24oZXJyLCB7c3Rkb3V0LCBzdGRlcnIsIGNvZGU6IG51bGx9KTtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIC8vIHJlamVjdCBhbmQgVEhFTiBraWxsIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIHRoZSBoYW5kbGVyc1xuICAgICAgICAvLyBhYm92ZVxuICAgICAgICBwcm9jLmtpbGwob3B0cy5raWxsU2lnbmFsKTtcbiAgICAgIH0sIG9wdHMudGltZW91dCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IHsgZXhlYyB9O1xuZXhwb3J0IGRlZmF1bHQgZXhlYztcblxuLyoqXG4gKiBPcHRpb25zIG9uIHRvcCBvZiBgU3Bhd25PcHRpb25zYCwgdW5pcXVlIHRvIGB0ZWVuX3Byb2Nlc3MuYFxuICogQHR5cGVkZWYge09iamVjdH0gVGVlblByb2Nlc3NQcm9wc1xuICogQHByb3BlcnR5IHtib29sZWFufSBbaWdub3JlT3V0cHV0XSAtIElnbm9yZSAmIGRpc2NhcmQgYWxsIG91dHB1dFxuICogQHByb3BlcnR5IHtib29sZWFufSBbaXNCdWZmZXJdIC0gUmV0dXJuIG91dHB1dCBhcyBhIEJ1ZmZlclxuICogQHByb3BlcnR5IHtUZWVuUHJvY2Vzc0xvZ2dlcn0gW2xvZ2dlcl0gLSBMb2dnZXIgdG8gdXNlIGZvciBkZWJ1Z2dpbmdcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4U3Rkb3V0QnVmZmVyU2l6ZV0gLSBNYXhpbXVtIHNpemUgb2YgYHN0ZG91dGAgYnVmZmVyXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heFN0ZGVyckJ1ZmZlclNpemVdIC0gTWF4aW11bSBzaXplIG9mIGBzdGRlcnJgIGJ1ZmZlclxuICogQHByb3BlcnR5IHtCdWZmZXJFbmNvZGluZ30gW2VuY29kaW5nPSd1dGY4J10gLSBFbmNvZGluZyB0byB1c2UgZm9yIG91dHB1dFxuICovXG5cbi8qKlxuICogQSBsb2dnZXIgb2JqZWN0IHVuZGVyc3Rvb2QgYnkge0BsaW5rIGV4ZWMgdGVlbl9wcm9jZXNzLmV4ZWN9LlxuICogQHR5cGVkZWYge09iamVjdH0gVGVlblByb2Nlc3NMb2dnZXJcbiAqIEBwcm9wZXJ0eSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBkZWJ1Z1xuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGV4ZWMgdGVlbl9wcm9jZXNzLmV4ZWN9LlxuICogQHR5cGVkZWYge2ltcG9ydCgnY2hpbGRfcHJvY2VzcycpLlNwYXduT3B0aW9ucyAmIFRlZW5Qcm9jZXNzUHJvcHN9IFRlZW5Qcm9jZXNzRXhlY09wdGlvbnNcbiAqL1xuXG4vKipcbiAqIFRoZSB2YWx1ZSB7QGxpbmsgZXhlYyB0ZWVuX3Byb2Nlc3MuZXhlY30gcmVzb2x2ZXMgdG8gd2hlbiBgaXNCdWZmZXJgIGlzIGBmYWxzZWBcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFRlZW5Qcm9jZXNzRXhlY1N0cmluZ1Jlc3VsdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZG91dCAtIFN0ZG91dFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZGVyciAtIFN0ZGVyclxuICogQHByb3BlcnR5IHtudW1iZXI/fSBjb2RlIC0gRXhpdCBjb2RlXG4gKi9cblxuLyoqXG4gKiBUaGUgdmFsdWUge0BsaW5rIGV4ZWMgdGVlbl9wcm9jZXNzLmV4ZWN9IHJlc29sdmVzIHRvIHdoZW4gYGlzQnVmZmVyYCBpcyBgdHJ1ZWBcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFRlZW5Qcm9jZXNzRXhlY0J1ZmZlclJlc3VsdFxuICogQHByb3BlcnR5IHtCdWZmZXJ9IHN0ZG91dCAtIFN0ZG91dFxuICogQHByb3BlcnR5IHtCdWZmZXJ9IHN0ZGVyciAtIFN0ZGVyclxuICogQHByb3BlcnR5IHtudW1iZXI/fSBjb2RlIC0gRXhpdCBjb2RlXG4gKi9cblxuLyoqXG4gKiBFeHRyYSBwcm9wcyB7QGxpbmsgZXhlYyB0ZWVuX3Byb2Nlc3MuZXhlY30gYWRkcyB0byBpdHMgZXJyb3Igb2JqZWN0c1xuICogQHR5cGVkZWYge09iamVjdH0gVGVlblByb2Nlc3NFeGVjRXJyb3JQcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZG91dCAtIFNURE9VVFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZGVyciAtIFNUREVSUlxuICogQHByb3BlcnR5IHtudW1iZXI/fSBjb2RlIC0gRXhpdCBjb2RlXG4gKi9cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gYnkge0BsaW5rIGV4ZWMgdGVlbl9wcm9jZXNzLmV4ZWN9XG4gKiBAdHlwZWRlZiB7RXJyb3IgJiBUZWVuUHJvY2Vzc0V4ZWNFcnJvclByb3BzfSBUZWVuUHJvY2Vzc0V4ZWNFcnJvclxuICovXG5cbi8qKlxuICogQHRlbXBsYXRlIHt7aXNCdWZmZXI/OiBib29sZWFufX0gTWF5YmVCdWZmZXJcbiAqIEB0eXBlZGVmIHtNYXliZUJ1ZmZlclsnaXNCdWZmZXInXX0gQnVmZmVyUHJvcFxuICogQHByaXZhdGVcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxlQUFlLEdBQUcsTUFBTSxJQUFOLEdBQWEsSUFB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
|
package/build/lib/helpers.js
CHANGED
|
@@ -32,4 +32,4 @@ function formatEnoent(error, cmd, cwd = null) {
|
|
|
32
32
|
}require('source-map-support').install();
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2hlbHBlcnMuanMiLCJuYW1lcyI6WyJmb3JtYXRFbm9lbnQiLCJlcnJvciIsImNtZCIsImN3ZCIsIndoaWNoIiwic3luYyIsImZzIiwiYWNjZXNzU3luYyIsIlJfT0siLCJpZ24iLCJtZXNzYWdlIl0sInNvdXJjZVJvb3QiOiIuLi8uLiIsInNvdXJjZXMiOlsibGliL2hlbHBlcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHdoaWNoIGZyb20gJ3doaWNoJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5cbi8qKlxuICogRGVjb3JhdGVzIEVOT0VOVCBlcnJvciByZWNlaXZlZCBmcm9tIGEgc3Bhd24gc3lzdGVtIGNhbGxcbiAqIHdpdGggYSBtb3JlIGRlc2NyaXB0aXZlIG1lc3NhZ2UsIHNvIGl0IGNvdWxkIGJlIHByb3Blcmx5IGhhbmRsZWQgYnkgYSB1c2VyLlxuICpcbiAqIEBwYXJhbSB7Tm9kZUpTLkVycm5vRXhjZXB0aW9ufSBlcnJvciBPcmlnaW5hbCBlcnJvciBpbnN0YW5jZS4gISEhIFRoZSBpbnN0YW5jZSBpcyBtdXRhdGVkIGFmdGVyXG4gKiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpbnZvY2F0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gY21kIE9yaWdpbmFsIGNvbW1hbmQgdG8gZXhlY3V0ZVxuICogQHBhcmFtIHtzdHJpbmd8VVJMP30gW2N3ZF0gT3B0aW9uYWwgcGF0aCB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpclxuICogQHJldHVybnMge05vZGVKUy5FcnJub0V4Y2VwdGlvbn0gTXV0YXRlZCBlcnJvciBpbnN0YW5jZSB3aXRoIGFuIGltcHJvdmVkIGRlc2NyaXB0aW9uIG9yIGFuXG4gKiB1bmNoYW5nZWQgZXJyb3IgaW5zdGFuY2VcbiAqL1xuZnVuY3Rpb24gZm9ybWF0RW5vZW50IChlcnJvciwgY21kLCBjd2QgPSBudWxsKSB7XG4gIHRyeSB7XG4gICAgd2hpY2guc3luYyhjbWQpO1xuICAgIGlmIChjd2QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZzLmFjY2Vzc1N5bmMoY3dkLCBmcy5SX09LKTtcbiAgICAgIH0gY2F0Y2ggKGlnbikge1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5ICcke2N3ZH0nIGZvciAnJHtjbWR9JyBjb21tYW5kIGAgK1xuICAgICAgICAgIGBlaXRoZXIgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGFjY2Vzc2libGVgO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoaWduKSB7XG4gICAgZXJyb3IubWVzc2FnZSA9IGBDb21tYW5kICcke2NtZH0nIG5vdCBmb3VuZC4gSXMgaXQgaW5zdGFsbGVkP2A7XG4gIH1cbiAgcmV0dXJuIGVycm9yO1xufVxuXG5leHBvcnQgeyBmb3JtYXRFbm9lbnQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFhQSxTQUFTQSxZQUFULENBQXVCQyxLQUF2QixFQUE4QkMsR0FBOUIsRUFBbUNDLEdBQUcsR0FBRyxJQUF6QyxFQUErQztFQUM3QyxJQUFJO0lBQ0ZDLGNBQUEsQ0FBTUMsSUFBTixDQUFXSCxHQUFYOztJQUNBLElBQUlDLEdBQUosRUFBUztNQUNQLElBQUk7UUFDRkcsV0FBQSxDQUFHQyxVQUFILENBQWNKLEdBQWQsRUFBbUJHLFdBQUEsQ0FBR0UsSUFBdEI7TUFDRCxDQUZELENBRUUsT0FBT0MsR0FBUCxFQUFZO1FBQ1pSLEtBQUssQ0FBQ1MsT0FBTixHQUFpQixrQ0FBaUNQLEdBQUksVUFBU0QsR0FBSSxZQUFuRCxHQUNiLDRDQURIO01BRUQ7SUFDRjtFQUNGLENBVkQsQ0FVRSxPQUFPTyxHQUFQLEVBQVk7SUFDWlIsS0FBSyxDQUFDUyxPQUFOLEdBQWlCLFlBQVdSLEdBQUksK0JBQWhDO0VBQ0Q7O0VBQ0QsT0FBT0QsS0FBUDtBQUNEIn0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.spawn = exports.exec = exports.SubProcess = void 0;
|
|
7
|
+
|
|
8
|
+
require("source-map-support/register");
|
|
9
|
+
|
|
10
|
+
var cp = _interopRequireWildcard(require("child_process"));
|
|
11
|
+
|
|
12
|
+
var spIndex = _interopRequireWildcard(require("./subprocess"));
|
|
13
|
+
|
|
14
|
+
var execIndex = _interopRequireWildcard(require("./exec"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
const {
|
|
21
|
+
spawn
|
|
22
|
+
} = cp;
|
|
23
|
+
exports.spawn = spawn;
|
|
24
|
+
const {
|
|
25
|
+
SubProcess
|
|
26
|
+
} = spIndex;
|
|
27
|
+
exports.SubProcess = SubProcess;
|
|
28
|
+
const {
|
|
29
|
+
exec
|
|
30
|
+
} = execIndex;
|
|
31
|
+
exports.exec = exec;require('source-map-support').install();
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2luZGV4LmpzIiwibmFtZXMiOlsic3Bhd24iLCJjcCIsIlN1YlByb2Nlc3MiLCJzcEluZGV4IiwiZXhlYyIsImV4ZWNJbmRleCJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0cmFuc3BpbGU6bWFpblxuaW1wb3J0ICogYXMgY3AgZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBzcEluZGV4IGZyb20gJy4vc3VicHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBleGVjSW5kZXggZnJvbSAnLi9leGVjJztcblxuXG5jb25zdCB7IHNwYXduIH0gPSBjcDtcbmNvbnN0IHsgU3ViUHJvY2VzcyB9ID0gc3BJbmRleDtcbmNvbnN0IHsgZXhlYyB9ID0gZXhlY0luZGV4O1xuXG5leHBvcnQgeyBleGVjLCBzcGF3biwgU3ViUHJvY2VzcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBR0EsTUFBTTtFQUFFQTtBQUFGLElBQVlDLEVBQWxCOztBQUNBLE1BQU07RUFBRUM7QUFBRixJQUFpQkMsT0FBdkI7O0FBQ0EsTUFBTTtFQUFFQztBQUFGLElBQVdDLFNBQWpCIn0=
|
package/build/lib/subprocess.js
CHANGED
|
@@ -152,6 +152,8 @@ class SubProcess extends EventEmitter {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
reject(err);
|
|
155
|
+
this.proc.unref();
|
|
156
|
+
this.proc = null;
|
|
155
157
|
});
|
|
156
158
|
|
|
157
159
|
if (this.proc.stdout) {
|
|
@@ -223,7 +225,7 @@ class SubProcess extends EventEmitter {
|
|
|
223
225
|
this.proc.kill(signal);
|
|
224
226
|
setTimeout(() => {
|
|
225
227
|
reject(new Error(`Process didn't end after ${timeout}ms (cmd: '${this.rep}')`));
|
|
226
|
-
}, timeout);
|
|
228
|
+
}, timeout).unref();
|
|
227
229
|
});
|
|
228
230
|
}
|
|
229
231
|
|
|
@@ -264,4 +266,4 @@ var _default = SubProcess;
|
|
|
264
266
|
exports.default = _default;require('source-map-support').install();
|
|
265
267
|
|
|
266
268
|
|
|
267
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJwcm9jZXNzLmpzIl0sIm5hbWVzIjpbIkV2ZW50RW1pdHRlciIsImV2ZW50cyIsIk1BWF9MSU5FX1BPUlRJT05fTEVOR1RIIiwiY3V0U3VmZml4Iiwic3RyIiwic3VmZml4TGVuZ3RoIiwibGVuZ3RoIiwic3Vic3RyIiwiU3ViUHJvY2VzcyIsImNvbnN0cnVjdG9yIiwiY21kIiwiYXJncyIsIm9wdHMiLCJFcnJvciIsIl8iLCJpc1N0cmluZyIsImlzQXJyYXkiLCJwcm9jIiwiZXhwZWN0aW5nRXhpdCIsInJlcCIsImlzUnVubmluZyIsImVtaXRMaW5lcyIsInN0cmVhbSIsImxpbmVzIiwibGluZSIsImVtaXQiLCJ0b1VwcGVyQ2FzZSIsInN0YXJ0Iiwic3RhcnREZXRlY3RvciIsInRpbWVvdXRNcyIsImRldGFjaCIsInN0YXJ0RGVsYXkiLCJnZW5lcmljU3RhcnREZXRlY3RvciIsInN0ZG91dCIsInN0ZGVyciIsImlzTnVtYmVyIiwiaXNCb29sZWFuIiwiZGV0YWNoZWQiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsInNldEVuY29kaW5nIiwiZW5jb2RpbmciLCJsYXN0TGluZVBvcnRpb24iLCJoYW5kbGVPdXRwdXQiLCJzdHJlYW1zIiwiZSIsInN0cmVhbU5hbWUiLCJzdHJlYW1EYXRhIiwidG9QYWlycyIsInNwbGl0IiwibWFwIiwieCIsImxhc3QiLCJyZXN1bHRMaW5lcyIsInNsaWNlIiwiY3VycmVudFBvcnRpb24iLCJvbiIsImVyciIsInJlbW92ZUFsbExpc3RlbmVycyIsImtpbGwiLCJlcnJubyIsImN3ZCIsImNodW5rIiwidG9TdHJpbmciLCJjb2RlIiwic2lnbmFsIiwiaGFuZGxlTGFzdExpbmVzIiwiZXZlbnQiLCJzZXRUaW1lb3V0IiwiZmluYWxseSIsInVucmVmIiwibGFzdExpbmVzIiwic3RvcCIsInRpbWVvdXQiLCJqb2luIiwiYWxsb3dlZEV4aXRDb2RlcyIsImluZGV4T2YiLCJkZXRhY2hQcm9jZXNzIiwicGlkIl0sIm1hcHBp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QUNsQyxRQUFJLENBQUMsS0FBS3hELFNBQVYsRUFBcUI7QUFDbkIsWUFBTSxJQUFJUCxLQUFKLENBQVcsMkRBQTBELEtBQUtNLEdBQUksSUFBOUUsQ0FBTjtBQUNEOztBQUVELFdBQU8sTUFBTSxJQUFJbUIsaUJBQUosQ0FBTSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDdEMsV0FBS3ZCLElBQUwsQ0FBVXdDLEVBQVYsQ0FBYSxNQUFiLEVBQXNCUSxJQUFELElBQVU7QUFDN0IsWUFBSVcsZ0JBQWdCLENBQUNDLE9BQWpCLENBQXlCWixJQUF6QixNQUFtQyxDQUFDLENBQXhDLEVBQTJDO0FBQ3pDekIsVUFBQUEsTUFBTSxDQUFDLElBQUkzQixLQUFKLENBQVcsK0JBQThCb0QsSUFBSyxXQUFVLEtBQUs5QyxHQUFJLElBQWpFLENBQUQsQ0FBTjtBQUNELFNBRkQsTUFFTztBQUNMb0IsVUFBQUEsT0FBTyxDQUFDMEIsSUFBRCxDQUFQO0FBQ0Q7QUFDRixPQU5EO0FBT0QsS0FSWSxDQUFiO0FBU0Q7O0FBS0RhLEVBQUFBLGFBQWEsR0FBSTtBQUNmLFFBQUksQ0FBQyxLQUFLbEUsSUFBTCxDQUFVeUIsUUFBZixFQUF5QjtBQUV2QixZQUFNLElBQUl4QixLQUFKLENBQVcscUVBQVgsQ0FBTjtBQUNEOztBQUNELFFBQUksS0FBS0ksSUFBVCxFQUFlO0FBQ2IsV0FBS0EsSUFBTCxDQUFVc0QsS0FBVjtBQUNEO0FBQ0Y7O0FBRUQsTUFBSVEsR0FBSixHQUFXO0FBQ1QsV0FBTyxLQUFLOUQsSUFBTCxHQUFZLEtBQUtBLElBQUwsQ0FBVThELEdBQXRCLEdBQTRCLElBQW5DO0FBQ0Q7O0FBcFBtQzs7O2VBd1B2QnZFLFUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBwcm9taXNlL3ByZWZlci1hd2FpdC10by1jYWxsYmFja3MgKi9cblxuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBldmVudHMgZnJvbSAnZXZlbnRzJztcbmNvbnN0IHsgRXZlbnRFbWl0dGVyIH0gPSBldmVudHM7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBxdW90ZSB9IGZyb20gJ3NoZWxsLXF1b3RlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmb3JtYXRFbm9lbnQgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIG1lbW9yeSBsZWFrc1xuLy8gd2hlbiB0aGUgcHJvY2VzcyBvdXRwdXQgaXMgdG9vIGxvbmcgYW5kIGNvbnRhaW5zXG4vLyBubyBsaW5lIGJyZWFrc1xuY29uc3QgTUFYX0xJTkVfUE9SVElPTl9MRU5HVEggPSAweEZGRkY7XG5cbmZ1bmN0aW9uIGN1dFN1ZmZpeCAoc3RyLCBzdWZmaXhMZW5ndGgpIHtcbiAgcmV0dXJuIHN0ci5sZW5ndGggPiBzdWZmaXhMZW5ndGhcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0yODY5XG4gICAgPyBgICR7c3RyLnN1YnN0cihzdHIubGVuZ3RoIC0gc3VmZml4TGVuZ3RoKX1gLnN1YnN0cigxKVxuICAgIDogc3RyO1xufVxuXG5cbmNsYXNzIFN1YlByb2Nlc3MgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICBjb25zdHJ1Y3RvciAoY21kLCBhcmdzID0gW10sIG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKCFjbWQpIHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBpcyByZXF1aXJlZCcpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgaWYgKCFfLmlzU3RyaW5nKGNtZCkpIHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGJlIGEgc3RyaW5nJyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBpZiAoIV8uaXNBcnJheShhcmdzKSkgdGhyb3cgbmV3IEVycm9yKCdBcmdzIG11c3QgYmUgYW4gYXJyYXknKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuXG4gICAgdGhpcy5jbWQgPSBjbWQ7XG4gICAgdGhpcy5hcmdzID0gYXJncztcbiAgICB0aGlzLnByb2MgPSBudWxsO1xuICAgIHRoaXMub3B0cyA9IG9wdHM7XG4gICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gZmFsc2U7XG5cbiAgICAvLyBnZXQgYSBxdW90ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbW1hbmQgZm9yIGVycm9yIHN0cmluZ3NcbiAgICB0aGlzLnJlcCA9IHF1b3RlKFtjbWQsIC4uLmFyZ3NdKTtcbiAgfVxuXG4gIGdldCBpc1J1bm5pbmcgKCkge1xuICAgIC8vIHByZXNlbmNlIG9mIGBwcm9jYCBtZWFucyB3ZSBoYXZlIGNvbm5lY3RlZCBhbmQgc3RhcnRlZFxuICAgIHJldHVybiAhIXRoaXMucHJvYztcbiAgfVxuXG4gIGVtaXRMaW5lcyAoc3RyZWFtLCBsaW5lcykge1xuICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgIHRoaXMuZW1pdCgnc3RyZWFtLWxpbmUnLCBgWyR7c3RyZWFtLnRvVXBwZXJDYXNlKCl9XSAke2xpbmV9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3Bhd24gdGhlIHN1YnByb2Nlc3MgYW5kIHJldHVybiBjb250cm9sIHdoZW5ldmVyIHdlIGRlZW0gdGhhdCBpdCBoYXMgZnVsbHlcbiAgLy8gXCJzdGFydGVkXCJcbiAgYXN5bmMgc3RhcnQgKHN0YXJ0RGV0ZWN0b3IgPSBudWxsLCB0aW1lb3V0TXMgPSBudWxsLCBkZXRhY2ggPSBmYWxzZSkge1xuICAgIGxldCBzdGFydERlbGF5ID0gMTA7XG5cbiAgICBjb25zdCBnZW5lcmljU3RhcnREZXRlY3RvciA9IGZ1bmN0aW9uIGdlbmVyaWNTdGFydERldGVjdG9yIChzdGRvdXQsIHN0ZGVycikge1xuICAgICAgcmV0dXJuIHN0ZG91dCB8fCBzdGRlcnI7XG4gICAgfTtcblxuICAgIC8vIHRoZSBkZWZhdWx0IHN0YXJ0IGRldGVjdG9yIHNpbXBseSByZXR1cm5zIHRydWUgd2hlbiB3ZSBnZXQgYW55IG91dHB1dFxuICAgIGlmIChzdGFydERldGVjdG9yID09PSBudWxsKSB7XG4gICAgICBzdGFydERldGVjdG9yID0gZ2VuZXJpY1N0YXJ0RGV0ZWN0b3I7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgcGFzc2VzIGEgbnVtYmVyLCB0aGVuIHdlIHNpbXBseSBkZWxheSBhIGNlcnRhaW4gYW1vdW50IG9mXG4gICAgLy8gdGltZSBiZWZvcmUgcmV0dXJuaW5nIGNvbnRyb2wsIHJhdGhlciB0aGFuIHdhaXRpbmcgZm9yIGEgY29uZGl0aW9uXG4gICAgaWYgKF8uaXNOdW1iZXIoc3RhcnREZXRlY3RvcikpIHtcbiAgICAgIHN0YXJ0RGVsYXkgPSBzdGFydERldGVjdG9yO1xuICAgICAgc3RhcnREZXRlY3RvciA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgcGFzc2VzIGluIGEgYm9vbGVhbiBhcyBvbmUgb2YgdGhlIGFyZ3VtZW50cywgdXNlIGl0IGZvciBgZGV0YWNoYFxuICAgIGlmIChfLmlzQm9vbGVhbihzdGFydERldGVjdG9yKSAmJiBzdGFydERldGVjdG9yKSB7XG4gICAgICBpZiAoIXRoaXMub3B0cy5kZXRhY2hlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBkZXRhY2ggcHJvY2VzcyB0aGF0IGlzIG5vdCBzdGFydGVkIHdpdGggJ2RldGFjaGVkJyBvcHRpb25gKTtcbiAgICAgIH1cbiAgICAgIGRldGFjaCA9IHRydWU7XG4gICAgICBzdGFydERldGVjdG9yID0gZ2VuZXJpY1N0YXJ0RGV0ZWN0b3I7XG4gICAgfSBlbHNlIGlmIChfLmlzQm9vbGVhbih0aW1lb3V0TXMpICYmIHRpbWVvdXRNcykge1xuICAgICAgaWYgKCF0aGlzLm9wdHMuZGV0YWNoZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZGV0YWNoIHByb2Nlc3MgdGhhdCBpcyBub3Qgc3RhcnRlZCB3aXRoICdkZXRhY2hlZCcgb3B0aW9uYCk7XG4gICAgICB9XG4gICAgICBkZXRhY2ggPSB0cnVlO1xuICAgICAgdGltZW91dE1zID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gYSBwcm9taXNlIHNvIHdlIGNhbiB3cmFwIHRoZSBhc3luYyBiZWhhdmlvclxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBhY3R1YWxseSBzcGF3biB0aGUgc3VicHJvY1xuICAgICAgdGhpcy5wcm9jID0gc3Bhd24odGhpcy5jbWQsIHRoaXMuYXJncywgdGhpcy5vcHRzKTtcblxuICAgICAgaWYgKHRoaXMucHJvYy5zdGRvdXQpIHtcbiAgICAgICAgdGhpcy5wcm9jLnN0ZG91dC5zZXRFbmNvZGluZyh0aGlzLm9wdHMuZW5jb2RpbmcgfHwgJ3V0ZjgnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb2Muc3RkZXJyKSB7XG4gICAgICAgIHRoaXMucHJvYy5zdGRlcnIuc2V0RW5jb2RpbmcodGhpcy5vcHRzLmVuY29kaW5nIHx8ICd1dGY4Jyk7XG4gICAgICB9XG4gICAgICB0aGlzLmxhc3RMaW5lUG9ydGlvbiA9IHtzdGRvdXQ6ICcnLCBzdGRlcnI6ICcnfTtcblxuICAgICAgLy8gdGhpcyBmdW5jdGlvbiBoYW5kbGVzIG91dHB1dCB0aGF0IHdlIGNvbGxlY3QgZnJvbSB0aGUgc3VicHJvY1xuICAgICAgY29uc3QgaGFuZGxlT3V0cHV0ID0gKHN0cmVhbXMpID0+IHtcbiAgICAgICAgY29uc3Qge3N0ZG91dCwgc3RkZXJyfSA9IHN0cmVhbXM7XG4gICAgICAgIC8vIGlmIHdlIGhhdmUgYSBzdGFydERldGVjdG9yLCBydW4gaXQgb24gdGhlIG91dHB1dCBzbyB3ZSBjYW4gcmVzb2x2ZS9cbiAgICAgICAgLy8gcmVqZWN0IGFuZCBtb3ZlIG9uIGZyb20gc3RhcnRcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc3RhcnREZXRlY3RvciAmJiBzdGFydERldGVjdG9yKHN0ZG91dCwgc3RkZXJyKSkge1xuICAgICAgICAgICAgc3RhcnREZXRlY3RvciA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZW1pdCB0aGUgYWN0dWFsIG91dHB1dCBmb3Igd2hvbWV2ZXIncyBsaXN0ZW5pbmdcbiAgICAgICAgdGhpcy5lbWl0KCdvdXRwdXQnLCBzdGRvdXQsIHN0ZGVycik7XG5cbiAgICAgICAgLy8gd2UgYWxzbyB3YW50IHRvIGVtaXQgbGluZXMsIGJ1dCBpdCdzIG1vcmUgY29tcGxleCBzaW5jZSBvdXRwdXRcbiAgICAgICAgLy8gY29tZXMgaW4gY2h1bmtzIGFuZCBhIGxpbmUgY291bGQgY29tZSBpbiB0d28gZGlmZmVyZW50IGNodW5rcywgc29cbiAgICAgICAgLy8gd2UgaGF2ZSBsb2dpYyB0byBoYW5kbGUgdGhhdCBjYXNlICh1c2luZyB0aGlzLmxhc3RMaW5lUG9ydGlvbiB0b1xuICAgICAgICAvLyByZW1lbWJlciBhIGxpbmUgdGhhdCBzdGFydGVkIGJ1dCBkaWQgbm90IGZpbmlzaCBpbiB0aGUgbGFzdCBjaHVuaylcbiAgICAgICAgZm9yIChjb25zdCBbc3RyZWFtTmFtZSwgc3RyZWFtRGF0YV0gb2YgXy50b1BhaXJzKHN0cmVhbXMpKSB7XG4gICAgICAgICAgaWYgKCFzdHJlYW1EYXRhKSBjb250aW51ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gc3RyZWFtRGF0YS5zcGxpdCgnXFxuJylcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTI4NjlcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGAgJHt4fWAuc3Vic3RyKDEpKTtcbiAgICAgICAgICBpZiAobGluZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgbGluZXNbMF0gPSB0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1OYW1lXSArIGxpbmVzWzBdO1xuICAgICAgICAgICAgdGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0gPSBjdXRTdWZmaXgoXy5sYXN0KGxpbmVzKSwgTUFYX0xJTkVfUE9SVElPTl9MRU5HVEgpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0TGluZXMgPSBsaW5lcy5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB0aGlzLmVtaXQoYGxpbmVzLSR7c3RyZWFtTmFtZX1gLCByZXN1bHRMaW5lcyk7XG4gICAgICAgICAgICB0aGlzLmVtaXRMaW5lcyhzdHJlYW1OYW1lLCByZXN1bHRMaW5lcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQb3J0aW9uID0gY3V0U3VmZml4KGxpbmVzWzBdLCBNQVhfTElORV9QT1JUSU9OX0xFTkdUSCk7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0ubGVuZ3RoICsgY3VycmVudFBvcnRpb24ubGVuZ3RoID4gTUFYX0xJTkVfUE9SVElPTl9MRU5HVEgpIHtcbiAgICAgICAgICAgICAgdGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0gPSBjdXJyZW50UG9ydGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubGFzdExpbmVQb3J0aW9uW3N0cmVhbU5hbWVdICs9IGN1cnJlbnRQb3J0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gaWYgd2UgZ2V0IGFuIGVycm9yIHNwYXduaW5nIHRoZSBwcm9jLCByZWplY3QgYW5kIGNsZWFuIHVwIHRoZSBwcm9jXG4gICAgICB0aGlzLnByb2Mub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICB0aGlzLnByb2MucmVtb3ZlQWxsTGlzdGVuZXJzKCdleGl0Jyk7XG4gICAgICAgIHRoaXMucHJvYy5raWxsKCdTSUdJTlQnKTtcblxuICAgICAgICBpZiAoZXJyLmVycm5vID09PSAnRU5PRU5UJykge1xuICAgICAgICAgIGVyciA9IGZvcm1hdEVub2VudChlcnIsIHRoaXMuY21kLCB0aGlzLm9wdHM/LmN3ZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMucHJvYy5zdGRvdXQpIHtcbiAgICAgICAgdGhpcy5wcm9jLnN0ZG91dC5vbignZGF0YScsIChjaHVuaykgPT4gaGFuZGxlT3V0cHV0KHtzdGRvdXQ6IGNodW5rLnRvU3RyaW5nKCksIHN0ZGVycjogJyd9KSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb2Muc3RkZXJyKSB7XG4gICAgICAgIHRoaXMucHJvYy5zdGRlcnIub24oJ2RhdGEnLCAoY2h1bmspID0+IGhhbmRsZU91dHB1dCh7c3Rkb3V0OiAnJywgc3RkZXJyOiBjaHVuay50b1N0cmluZygpfSkpO1xuICAgICAgfVxuXG4gICAgICAvLyB3aGVuIHRoZSBwcm9jIGV4aXRzLCB3ZSBtaWdodCBzdGlsbCBoYXZlIGEgYnVmZmVyIG9mIGxpbmVzIHdlIHdlcmVcbiAgICAgIC8vIHdhaXRpbmcgb24gbW9yZSBjaHVua3MgdG8gY29tcGxldGUuIEdvIGFoZWFkIGFuZCBlbWl0IHRob3NlLCB0aGVuXG4gICAgICAvLyByZS1lbWl0IHRoZSBleGl0IHNvIGEgbGlzdGVuZXIgY2FuIGhhbmRsZSB0aGUgcG9zc2libHktdW5leHBlY3RlZCBleGl0XG4gICAgICB0aGlzLnByb2Mub24oJ2V4aXQnLCAoY29kZSwgc2lnbmFsKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlTGFzdExpbmVzKCk7XG5cbiAgICAgICAgdGhpcy5lbWl0KCdleGl0JywgY29kZSwgc2lnbmFsKTtcblxuICAgICAgICAvLyBpbiBhZGRpdGlvbiB0byB0aGUgYmFyZSBleGl0IGV2ZW50LCBhbHNvIGVtaXQgb25lIG9mIHRocmVlIG90aGVyXG4gICAgICAgIC8vIGV2ZW50cyB0aGF0IGNvbnRhaW4gbW9yZSBoZWxwZnVsIGluZm9ybWF0aW9uOlxuICAgICAgICAvLyAnc3RvcCc6IHdlIHN0b3BwZWQgdGhpc1xuICAgICAgICAvLyAnZGllJzogdGhlIHByb2Nlc3MgZW5kZWQgb3V0IG9mIG91ciBjb250cm9sIHdpdGggYSBub24temVybyBleGl0XG4gICAgICAgIC8vICdlbmQnOiB0aGUgcHJvY2VzcyBlbmRlZCBvdXQgb2Ygb3VyIGNvbnRyb2wgd2l0aCBhIHplcm8gZXhpdFxuICAgICAgICBsZXQgZXZlbnQgPSB0aGlzLmV4cGVjdGluZ0V4aXQgPyAnc3RvcCcgOiAnZGllJztcbiAgICAgICAgaWYgKCF0aGlzLmV4cGVjdGluZ0V4aXQgJiYgY29kZSA9PT0gMCkge1xuICAgICAgICAgIGV2ZW50ID0gJ2VuZCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWl0KGV2ZW50LCBjb2RlLCBzaWduYWwpO1xuXG4gICAgICAgIC8vIGZpbmFsbHkgY2xlYW4gdXAgdGhlIHByb2MgYW5kIG1ha2Ugc3VyZSB0byByZXNldCBvdXIgZXhpdFxuICAgICAgICAvLyBleHBlY3RhdGlvbnNcbiAgICAgICAgdGhpcy5wcm9jID0gbnVsbDtcbiAgICAgICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgICAgLy8gaWYgdGhlIHVzZXIgaGFzbid0IGdpdmVuIHVzIGEgc3RhcnREZXRlY3RvciwgaW5zdGVhZCBqdXN0IHJlc29sdmVcbiAgICAgIC8vIHdoZW4gc3RhcnREZWxheSBtcyBoYXZlIHBhc3NlZFxuICAgICAgaWYgKCFzdGFydERldGVjdG9yKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyByZXNvbHZlKCk7IH0sIHN0YXJ0RGVsYXkpO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB0aGUgdXNlciBoYXMgZ2l2ZW4gdXMgYSB0aW1lb3V0LCBzdGFydCB0aGUgY2xvY2sgZm9yIHJlamVjdGluZ1xuICAgICAgLy8gdGhlIHByb21pc2UgaWYgd2UgdGFrZSB0b28gbG9uZyB0byBzdGFydFxuICAgICAgaWYgKF8uaXNOdW1iZXIodGltZW91dE1zKSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBUaGUgcHJvY2VzcyBkaWQgbm90IHN0YXJ0IHdpdGhpbiAke3RpbWVvdXRNc31tcyBgICtcbiAgICAgICAgICAgIGAoY21kOiAnJHt0aGlzLnJlcH0nKWApKTtcbiAgICAgICAgfSwgdGltZW91dE1zKTtcbiAgICAgIH1cbiAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgIGlmIChkZXRhY2ggJiYgdGhpcy5wcm9jKSB7XG4gICAgICAgIHRoaXMucHJvYy51bnJlZigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlTGFzdExpbmVzICgpIHtcbiAgICBmb3IgKGxldCBzdHJlYW0gb2YgWydzdGRvdXQnLCAnc3RkZXJyJ10pIHtcbiAgICAgIGlmICh0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1dKSB7XG4gICAgICAgIGNvbnN0IGxhc3RMaW5lcyA9IFt0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1dXTtcbiAgICAgICAgdGhpcy5lbWl0KGBsaW5lcy0ke3N0cmVhbX1gLCBsYXN0TGluZXMpO1xuICAgICAgICB0aGlzLmVtaXRMaW5lcyhzdHJlYW0sIGxhc3RMaW5lcyk7XG4gICAgICAgIHRoaXMubGFzdExpbmVQb3J0aW9uW3N0cmVhbV0gPSAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBzdG9wIChzaWduYWwgPSAnU0lHVEVSTScsIHRpbWVvdXQgPSAxMDAwMCkge1xuICAgIGlmICghdGhpcy5pc1J1bm5pbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3Qgc3RvcCBwcm9jZXNzOyBpdCdzIG5vdCBjdXJyZW50bHkgcnVubmluZyAoY21kOiAnJHt0aGlzLnJlcH0nKWApO1xuICAgIH1cbiAgICAvLyBtYWtlIHN1cmUgdG8gZW1pdCBhbnkgZGF0YSBpbiBvdXIgbGluZXMgYnVmZmVyIHdoZW5ldmVyIHdlJ3JlIGRvbmUgd2l0aFxuICAgIC8vIHRoZSBwcm9jXG4gICAgdGhpcy5oYW5kbGVMYXN0TGluZXMoKTtcbiAgICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wcm9jLm9uKCdjbG9zZScsIHJlc29sdmUpO1xuICAgICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gdHJ1ZTtcbiAgICAgIHRoaXMucHJvYy5raWxsKHNpZ25hbCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgUHJvY2VzcyBkaWRuJ3QgZW5kIGFmdGVyICR7dGltZW91dH1tcyAoY21kOiAnJHt0aGlzLnJlcH0nKWApKTtcbiAgICAgIH0sIHRpbWVvdXQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgam9pbiAoYWxsb3dlZEV4aXRDb2RlcyA9IFswXSkge1xuICAgIGlmICghdGhpcy5pc1J1bm5pbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGpvaW4gcHJvY2VzczsgaXQgaXMgbm90IGN1cnJlbnRseSBydW5uaW5nIChjbWQ6ICcke3RoaXMucmVwfScpYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucHJvYy5vbignZXhpdCcsIChjb2RlKSA9PiB7XG4gICAgICAgIGlmIChhbGxvd2VkRXhpdENvZGVzLmluZGV4T2YoY29kZSkgPT09IC0xKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgUHJvY2VzcyBlbmRlZCB3aXRoIGV4aXRjb2RlICR7Y29kZX0gKGNtZDogJyR7dGhpcy5yZXB9JylgKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZShjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIHdpbGwgb25seSB3b3JrIGlmIHRoZSBwcm9jZXNzIGlzIGNyZWF0ZWQgd2l0aCB0aGUgYGRldGFjaGVkYCBvcHRpb25cbiAgICovXG4gIGRldGFjaFByb2Nlc3MgKCkge1xuICAgIGlmICghdGhpcy5vcHRzLmRldGFjaGVkKSB7XG4gICAgICAvLyB0aGlzIG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBtaXNjb25maWd1cmF0aW9uIGluIHRoZSBjYWxsaW5nIGNvZGVcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGRldGFjaCBwcm9jZXNzIHRoYXQgaXMgbm90IHN0YXJ0ZWQgd2l0aCAnZGV0YWNoZWQnIG9wdGlvbmApO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9jKSB7XG4gICAgICB0aGlzLnByb2MudW5yZWYoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcGlkICgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jID8gdGhpcy5wcm9jLnBpZCA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IHsgU3ViUHJvY2VzcyB9O1xuZXhwb3J0IGRlZmF1bHQgU3ViUHJvY2VzcztcbiJdLCJmaWxlIjoibGliL3N1YnByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
269
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3N1YnByb2Nlc3MuanMiLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJldmVudHMiLCJNQVhfTElORV9QT1JUSU9OX0xFTkdUSCIsImN1dFN1ZmZpeCIsInN0ciIsInN1ZmZpeExlbmd0aCIsImxlbmd0aCIsInN1YnN0ciIsIlN1YlByb2Nlc3MiLCJjb25zdHJ1Y3RvciIsImNtZCIsImFyZ3MiLCJvcHRzIiwiRXJyb3IiLCJfIiwiaXNTdHJpbmciLCJpc0FycmF5IiwicHJvYyIsImV4cGVjdGluZ0V4aXQiLCJyZXAiLCJxdW90ZSIsImlzUnVubmluZyIsImVtaXRMaW5lcyIsInN0cmVhbSIsImxpbmVzIiwibGluZSIsImVtaXQiLCJ0b1VwcGVyQ2FzZSIsInN0YXJ0Iiwic3RhcnREZXRlY3RvciIsInRpbWVvdXRNcyIsImRldGFjaCIsInN0YXJ0RGVsYXkiLCJnZW5lcmljU3RhcnREZXRlY3RvciIsInN0ZG91dCIsInN0ZGVyciIsImlzTnVtYmVyIiwiaXNCb29sZWFuIiwiZGV0YWNoZWQiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsInNwYXduIiwic2V0RW5jb2RpbmciLCJlbmNvZGluZyIsImxhc3RMaW5lUG9ydGlvbiIsImhhbmRsZU91dHB1dCIsInN0cmVhbXMiLCJlIiwic3RyZWFtTmFtZSIsInN0cmVhbURhdGEiLCJ0b1BhaXJzIiwic3BsaXQiLCJtYXAiLCJ4IiwibGFzdCIsInJlc3VsdExpbmVzIiwic2xpY2UiLCJjdXJyZW50UG9ydGlvbiIsIm9uIiwiZXJyIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwia2lsbCIsImVycm5vIiwiZm9ybWF0RW5vZW50IiwiY3dkIiwidW5yZWYiLCJjaHVuayIsInRvU3RyaW5nIiwiY29kZSIsInNpZ25hbCIsImhhbmRsZUxhc3RMaW5lcyIsImV2ZW50Iiwic2V0VGltZW91dCIsImZpbmFsbHkiLCJsYXN0TGluZXMiLCJzdG9wIiwidGltZW91dCIsImpvaW4iLCJhbGxvd2VkRXhpdENvZGVzIiwiaW5kZXhPZiIsImRldGFjaFByb2Nlc3MiLCJwaWQiXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvc3VicHJvY2Vzcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBwcm9taXNlL3ByZWZlci1hd2FpdC10by1jYWxsYmFja3MgKi9cblxuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBldmVudHMgZnJvbSAnZXZlbnRzJztcbmNvbnN0IHsgRXZlbnRFbWl0dGVyIH0gPSBldmVudHM7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBxdW90ZSB9IGZyb20gJ3NoZWxsLXF1b3RlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmb3JtYXRFbm9lbnQgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIG1lbW9yeSBsZWFrc1xuLy8gd2hlbiB0aGUgcHJvY2VzcyBvdXRwdXQgaXMgdG9vIGxvbmcgYW5kIGNvbnRhaW5zXG4vLyBubyBsaW5lIGJyZWFrc1xuY29uc3QgTUFYX0xJTkVfUE9SVElPTl9MRU5HVEggPSAweEZGRkY7XG5cbmZ1bmN0aW9uIGN1dFN1ZmZpeCAoc3RyLCBzdWZmaXhMZW5ndGgpIHtcbiAgcmV0dXJuIHN0ci5sZW5ndGggPiBzdWZmaXhMZW5ndGhcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0yODY5XG4gICAgPyBgICR7c3RyLnN1YnN0cihzdHIubGVuZ3RoIC0gc3VmZml4TGVuZ3RoKX1gLnN1YnN0cigxKVxuICAgIDogc3RyO1xufVxuXG5cbmNsYXNzIFN1YlByb2Nlc3MgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICBjb25zdHJ1Y3RvciAoY21kLCBhcmdzID0gW10sIG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKCFjbWQpIHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBpcyByZXF1aXJlZCcpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgaWYgKCFfLmlzU3RyaW5nKGNtZCkpIHRocm93IG5ldyBFcnJvcignQ29tbWFuZCBtdXN0IGJlIGEgc3RyaW5nJyk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBpZiAoIV8uaXNBcnJheShhcmdzKSkgdGhyb3cgbmV3IEVycm9yKCdBcmdzIG11c3QgYmUgYW4gYXJyYXknKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuXG4gICAgdGhpcy5jbWQgPSBjbWQ7XG4gICAgdGhpcy5hcmdzID0gYXJncztcbiAgICB0aGlzLnByb2MgPSBudWxsO1xuICAgIHRoaXMub3B0cyA9IG9wdHM7XG4gICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gZmFsc2U7XG5cbiAgICAvLyBnZXQgYSBxdW90ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbW1hbmQgZm9yIGVycm9yIHN0cmluZ3NcbiAgICB0aGlzLnJlcCA9IHF1b3RlKFtjbWQsIC4uLmFyZ3NdKTtcbiAgfVxuXG4gIGdldCBpc1J1bm5pbmcgKCkge1xuICAgIC8vIHByZXNlbmNlIG9mIGBwcm9jYCBtZWFucyB3ZSBoYXZlIGNvbm5lY3RlZCBhbmQgc3RhcnRlZFxuICAgIHJldHVybiAhIXRoaXMucHJvYztcbiAgfVxuXG4gIGVtaXRMaW5lcyAoc3RyZWFtLCBsaW5lcykge1xuICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgIHRoaXMuZW1pdCgnc3RyZWFtLWxpbmUnLCBgWyR7c3RyZWFtLnRvVXBwZXJDYXNlKCl9XSAke2xpbmV9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3Bhd24gdGhlIHN1YnByb2Nlc3MgYW5kIHJldHVybiBjb250cm9sIHdoZW5ldmVyIHdlIGRlZW0gdGhhdCBpdCBoYXMgZnVsbHlcbiAgLy8gXCJzdGFydGVkXCJcbiAgYXN5bmMgc3RhcnQgKHN0YXJ0RGV0ZWN0b3IgPSBudWxsLCB0aW1lb3V0TXMgPSBudWxsLCBkZXRhY2ggPSBmYWxzZSkge1xuICAgIGxldCBzdGFydERlbGF5ID0gMTA7XG5cbiAgICBjb25zdCBnZW5lcmljU3RhcnREZXRlY3RvciA9IGZ1bmN0aW9uIGdlbmVyaWNTdGFydERldGVjdG9yIChzdGRvdXQsIHN0ZGVycikge1xuICAgICAgcmV0dXJuIHN0ZG91dCB8fCBzdGRlcnI7XG4gICAgfTtcblxuICAgIC8vIHRoZSBkZWZhdWx0IHN0YXJ0IGRldGVjdG9yIHNpbXBseSByZXR1cm5zIHRydWUgd2hlbiB3ZSBnZXQgYW55IG91dHB1dFxuICAgIGlmIChzdGFydERldGVjdG9yID09PSBudWxsKSB7XG4gICAgICBzdGFydERldGVjdG9yID0gZ2VuZXJpY1N0YXJ0RGV0ZWN0b3I7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgcGFzc2VzIGEgbnVtYmVyLCB0aGVuIHdlIHNpbXBseSBkZWxheSBhIGNlcnRhaW4gYW1vdW50IG9mXG4gICAgLy8gdGltZSBiZWZvcmUgcmV0dXJuaW5nIGNvbnRyb2wsIHJhdGhlciB0aGFuIHdhaXRpbmcgZm9yIGEgY29uZGl0aW9uXG4gICAgaWYgKF8uaXNOdW1iZXIoc3RhcnREZXRlY3RvcikpIHtcbiAgICAgIHN0YXJ0RGVsYXkgPSBzdGFydERldGVjdG9yO1xuICAgICAgc3RhcnREZXRlY3RvciA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgcGFzc2VzIGluIGEgYm9vbGVhbiBhcyBvbmUgb2YgdGhlIGFyZ3VtZW50cywgdXNlIGl0IGZvciBgZGV0YWNoYFxuICAgIGlmIChfLmlzQm9vbGVhbihzdGFydERldGVjdG9yKSAmJiBzdGFydERldGVjdG9yKSB7XG4gICAgICBpZiAoIXRoaXMub3B0cy5kZXRhY2hlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBkZXRhY2ggcHJvY2VzcyB0aGF0IGlzIG5vdCBzdGFydGVkIHdpdGggJ2RldGFjaGVkJyBvcHRpb25gKTtcbiAgICAgIH1cbiAgICAgIGRldGFjaCA9IHRydWU7XG4gICAgICBzdGFydERldGVjdG9yID0gZ2VuZXJpY1N0YXJ0RGV0ZWN0b3I7XG4gICAgfSBlbHNlIGlmIChfLmlzQm9vbGVhbih0aW1lb3V0TXMpICYmIHRpbWVvdXRNcykge1xuICAgICAgaWYgKCF0aGlzLm9wdHMuZGV0YWNoZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZGV0YWNoIHByb2Nlc3MgdGhhdCBpcyBub3Qgc3RhcnRlZCB3aXRoICdkZXRhY2hlZCcgb3B0aW9uYCk7XG4gICAgICB9XG4gICAgICBkZXRhY2ggPSB0cnVlO1xuICAgICAgdGltZW91dE1zID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gYSBwcm9taXNlIHNvIHdlIGNhbiB3cmFwIHRoZSBhc3luYyBiZWhhdmlvclxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBhY3R1YWxseSBzcGF3biB0aGUgc3VicHJvY1xuICAgICAgdGhpcy5wcm9jID0gc3Bhd24odGhpcy5jbWQsIHRoaXMuYXJncywgdGhpcy5vcHRzKTtcblxuICAgICAgaWYgKHRoaXMucHJvYy5zdGRvdXQpIHtcbiAgICAgICAgdGhpcy5wcm9jLnN0ZG91dC5zZXRFbmNvZGluZyh0aGlzLm9wdHMuZW5jb2RpbmcgfHwgJ3V0ZjgnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb2Muc3RkZXJyKSB7XG4gICAgICAgIHRoaXMucHJvYy5zdGRlcnIuc2V0RW5jb2RpbmcodGhpcy5vcHRzLmVuY29kaW5nIHx8ICd1dGY4Jyk7XG4gICAgICB9XG4gICAgICB0aGlzLmxhc3RMaW5lUG9ydGlvbiA9IHtzdGRvdXQ6ICcnLCBzdGRlcnI6ICcnfTtcblxuICAgICAgLy8gdGhpcyBmdW5jdGlvbiBoYW5kbGVzIG91dHB1dCB0aGF0IHdlIGNvbGxlY3QgZnJvbSB0aGUgc3VicHJvY1xuICAgICAgY29uc3QgaGFuZGxlT3V0cHV0ID0gKHN0cmVhbXMpID0+IHtcbiAgICAgICAgY29uc3Qge3N0ZG91dCwgc3RkZXJyfSA9IHN0cmVhbXM7XG4gICAgICAgIC8vIGlmIHdlIGhhdmUgYSBzdGFydERldGVjdG9yLCBydW4gaXQgb24gdGhlIG91dHB1dCBzbyB3ZSBjYW4gcmVzb2x2ZS9cbiAgICAgICAgLy8gcmVqZWN0IGFuZCBtb3ZlIG9uIGZyb20gc3RhcnRcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc3RhcnREZXRlY3RvciAmJiBzdGFydERldGVjdG9yKHN0ZG91dCwgc3RkZXJyKSkge1xuICAgICAgICAgICAgc3RhcnREZXRlY3RvciA9IG51bGw7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZW1pdCB0aGUgYWN0dWFsIG91dHB1dCBmb3Igd2hvbWV2ZXIncyBsaXN0ZW5pbmdcbiAgICAgICAgdGhpcy5lbWl0KCdvdXRwdXQnLCBzdGRvdXQsIHN0ZGVycik7XG5cbiAgICAgICAgLy8gd2UgYWxzbyB3YW50IHRvIGVtaXQgbGluZXMsIGJ1dCBpdCdzIG1vcmUgY29tcGxleCBzaW5jZSBvdXRwdXRcbiAgICAgICAgLy8gY29tZXMgaW4gY2h1bmtzIGFuZCBhIGxpbmUgY291bGQgY29tZSBpbiB0d28gZGlmZmVyZW50IGNodW5rcywgc29cbiAgICAgICAgLy8gd2UgaGF2ZSBsb2dpYyB0byBoYW5kbGUgdGhhdCBjYXNlICh1c2luZyB0aGlzLmxhc3RMaW5lUG9ydGlvbiB0b1xuICAgICAgICAvLyByZW1lbWJlciBhIGxpbmUgdGhhdCBzdGFydGVkIGJ1dCBkaWQgbm90IGZpbmlzaCBpbiB0aGUgbGFzdCBjaHVuaylcbiAgICAgICAgZm9yIChjb25zdCBbc3RyZWFtTmFtZSwgc3RyZWFtRGF0YV0gb2YgXy50b1BhaXJzKHN0cmVhbXMpKSB7XG4gICAgICAgICAgaWYgKCFzdHJlYW1EYXRhKSBjb250aW51ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gc3RyZWFtRGF0YS5zcGxpdCgnXFxuJylcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTI4NjlcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGAgJHt4fWAuc3Vic3RyKDEpKTtcbiAgICAgICAgICBpZiAobGluZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgbGluZXNbMF0gPSB0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1OYW1lXSArIGxpbmVzWzBdO1xuICAgICAgICAgICAgdGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0gPSBjdXRTdWZmaXgoXy5sYXN0KGxpbmVzKSwgTUFYX0xJTkVfUE9SVElPTl9MRU5HVEgpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0TGluZXMgPSBsaW5lcy5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB0aGlzLmVtaXQoYGxpbmVzLSR7c3RyZWFtTmFtZX1gLCByZXN1bHRMaW5lcyk7XG4gICAgICAgICAgICB0aGlzLmVtaXRMaW5lcyhzdHJlYW1OYW1lLCByZXN1bHRMaW5lcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQb3J0aW9uID0gY3V0U3VmZml4KGxpbmVzWzBdLCBNQVhfTElORV9QT1JUSU9OX0xFTkdUSCk7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0ubGVuZ3RoICsgY3VycmVudFBvcnRpb24ubGVuZ3RoID4gTUFYX0xJTkVfUE9SVElPTl9MRU5HVEgpIHtcbiAgICAgICAgICAgICAgdGhpcy5sYXN0TGluZVBvcnRpb25bc3RyZWFtTmFtZV0gPSBjdXJyZW50UG9ydGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubGFzdExpbmVQb3J0aW9uW3N0cmVhbU5hbWVdICs9IGN1cnJlbnRQb3J0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gaWYgd2UgZ2V0IGFuIGVycm9yIHNwYXduaW5nIHRoZSBwcm9jLCByZWplY3QgYW5kIGNsZWFuIHVwIHRoZSBwcm9jXG4gICAgICB0aGlzLnByb2Mub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICB0aGlzLnByb2MucmVtb3ZlQWxsTGlzdGVuZXJzKCdleGl0Jyk7XG4gICAgICAgIHRoaXMucHJvYy5raWxsKCdTSUdJTlQnKTtcblxuICAgICAgICBpZiAoZXJyLmVycm5vID09PSAnRU5PRU5UJykge1xuICAgICAgICAgIGVyciA9IGZvcm1hdEVub2VudChlcnIsIHRoaXMuY21kLCB0aGlzLm9wdHM/LmN3ZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgdGhpcy5wcm9jLnVucmVmKCk7XG4gICAgICAgIHRoaXMucHJvYyA9IG51bGw7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMucHJvYy5zdGRvdXQpIHtcbiAgICAgICAgdGhpcy5wcm9jLnN0ZG91dC5vbignZGF0YScsIChjaHVuaykgPT4gaGFuZGxlT3V0cHV0KHtzdGRvdXQ6IGNodW5rLnRvU3RyaW5nKCksIHN0ZGVycjogJyd9KSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb2Muc3RkZXJyKSB7XG4gICAgICAgIHRoaXMucHJvYy5zdGRlcnIub24oJ2RhdGEnLCAoY2h1bmspID0+IGhhbmRsZU91dHB1dCh7c3Rkb3V0OiAnJywgc3RkZXJyOiBjaHVuay50b1N0cmluZygpfSkpO1xuICAgICAgfVxuXG4gICAgICAvLyB3aGVuIHRoZSBwcm9jIGV4aXRzLCB3ZSBtaWdodCBzdGlsbCBoYXZlIGEgYnVmZmVyIG9mIGxpbmVzIHdlIHdlcmVcbiAgICAgIC8vIHdhaXRpbmcgb24gbW9yZSBjaHVua3MgdG8gY29tcGxldGUuIEdvIGFoZWFkIGFuZCBlbWl0IHRob3NlLCB0aGVuXG4gICAgICAvLyByZS1lbWl0IHRoZSBleGl0IHNvIGEgbGlzdGVuZXIgY2FuIGhhbmRsZSB0aGUgcG9zc2libHktdW5leHBlY3RlZCBleGl0XG4gICAgICB0aGlzLnByb2Mub24oJ2V4aXQnLCAoY29kZSwgc2lnbmFsKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlTGFzdExpbmVzKCk7XG5cbiAgICAgICAgdGhpcy5lbWl0KCdleGl0JywgY29kZSwgc2lnbmFsKTtcblxuICAgICAgICAvLyBpbiBhZGRpdGlvbiB0byB0aGUgYmFyZSBleGl0IGV2ZW50LCBhbHNvIGVtaXQgb25lIG9mIHRocmVlIG90aGVyXG4gICAgICAgIC8vIGV2ZW50cyB0aGF0IGNvbnRhaW4gbW9yZSBoZWxwZnVsIGluZm9ybWF0aW9uOlxuICAgICAgICAvLyAnc3RvcCc6IHdlIHN0b3BwZWQgdGhpc1xuICAgICAgICAvLyAnZGllJzogdGhlIHByb2Nlc3MgZW5kZWQgb3V0IG9mIG91ciBjb250cm9sIHdpdGggYSBub24temVybyBleGl0XG4gICAgICAgIC8vICdlbmQnOiB0aGUgcHJvY2VzcyBlbmRlZCBvdXQgb2Ygb3VyIGNvbnRyb2wgd2l0aCBhIHplcm8gZXhpdFxuICAgICAgICBsZXQgZXZlbnQgPSB0aGlzLmV4cGVjdGluZ0V4aXQgPyAnc3RvcCcgOiAnZGllJztcbiAgICAgICAgaWYgKCF0aGlzLmV4cGVjdGluZ0V4aXQgJiYgY29kZSA9PT0gMCkge1xuICAgICAgICAgIGV2ZW50ID0gJ2VuZCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWl0KGV2ZW50LCBjb2RlLCBzaWduYWwpO1xuXG4gICAgICAgIC8vIGZpbmFsbHkgY2xlYW4gdXAgdGhlIHByb2MgYW5kIG1ha2Ugc3VyZSB0byByZXNldCBvdXIgZXhpdFxuICAgICAgICAvLyBleHBlY3RhdGlvbnNcbiAgICAgICAgdGhpcy5wcm9jID0gbnVsbDtcbiAgICAgICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgICAgLy8gaWYgdGhlIHVzZXIgaGFzbid0IGdpdmVuIHVzIGEgc3RhcnREZXRlY3RvciwgaW5zdGVhZCBqdXN0IHJlc29sdmVcbiAgICAgIC8vIHdoZW4gc3RhcnREZWxheSBtcyBoYXZlIHBhc3NlZFxuICAgICAgaWYgKCFzdGFydERldGVjdG9yKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyByZXNvbHZlKCk7IH0sIHN0YXJ0RGVsYXkpO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB0aGUgdXNlciBoYXMgZ2l2ZW4gdXMgYSB0aW1lb3V0LCBzdGFydCB0aGUgY2xvY2sgZm9yIHJlamVjdGluZ1xuICAgICAgLy8gdGhlIHByb21pc2UgaWYgd2UgdGFrZSB0b28gbG9uZyB0byBzdGFydFxuICAgICAgaWYgKF8uaXNOdW1iZXIodGltZW91dE1zKSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBUaGUgcHJvY2VzcyBkaWQgbm90IHN0YXJ0IHdpdGhpbiAke3RpbWVvdXRNc31tcyBgICtcbiAgICAgICAgICAgIGAoY21kOiAnJHt0aGlzLnJlcH0nKWApKTtcbiAgICAgICAgfSwgdGltZW91dE1zKTtcbiAgICAgIH1cbiAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgIGlmIChkZXRhY2ggJiYgdGhpcy5wcm9jKSB7XG4gICAgICAgIHRoaXMucHJvYy51bnJlZigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlTGFzdExpbmVzICgpIHtcbiAgICBmb3IgKGxldCBzdHJlYW0gb2YgWydzdGRvdXQnLCAnc3RkZXJyJ10pIHtcbiAgICAgIGlmICh0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1dKSB7XG4gICAgICAgIGNvbnN0IGxhc3RMaW5lcyA9IFt0aGlzLmxhc3RMaW5lUG9ydGlvbltzdHJlYW1dXTtcbiAgICAgICAgdGhpcy5lbWl0KGBsaW5lcy0ke3N0cmVhbX1gLCBsYXN0TGluZXMpO1xuICAgICAgICB0aGlzLmVtaXRMaW5lcyhzdHJlYW0sIGxhc3RMaW5lcyk7XG4gICAgICAgIHRoaXMubGFzdExpbmVQb3J0aW9uW3N0cmVhbV0gPSAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBzdG9wIChzaWduYWwgPSAnU0lHVEVSTScsIHRpbWVvdXQgPSAxMDAwMCkge1xuICAgIGlmICghdGhpcy5pc1J1bm5pbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3Qgc3RvcCBwcm9jZXNzOyBpdCdzIG5vdCBjdXJyZW50bHkgcnVubmluZyAoY21kOiAnJHt0aGlzLnJlcH0nKWApO1xuICAgIH1cbiAgICAvLyBtYWtlIHN1cmUgdG8gZW1pdCBhbnkgZGF0YSBpbiBvdXIgbGluZXMgYnVmZmVyIHdoZW5ldmVyIHdlJ3JlIGRvbmUgd2l0aFxuICAgIC8vIHRoZSBwcm9jXG4gICAgdGhpcy5oYW5kbGVMYXN0TGluZXMoKTtcbiAgICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wcm9jLm9uKCdjbG9zZScsIHJlc29sdmUpO1xuICAgICAgdGhpcy5leHBlY3RpbmdFeGl0ID0gdHJ1ZTtcbiAgICAgIHRoaXMucHJvYy5raWxsKHNpZ25hbCk7XG4gICAgICAvLyB0aGlzIHRpbWVvdXQgbmVlZHMgdW5yZWYoKSBvciBub2RlIHdpbGwgd2FpdCBmb3IgdGhlIHRpbWVvdXQgdG8gZmlyZSBiZWZvcmVcbiAgICAgIC8vIGV4aXRpbmcgdGhlIHByb2Nlc3MuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgUHJvY2VzcyBkaWRuJ3QgZW5kIGFmdGVyICR7dGltZW91dH1tcyAoY21kOiAnJHt0aGlzLnJlcH0nKWApKTtcbiAgICAgIH0sIHRpbWVvdXQpLnVucmVmKCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBqb2luIChhbGxvd2VkRXhpdENvZGVzID0gWzBdKSB7XG4gICAgaWYgKCF0aGlzLmlzUnVubmluZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgam9pbiBwcm9jZXNzOyBpdCBpcyBub3QgY3VycmVudGx5IHJ1bm5pbmcgKGNtZDogJyR7dGhpcy5yZXB9JylgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wcm9jLm9uKCdleGl0JywgKGNvZGUpID0+IHtcbiAgICAgICAgaWYgKGFsbG93ZWRFeGl0Q29kZXMuaW5kZXhPZihjb2RlKSA9PT0gLTEpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBQcm9jZXNzIGVuZGVkIHdpdGggZXhpdGNvZGUgJHtjb2RlfSAoY21kOiAnJHt0aGlzLnJlcH0nKWApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKGNvZGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIFRoaXMgd2lsbCBvbmx5IHdvcmsgaWYgdGhlIHByb2Nlc3MgaXMgY3JlYXRlZCB3aXRoIHRoZSBgZGV0YWNoZWRgIG9wdGlvblxuICAgKi9cbiAgZGV0YWNoUHJvY2VzcyAoKSB7XG4gICAgaWYgKCF0aGlzLm9wdHMuZGV0YWNoZWQpIHtcbiAgICAgIC8vIHRoaXMgbWVhbnMgdGhhdCB0aGVyZSBpcyBhIG1pc2NvbmZpZ3VyYXRpb24gaW4gdGhlIGNhbGxpbmcgY29kZVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZGV0YWNoIHByb2Nlc3MgdGhhdCBpcyBub3Qgc3RhcnRlZCB3aXRoICdkZXRhY2hlZCcgb3B0aW9uYCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb2MpIHtcbiAgICAgIHRoaXMucHJvYy51bnJlZigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwaWQgKCkge1xuICAgIHJldHVybiB0aGlzLnByb2MgPyB0aGlzLnByb2MucGlkIDogbnVsbDtcbiAgfVxu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
|
package/index.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import * as cp from 'child_process';
|
|
3
|
-
import * as spIndex from './lib/subprocess';
|
|
4
|
-
import * as execIndex from './lib/exec';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const { spawn } = cp;
|
|
8
|
-
const { SubProcess } = spIndex;
|
|
9
|
-
const { exec } = execIndex;
|
|
10
|
-
|
|
11
|
-
export { exec, spawn, SubProcess };
|
|
1
|
+
module.exports = require('./build/lib/index.js');
|
package/lib/exec.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/* eslint-disable promise/prefer-await-to-callbacks */
|
|
2
4
|
|
|
3
5
|
import { spawn } from 'child_process';
|
|
@@ -8,7 +10,15 @@ import { formatEnoent } from './helpers';
|
|
|
8
10
|
|
|
9
11
|
const MAX_BUFFER_SIZE = 100 * 1024 * 1024;
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Spawns a process
|
|
15
|
+
* @template {TeenProcessExecOptions} T
|
|
16
|
+
* @param {string} cmd - Program to execute
|
|
17
|
+
* @param {string[]} [args] - Arguments to pass to the program
|
|
18
|
+
* @param {T} [opts] - Options
|
|
19
|
+
* @returns {Promise<BufferProp<T> extends true ? TeenProcessExecBufferResult : TeenProcessExecStringResult>}
|
|
20
|
+
*/
|
|
21
|
+
async function exec (cmd, args = [], opts = /** @type {T} */({})) {
|
|
12
22
|
// get a quoted representation of the command for error strings
|
|
13
23
|
const rep = quote([cmd, ...args]);
|
|
14
24
|
|
|
@@ -37,14 +47,15 @@ async function exec (cmd, args = [], opts = {}) {
|
|
|
37
47
|
let stdoutArr = [], stderrArr = [], timer = null;
|
|
38
48
|
|
|
39
49
|
// if the process errors out, reject the promise
|
|
40
|
-
proc.on('error', (err) => {
|
|
50
|
+
proc.on('error', /** @param {NodeJS.ErrnoException} err */(err) => {
|
|
51
|
+
// @ts-ignore
|
|
41
52
|
if (err.errno === 'ENOENT') {
|
|
42
53
|
err = formatEnoent(err, cmd, opts.cwd);
|
|
43
54
|
}
|
|
44
55
|
reject(err);
|
|
45
56
|
});
|
|
46
57
|
if (proc.stdin) {
|
|
47
|
-
proc.stdin.on('error', (err) => {
|
|
58
|
+
proc.stdin.on('error', /** @param {NodeJS.ErrnoException} err */(err) => {
|
|
48
59
|
reject(new Error(`Standard input '${err.syscall}' error: ${err.stack}`));
|
|
49
60
|
});
|
|
50
61
|
}
|
|
@@ -87,6 +98,11 @@ async function exec (cmd, args = [], opts = {}) {
|
|
|
87
98
|
chunks: stderrArr,
|
|
88
99
|
});
|
|
89
100
|
|
|
101
|
+
/**
|
|
102
|
+
* @template {boolean} U
|
|
103
|
+
* @param {U} isBuffer
|
|
104
|
+
* @returns {U extends true ? {stdout: Buffer, stderr: Buffer} : {stdout: string, stderr: string}}
|
|
105
|
+
*/
|
|
90
106
|
function getStdio (isBuffer) {
|
|
91
107
|
let stdout, stderr;
|
|
92
108
|
if (isBuffer) {
|
|
@@ -96,7 +112,7 @@ async function exec (cmd, args = [], opts = {}) {
|
|
|
96
112
|
stdout = Buffer.concat(stdoutArr).toString(opts.encoding);
|
|
97
113
|
stderr = Buffer.concat(stderrArr).toString(opts.encoding);
|
|
98
114
|
}
|
|
99
|
-
return {stdout, stderr};
|
|
115
|
+
return /** @type {U extends true ? {stdout: Buffer, stderr: Buffer} : {stdout: string, stderr: string}} */({stdout, stderr});
|
|
100
116
|
}
|
|
101
117
|
|
|
102
118
|
// if the process ends, either resolve or reject the promise based on the
|
|
@@ -108,7 +124,7 @@ async function exec (cmd, args = [], opts = {}) {
|
|
|
108
124
|
}
|
|
109
125
|
let {stdout, stderr} = getStdio(opts.isBuffer);
|
|
110
126
|
if (code === 0) {
|
|
111
|
-
resolve({stdout, stderr, code});
|
|
127
|
+
resolve(/** @type {BufferProp<T> extends true ? TeenProcessExecBufferResult : TeenProcessExecStringResult} */({stdout, stderr, code}));
|
|
112
128
|
} else {
|
|
113
129
|
let err = new Error(`Command '${rep}' exited with code ${code}`);
|
|
114
130
|
err = Object.assign(err, {stdout, stderr, code});
|
|
@@ -135,3 +151,60 @@ async function exec (cmd, args = [], opts = {}) {
|
|
|
135
151
|
|
|
136
152
|
export { exec };
|
|
137
153
|
export default exec;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Options on top of `SpawnOptions`, unique to `teen_process.`
|
|
157
|
+
* @typedef {Object} TeenProcessProps
|
|
158
|
+
* @property {boolean} [ignoreOutput] - Ignore & discard all output
|
|
159
|
+
* @property {boolean} [isBuffer] - Return output as a Buffer
|
|
160
|
+
* @property {TeenProcessLogger} [logger] - Logger to use for debugging
|
|
161
|
+
* @property {number} [maxStdoutBufferSize] - Maximum size of `stdout` buffer
|
|
162
|
+
* @property {number} [maxStderrBufferSize] - Maximum size of `stderr` buffer
|
|
163
|
+
* @property {BufferEncoding} [encoding='utf8'] - Encoding to use for output
|
|
164
|
+
*/
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* A logger object understood by {@link exec teen_process.exec}.
|
|
168
|
+
* @typedef {Object} TeenProcessLogger
|
|
169
|
+
* @property {(...args: any[]) => void} debug
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Options for {@link exec teen_process.exec}.
|
|
174
|
+
* @typedef {import('child_process').SpawnOptions & TeenProcessProps} TeenProcessExecOptions
|
|
175
|
+
*/
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* The value {@link exec teen_process.exec} resolves to when `isBuffer` is `false`
|
|
179
|
+
* @typedef {Object} TeenProcessExecStringResult
|
|
180
|
+
* @property {string} stdout - Stdout
|
|
181
|
+
* @property {string} stderr - Stderr
|
|
182
|
+
* @property {number?} code - Exit code
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* The value {@link exec teen_process.exec} resolves to when `isBuffer` is `true`
|
|
187
|
+
* @typedef {Object} TeenProcessExecBufferResult
|
|
188
|
+
* @property {Buffer} stdout - Stdout
|
|
189
|
+
* @property {Buffer} stderr - Stderr
|
|
190
|
+
* @property {number?} code - Exit code
|
|
191
|
+
*/
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Extra props {@link exec teen_process.exec} adds to its error objects
|
|
195
|
+
* @typedef {Object} TeenProcessExecErrorProps
|
|
196
|
+
* @property {string} stdout - STDOUT
|
|
197
|
+
* @property {string} stderr - STDERR
|
|
198
|
+
* @property {number?} code - Exit code
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Error thrown by {@link exec teen_process.exec}
|
|
203
|
+
* @typedef {Error & TeenProcessExecErrorProps} TeenProcessExecError
|
|
204
|
+
*/
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* @template {{isBuffer?: boolean}} MaybeBuffer
|
|
208
|
+
* @typedef {MaybeBuffer['isBuffer']} BufferProp
|
|
209
|
+
* @private
|
|
210
|
+
*/
|
package/lib/helpers.js
CHANGED
|
@@ -5,11 +5,11 @@ import fs from 'fs';
|
|
|
5
5
|
* Decorates ENOENT error received from a spawn system call
|
|
6
6
|
* with a more descriptive message, so it could be properly handled by a user.
|
|
7
7
|
*
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {NodeJS.ErrnoException} error Original error instance. !!! The instance is mutated after
|
|
9
9
|
* this helper function invocation
|
|
10
|
-
* @param {
|
|
11
|
-
* @param {?
|
|
12
|
-
* @
|
|
10
|
+
* @param {string} cmd Original command to execute
|
|
11
|
+
* @param {string|URL?} [cwd] Optional path to the current working dir
|
|
12
|
+
* @returns {NodeJS.ErrnoException} Mutated error instance with an improved description or an
|
|
13
13
|
* unchanged error instance
|
|
14
14
|
*/
|
|
15
15
|
function formatEnoent (error, cmd, cwd = null) {
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// transpile:main
|
|
2
|
+
import * as cp from 'child_process';
|
|
3
|
+
import * as spIndex from './subprocess';
|
|
4
|
+
import * as execIndex from './exec';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const { spawn } = cp;
|
|
8
|
+
const { SubProcess } = spIndex;
|
|
9
|
+
const { exec } = execIndex;
|
|
10
|
+
|
|
11
|
+
export { exec, spawn, SubProcess };
|
package/lib/subprocess.js
CHANGED
|
@@ -151,6 +151,9 @@ class SubProcess extends EventEmitter {
|
|
|
151
151
|
err = formatEnoent(err, this.cmd, this.opts?.cwd);
|
|
152
152
|
}
|
|
153
153
|
reject(err);
|
|
154
|
+
|
|
155
|
+
this.proc.unref();
|
|
156
|
+
this.proc = null;
|
|
154
157
|
});
|
|
155
158
|
|
|
156
159
|
if (this.proc.stdout) {
|
|
@@ -229,9 +232,11 @@ class SubProcess extends EventEmitter {
|
|
|
229
232
|
this.proc.on('close', resolve);
|
|
230
233
|
this.expectingExit = true;
|
|
231
234
|
this.proc.kill(signal);
|
|
235
|
+
// this timeout needs unref() or node will wait for the timeout to fire before
|
|
236
|
+
// exiting the process.
|
|
232
237
|
setTimeout(() => {
|
|
233
238
|
reject(new Error(`Process didn't end after ${timeout}ms (cmd: '${this.rep}')`));
|
|
234
|
-
}, timeout);
|
|
239
|
+
}, timeout).unref();
|
|
235
240
|
});
|
|
236
241
|
}
|
|
237
242
|
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"child_process",
|
|
6
6
|
"process management"
|
|
7
7
|
],
|
|
8
|
-
"version": "
|
|
8
|
+
"version": "2.0.0",
|
|
9
9
|
"author": "appium",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"repository": {
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
"bugs": {
|
|
16
16
|
"url": "https://github.com/appium/node-teen_process/issues"
|
|
17
17
|
},
|
|
18
|
-
"engines":
|
|
19
|
-
"node"
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=14",
|
|
20
|
+
"npm": ">=6"
|
|
21
|
+
},
|
|
22
|
+
"main": "./index.js",
|
|
22
23
|
"bin": {},
|
|
23
24
|
"directories": {
|
|
24
25
|
"lib": "lib"
|
|
@@ -26,7 +27,6 @@
|
|
|
26
27
|
"files": [
|
|
27
28
|
"index.js",
|
|
28
29
|
"lib",
|
|
29
|
-
"build/index.js",
|
|
30
30
|
"build/lib"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
@@ -53,11 +53,15 @@
|
|
|
53
53
|
"precommit-test"
|
|
54
54
|
],
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"appium-
|
|
57
|
-
"appium-
|
|
56
|
+
"@appium/eslint-config-appium": "^6.0.2",
|
|
57
|
+
"@appium/gulp-plugins": "^7.0.2",
|
|
58
|
+
"@appium/support": "^2.59.2",
|
|
59
|
+
"@types/bluebird": "^3.5.36",
|
|
60
|
+
"@types/lodash": "^4.14.177",
|
|
61
|
+
"@types/node": "^17.0.0",
|
|
62
|
+
"@types/shell-quote": "^1.7.1",
|
|
58
63
|
"chai": "^4.1.2",
|
|
59
64
|
"chai-as-promised": "^7.1.1",
|
|
60
|
-
"eslint-config-appium": "^4.0.0",
|
|
61
65
|
"gulp": "^4.0.0",
|
|
62
66
|
"pre-commit": "^1.2.2"
|
|
63
67
|
}
|
package/build/index.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.SubProcess = exports.spawn = exports.exec = void 0;
|
|
9
|
-
|
|
10
|
-
require("source-map-support/register");
|
|
11
|
-
|
|
12
|
-
var cp = _interopRequireWildcard(require("child_process"));
|
|
13
|
-
|
|
14
|
-
var spIndex = _interopRequireWildcard(require("./lib/subprocess"));
|
|
15
|
-
|
|
16
|
-
var execIndex = _interopRequireWildcard(require("./lib/exec"));
|
|
17
|
-
|
|
18
|
-
const {
|
|
19
|
-
spawn
|
|
20
|
-
} = cp;
|
|
21
|
-
exports.spawn = spawn;
|
|
22
|
-
const {
|
|
23
|
-
SubProcess
|
|
24
|
-
} = spIndex;
|
|
25
|
-
exports.SubProcess = SubProcess;
|
|
26
|
-
const {
|
|
27
|
-
exec
|
|
28
|
-
} = execIndex;
|
|
29
|
-
exports.exec = exec;require('source-map-support').install();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbInNwYXduIiwiY3AiLCJTdWJQcm9jZXNzIiwic3BJbmRleCIsImV4ZWMiLCJleGVjSW5kZXgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQVlDLEVBQWxCOztBQUNBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFpQkMsT0FBdkI7O0FBQ0EsTUFBTTtBQUFFQyxFQUFBQTtBQUFGLElBQVdDLFNBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1haW5cbmltcG9ydCAqIGFzIGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgc3BJbmRleCBmcm9tICcuL2xpYi9zdWJwcm9jZXNzJztcbmltcG9ydCAqIGFzIGV4ZWNJbmRleCBmcm9tICcuL2xpYi9leGVjJztcblxuXG5jb25zdCB7IHNwYXduIH0gPSBjcDtcbmNvbnN0IHsgU3ViUHJvY2VzcyB9ID0gc3BJbmRleDtcbmNvbnN0IHsgZXhlYyB9ID0gZXhlY0luZGV4O1xuXG5leHBvcnQgeyBleGVjLCBzcGF3biwgU3ViUHJvY2VzcyB9O1xuIl0sImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZVJvb3QiOiIuLiJ9
|