@percy/sdk-utils 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -74,7 +74,13 @@
74
74
 
75
75
  function logger(namespace) {
76
76
  return Object.keys(LOG_LEVELS).reduce((ns, lvl) => Object.assign(ns, {
77
- [lvl]: log.bind(null, namespace, lvl)
77
+ [lvl]: function () {
78
+ for (var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ a[_key] = arguments[_key];
80
+ }
81
+
82
+ return logger.log(namespace, lvl, ...a);
83
+ }
78
84
  }), {});
79
85
  } // Set and/or return the local loglevel
80
86
 
@@ -181,8 +187,8 @@
181
187
  }));
182
188
  } catch (err) {
183
189
  // there was an error connecting, will fallback to minimal logging
184
- log('utils', 'debug', 'Unable to connect to remote logger');
185
- log('utils', 'debug', err);
190
+ logger.log('utils', 'debug', 'Unable to connect to remote logger');
191
+ logger.log('utils', 'debug', err);
186
192
  }
187
193
  };
188
194
 
package/dist/logger.js CHANGED
@@ -24,7 +24,7 @@ const LOG_LEVELS = {
24
24
 
25
25
  function logger(namespace) {
26
26
  return Object.keys(LOG_LEVELS).reduce((ns, lvl) => Object.assign(ns, {
27
- [lvl]: log.bind(null, namespace, lvl)
27
+ [lvl]: (...a) => logger.log(namespace, lvl, ...a)
28
28
  }), {});
29
29
  } // Set and/or return the local loglevel
30
30
 
@@ -131,8 +131,8 @@ const remote = logger.remote = async timeout => {
131
131
  }));
132
132
  } catch (err) {
133
133
  // there was an error connecting, will fallback to minimal logging
134
- log('utils', 'debug', 'Unable to connect to remote logger');
135
- log('utils', 'debug', err);
134
+ logger.log('utils', 'debug', 'Unable to connect to remote logger');
135
+ logger.log('utils', 'debug', err);
136
136
  }
137
137
  };
138
138
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@percy/sdk-utils",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -50,5 +50,5 @@
50
50
  ]
51
51
  }
52
52
  },
53
- "gitHead": "1232b3fe054c7bd73879fd85ca109a723dbfb5b6"
53
+ "gitHead": "ab7652e08dab49b3efbe2968339c5a70391ed4ff"
54
54
  }
package/test/client.js CHANGED
@@ -52,6 +52,10 @@
52
52
  },
53
53
 
54
54
  async teardown() {
55
+ var _utils$logger$log$res, _utils$logger$log;
56
+
57
+ (_utils$logger$log$res = (_utils$logger$log = utils.logger.log).restore) === null || _utils$logger$log$res === void 0 ? void 0 : _utils$logger$log$res.call(_utils$logger$log);
58
+
55
59
  if (process.env.__PERCY_BROWSERIFIED__) {
56
60
  for (let m of ['warn', 'error', 'log']) {
57
61
  var _console$m$restore, _console$m;
@@ -91,32 +95,33 @@
91
95
 
92
96
  async mock() {
93
97
  helpers.logger.reset();
98
+ let shouldCaptureLogs = false;
99
+ stub(utils.logger, 'log', function () {
100
+ shouldCaptureLogs = true;
101
+ utils.logger.log.originalValue(...arguments);
102
+ shouldCaptureLogs = false;
103
+ });
94
104
 
95
- let capture = err => msg => {
96
- helpers.logger[err ? 'stderr' : 'stdout'].push(sanitizeLog(msg));
97
- };
105
+ let stubLogs = (ctx, method, err) => stub(ctx, method, msg => {
106
+ if (!shouldCaptureLogs) return ctx[method].originalValue.call(ctx, msg);else helpers.logger[err ? 'stderr' : 'stdout'].push(sanitizeLog(msg));
107
+ });
98
108
 
99
109
  if (process.env.__PERCY_BROWSERIFIED__) {
100
- // use console[warn|error|log] in browsers
101
- for (let m of ['warn', 'error', 'log']) {
102
- stub(console, m, capture(m !== 'log'));
103
- }
110
+ for (let m of ['warn', 'error', 'log']) stubLogs(console, m, m !== 'log');
104
111
  } else {
105
- // use process[stdout|stderr].write in node
106
- for (let io of ['stdout', 'stderr']) {
107
- stub(process[io], 'write', capture(io === 'stderr'));
108
- }
112
+ for (let io of ['stdout', 'stderr']) stubLogs(process[io], 'write', io === 'stderr');
109
113
  }
110
114
  },
111
115
 
112
116
  reset() {
113
- var _utils$logger$remote$;
117
+ var _utils$logger$remote$, _utils$logger$log$res2, _utils$logger$log2;
114
118
 
115
119
  (_utils$logger$remote$ = utils.logger.remote.socket) === null || _utils$logger$remote$ === void 0 ? void 0 : _utils$logger$remote$.close();
116
120
  delete utils.logger.loglevel.lvl;
117
121
  delete utils.logger.log.history;
118
122
  helpers.logger.stdout.length = 0;
119
123
  helpers.logger.stderr.length = 0;
124
+ (_utils$logger$log$res2 = (_utils$logger$log2 = utils.logger.log).reset) === null || _utils$logger$log$res2 === void 0 ? void 0 : _utils$logger$log$res2.call(_utils$logger$log2);
120
125
 
121
126
  if (process.env.__PERCY_BROWSERIFIED__) {
122
127
  for (let m of ['warn', 'error', 'log']) {
package/test/helpers.js CHANGED
@@ -41,6 +41,8 @@ const helpers = {
41
41
  },
42
42
 
43
43
  async teardown() {
44
+ utils.logger.log.restore?.();
45
+
44
46
  if (process.env.__PERCY_BROWSERIFIED__) {
45
47
  for (let m of ['warn', 'error', 'log']) console[m].restore?.();
46
48
  } else {
@@ -68,21 +70,23 @@ const helpers = {
68
70
  async mock() {
69
71
  helpers.logger.reset();
70
72
 
71
- let capture = err => msg => {
72
- helpers.logger[err ? 'stderr' : 'stdout']
73
- .push(sanitizeLog(msg));
74
- };
73
+ let shouldCaptureLogs = false;
74
+
75
+ stub(utils.logger, 'log', (...args) => {
76
+ shouldCaptureLogs = true;
77
+ utils.logger.log.originalValue(...args);
78
+ shouldCaptureLogs = false;
79
+ });
80
+
81
+ let stubLogs = (ctx, method, err) => stub(ctx, method, msg => {
82
+ if (!shouldCaptureLogs) return ctx[method].originalValue.call(ctx, msg);
83
+ else helpers.logger[err ? 'stderr' : 'stdout'].push(sanitizeLog(msg));
84
+ });
75
85
 
76
86
  if (process.env.__PERCY_BROWSERIFIED__) {
77
- // use console[warn|error|log] in browsers
78
- for (let m of ['warn', 'error', 'log']) {
79
- stub(console, m, capture(m !== 'log'));
80
- }
87
+ for (let m of ['warn', 'error', 'log']) stubLogs(console, m, m !== 'log');
81
88
  } else {
82
- // use process[stdout|stderr].write in node
83
- for (let io of ['stdout', 'stderr']) {
84
- stub(process[io], 'write', capture(io === 'stderr'));
85
- }
89
+ for (let io of ['stdout', 'stderr']) stubLogs(process[io], 'write', io === 'stderr');
86
90
  }
87
91
  },
88
92
 
@@ -93,6 +97,7 @@ const helpers = {
93
97
 
94
98
  helpers.logger.stdout.length = 0;
95
99
  helpers.logger.stderr.length = 0;
100
+ utils.logger.log.reset?.();
96
101
 
97
102
  if (process.env.__PERCY_BROWSERIFIED__) {
98
103
  for (let m of ['warn', 'error', 'log']) console[m].reset?.();