@appium/support 2.60.0 → 2.61.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/console.d.ts +1 -1
- package/build/lib/console.js +3 -3
- package/build/lib/console.js.map +1 -0
- package/build/lib/env.d.ts +8 -18
- package/build/lib/env.d.ts.map +1 -1
- package/build/lib/env.js +57 -36
- package/build/lib/env.js.map +1 -0
- package/build/lib/fs.d.ts +39 -10
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +20 -4
- package/build/lib/fs.js.map +1 -0
- package/build/lib/image-util.js +3 -3
- package/build/lib/image-util.js.map +1 -0
- package/build/lib/index.js.map +1 -0
- package/build/lib/log-internal.js +3 -3
- package/build/lib/log-internal.js.map +1 -0
- package/build/lib/logger.js.map +1 -0
- package/build/lib/logging.js +3 -3
- package/build/lib/logging.js.map +1 -0
- package/build/lib/mjpeg.js +3 -3
- package/build/lib/mjpeg.js.map +1 -0
- package/build/lib/mkdirp.js.map +1 -0
- package/build/lib/net.js +3 -3
- package/build/lib/net.js.map +1 -0
- package/build/lib/node.js +3 -3
- package/build/lib/node.js.map +1 -0
- package/build/lib/npm.js +3 -3
- package/build/lib/npm.js.map +1 -0
- package/build/lib/plist.js +3 -3
- package/build/lib/plist.js.map +1 -0
- package/build/lib/process.js.map +1 -0
- package/build/lib/system.js +3 -3
- package/build/lib/system.js.map +1 -0
- package/build/lib/tempdir.js +3 -3
- package/build/lib/tempdir.js.map +1 -0
- package/build/lib/timing.js +3 -3
- package/build/lib/timing.js.map +1 -0
- package/build/lib/util.js +3 -3
- package/build/lib/util.js.map +1 -0
- package/build/lib/zip.js +3 -3
- package/build/lib/zip.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/env.js +63 -74
- package/lib/fs.js +34 -7
- package/package.json +9 -10
package/build/lib/console.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export class CliConsole {
|
|
|
26
26
|
* @param {keyof typeof CliConsole['symbolToColor']} [symbol] - Symbol to use
|
|
27
27
|
* @returns {string|undefined}
|
|
28
28
|
*/
|
|
29
|
-
decorate(msg?: string | undefined, symbol?: "
|
|
29
|
+
decorate(msg?: string | undefined, symbol?: "error" | "info" | "success" | "warning" | undefined): string | undefined;
|
|
30
30
|
/**
|
|
31
31
|
* Writes to `STDOUT`. Must be stringifyable.
|
|
32
32
|
*
|
package/build/lib/console.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -27,6 +25,8 @@ var _logSymbols = _interopRequireDefault(require("log-symbols"));
|
|
|
27
25
|
|
|
28
26
|
var _stream = require("stream");
|
|
29
27
|
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
30
|
class NullWritable extends _stream.Writable {
|
|
31
31
|
_write(chunk, encoding, callback) {
|
|
32
32
|
setImmediate(callback);
|
|
@@ -110,4 +110,4 @@ class CliConsole {
|
|
|
110
110
|
exports.CliConsole = CliConsole;
|
|
111
111
|
const console = new CliConsole();
|
|
112
112
|
exports.console = console;
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsV3JpdGFibGUiLCJXcml0YWJsZSIsIl93cml0ZSIsImNodW5rIiwiZW5jb2RpbmciLCJjYWxsYmFjayIsInNldEltbWVkaWF0ZSIsIkNsaUNvbnNvbGUiLCJjb25zb2xlIiwidXNlU3ltYm9scyIsInVzZUNvbG9yIiwic3ltYm9sVG9Db2xvciIsInN1Y2Nlc3MiLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiY29uc3RydWN0b3IiLCJqc29uTW9kZSIsIk5vZGVDb25zb2xlIiwicHJvY2VzcyIsInN0ZG91dCIsInN0ZGVyciIsIkJvb2xlYW4iLCJzdXBwb3J0c0NvbG9yIiwiZGVjb3JhdGUiLCJtc2ciLCJzeW1ib2wiLCJfIiwiaXNTdHJpbmciLCJuZXdNc2ciLCJzeW1ib2xzIiwianNvbiIsInZhbHVlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1lc3NhZ2UiLCJhcmdzIiwib2siLCJkZWJ1ZyIsImR1bXAiLCJpdGVtIiwib3B0cyIsImRpciIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9saWIvY29uc29sZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtzdXBwb3J0c0NvbG9yfSBmcm9tICdzdXBwb3J0cy1jb2xvcic7XG5pbXBvcnQge0NvbnNvbGUgYXMgTm9kZUNvbnNvbGV9IGZyb20gJ2NvbnNvbGUnO1xuaW1wb3J0ICdAY29sb3JzL2NvbG9ycyc7XG5pbXBvcnQgc3ltYm9scyBmcm9tICdsb2ctc3ltYm9scyc7XG5pbXBvcnQge1dyaXRhYmxlfSBmcm9tICdzdHJlYW0nO1xuXG4vKipcbiAqIFN0cmVhbSB0byBub3doZXJlLiBVc2VkIHdoZW4gd2Ugd2FudCB0byBkaXNhYmxlIGFueSBvdXRwdXQgb3RoZXIgdGhhbiBKU09OIG91dHB1dC5cbiAqL1xuY2xhc3MgTnVsbFdyaXRhYmxlIGV4dGVuZHMgV3JpdGFibGUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tY2FsbGJhY2tzXG4gIF93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgc2V0SW1tZWRpYXRlKGNhbGxiYWNrKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgcGFydGljdWxhciBjb25zb2xlL2xvZ2dpbmcgY2xhc3MgZm9yIEFwcGl1bSdzIENMSS5cbiAqXG4gKiAtIEJ5IGRlZmF1bHQsIHVzZXMgc29tZSBmYW5jeSBzeW1ib2xzXG4gKiAtIFdyaXRlcyB0byBgU1RERVJSYCwgZ2VuZXJhbGx5LlxuICogLSBJbiBcIkpTT04gbW9kZVwiLCBgU1RERVJSYCBpcyBzcXVlbGNoZWQuIFVzZSB7QGxpbmtjb2RlIENvbnNvbGUuanNvbn0gdG8gd3JpdGUgdGhlIEpTT04uXG4gKlxuICogRE8gTk9UIGV4dGVuZCB0aGlzIHRvIGRvIGFueXRoaW5nIG90aGVyIHRoYW4gd2hhdCBpdCBhbHJlYWR5IGRvZXMuIERvd25sb2FkIGEgbGlicmFyeSBvciBzb21ldGhpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGlDb25zb2xlIHtcbiAgLyoqXG4gICAqIEludGVybmFsIGNvbnNvbGVcbiAgICogQHR5cGUge2dsb2JhbFRoaXMuQ29uc29sZX1cbiAgICovXG4gICNjb25zb2xlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgZmFuY3kgc3ltYm9scyB3aGVuIGxvZ2dpbmcuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKlxuICAgKi9cbiAgI3VzZVN5bWJvbHM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBjb2xvci5cbiAgICovXG4gICN1c2VDb2xvcjtcblxuICAvKipcbiAgICogQHR5cGUge1JlY29yZDxrZXlvZiB0eXBlb2Ygc3ltYm9scyxrZXlvZiBFeHRyYWN0PGltcG9ydCgnQGNvbG9ycy9jb2xvcnMnKS5Db2xvciwgJ3N0cmluZyc+Pn1cbiAgICovXG4gIHN0YXRpYyBzeW1ib2xUb0NvbG9yID0ge1xuICAgIHN1Y2Nlc3M6ICdncmVlbicsXG4gICAgaW5mbzogJ2N5YW4nLFxuICAgIHdhcm5pbmc6ICd5ZWxsb3cnLFxuICAgIGVycm9yOiAncmVkJyxcbiAgfTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtDb25zb2xlT3B0c30gb3B0c1xuICAgKi9cbiAgY29uc3RydWN0b3Ioe2pzb25Nb2RlID0gZmFsc2UsIHVzZVN5bWJvbHMgPSB0cnVlLCB1c2VDb2xvcn0gPSB7fSkge1xuICAgIHRoaXMuI2NvbnNvbGUgPSBuZXcgTm9kZUNvbnNvbGUocHJvY2Vzcy5zdGRvdXQsIGpzb25Nb2RlID8gbmV3IE51bGxXcml0YWJsZSgpIDogcHJvY2Vzcy5zdGRlcnIpO1xuICAgIHRoaXMuI3VzZVN5bWJvbHMgPSBCb29sZWFuKHVzZVN5bWJvbHMpO1xuICAgIHRoaXMuI3VzZUNvbG9yID0gQm9vbGVhbih1c2VDb2xvciA/
|
|
113
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdWxsV3JpdGFibGUiLCJXcml0YWJsZSIsIl93cml0ZSIsImNodW5rIiwiZW5jb2RpbmciLCJjYWxsYmFjayIsInNldEltbWVkaWF0ZSIsIkNsaUNvbnNvbGUiLCJjb25zb2xlIiwidXNlU3ltYm9scyIsInVzZUNvbG9yIiwic3ltYm9sVG9Db2xvciIsInN1Y2Nlc3MiLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiY29uc3RydWN0b3IiLCJqc29uTW9kZSIsIk5vZGVDb25zb2xlIiwicHJvY2VzcyIsInN0ZG91dCIsInN0ZGVyciIsIkJvb2xlYW4iLCJzdXBwb3J0c0NvbG9yIiwiZGVjb3JhdGUiLCJtc2ciLCJzeW1ib2wiLCJfIiwiaXNTdHJpbmciLCJuZXdNc2ciLCJzeW1ib2xzIiwianNvbiIsInZhbHVlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1lc3NhZ2UiLCJhcmdzIiwib2siLCJkZWJ1ZyIsImR1bXAiLCJpdGVtIiwib3B0cyIsImRpciIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9saWIvY29uc29sZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtzdXBwb3J0c0NvbG9yfSBmcm9tICdzdXBwb3J0cy1jb2xvcic7XG5pbXBvcnQge0NvbnNvbGUgYXMgTm9kZUNvbnNvbGV9IGZyb20gJ2NvbnNvbGUnO1xuaW1wb3J0ICdAY29sb3JzL2NvbG9ycyc7XG5pbXBvcnQgc3ltYm9scyBmcm9tICdsb2ctc3ltYm9scyc7XG5pbXBvcnQge1dyaXRhYmxlfSBmcm9tICdzdHJlYW0nO1xuXG4vKipcbiAqIFN0cmVhbSB0byBub3doZXJlLiBVc2VkIHdoZW4gd2Ugd2FudCB0byBkaXNhYmxlIGFueSBvdXRwdXQgb3RoZXIgdGhhbiBKU09OIG91dHB1dC5cbiAqL1xuY2xhc3MgTnVsbFdyaXRhYmxlIGV4dGVuZHMgV3JpdGFibGUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tY2FsbGJhY2tzXG4gIF93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgc2V0SW1tZWRpYXRlKGNhbGxiYWNrKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgcGFydGljdWxhciBjb25zb2xlL2xvZ2dpbmcgY2xhc3MgZm9yIEFwcGl1bSdzIENMSS5cbiAqXG4gKiAtIEJ5IGRlZmF1bHQsIHVzZXMgc29tZSBmYW5jeSBzeW1ib2xzXG4gKiAtIFdyaXRlcyB0byBgU1RERVJSYCwgZ2VuZXJhbGx5LlxuICogLSBJbiBcIkpTT04gbW9kZVwiLCBgU1RERVJSYCBpcyBzcXVlbGNoZWQuIFVzZSB7QGxpbmtjb2RlIENvbnNvbGUuanNvbn0gdG8gd3JpdGUgdGhlIEpTT04uXG4gKlxuICogRE8gTk9UIGV4dGVuZCB0aGlzIHRvIGRvIGFueXRoaW5nIG90aGVyIHRoYW4gd2hhdCBpdCBhbHJlYWR5IGRvZXMuIERvd25sb2FkIGEgbGlicmFyeSBvciBzb21ldGhpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGlDb25zb2xlIHtcbiAgLyoqXG4gICAqIEludGVybmFsIGNvbnNvbGVcbiAgICogQHR5cGUge2dsb2JhbFRoaXMuQ29uc29sZX1cbiAgICovXG4gICNjb25zb2xlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgZmFuY3kgc3ltYm9scyB3aGVuIGxvZ2dpbmcuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKlxuICAgKi9cbiAgI3VzZVN5bWJvbHM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBjb2xvci5cbiAgICovXG4gICN1c2VDb2xvcjtcblxuICAvKipcbiAgICogQHR5cGUge1JlY29yZDxrZXlvZiB0eXBlb2Ygc3ltYm9scyxrZXlvZiBFeHRyYWN0PGltcG9ydCgnQGNvbG9ycy9jb2xvcnMnKS5Db2xvciwgJ3N0cmluZyc+Pn1cbiAgICovXG4gIHN0YXRpYyBzeW1ib2xUb0NvbG9yID0ge1xuICAgIHN1Y2Nlc3M6ICdncmVlbicsXG4gICAgaW5mbzogJ2N5YW4nLFxuICAgIHdhcm5pbmc6ICd5ZWxsb3cnLFxuICAgIGVycm9yOiAncmVkJyxcbiAgfTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtDb25zb2xlT3B0c30gb3B0c1xuICAgKi9cbiAgY29uc3RydWN0b3Ioe2pzb25Nb2RlID0gZmFsc2UsIHVzZVN5bWJvbHMgPSB0cnVlLCB1c2VDb2xvcn0gPSB7fSkge1xuICAgIHRoaXMuI2NvbnNvbGUgPSBuZXcgTm9kZUNvbnNvbGUocHJvY2Vzcy5zdGRvdXQsIGpzb25Nb2RlID8gbmV3IE51bGxXcml0YWJsZSgpIDogcHJvY2Vzcy5zdGRlcnIpO1xuICAgIHRoaXMuI3VzZVN5bWJvbHMgPSBCb29sZWFuKHVzZVN5bWJvbHMpO1xuICAgIHRoaXMuI3VzZUNvbG9yID0gQm9vbGVhbih1c2VDb2xvciA/PyBzdXBwb3J0c0NvbG9yKHByb2Nlc3Muc3RkZXJyKSk7XG4gIH1cblxuICAvKipcbiAgICogV3JhcHMgYSBtZXNzYWdlIHN0cmluZyBpbiBicmVhdGh0YWtpbmcgZmFuY2luZXNzXG4gICAqXG4gICAqIFJldHVybnMgYHVuZGVmaW5lZGAgaWYgYG1zZ2AgaXMgYHVuZGVmaW5lZGAuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbXNnXSAtIE1lc3NhZ2UgdG8gZGVjb3JhdGUsIGlmIGFueXRoaW5nXG4gICAqIEBwYXJhbSB7a2V5b2YgdHlwZW9mIENsaUNvbnNvbGVbJ3N5bWJvbFRvQ29sb3InXX0gW3N5bWJvbF0gLSBTeW1ib2wgdG8gdXNlXG4gICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfVxuICAgKi9cbiAgZGVjb3JhdGUobXNnLCBzeW1ib2wpIHtcbiAgICBpZiAoXy5pc1N0cmluZyhtc2cpKSB7XG4gICAgICBsZXQgbmV3TXNnID0gLyoqIEB0eXBlIHtzdHJpbmd9ICovIChtc2cpO1xuICAgICAgaWYgKF8uaXNTdHJpbmcoc3ltYm9sKSAmJiB0aGlzLiN1c2VTeW1ib2xzKSB7XG4gICAgICAgIG5ld01zZyA9IGAke3N5bWJvbHNbc3ltYm9sXX0gJHtuZXdNc2d9YDtcbiAgICAgICAgaWYgKHRoaXMuI3VzZUNvbG9yKSB7XG4gICAgICAgICAgbmV3TXNnID0gbmV3TXNnW0NsaUNvbnNvbGUuc3ltYm9sVG9Db2xvcltzeW1ib2xdXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ld01zZztcbiAgICB9XG4gICAgcmV0dXJuIG1zZztcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdG8gYFNURE9VVGAuICBNdXN0IGJlIHN0cmluZ2lmeWFibGUuXG4gICAqXG4gICAqIFlvdSBwcm9iYWJseSBkb24ndCB3YW50IHRvIGNhbGwgdGhpcyBtb3JlIHRoYW4gb25jZSBiZWZvcmUgZXhpdGluZyAoc2luY2UgdGhhdCB3aWxsIG91dHB1dCBpbnZhbGlkIEpTT04pLlxuICAgKiBAcGFyYW0ge2ltcG9ydCgndHlwZS1mZXN0JykuSnNvblZhbHVlfSB2YWx1ZVxuICAgKi9cbiAganNvbih2YWx1ZSkge1xuICAgIHRoaXMuI2NvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhbCBsb2dnaW5nIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdXG4gICAqIEBwYXJhbSB7Li4uYW55fSBhcmdzXG4gICAqL1xuICBsb2cobWVzc2FnZSwgLi4uYXJncykge1xuICAgIHRoaXMuI2NvbnNvbGUuZXJyb3IobWVzc2FnZSwgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQSBcInN1Y2Nlc3NcIiBtZXNzYWdlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICogQHBhcmFtIHsuLi5hbnl9IGFyZ3NcbiAgICovXG4gIG9rKG1lc3NhZ2UsIC4uLmFyZ3MpIHtcbiAgICB0aGlzLiNjb25zb2xlLmVycm9yKHRoaXMuZGVjb3JhdGUobWVzc2FnZSwgJ3N1Y2Nlc3MnKSwgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQWxpYXMgZm9yIHtAbGlua2NvZGUgQ29uc29sZS5sb2d9XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICogQHBhcmFtIHsuLi5hbnl9IGFyZ3NcbiAgICovXG4gIGRlYnVnKG1lc3NhZ2UsIC4uLmFyZ3MpIHtcbiAgICB0aGlzLmxvZyhtZXNzYWdlLCAuLi5hcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcyB7QGxpbmsgY29uc29sZS5kaXJ9XG4gICAqIEBwYXJhbSB7YW55fSBpdGVtXG4gICAqIEBwYXJhbSB7aW1wb3J0KCd1dGlsJykuSW5zcGVjdE9wdGlvbnN9IFtvcHRzXVxuICAgKi9cbiAgZHVtcChpdGVtLCBvcHRzKSB7XG4gICAgdGhpcy4jY29uc29sZS5kaXIoaXRlbSwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQW4gXCJpbmZvXCIgbWVzc2FnZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdXG4gICAqIEBwYXJhbSB7Li4uYW55fSBhcmdzXG4gICAqL1xuICBpbmZvKG1lc3NhZ2UsIC4uLmFyZ3MpIHtcbiAgICB0aGlzLmxvZyh0aGlzLmRlY29yYXRlKG1lc3NhZ2UsICdpbmZvJyksIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgXCJ3YXJuaW5nXCIgbWVzc2FnZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdXG4gICAqIEBwYXJhbSB7Li4uYW55fSBhcmdzXG4gICAqL1xuICB3YXJuKG1lc3NhZ2UsIC4uLmFyZ3MpIHtcbiAgICB0aGlzLmxvZyh0aGlzLmRlY29yYXRlKG1lc3NhZ2UsICd3YXJuaW5nJyksIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIFwiZXJyb3JcIiBtZXNzYWdlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICogQHBhcmFtIHsuLi5hbnl9IGFyZ3NcbiAgICovXG4gIGVycm9yKG1lc3NhZ2UsIC4uLmFyZ3MpIHtcbiAgICB0aGlzLmxvZyh0aGlzLmRlY29yYXRlKG1lc3NhZ2UsICdlcnJvcicpLCAuLi5hcmdzKTtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGlua2NvZGUgQ2xpQ29uc29sZX0uXG4gKlxuICogQHR5cGVkZWYgQ29uc29sZU9wdHNcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2pzb25Nb2RlXSAtIElmIF90cnV0aHlfLCBzdXByZXNzIGFsbCBvdXRwdXQgZXhjZXB0IEpTT04gKHVzZSB7QGxpbmtjb2RlIENsaUNvbnNvbGUjanNvbn0pLCB3aGljaCB3cml0ZXMgdG8gYFNURE9VVGAuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt1c2VTeW1ib2xzXSAtIElmIF9mYWxzeV8sIGRvIG5vdCB1c2UgZmFuY3kgc3ltYm9scy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3VzZUNvbG9yXSAtIElmIF9mYWxzeV8sIGRvIG5vdCB1c2UgY29sb3Igb3V0cHV0LiBJZiBfdHJ1dGh5XywgZm9yY2VzIGNvbG9yIG91dHB1dC4gQnkgZGVmYXVsdCwgY2hlY2tzIHRlcm1pbmFsL1RUWSBmb3Igc3VwcG9ydCB2aWEgcGtnIGBzdXBwb3J0cy1jb2xvcmAuIElnbm9yZWQgaWYgYHVzZVN5bWJvbHNgIGlzIGBmYWxzZWAuXG4gKiBAc2VlIGh0dHBzOi8vbnBtLmltL3N1cHBvcnRzLWNvbG9yXG4gKi9cblxuZXhwb3J0IGNvbnN0IGNvbnNvbGUgPSBuZXcgQ2xpQ29uc29sZSgpO1xuZXhwb3J0IHtzeW1ib2xzfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFLQSxNQUFNQSxZQUFOLFNBQTJCQyxnQkFBM0IsQ0FBb0M7RUFFbENDLE1BQU0sQ0FBQ0MsS0FBRCxFQUFRQyxRQUFSLEVBQWtCQyxRQUFsQixFQUE0QjtJQUNoQ0MsWUFBWSxDQUFDRCxRQUFELENBQVo7RUFDRDs7QUFKaUM7O0FBZ0I3QixNQUFNRSxVQUFOLENBQWlCO0VBS3RC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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","names":["NullWritable","Writable","_write","chunk","encoding","callback","setImmediate","CliConsole","console","useSymbols","useColor","symbolToColor","success","info","warning","error","constructor","jsonMode","NodeConsole","process","stdout","stderr","Boolean","supportsColor","decorate","msg","symbol","_","isString","newMsg","symbols","json","value","log","JSON","stringify","message","args","ok","debug","dump","item","opts","dir","warn"],"sources":["../../lib/console.js"],"sourcesContent":["import _ from 'lodash';\nimport {supportsColor} from 'supports-color';\nimport {Console as NodeConsole} from 'console';\nimport '@colors/colors';\nimport symbols from 'log-symbols';\nimport {Writable} from 'stream';\n\n/**\n * Stream to nowhere. Used when we want to disable any output other than JSON output.\n */\nclass NullWritable extends Writable {\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n _write(chunk, encoding, callback) {\n setImmediate(callback);\n }\n}\n\n/**\n * A particular console/logging class for Appium's CLI.\n *\n * - By default, uses some fancy symbols\n * - Writes to `STDERR`, generally.\n * - In \"JSON mode\", `STDERR` is squelched. Use {@linkcode Console.json} to write the JSON.\n *\n * DO NOT extend this to do anything other than what it already does. Download a library or something.\n */\nexport class CliConsole {\n /**\n * Internal console\n * @type {globalThis.Console}\n */\n #console;\n\n /**\n * Whether or not to use fancy symbols when logging.\n * @type {boolean}\n *\n */\n #useSymbols;\n\n /**\n * Whether or not to use color.\n */\n #useColor;\n\n /**\n * @type {Record<keyof typeof symbols,keyof Extract<import('@colors/colors').Color, 'string'>>}\n */\n static symbolToColor = {\n success: 'green',\n info: 'cyan',\n warning: 'yellow',\n error: 'red',\n };\n\n /**\n *\n * @param {ConsoleOpts} opts\n */\n constructor({jsonMode = false, useSymbols = true, useColor} = {}) {\n this.#console = new NodeConsole(process.stdout, jsonMode ? new NullWritable() : process.stderr);\n this.#useSymbols = Boolean(useSymbols);\n this.#useColor = Boolean(useColor ?? supportsColor(process.stderr));\n }\n\n /**\n * Wraps a message string in breathtaking fanciness\n *\n * Returns `undefined` if `msg` is `undefined`.\n * @param {string} [msg] - Message to decorate, if anything\n * @param {keyof typeof CliConsole['symbolToColor']} [symbol] - Symbol to use\n * @returns {string|undefined}\n */\n decorate(msg, symbol) {\n if (_.isString(msg)) {\n let newMsg = /** @type {string} */ (msg);\n if (_.isString(symbol) && this.#useSymbols) {\n newMsg = `${symbols[symbol]} ${newMsg}`;\n if (this.#useColor) {\n newMsg = newMsg[CliConsole.symbolToColor[symbol]];\n }\n }\n return newMsg;\n }\n return msg;\n }\n\n /**\n * Writes to `STDOUT`. Must be stringifyable.\n *\n * You probably don't want to call this more than once before exiting (since that will output invalid JSON).\n * @param {import('type-fest').JsonValue} value\n */\n json(value) {\n this.#console.log(JSON.stringify(value));\n }\n\n /**\n * General logging function.\n * @param {string} [message]\n * @param {...any} args\n */\n log(message, ...args) {\n this.#console.error(message, ...args);\n }\n\n /**\n * A \"success\" message\n * @param {string} [message]\n * @param {...any} args\n */\n ok(message, ...args) {\n this.#console.error(this.decorate(message, 'success'), ...args);\n }\n\n /**\n * Alias for {@linkcode Console.log}\n * @param {string} [message]\n * @param {...any} args\n */\n debug(message, ...args) {\n this.log(message, ...args);\n }\n\n /**\n * Wraps {@link console.dir}\n * @param {any} item\n * @param {import('util').InspectOptions} [opts]\n */\n dump(item, opts) {\n this.#console.dir(item, opts);\n }\n\n /**\n * An \"info\" message\n * @param {string} [message]\n * @param {...any} args\n */\n info(message, ...args) {\n this.log(this.decorate(message, 'info'), ...args);\n }\n\n /**\n * A \"warning\" message\n * @param {string} [message]\n * @param {...any} args\n */\n warn(message, ...args) {\n this.log(this.decorate(message, 'warning'), ...args);\n }\n\n /**\n * An \"error\" message\n * @param {string} [message]\n * @param {...any} args\n */\n error(message, ...args) {\n this.log(this.decorate(message, 'error'), ...args);\n }\n}\n\n/**\n * Options for {@linkcode CliConsole}.\n *\n * @typedef ConsoleOpts\n * @property {boolean} [jsonMode] - If _truthy_, supress all output except JSON (use {@linkcode CliConsole#json}), which writes to `STDOUT`.\n * @property {boolean} [useSymbols] - If _falsy_, do not use fancy symbols.\n * @property {boolean} [useColor] - If _falsy_, do not use color output. If _truthy_, forces color output. By default, checks terminal/TTY for support via pkg `supports-color`. Ignored if `useSymbols` is `false`.\n * @see https://npm.im/supports-color\n */\n\nexport const console = new CliConsole();\nexport {symbols};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAKA,MAAMA,YAAN,SAA2BC,gBAA3B,CAAoC;EAElCC,MAAM,CAACC,KAAD,EAAQC,QAAR,EAAkBC,QAAlB,EAA4B;IAChCC,YAAY,CAACD,QAAD,CAAZ;EACD;;AAJiC;;AAgB7B,MAAME,UAAN,CAAiB;EAKtB,CAACC,OAAD;EAOA,CAACC,UAAD;EAKA,CAACC,QAAD;EAKoB,OAAbC,aAAa,GAAG;IACrBC,OAAO,EAAE,OADY;IAErBC,IAAI,EAAE,MAFe;IAGrBC,OAAO,EAAE,QAHY;IAIrBC,KAAK,EAAE;EAJc,CAAH;;EAWpBC,WAAW,CAAC;IAACC,QAAQ,GAAG,KAAZ;IAAmBR,UAAU,GAAG,IAAhC;IAAsCC;EAAtC,IAAkD,EAAnD,EAAuD;IAChE,KAAK,CAACF,OAAN,GAAgB,IAAIU,gBAAJ,CAAgBC,OAAO,CAACC,MAAxB,EAAgCH,QAAQ,GAAG,IAAIjB,YAAJ,EAAH,GAAwBmB,OAAO,CAACE,MAAxE,CAAhB;IACA,KAAK,CAACZ,UAAN,GAAmBa,OAAO,CAACb,UAAD,CAA1B;IACA,KAAK,CAACC,QAAN,GAAiBY,OAAO,CAACZ,QAAQ,IAAI,IAAAa,4BAAA,EAAcJ,OAAO,CAACE,MAAtB,CAAb,CAAxB;EACD;;EAUDG,QAAQ,CAACC,GAAD,EAAMC,MAAN,EAAc;IACpB,IAAIC,eAAA,CAAEC,QAAF,CAAWH,GAAX,CAAJ,EAAqB;MACnB,IAAII,MAAM,GAA0BJ,GAApC;;MACA,IAAIE,eAAA,CAAEC,QAAF,CAAWF,MAAX,KAAsB,KAAK,CAACjB,UAAhC,EAA4C;QAC1CoB,MAAM,GAAI,GAAEC,mBAAA,CAAQJ,MAAR,CAAgB,IAAGG,MAAO,EAAtC;;QACA,IAAI,KAAK,CAACnB,QAAV,EAAoB;UAClBmB,MAAM,GAAGA,MAAM,CAACtB,UAAU,CAACI,aAAX,CAAyBe,MAAzB,CAAD,CAAf;QACD;MACF;;MACD,OAAOG,MAAP;IACD;;IACD,OAAOJ,GAAP;EACD;;EAQDM,IAAI,CAACC,KAAD,EAAQ;IACV,KAAK,CAACxB,OAAN,CAAcyB,GAAd,CAAkBC,IAAI,CAACC,SAAL,CAAeH,KAAf,CAAlB;EACD;;EAODC,GAAG,CAACG,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACpB,KAAK,CAAC7B,OAAN,CAAcO,KAAd,CAAoBqB,OAApB,EAA6B,GAAGC,IAAhC;EACD;;EAODC,EAAE,CAACF,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACnB,KAAK,CAAC7B,OAAN,CAAcO,KAAd,CAAoB,KAAKS,QAAL,CAAcY,OAAd,EAAuB,SAAvB,CAApB,EAAuD,GAAGC,IAA1D;EACD;;EAODE,KAAK,CAACH,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACtB,KAAKJ,GAAL,CAASG,OAAT,EAAkB,GAAGC,IAArB;EACD;;EAODG,IAAI,CAACC,IAAD,EAAOC,IAAP,EAAa;IACf,KAAK,CAAClC,OAAN,CAAcmC,GAAd,CAAkBF,IAAlB,EAAwBC,IAAxB;EACD;;EAOD7B,IAAI,CAACuB,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACrB,KAAKJ,GAAL,CAAS,KAAKT,QAAL,CAAcY,OAAd,EAAuB,MAAvB,CAAT,EAAyC,GAAGC,IAA5C;EACD;;EAODO,IAAI,CAACR,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACrB,KAAKJ,GAAL,CAAS,KAAKT,QAAL,CAAcY,OAAd,EAAuB,SAAvB,CAAT,EAA4C,GAAGC,IAA/C;EACD;;EAODtB,KAAK,CAACqB,OAAD,EAAU,GAAGC,IAAb,EAAmB;IACtB,KAAKJ,GAAL,CAAS,KAAKT,QAAL,CAAcY,OAAd,EAAuB,OAAvB,CAAT,EAA0C,GAAGC,IAA7C;EACD;;AApIqB;;;AAiJjB,MAAM7B,OAAO,GAAG,IAAID,UAAJ,EAAhB"}
|
package/build/lib/env.d.ts
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* The following special cases are considered:
|
|
5
|
-
*
|
|
6
|
-
* - If `resolved` starts with `file:`, then `cwd` likely points to `appium-monorepo`, and (for now) we expect `APPIUM_HOME` to be the default.
|
|
7
|
-
* - If the `version` begins with `0` or `1`, we're looking at an old version of `appium` (not this one!)
|
|
8
|
-
*
|
|
9
|
-
* Note that we are _not_ performing the check "is the currently running Appium the same one as found in the list of dependencies", because I'm not sure it actually matters (assuming the versions are compatible).
|
|
10
|
-
* Regardless we may want to make this more robust in the future, as we hit edge cases.
|
|
11
|
-
*
|
|
12
|
-
* _Also_ note that:
|
|
13
|
-
*
|
|
14
|
-
* - if `appium` appears as a dependency in `package.json` _but it is not yet installed_ this function will resolve `false`.
|
|
15
|
-
* - if `appium` _does not appear in `package.json`_, but is installed anyway (extraneous) this function will resolve `false`.
|
|
16
|
-
*
|
|
17
|
-
* This may not be exactly what we want.
|
|
2
|
+
* Resolves `true` if an `appium` dependency can be found somewhere in the given `cwd`.
|
|
18
3
|
*
|
|
19
4
|
* @param {string} cwd
|
|
20
5
|
* @returns {Promise<boolean>}
|
|
@@ -35,6 +20,12 @@ export const MANIFEST_BASENAME: string;
|
|
|
35
20
|
* @type {string}
|
|
36
21
|
*/
|
|
37
22
|
export const MANIFEST_RELATIVE_PATH: string;
|
|
23
|
+
/**
|
|
24
|
+
* Given `cwd`, use `npm` to find the closest package _or workspace root_, and return the path if the root depends upon `appium`.
|
|
25
|
+
*
|
|
26
|
+
* Looks at `dependencies` and `devDependencies` for `appium`.
|
|
27
|
+
*/
|
|
28
|
+
export const findAppiumDependencyPackage: ((cwd?: string | undefined) => Promise<string | undefined>) & _.MemoizedFunction;
|
|
38
29
|
/**
|
|
39
30
|
* Read a `package.json` in dir `cwd`. If none found, return `undefined`.
|
|
40
31
|
*/
|
|
@@ -43,8 +34,7 @@ export const readPackageInDir: ((cwd: string) => Promise<import('read-pkg').Norm
|
|
|
43
34
|
* Determines location of Appium's "home" dir
|
|
44
35
|
*
|
|
45
36
|
* - If `APPIUM_HOME` is set in the environment, use that
|
|
46
|
-
* - If we
|
|
47
|
-
* - If we find a `package.json` in or above `cwd` and {@linkcode shouldUseCwdForAppiumHome} returns `true`, then use the directory containing the `package.json`.
|
|
37
|
+
* - If we find a `package.json` in or above `cwd` and it has an `appium` dependency, use that.
|
|
48
38
|
*
|
|
49
39
|
* All returned paths will be absolute.
|
|
50
40
|
*/
|
package/build/lib/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../lib/env.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../lib/env.js"],"names":[],"mappings":"AAiCA;;;;;GAKG;AACH,yCAHW,MAAM,GACJ,QAAQ,OAAO,CAAC,CAI5B;AAjCD;;;GAGG;AACH,kCAFU,MAAM,CAEsD;AAEtE;;;GAGG;AACH,gCAFU,MAAM,CAEmC;AAEnD;;;GAGG;AACH,qCAFU,MAAM,CAOd;AAcF;;;;GAIG;AACH,yEAGe,QAAQ,MAAM,GAAC,SAAS,CAAC,uBA6CtC;AAEF;;GAEG;AACH,sCAGa,MAAM,KACJ,QAAQ,OAAO,UAAU,EAAE,qBAAqB,GAAC,SAAS,CAAC,uBAKxE;AAEF;;;;;;;GAOG;AACH,+DAGe,QAAQ,MAAM,CAAC,uBAmB5B;AAEF;;;;;GAKG;AACH,wEAGe,QAAQ,MAAM,CAAC,uBAO5B;oCAGW,OAAO,UAAU,EAAE,qBAAqB"}
|
package/build/lib/env.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
|
-
exports.MANIFEST_RELATIVE_PATH = exports.MANIFEST_BASENAME = exports.DEFAULT_APPIUM_HOME = void 0;
|
|
6
|
+
exports.findAppiumDependencyPackage = exports.MANIFEST_RELATIVE_PATH = exports.MANIFEST_BASENAME = exports.DEFAULT_APPIUM_HOME = void 0;
|
|
9
7
|
exports.hasAppiumDependency = hasAppiumDependency;
|
|
10
8
|
exports.resolveManifestPath = exports.resolveAppiumHome = exports.readPackageInDir = void 0;
|
|
11
9
|
|
|
@@ -17,12 +15,14 @@ var _os = require("os");
|
|
|
17
15
|
|
|
18
16
|
var _path = _interopRequireDefault(require("path"));
|
|
19
17
|
|
|
20
|
-
var _pkgDir = _interopRequireDefault(require("pkg-dir"));
|
|
21
|
-
|
|
22
18
|
var _readPkg = _interopRequireDefault(require("read-pkg"));
|
|
23
19
|
|
|
24
20
|
var _npm = require("./npm");
|
|
25
21
|
|
|
22
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
26
|
const DEFAULT_APPIUM_HOME = _path.default.resolve((0, _os.homedir)(), '.appium');
|
|
27
27
|
|
|
28
28
|
exports.DEFAULT_APPIUM_HOME = DEFAULT_APPIUM_HOME;
|
|
@@ -32,34 +32,59 @@ exports.MANIFEST_BASENAME = MANIFEST_BASENAME;
|
|
|
32
32
|
const MANIFEST_RELATIVE_PATH = _path.default.join('node_modules', '.cache', 'appium', MANIFEST_BASENAME);
|
|
33
33
|
|
|
34
34
|
exports.MANIFEST_RELATIVE_PATH = MANIFEST_RELATIVE_PATH;
|
|
35
|
+
const OLD_VERSION_REGEX = /^[01]/;
|
|
35
36
|
|
|
36
37
|
async function hasAppiumDependency(cwd) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
let version;
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
var _listResult, _listResult$dependenc, _listResult$dependenc2, _listResult2, _listResult2$dependen, _listResult2$dependen2, _listResult3, _listResult3$dependen, _listResult3$dependen2;
|
|
38
|
+
return Boolean(await findAppiumDependencyPackage(cwd));
|
|
39
|
+
}
|
|
43
40
|
|
|
44
|
-
|
|
41
|
+
const findAppiumDependencyPackage = _lodash.default.memoize(async (cwd = process.cwd()) => {
|
|
42
|
+
const readPkg = async cwd => {
|
|
43
|
+
let pkgPath;
|
|
45
44
|
|
|
46
|
-
if ((_listResult = listResult) !== null && _listResult !== void 0 && (_listResult$dependenc = _listResult.dependencies) !== null && _listResult$dependenc !== void 0 && (_listResult$dependenc2 = _listResult$dependenc.appium) !== null && _listResult$dependenc2 !== void 0 && _listResult$dependenc2.extraneous) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
resolved = ((_listResult2 = listResult) === null || _listResult2 === void 0 ? void 0 : (_listResult2$dependen = _listResult2.dependencies) === null || _listResult2$dependen === void 0 ? void 0 : (_listResult2$dependen2 = _listResult2$dependen.appium) === null || _listResult2$dependen2 === void 0 ? void 0 : _listResult2$dependen2.resolved) ?? '';
|
|
51
|
-
version = ((_listResult3 = listResult) === null || _listResult3 === void 0 ? void 0 : (_listResult3$dependen = _listResult3.dependencies) === null || _listResult3$dependen === void 0 ? void 0 : (_listResult3$dependen2 = _listResult3$dependen.appium) === null || _listResult3$dependen2 === void 0 ? void 0 : _listResult3$dependen2.version) ?? '';
|
|
52
|
-
} catch {
|
|
53
45
|
try {
|
|
54
|
-
var _pkg$dependencies, _pkg$devDependencies, _pkg$
|
|
46
|
+
var _pkg$dependencies, _pkg$devDependencies, _pkg$peerDependencies;
|
|
55
47
|
|
|
56
48
|
const pkg = await readPackageInDir(cwd);
|
|
57
|
-
version =
|
|
49
|
+
const version = (pkg === null || pkg === void 0 ? void 0 : (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies.appium) ?? (pkg === null || pkg === void 0 ? void 0 : (_pkg$devDependencies = pkg.devDependencies) === null || _pkg$devDependencies === void 0 ? void 0 : _pkg$devDependencies.appium) ?? (pkg === null || pkg === void 0 ? void 0 : (_pkg$peerDependencies = pkg.peerDependencies) === null || _pkg$peerDependencies === void 0 ? void 0 : _pkg$peerDependencies.appium);
|
|
50
|
+
pkgPath = version && !OLD_VERSION_REGEX.test(String(version)) ? cwd : undefined;
|
|
58
51
|
} catch {}
|
|
52
|
+
|
|
53
|
+
if (pkgPath) {
|
|
54
|
+
_logger.default.debug(`Found package.json having current Appium dep in ${pkgPath}`);
|
|
55
|
+
} else {
|
|
56
|
+
_logger.default.debug(`No package.json having current Appium dep in ${cwd}`);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return pkgPath;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
cwd = _path.default.resolve(cwd);
|
|
63
|
+
let pkgDir;
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
const {
|
|
67
|
+
json: list
|
|
68
|
+
} = await _npm.npm.exec('list', ['--long', '--json'], {
|
|
69
|
+
cwd
|
|
70
|
+
});
|
|
71
|
+
({
|
|
72
|
+
path: pkgDir
|
|
73
|
+
} = list);
|
|
74
|
+
|
|
75
|
+
if (pkgDir) {
|
|
76
|
+
_logger.default.debug(`Determined package/workspace root from ${cwd} => ${pkgDir}`);
|
|
77
|
+
} else {
|
|
78
|
+
pkgDir = cwd;
|
|
79
|
+
}
|
|
80
|
+
} catch {
|
|
81
|
+
pkgDir = cwd;
|
|
59
82
|
}
|
|
60
83
|
|
|
61
|
-
return
|
|
62
|
-
}
|
|
84
|
+
return await readPkg(pkgDir);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
exports.findAppiumDependencyPackage = findAppiumDependencyPackage;
|
|
63
88
|
|
|
64
89
|
const readPackageInDir = _lodash.default.memoize(async function _readPackageInDir(cwd) {
|
|
65
90
|
return await (0, _readPkg.default)({
|
|
@@ -76,24 +101,20 @@ const resolveAppiumHome = _lodash.default.memoize(async function _resolveAppiumH
|
|
|
76
101
|
}
|
|
77
102
|
|
|
78
103
|
if (process.env.APPIUM_HOME) {
|
|
104
|
+
_logger.default.debug(`Using APPIUM_HOME from env: ${process.env.APPIUM_HOME}`);
|
|
105
|
+
|
|
79
106
|
return _path.default.resolve(cwd, process.env.APPIUM_HOME);
|
|
80
107
|
}
|
|
81
108
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
currentPkgDir = await (0, _pkgDir.default)(cwd);
|
|
109
|
+
const pkgPath = await findAppiumDependencyPackage(cwd);
|
|
86
110
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
} else {
|
|
90
|
-
currentPkgDir = _path.default.resolve(cwd, currentPkgDir);
|
|
91
|
-
}
|
|
92
|
-
} catch {
|
|
93
|
-
return DEFAULT_APPIUM_HOME;
|
|
111
|
+
if (pkgPath) {
|
|
112
|
+
return pkgPath;
|
|
94
113
|
}
|
|
95
114
|
|
|
96
|
-
|
|
115
|
+
_logger.default.debug(`Using default APPIUM_HOME: ${DEFAULT_APPIUM_HOME}`);
|
|
116
|
+
|
|
117
|
+
return DEFAULT_APPIUM_HOME;
|
|
97
118
|
});
|
|
98
119
|
|
|
99
120
|
exports.resolveAppiumHome = resolveAppiumHome;
|
|
@@ -104,4 +125,4 @@ const resolveManifestPath = _lodash.default.memoize(async function _resolveManif
|
|
|
104
125
|
});
|
|
105
126
|
|
|
106
127
|
exports.resolveManifestPath = resolveManifestPath;
|
|
107
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0FQUElVTV9IT01FIiwicGF0aCIsInJlc29sdmUiLCJob21lZGlyIiwiTUFOSUZFU1RfQkFTRU5BTUUiLCJNQU5JRkVTVF9SRUxBVElWRV9QQVRIIiwiam9pbiIsImhhc0FwcGl1bURlcGVuZGVuY3kiLCJjd2QiLCJsaXN0UmVzdWx0IiwicmVzb2x2ZWQiLCJ2ZXJzaW9uIiwibnBtIiwibGlzdCIsImRlcGVuZGVuY2llcyIsImFwcGl1bSIsImV4dHJhbmVvdXMiLCJwa2ciLCJyZWFkUGFja2FnZUluRGlyIiwiZGV2RGVwZW5kZW5jaWVzIiwib3B0aW9uYWxEZXBlbmRlbmNpZXMiLCJCb29sZWFuIiwic3RhcnRzV2l0aCIsIl8iLCJtZW1vaXplIiwiX3JlYWRQYWNrYWdlSW5EaXIiLCJyZWFkUGtnIiwibm9ybWFsaXplIiwicmVzb2x2ZUFwcGl1bUhvbWUiLCJfcmVzb2x2ZUFwcGl1bUhvbWUiLCJwcm9jZXNzIiwiaXNBYnNvbHV0ZSIsIlR5cGVFcnJvciIsImVudiIsIkFQUElVTV9IT01FIiwiY3VycmVudFBrZ0RpciIsInBrZ0RpciIsInJlc29sdmVNYW5pZmVzdFBhdGgiLCJfcmVzb2x2ZU1hbmlmZXN0UGF0aCIsImFwcGl1bUhvbWUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZW52LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7aG9tZWRpcn0gZnJvbSAnb3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgcGtnRGlyIGZyb20gJ3BrZy1kaXInO1xuaW1wb3J0IHJlYWRQa2cgZnJvbSAncmVhZC1wa2cnO1xuaW1wb3J0IHtucG19IGZyb20gJy4vbnBtJztcblxuLyoqXG4gKiBQYXRoIHRvIHRoZSBkZWZhdWx0IGBBUFBJVU1fSE9NRWAgZGlyIChgfi8uYXBwaXVtYCkuXG4gKiBAdHlwZSB7c3RyaW5nfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9BUFBJVU1fSE9NRSA9IHBhdGgucmVzb2x2ZShob21lZGlyKCksICcuYXBwaXVtJyk7XG5cbi8qKlxuICogQmFzZW5hbWUgb2YgZXh0ZW5zaW9uIG1hbmlmZXN0IGZpbGUuXG4gKiBAdHlwZSB7c3RyaW5nfVxuICovXG5leHBvcnQgY29uc3QgTUFOSUZFU1RfQkFTRU5BTUUgPSAnZXh0ZW5zaW9ucy55YW1sJztcblxuLyoqXG4gKiBSZWxhdGl2ZSBwYXRoIHRvIGV4dGVuc2lvbiBtYW5pZmVzdCBmaWxlIGZyb20gYEFQUElVTV9IT01FYC5cbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBNQU5JRkVTVF9SRUxBVElWRV9QQVRIID0gcGF0aC5qb2luKFxuICAnbm9kZV9tb2R1bGVzJyxcbiAgJy5jYWNoZScsXG4gICdhcHBpdW0nLFxuICBNQU5JRkVTVF9CQVNFTkFNRVxuKTtcblxuLyoqXG4gKiBSZXR1cm5zIGB0cnVlYCBpZiBhcHBpdW0gaXMgaW5zdGFsbGVkIGFzIGEgZGVwZW5kZW5jeSBvZiBhIGxvY2FsIHBhY2thZ2UgYXQgYGN3ZGAuXG4gKlxuICogVGhlIGZvbGxvd2luZyBzcGVjaWFsIGNhc2VzIGFyZSBjb25zaWRlcmVkOlxuICpcbiAqIC0gSWYgYHJlc29sdmVkYCBzdGFydHMgd2l0aCBgZmlsZTpgLCB0aGVuIGBjd2RgIGxpa2VseSBwb2ludHMgdG8gYGFwcGl1bS1tb25vcmVwb2AsIGFuZCAoZm9yIG5vdykgd2UgZXhwZWN0IGBBUFBJVU1fSE9NRWAgdG8gYmUgdGhlIGRlZmF1bHQuXG4gKiAtIElmIHRoZSBgdmVyc2lvbmAgYmVnaW5zIHdpdGggYDBgIG9yIGAxYCwgd2UncmUgbG9va2luZyBhdCBhbiBvbGQgdmVyc2lvbiBvZiBgYXBwaXVtYCAobm90IHRoaXMgb25lISlcbiAqXG4gKiBOb3RlIHRoYXQgd2UgYXJlIF9ub3RfIHBlcmZvcm1pbmcgdGhlIGNoZWNrIFwiaXMgdGhlIGN1cnJlbnRseSBydW5uaW5nIEFwcGl1bSB0aGUgc2FtZSBvbmUgYXMgZm91bmQgaW4gdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzXCIsIGJlY2F1c2UgSSdtIG5vdCBzdXJlIGl0IGFjdHVhbGx5IG1hdHRlcnMgKGFzc3VtaW5nIHRoZSB2ZXJzaW9ucyBhcmUgY29tcGF0aWJsZSkuXG4gKiBSZWdhcmRsZXNzIHdlIG1heSB3YW50IHRvIG1ha2UgdGhpcyBtb3JlIHJvYnVzdCBpbiB0aGUgZnV0dXJlLCBhcyB3ZSBoaXQgZWRnZSBjYXNlcy5cbiAqXG4gKiBfQWxzb18gbm90ZSB0aGF0OlxuICpcbiAqIC0gaWYgYGFwcGl1bWAgYXBwZWFycyBhcyBhIGRlcGVuZGVuY3kgaW4gYHBhY2thZ2UuanNvbmAgX2J1dCBpdCBpcyBub3QgeWV0IGluc3RhbGxlZF8gdGhpcyBmdW5jdGlvbiB3aWxsIHJlc29sdmUgYGZhbHNlYC5cbiAqIC0gaWYgYGFwcGl1bWAgX2RvZXMgbm90IGFwcGVhciBpbiBgcGFja2FnZS5qc29uYF8sIGJ1dCBpcyBpbnN0YWxsZWQgYW55d2F5IChleHRyYW5lb3VzKSB0aGlzIGZ1bmN0aW9uIHdpbGwgcmVzb2x2ZSBgZmFsc2VgLlxuICpcbiAqIFRoaXMgbWF5IG5vdCBiZSBleGFjdGx5IHdoYXQgd2Ugd2FudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY3dkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhc0FwcGl1bURlcGVuZGVuY3koY3dkKSB7XG4gIC8qKlxuICAgKiBAdG9kbyB0eXBlIHRoaXNcbiAgICogQHR5cGUge29iamVjdH1cbiAgICovXG4gIGxldCBsaXN0UmVzdWx0O1xuICAvKiogQHR5cGUge3N0cmluZ3x1bmRlZmluZWR9ICovXG4gIGxldCByZXNvbHZlZDtcbiAgLyoqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfSAqL1xuICBsZXQgdmVyc2lvbjtcbiAgdHJ5IHtcbiAgICBsaXN0UmVzdWx0ID0gYXdhaXQgbnBtLmxpc3QoY3dkLCAnYXBwaXVtJyk7XG5cbiAgICAvLyBzaG9ydC1jaXJjdWl0IGlmIGBhcHBpdW1gIGlzIGhhbmdpbmcgYXJvdW5kIGJ1dCB0aGUgdXNlciBoYXNuJ3QgYWRkZWQgaXQgdG8gYHBhY2thZ2UuanNvbmAuXG4gICAgaWYgKGxpc3RSZXN1bHQ/LmRlcGVuZGVuY2llcz8uYXBwaXVtPy5leHRyYW5lb3VzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIGlmIFwicmVzb2x2ZWRcIiBpcyBlbXB0eSwgdGhlbiBgYXBwaXVtYCBpcyBpbiBkZXBlbmRlbmNpZXMsIGJ1dCBgbnBtIGluc3RhbGxgIGhhcyBub3QgYmVlbiBydW4uXG4gICAgLy8gaW4gb3RoZXIgd29yZHMsIHRoaXMgZnVuY3Rpb24gY2FuIHJlc29sdmUgYHRydWVgIGV2ZW4gaWYgYHJlc29sdmVkYCBpcyBlbXB0eS4uLlxuICAgIHJlc29sdmVkID0gbGlzdFJlc3VsdD8uZGVwZW5kZW5jaWVzPy5hcHBpdW0/LnJlc29sdmVkID8/ICcnO1xuICAgIC8vIC4uLmhvd2V2ZXIsIGl0IGNhbm5vdCBkbyBzbyB1bmxlc3MgYHZlcnNpb25gIGlzIG5vbmVtcHR5LlxuICAgIHZlcnNpb24gPSBsaXN0UmVzdWx0Py5kZXBlbmRlbmNpZXM/LmFwcGl1bT8udmVyc2lvbiA/PyAnJztcbiAgfSBjYXRjaCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBrZyA9IGF3YWl0IHJlYWRQYWNrYWdlSW5EaXIoY3dkKTtcbiAgICAgIC8vIHdlJ3JlIG9ubHkgZ29pbmcgdG8gbG9vayBhdCB0aGVzZSB0aHJlZSBmaWVsZHMgZm9yIG5vdywgYnV0IHdlIGNhbiBjaGFuZ2UgaXQgbGF0ZXIgaWYgbmVlZCBiZS5cbiAgICAgIHZlcnNpb24gPSByZXNvbHZlZCA9XG4gICAgICAgIHBrZz8uZGVwZW5kZW5jaWVzPy5hcHBpdW0gPz9cbiAgICAgICAgcGtnPy5kZXZEZXBlbmRlbmNpZXM/LmFwcGl1bSA/P1xuICAgICAgICBwa2c/Lm9wdGlvbmFsRGVwZW5kZW5jaWVzPy5hcHBpdW07XG4gICAgfSBjYXRjaCB7fVxuICB9XG4gIHJldHVybiBCb29sZWFuKFxuICAgIHZlcnNpb24gJiZcbiAgICAgICghcmVzb2x2ZWQgfHwgKHJlc29sdmVkICYmICFyZXNvbHZlZC5zdGFydHNXaXRoKCdmaWxlOicpKSkgJiZcbiAgICAgIC8vIGRvaW5nIGFueSBmdXJ0aGVyIGNoZWNraW5nIGhlcmUgbWF5IGJlIGEgZm9vbCdzIGVycmFuZCwgYmVjYXVzZSB5b3UgY2FuIHBpbiB0aGUgdmVyc2lvblxuICAgICAgLy8gdG8gYSBfbG90XyBvZiBkaWZmZXJlbnQgdGhpbmdzICh0YWdzLCBVUkxzLCBldGMpLlxuICAgICAgIXZlcnNpb24uc3RhcnRzV2l0aCgnMScpICYmXG4gICAgICAhdmVyc2lvbi5zdGFydHNXaXRoKCcwJylcbiAgKTtcbn1cblxuLyoqXG4gKiBSZWFkIGEgYHBhY2thZ2UuanNvbmAgaW4gZGlyIGBjd2RgLiAgSWYgbm9uZSBmb3VuZCwgcmV0dXJuIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgY29uc3QgcmVhZFBhY2thZ2VJbkRpciA9IF8ubWVtb2l6ZShcbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjd2QgLSBEaXJlY3Rvcnkgb3N0ZW5zaWJseSBoYXZpbmcgYSBgcGFja2FnZS5qc29uYFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoJ3JlYWQtcGtnJykuTm9ybWFsaXplZFBhY2thZ2VKc29ufHVuZGVmaW5lZD59XG4gICAqL1xuICBhc3luYyBmdW5jdGlvbiBfcmVhZFBhY2thZ2VJbkRpcihjd2QpIHtcbiAgICByZXR1cm4gYXdhaXQgcmVhZFBrZyh7Y3dkLCBub3JtYWxpemU6IHRydWV9KTtcbiAgfVxuKTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGxvY2F0aW9uIG9mIEFwcGl1bSdzIFwiaG9tZVwiIGRpclxuICpcbiAqIC0gSWYgYEFQUElVTV9IT01FYCBpcyBzZXQgaW4gdGhlIGVudmlyb25tZW50LCB1c2UgdGhhdFxuICogLSBJZiB3ZSBoYXZlIGFuIGBleHRlbnNpb25zLnlhbWxgIGluIHtAbGlua2NvZGUgREVGQVVMVF9BUFBJVU1fSE9NRX0sIHRoZW4gdXNlIHRoYXQuXG4gKiAtIElmIHdlIGZpbmQgYSBgcGFja2FnZS5qc29uYCBpbiBvciBhYm92ZSBgY3dkYCBhbmQge0BsaW5rY29kZSBzaG91bGRVc2VDd2RGb3JBcHBpdW1Ib21lfSByZXR1cm5zIGB0cnVlYCwgdGhlbiB1c2UgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBgcGFja2FnZS5qc29uYC5cbiAqXG4gKiBBbGwgcmV0dXJuZWQgcGF0aHMgd2lsbCBiZSBhYnNvbHV0ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVBcHBpdW1Ib21lID0gXy5tZW1vaXplKFxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjd2RdIC0gQ3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gIF9NdXN0XyBiZSBhYnNvbHV0ZSwgaWYgc3BlY2lmaWVkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICAgKi9cbiAgYXN5bmMgZnVuY3Rpb24gX3Jlc29sdmVBcHBpdW1Ib21lKGN3ZCA9IHByb2Nlc3MuY3dkKCkpIHtcbiAgICBpZiAoIXBhdGguaXNBYnNvbHV0ZShjd2QpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdgY3dkYCBwYXJhbWV0ZXIgbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb2Nlc3MuZW52LkFQUElVTV9IT01FKSB7XG4gICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKGN3ZCwgcHJvY2Vzcy5lbnYuQVBQSVVNX0hPTUUpO1xuICAgIH1cblxuICAgIC8qKiBAdHlwZSB7c3RyaW5nfHVuZGVmaW5lZH0gKi9cbiAgICBsZXQgY3VycmVudFBrZ0RpcjtcblxuICAgIHRyeSB7XG4gICAgICBjdXJyZW50UGtnRGlyID0gYXdhaXQgcGtnRGlyKGN3ZCk7XG5cbiAgICAgIC8vIGlmIHdlIGNhbid0IGZpbmQgYSBgcGFja2FnZS5qc29uYCwgdXNlIHRoZSBkZWZhdWx0XG4gICAgICBpZiAoIWN1cnJlbnRQa2dEaXIpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfQVBQSVVNX0hPTUU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpdCdzIHVuY2xlYXIgZnJvbSB0aGUgY29udHJhY3Qgb2YgYHBrZ0RpcmAgd2hldGhlciBvciBub3QgaXQgY2FuIHJldHVybiBhIHJlbGF0aXZlIHBhdGgsXG4gICAgICAgIC8vIHNvIGxldCdzIGp1c3QgYmUgZGVmZW5zaXZlLlxuICAgICAgICBjdXJyZW50UGtnRGlyID0gcGF0aC5yZXNvbHZlKGN3ZCwgY3VycmVudFBrZ0Rpcik7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyB1bmNsZWFyIGlmIHRoaXMgY2FuIGFjdHVhbGx5IGhhcHBlblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiBERUZBVUxUX0FQUElVTV9IT01FO1xuICAgIH1cblxuICAgIHJldHVybiAoYXdhaXQgaGFzQXBwaXVtRGVwZW5kZW5jeShjdXJyZW50UGtnRGlyKSkgPyBjdXJyZW50UGtnRGlyIDogREVGQVVMVF9BUFBJVU1fSE9NRTtcbiAgfVxuKTtcblxuLyoqXG4gKiBGaWd1cmUgb3V0IG1hbmlmZXN0IHBhdGggYmFzZWQgb24gYGFwcGl1bUhvbWVgLlxuICpcbiAqIFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQsIGlmIGBhcHBpdW1Ib21lYCBoYXMgYmVlbiBwcm92aWRlZCwgaXQgd2FzIHJlc29sdmVkIHZpYSB7QGxpbmsgcmVzb2x2ZUFwcGl1bUhvbWUgYHJlc29sdmVBcHBpdW1Ib21lKClgfSEgIElmIHVuc3VyZSxcbiAqIGRvbid0IHBhc3MgYSBwYXJhbWV0ZXIgYW5kIGxldCBgcmVzb2x2ZUFwcGl1bUhvbWUoKWAgaGFuZGxlIGl0LlxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZU1hbmlmZXN0UGF0aCA9IF8ubWVtb2l6ZShcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXBwaXVtSG9tZV0gLSBBcHBpdW0gaG9tZSBkaXJlY3RvcnlcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cbiAgICovXG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlTWFuaWZlc3RQYXRoKGFwcGl1bUhvbWUpIHtcbiAgICAvLyBjYW4geW91IFwiYXdhaXRcIiBpbiBhIGRlZmF1bHQgcGFyYW1ldGVyPyBpcyB0aGF0IGEgZ29vZCBpZGVhP1xuICAgIGFwcGl1bUhvbWUgPSBhcHBpdW1Ib21lID8/IChhd2FpdCByZXNvbHZlQXBwaXVtSG9tZSgpKTtcbiAgICByZXR1cm4gcGF0aC5qb2luKGFwcGl1bUhvbWUsIE1BTklGRVNUX1JFTEFUSVZFX1BBVEgpO1xuICB9XG4pO1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ3JlYWQtcGtnJykuTm9ybWFsaXplZFBhY2thZ2VKc29ufSBOb3JtYWxpemVkUGFja2FnZUpzb25cbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBTU8sTUFBTUEsbUJBQW1CLEdBQUdDLGFBQUEsQ0FBS0MsT0FBTCxDQUFhLElBQUFDLFdBQUEsR0FBYixFQUF3QixTQUF4QixDQUE1Qjs7O0FBTUEsTUFBTUMsaUJBQWlCLEdBQUcsaUJBQTFCOzs7QUFNQSxNQUFNQyxzQkFBc0IsR0FBR0osYUFBQSxDQUFLSyxJQUFMLENBQ3BDLGNBRG9DLEVBRXBDLFFBRm9DLEVBR3BDLFFBSG9DLEVBSXBDRixpQkFKb0MsQ0FBL0I7Ozs7QUE0QkEsZUFBZUcsbUJBQWYsQ0FBbUNDLEdBQW5DLEVBQXdDO0VBSzdDLElBQUlDLFVBQUo7RUFFQSxJQUFJQyxRQUFKO0VBRUEsSUFBSUMsT0FBSjs7RUFDQSxJQUFJO0lBQUE7O0lBQ0ZGLFVBQVUsR0FBRyxNQUFNRyxRQUFBLENBQUlDLElBQUosQ0FBU0wsR0FBVCxFQUFjLFFBQWQsQ0FBbkI7O0lBR0EsbUJBQUlDLFVBQUosaUVBQUksWUFBWUssWUFBaEIsNEVBQUksc0JBQTBCQyxNQUE5QixtREFBSSx1QkFBa0NDLFVBQXRDLEVBQWtEO01BQ2hELE9BQU8sS0FBUDtJQUNEOztJQUdETixRQUFRLEdBQUcsaUJBQUFELFVBQVUsVUFBViw2RUFBWUssWUFBWiwwR0FBMEJDLE1BQTFCLGtGQUFrQ0wsUUFBbEMsS0FBOEMsRUFBekQ7SUFFQUMsT0FBTyxHQUFHLGlCQUFBRixVQUFVLFVBQVYsNkVBQVlLLFlBQVosMEdBQTBCQyxNQUExQixrRkFBa0NKLE9BQWxDLEtBQTZDLEVBQXZEO0VBQ0QsQ0FaRCxDQVlFLE1BQU07SUFDTixJQUFJO01BQUE7O01BQ0YsTUFBTU0sR0FBRyxHQUFHLE1BQU1DLGdCQUFnQixDQUFDVixHQUFELENBQWxDO01BRUFHLE9BQU8sR0FBR0QsUUFBUSxHQUNoQixDQUFBTyxHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILGlDQUFBQSxHQUFHLENBQUVILFlBQUwsd0VBQW1CQyxNQUFuQixNQUNBRSxHQURBLGFBQ0FBLEdBREEsK0NBQ0FBLEdBQUcsQ0FBRUUsZUFETCx5REFDQSxxQkFBc0JKLE1BRHRCLE1BRUFFLEdBRkEsYUFFQUEsR0FGQSxnREFFQUEsR0FBRyxDQUFFRyxvQkFGTCwwREFFQSxzQkFBMkJMLE1BRjNCLENBREY7SUFJRCxDQVBELENBT0UsTUFBTSxDQUFFO0VBQ1g7O0VBQ0QsT0FBT00sT0FBTyxDQUNaVixPQUFPLEtBQ0osQ0FBQ0QsUUFBRCxJQUFjQSxRQUFRLElBQUksQ0FBQ0EsUUFBUSxDQUFDWSxVQUFULENBQW9CLE9BQXBCLENBRHZCLENBQVAsSUFJRSxDQUFDWCxPQUFPLENBQUNXLFVBQVIsQ0FBbUIsR0FBbkIsQ0FKSCxJQUtFLENBQUNYLE9BQU8sQ0FBQ1csVUFBUixDQUFtQixHQUFuQixDQU5TLENBQWQ7QUFRRDs7QUFLTSxNQUFNSixnQkFBZ0IsR0FBR0ssZUFBQSxDQUFFQyxPQUFGLENBTTlCLGVBQWVDLGlCQUFmLENBQWlDakIsR0FBakMsRUFBc0M7RUFDcEMsT0FBTyxNQUFNLElBQUFrQixnQkFBQSxFQUFRO0lBQUNsQixHQUFEO0lBQU1tQixTQUFTLEVBQUU7RUFBakIsQ0FBUixDQUFiO0FBQ0QsQ0FSNkIsQ0FBekI7Ozs7QUFvQkEsTUFBTUMsaUJBQWlCLEdBQUdMLGVBQUEsQ0FBRUMsT0FBRixDQUsvQixlQUFlSyxrQkFBZixDQUFrQ3JCLEdBQUcsR0FBR3NCLE9BQU8sQ0FBQ3RCLEdBQVIsRUFBeEMsRUFBdUQ7RUFDckQsSUFBSSxDQUFDUCxhQUFBLENBQUs4QixVQUFMLENBQWdCdkIsR0FBaEIsQ0FBTCxFQUEyQjtJQUN6QixNQUFNLElBQUl3QixTQUFKLENBQWMsMENBQWQsQ0FBTjtFQUNEOztFQUVELElBQUlGLE9BQU8sQ0FBQ0csR0FBUixDQUFZQyxXQUFoQixFQUE2QjtJQUMzQixPQUFPakMsYUFBQSxDQUFLQyxPQUFMLENBQWFNLEdBQWIsRUFBa0JzQixPQUFPLENBQUNHLEdBQVIsQ0FBWUMsV0FBOUIsQ0FBUDtFQUNEOztFQUdELElBQUlDLGFBQUo7O0VBRUEsSUFBSTtJQUNGQSxhQUFhLEdBQUcsTUFBTSxJQUFBQyxlQUFBLEVBQU81QixHQUFQLENBQXRCOztJQUdBLElBQUksQ0FBQzJCLGFBQUwsRUFBb0I7TUFDbEIsT0FBT25DLG1CQUFQO0lBQ0QsQ0FGRCxNQUVPO01BR0xtQyxhQUFhLEdBQUdsQyxhQUFBLENBQUtDLE9BQUwsQ0FBYU0sR0FBYixFQUFrQjJCLGFBQWxCLENBQWhCO0lBQ0Q7RUFDRixDQVhELENBV0UsTUFBTTtJQUdOLE9BQU9uQyxtQkFBUDtFQUNEOztFQUVELE9BQU8sQ0FBQyxNQUFNTyxtQkFBbUIsQ0FBQzRCLGFBQUQsQ0FBMUIsSUFBNkNBLGFBQTdDLEdBQTZEbkMsbUJBQXBFO0FBQ0QsQ0FuQzhCLENBQTFCOzs7O0FBNENBLE1BQU1xQyxtQkFBbUIsR0FBR2QsZUFBQSxDQUFFQyxPQUFGLENBS2pDLGVBQWVjLG9CQUFmLENBQW9DQyxVQUFwQyxFQUFnRDtFQUU5Q0EsVUFBVSxHQUFHQSxVQUFVLEtBQUssTUFBTVgsaUJBQWlCLEVBQTVCLENBQXZCO0VBQ0EsT0FBTzNCLGFBQUEsQ0FBS0ssSUFBTCxDQUFVaUMsVUFBVixFQUFzQmxDLHNCQUF0QixDQUFQO0FBQ0QsQ0FUZ0MsQ0FBNUIifQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0FQUElVTV9IT01FIiwicGF0aCIsInJlc29sdmUiLCJob21lZGlyIiwiTUFOSUZFU1RfQkFTRU5BTUUiLCJNQU5JRkVTVF9SRUxBVElWRV9QQVRIIiwiam9pbiIsIk9MRF9WRVJTSU9OX1JFR0VYIiwiaGFzQXBwaXVtRGVwZW5kZW5jeSIsImN3ZCIsIkJvb2xlYW4iLCJmaW5kQXBwaXVtRGVwZW5kZW5jeVBhY2thZ2UiLCJfIiwibWVtb2l6ZSIsInByb2Nlc3MiLCJyZWFkUGtnIiwicGtnUGF0aCIsInBrZyIsInJlYWRQYWNrYWdlSW5EaXIiLCJ2ZXJzaW9uIiwiZGVwZW5kZW5jaWVzIiwiYXBwaXVtIiwiZGV2RGVwZW5kZW5jaWVzIiwicGVlckRlcGVuZGVuY2llcyIsInRlc3QiLCJTdHJpbmciLCJ1bmRlZmluZWQiLCJsb2ciLCJkZWJ1ZyIsInBrZ0RpciIsImpzb24iLCJsaXN0IiwibnBtIiwiZXhlYyIsIl9yZWFkUGFja2FnZUluRGlyIiwibm9ybWFsaXplIiwicmVzb2x2ZUFwcGl1bUhvbWUiLCJfcmVzb2x2ZUFwcGl1bUhvbWUiLCJpc0Fic29sdXRlIiwiVHlwZUVycm9yIiwiZW52IiwiQVBQSVVNX0hPTUUiLCJyZXNvbHZlTWFuaWZlc3RQYXRoIiwiX3Jlc29sdmVNYW5pZmVzdFBhdGgiLCJhcHBpdW1Ib21lIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Vudi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge2hvbWVkaXJ9IGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRQa2cgZnJvbSAncmVhZC1wa2cnO1xuaW1wb3J0IHtucG19IGZyb20gJy4vbnBtJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuXG4vKipcbiAqIFBhdGggdG8gdGhlIGRlZmF1bHQgYEFQUElVTV9IT01FYCBkaXIgKGB+Ly5hcHBpdW1gKS5cbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FQUElVTV9IT01FID0gcGF0aC5yZXNvbHZlKGhvbWVkaXIoKSwgJy5hcHBpdW0nKTtcblxuLyoqXG4gKiBCYXNlbmFtZSBvZiBleHRlbnNpb24gbWFuaWZlc3QgZmlsZS5cbiAqIEB0eXBlIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBjb25zdCBNQU5JRkVTVF9CQVNFTkFNRSA9ICdleHRlbnNpb25zLnlhbWwnO1xuXG4vKipcbiAqIFJlbGF0aXZlIHBhdGggdG8gZXh0ZW5zaW9uIG1hbmlmZXN0IGZpbGUgZnJvbSBgQVBQSVVNX0hPTUVgLlxuICogQHR5cGUge3N0cmluZ31cbiAqL1xuZXhwb3J0IGNvbnN0IE1BTklGRVNUX1JFTEFUSVZFX1BBVEggPSBwYXRoLmpvaW4oXG4gICdub2RlX21vZHVsZXMnLFxuICAnLmNhY2hlJyxcbiAgJ2FwcGl1bScsXG4gIE1BTklGRVNUX0JBU0VOQU1FXG4pO1xuXG5jb25zdCBPTERfVkVSU0lPTl9SRUdFWCA9IC9eWzAxXS87XG5cbi8qKlxuICogUmVzb2x2ZXMgYHRydWVgIGlmIGFuIGBhcHBpdW1gIGRlcGVuZGVuY3kgY2FuIGJlIGZvdW5kIHNvbWV3aGVyZSBpbiB0aGUgZ2l2ZW4gYGN3ZGAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGN3ZFxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYXNBcHBpdW1EZXBlbmRlbmN5KGN3ZCkge1xuICByZXR1cm4gQm9vbGVhbihhd2FpdCBmaW5kQXBwaXVtRGVwZW5kZW5jeVBhY2thZ2UoY3dkKSk7XG59XG5cbi8qKlxuICogR2l2ZW4gYGN3ZGAsIHVzZSBgbnBtYCB0byBmaW5kIHRoZSBjbG9zZXN0IHBhY2thZ2UgX29yIHdvcmtzcGFjZSByb290XywgYW5kIHJldHVybiB0aGUgcGF0aCBpZiB0aGUgcm9vdCBkZXBlbmRzIHVwb24gYGFwcGl1bWAuXG4gKlxuICogTG9va3MgYXQgYGRlcGVuZGVuY2llc2AgYW5kIGBkZXZEZXBlbmRlbmNpZXNgIGZvciBgYXBwaXVtYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGZpbmRBcHBpdW1EZXBlbmRlbmN5UGFja2FnZSA9IF8ubWVtb2l6ZShcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbY3dkXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmd8dW5kZWZpbmVkPn1cbiAgICovXG4gIGFzeW5jIChjd2QgPSBwcm9jZXNzLmN3ZCgpKSA9PiB7XG4gICAgLyoqXG4gICAgICogVHJpZXMgdG8gcmVhZCBgcGFja2FnZS5qc29uYCBpbiBgY3dkYCBhbmQgcmVzb2x2ZXMgdGhlIGlkZW50aXR5IGlmIGl0IGRlcGVuZHMgb24gYGFwcGl1bWA7XG4gICAgICogb3RoZXJ3aXNlIHJlc29sdmVzIGB1bmRlZmluZWRgLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjd2RcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmd8dW5kZWZpbmVkPn1cbiAgICAgKi9cbiAgICBjb25zdCByZWFkUGtnID0gYXN5bmMgKGN3ZCkgPT4ge1xuICAgICAgLyoqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfSAqL1xuICAgICAgbGV0IHBrZ1BhdGg7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwa2cgPSBhd2FpdCByZWFkUGFja2FnZUluRGlyKGN3ZCk7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPVxuICAgICAgICAgIHBrZz8uZGVwZW5kZW5jaWVzPy5hcHBpdW0gPz9cbiAgICAgICAgICBwa2c/LmRldkRlcGVuZGVuY2llcz8uYXBwaXVtID8/XG4gICAgICAgICAgcGtnPy5wZWVyRGVwZW5kZW5jaWVzPy5hcHBpdW07XG4gICAgICAgIHBrZ1BhdGggPSB2ZXJzaW9uICYmICFPTERfVkVSU0lPTl9SRUdFWC50ZXN0KFN0cmluZyh2ZXJzaW9uKSkgPyBjd2QgOiB1bmRlZmluZWQ7XG4gICAgICB9IGNhdGNoIHt9XG4gICAgICBpZiAocGtnUGF0aCkge1xuICAgICAgICBsb2cuZGVidWcoYEZvdW5kIHBhY2thZ2UuanNvbiBoYXZpbmcgY3VycmVudCBBcHBpdW0gZGVwIGluICR7cGtnUGF0aH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgTm8gcGFja2FnZS5qc29uIGhhdmluZyBjdXJyZW50IEFwcGl1bSBkZXAgaW4gJHtjd2R9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGtnUGF0aDtcbiAgICB9O1xuXG4gICAgY3dkID0gcGF0aC5yZXNvbHZlKGN3ZCk7XG5cbiAgICAvKiogQHR5cGUge3N0cmluZ30gKi9cbiAgICBsZXQgcGtnRGlyO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7anNvbjogbGlzdH0gPSBhd2FpdCBucG0uZXhlYygnbGlzdCcsIFsnLS1sb25nJywgJy0tanNvbiddLCB7Y3dkfSk7XG4gICAgICAoe3BhdGg6IHBrZ0Rpcn0gPSBsaXN0KTtcbiAgICAgIGlmIChwa2dEaXIpIHtcbiAgICAgICAgbG9nLmRlYnVnKGBEZXRlcm1pbmVkIHBhY2thZ2Uvd29ya3NwYWNlIHJvb3QgZnJvbSAke2N3ZH0gPT4gJHtwa2dEaXJ9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwa2dEaXIgPSBjd2Q7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICBwa2dEaXIgPSBjd2Q7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCByZWFkUGtnKHBrZ0Rpcik7XG4gIH1cbik7XG5cbi8qKlxuICogUmVhZCBhIGBwYWNrYWdlLmpzb25gIGluIGRpciBgY3dkYC4gIElmIG5vbmUgZm91bmQsIHJldHVybiBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlYWRQYWNrYWdlSW5EaXIgPSBfLm1lbW9pemUoXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3dkIC0gRGlyZWN0b3J5IG9zdGVuc2libHkgaGF2aW5nIGEgYHBhY2thZ2UuanNvbmBcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KCdyZWFkLXBrZycpLk5vcm1hbGl6ZWRQYWNrYWdlSnNvbnx1bmRlZmluZWQ+fVxuICAgKi9cbiAgYXN5bmMgZnVuY3Rpb24gX3JlYWRQYWNrYWdlSW5EaXIoY3dkKSB7XG4gICAgcmV0dXJuIGF3YWl0IHJlYWRQa2coe2N3ZCwgbm9ybWFsaXplOiB0cnVlfSk7XG4gIH1cbik7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBsb2NhdGlvbiBvZiBBcHBpdW0ncyBcImhvbWVcIiBkaXJcbiAqXG4gKiAtIElmIGBBUFBJVU1fSE9NRWAgaXMgc2V0IGluIHRoZSBlbnZpcm9ubWVudCwgdXNlIHRoYXRcbiAqIC0gSWYgd2UgZmluZCBhIGBwYWNrYWdlLmpzb25gIGluIG9yIGFib3ZlIGBjd2RgIGFuZCBpdCBoYXMgYW4gYGFwcGl1bWAgZGVwZW5kZW5jeSwgdXNlIHRoYXQuXG4gKlxuICogQWxsIHJldHVybmVkIHBhdGhzIHdpbGwgYmUgYWJzb2x1dGUuXG4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlQXBwaXVtSG9tZSA9IF8ubWVtb2l6ZShcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbY3dkXSAtIEN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuICBfTXVzdF8gYmUgYWJzb2x1dGUsIGlmIHNwZWNpZmllZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cbiAgICovXG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlQXBwaXVtSG9tZShjd2QgPSBwcm9jZXNzLmN3ZCgpKSB7XG4gICAgaWYgKCFwYXRoLmlzQWJzb2x1dGUoY3dkKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignYGN3ZGAgcGFyYW1ldGVyIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCcpO1xuICAgIH1cblxuICAgIGlmIChwcm9jZXNzLmVudi5BUFBJVU1fSE9NRSkge1xuICAgICAgbG9nLmRlYnVnKGBVc2luZyBBUFBJVU1fSE9NRSBmcm9tIGVudjogJHtwcm9jZXNzLmVudi5BUFBJVU1fSE9NRX1gKTtcbiAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoY3dkLCBwcm9jZXNzLmVudi5BUFBJVU1fSE9NRSk7XG4gICAgfVxuXG4gICAgY29uc3QgcGtnUGF0aCA9IGF3YWl0IGZpbmRBcHBpdW1EZXBlbmRlbmN5UGFja2FnZShjd2QpO1xuICAgIGlmIChwa2dQYXRoKSB7XG4gICAgICByZXR1cm4gcGtnUGF0aDtcbiAgICB9XG4gICAgbG9nLmRlYnVnKGBVc2luZyBkZWZhdWx0IEFQUElVTV9IT01FOiAke0RFRkFVTFRfQVBQSVVNX0hPTUV9YCk7XG4gICAgcmV0dXJuIERFRkFVTFRfQVBQSVVNX0hPTUU7XG4gIH1cbik7XG5cbi8qKlxuICogRmlndXJlIG91dCBtYW5pZmVzdCBwYXRoIGJhc2VkIG9uIGBhcHBpdW1Ib21lYC5cbiAqXG4gKiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0LCBpZiBgYXBwaXVtSG9tZWAgaGFzIGJlZW4gcHJvdmlkZWQsIGl0IHdhcyByZXNvbHZlZCB2aWEge0BsaW5rIHJlc29sdmVBcHBpdW1Ib21lIGByZXNvbHZlQXBwaXVtSG9tZSgpYH0hICBJZiB1bnN1cmUsXG4gKiBkb24ndCBwYXNzIGEgcGFyYW1ldGVyIGFuZCBsZXQgYHJlc29sdmVBcHBpdW1Ib21lKClgIGhhbmRsZSBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVNYW5pZmVzdFBhdGggPSBfLm1lbW9pemUoXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FwcGl1bUhvbWVdIC0gQXBwaXVtIGhvbWUgZGlyZWN0b3J5XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBhc3luYyBmdW5jdGlvbiBfcmVzb2x2ZU1hbmlmZXN0UGF0aChhcHBpdW1Ib21lKSB7XG4gICAgLy8gY2FuIHlvdSBcImF3YWl0XCIgaW4gYSBkZWZhdWx0IHBhcmFtZXRlcj8gaXMgdGhhdCBhIGdvb2QgaWRlYT9cbiAgICBhcHBpdW1Ib21lID0gYXBwaXVtSG9tZSA/PyAoYXdhaXQgcmVzb2x2ZUFwcGl1bUhvbWUoKSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihhcHBpdW1Ib21lLCBNQU5JRkVTVF9SRUxBVElWRV9QQVRIKTtcbiAgfVxuKTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdyZWFkLXBrZycpLk5vcm1hbGl6ZWRQYWNrYWdlSnNvbn0gTm9ybWFsaXplZFBhY2thZ2VKc29uXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU1PLE1BQU1BLG1CQUFtQixHQUFHQyxhQUFBLENBQUtDLE9BQUwsQ0FBYSxJQUFBQyxXQUFBLEdBQWIsRUFBd0IsU0FBeEIsQ0FBNUI7OztBQU1BLE1BQU1DLGlCQUFpQixHQUFHLGlCQUExQjs7O0FBTUEsTUFBTUMsc0JBQXNCLEdBQUdKLGFBQUEsQ0FBS0ssSUFBTCxDQUNwQyxjQURvQyxFQUVwQyxRQUZvQyxFQUdwQyxRQUhvQyxFQUlwQ0YsaUJBSm9DLENBQS9COzs7QUFPUCxNQUFNRyxpQkFBaUIsR0FBRyxPQUExQjs7QUFRTyxlQUFlQyxtQkFBZixDQUFtQ0MsR0FBbkMsRUFBd0M7RUFDN0MsT0FBT0MsT0FBTyxDQUFDLE1BQU1DLDJCQUEyQixDQUFDRixHQUFELENBQWxDLENBQWQ7QUFDRDs7QUFPTSxNQUFNRSwyQkFBMkIsR0FBR0MsZUFBQSxDQUFFQyxPQUFGLENBS3pDLE9BQU9KLEdBQUcsR0FBR0ssT0FBTyxDQUFDTCxHQUFSLEVBQWIsS0FBK0I7RUFPN0IsTUFBTU0sT0FBTyxHQUFHLE1BQU9OLEdBQVAsSUFBZTtJQUU3QixJQUFJTyxPQUFKOztJQUNBLElBQUk7TUFBQTs7TUFDRixNQUFNQyxHQUFHLEdBQUcsTUFBTUMsZ0JBQWdCLENBQUNULEdBQUQsQ0FBbEM7TUFDQSxNQUFNVSxPQUFPLEdBQ1gsQ0FBQUYsR0FBRyxTQUFILElBQUFBLEdBQUcsV0FBSCxpQ0FBQUEsR0FBRyxDQUFFRyxZQUFMLHdFQUFtQkMsTUFBbkIsTUFDQUosR0FEQSxhQUNBQSxHQURBLCtD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","names":["DEFAULT_APPIUM_HOME","path","resolve","homedir","MANIFEST_BASENAME","MANIFEST_RELATIVE_PATH","join","OLD_VERSION_REGEX","hasAppiumDependency","cwd","Boolean","findAppiumDependencyPackage","_","memoize","process","readPkg","pkgPath","pkg","readPackageInDir","version","dependencies","appium","devDependencies","peerDependencies","test","String","undefined","log","debug","pkgDir","json","list","npm","exec","_readPackageInDir","normalize","resolveAppiumHome","_resolveAppiumHome","isAbsolute","TypeError","env","APPIUM_HOME","resolveManifestPath","_resolveManifestPath","appiumHome"],"sources":["../../lib/env.js"],"sourcesContent":["// @ts-check\nimport _ from 'lodash';\nimport {homedir} from 'os';\nimport path from 'path';\nimport readPkg from 'read-pkg';\nimport {npm} from './npm';\nimport log from './logger';\n\n/**\n * Path to the default `APPIUM_HOME` dir (`~/.appium`).\n * @type {string}\n */\nexport const DEFAULT_APPIUM_HOME = path.resolve(homedir(), '.appium');\n\n/**\n * Basename of extension manifest file.\n * @type {string}\n */\nexport const MANIFEST_BASENAME = 'extensions.yaml';\n\n/**\n * Relative path to extension manifest file from `APPIUM_HOME`.\n * @type {string}\n */\nexport const MANIFEST_RELATIVE_PATH = path.join(\n 'node_modules',\n '.cache',\n 'appium',\n MANIFEST_BASENAME\n);\n\nconst OLD_VERSION_REGEX = /^[01]/;\n\n/**\n * Resolves `true` if an `appium` dependency can be found somewhere in the given `cwd`.\n *\n * @param {string} cwd\n * @returns {Promise<boolean>}\n */\nexport async function hasAppiumDependency(cwd) {\n return Boolean(await findAppiumDependencyPackage(cwd));\n}\n\n/**\n * Given `cwd`, use `npm` to find the closest package _or workspace root_, and return the path if the root depends upon `appium`.\n *\n * Looks at `dependencies` and `devDependencies` for `appium`.\n */\nexport const findAppiumDependencyPackage = _.memoize(\n /**\n * @param {string} [cwd]\n * @returns {Promise<string|undefined>}\n */\n async (cwd = process.cwd()) => {\n /**\n * Tries to read `package.json` in `cwd` and resolves the identity if it depends on `appium`;\n * otherwise resolves `undefined`.\n * @param {string} cwd\n * @returns {Promise<string|undefined>}\n */\n const readPkg = async (cwd) => {\n /** @type {string|undefined} */\n let pkgPath;\n try {\n const pkg = await readPackageInDir(cwd);\n const version =\n pkg?.dependencies?.appium ??\n pkg?.devDependencies?.appium ??\n pkg?.peerDependencies?.appium;\n pkgPath = version && !OLD_VERSION_REGEX.test(String(version)) ? cwd : undefined;\n } catch {}\n if (pkgPath) {\n log.debug(`Found package.json having current Appium dep in ${pkgPath}`);\n } else {\n log.debug(`No package.json having current Appium dep in ${cwd}`);\n }\n return pkgPath;\n };\n\n cwd = path.resolve(cwd);\n\n /** @type {string} */\n let pkgDir;\n try {\n const {json: list} = await npm.exec('list', ['--long', '--json'], {cwd});\n ({path: pkgDir} = list);\n if (pkgDir) {\n log.debug(`Determined package/workspace root from ${cwd} => ${pkgDir}`);\n } else {\n pkgDir = cwd;\n }\n } catch {\n pkgDir = cwd;\n }\n return await readPkg(pkgDir);\n }\n);\n\n/**\n * Read a `package.json` in dir `cwd`. If none found, return `undefined`.\n */\nexport const readPackageInDir = _.memoize(\n /**\n *\n * @param {string} cwd - Directory ostensibly having a `package.json`\n * @returns {Promise<import('read-pkg').NormalizedPackageJson|undefined>}\n */\n async function _readPackageInDir(cwd) {\n return await readPkg({cwd, normalize: true});\n }\n);\n\n/**\n * Determines location of Appium's \"home\" dir\n *\n * - If `APPIUM_HOME` is set in the environment, use that\n * - If we find a `package.json` in or above `cwd` and it has an `appium` dependency, use that.\n *\n * All returned paths will be absolute.\n */\nexport const resolveAppiumHome = _.memoize(\n /**\n * @param {string} [cwd] - Current working directory. _Must_ be absolute, if specified.\n * @returns {Promise<string>}\n */\n async function _resolveAppiumHome(cwd = process.cwd()) {\n if (!path.isAbsolute(cwd)) {\n throw new TypeError('`cwd` parameter must be an absolute path');\n }\n\n if (process.env.APPIUM_HOME) {\n log.debug(`Using APPIUM_HOME from env: ${process.env.APPIUM_HOME}`);\n return path.resolve(cwd, process.env.APPIUM_HOME);\n }\n\n const pkgPath = await findAppiumDependencyPackage(cwd);\n if (pkgPath) {\n return pkgPath;\n }\n log.debug(`Using default APPIUM_HOME: ${DEFAULT_APPIUM_HOME}`);\n return DEFAULT_APPIUM_HOME;\n }\n);\n\n/**\n * Figure out manifest path based on `appiumHome`.\n *\n * The assumption is that, if `appiumHome` has been provided, it was resolved via {@link resolveAppiumHome `resolveAppiumHome()`}! If unsure,\n * don't pass a parameter and let `resolveAppiumHome()` handle it.\n */\nexport const resolveManifestPath = _.memoize(\n /**\n * @param {string} [appiumHome] - Appium home directory\n * @returns {Promise<string>}\n */\n async function _resolveManifestPath(appiumHome) {\n // can you \"await\" in a default parameter? is that a good idea?\n appiumHome = appiumHome ?? (await resolveAppiumHome());\n return path.join(appiumHome, MANIFEST_RELATIVE_PATH);\n }\n);\n\n/**\n * @typedef {import('read-pkg').NormalizedPackageJson} NormalizedPackageJson\n */\n"],"mappings":"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"}
|
package/build/lib/fs.d.ts
CHANGED
|
@@ -6,27 +6,56 @@ export default fs;
|
|
|
6
6
|
export type WalkDirCallback = (itemPath: string, isDirectory: boolean) => boolean;
|
|
7
7
|
export type glob = typeof glob;
|
|
8
8
|
export type mv = typeof mv;
|
|
9
|
+
export type PathLike = import('fs').PathLike;
|
|
9
10
|
export namespace fs {
|
|
10
11
|
/**
|
|
11
12
|
* Resolves `true` if `path` is _readable_, which differs from Node.js' default behavior of "can we see it?"
|
|
12
|
-
*
|
|
13
|
+
*
|
|
14
|
+
* On Windows, ACLs are not supported, so this becomes a simple check for existence.
|
|
15
|
+
*
|
|
16
|
+
* This function will never reject.
|
|
17
|
+
* @param {PathLike} path
|
|
13
18
|
* @returns {Promise<boolean>}
|
|
14
19
|
*/
|
|
15
20
|
export function hasAccess(path: import("fs").PathLike): Promise<boolean>;
|
|
16
21
|
/**
|
|
17
22
|
* Resolves `true` if `path` is _readable_, which differs from Node.js' default behavior of "can we see it?"
|
|
18
|
-
*
|
|
23
|
+
*
|
|
24
|
+
* On Windows, ACLs are not supported, so this becomes a simple check for existence.
|
|
25
|
+
*
|
|
26
|
+
* This function will never reject.
|
|
27
|
+
* @param {PathLike} path
|
|
19
28
|
* @returns {Promise<boolean>}
|
|
20
29
|
*/
|
|
21
30
|
export function hasAccess(path: import("fs").PathLike): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves `true` if `path` is executable; `false` otherwise.
|
|
33
|
+
*
|
|
34
|
+
* On Windows, this function delegates to {@linkcode fs.hasAccess}.
|
|
35
|
+
*
|
|
36
|
+
* This function will never reject.
|
|
37
|
+
* @param {PathLike} path
|
|
38
|
+
* @returns {Promise<boolean>}
|
|
39
|
+
*/
|
|
40
|
+
export function isExecutable(path: import("fs").PathLike): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Resolves `true` if `path` is executable; `false` otherwise.
|
|
43
|
+
*
|
|
44
|
+
* On Windows, this function delegates to {@linkcode fs.hasAccess}.
|
|
45
|
+
*
|
|
46
|
+
* This function will never reject.
|
|
47
|
+
* @param {PathLike} path
|
|
48
|
+
* @returns {Promise<boolean>}
|
|
49
|
+
*/
|
|
50
|
+
export function isExecutable(path: import("fs").PathLike): Promise<boolean>;
|
|
22
51
|
/**
|
|
23
52
|
* Alias for {@linkcode fs.hasAccess}
|
|
24
|
-
* @param {
|
|
53
|
+
* @param {PathLike} path
|
|
25
54
|
*/
|
|
26
55
|
export function exists(path: import("fs").PathLike): Promise<boolean>;
|
|
27
56
|
/**
|
|
28
57
|
* Alias for {@linkcode fs.hasAccess}
|
|
29
|
-
* @param {
|
|
58
|
+
* @param {PathLike} path
|
|
30
59
|
*/
|
|
31
60
|
export function exists(path: import("fs").PathLike): Promise<boolean>;
|
|
32
61
|
export function rimraf(dirpath: string, opts?: rimrafIdx.Options | undefined): Promise<void>;
|
|
@@ -69,13 +98,13 @@ export namespace fs {
|
|
|
69
98
|
export function copyFile(source: string, destination: string, opts?: ncp.Options | undefined): Promise<void>;
|
|
70
99
|
/**
|
|
71
100
|
* Create an MD5 hash of a file.
|
|
72
|
-
* @param {
|
|
101
|
+
* @param {PathLike} filePath
|
|
73
102
|
* @returns {Promise<string>}
|
|
74
103
|
*/
|
|
75
104
|
export function md5(filePath: import("fs").PathLike): Promise<string>;
|
|
76
105
|
/**
|
|
77
106
|
* Create an MD5 hash of a file.
|
|
78
|
-
* @param {
|
|
107
|
+
* @param {PathLike} filePath
|
|
79
108
|
* @returns {Promise<string>}
|
|
80
109
|
*/
|
|
81
110
|
export function md5(filePath: import("fs").PathLike): Promise<string>;
|
|
@@ -87,14 +116,14 @@ export namespace fs {
|
|
|
87
116
|
export { sanitize as sanitizeName };
|
|
88
117
|
/**
|
|
89
118
|
* Create a hex digest of some file at `filePath`
|
|
90
|
-
* @param {
|
|
119
|
+
* @param {PathLike} filePath
|
|
91
120
|
* @param {string} [algorithm]
|
|
92
121
|
* @returns {Promise<string>}
|
|
93
122
|
*/
|
|
94
123
|
export function hash(filePath: import("fs").PathLike, algorithm?: string | undefined): Promise<string>;
|
|
95
124
|
/**
|
|
96
125
|
* Create a hex digest of some file at `filePath`
|
|
97
|
-
* @param {
|
|
126
|
+
* @param {PathLike} filePath
|
|
98
127
|
* @param {string} [algorithm]
|
|
99
128
|
* @returns {Promise<string>}
|
|
100
129
|
*/
|
|
@@ -119,13 +148,13 @@ export namespace fs {
|
|
|
119
148
|
export function walk(dir: string, opts?: klaw.Options | undefined): klaw.Walker;
|
|
120
149
|
/**
|
|
121
150
|
* Recursively create a directory.
|
|
122
|
-
* @param {
|
|
151
|
+
* @param {PathLike} dir
|
|
123
152
|
* @returns {Promise<string|undefined>}
|
|
124
153
|
*/
|
|
125
154
|
export function mkdirp(dir: import("fs").PathLike): Promise<string | undefined>;
|
|
126
155
|
/**
|
|
127
156
|
* Recursively create a directory.
|
|
128
|
-
* @param {
|
|
157
|
+
* @param {PathLike} dir
|
|
129
158
|
* @returns {Promise<string|undefined>}
|
|
130
159
|
*/
|
|
131
160
|
export function mkdirp(dir: import("fs").PathLike): Promise<string | undefined>;
|
package/build/lib/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":";;;;;yCA8XW,MAAM,eACN,OAAO,KACN,OAAO;;;uBAMN,OAAO,IAAI,EAAE,QAAQ;;IAjWhC;;;;;;;;OAQG;IACH,yEAOC;IAhBD;;;;;;;;OAQG;IACH,yEAOC;IAED;;;;;;;;OAQG;IACH,4EAUC;IAnBD;;;;;;;;OAQG;IACH,4EAUC;IAED;;;OAGG;IACH,sEAEC;IAND;;;OAGG;IACH,sEAEC;IAMkB,6FAAmE;;IAUtF;;;;;;;OAOG;IACH,0IAQC;IAhBD;;;;;;;OAOG;IACH,0IAQC;IACD;;;;;;;OAOG;IACH,6GAKC;IAbD;;;;;;;OAOG;IACH,6GAKC;IAED;;;;OAIG;IACH,sEAEC;IAPD;;;;OAIG;IACH,sEAEC;IAKc,uFAAwD;;;IAYtD,uFAAsD;;;IAQvE;;;;;OAKG;IACH,uGAcC;IApBD;;;;;OAKG;IACH,uGAcC;IAED;;;;;;;OAOG;IACH,gFAEC;IAVD;;;;;;;OAOG;IACH,gFAEC;IAED;;;;OAIG;IACH,gFAEC;IAPD;;;;OAIG;IACH,gFAEC;IAED;;;;;;;OAOG;IACH,4GAyEC;IAjFD;;;;;;;OAOG;IACH,4GAyEC;IACD;;;;;;OAMG;IACH,0FAQC;IAfD;;;;;;OAMG;IACH,0FAQC;IACD;;;;;;OAMG;IACH,8CASC;IAhBD;;;;;;OAMG;IACH,8CASC;;;;;;;;;;;;IAyEo2lB,yKAAkE"}
|