appium 2.0.0-beta.6 → 2.0.0-beta.61

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.
Files changed (204) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +156 -65
  3. package/build/lib/appium.d.ts +229 -0
  4. package/build/lib/appium.d.ts.map +1 -0
  5. package/build/lib/appium.js +678 -439
  6. package/build/lib/appium.js.map +1 -0
  7. package/build/lib/cli/args.d.ts +17 -0
  8. package/build/lib/cli/args.d.ts.map +1 -0
  9. package/build/lib/cli/args.js +263 -319
  10. package/build/lib/cli/args.js.map +1 -0
  11. package/build/lib/cli/driver-command.d.ts +102 -0
  12. package/build/lib/cli/driver-command.d.ts.map +1 -0
  13. package/build/lib/cli/driver-command.js +131 -81
  14. package/build/lib/cli/driver-command.js.map +1 -0
  15. package/build/lib/cli/extension-command.d.ts +402 -0
  16. package/build/lib/cli/extension-command.d.ts.map +1 -0
  17. package/build/lib/cli/extension-command.js +799 -383
  18. package/build/lib/cli/extension-command.js.map +1 -0
  19. package/build/lib/cli/extension.d.ts +23 -0
  20. package/build/lib/cli/extension.d.ts.map +1 -0
  21. package/build/lib/cli/extension.js +71 -54
  22. package/build/lib/cli/extension.js.map +1 -0
  23. package/build/lib/cli/parser.d.ts +84 -0
  24. package/build/lib/cli/parser.d.ts.map +1 -0
  25. package/build/lib/cli/parser.js +240 -128
  26. package/build/lib/cli/parser.js.map +1 -0
  27. package/build/lib/cli/plugin-command.d.ts +99 -0
  28. package/build/lib/cli/plugin-command.d.ts.map +1 -0
  29. package/build/lib/cli/plugin-command.js +125 -81
  30. package/build/lib/cli/plugin-command.js.map +1 -0
  31. package/build/lib/cli/utils.d.ts +29 -0
  32. package/build/lib/cli/utils.d.ts.map +1 -0
  33. package/build/lib/cli/utils.js +72 -51
  34. package/build/lib/cli/utils.js.map +1 -0
  35. package/build/lib/config-file.d.ts +100 -0
  36. package/build/lib/config-file.d.ts.map +1 -0
  37. package/build/lib/config-file.js +207 -0
  38. package/build/lib/config-file.js.map +1 -0
  39. package/build/lib/config.d.ts +49 -0
  40. package/build/lib/config.d.ts.map +1 -0
  41. package/build/lib/config.js +267 -202
  42. package/build/lib/config.js.map +1 -0
  43. package/build/lib/constants.d.ts +56 -0
  44. package/build/lib/constants.d.ts.map +1 -0
  45. package/build/lib/constants.js +73 -0
  46. package/build/lib/constants.js.map +1 -0
  47. package/build/lib/extension/driver-config.d.ts +82 -0
  48. package/build/lib/extension/driver-config.d.ts.map +1 -0
  49. package/build/lib/extension/driver-config.js +210 -0
  50. package/build/lib/extension/driver-config.js.map +1 -0
  51. package/build/lib/extension/extension-config.d.ts +270 -0
  52. package/build/lib/extension/extension-config.d.ts.map +1 -0
  53. package/build/lib/extension/extension-config.js +601 -0
  54. package/build/lib/extension/extension-config.js.map +1 -0
  55. package/build/lib/extension/index.d.ts +48 -0
  56. package/build/lib/extension/index.d.ts.map +1 -0
  57. package/build/lib/extension/index.js +105 -0
  58. package/build/lib/extension/index.js.map +1 -0
  59. package/build/lib/extension/manifest-migrations.d.ts +27 -0
  60. package/build/lib/extension/manifest-migrations.d.ts.map +1 -0
  61. package/build/lib/extension/manifest-migrations.js +134 -0
  62. package/build/lib/extension/manifest-migrations.js.map +1 -0
  63. package/build/lib/extension/manifest.d.ts +145 -0
  64. package/build/lib/extension/manifest.d.ts.map +1 -0
  65. package/build/lib/extension/manifest.js +528 -0
  66. package/build/lib/extension/manifest.js.map +1 -0
  67. package/build/lib/extension/package-changed.d.ts +11 -0
  68. package/build/lib/extension/package-changed.d.ts.map +1 -0
  69. package/build/lib/extension/package-changed.js +62 -0
  70. package/build/lib/extension/package-changed.js.map +1 -0
  71. package/build/lib/extension/plugin-config.d.ts +56 -0
  72. package/build/lib/extension/plugin-config.d.ts.map +1 -0
  73. package/build/lib/extension/plugin-config.js +102 -0
  74. package/build/lib/extension/plugin-config.js.map +1 -0
  75. package/build/lib/grid-register.d.ts +10 -0
  76. package/build/lib/grid-register.d.ts.map +1 -0
  77. package/build/lib/grid-register.js +122 -144
  78. package/build/lib/grid-register.js.map +1 -0
  79. package/build/lib/logger.d.ts +3 -0
  80. package/build/lib/logger.d.ts.map +1 -0
  81. package/build/lib/logger.js +5 -17
  82. package/build/lib/logger.js.map +1 -0
  83. package/build/lib/logsink.d.ts +4 -0
  84. package/build/lib/logsink.d.ts.map +1 -0
  85. package/build/lib/logsink.js +190 -187
  86. package/build/lib/logsink.js.map +1 -0
  87. package/build/lib/main.d.ts +62 -0
  88. package/build/lib/main.d.ts.map +1 -0
  89. package/build/lib/main.js +339 -229
  90. package/build/lib/main.js.map +1 -0
  91. package/build/lib/schema/arg-spec.d.ts +143 -0
  92. package/build/lib/schema/arg-spec.d.ts.map +1 -0
  93. package/build/lib/schema/arg-spec.js +164 -0
  94. package/build/lib/schema/arg-spec.js.map +1 -0
  95. package/build/lib/schema/cli-args.d.ts +19 -0
  96. package/build/lib/schema/cli-args.d.ts.map +1 -0
  97. package/build/lib/schema/cli-args.js +217 -0
  98. package/build/lib/schema/cli-args.js.map +1 -0
  99. package/build/lib/schema/cli-transformers.d.ts +5 -0
  100. package/build/lib/schema/cli-transformers.d.ts.map +1 -0
  101. package/build/lib/schema/cli-transformers.js +124 -0
  102. package/build/lib/schema/cli-transformers.js.map +1 -0
  103. package/build/lib/schema/index.d.ts +3 -0
  104. package/build/lib/schema/index.d.ts.map +1 -0
  105. package/build/lib/schema/index.js +19 -0
  106. package/build/lib/schema/index.js.map +1 -0
  107. package/build/lib/schema/keywords.d.ts +24 -0
  108. package/build/lib/schema/keywords.d.ts.map +1 -0
  109. package/build/lib/schema/keywords.js +128 -0
  110. package/build/lib/schema/keywords.js.map +1 -0
  111. package/build/lib/schema/schema.d.ts +260 -0
  112. package/build/lib/schema/schema.d.ts.map +1 -0
  113. package/build/lib/schema/schema.js +640 -0
  114. package/build/lib/schema/schema.js.map +1 -0
  115. package/build/lib/utils.d.ts +266 -0
  116. package/build/lib/utils.d.ts.map +1 -0
  117. package/build/lib/utils.js +349 -273
  118. package/build/lib/utils.js.map +1 -0
  119. package/build/types/cli.d.ts +134 -0
  120. package/build/types/cli.d.ts.map +1 -0
  121. package/build/types/cli.js +3 -0
  122. package/build/types/cli.js.map +1 -0
  123. package/build/types/index.d.ts +15 -0
  124. package/build/types/index.d.ts.map +1 -0
  125. package/build/types/index.js +19 -0
  126. package/build/types/index.js.map +1 -0
  127. package/build/types/manifest/base.d.ts +135 -0
  128. package/build/types/manifest/base.d.ts.map +1 -0
  129. package/build/types/manifest/base.js +3 -0
  130. package/build/types/manifest/base.js.map +1 -0
  131. package/build/types/manifest/index.d.ts +21 -0
  132. package/build/types/manifest/index.d.ts.map +1 -0
  133. package/build/types/manifest/index.js +42 -0
  134. package/build/types/manifest/index.js.map +1 -0
  135. package/build/types/manifest/v3.d.ts +139 -0
  136. package/build/types/manifest/v3.d.ts.map +1 -0
  137. package/build/types/manifest/v3.js +3 -0
  138. package/build/types/manifest/v3.js.map +1 -0
  139. package/build/types/manifest/v4.d.ts +139 -0
  140. package/build/types/manifest/v4.d.ts.map +1 -0
  141. package/build/types/manifest/v4.js +3 -0
  142. package/build/types/manifest/v4.js.map +1 -0
  143. package/driver.d.ts +1 -0
  144. package/driver.js +14 -0
  145. package/index.js +11 -0
  146. package/lib/appium.js +558 -186
  147. package/lib/cli/args.js +277 -422
  148. package/lib/cli/driver-command.js +132 -24
  149. package/lib/cli/extension-command.js +751 -272
  150. package/lib/cli/extension.js +49 -18
  151. package/lib/cli/parser.js +263 -83
  152. package/lib/cli/plugin-command.js +122 -22
  153. package/lib/cli/utils.js +24 -10
  154. package/lib/config-file.js +220 -0
  155. package/lib/config.js +246 -111
  156. package/lib/constants.js +79 -0
  157. package/lib/extension/driver-config.js +247 -0
  158. package/lib/extension/extension-config.js +709 -0
  159. package/lib/extension/index.js +116 -0
  160. package/lib/extension/manifest-migrations.js +136 -0
  161. package/lib/extension/manifest.js +580 -0
  162. package/lib/extension/package-changed.js +64 -0
  163. package/lib/extension/plugin-config.js +112 -0
  164. package/lib/grid-register.js +49 -35
  165. package/lib/logger.js +1 -2
  166. package/lib/logsink.js +64 -38
  167. package/lib/main.js +318 -103
  168. package/lib/schema/arg-spec.js +229 -0
  169. package/lib/schema/cli-args.js +238 -0
  170. package/lib/schema/cli-transformers.js +119 -0
  171. package/lib/schema/index.js +2 -0
  172. package/lib/schema/keywords.js +136 -0
  173. package/lib/schema/schema.js +725 -0
  174. package/lib/utils.js +289 -167
  175. package/package.json +84 -84
  176. package/plugin.d.ts +1 -0
  177. package/plugin.js +13 -0
  178. package/scripts/autoinstall-extensions.js +243 -0
  179. package/support.d.ts +1 -0
  180. package/support.js +13 -0
  181. package/tsconfig.json +25 -0
  182. package/types/cli.ts +193 -0
  183. package/types/index.ts +20 -0
  184. package/types/manifest/README.md +30 -0
  185. package/types/manifest/base.ts +158 -0
  186. package/types/manifest/index.ts +28 -0
  187. package/types/manifest/v3.ts +161 -0
  188. package/types/manifest/v4.ts +161 -0
  189. package/CHANGELOG.md +0 -3515
  190. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  191. package/build/lib/cli/npm.js +0 -208
  192. package/build/lib/cli/parser-helpers.js +0 -82
  193. package/build/lib/driver-config.js +0 -77
  194. package/build/lib/drivers.js +0 -96
  195. package/build/lib/extension-config.js +0 -253
  196. package/build/lib/plugin-config.js +0 -59
  197. package/build/lib/plugins.js +0 -14
  198. package/lib/cli/npm.js +0 -184
  199. package/lib/cli/parser-helpers.js +0 -79
  200. package/lib/driver-config.js +0 -46
  201. package/lib/drivers.js +0 -81
  202. package/lib/extension-config.js +0 -209
  203. package/lib/plugin-config.js +0 -34
  204. package/lib/plugins.js +0 -10
@@ -1,213 +1,216 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.init = init;
9
- exports.clear = clear;
10
- exports.default = void 0;
11
-
12
- require("source-map-support/register");
13
-
14
- var _npmlog = _interopRequireDefault(require("npmlog"));
15
-
16
- var _winston = require("winston");
17
-
18
- var _appiumSupport = require("appium-support");
19
-
20
- var _dateformat = _interopRequireDefault(require("dateformat"));
21
-
22
- var _lodash = _interopRequireDefault(require("lodash"));
23
-
24
- _appiumSupport.logger.patchLogger(_npmlog.default);
25
-
26
- global._global_npmlog = _npmlog.default;
27
- _npmlog.default.level = 'silent';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.clear = exports.init = void 0;
7
+ const npmlog_1 = __importDefault(require("npmlog"));
8
+ const winston_1 = require("winston");
9
+ const support_1 = require("@appium/support");
10
+ const lodash_1 = __importDefault(require("lodash"));
11
+ // set up distributed logging before everything else
12
+ support_1.logger.patchLogger(npmlog_1.default);
13
+ global._global_npmlog = npmlog_1.default;
14
+ // npmlog is used only for emitting, we use winston for output
15
+ npmlog_1.default.level = 'info';
28
16
  const levels = {
29
- debug: 4,
30
- info: 3,
31
- warn: 2,
32
- error: 1
17
+ debug: 4,
18
+ info: 3,
19
+ warn: 2,
20
+ error: 1,
33
21
  };
34
22
  const colors = {
35
- info: 'cyan',
36
- debug: 'grey',
37
- warn: 'yellow',
38
- error: 'red'
23
+ info: 'cyan',
24
+ debug: 'grey',
25
+ warn: 'yellow',
26
+ error: 'red',
39
27
  };
40
28
  const npmToWinstonLevels = {
41
- silly: 'debug',
42
- verbose: 'debug',
43
- debug: 'debug',
44
- info: 'info',
45
- http: 'info',
46
- warn: 'warn',
47
- error: 'error'
29
+ silly: 'debug',
30
+ verbose: 'debug',
31
+ debug: 'debug',
32
+ info: 'info',
33
+ http: 'info',
34
+ warn: 'warn',
35
+ error: 'error',
48
36
  };
37
+ const encounteredPrefixes = [];
49
38
  let log = null;
50
- let timeZone = null;
51
-
52
- const timestampFormat = _winston.format.timestamp({
53
- format() {
54
- let date = new Date();
55
-
56
- if (!timeZone) {
57
- date = new Date(date.valueOf() + date.getTimezoneOffset() * 60000);
58
- }
59
-
60
- return (0, _dateformat.default)(date, 'yyyy-mm-dd HH:MM:ss:l');
61
- }
62
-
39
+ let useLocalTimeZone = false;
40
+ // add the timestamp in the correct format to the log info object
41
+ const timestampFormat = winston_1.format.timestamp({
42
+ format() {
43
+ let date = new Date();
44
+ if (useLocalTimeZone) {
45
+ date = new Date(date.valueOf() - date.getTimezoneOffset() * 60000);
46
+ }
47
+ // '2012-11-04T14:51:06.157Z' -> '2012-11-04 14:51:06:157'
48
+ return date.toISOString().replace(/[TZ]/g, ' ').replace(/\./g, ':').trim();
49
+ },
63
50
  });
64
-
65
- const colorizeFormat = _winston.format.colorize({
66
- colors
51
+ // set the custom colors
52
+ const colorizeFormat = winston_1.format.colorize({
53
+ colors,
67
54
  });
68
-
69
- const stripColorFormat = (0, _winston.format)(function stripColor(info) {
70
- const code = /\u001b\[(\d+(;\d+)*)?m/g;
71
- info.message = info.message.replace(code, '');
72
- return info;
55
+ // Strip the color marking within messages
56
+ const stripColorFormat = (0, winston_1.format)(function stripColor(info) {
57
+ const code = /\u001b\[(\d+(;\d+)*)?m/g; // eslint-disable-line no-control-regex
58
+ info.message = info.message.replace(code, '');
59
+ return info;
73
60
  })();
74
-
75
61
  function createConsoleTransport(args, logLvl) {
76
- return new _winston.transports.Console({
77
- name: 'console',
78
- handleExceptions: true,
79
- exitOnError: false,
80
- json: false,
81
- level: logLvl,
82
- stderrLevels: ['error'],
83
- format: _winston.format.combine((0, _winston.format)(function adjustDebug(info) {
84
- if (info.level === 'debug') {
85
- info.level = 'info';
86
- info.message = `[debug] ${info.message}`;
87
- }
88
-
89
- return info;
90
- })(), timestampFormat, args.logNoColors ? stripColorFormat : colorizeFormat, _winston.format.printf(function printInfo(info) {
91
- return `${args.logTimestamp ? `${info.timestamp} - ` : ''}${info.message}`;
92
- }))
93
- });
62
+ return new winston_1.transports.Console({
63
+ // `name` is unsupported per winston's type declarations
64
+ // @ts-expect-error
65
+ name: 'console',
66
+ handleExceptions: true,
67
+ exitOnError: false,
68
+ json: false,
69
+ level: logLvl,
70
+ stderrLevels: ['error'],
71
+ format: winston_1.format.combine((0, winston_1.format)(function adjustDebug(info) {
72
+ // prepend debug marker, and shift to `info` log level
73
+ if (info.level === 'debug') {
74
+ info.level = 'info';
75
+ info.message = `[debug] ${info.message}`;
76
+ }
77
+ return info;
78
+ })(), timestampFormat, args.logNoColors ? stripColorFormat : colorizeFormat, winston_1.format.printf(function printInfo(info) {
79
+ return `${args.logTimestamp ? `${info.timestamp} - ` : ''}${info.message}`;
80
+ })),
81
+ });
94
82
  }
95
-
96
83
  function createFileTransport(args, logLvl) {
97
- return new _winston.transports.File({
98
- name: 'file',
99
- filename: args.logFile,
100
- maxFiles: 1,
101
- handleExceptions: true,
102
- exitOnError: false,
103
- json: false,
104
- level: logLvl,
105
- format: _winston.format.combine(stripColorFormat, timestampFormat, _winston.format.printf(function printInfo(info) {
106
- return `${info.timestamp} ${info.message}`;
107
- }))
108
- });
84
+ return new winston_1.transports.File({
85
+ // @ts-expect-error
86
+ name: 'file',
87
+ filename: args.logFile,
88
+ maxFiles: 1,
89
+ handleExceptions: true,
90
+ exitOnError: false,
91
+ json: false,
92
+ level: logLvl,
93
+ format: winston_1.format.combine(stripColorFormat, timestampFormat, winston_1.format.printf(function printInfo(info) {
94
+ return `${info.timestamp} ${info.message}`;
95
+ })),
96
+ });
109
97
  }
110
-
111
98
  function createHttpTransport(args, logLvl) {
112
- let host = '127.0.0.1';
113
- let port = 9003;
114
-
115
- if (args.webhook.match(':')) {
116
- const hostAndPort = args.webhook.split(':');
117
- host = hostAndPort[0];
118
- port = parseInt(hostAndPort[1], 10);
119
- }
120
-
121
- return new _winston.transports.Http({
122
- name: 'http',
123
- host,
124
- port,
125
- path: '/',
126
- handleExceptions: true,
127
- exitOnError: false,
128
- json: false,
129
- level: logLvl,
130
- format: _winston.format.combine(stripColorFormat, _winston.format.printf(function printInfo(info) {
131
- return `${info.timestamp} ${info.message}`;
132
- }))
133
- });
99
+ let host = '127.0.0.1';
100
+ let port = 9003;
101
+ if (args.webhook.match(':')) {
102
+ const hostAndPort = args.webhook.split(':');
103
+ host = hostAndPort[0];
104
+ port = parseInt(hostAndPort[1], 10);
105
+ }
106
+ return new winston_1.transports.Http({
107
+ // @ts-expect-error
108
+ name: 'http',
109
+ host,
110
+ port,
111
+ path: '/',
112
+ handleExceptions: true,
113
+ exitOnError: false,
114
+ json: false,
115
+ level: logLvl,
116
+ format: winston_1.format.combine(stripColorFormat, winston_1.format.printf(function printInfo(info) {
117
+ return `${info.timestamp} ${info.message}`;
118
+ })),
119
+ });
134
120
  }
135
-
136
121
  async function createTransports(args) {
137
- let transports = [];
138
- let consoleLogLevel = null;
139
- let fileLogLevel = null;
140
-
141
- if (args.loglevel && args.loglevel.match(':')) {
142
- const lvlPair = args.loglevel.split(':');
143
- consoleLogLevel = lvlPair[0] || consoleLogLevel;
144
- fileLogLevel = lvlPair[1] || fileLogLevel;
145
- } else {
146
- consoleLogLevel = fileLogLevel = args.loglevel;
147
- }
148
-
149
- transports.push(createConsoleTransport(args, consoleLogLevel));
150
-
151
- if (args.logFile) {
152
- try {
153
- if (await _appiumSupport.fs.exists(args.logFile)) {
154
- await _appiumSupport.fs.unlink(args.logFile);
155
- }
156
-
157
- transports.push(createFileTransport(args, fileLogLevel));
158
- } catch (e) {
159
- console.log(`Tried to attach logging to file '${args.logFile}' but an error ` + `occurred: ${e.message}`);
122
+ let transports = [];
123
+ let consoleLogLevel = null;
124
+ let fileLogLevel = null;
125
+ if (args.loglevel && args.loglevel.match(':')) {
126
+ // --log-level arg can optionally provide diff logging levels for console and file, separated by a colon
127
+ const lvlPair = args.loglevel.split(':');
128
+ consoleLogLevel = lvlPair[0] || consoleLogLevel;
129
+ fileLogLevel = lvlPair[1] || fileLogLevel;
160
130
  }
161
- }
162
-
163
- if (args.webhook) {
164
- try {
165
- transports.push(createHttpTransport(args, fileLogLevel));
166
- } catch (e) {
167
- console.log(`Tried to attach logging to Http at ${args.webhook} but ` + `an error occurred: ${e.message}`);
131
+ else {
132
+ consoleLogLevel = fileLogLevel = args.loglevel;
168
133
  }
169
- }
170
-
171
- return transports;
172
- }
173
-
174
- async function init(args) {
175
- timeZone = args.localTimezone;
176
- clear();
177
- log = (0, _winston.createLogger)({
178
- transports: await createTransports(args),
179
- levels
180
- });
181
-
182
- _npmlog.default.on('log', logObj => {
183
- const winstonLevel = npmToWinstonLevels[logObj.level] || 'info';
184
- let msg = logObj.message;
185
-
186
- if (logObj.prefix) {
187
- const prefix = `[${logObj.prefix}]`;
188
- msg = `${args.logNoColors ? prefix : prefix.magenta} ${msg}`;
134
+ transports.push(createConsoleTransport(args, consoleLogLevel));
135
+ if (args.logFile) {
136
+ try {
137
+ // if we don't delete the log file, winston will always append and it will grow infinitely large;
138
+ // winston allows for limiting log file size, but as of 9.2.14 there's a serious bug when using
139
+ // maxFiles and maxSize together. https://github.com/flatiron/winston/issues/397
140
+ if (await support_1.fs.exists(args.logFile)) {
141
+ await support_1.fs.unlink(args.logFile);
142
+ }
143
+ transports.push(createFileTransport(args, fileLogLevel));
144
+ }
145
+ catch (e) {
146
+ // eslint-disable-next-line no-console
147
+ console.log(`Tried to attach logging to file '${args.logFile}' but an error ` + `occurred: ${e.message}`);
148
+ }
149
+ }
150
+ if (args.webhook) {
151
+ try {
152
+ transports.push(createHttpTransport(args, fileLogLevel));
153
+ }
154
+ catch (e) {
155
+ // eslint-disable-next-line no-console
156
+ console.log(`Tried to attach logging to Http at ${args.webhook} but ` +
157
+ `an error occurred: ${e.message}`);
158
+ }
189
159
  }
190
-
191
- log[winstonLevel](msg);
192
-
193
- if (args.logHandler && _lodash.default.isFunction(args.logHandler)) {
194
- args.logHandler(logObj.level, msg);
160
+ return transports;
161
+ }
162
+ function getColorizedPrefix(prefix) {
163
+ let prefixId = prefix.split('@')[0].trim();
164
+ prefixId = prefixId.split(' (')[0].trim();
165
+ if (encounteredPrefixes.indexOf(prefixId) < 0) {
166
+ encounteredPrefixes.push(prefixId);
195
167
  }
196
- });
168
+ // using a multiple of 16 should cause 16 colors to be created
169
+ const colorNumber = encounteredPrefixes.indexOf(prefixId) * 16;
170
+ // use the modulus to cycle around color wheel
171
+ return `\x1b[38;5;${colorNumber % 256}m${prefix}\x1b[0m`;
197
172
  }
198
-
173
+ async function init(args) {
174
+ npmlog_1.default.level = 'silent';
175
+ // set de facto param passed to timestamp function
176
+ useLocalTimeZone = args.localTimezone;
177
+ // clean up in case we have initiated before since npmlog is a global object
178
+ clear();
179
+ log = (0, winston_1.createLogger)({
180
+ transports: await createTransports(args),
181
+ levels,
182
+ });
183
+ // Capture logs emitted via npmlog and pass them through winston
184
+ npmlog_1.default.on('log', (logObj) => {
185
+ const winstonLevel = npmToWinstonLevels[logObj.level] || 'info';
186
+ let msg = logObj.message;
187
+ if (logObj.prefix) {
188
+ const prefix = `[${logObj.prefix}]`;
189
+ if (args.logNoColors) {
190
+ msg = `${prefix} ${msg}`;
191
+ }
192
+ if (prefix === '[Appium]') {
193
+ msg = `${prefix.magenta} ${msg}`;
194
+ }
195
+ else {
196
+ msg = `${getColorizedPrefix(prefix)} ${msg}`;
197
+ }
198
+ log[winstonLevel](msg);
199
+ if (args.logHandler && lodash_1.default.isFunction(args.logHandler)) {
200
+ args.logHandler(logObj.level, msg);
201
+ }
202
+ }
203
+ });
204
+ }
205
+ exports.init = init;
199
206
  function clear() {
200
- if (log) {
201
- for (let transport of _lodash.default.keys(log.transports)) {
202
- log.remove(transport);
207
+ if (log) {
208
+ for (let transport of lodash_1.default.keys(log.transports)) {
209
+ log.remove(transport);
210
+ }
203
211
  }
204
- }
205
-
206
- _npmlog.default.removeAllListeners('log');
212
+ npmlog_1.default.removeAllListeners('log');
207
213
  }
208
-
209
- var _default = init;
210
- exports.default = _default;require('source-map-support').install();
211
-
212
-
213
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ0aW1lWm9uZSIsInRpbWVzdGFtcEZvcm1hdCIsImZvcm1hdCIsInRpbWVzdGFtcCIsImRhdGUiLCJEYXRlIiwidmFsdWVPZiIsImdldFRpbWV6b25lT2Zmc2V0IiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJyZXBsYWNlIiwiY3JlYXRlQ29uc29sZVRyYW5zcG9ydCIsImFyZ3MiLCJsb2dMdmwiLCJ0cmFuc3BvcnRzIiwiQ29uc29sZSIsIm5hbWUiLCJoYW5kbGVFeGNlcHRpb25zIiwiZXhpdE9uRXJyb3IiLCJqc29uIiwic3RkZXJyTGV2ZWxzIiwiY29tYmluZSIsImFkanVzdERlYnVnIiwibG9nTm9Db2xvcnMiLCJwcmludGYiLCJwcmludEluZm8iLCJsb2dUaW1lc3RhbXAiLCJjcmVhdGVGaWxlVHJhbnNwb3J0IiwiRmlsZSIsImZpbGVuYW1lIiwibG9nRmlsZSIsIm1heEZpbGVzIiwiY3JlYXRlSHR0cFRyYW5zcG9ydCIsImhvc3QiLCJwb3J0Iiwid2ViaG9vayIsIm1hdGNoIiwiaG9zdEFuZFBvcnQiLCJzcGxpdCIsInBhcnNlSW50IiwiSHR0cCIsInBhdGgiLCJjcmVhdGVUcmFuc3BvcnRzIiwiY29uc29sZUxvZ0xldmVsIiwiZmlsZUxvZ0xldmVsIiwibG9nbGV2ZWwiLCJsdmxQYWlyIiwicHVzaCIsImZzIiwiZXhpc3RzIiwidW5saW5rIiwiZSIsImNvbnNvbGUiLCJpbml0IiwibG9jYWxUaW1lem9uZSIsImNsZWFyIiwib24iLCJsb2dPYmoiLCJ3aW5zdG9uTGV2ZWwiLCJtc2ciLCJwcmVmaXgiLCJtYWdlbnRhIiwibG9nSGFuZGxlciIsIl8iLCJpc0Z1bmN0aW9uIiwidHJhbnNwb3J0Iiwia2V5cyIsInJlbW92ZSIsInJlbW92ZUFsbExpc3RlbmVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUlBQSxzQkFBT0MsV0FBUCxDQUFtQkMsZUFBbkI7O0FBQ0FDLE1BQU0sQ0FBQ0MsY0FBUCxHQUF3QkYsZUFBeEI7QUFHQUEsZ0JBQU9HLEtBQVAsR0FBZSxRQUFmO0FBQ0EsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLEVBQUFBLEtBQUssRUFBRSxDQURNO0FBRWJDLEVBQUFBLElBQUksRUFBRSxDQUZPO0FBR2JDLEVBQUFBLElBQUksRUFBRSxDQUhPO0FBSWJDLEVBQUFBLEtBQUssRUFBRTtBQUpNLENBQWY7QUFPQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkgsRUFBQUEsSUFBSSxFQUFFLE1BRE87QUFFYkQsRUFBQUEsS0FBSyxFQUFFLE1BRk07QUFHYkUsRUFBQUEsSUFBSSxFQUFFLFFBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1FLGtCQUFrQixHQUFHO0FBQ3pCQyxFQUFBQSxLQUFLLEVBQUUsT0FEa0I7QUFFekJDLEVBQUFBLE9BQU8sRUFBRSxPQUZnQjtBQUd6QlAsRUFBQUEsS0FBSyxFQUFFLE9BSGtCO0FBSXpCQyxFQUFBQSxJQUFJLEVBQUUsTUFKbUI7QUFLekJPLEVBQUFBLElBQUksRUFBRSxNQUxtQjtBQU16Qk4sRUFBQUEsSUFBSSxFQUFFLE1BTm1CO0FBT3pCQyxFQUFBQSxLQUFLLEVBQUU7QUFQa0IsQ0FBM0I7QUFVQSxJQUFJTSxHQUFHLEdBQUcsSUFBVjtBQUNBLElBQUlDLFFBQVEsR0FBRyxJQUFmOztBQUdBLE1BQU1DLGVBQWUsR0FBR0MsZ0JBQU9DLFNBQVAsQ0FBaUI7QUFDdkNELEVBQUFBLE1B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bEI7O0FBQ0EsUUFBSS9DLElBQUksQ0FBQ2tELFVBQUwsSUFBbUJDLGdCQUFFQyxVQUFGLENBQWFwRCxJQUFJLENBQUNrRCxVQUFsQixDQUF2QixFQUFzRDtBQUNwRGxELE1BQUFBLElBQUksQ0FBQ2tELFVBQUwsQ0FBZ0JMLE1BQU0sQ0FBQ3pFLEtBQXZCLEVBQThCMkUsR0FBOUI7QUFDRDtBQUVGLEdBWkQ7QUFhRDs7QUFFRCxTQUFTSixLQUFULEdBQWtCO0FBQ2hCLE1BQUk1RCxHQUFKLEVBQVM7QUFDUCxTQUFLLElBQUlzRSxTQUFULElBQXNCRixnQkFBRUcsSUFBRixDQUFPdkUsR0FBRyxDQUFDbUIsVUFBWCxDQUF0QixFQUE4QztBQUM1Q25CLE1BQUFBLEdBQUcsQ0FBQ3dFLE1BQUosQ0FBV0YsU0FBWDtBQUNEO0FBQ0Y7O0FBQ0RwRixrQkFBT3VGLGtCQUFQLENBQTBCLEtBQTFCO0FBQ0Q7O2VBSWNmLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbnBtbG9nIGZyb20gJ25wbWxvZyc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgZnMsIGxvZ2dlciB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCBkYXRlZm9ybWF0IGZyb20gJ2RhdGVmb3JtYXQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG4vLyBzZXQgdXAgZGlzdHJpYnV0ZWQgbG9nZ2luZyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlXG5sb2dnZXIucGF0Y2hMb2dnZXIobnBtbG9nKTtcbmdsb2JhbC5fZ2xvYmFsX25wbWxvZyA9IG5wbWxvZztcblxuLy8gbnBtbG9nIGlzIHVzZWQgb25seSBmb3IgZW1pdHRpbmcsIHdlIHVzZSB3aW5zdG9uIGZvciBvdXRwdXRcbm5wbWxvZy5sZXZlbCA9ICdzaWxlbnQnO1xuY29uc3QgbGV2ZWxzID0ge1xuICBkZWJ1ZzogNCxcbiAgaW5mbzogMyxcbiAgd2FybjogMixcbiAgZXJyb3I6IDEsXG59O1xuXG5jb25zdCBjb2xvcnMgPSB7XG4gIGluZm86ICdjeWFuJyxcbiAgZGVidWc6ICdncmV5JyxcbiAgd2FybjogJ3llbGxvdycsXG4gIGVycm9yOiAncmVkJyxcbn07XG5cbmNvbnN0IG5wbVRvV2luc3RvbkxldmVscyA9IHtcbiAgc2lsbHk6ICdkZWJ1ZycsXG4gIHZlcmJvc2U6ICdkZWJ1ZycsXG4gIGRlYnVnOiAnZGVidWcnLFxuICBpbmZvOiAnaW5mbycsXG4gIGh0dHA6ICdpbmZvJyxcbiAgd2FybjogJ3dhcm4nLFxuICBlcnJvcjogJ2Vycm9yJyxcbn07XG5cbmxldCBsb2cgPSBudWxsO1xubGV0IHRpbWVab25lID0gbnVsbDtcblxuLy8gYWRkIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGNvcnJlY3QgZm9ybWF0IHRvIHRoZSBsb2cgaW5mbyBvYmplY3RcbmNvbnN0IHRpbWVzdGFtcEZvcm1hdCA9IGZvcm1hdC50aW1lc3RhbXAoe1xuICBmb3JtYXQgKCkge1xuICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBpZiAoIXRpbWVab25lKSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkgKyBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlZm9ybWF0KGRhdGUsICd5eXl5LW1tLWRkIEhIOk1NOnNzOmwnKTtcbiAgfSxcbn0pO1xuXG4vLyBzZXQgdGhlIGN1c3RvbSBjb2xvcnNcbmNvbnN0IGNvbG9yaXplRm9ybWF0ID0gZm9ybWF0LmNvbG9yaXplKHtcbiAgY29sb3JzLFxufSk7XG5cbi8vIFN0cmlwIHRoZSBjb2xvciBtYXJraW5nIHdpdGhpbiBtZXNzYWdlc1xuY29uc3Qgc3RyaXBDb2xvckZvcm1hdCA9IGZvcm1hdChmdW5jdGlvbiBzdHJpcENvbG9yIChpbmZvKSB7XG4gIGNvbnN0IGNvZGUgPSAvXFx1MDAxYlxcWyhcXGQrKDtcXGQrKSopP20vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGluZm8ubWVzc2FnZSA9IGluZm8ubWVzc2FnZS5yZXBsYWNlKGNvZGUsICcnKTtcbiAgcmV0dXJuIGluZm87XG59KSgpO1xuXG5mdW5jdGlvbiBjcmVhdGVDb25zb2xlVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5Db25zb2xlKSh7XG4gICAgbmFtZTogJ2NvbnNvbGUnLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgc3RkZXJyTGV2ZWxzOiBbJ2Vycm9yJ10sXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIGZvcm1hdChmdW5jdGlvbiBhZGp1c3REZWJ1ZyAoaW5mbykge1xuICAgICAgICAvLyBwcmVwZW5kIGRlYnVnIG1hcmtlciwgYW5kIHNoaWZ0IHRvIGBpbmZvYCBsb2cgbGV2ZWxcbiAgICAgICAgaWYgKGluZm8ubGV2ZWwgPT09ICdkZWJ1ZycpIHtcbiAgICAgICAgICBpbmZvLmxldmVsID0gJ2luZm8nO1xuICAgICAgICAgIGluZm8ubWVzc2FnZSA9IGBbZGVidWddICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9KSgpLFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgYXJncy5sb2dOb0NvbG9ycyA/IHN0cmlwQ29sb3JGb3JtYXQgOiBjb2xvcml6ZUZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHthcmdzLmxvZ1RpbWVzdGFtcCA/IGAke2luZm8udGltZXN0YW1wfSAtIGAgOiAnJ30ke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmlsZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuRmlsZSkoe1xuICAgIG5hbWU6ICdmaWxlJyxcbiAgICBmaWxlbmFtZTogYXJncy5sb2dGaWxlLFxuICAgIG1heEZpbGVzOiAxLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIHN0cmlwQ29sb3JGb3JtYXQsXG4gICAgICB0aW1lc3RhbXBGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7aW5mby50aW1lc3RhbXB9ICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgIClcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUh0dHBUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICBsZXQgaG9zdCA9ICcxMjcuMC4wLjEnO1xuICBsZXQgcG9ydCA9IDkwMDM7XG5cbiAgaWYgKGFyZ3Mud2ViaG9vay5tYXRjaCgnOicpKSB7XG4gICAgY29uc3QgaG9zdEFuZFBvcnQgPSBhcmdzLndlYmhvb2suc3BsaXQoJzonKTtcbiAgICBob3N0ID0gaG9zdEFuZFBvcnRbMF07XG4gICAgcG9ydCA9IHBhcnNlSW50KGhvc3RBbmRQb3J0WzFdLCAxMCk7XG4gIH1cblxuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkh0dHApKHtcbiAgICBuYW1lOiAnaHR0cCcsXG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHBhdGg6ICcvJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlVHJhbnNwb3J0cyAoYXJncykge1xuICBsZXQgdHJhbnNwb3J0cyA9IFtdO1xuICBsZXQgY29uc29sZUxvZ0xldmVsID0gbnVsbDtcbiAgbGV0IGZpbGVMb2dMZXZlbCA9IG51bGw7XG5cbiAgaWYgKGFyZ3MubG9nbGV2ZWwgJiYgYXJncy5sb2dsZXZlbC5tYXRjaCgnOicpKSB7XG4gICAgLy8gLS1sb2ctbGV2ZWwgYXJnIGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgZGlmZiBsb2dnaW5nIGxldmVscyBmb3IgY29uc29sZSBhbmQgZmlsZSwgc2VwYXJhdGVkIGJ5IGEgY29sb25cbiAgICBjb25zdCBsdmxQYWlyID0gYXJncy5sb2dsZXZlbC5zcGxpdCgnOicpO1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGx2bFBhaXJbMF0gfHwgY29uc29sZUxvZ0xldmVsO1xuICAgIGZpbGVMb2dMZXZlbCA9IGx2bFBhaXJbMV0gfHwgZmlsZUxvZ0xldmVsO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGZpbGVMb2dMZXZlbCA9IGFyZ3MubG9nbGV2ZWw7XG4gIH1cblxuICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlQ29uc29sZVRyYW5zcG9ydChhcmdzLCBjb25zb2xlTG9nTGV2ZWwpKTtcblxuICBpZiAoYXJncy5sb2dGaWxlKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGlmIHdlIGRvbid0IGRlbGV0ZSB0aGUgbG9nIGZpbGUsIHdpbnN0b24gd2lsbCBhbHdheXMgYXBwZW5kIGFuZCBpdCB3aWxsIGdyb3cgaW5maW5pdGVseSBsYXJnZTtcbiAgICAgIC8vIHdpbnN0b24gYWxsb3dzIGZvciBsaW1pdGluZyBsb2cgZmlsZSBzaXplLCBidXQgYXMgb2YgOS4yLjE0IHRoZXJlJ3MgYSBzZXJpb3VzIGJ1ZyB3aGVuIHVzaW5nXG4gICAgICAvLyBtYXhGaWxlcyBhbmQgbWF4U2l6ZSB0b2dldGhlci4gaHR0cHM6Ly9naXRodWIuY29tL2ZsYXRpcm9uL3dpbnN0b24vaXNzdWVzLzM5N1xuICAgICAgaWYgKGF3YWl0IGZzLmV4aXN0cyhhcmdzLmxvZ0ZpbGUpKSB7XG4gICAgICAgIGF3YWl0IGZzLnVubGluayhhcmdzLmxvZ0ZpbGUpO1xuICAgICAgfVxuXG4gICAgICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlRmlsZVRyYW5zcG9ydChhcmdzLCBmaWxlTG9nTGV2ZWwpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFRyaWVkIHRvIGF0dGFjaCBsb2dnaW5nIHRvIGZpbGUgJyR7YXJncy5sb2dGaWxlfScgYnV0IGFuIGVycm9yIGAgK1xuICAgICAgICAgICAgICAgICAgYG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJncy53ZWJob29rKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVIdHRwVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gSHR0cCBhdCAke2FyZ3Mud2ViaG9va30gYnV0IGAgK1xuICAgICAgICAgICAgICAgICAgYGFuIGVycm9yIG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJhbnNwb3J0cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdCAoYXJncykge1xuICAvLyBzZXQgZGUgZmFjdG8gcGFyYW0gcGFzc2VkIHRvIHRpbWVzdGFtcCBmdW5jdGlvblxuICB0aW1lWm9uZSA9IGFyZ3MubG9jYWxUaW1lem9uZTtcblxuICAvLyBjbGVhbiB1cCBpbiBjYXNlIHdlIGhhdmUgaW5pdGlhdGVkIGJlZm9yZSBzaW5jZSBucG1sb2cgaXMgYSBnbG9iYWwgb2JqZWN0XG4gIGNsZWFyKCk7XG5cbiAgbG9nID0gY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBhd2FpdCBjcmVhdGVUcmFuc3BvcnRzKGFyZ3MpLFxuICAgIGxldmVscyxcbiAgfSk7XG5cbiAgLy8gQ2FwdHVyZSBsb2dzIGVtaXR0ZWQgdmlhIG5wbWxvZyBhbmQgcGFzcyB0aGVtIHRocm91Z2ggd2luc3RvblxuICBucG1sb2cub24oJ2xvZycsIChsb2dPYmopID0+IHtcbiAgICBjb25zdCB3aW5zdG9uTGV2ZWwgPSBucG1Ub1dpbnN0b25MZXZlbHNbbG9nT2JqLmxldmVsXSB8fCAnaW5mbyc7XG4gICAgbGV0IG1zZyA9IGxvZ09iai5tZXNzYWdlO1xuICAgIGlmIChsb2dPYmoucHJlZml4KSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBgWyR7bG9nT2JqLnByZWZpeH1dYDtcbiAgICAgIG1zZyA9IGAke2FyZ3MubG9nTm9Db2xvcnMgPyBwcmVmaXggOiBwcmVmaXgubWFnZW50YX0gJHttc2d9YDtcbiAgICB9XG4gICAgbG9nW3dpbnN0b25MZXZlbF0obXNnKTtcbiAgICBpZiAoYXJncy5sb2dIYW5kbGVyICYmIF8uaXNGdW5jdGlvbihhcmdzLmxvZ0hhbmRsZXIpKSB7XG4gICAgICBhcmdzLmxvZ0hhbmRsZXIobG9nT2JqLmxldmVsLCBtc2cpO1xuICAgIH1cblxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xlYXIgKCkge1xuICBpZiAobG9nKSB7XG4gICAgZm9yIChsZXQgdHJhbnNwb3J0IG9mIF8ua2V5cyhsb2cudHJhbnNwb3J0cykpIHtcbiAgICAgIGxvZy5yZW1vdmUodHJhbnNwb3J0KTtcbiAgICB9XG4gIH1cbiAgbnBtbG9nLnJlbW92ZUFsbExpc3RlbmVycygnbG9nJyk7XG59XG5cblxuZXhwb3J0IHsgaW5pdCwgY2xlYXIgfTtcbmV4cG9ydCBkZWZhdWx0IGluaXQ7XG4iXSwiZmlsZSI6ImxpYi9sb2dzaW5rLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
214
+ exports.clear = clear;
215
+ exports.default = init;
216
+ //# sourceMappingURL=logsink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logsink.js","sourceRoot":"","sources":["../../lib/logsink.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env node
2
+ export { readConfigFile } from "./config-file";
3
+ export type DriverType = import('@appium/types').DriverType;
4
+ export type PluginType = import('@appium/types').PluginType;
5
+ export type DriverClass = import('@appium/types').DriverClass;
6
+ export type PluginClass = import('@appium/types').PluginClass;
7
+ export type CliCommand = import('appium/types').CliCommand;
8
+ export type CliExtensionSubcommand = import('appium/types').CliExtensionSubcommand;
9
+ export type CliExtensionCommand = import('appium/types').CliExtensionCommand;
10
+ export type ServerCommand = import('appium/types').CliCommandServer;
11
+ export type DriverCommand = import('appium/types').CliCommandDriver;
12
+ export type PluginCommand = import('appium/types').CliCommandPlugin;
13
+ export type DriverNameMap = import('./extension').DriverNameMap;
14
+ export type PluginNameMap = import('./extension').PluginNameMap;
15
+ /**
16
+ * Literally an empty object
17
+ */
18
+ export type ExtCommandInitResult = {};
19
+ export type ServerInitData = {
20
+ /**
21
+ * - The Appium driver
22
+ */
23
+ appiumDriver: import('./appium').AppiumDriver;
24
+ /**
25
+ * - The parsed arguments
26
+ */
27
+ parsedArgs: import('appium/types').ParsedArgs;
28
+ };
29
+ export type InitResult<Cmd extends import("appium/types").CliCommand> = Cmd extends ServerCommand ? ServerInitData & import('./extension').ExtensionConfigs : ExtCommandInitResult;
30
+ export type Args<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void> = import('appium/types').Args<Cmd, SubCmd>;
31
+ export type ParsedArgs<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void> = import('appium/types').ParsedArgs<Cmd, SubCmd>;
32
+ /**
33
+ * Initializes Appium's config. Starts server if appropriate and resolves the
34
+ * server instance if so; otherwise resolves w/ `undefined`.
35
+ * @template {CliCommand} [Cmd=ServerCommand]
36
+ * @template {CliExtensionSubcommand|void} [SubCmd=void]
37
+ * @param {Args<Cmd, SubCmd>} [args] - Arguments from CLI or otherwise
38
+ * @returns {Promise<Cmd extends ServerCommand ? import('@appium/types').AppiumServer : void>}
39
+ */
40
+ export function main<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void>(args?: import("appium/types").Args<Cmd, SubCmd> | undefined): Promise<Cmd extends "server" ? import("@appium/types").AppiumServer : void>;
41
+ /**
42
+ * Initializes Appium, but does not start the server.
43
+ *
44
+ * Use this to get at the configuration schema.
45
+ *
46
+ * If `args` contains a non-empty `subcommand` which is not `server`, this function will return an empty object.
47
+ *
48
+ * @template {CliCommand} [Cmd=ServerCommand]
49
+ * @template {CliExtensionSubcommand|void} [SubCmd=void]
50
+ * @param {Args<Cmd, SubCmd>} [args] - Partial args (progammatic usage only)
51
+ * @returns {Promise<InitResult<Cmd>>}
52
+ * @example
53
+ * import {init, getSchema} from 'appium';
54
+ * const options = {}; // config object
55
+ * await init(options);
56
+ * const schema = getSchema(); // entire config schema including plugins and drivers
57
+ */
58
+ export function init<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void>(args?: import("appium/types").Args<Cmd, SubCmd> | undefined): Promise<InitResult<Cmd>>;
59
+ export const resolveAppiumHome: ((cwd?: string | undefined) => Promise<string>) & _.MemoizedFunction;
60
+ import _ from "lodash";
61
+ export { finalizeSchema, getSchema, validate } from "./schema/schema";
62
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;yBAsYa,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;0BAClC,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,eAAe,EAAE,WAAW;yBACnC,OAAO,cAAc,EAAE,UAAU;qCACjC,OAAO,cAAc,EAAE,sBAAsB;kCAC7C,OAAO,cAAc,EAAE,mBAAmB;4BAC1C,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,aAAa,EAAE,aAAa;4BACnC,OAAO,aAAa,EAAE,aAAa;;;;mCAKlC,EAAE;;;;;kBAKF,OAAO,UAAU,EAAE,YAAY;;;;gBAC/B,OAAO,cAAc,EAAE,UAAU;;wEAKlC,GAAG,SAAS,aAAa,GAAG,cAAc,GAAG,OAAO,aAAa,EAAE,gBAAgB,GAAG,oBAAoB;yJAM1G,OAAO,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;+JAMxC,OAAO,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AApK3D;;;;;;;GAOG;AACH,qSAsGC;AA3OD;;;;;;;;;;;;;;;;GAgBG;AACH,kPA0GC"}