creevey 0.9.0-beta.13 → 0.9.0-beta.14
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/.yarn/install-state.gz +0 -0
- package/.yarnrc.yml +1 -0
- package/lib/cjs/cli.js +1 -0
- package/lib/cjs/client/addon/Manager.js +151 -223
- package/lib/cjs/client/addon/components/Addon.js +2 -9
- package/lib/cjs/client/addon/components/Icons.js +1 -7
- package/lib/cjs/client/addon/components/Panel.js +5 -18
- package/lib/cjs/client/addon/components/TestSelect.js +12 -25
- package/lib/cjs/client/addon/components/Tools.js +17 -28
- package/lib/cjs/client/addon/decorator.js +1 -4
- package/lib/cjs/client/addon/index.js +0 -4
- package/lib/cjs/client/addon/preset.js +3 -12
- package/lib/cjs/client/addon/preview.js +1 -4
- package/lib/cjs/client/addon/readyForCapture.js +1 -4
- package/lib/cjs/client/addon/register.js +11 -26
- package/lib/cjs/client/addon/utils.js +1 -9
- package/lib/cjs/client/addon/withCreevey.js +55 -134
- package/lib/cjs/client/shared/components/ImagesView/BlendView.js +5 -17
- package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +8 -24
- package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +7 -23
- package/lib/cjs/client/shared/components/ImagesView/SlideView.js +7 -22
- package/lib/cjs/client/shared/components/ImagesView/SwapView.js +5 -17
- package/lib/cjs/client/shared/components/ImagesView/index.js +0 -5
- package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +1 -8
- package/lib/cjs/client/shared/components/PageFooter/Paging.js +2 -19
- package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +21 -17
- package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +5 -24
- package/lib/cjs/client/shared/components/ResultsPage.js +9 -37
- package/lib/cjs/client/shared/creeveyClientApi.js +3 -13
- package/lib/cjs/client/shared/helpers.js +21 -75
- package/lib/cjs/client/shared/viewMode.js +2 -6
- package/lib/cjs/client/web/192.js +1 -0
- package/lib/cjs/client/web/632.js +43 -0
- package/lib/cjs/client/web/794.js +1 -0
- package/lib/cjs/client/web/main.js +78 -1
- package/lib/cjs/client/web/main.js.LICENSE.txt +0 -15
- package/lib/cjs/creevey.js +5 -21
- package/lib/cjs/index.js +0 -15
- package/lib/cjs/server/config.js +13 -33
- package/lib/cjs/server/docker.js +5 -27
- package/lib/cjs/server/index.js +8 -33
- package/lib/cjs/server/logger.js +5 -19
- package/lib/cjs/server/master/api.js +1 -14
- package/lib/cjs/server/master/index.js +15 -46
- package/lib/cjs/server/master/master.js +6 -21
- package/lib/cjs/server/master/pool.js +2 -37
- package/lib/cjs/server/master/runner.js +15 -42
- package/lib/cjs/server/master/server.js +5 -27
- package/lib/cjs/server/messages.js +7 -53
- package/lib/cjs/server/selenium/browser.js +51 -136
- package/lib/cjs/server/selenium/index.js +0 -4
- package/lib/cjs/server/selenium/selenoid.js +7 -33
- package/lib/cjs/server/stories.js +25 -30
- package/lib/cjs/server/storybook/providers/browser.js +5 -18
- package/lib/cjs/server/storybook/providers/hybrid.js +9 -29
- package/lib/cjs/server/testsFiles/parser.js +3 -19
- package/lib/cjs/server/testsFiles/register.js +7 -9
- package/lib/cjs/server/update.js +3 -20
- package/lib/cjs/server/utils.js +9 -41
- package/lib/cjs/server/worker/chai-image.js +1 -27
- package/lib/cjs/server/worker/helpers.js +2 -12
- package/lib/cjs/server/worker/index.js +1 -3
- package/lib/cjs/server/worker/reporter.js +8 -24
- package/lib/cjs/server/worker/worker.js +5 -49
- package/lib/cjs/shared/index.js +22 -36
- package/lib/cjs/shared/serializeRegExp.js +0 -8
- package/lib/cjs/types.js +4 -14
- package/lib/esm/cli.js +1 -1
- package/lib/esm/client/addon/Manager.js +151 -214
- package/lib/esm/client/addon/components/Panel.js +4 -6
- package/lib/esm/client/addon/components/TestSelect.js +11 -17
- package/lib/esm/client/addon/components/Tools.js +15 -14
- package/lib/esm/client/addon/preset.js +2 -8
- package/lib/esm/client/addon/readyForCapture.js +1 -3
- package/lib/esm/client/addon/register.js +6 -8
- package/lib/esm/client/addon/utils.js +0 -5
- package/lib/esm/client/addon/withCreevey.js +54 -116
- package/lib/esm/client/shared/components/ImagesView/BlendView.js +1 -1
- package/lib/esm/client/shared/components/ImagesView/ImagesView.js +6 -8
- package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +3 -4
- package/lib/esm/client/shared/components/ImagesView/SlideView.js +3 -3
- package/lib/esm/client/shared/components/ImagesView/SwapView.js +1 -1
- package/lib/esm/client/shared/components/PageFooter/Paging.js +1 -11
- package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +18 -7
- package/lib/esm/client/shared/components/PageHeader/PageHeader.js +3 -8
- package/lib/esm/client/shared/components/ResultsPage.js +6 -15
- package/lib/esm/client/shared/creeveyClientApi.js +3 -10
- package/lib/esm/client/shared/helpers.js +21 -47
- package/lib/esm/client/web/192.js +1 -0
- package/lib/esm/client/web/632.js +43 -0
- package/lib/esm/client/web/794.js +1 -0
- package/lib/esm/client/web/index.html +19 -0
- package/lib/esm/client/web/main.js +79 -0
- package/lib/esm/client/web/main.js.LICENSE.txt +34 -0
- package/lib/esm/creevey.js +4 -8
- package/lib/esm/index.js +0 -1
- package/lib/esm/server/config.js +7 -14
- package/lib/esm/server/docker.js +4 -12
- package/lib/esm/server/index.js +7 -21
- package/lib/esm/server/logger.js +0 -1
- package/lib/esm/server/master/api.js +0 -9
- package/lib/esm/server/master/index.js +15 -32
- package/lib/esm/server/master/master.js +2 -7
- package/lib/esm/server/master/pool.js +0 -23
- package/lib/esm/server/master/runner.js +14 -27
- package/lib/esm/server/master/server.js +4 -9
- package/lib/esm/server/messages.js +6 -38
- package/lib/esm/server/selenium/browser.js +50 -114
- package/lib/esm/server/selenium/selenoid.js +6 -17
- package/lib/esm/server/stories.js +24 -20
- package/lib/esm/server/storybook/providers/browser.js +4 -8
- package/lib/esm/server/storybook/providers/hybrid.js +6 -14
- package/lib/esm/server/testsFiles/parser.js +0 -6
- package/lib/esm/server/testsFiles/register.js +5 -2
- package/lib/esm/server/update.js +0 -8
- package/lib/esm/server/utils.js +3 -11
- package/lib/esm/server/worker/chai-image.js +0 -21
- package/lib/esm/server/worker/helpers.js +2 -9
- package/lib/esm/server/worker/reporter.js +7 -10
- package/lib/esm/server/worker/worker.js +4 -25
- package/lib/esm/shared/index.js +24 -25
- package/lib/esm/types.js +4 -1
- package/lib/types/client/addon/Manager.d.ts +1 -1
- package/lib/types/client/addon/components/Addon.d.ts +1 -0
- package/lib/types/client/addon/components/Icons.d.ts +1 -0
- package/lib/types/client/addon/components/Panel.d.ts +1 -0
- package/lib/types/client/addon/components/TestSelect.d.ts +1 -0
- package/lib/types/client/addon/components/Tools.d.ts +1 -0
- package/lib/types/client/addon/decorator.d.ts +1 -1
- package/lib/types/client/addon/preset.d.ts +2 -2
- package/lib/types/client/addon/preview.d.ts +1 -1
- package/lib/types/client/addon/withCreevey.d.ts +3 -2
- package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -1
- package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +1 -0
- package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -1
- package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -1
- package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -1
- package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +1 -0
- package/lib/types/client/shared/components/PageFooter/Paging.d.ts +1 -0
- package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +3 -1
- package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +1 -0
- package/lib/types/client/shared/components/ResultsPage.d.ts +3 -1
- package/lib/types/client/web/CreeveyApp.d.ts +1 -0
- package/lib/types/client/web/CreeveyLoader.d.ts +2 -1
- package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +4 -1
- package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +1 -0
- package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +1 -0
- package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +19 -14
- package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +1 -0
- package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +3 -1
- package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +3 -1
- package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +1 -0
- package/lib/types/shared/index.d.ts +1 -1
- package/lib/types/types.d.ts +7 -28
- package/package.json +60 -78
- package/lib/cjs/client/addon/preset.ie11.js +0 -74
- package/lib/cjs/client/addon/preset.sb7.js +0 -19
- package/lib/cjs/client/web/142.js +0 -2
- package/lib/cjs/client/web/142.js.LICENSE.txt +0 -12
- package/lib/cjs/client/web/32.js +0 -1
- package/lib/cjs/client/web/551.js +0 -1
- package/lib/cjs/client/web/566.js +0 -2
- package/lib/cjs/client/web/566.js.LICENSE.txt +0 -31
- package/lib/cjs/client/web/691.js +0 -2
- package/lib/cjs/client/web/691.js.LICENSE.txt +0 -8
- package/lib/cjs/client/web/725.js +0 -1
- package/lib/cjs/server/extract.js +0 -46
- package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -86
- package/lib/cjs/server/loaders/babel/helpers.js +0 -469
- package/lib/cjs/server/loaders/babel/register.js +0 -124
- package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
- package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
- package/lib/cjs/server/loaders/webpack/compile.js +0 -269
- package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -172
- package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -39
- package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
- package/lib/cjs/server/loaders/webpack/start.js +0 -41
- package/lib/cjs/server/storybook/entry.js +0 -53
- package/lib/cjs/server/storybook/helpers.js +0 -158
- package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
- package/lib/esm/client/addon/preset.ie11.js +0 -59
- package/lib/esm/client/addon/preset.sb7.js +0 -8
- package/lib/esm/server/extract.js +0 -32
- package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -72
- package/lib/esm/server/loaders/babel/helpers.js +0 -452
- package/lib/esm/server/loaders/babel/register.js +0 -103
- package/lib/esm/server/loaders/hooks/mdx.js +0 -15
- package/lib/esm/server/loaders/hooks/svelte.js +0 -49
- package/lib/esm/server/loaders/webpack/compile.js +0 -246
- package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -152
- package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -32
- package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
- package/lib/esm/server/loaders/webpack/start.js +0 -27
- package/lib/esm/server/storybook/entry.js +0 -27
- package/lib/esm/server/storybook/helpers.js +0 -97
- package/lib/esm/server/storybook/providers/nodejs.js +0 -216
- package/lib/types/client/addon/preset.ie11.d.ts +0 -10
- package/lib/types/client/addon/preset.sb7.d.ts +0 -2
- package/lib/types/server/extract.d.ts +0 -2
- package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
- package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
- package/lib/types/server/loaders/babel/register.d.ts +0 -5
- package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
- package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
- package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
- package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
- package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
- package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
- package/lib/types/server/loaders/webpack/start.d.ts +0 -1
- package/lib/types/server/storybook/entry.d.ts +0 -17
- package/lib/types/server/storybook/helpers.d.ts +0 -24
- package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
- package/preset/ie11.js +0 -5
- package/preset/index.js +0 -9
- package/preset/sb7.js +0 -5
- package/types/mdx.d.ts +0 -7
@@ -4,21 +4,6 @@ object-assign
|
|
4
4
|
@license MIT
|
5
5
|
*/
|
6
6
|
|
7
|
-
/*! *****************************************************************************
|
8
|
-
Copyright (c) Microsoft Corporation.
|
9
|
-
|
10
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
11
|
-
purpose with or without fee is hereby granted.
|
12
|
-
|
13
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
14
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
15
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
16
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
17
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
18
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
19
|
-
PERFORMANCE OF THIS SOFTWARE.
|
20
|
-
***************************************************************************** */
|
21
|
-
|
22
7
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
23
8
|
|
24
9
|
/** @license React v0.20.2
|
package/lib/cjs/creevey.js
CHANGED
@@ -1,29 +1,18 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _cluster = _interopRequireDefault(require("cluster"));
|
4
|
-
|
5
4
|
var _minimist = _interopRequireDefault(require("minimist"));
|
6
|
-
|
7
5
|
var _server = _interopRequireDefault(require("./server"));
|
8
|
-
|
9
6
|
var _types = require("./types");
|
10
|
-
|
11
7
|
var _messages = require("./server/messages");
|
12
|
-
|
13
8
|
var _utils = require("./server/utils");
|
14
|
-
|
15
9
|
var _loglevel = require("loglevel");
|
16
|
-
|
17
10
|
var _logger = require("./server/logger");
|
18
|
-
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20
|
-
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
21
12
|
function shutdownOnException(reason) {
|
22
13
|
if (_utils.isShuttingDown.current) return;
|
23
14
|
const error = reason instanceof Error ? reason.stack ?? reason.message : reason;
|
24
|
-
|
25
15
|
_logger.logger.error(error);
|
26
|
-
|
27
16
|
process.exitCode = -1;
|
28
17
|
if (_cluster.default.isWorker) (0, _messages.emitWorkerMessage)({
|
29
18
|
type: 'error',
|
@@ -33,14 +22,13 @@ function shutdownOnException(reason) {
|
|
33
22
|
});
|
34
23
|
if (_cluster.default.isPrimary && !_utils.isShuttingDown.current) void (0, _utils.shutdownWorkers)();
|
35
24
|
}
|
36
|
-
|
37
25
|
process.on('uncaughtException', shutdownOnException);
|
38
26
|
process.on('unhandledRejection', shutdownOnException);
|
39
27
|
if (_cluster.default.isWorker) process.on('SIGINT', _types.noop);
|
40
28
|
if (_cluster.default.isPrimary) process.on('SIGINT', _utils.shutdown);
|
41
29
|
const argv = (0, _minimist.default)(process.argv.slice(2), {
|
42
30
|
string: ['browser', 'config', 'reporter', 'reportDir', 'screenDir'],
|
43
|
-
boolean: ['debug', 'ui', 'saveReport', '
|
31
|
+
boolean: ['debug', 'ui', 'saveReport', 'tests'],
|
44
32
|
default: {
|
45
33
|
port: 3000,
|
46
34
|
saveReport: true
|
@@ -49,21 +37,17 @@ const argv = (0, _minimist.default)(process.argv.slice(2), {
|
|
49
37
|
port: 'p',
|
50
38
|
config: 'c',
|
51
39
|
debug: 'd',
|
52
|
-
update: 'u'
|
53
|
-
extract: 'e'
|
40
|
+
update: 'u'
|
54
41
|
}
|
55
|
-
});
|
42
|
+
});
|
56
43
|
|
44
|
+
// @ts-expect-error: define log level for storybook
|
57
45
|
global.LOGLEVEL = argv.debug ? 'debug' : 'warn';
|
58
|
-
|
59
46
|
if (argv.debug) {
|
60
47
|
_logger.logger.setDefaultLevel(_loglevel.levels.DEBUG);
|
61
|
-
|
62
48
|
(0, _loglevel.setDefaultLevel)(_loglevel.levels.DEBUG);
|
63
49
|
} else {
|
64
50
|
_logger.logger.setDefaultLevel(_loglevel.levels.INFO);
|
65
|
-
|
66
51
|
(0, _loglevel.setDefaultLevel)(_loglevel.levels.INFO);
|
67
52
|
}
|
68
|
-
|
69
53
|
void (0, _server.default)(argv);
|
package/lib/cjs/index.js
CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
var _exportNames = {
|
7
7
|
browserStoriesProvider: true,
|
8
|
-
nodejsStoriesProvider: true,
|
9
8
|
hybridStoriesProvider: true
|
10
9
|
};
|
11
10
|
Object.defineProperty(exports, "browserStoriesProvider", {
|
@@ -20,15 +19,7 @@ Object.defineProperty(exports, "hybridStoriesProvider", {
|
|
20
19
|
return _hybrid.loadStories;
|
21
20
|
}
|
22
21
|
});
|
23
|
-
Object.defineProperty(exports, "nodejsStoriesProvider", {
|
24
|
-
enumerable: true,
|
25
|
-
get: function () {
|
26
|
-
return _nodejs.loadStories;
|
27
|
-
}
|
28
|
-
});
|
29
|
-
|
30
22
|
var _types = require("./types");
|
31
|
-
|
32
23
|
Object.keys(_types).forEach(function (key) {
|
33
24
|
if (key === "default" || key === "__esModule") return;
|
34
25
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
@@ -40,15 +31,9 @@ Object.keys(_types).forEach(function (key) {
|
|
40
31
|
}
|
41
32
|
});
|
42
33
|
});
|
43
|
-
|
44
34
|
var _browser = require("./server/storybook/providers/browser");
|
45
|
-
|
46
|
-
var _nodejs = require("./server/storybook/providers/nodejs");
|
47
|
-
|
48
35
|
var _hybrid = require("./server/storybook/providers/hybrid");
|
49
|
-
|
50
36
|
var _parser = require("./server/testsFiles/parser");
|
51
|
-
|
52
37
|
Object.keys(_parser).forEach(function (key) {
|
53
38
|
if (key === "default" || key === "__esModule") return;
|
54
39
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
package/lib/cjs/server/config.js
CHANGED
@@ -5,30 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.defaultConfig = exports.defaultBrowser = void 0;
|
7
7
|
exports.readConfig = readConfig;
|
8
|
-
|
9
8
|
var _fs = _interopRequireDefault(require("fs"));
|
10
|
-
|
11
9
|
var _path = _interopRequireDefault(require("path"));
|
12
|
-
|
13
|
-
var _helpers = require("./storybook/helpers");
|
14
|
-
|
15
|
-
var _nodejs = require("./storybook/providers/nodejs");
|
16
|
-
|
17
10
|
var _browser = require("./storybook/providers/browser");
|
18
|
-
|
19
11
|
var _types = require("../types");
|
20
|
-
|
21
|
-
function
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
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; }
|
26
|
-
|
27
|
-
const defaultBrowser = 'chrome';
|
28
|
-
exports.defaultBrowser = defaultBrowser;
|
29
|
-
const defaultConfig = {
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
15
|
+
const defaultBrowser = exports.defaultBrowser = 'chrome';
|
16
|
+
const defaultConfig = exports.defaultConfig = {
|
30
17
|
useDocker: true,
|
31
|
-
useWebpackToExtractTests: false,
|
32
18
|
dockerImage: 'aerokube/selenoid:latest-release',
|
33
19
|
dockerImagePlatform: '',
|
34
20
|
pullImages: true,
|
@@ -36,7 +22,6 @@ const defaultConfig = {
|
|
36
22
|
storybookUrl: 'http://localhost:6006',
|
37
23
|
screenDir: _path.default.resolve('images'),
|
38
24
|
reportDir: _path.default.resolve('report'),
|
39
|
-
storybookDir: _path.default.resolve('.storybook'),
|
40
25
|
maxRetries: 0,
|
41
26
|
diffOptions: {
|
42
27
|
threshold: 0,
|
@@ -49,8 +34,6 @@ const defaultConfig = {
|
|
49
34
|
babelOptions: _ => _,
|
50
35
|
testsRegex: /\.creevey\.(t|j)s$/
|
51
36
|
};
|
52
|
-
exports.defaultConfig = defaultConfig;
|
53
|
-
|
54
37
|
function normalizeBrowserConfig(name, config) {
|
55
38
|
if (typeof config == 'boolean') return {
|
56
39
|
browserName: name
|
@@ -60,34 +43,31 @@ function normalizeBrowserConfig(name, config) {
|
|
60
43
|
};
|
61
44
|
return config;
|
62
45
|
}
|
63
|
-
|
64
46
|
function resolveConfigPath(configPath) {
|
65
47
|
const rootDir = process.cwd();
|
66
|
-
|
67
48
|
const configDir = _path.default.resolve('.creevey');
|
68
|
-
|
69
49
|
if ((0, _types.isDefined)(configPath)) {
|
70
50
|
configPath = _path.default.resolve(configPath);
|
71
51
|
} else if (_fs.default.existsSync(configDir)) {
|
72
|
-
configPath = _path.default.join(configDir, 'config');
|
52
|
+
configPath = _path.default.join(configDir, 'config');
|
53
|
+
// TODO We already find file with extension, why not use it?
|
73
54
|
} else if (_fs.default.readdirSync(rootDir).find(filename => filename.startsWith('creevey.config'))) {
|
74
55
|
configPath = _path.default.join(rootDir, 'creevey.config');
|
75
56
|
}
|
76
|
-
|
77
57
|
return configPath;
|
78
58
|
}
|
79
|
-
|
80
59
|
async function readConfig(options) {
|
81
60
|
const configPath = resolveConfigPath(options.config);
|
82
|
-
const userConfig = {
|
61
|
+
const userConfig = {
|
62
|
+
...defaultConfig
|
83
63
|
};
|
84
|
-
if ((0, _types.isDefined)(configPath)) Object.assign(userConfig, (await Promise
|
85
|
-
|
86
|
-
if (!userConfig.storiesProvider) userConfig.storiesProvider = (await (0, _helpers.isCSFv3Enabled)()) ? _browser.loadStories : _nodejs.loadStories;
|
64
|
+
if ((0, _types.isDefined)(configPath)) Object.assign(userConfig, (await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(configPath)).default);
|
65
|
+
if (!userConfig.storiesProvider) userConfig.storiesProvider = _browser.loadStories;
|
87
66
|
if (options.failFast != undefined) userConfig.failFast = Boolean(options.failFast);
|
88
67
|
if (options.reportDir) userConfig.reportDir = _path.default.resolve(options.reportDir);
|
89
|
-
if (options.screenDir) userConfig.screenDir = _path.default.resolve(options.screenDir);
|
68
|
+
if (options.screenDir) userConfig.screenDir = _path.default.resolve(options.screenDir);
|
90
69
|
|
70
|
+
// NOTE: Hack to pass typescript checking
|
91
71
|
const config = userConfig;
|
92
72
|
Object.entries(config.browsers).forEach(([browser, browserConfig]) => config.browsers[browser] = normalizeBrowserConfig(browser, browserConfig));
|
93
73
|
return config;
|
package/lib/cjs/server/docker.js
CHANGED
@@ -6,34 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.default = _default;
|
7
7
|
exports.pullImages = pullImages;
|
8
8
|
exports.runImage = runImage;
|
9
|
-
|
10
9
|
var _cluster = _interopRequireDefault(require("cluster"));
|
11
|
-
|
12
10
|
var _types = require("../types");
|
13
|
-
|
14
11
|
var _messages = require("./messages");
|
15
|
-
|
16
12
|
var _utils = require("./utils");
|
17
|
-
|
18
13
|
var _dockerode = _interopRequireDefault(require("dockerode"));
|
19
|
-
|
20
14
|
var _stream = require("stream");
|
21
|
-
|
22
15
|
var _ora = _interopRequireDefault(require("ora"));
|
23
|
-
|
24
16
|
var _logger = require("./logger");
|
25
|
-
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
|
-
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
28
18
|
const docker = new _dockerode.default();
|
29
|
-
|
30
19
|
class DevNull extends _stream.Writable {
|
31
20
|
_write(_chunk, _encoding, callback) {
|
32
21
|
setImmediate(callback);
|
33
22
|
}
|
34
|
-
|
35
23
|
}
|
36
|
-
|
37
24
|
async function pullImages(images, {
|
38
25
|
auth,
|
39
26
|
platform
|
@@ -41,32 +28,28 @@ async function pullImages(images, {
|
|
41
28
|
const args = {};
|
42
29
|
if (auth) args.authconfig = auth;
|
43
30
|
if (platform) args.platform = platform;
|
44
|
-
|
45
31
|
_logger.logger.info('Pull docker images');
|
46
|
-
|
47
32
|
for (const image of images) {
|
48
33
|
await new Promise((resolve, reject) => {
|
49
|
-
const spinner = (0, _ora.default)(`${image}: Pull start`).start();
|
34
|
+
const spinner = (0, _ora.default)(`${image}: Pull start`).start();
|
50
35
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
51
37
|
docker.pull(image, args, function (pullError, stream) {
|
52
38
|
if (pullError) {
|
53
39
|
spinner.fail();
|
54
40
|
return reject(pullError);
|
55
|
-
}
|
56
|
-
|
41
|
+
}
|
57
42
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
58
44
|
docker.modem.followProgress(stream, onFinished, onProgress);
|
59
|
-
|
60
45
|
function onFinished(error) {
|
61
46
|
if (error) {
|
62
47
|
spinner.fail();
|
63
48
|
return reject(error);
|
64
49
|
}
|
65
|
-
|
66
50
|
spinner.succeed(`${image}: Pull complete`);
|
67
51
|
resolve();
|
68
52
|
}
|
69
|
-
|
70
53
|
function onProgress(event) {
|
71
54
|
if (!/^[a-z0-9]{12}$/i.test(event.id)) return;
|
72
55
|
spinner.text = `${image}: [${event.id}] ${event.status} ${event.progress ? `${event.progress}` : ''}`;
|
@@ -75,7 +58,6 @@ async function pullImages(images, {
|
|
75
58
|
});
|
76
59
|
}
|
77
60
|
}
|
78
|
-
|
79
61
|
async function runImage(image, args, options, debug) {
|
80
62
|
await Promise.all((await docker.listContainers({
|
81
63
|
all: true,
|
@@ -84,13 +66,11 @@ async function runImage(image, args, options, debug) {
|
|
84
66
|
}
|
85
67
|
})).map(async info => {
|
86
68
|
const container = docker.getContainer(info.Id);
|
87
|
-
|
88
69
|
try {
|
89
70
|
await container.stop();
|
90
71
|
} catch (_) {
|
91
72
|
/* noop */
|
92
73
|
}
|
93
|
-
|
94
74
|
await container.remove();
|
95
75
|
}));
|
96
76
|
const hub = docker.run(image, args, debug ? process.stdout : new DevNull(), options, error => {
|
@@ -111,13 +91,11 @@ async function runImage(image, args, options, debug) {
|
|
111
91
|
hub.once('start', container => void container.inspect().then(info => resolve(info.NetworkSettings.Networks.bridge.IPAddress)));
|
112
92
|
});
|
113
93
|
}
|
114
|
-
|
115
94
|
async function _default(config, browser, startContainer) {
|
116
95
|
if (_cluster.default.isPrimary) {
|
117
96
|
const host = await startContainer();
|
118
97
|
let gridUrl = 'http://localhost:4444/wd/hub';
|
119
98
|
gridUrl = _utils.isInsideDocker ? gridUrl.replace(_utils.LOCALHOST_REGEXP, host) : gridUrl;
|
120
|
-
|
121
99
|
_cluster.default.on('message', (worker, message) => {
|
122
100
|
if (!(0, _types.isDockerMessage)(message)) return;
|
123
101
|
const dockerMessage = message;
|
package/lib/cjs/server/index.js
CHANGED
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = _default;
|
7
|
-
|
8
7
|
var _cluster = _interopRequireDefault(require("cluster"));
|
9
|
-
|
10
8
|
var _config = require("./config");
|
11
|
-
|
12
9
|
var _logger = require("./logger");
|
13
|
-
|
14
|
-
function
|
15
|
-
|
16
|
-
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); }
|
17
|
-
|
18
|
-
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; }
|
19
|
-
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
20
13
|
// NOTE: Impure function, mutate config by adding gridUrl prop
|
21
14
|
async function startWebdriverServer(config, options) {
|
22
15
|
if (config.useDocker) {
|
@@ -25,57 +18,39 @@ async function startWebdriverServer(config, options) {
|
|
25
18
|
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./selenium/selenoid')))).startSelenoidStandalone(config, options.debug);
|
26
19
|
}
|
27
20
|
}
|
28
|
-
|
29
21
|
async function _default(options) {
|
30
22
|
const config = await (0, _config.readConfig)(options);
|
31
23
|
const {
|
32
24
|
browser = _config.defaultBrowser,
|
33
|
-
extract,
|
34
25
|
tests,
|
35
26
|
update,
|
36
|
-
webpack,
|
37
27
|
ui,
|
38
28
|
port
|
39
29
|
} = options;
|
40
|
-
if (!config) return;
|
30
|
+
if (!config) return;
|
41
31
|
|
32
|
+
// NOTE: We don't need docker nor selenoid for webpack or update options
|
42
33
|
if (!(config.gridUrl || Object.values(config.browsers).every(({
|
43
34
|
gridUrl
|
44
|
-
}) => gridUrl)) && !
|
35
|
+
}) => gridUrl)) && !tests && !update) {
|
45
36
|
await startWebdriverServer(config, options);
|
46
37
|
}
|
47
|
-
|
48
38
|
switch (true) {
|
49
|
-
case Boolean(extract) || tests:
|
50
|
-
{
|
51
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./extract')))).default(config, options);
|
52
|
-
}
|
53
|
-
|
54
39
|
case Boolean(update):
|
55
40
|
{
|
56
41
|
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./update')))).default(config, typeof update == 'string' ? update : undefined);
|
57
42
|
}
|
58
|
-
|
59
|
-
case webpack:
|
60
|
-
{
|
61
|
-
_logger.logger.info('Starting Webpack Compiler');
|
62
|
-
|
63
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./loaders/webpack/compile')))).default(config, options);
|
64
|
-
}
|
65
|
-
|
66
43
|
case _cluster.default.isPrimary:
|
67
44
|
{
|
68
45
|
_logger.logger.info('Starting Master Process');
|
69
|
-
|
70
46
|
const resolveApi = (await Promise.resolve().then(() => _interopRequireWildcard(require('./master/server')))).default(config.reportDir, port, ui);
|
71
47
|
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./master')))).default(config, options, resolveApi);
|
72
48
|
}
|
73
|
-
|
74
49
|
default:
|
75
50
|
{
|
76
51
|
_logger.logger.info(`Starting Worker for ${browser}`);
|
77
|
-
|
78
|
-
|
52
|
+
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./worker')))).default(config, {
|
53
|
+
...options,
|
79
54
|
browser
|
80
55
|
});
|
81
56
|
}
|
package/lib/cjs/server/logger.js
CHANGED
@@ -11,38 +11,24 @@ Object.defineProperty(exports, "getLogger", {
|
|
11
11
|
}
|
12
12
|
});
|
13
13
|
exports.logger = void 0;
|
14
|
-
|
15
14
|
var _chalk = _interopRequireDefault(require("chalk"));
|
16
|
-
|
17
15
|
var _loglevel = _interopRequireWildcard(require("loglevel"));
|
18
|
-
|
19
16
|
var _loglevelPluginPrefix = _interopRequireDefault(require("loglevel-plugin-prefix"));
|
20
|
-
|
21
|
-
function
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26
|
-
|
27
|
-
const colors = {
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
19
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
20
|
+
const colors = exports.colors = {
|
28
21
|
TRACE: _chalk.default.magenta,
|
29
22
|
DEBUG: _chalk.default.cyan,
|
30
23
|
INFO: _chalk.default.blue,
|
31
24
|
WARN: _chalk.default.yellow,
|
32
25
|
ERROR: _chalk.default.red
|
33
26
|
};
|
34
|
-
exports.colors = colors;
|
35
|
-
|
36
27
|
_loglevelPluginPrefix.default.reg(_loglevel.default);
|
37
|
-
|
38
28
|
_loglevelPluginPrefix.default.apply(_loglevel.default, {
|
39
29
|
format(level, name = 'Creevey') {
|
40
30
|
const levelColor = colors[level.toUpperCase()];
|
41
31
|
return `[${name}:${_chalk.default.gray(process.pid)}] ${levelColor(level)} =>`;
|
42
32
|
}
|
43
|
-
|
44
33
|
});
|
45
|
-
|
46
|
-
const logger = _loglevel.default.getLogger('Creevey');
|
47
|
-
|
48
|
-
exports.logger = logger;
|
34
|
+
const logger = exports.logger = _loglevel.default.getLogger('Creevey');
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = creeveyApi;
|
7
|
-
|
8
7
|
var _ws = _interopRequireDefault(require("ws"));
|
9
|
-
|
10
8
|
var _logger = require("../logger");
|
11
|
-
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
-
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
10
|
function broadcast(wss, message) {
|
15
11
|
wss.clients.forEach(ws => {
|
16
12
|
if (ws.readyState === _ws.default.OPEN) {
|
@@ -18,7 +14,6 @@ function broadcast(wss, message) {
|
|
18
14
|
}
|
19
15
|
});
|
20
16
|
}
|
21
|
-
|
22
17
|
function creeveyApi(runner) {
|
23
18
|
return {
|
24
19
|
subscribe(wss) {
|
@@ -27,16 +22,12 @@ function creeveyApi(runner) {
|
|
27
22
|
payload
|
28
23
|
}));
|
29
24
|
},
|
30
|
-
|
31
25
|
handleMessage(ws, message) {
|
32
26
|
if (typeof message != 'string') {
|
33
27
|
_logger.logger.info('unhandled message', message);
|
34
|
-
|
35
28
|
return;
|
36
29
|
}
|
37
|
-
|
38
30
|
const command = JSON.parse(message);
|
39
|
-
|
40
31
|
switch (command.type) {
|
41
32
|
case 'status':
|
42
33
|
{
|
@@ -46,19 +37,16 @@ function creeveyApi(runner) {
|
|
46
37
|
}));
|
47
38
|
return;
|
48
39
|
}
|
49
|
-
|
50
40
|
case 'start':
|
51
41
|
{
|
52
42
|
runner.start(command.payload);
|
53
43
|
return;
|
54
44
|
}
|
55
|
-
|
56
45
|
case 'stop':
|
57
46
|
{
|
58
47
|
runner.stop();
|
59
48
|
return;
|
60
49
|
}
|
61
|
-
|
62
50
|
case 'approve':
|
63
51
|
{
|
64
52
|
void runner.approve(command.payload);
|
@@ -66,6 +54,5 @@ function creeveyApi(runner) {
|
|
66
54
|
}
|
67
55
|
}
|
68
56
|
}
|
69
|
-
|
70
57
|
};
|
71
58
|
}
|