@appium/support 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,11 @@ export type AppiumLoggerPrefix = import('@appium/types').AppiumLoggerPrefix;
17
17
  export type AppiumLogger = import('@appium/types').AppiumLogger;
18
18
  export type AppiumLoggerLevel = import('@appium/types').AppiumLoggerLevel;
19
19
  export const log: import("@appium/types").AppiumLogger;
20
+ /**
21
+ *
22
+ * @param {import('@appium/logger').Logger} logger
23
+ */
24
+ export function patchLogger(logger: import('@appium/logger').Logger): void;
20
25
  /**
21
26
  *
22
27
  * @param {AppiumLoggerPrefix?} prefix
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"AAOA,0DAA0D;AAC1D,qBADW,OAAO,eAAe,EAAE,iBAAiB,EAAE,CAC+B;;;;;;;YA6GvE,MAAM,EAAE;;;;;WAER,OAAO,gBAAgB,EAAE,4BAA4B,EAAE;;iCA+BxD,OAAO,eAAe,EAAE,kBAAkB;2BAC1C,OAAO,eAAe,EAAE,YAAY;gCACpC,OAAO,eAAe,EAAE,iBAAiB;AARtD,uDAAwB;AA1FxB;;;;GAIG;AACH,mCAHW,kBAAkB,UAChB,YAAY,CAwDxB;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,kEANW,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,gBAAgB,GAItD,QAAQ,UAAU,CAAC,CAQ/B"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"AAQA,0DAA0D;AAC1D,qBADW,OAAO,eAAe,EAAE,iBAAiB,EAAE,CAC+B;;;;;;;YA2HvE,MAAM,EAAE;;;;;WAER,OAAO,gBAAgB,EAAE,4BAA4B,EAAE;;iCA+BxD,OAAO,eAAe,EAAE,kBAAkB;2BAC1C,OAAO,eAAe,EAAE,YAAY;gCACpC,OAAO,eAAe,EAAE,iBAAiB;AARtD,uDAAwB;AA3IxB;;;GAGG;AACH,oCAFW,OAAO,gBAAgB,EAAE,MAAM,QAMzC;AAsCD;;;;GAIG;AACH,mCAHW,kBAAkB,UAChB,YAAY,CA2DxB;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,kEANW,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,gBAAgB,GAItD,QAAQ,UAAU,CAAC,CAQ/B"}
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.loadSecureValuesPreprocessingRules = exports.getLogger = exports.log = exports.LEVELS = void 0;
7
+ exports.loadSecureValuesPreprocessingRules = exports.getLogger = exports.patchLogger = exports.log = exports.LEVELS = void 0;
8
8
  const logger_1 = __importDefault(require("@appium/logger"));
9
9
  const lodash_1 = __importDefault(require("lodash"));
10
+ const util_1 = require("./util");
10
11
  const moment_1 = __importDefault(require("moment"));
11
12
  const log_internal_1 = __importDefault(require("./log-internal"));
12
13
  /** @type {import('@appium/types').AppiumLoggerLevel[]} */
@@ -18,6 +19,16 @@ let mockLog = {};
18
19
  for (let level of exports.LEVELS) {
19
20
  mockLog[level] = () => { };
20
21
  }
22
+ /**
23
+ *
24
+ * @param {import('@appium/logger').Logger} logger
25
+ */
26
+ function patchLogger(logger) {
27
+ if (!logger.debug) {
28
+ logger.addLevel('debug', 1000, { fg: 'blue', bg: 'black' }, 'dbug');
29
+ }
30
+ }
31
+ exports.patchLogger = patchLogger;
21
32
  /**
22
33
  *
23
34
  * @returns {[import('@appium/logger').Logger, boolean]}
@@ -40,6 +51,7 @@ function _getLogger() {
40
51
  // The default value is 10000, which causes excessive memory usage
41
52
  logger.maxRecordSize = MAX_LOG_RECORDS_COUNT;
42
53
  }
54
+ patchLogger(logger);
43
55
  return [logger, usingGlobalLog];
44
56
  }
45
57
  /**
@@ -83,7 +95,10 @@ function getLogger(prefix = null) {
83
95
  for (const arg of args) {
84
96
  const out = lodash_1.default.isError(arg) && arg.stack ? arg.stack : `${arg}`;
85
97
  for (const line of out.split('\n')) {
86
- logger[level](actualPrefix, log_internal_1.default.preprocess(line));
98
+ // it is necessary to unleak each line because `split` call
99
+ // creates "views" to the original string as well as the `substring` one
100
+ const unleakedLine = (0, util_1.unleakString)(line);
101
+ logger[level](actualPrefix, log_internal_1.default.preprocess(unleakedLine));
87
102
  }
88
103
  }
89
104
  };
@@ -91,7 +106,7 @@ function getLogger(prefix = null) {
91
106
  wrappedLogger.errorWithException = function (/** @type {any[]} */ ...args) {
92
107
  this.error(...args);
93
108
  // make sure we have an `Error` object. Wrap if necessary
94
- return lodash_1.default.isError(args[0]) ? args[0] : new Error(args.join('\n'));
109
+ return lodash_1.default.isError(args[0]) ? args[0] : new Error(args.map(util_1.unleakString).join('\n'));
95
110
  };
96
111
  /**
97
112
  * @deprecated Use {@link errorWithException} instead
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"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"}
package/lib/logging.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import globalLog from '@appium/logger';
4
4
  import _ from 'lodash';
5
+ import {unleakString} from './util';
5
6
  import moment from 'moment';
6
7
  import SECURE_VALUES_PREPROCESSOR from './log-internal';
7
8
 
@@ -17,6 +18,16 @@ for (let level of LEVELS) {
17
18
  mockLog[level] = () => {};
18
19
  }
19
20
 
21
+ /**
22
+ *
23
+ * @param {import('@appium/logger').Logger} logger
24
+ */
25
+ function patchLogger(logger) {
26
+ if (!logger.debug) {
27
+ logger.addLevel('debug', 1000, {fg: 'blue', bg: 'black'}, 'dbug');
28
+ }
29
+ }
30
+
20
31
  /**
21
32
  *
22
33
  * @returns {[import('@appium/logger').Logger, boolean]}
@@ -39,6 +50,7 @@ function _getLogger() {
39
50
  // The default value is 10000, which causes excessive memory usage
40
51
  logger.maxRecordSize = MAX_LOG_RECORDS_COUNT;
41
52
  }
53
+ patchLogger(logger);
42
54
  return [logger, usingGlobalLog];
43
55
  }
44
56
 
@@ -88,7 +100,10 @@ function getLogger(prefix = null) {
88
100
  for (const arg of args) {
89
101
  const out = _.isError(arg) && arg.stack ? arg.stack : `${arg}`;
90
102
  for (const line of out.split('\n')) {
91
- logger[level](actualPrefix, SECURE_VALUES_PREPROCESSOR.preprocess(line));
103
+ // it is necessary to unleak each line because `split` call
104
+ // creates "views" to the original string as well as the `substring` one
105
+ const unleakedLine = unleakString(line);
106
+ logger[level](actualPrefix, SECURE_VALUES_PREPROCESSOR.preprocess(unleakedLine));
92
107
  }
93
108
  }
94
109
  };
@@ -96,7 +111,7 @@ function getLogger(prefix = null) {
96
111
  wrappedLogger.errorWithException = function (/** @type {any[]} */ ...args) {
97
112
  this.error(...args);
98
113
  // make sure we have an `Error` object. Wrap if necessary
99
- return _.isError(args[0]) ? args[0] : new Error(args.join('\n'));
114
+ return _.isError(args[0]) ? args[0] : new Error(args.map(unleakString).join('\n'));
100
115
  };
101
116
  /**
102
117
  * @deprecated Use {@link errorWithException} instead
@@ -144,7 +159,7 @@ async function loadSecureValuesPreprocessingRules(rulesJsonPath) {
144
159
  // export a default logger with no prefix
145
160
  const log = getLogger();
146
161
 
147
- export {log, getLogger, loadSecureValuesPreprocessingRules};
162
+ export {log, patchLogger, getLogger, loadSecureValuesPreprocessingRules};
148
163
  export default log;
149
164
 
150
165
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/support",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "description": "Support libs used across appium packages",
5
5
  "keywords": [
6
6
  "automation",
@@ -41,9 +41,9 @@
41
41
  "test:unit": "mocha \"./test/unit/**/*.spec.js\""
42
42
  },
43
43
  "dependencies": {
44
- "@appium/logger": "^1.2.0",
44
+ "@appium/logger": "^1.3.0",
45
45
  "@appium/tsconfig": "^0.3.3",
46
- "@appium/types": "^0.19.1",
46
+ "@appium/types": "^0.19.2",
47
47
  "@colors/colors": "1.6.0",
48
48
  "@types/archiver": "6.0.2",
49
49
  "@types/base64-stream": "1.0.5",
@@ -104,5 +104,5 @@
104
104
  "publishConfig": {
105
105
  "access": "public"
106
106
  },
107
- "gitHead": "5b043cc1ab85079be3e187bfed0bbd219426bae5"
107
+ "gitHead": "d4ce2a82d9b70af7cecf5174ec2521b0911f737d"
108
108
  }