@percy/sdk-utils 1.0.0-beta.71 → 1.0.0-beta.72
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 +38 -25
- package/dist/percy-dom.js +6 -2
- package/dist/percy-enabled.js +17 -6
- package/dist/post-snapshot.js +6 -2
- package/dist/request.js +6 -2
- package/package.json +11 -11
- package/test/client.js +6 -5
- package/test/server.js +2 -1
package/dist/bundle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function() {
|
|
2
|
-
(function (exports, require$$0$1
|
|
2
|
+
(function (exports, require$$0$1) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
5
|
const process = (typeof globalThis !== "undefined" && globalThis.process) || {};
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
11
11
|
var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
|
|
12
|
-
var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
|
|
13
12
|
|
|
14
13
|
function getAugmentedNamespace(n) {
|
|
15
14
|
if (n.__esModule) return n;
|
|
@@ -34,10 +33,11 @@
|
|
|
34
33
|
const ANSI_REG = new RegExp('[\\u001B\\u009B][[\\]()#;?]*((?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)' + '|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))', 'g'); // color names by ansi escape code
|
|
35
34
|
|
|
36
35
|
const ANSI_COLORS = {
|
|
37
|
-
'
|
|
38
|
-
'
|
|
36
|
+
'91m': 'red',
|
|
37
|
+
'32m': 'green',
|
|
38
|
+
'93m': 'yellow',
|
|
39
39
|
'34m': 'blue',
|
|
40
|
-
'
|
|
40
|
+
'95m': 'magenta',
|
|
41
41
|
'90m': 'grey'
|
|
42
42
|
}; // colorize each line of a string using an ansi escape sequence
|
|
43
43
|
|
|
@@ -114,8 +114,8 @@
|
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
loglevel(level) {
|
|
117
|
-
if (
|
|
118
|
-
this.level
|
|
117
|
+
if (level) this.level = level;
|
|
118
|
+
return this.level;
|
|
119
119
|
} // Change namespaces by generating an array of namespace regular expressions from a
|
|
120
120
|
// comma separated debug string
|
|
121
121
|
|
|
@@ -148,9 +148,13 @@
|
|
|
148
148
|
return Object.keys(LOG_LEVELS).reduce((group, level) => Object.assign(group, {
|
|
149
149
|
[level]: this.log.bind(this, name, level)
|
|
150
150
|
}), {
|
|
151
|
-
progress: this.progress.bind(this, name),
|
|
152
151
|
deprecated: this.deprecated.bind(this, name),
|
|
153
|
-
shouldLog: this.shouldLog.bind(this, name)
|
|
152
|
+
shouldLog: this.shouldLog.bind(this, name),
|
|
153
|
+
progress: this.progress.bind(this, name),
|
|
154
|
+
format: this.format.bind(this, name),
|
|
155
|
+
loglevel: this.loglevel.bind(this),
|
|
156
|
+
stdout: this.constructor.stdout,
|
|
157
|
+
stderr: this.constructor.stderr
|
|
154
158
|
});
|
|
155
159
|
} // Query for a set of logs by filtering the in-memory store
|
|
156
160
|
|
|
@@ -160,10 +164,18 @@
|
|
|
160
164
|
} // Formats messages before they are logged to stdio
|
|
161
165
|
|
|
162
166
|
|
|
163
|
-
format(
|
|
167
|
+
format(debug, level, message, elapsed) {
|
|
164
168
|
let label = 'percy';
|
|
165
169
|
let suffix = '';
|
|
166
170
|
|
|
171
|
+
if (arguments.length === 1) {
|
|
172
|
+
// format(message)
|
|
173
|
+
[debug, message] = [null, debug];
|
|
174
|
+
} else if (arguments.length === 2) {
|
|
175
|
+
// format(debug, message)
|
|
176
|
+
[level, message] = [null, level];
|
|
177
|
+
}
|
|
178
|
+
|
|
167
179
|
if (this.level === 'debug') {
|
|
168
180
|
// include debug info in the label
|
|
169
181
|
if (debug) label += `:${debug}`; // include elapsed time since last log
|
|
@@ -197,7 +209,7 @@
|
|
|
197
209
|
} = this.constructor;
|
|
198
210
|
|
|
199
211
|
if (stdout.isTTY || !this._progress) {
|
|
200
|
-
message && (message = this.format(
|
|
212
|
+
message && (message = this.format(debug, message));
|
|
201
213
|
if (stdout.isTTY) stdout.cursorTo(0);else message && (message = message + '\n');
|
|
202
214
|
if (message) stdout.write(message);
|
|
203
215
|
if (stdout.isTTY) stdout.clearLine(1);
|
|
@@ -266,7 +278,7 @@
|
|
|
266
278
|
if (this.shouldLog(debug, level)) {
|
|
267
279
|
let elapsed = timestamp - (this.lastlog || timestamp);
|
|
268
280
|
if (isError && this.level !== 'debug') message = error.toString();
|
|
269
|
-
this.write(level, this.format(
|
|
281
|
+
this.write(level, this.format(debug, error ? 'error' : level, message, elapsed));
|
|
270
282
|
this.lastlog = timestamp;
|
|
271
283
|
}
|
|
272
284
|
} // Writes a message to stdio based on the loglevel
|
|
@@ -390,10 +402,11 @@
|
|
|
390
402
|
|
|
391
403
|
var logger$1 = /*#__PURE__*/Object.freeze({
|
|
392
404
|
__proto__: null,
|
|
405
|
+
PercyLogger: PercyLogger,
|
|
393
406
|
'default': PercyLogger
|
|
394
407
|
});
|
|
395
408
|
|
|
396
|
-
class
|
|
409
|
+
class PercyBrowserLogger extends PercyLogger {
|
|
397
410
|
write(level, message) {
|
|
398
411
|
let out = ['warn', 'error'].includes(level) ? level : 'log';
|
|
399
412
|
let colors = [];
|
|
@@ -412,7 +425,8 @@
|
|
|
412
425
|
|
|
413
426
|
var browser = /*#__PURE__*/Object.freeze({
|
|
414
427
|
__proto__: null,
|
|
415
|
-
|
|
428
|
+
PercyBrowserLogger: PercyBrowserLogger,
|
|
429
|
+
'default': PercyBrowserLogger
|
|
416
430
|
});
|
|
417
431
|
|
|
418
432
|
var require$$0 = /*@__PURE__*/getAugmentedNamespace(browser);
|
|
@@ -440,13 +454,9 @@
|
|
|
440
454
|
remote: function () {
|
|
441
455
|
return new Logger().remote(...arguments);
|
|
442
456
|
},
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
let flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
446
|
-
if (flags.debug) level = 'debug';else if (flags.verbose) level = 'debug';else if (flags.quiet) level = 'warn';else if (flags.silent) level = 'silent';
|
|
447
|
-
return new Logger().loglevel(level);
|
|
457
|
+
loglevel: function () {
|
|
458
|
+
return new Logger().loglevel(...arguments);
|
|
448
459
|
}
|
|
449
|
-
|
|
450
460
|
});
|
|
451
461
|
Object.defineProperties(logger, {
|
|
452
462
|
Logger: {
|
|
@@ -583,16 +593,19 @@
|
|
|
583
593
|
}
|
|
584
594
|
|
|
585
595
|
async function connectRemoteLogger() {
|
|
586
|
-
await src.remote(() => {
|
|
596
|
+
await src.remote(async () => {
|
|
587
597
|
let url = info.address.replace('http', 'ws');
|
|
588
598
|
|
|
589
599
|
if (process.env.__PERCY_BROWSERIFIED__) {
|
|
590
600
|
return new window.WebSocket(url);
|
|
591
601
|
} else {
|
|
592
|
-
|
|
602
|
+
/* eslint-disable-next-line import/no-extraneous-dependencies */
|
|
603
|
+
let {
|
|
604
|
+
default: WebSocket
|
|
605
|
+
} = await import('ws');
|
|
606
|
+
let ws = new WebSocket(url); // allow node to exit with an active connection
|
|
593
607
|
|
|
594
|
-
|
|
595
|
-
return socket;
|
|
608
|
+
return ws.once('open', () => ws._socket.unref());
|
|
596
609
|
}
|
|
597
610
|
});
|
|
598
611
|
} // Check if Percy is enabled using the healthcheck endpoint
|
|
@@ -671,7 +684,7 @@
|
|
|
671
684
|
|
|
672
685
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
673
686
|
|
|
674
|
-
})(this.PercySDKUtils = this.PercySDKUtils || {}, null
|
|
687
|
+
})(this.PercySDKUtils = this.PercySDKUtils || {}, null);
|
|
675
688
|
}).call(window);
|
|
676
689
|
|
|
677
690
|
if (typeof define === "function" && define.amd) {
|
package/dist/percy-dom.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.fetchPercyDOM = fetchPercyDOM;
|
|
7
8
|
|
|
8
9
|
var _percyInfo = _interopRequireDefault(require("./percy-info"));
|
|
9
10
|
|
|
@@ -19,4 +20,7 @@ async function fetchPercyDOM() {
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
return _percyInfo.default.domScript;
|
|
22
|
-
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var _default = fetchPercyDOM;
|
|
26
|
+
exports.default = _default;
|
package/dist/percy-enabled.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.isPercyEnabled = isPercyEnabled;
|
|
7
8
|
|
|
8
9
|
var _logger = _interopRequireDefault(require("@percy/logger"));
|
|
9
10
|
|
|
@@ -13,18 +14,25 @@ var _request = _interopRequireDefault(require("./request"));
|
|
|
13
14
|
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
|
|
16
21
|
// Create a socket to connect to a remote logger
|
|
17
22
|
async function connectRemoteLogger() {
|
|
18
|
-
await _logger.default.remote(() => {
|
|
23
|
+
await _logger.default.remote(async () => {
|
|
19
24
|
let url = _percyInfo.default.address.replace('http', 'ws');
|
|
20
25
|
|
|
21
26
|
if (process.env.__PERCY_BROWSERIFIED__) {
|
|
22
27
|
return new window.WebSocket(url);
|
|
23
28
|
} else {
|
|
24
|
-
|
|
29
|
+
/* eslint-disable-next-line import/no-extraneous-dependencies */
|
|
30
|
+
let {
|
|
31
|
+
default: WebSocket
|
|
32
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require('ws')));
|
|
33
|
+
let ws = new WebSocket(url); // allow node to exit with an active connection
|
|
25
34
|
|
|
26
|
-
|
|
27
|
-
return socket;
|
|
35
|
+
return ws.once('open', () => ws._socket.unref());
|
|
28
36
|
}
|
|
29
37
|
});
|
|
30
38
|
} // Check if Percy is enabled using the healthcheck endpoint
|
|
@@ -60,4 +68,7 @@ async function isPercyEnabled() {
|
|
|
60
68
|
}
|
|
61
69
|
|
|
62
70
|
return _percyInfo.default.enabled;
|
|
63
|
-
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
var _default = isPercyEnabled;
|
|
74
|
+
exports.default = _default;
|
package/dist/post-snapshot.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.postSnapshot = postSnapshot;
|
|
7
8
|
|
|
8
9
|
var _percyInfo = _interopRequireDefault(require("./percy-info"));
|
|
9
10
|
|
|
@@ -22,4 +23,7 @@ async function postSnapshot(options, params) {
|
|
|
22
23
|
throw err;
|
|
23
24
|
}
|
|
24
25
|
});
|
|
25
|
-
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var _default = postSnapshot;
|
|
29
|
+
exports.default = _default;
|
package/dist/request.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.request = request;
|
|
7
8
|
|
|
8
9
|
var _percyInfo = _interopRequireDefault(require("./percy-info"));
|
|
9
10
|
|
|
@@ -69,4 +70,7 @@ if (process.env.__PERCY_BROWSERIFIED__) {
|
|
|
69
70
|
}).on('error', reject).end(options.body);
|
|
70
71
|
});
|
|
71
72
|
};
|
|
72
|
-
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var _default = request;
|
|
76
|
+
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@percy/sdk-utils",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.72",
|
|
4
4
|
"license": "MIT",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/percy/cli",
|
|
8
|
+
"directory": "packages/sdk-utils"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
5
13
|
"main": "dist/index.js",
|
|
6
14
|
"browser": "dist/bundle.js",
|
|
7
15
|
"files": [
|
|
@@ -19,9 +27,6 @@
|
|
|
19
27
|
"test": "node ../../scripts/test",
|
|
20
28
|
"test:coverage": "yarn test --coverage"
|
|
21
29
|
},
|
|
22
|
-
"publishConfig": {
|
|
23
|
-
"access": "public"
|
|
24
|
-
},
|
|
25
30
|
"karma": {
|
|
26
31
|
"run_start": "node test/server start &",
|
|
27
32
|
"run_complete": "node test/server stop"
|
|
@@ -46,12 +51,7 @@
|
|
|
46
51
|
}
|
|
47
52
|
},
|
|
48
53
|
"dependencies": {
|
|
49
|
-
"@percy/logger": "1.0.0-beta.
|
|
50
|
-
},
|
|
51
|
-
"repository": {
|
|
52
|
-
"type": "git",
|
|
53
|
-
"url": "https://github.com/percy/cli",
|
|
54
|
-
"directory": "packages/sdk-utils"
|
|
54
|
+
"@percy/logger": "1.0.0-beta.72"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "6219287e18a0cacb609d0c2696a5785abc9009b9"
|
|
57
57
|
}
|
package/test/client.js
CHANGED
|
@@ -39,10 +39,11 @@
|
|
|
39
39
|
const ANSI_REG$1 = new RegExp('[\\u001B\\u009B][[\\]()#;?]*((?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)' + '|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))', 'g'); // color names by ansi escape code
|
|
40
40
|
|
|
41
41
|
const ANSI_COLORS = {
|
|
42
|
-
'
|
|
43
|
-
'
|
|
42
|
+
'91m': 'red',
|
|
43
|
+
'32m': 'green',
|
|
44
|
+
'93m': 'yellow',
|
|
44
45
|
'34m': 'blue',
|
|
45
|
-
'
|
|
46
|
+
'95m': 'magenta',
|
|
46
47
|
'90m': 'grey'
|
|
47
48
|
}; // colorize each line of a string using an ansi escape sequence
|
|
48
49
|
|
|
@@ -188,7 +189,7 @@
|
|
|
188
189
|
|
|
189
190
|
let logs = Array.from(helpers$1.messages);
|
|
190
191
|
logger$1.loglevel('debug');
|
|
191
|
-
write(logger$1.format('
|
|
192
|
+
write(logger$1.format('testing', 'warn', '--- DUMPING LOGS ---'));
|
|
192
193
|
logs.reduce((lastlog, _ref) => {
|
|
193
194
|
let {
|
|
194
195
|
debug,
|
|
@@ -196,7 +197,7 @@
|
|
|
196
197
|
message,
|
|
197
198
|
timestamp
|
|
198
199
|
} = _ref;
|
|
199
|
-
write(logger$1.format(
|
|
200
|
+
write(logger$1.format(debug, level, message, timestamp - lastlog));
|
|
200
201
|
return timestamp;
|
|
201
202
|
}, logs[0].timestamp);
|
|
202
203
|
}
|
package/test/server.js
CHANGED
|
@@ -123,12 +123,13 @@ async function start(args, log) {
|
|
|
123
123
|
close.called = true;
|
|
124
124
|
|
|
125
125
|
if (ctx) ctx.call('close');
|
|
126
|
+
for (let ws of wss.clients) ws.terminate();
|
|
126
127
|
wss.close(() => log('info', 'Closed SDK testing server'));
|
|
127
128
|
};
|
|
128
129
|
|
|
129
130
|
wss.on('connection', ws => {
|
|
130
131
|
ws.on('message', data => {
|
|
131
|
-
if (data === 'CLOSE') return close();
|
|
132
|
+
if (data.toString() === 'CLOSE') return close();
|
|
132
133
|
let { id, event, args = [] } = JSON.parse(data);
|
|
133
134
|
|
|
134
135
|
Promise.resolve().then(async () => {
|