appium 2.0.0-beta.9 → 2.0.0-rc.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.
Files changed (208) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +149 -58
  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 +677 -449
  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 -300
  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 +70 -68
  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 +252 -148
  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 +262 -223
  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 +189 -184
  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 +406 -234
  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 +220 -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 +276 -0
  116. package/build/lib/utils.d.ts.map +1 -0
  117. package/build/lib/utils.js +372 -192
  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 +545 -188
  147. package/lib/cli/args.js +275 -407
  148. package/lib/cli/driver-command.js +132 -24
  149. package/lib/cli/extension-command.js +751 -272
  150. package/lib/cli/extension.js +38 -19
  151. package/lib/cli/parser.js +267 -95
  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 +243 -132
  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 +59 -36
  167. package/lib/main.js +392 -104
  168. package/lib/schema/arg-spec.js +229 -0
  169. package/lib/schema/cli-args.js +241 -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 +310 -89
  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 -3669
  190. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  191. package/build/lib/cli/argparse-actions.js +0 -104
  192. package/build/lib/cli/npm.js +0 -207
  193. package/build/lib/cli/parser-helpers.js +0 -93
  194. package/build/lib/driver-config.js +0 -77
  195. package/build/lib/drivers.js +0 -99
  196. package/build/lib/extension-config.js +0 -253
  197. package/build/lib/plugin-config.js +0 -59
  198. package/build/lib/plugins.js +0 -16
  199. package/build/postinstall.js +0 -90
  200. package/lib/cli/argparse-actions.js +0 -77
  201. package/lib/cli/npm.js +0 -183
  202. package/lib/cli/parser-helpers.js +0 -91
  203. package/lib/driver-config.js +0 -46
  204. package/lib/drivers.js +0 -84
  205. package/lib/extension-config.js +0 -209
  206. package/lib/plugin-config.js +0 -34
  207. package/lib/plugins.js +0 -11
  208. package/postinstall.js +0 -71
@@ -1,211 +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 _lodash = _interopRequireDefault(require("lodash"));
21
-
22
- _appiumSupport.logger.patchLogger(_npmlog.default);
23
-
24
- global._global_npmlog = _npmlog.default;
25
- _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';
26
16
  const levels = {
27
- debug: 4,
28
- info: 3,
29
- warn: 2,
30
- error: 1
17
+ debug: 4,
18
+ info: 3,
19
+ warn: 2,
20
+ error: 1,
31
21
  };
32
22
  const colors = {
33
- info: 'cyan',
34
- debug: 'grey',
35
- warn: 'yellow',
36
- error: 'red'
23
+ info: 'cyan',
24
+ debug: 'grey',
25
+ warn: 'yellow',
26
+ error: 'red',
37
27
  };
38
28
  const npmToWinstonLevels = {
39
- silly: 'debug',
40
- verbose: 'debug',
41
- debug: 'debug',
42
- info: 'info',
43
- http: 'info',
44
- warn: 'warn',
45
- error: 'error'
29
+ silly: 'debug',
30
+ verbose: 'debug',
31
+ debug: 'debug',
32
+ info: 'info',
33
+ http: 'info',
34
+ warn: 'warn',
35
+ error: 'error',
46
36
  };
37
+ const encounteredPrefixes = [];
47
38
  let log = null;
48
39
  let useLocalTimeZone = false;
49
-
50
- const timestampFormat = _winston.format.timestamp({
51
- format() {
52
- let date = new Date();
53
-
54
- if (useLocalTimeZone) {
55
- date = new Date(date.valueOf() - date.getTimezoneOffset() * 60000);
56
- }
57
-
58
- return date.toISOString().replace(/[TZ]/g, ' ').replace(/\./g, ':').trim();
59
- }
60
-
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
+ },
61
50
  });
62
-
63
- const colorizeFormat = _winston.format.colorize({
64
- colors
51
+ // set the custom colors
52
+ const colorizeFormat = winston_1.format.colorize({
53
+ colors,
65
54
  });
66
-
67
- const stripColorFormat = (0, _winston.format)(function stripColor(info) {
68
- const code = /\u001b\[(\d+(;\d+)*)?m/g;
69
- info.message = info.message.replace(code, '');
70
- 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;
71
60
  })();
72
-
73
61
  function createConsoleTransport(args, logLvl) {
74
- return new _winston.transports.Console({
75
- name: 'console',
76
- handleExceptions: true,
77
- exitOnError: false,
78
- json: false,
79
- level: logLvl,
80
- stderrLevels: ['error'],
81
- format: _winston.format.combine((0, _winston.format)(function adjustDebug(info) {
82
- if (info.level === 'debug') {
83
- info.level = 'info';
84
- info.message = `[debug] ${info.message}`;
85
- }
86
-
87
- return info;
88
- })(), timestampFormat, args.logNoColors ? stripColorFormat : colorizeFormat, _winston.format.printf(function printInfo(info) {
89
- return `${args.logTimestamp ? `${info.timestamp} - ` : ''}${info.message}`;
90
- }))
91
- });
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
+ });
92
82
  }
93
-
94
83
  function createFileTransport(args, logLvl) {
95
- return new _winston.transports.File({
96
- name: 'file',
97
- filename: args.logFile,
98
- maxFiles: 1,
99
- handleExceptions: true,
100
- exitOnError: false,
101
- json: false,
102
- level: logLvl,
103
- format: _winston.format.combine(stripColorFormat, timestampFormat, _winston.format.printf(function printInfo(info) {
104
- return `${info.timestamp} ${info.message}`;
105
- }))
106
- });
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
+ });
107
97
  }
108
-
109
98
  function createHttpTransport(args, logLvl) {
110
- let host = '127.0.0.1';
111
- let port = 9003;
112
-
113
- if (args.webhook.match(':')) {
114
- const hostAndPort = args.webhook.split(':');
115
- host = hostAndPort[0];
116
- port = parseInt(hostAndPort[1], 10);
117
- }
118
-
119
- return new _winston.transports.Http({
120
- name: 'http',
121
- host,
122
- port,
123
- path: '/',
124
- handleExceptions: true,
125
- exitOnError: false,
126
- json: false,
127
- level: logLvl,
128
- format: _winston.format.combine(stripColorFormat, _winston.format.printf(function printInfo(info) {
129
- return `${info.timestamp} ${info.message}`;
130
- }))
131
- });
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
+ });
132
120
  }
133
-
134
121
  async function createTransports(args) {
135
- let transports = [];
136
- let consoleLogLevel = null;
137
- let fileLogLevel = null;
138
-
139
- if (args.loglevel && args.loglevel.match(':')) {
140
- const lvlPair = args.loglevel.split(':');
141
- consoleLogLevel = lvlPair[0] || consoleLogLevel;
142
- fileLogLevel = lvlPair[1] || fileLogLevel;
143
- } else {
144
- consoleLogLevel = fileLogLevel = args.loglevel;
145
- }
146
-
147
- transports.push(createConsoleTransport(args, consoleLogLevel));
148
-
149
- if (args.logFile) {
150
- try {
151
- if (await _appiumSupport.fs.exists(args.logFile)) {
152
- await _appiumSupport.fs.unlink(args.logFile);
153
- }
154
-
155
- transports.push(createFileTransport(args, fileLogLevel));
156
- } catch (e) {
157
- 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;
158
130
  }
159
- }
160
-
161
- if (args.webhook) {
162
- try {
163
- transports.push(createHttpTransport(args, fileLogLevel));
164
- } catch (e) {
165
- console.log(`Tried to attach logging to Http at ${args.webhook} but ` + `an error occurred: ${e.message}`);
131
+ else {
132
+ consoleLogLevel = fileLogLevel = args.loglevel;
166
133
  }
167
- }
168
-
169
- return transports;
170
- }
171
-
172
- async function init(args) {
173
- useLocalTimeZone = args.localTimezone;
174
- clear();
175
- log = (0, _winston.createLogger)({
176
- transports: await createTransports(args),
177
- levels
178
- });
179
-
180
- _npmlog.default.on('log', logObj => {
181
- const winstonLevel = npmToWinstonLevels[logObj.level] || 'info';
182
- let msg = logObj.message;
183
-
184
- if (logObj.prefix) {
185
- const prefix = `[${logObj.prefix}]`;
186
- 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
+ }
187
159
  }
188
-
189
- log[winstonLevel](msg);
190
-
191
- if (args.logHandler && _lodash.default.isFunction(args.logHandler)) {
192
- 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);
193
167
  }
194
- });
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`;
195
172
  }
196
-
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;
197
206
  function clear() {
198
- if (log) {
199
- for (let transport of _lodash.default.keys(log.transports)) {
200
- log.remove(transport);
207
+ if (log) {
208
+ for (let transport of lodash_1.default.keys(log.transports)) {
209
+ log.remove(transport);
210
+ }
201
211
  }
202
- }
203
-
204
- _npmlog.default.removeAllListeners('log');
212
+ npmlog_1.default.removeAllListeners('log');
205
213
  }
206
-
207
- var _default = init;
208
- exports.default = _default;require('source-map-support').install();
209
-
210
-
211
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ1c2VMb2NhbFRpbWVab25lIiwidGltZXN0YW1wRm9ybWF0IiwiZm9ybWF0IiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJ2YWx1ZU9mIiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0cmltIiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJjcmVhdGVDb25zb2xlVHJhbnNwb3J0IiwiYXJncyIsImxvZ0x2bCIsInRyYW5zcG9ydHMiLCJDb25zb2xlIiwibmFtZSIsImhhbmRsZUV4Y2VwdGlvbnMiLCJleGl0T25FcnJvciIsImpzb24iLCJzdGRlcnJMZXZlbHMiLCJjb21iaW5lIiwiYWRqdXN0RGVidWciLCJsb2dOb0NvbG9ycyIsInByaW50ZiIsInByaW50SW5mbyIsImxvZ1RpbWVzdGFtcCIsImNyZWF0ZUZpbGVUcmFuc3BvcnQiLCJGaWxlIiwiZmlsZW5hbWUiLCJsb2dGaWxlIiwibWF4RmlsZXMiLCJjcmVhdGVIdHRwVHJhbnNwb3J0IiwiaG9zdCIsInBvcnQiLCJ3ZWJob29rIiwibWF0Y2giLCJob3N0QW5kUG9ydCIsInNwbGl0IiwicGFyc2VJbnQiLCJIdHRwIiwicGF0aCIsImNyZWF0ZVRyYW5zcG9ydHMiLCJjb25zb2xlTG9nTGV2ZWwiLCJmaWxlTG9nTGV2ZWwiLCJsb2dsZXZlbCIsImx2bFBhaXIiLCJwdXNoIiwiZnMiLCJleGlzdHMiLCJ1bmxpbmsiLCJlIiwiY29uc29sZSIsImluaXQiLCJsb2NhbFRpbWV6b25lIiwiY2xlYXIiLCJvbiIsImxvZ09iaiIsIndpbnN0b25MZXZlbCIsIm1zZyIsInByZWZpeCIsIm1hZ2VudGEiLCJsb2dIYW5kbGVyIiwiXyIsImlzRnVuY3Rpb24iLCJ0cmFuc3BvcnQiLCJrZXlzIiwicmVtb3ZlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLHNCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYkMsRUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsRUFBQUEsSUFBSSxFQUFFLENBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztBQUNiSCxFQUFBQSxJQUFJLEVBQUUsTUFETztBQUViRCxFQUFBQSxLQUFLLEVBQUUsTUFGTTtBQUdiRSxFQUFBQSxJQUFJLEVBQUUsUUFITztBQUliQyxFQUFBQSxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLEtBQUssRUFBRSxPQURrQjtBQUV6QkMsRUFBQUEsT0FBTyxFQUFFLE9BRmdCO0FBR3pCUCxFQUFBQSxLQUFLLEVBQUUsT0FIa0I7QUFJekJDLEVBQUFBLElBQUksRUFBRSxNQUptQjtBQUt6Qk8sRUFBQUEsSUFBSSxFQUFFLE1BTG1CO0FBTXpCTixFQUFBQSxJQUFJLEVBQUUsTUFObUI7QUFPekJDLEVBQUFBLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxnQkFBT0Ms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QW5CLEdBQTRCQSxNQUFNLENBQUNDLE9BQVEsSUFBR0YsR0FBSSxFQUEzRDtBQUNEOztBQUNEbEUsSUFBQUEsR0FBRyxDQUFDaUUsWUFBRCxDQUFILENBQWtCQyxHQUFsQjs7QUFDQSxRQUFJL0MsSUFBSSxDQUFDa0QsVUFBTCxJQUFtQkMsZ0JBQUVDLFVBQUYsQ0FBYXBELElBQUksQ0FBQ2tELFVBQWxCLENBQXZCLEVBQXNEO0FBQ3BEbEQsTUFBQUEsSUFBSSxDQUFDa0QsVUFBTCxDQUFnQkwsTUFBTSxDQUFDM0UsS0FBdkIsRUFBOEI2RSxHQUE5QjtBQUNEO0FBRUYsR0FaRDtBQWFEOztBQUVELFNBQVNKLEtBQVQsR0FBa0I7QUFDaEIsTUFBSTlELEdBQUosRUFBUztBQUNQLFNBQUssSUFBSXdFLFNBQVQsSUFBc0JGLGdCQUFFRyxJQUFGLENBQU96RSxHQUFHLENBQUNxQixVQUFYLENBQXRCLEVBQThDO0FBQzVDckIsTUFBQUEsR0FBRyxDQUFDMEUsTUFBSixDQUFXRixTQUFYO0FBQ0Q7QUFDRjs7QUFDRHRGLGtCQUFPeUYsa0JBQVAsQ0FBMEIsS0FBMUI7QUFDRDs7ZUFJY2YsSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBucG1sb2cgZnJvbSAnbnBtbG9nJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgZm9ybWF0LCB0cmFuc3BvcnRzIH0gZnJvbSAnd2luc3Rvbic7XG5pbXBvcnQgeyBmcywgbG9nZ2VyIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG4vLyBzZXQgdXAgZGlzdHJpYnV0ZWQgbG9nZ2luZyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlXG5sb2dnZXIucGF0Y2hMb2dnZXIobnBtbG9nKTtcbmdsb2JhbC5fZ2xvYmFsX25wbWxvZyA9IG5wbWxvZztcblxuLy8gbnBtbG9nIGlzIHVzZWQgb25seSBmb3IgZW1pdHRpbmcsIHdlIHVzZSB3aW5zdG9uIGZvciBvdXRwdXRcbm5wbWxvZy5sZXZlbCA9ICdzaWxlbnQnO1xuY29uc3QgbGV2ZWxzID0ge1xuICBkZWJ1ZzogNCxcbiAgaW5mbzogMyxcbiAgd2FybjogMixcbiAgZXJyb3I6IDEsXG59O1xuXG5jb25zdCBjb2xvcnMgPSB7XG4gIGluZm86ICdjeWFuJyxcbiAgZGVidWc6ICdncmV5JyxcbiAgd2FybjogJ3llbGxvdycsXG4gIGVycm9yOiAncmVkJyxcbn07XG5cbmNvbnN0IG5wbVRvV2luc3RvbkxldmVscyA9IHtcbiAgc2lsbHk6ICdkZWJ1ZycsXG4gIHZlcmJvc2U6ICdkZWJ1ZycsXG4gIGRlYnVnOiAnZGVidWcnLFxuICBpbmZvOiAnaW5mbycsXG4gIGh0dHA6ICdpbmZvJyxcbiAgd2FybjogJ3dhcm4nLFxuICBlcnJvcjogJ2Vycm9yJyxcbn07XG5cbmxldCBsb2cgPSBudWxsO1xubGV0IHVzZUxvY2FsVGltZVpvbmUgPSBmYWxzZTtcblxuLy8gYWRkIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGNvcnJlY3QgZm9ybWF0IHRvIHRoZSBsb2cgaW5mbyBvYmplY3RcbmNvbnN0IHRpbWVzdGFtcEZvcm1hdCA9IGZvcm1hdC50aW1lc3RhbXAoe1xuICBmb3JtYXQgKCkge1xuICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBpZiAodXNlTG9jYWxUaW1lWm9uZSkge1xuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApO1xuICAgIH1cbiAgICAvLyAnMjAxMi0xMS0wNFQxNDo1MTowNi4xNTdaJyAtPiAnMjAxMi0xMS0wNCAxNDo1MTowNjoxNTcnXG4gICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKVxuICAgICAgLnJlcGxhY2UoL1tUWl0vZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL1xcLi9nLCAnOicpXG4gICAgICAudHJpbSgpO1xuICB9LFxufSk7XG5cbi8vIHNldCB0aGUgY3VzdG9tIGNvbG9yc1xuY29uc3QgY29sb3JpemVGb3JtYXQgPSBmb3JtYXQuY29sb3JpemUoe1xuICBjb2xvcnMsXG59KTtcblxuLy8gU3RyaXAgdGhlIGNvbG9yIG1hcmtpbmcgd2l0aGluIG1lc3NhZ2VzXG5jb25zdCBzdHJpcENvbG9yRm9ybWF0ID0gZm9ybWF0KGZ1bmN0aW9uIHN0cmlwQ29sb3IgKGluZm8pIHtcbiAgY29uc3QgY29kZSA9IC9cXHUwMDFiXFxbKFxcZCsoO1xcZCspKik/bS9nOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRyb2wtcmVnZXhcbiAgaW5mby5tZXNzYWdlID0gaW5mby5tZXNzYWdlLnJlcGxhY2UoY29kZSwgJycpO1xuICByZXR1cm4gaW5mbztcbn0pKCk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnNvbGVUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkNvbnNvbGUpKHtcbiAgICBuYW1lOiAnY29uc29sZScsXG4gICAgaGFuZGxlRXhjZXB0aW9uczogdHJ1ZSxcbiAgICBleGl0T25FcnJvcjogZmFsc2UsXG4gICAganNvbjogZmFsc2UsXG4gICAgbGV2ZWw6IGxvZ0x2bCxcbiAgICBzdGRlcnJMZXZlbHM6IFsnZXJyb3InXSxcbiAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKFxuICAgICAgZm9ybWF0KGZ1bmN0aW9uIGFkanVzdERlYnVnIChpbmZvKSB7XG4gICAgICAgIC8vIHByZXBlbmQgZGVidWcgbWFya2VyLCBhbmQgc2hpZnQgdG8gYGluZm9gIGxvZyBsZXZlbFxuICAgICAgICBpZiAoaW5mby5sZXZlbCA9PT0gJ2RlYnVnJykge1xuICAgICAgICAgIGluZm8ubGV2ZWwgPSAnaW5mbyc7XG4gICAgICAgICAgaW5mby5tZXNzYWdlID0gYFtkZWJ1Z10gJHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgIH0pKCksXG4gICAgICB0aW1lc3RhbXBGb3JtYXQsXG4gICAgICBhcmdzLmxvZ05vQ29sb3JzID8gc3RyaXBDb2xvckZvcm1hdCA6IGNvbG9yaXplRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2FyZ3MubG9nVGltZXN0YW1wID8gYCR7aW5mby50aW1lc3RhbXB9IC0gYCA6ICcnfSR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgICksXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWxlVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5GaWxlKSh7XG4gICAgbmFtZTogJ2ZpbGUnLFxuICAgIGZpbGVuYW1lOiBhcmdzLmxvZ0ZpbGUsXG4gICAgbWF4RmlsZXM6IDEsXG4gICAgaGFuZGxlRXhjZXB0aW9uczogdHJ1ZSxcbiAgICBleGl0T25FcnJvcjogZmFsc2UsXG4gICAganNvbjogZmFsc2UsXG4gICAgbGV2ZWw6IGxvZ0x2bCxcbiAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKFxuICAgICAgc3RyaXBDb2xvckZvcm1hdCxcbiAgICAgIHRpbWVzdGFtcEZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHtpbmZvLnRpbWVzdGFtcH0gJHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSHR0cFRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIGxldCBob3N0ID0gJzEyNy4wLjAuMSc7XG4gIGxldCBwb3J0ID0gOTAwMztcblxuICBpZiAoYXJncy53ZWJob29rLm1hdGNoKCc6JykpIHtcbiAgICBjb25zdCBob3N0QW5kUG9ydCA9IGFyZ3Mud2ViaG9vay5zcGxpdCgnOicpO1xuICAgIGhvc3QgPSBob3N0QW5kUG9ydFswXTtcbiAgICBwb3J0ID0gcGFyc2VJbnQoaG9zdEFuZFBvcnRbMV0sIDEwKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuSHR0cCkoe1xuICAgIG5hbWU6ICdodHRwJyxcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcGF0aDogJy8nLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIHN0cmlwQ29sb3JGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7aW5mby50aW1lc3RhbXB9ICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgICksXG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnRzIChhcmdzKSB7XG4gIGxldCB0cmFuc3BvcnRzID0gW107XG4gIGxldCBjb25zb2xlTG9nTGV2ZWwgPSBudWxsO1xuICBsZXQgZmlsZUxvZ0xldmVsID0gbnVsbDtcblxuICBpZiAoYXJncy5sb2dsZXZlbCAmJiBhcmdzLmxvZ2xldmVsLm1hdGNoKCc6JykpIHtcbiAgICAvLyAtLWxvZy1sZXZlbCBhcmcgY2FuIG9wdGlvbmFsbHkgcHJvdmlkZSBkaWZmIGxvZ2dpbmcgbGV2ZWxzIGZvciBjb25zb2xlIGFuZCBmaWxlLCBzZXBhcmF0ZWQgYnkgYSBjb2xvblxuICAgIGNvbnN0IGx2bFBhaXIgPSBhcmdzLmxvZ2xldmVsLnNwbGl0KCc6Jyk7XG4gICAgY29uc29sZUxvZ0xldmVsID0gbHZsUGFpclswXSB8fCBjb25zb2xlTG9nTGV2ZWw7XG4gICAgZmlsZUxvZ0xldmVsID0gbHZsUGFpclsxXSB8fCBmaWxlTG9nTGV2ZWw7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZUxvZ0xldmVsID0gZmlsZUxvZ0xldmVsID0gYXJncy5sb2dsZXZlbDtcbiAgfVxuXG4gIHRyYW5zcG9ydHMucHVzaChjcmVhdGVDb25zb2xlVHJhbnNwb3J0KGFyZ3MsIGNvbnNvbGVMb2dMZXZlbCkpO1xuXG4gIGlmIChhcmdzLmxvZ0ZpbGUpIHtcbiAgICB0cnkge1xuICAgICAgLy8gaWYgd2UgZG9uJ3QgZGVsZXRlIHRoZSBsb2cgZmlsZSwgd2luc3RvbiB3aWxsIGFsd2F5cyBhcHBlbmQgYW5kIGl0IHdpbGwgZ3JvdyBpbmZpbml0ZWx5IGxhcmdlO1xuICAgICAgLy8gd2luc3RvbiBhbGxvd3MgZm9yIGxpbWl0aW5nIGxvZyBmaWxlIHNpemUsIGJ1dCBhcyBvZiA5LjIuMTQgdGhlcmUncyBhIHNlcmlvdXMgYnVnIHdoZW4gdXNpbmdcbiAgICAgIC8vIG1heEZpbGVzIGFuZCBtYXhTaXplIHRvZ2V0aGVyLiBodHRwczovL2dpdGh1Yi5jb20vZmxhdGlyb24vd2luc3Rvbi9pc3N1ZXMvMzk3XG4gICAgICBpZiAoYXdhaXQgZnMuZXhpc3RzKGFyZ3MubG9nRmlsZSkpIHtcbiAgICAgICAgYXdhaXQgZnMudW5saW5rKGFyZ3MubG9nRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVGaWxlVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gZmlsZSAnJHthcmdzLmxvZ0ZpbGV9JyBidXQgYW4gZXJyb3IgYCArXG4gICAgICAgICAgICAgICAgICBgb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhcmdzLndlYmhvb2spIHtcbiAgICB0cnkge1xuICAgICAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUh0dHBUcmFuc3BvcnQoYXJncywgZmlsZUxvZ0xldmVsKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBUcmllZCB0byBhdHRhY2ggbG9nZ2luZyB0byBIdHRwIGF0ICR7YXJncy53ZWJob29rfSBidXQgYCArXG4gICAgICAgICAgICAgICAgICBgYW4gZXJyb3Igb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmFuc3BvcnRzO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0IChhcmdzKSB7XG4gIC8vIHNldCBkZSBmYWN0byBwYXJhbSBwYXNzZWQgdG8gdGltZXN0YW1wIGZ1bmN0aW9uXG4gIHVzZUxvY2FsVGltZVpvbmUgPSBhcmdzLmxvY2FsVGltZXpvbmU7XG5cbiAgLy8gY2xlYW4gdXAgaW4gY2FzZSB3ZSBoYXZlIGluaXRpYXRlZCBiZWZvcmUgc2luY2UgbnBtbG9nIGlzIGEgZ2xvYmFsIG9iamVjdFxuICBjbGVhcigpO1xuXG4gIGxvZyA9IGNyZWF0ZUxvZ2dlcih7XG4gICAgdHJhbnNwb3J0czogYXdhaXQgY3JlYXRlVHJhbnNwb3J0cyhhcmdzKSxcbiAgICBsZXZlbHMsXG4gIH0pO1xuXG4gIC8vIENhcHR1cmUgbG9ncyBlbWl0dGVkIHZpYSBucG1sb2cgYW5kIHBhc3MgdGhlbSB0aHJvdWdoIHdpbnN0b25cbiAgbnBtbG9nLm9uKCdsb2cnLCAobG9nT2JqKSA9PiB7XG4gICAgY29uc3Qgd2luc3RvbkxldmVsID0gbnBtVG9XaW5zdG9uTGV2ZWxzW2xvZ09iai5sZXZlbF0gfHwgJ2luZm8nO1xuICAgIGxldCBtc2cgPSBsb2dPYmoubWVzc2FnZTtcbiAgICBpZiAobG9nT2JqLnByZWZpeCkge1xuICAgICAgY29uc3QgcHJlZml4ID0gYFske2xvZ09iai5wcmVmaXh9XWA7XG4gICAgICBtc2cgPSBgJHthcmdzLmxvZ05vQ29sb3JzID8gcHJlZml4IDogcHJlZml4Lm1hZ2VudGF9ICR7bXNnfWA7XG4gICAgfVxuICAgIGxvZ1t3aW5zdG9uTGV2ZWxdKG1zZyk7XG4gICAgaWYgKGFyZ3MubG9nSGFuZGxlciAmJiBfLmlzRnVuY3Rpb24oYXJncy5sb2dIYW5kbGVyKSkge1xuICAgICAgYXJncy5sb2dIYW5kbGVyKGxvZ09iai5sZXZlbCwgbXNnKTtcbiAgICB9XG5cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgaWYgKGxvZykge1xuICAgIGZvciAobGV0IHRyYW5zcG9ydCBvZiBfLmtleXMobG9nLnRyYW5zcG9ydHMpKSB7XG4gICAgICBsb2cucmVtb3ZlKHRyYW5zcG9ydCk7XG4gICAgfVxuICB9XG4gIG5wbWxvZy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2xvZycpO1xufVxuXG5cbmV4cG9ydCB7IGluaXQsIGNsZWFyIH07XG5leHBvcnQgZGVmYXVsdCBpbml0O1xuIl0sImZpbGUiOiJsaWIvbG9nc2luay5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
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":";;yBAmda,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;AAlK3D;;;;;;;GAOG;AACH,qSAoGC;AAtQD;;;;;;;;;;;;;;;;GAgBG;AACH,kPAiHC"}