creevey 0.8.0-beta.0 → 0.9.0-beta.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.
- package/CHANGELOG.md +5 -9
- package/lib/cjs/client/web/main.js +6 -6
- package/lib/types/cli.d.ts +1 -1
- package/lib/types/client/addon/Manager.d.ts +37 -37
- package/lib/types/client/addon/components/Addon.d.ts +8 -8
- package/lib/types/client/addon/components/Icons.d.ts +7 -7
- package/lib/types/client/addon/components/Panel.d.ts +9 -9
- package/lib/types/client/addon/components/TestSelect.d.ts +9 -9
- package/lib/types/client/addon/components/Tools.d.ts +6 -6
- package/lib/types/client/addon/decorator.d.ts +1 -1
- package/lib/types/client/addon/preset.d.ts +24 -22
- package/lib/types/client/addon/readyForCapture.d.ts +6 -0
- package/lib/types/client/addon/register.d.ts +3 -3
- package/lib/types/client/addon/utils.d.ts +2 -2
- package/lib/types/client/addon/withCreevey.d.ts +24 -13
- package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
- package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +25 -25
- package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
- package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
- package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
- package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
- package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +9 -9
- package/lib/types/client/shared/components/PageFooter/Paging.d.ts +8 -8
- package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
- package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +17 -17
- package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
- package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
- package/lib/types/client/shared/helpers.d.ts +46 -46
- package/lib/types/client/shared/viewMode.d.ts +4 -4
- package/lib/types/client/web/CreeveyApp.d.ts +12 -12
- package/lib/types/client/web/CreeveyContext.d.ts +11 -11
- package/lib/types/client/web/CreeveyLoader.d.ts +3 -3
- package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
- package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
- package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
- package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +13 -13
- package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
- package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +8 -8
- package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
- package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
- package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
- package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
- package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
- package/lib/types/client/web/index.d.ts +4 -4
- package/lib/types/creevey.d.ts +1 -1
- package/lib/types/index.d.ts +4 -2
- package/lib/types/server/config.d.ts +4 -4
- package/lib/types/server/docker.d.ts +7 -7
- package/lib/types/server/extract.d.ts +2 -2
- package/lib/types/server/index.d.ts +2 -2
- package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
- package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
- package/lib/types/server/loaders/babel/register.d.ts +5 -5
- package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
- package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
- package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
- package/lib/types/server/loaders/webpack/creevey-loader.d.ts +2 -2
- package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
- package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
- package/lib/types/server/loaders/webpack/start.d.ts +1 -1
- package/lib/types/server/logger.d.ts +6 -6
- package/lib/types/server/master/api.d.ts +7 -7
- package/lib/types/server/master/index.d.ts +3 -3
- package/lib/types/server/master/master.d.ts +7 -6
- package/lib/types/server/master/pool.d.ts +31 -30
- package/lib/types/server/master/runner.d.ts +26 -26
- package/lib/types/server/master/server.d.ts +2 -2
- package/lib/types/server/messages.d.ts +27 -18
- package/lib/types/server/selenium/browser.d.ts +17 -14
- package/lib/types/server/selenium/index.d.ts +2 -2
- package/lib/types/server/selenium/selenoid.d.ts +3 -3
- package/lib/types/server/stories.d.ts +8 -8
- package/lib/types/server/storybook/entry.d.ts +18 -18
- package/lib/types/server/storybook/helpers.d.ts +24 -24
- package/lib/types/server/storybook/providers/browser.d.ts +4 -0
- package/lib/types/server/storybook/providers/hybrid.d.ts +4 -0
- package/lib/types/server/storybook/providers/nodejs.d.ts +9 -0
- package/lib/types/server/testsFiles/parser.d.ts +12 -0
- package/lib/types/server/testsFiles/register.d.ts +2 -0
- package/lib/types/server/update.d.ts +2 -2
- package/lib/types/server/utils.d.ts +20 -19
- package/lib/types/server/worker/chai-image.d.ts +6 -6
- package/lib/types/server/worker/helpers.d.ts +8 -7
- package/lib/types/server/worker/index.d.ts +1 -1
- package/lib/types/server/worker/reporter.d.ts +8 -8
- package/lib/types/server/worker/worker.d.ts +4 -4
- package/lib/types/shared.d.ts +16 -4
- package/lib/types/types.d.ts +489 -459
- package/package.json +16 -7
- package/storybook-static/stories.json +21 -0
- package/types/mocha.d.ts +1 -0
- package/lib/cjs/cli.js +0 -5
- package/lib/cjs/client/addon/Manager.js +0 -413
- package/lib/cjs/client/addon/components/Addon.js +0 -76
- package/lib/cjs/client/addon/components/Icons.js +0 -42
- package/lib/cjs/client/addon/components/Panel.js +0 -68
- package/lib/cjs/client/addon/components/TestSelect.js +0 -63
- package/lib/cjs/client/addon/components/Tools.js +0 -114
- package/lib/cjs/client/addon/decorator.js +0 -11
- package/lib/cjs/client/addon/preset.js +0 -80
- package/lib/cjs/client/addon/register.js +0 -96
- package/lib/cjs/client/addon/utils.js +0 -38
- package/lib/cjs/client/addon/withCreevey.js +0 -284
- package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -85
- package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -88
- package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -176
- package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -178
- package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -110
- package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
- package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -46
- package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -98
- package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -78
- package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -144
- package/lib/cjs/client/shared/components/ResultsPage.js +0 -173
- package/lib/cjs/client/shared/creeveyClientApi.js +0 -103
- package/lib/cjs/client/shared/helpers.js +0 -482
- package/lib/cjs/client/shared/viewMode.js +0 -17
- package/lib/cjs/client/web/index.html +0 -19
- package/lib/cjs/creevey.js +0 -71
- package/lib/cjs/index.js +0 -44
- package/lib/cjs/server/config.js +0 -92
- package/lib/cjs/server/docker.js +0 -150
- package/lib/cjs/server/extract.js +0 -43
- package/lib/cjs/server/index.js +0 -85
- package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -88
- package/lib/cjs/server/loaders/babel/helpers.js +0 -479
- package/lib/cjs/server/loaders/babel/register.js +0 -126
- 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 -286
- package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -174
- package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -44
- 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/logger.js +0 -47
- package/lib/cjs/server/master/api.js +0 -71
- package/lib/cjs/server/master/index.js +0 -152
- package/lib/cjs/server/master/master.js +0 -56
- package/lib/cjs/server/master/pool.js +0 -206
- package/lib/cjs/server/master/runner.js +0 -294
- package/lib/cjs/server/master/server.js +0 -57
- package/lib/cjs/server/messages.js +0 -154
- package/lib/cjs/server/selenium/browser.js +0 -582
- package/lib/cjs/server/selenium/index.js +0 -31
- package/lib/cjs/server/selenium/selenoid.js +0 -174
- package/lib/cjs/server/stories.js +0 -167
- package/lib/cjs/server/storybook/entry.js +0 -68
- package/lib/cjs/server/storybook/helpers.js +0 -165
- package/lib/cjs/server/storybook/nodejs-provider.js +0 -220
- package/lib/cjs/server/update.js +0 -83
- package/lib/cjs/server/utils.js +0 -178
- package/lib/cjs/server/worker/chai-image.js +0 -142
- package/lib/cjs/server/worker/helpers.js +0 -73
- package/lib/cjs/server/worker/index.js +0 -15
- package/lib/cjs/server/worker/reporter.js +0 -120
- package/lib/cjs/server/worker/worker.js +0 -266
- package/lib/cjs/shared.js +0 -35
- package/lib/cjs/types.js +0 -69
- package/lib/esm/cli.js +0 -4
- package/lib/esm/client/addon/Manager.js +0 -397
- package/lib/esm/client/addon/components/Addon.js +0 -58
- package/lib/esm/client/addon/components/Icons.js +0 -27
- package/lib/esm/client/addon/components/Panel.js +0 -49
- package/lib/esm/client/addon/components/TestSelect.js +0 -49
- package/lib/esm/client/addon/components/Tools.js +0 -91
- package/lib/esm/client/addon/decorator.js +0 -2
- package/lib/esm/client/addon/preset.js +0 -55
- package/lib/esm/client/addon/register.js +0 -75
- package/lib/esm/client/addon/utils.js +0 -31
- package/lib/esm/client/addon/withCreevey.js +0 -270
- package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -64
- package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -65
- package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -152
- package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -154
- package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -89
- package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
- package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -32
- package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -84
- package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -64
- package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -120
- package/lib/esm/client/shared/components/ResultsPage.js +0 -143
- package/lib/esm/client/shared/creeveyClientApi.js +0 -94
- package/lib/esm/client/shared/helpers.js +0 -424
- package/lib/esm/client/shared/viewMode.js +0 -6
- package/lib/esm/creevey.js +0 -56
- package/lib/esm/index.js +0 -4
- package/lib/esm/server/config.js +0 -71
- package/lib/esm/server/docker.js +0 -123
- package/lib/esm/server/extract.js +0 -30
- package/lib/esm/server/index.js +0 -65
- package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -74
- package/lib/esm/server/loaders/babel/helpers.js +0 -462
- package/lib/esm/server/loaders/babel/register.js +0 -105
- 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 -263
- package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -153
- package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -36
- 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/logger.js +0 -20
- package/lib/esm/server/master/api.js +0 -60
- package/lib/esm/server/master/index.js +0 -131
- package/lib/esm/server/master/master.js +0 -37
- package/lib/esm/server/master/pool.js +0 -187
- package/lib/esm/server/master/runner.js +0 -272
- package/lib/esm/server/master/server.js +0 -37
- package/lib/esm/server/messages.js +0 -128
- package/lib/esm/server/selenium/browser.js +0 -554
- package/lib/esm/server/selenium/index.js +0 -2
- package/lib/esm/server/selenium/selenoid.js +0 -151
- package/lib/esm/server/stories.js +0 -147
- package/lib/esm/server/storybook/entry.js +0 -44
- package/lib/esm/server/storybook/helpers.js +0 -106
- package/lib/esm/server/storybook/nodejs-provider.js +0 -200
- package/lib/esm/server/update.js +0 -65
- package/lib/esm/server/utils.js +0 -141
- package/lib/esm/server/worker/chai-image.js +0 -130
- package/lib/esm/server/worker/helpers.js +0 -64
- package/lib/esm/server/worker/index.js +0 -1
- package/lib/esm/server/worker/reporter.js +0 -98
- package/lib/esm/server/worker/worker.js +0 -236
- package/lib/esm/shared.js +0 -22
- package/lib/esm/types.js +0 -40
- package/lib/types/server/storybook/nodejs-provider.d.ts +0 -5
package/lib/cjs/server/config.js
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.readConfig = readConfig;
|
7
|
-
exports.defaultConfig = exports.defaultBrowser = void 0;
|
8
|
-
|
9
|
-
var _fs = _interopRequireDefault(require("fs"));
|
10
|
-
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
12
|
-
|
13
|
-
var _helpers = require("./storybook/helpers");
|
14
|
-
|
15
|
-
var _nodejsProvider = require("./storybook/nodejs-provider");
|
16
|
-
|
17
|
-
var _types = require("../types");
|
18
|
-
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20
|
-
|
21
|
-
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); }
|
22
|
-
|
23
|
-
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; }
|
24
|
-
|
25
|
-
const defaultBrowser = 'chrome';
|
26
|
-
exports.defaultBrowser = defaultBrowser;
|
27
|
-
const defaultConfig = {
|
28
|
-
useDocker: true,
|
29
|
-
useWebpackToExtractTests: false,
|
30
|
-
dockerImage: 'aerokube/selenoid:latest-release',
|
31
|
-
dockerImagePlatform: '',
|
32
|
-
pullImages: true,
|
33
|
-
failFast: false,
|
34
|
-
storybookUrl: 'http://localhost:6006',
|
35
|
-
screenDir: _path.default.resolve('images'),
|
36
|
-
reportDir: _path.default.resolve('report'),
|
37
|
-
storybookDir: _path.default.resolve('.storybook'),
|
38
|
-
maxRetries: 0,
|
39
|
-
diffOptions: {
|
40
|
-
threshold: 0,
|
41
|
-
includeAA: true
|
42
|
-
},
|
43
|
-
browsers: {
|
44
|
-
[defaultBrowser]: true
|
45
|
-
},
|
46
|
-
hooks: {},
|
47
|
-
babelOptions: _ => _
|
48
|
-
};
|
49
|
-
exports.defaultConfig = defaultConfig;
|
50
|
-
|
51
|
-
function normalizeBrowserConfig(name, config) {
|
52
|
-
if (typeof config == 'boolean') return {
|
53
|
-
browserName: name
|
54
|
-
};
|
55
|
-
if (typeof config == 'string') return {
|
56
|
-
browserName: config
|
57
|
-
};
|
58
|
-
return config;
|
59
|
-
}
|
60
|
-
|
61
|
-
function resolveConfigPath(configPath) {
|
62
|
-
const rootDir = process.cwd();
|
63
|
-
|
64
|
-
const configDir = _path.default.resolve('.creevey');
|
65
|
-
|
66
|
-
if ((0, _types.isDefined)(configPath)) {
|
67
|
-
configPath = _path.default.resolve(configPath);
|
68
|
-
} else if (_fs.default.existsSync(configDir)) {
|
69
|
-
configPath = _path.default.join(configDir, 'config'); // TODO We already find file with extension, why not use it?
|
70
|
-
} else if (_fs.default.readdirSync(rootDir).find(filename => filename.startsWith('creevey.config'))) {
|
71
|
-
configPath = _path.default.join(rootDir, 'creevey.config');
|
72
|
-
}
|
73
|
-
|
74
|
-
return configPath;
|
75
|
-
}
|
76
|
-
|
77
|
-
async function readConfig(options) {
|
78
|
-
const configPath = resolveConfigPath(options.config);
|
79
|
-
const userConfig = { ...defaultConfig
|
80
|
-
};
|
81
|
-
if ((0, _types.isDefined)(configPath)) Object.assign(userConfig, (await Promise.resolve(`${configPath}`).then(s => _interopRequireWildcard(require(s)))).default);
|
82
|
-
_helpers.storybookDirRef.current = userConfig.storybookDir;
|
83
|
-
if ((0, _helpers.isStorybookVersionLessThan)(6, 2)) userConfig.useWebpackToExtractTests = true;
|
84
|
-
if (!userConfig.storiesProvider) userConfig.storiesProvider = (await (0, _helpers.isCSFv3Enabled)()) ? _nodejsProvider.loadStories : _nodejsProvider.loadStories;
|
85
|
-
if (options.failFast != undefined) userConfig.failFast = Boolean(options.failFast);
|
86
|
-
if (options.reportDir) userConfig.reportDir = _path.default.resolve(options.reportDir);
|
87
|
-
if (options.screenDir) userConfig.screenDir = _path.default.resolve(options.screenDir); // NOTE: Hack to pass typescript checking
|
88
|
-
|
89
|
-
const config = userConfig;
|
90
|
-
Object.entries(config.browsers).forEach(([browser, browserConfig]) => config.browsers[browser] = normalizeBrowserConfig(browser, browserConfig));
|
91
|
-
return config;
|
92
|
-
}
|
package/lib/cjs/server/docker.js
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.pullImages = pullImages;
|
7
|
-
exports.runImage = runImage;
|
8
|
-
exports.default = _default;
|
9
|
-
|
10
|
-
var _cluster = _interopRequireWildcard(require("cluster"));
|
11
|
-
|
12
|
-
var _types = require("../types");
|
13
|
-
|
14
|
-
var _messages = require("./messages");
|
15
|
-
|
16
|
-
var _utils = require("./utils");
|
17
|
-
|
18
|
-
var _dockerode = _interopRequireDefault(require("dockerode"));
|
19
|
-
|
20
|
-
var _stream = require("stream");
|
21
|
-
|
22
|
-
var _ora = _interopRequireDefault(require("ora"));
|
23
|
-
|
24
|
-
var _logger = require("./logger");
|
25
|
-
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
|
-
|
28
|
-
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); }
|
29
|
-
|
30
|
-
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; }
|
31
|
-
|
32
|
-
const docker = new _dockerode.default();
|
33
|
-
|
34
|
-
class DevNull extends _stream.Writable {
|
35
|
-
_write(_chunk, _encoding, callback) {
|
36
|
-
setImmediate(callback);
|
37
|
-
}
|
38
|
-
|
39
|
-
}
|
40
|
-
|
41
|
-
async function pullImages(images, {
|
42
|
-
auth,
|
43
|
-
platform
|
44
|
-
} = {}) {
|
45
|
-
const args = {};
|
46
|
-
if (auth) args.authconfig = auth;
|
47
|
-
if (platform) args.platform = platform;
|
48
|
-
|
49
|
-
_logger.logger.info('Pull docker images');
|
50
|
-
|
51
|
-
for (const image of images) {
|
52
|
-
await new Promise((resolve, reject) => {
|
53
|
-
const spinner = (0, _ora.default)(`${image}: Pull start`).start(); // eslint-disable-next-line @typescript-eslint/no-floating-promises
|
54
|
-
|
55
|
-
docker.pull(image, args, function (pullError, stream) {
|
56
|
-
if (pullError) {
|
57
|
-
spinner.fail();
|
58
|
-
return reject(pullError);
|
59
|
-
} // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
60
|
-
|
61
|
-
|
62
|
-
docker.modem.followProgress(stream, onFinished, onProgress);
|
63
|
-
|
64
|
-
function onFinished(error) {
|
65
|
-
if (error) {
|
66
|
-
spinner.fail();
|
67
|
-
return reject(error);
|
68
|
-
}
|
69
|
-
|
70
|
-
spinner.succeed(`${image}: Pull complete`);
|
71
|
-
resolve();
|
72
|
-
}
|
73
|
-
|
74
|
-
function onProgress(event) {
|
75
|
-
if (!/^[a-z0-9]{12}$/i.test(event.id)) return;
|
76
|
-
spinner.text = `${image}: [${event.id}] ${event.status} ${event.progress ? `${event.progress}` : ''}`;
|
77
|
-
}
|
78
|
-
});
|
79
|
-
});
|
80
|
-
}
|
81
|
-
}
|
82
|
-
|
83
|
-
async function runImage(image, args, options, debug) {
|
84
|
-
await Promise.all((await docker.listContainers({
|
85
|
-
all: true,
|
86
|
-
filters: {
|
87
|
-
ancestor: [image]
|
88
|
-
}
|
89
|
-
})).map(async info => {
|
90
|
-
const container = docker.getContainer(info.Id);
|
91
|
-
|
92
|
-
try {
|
93
|
-
await container.stop();
|
94
|
-
} catch (_) {
|
95
|
-
/* noop */
|
96
|
-
}
|
97
|
-
|
98
|
-
await container.remove();
|
99
|
-
}));
|
100
|
-
const hub = docker.run(image, args, debug ? process.stdout : new DevNull(), options, error => {
|
101
|
-
if (error) throw error;
|
102
|
-
});
|
103
|
-
return new Promise(resolve => {
|
104
|
-
hub.once('container', container => {
|
105
|
-
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
106
|
-
(0, _messages.subscribeOn)('shutdown', async () => {
|
107
|
-
try {
|
108
|
-
await container.stop();
|
109
|
-
await container.remove();
|
110
|
-
} catch (error) {
|
111
|
-
/* noop */
|
112
|
-
}
|
113
|
-
});
|
114
|
-
});
|
115
|
-
hub.once('start', container => void container.inspect().then(info => resolve(info.NetworkSettings.Networks.bridge.IPAddress)));
|
116
|
-
});
|
117
|
-
}
|
118
|
-
|
119
|
-
async function _default(config, browser, startContainer) {
|
120
|
-
if (_cluster.isMaster) {
|
121
|
-
const host = await startContainer();
|
122
|
-
let gridUrl = 'http://localhost:4444/wd/hub';
|
123
|
-
gridUrl = _utils.isInsideDocker ? gridUrl.replace(_utils.LOCALHOST_REGEXP, host) : gridUrl;
|
124
|
-
|
125
|
-
_cluster.default.on('message', (worker, message) => {
|
126
|
-
if (!(0, _types.isDockerMessage)(message)) return;
|
127
|
-
const dockerMessage = message;
|
128
|
-
if (dockerMessage.type != 'start') return;
|
129
|
-
(0, _messages.sendDockerMessage)(worker, {
|
130
|
-
type: 'success',
|
131
|
-
payload: {
|
132
|
-
gridUrl
|
133
|
-
}
|
134
|
-
});
|
135
|
-
});
|
136
|
-
} else {
|
137
|
-
if (browser && config.browsers[browser].gridUrl) return Promise.resolve();
|
138
|
-
return new Promise(resolve => {
|
139
|
-
(0, _messages.subscribeOn)('docker', message => {
|
140
|
-
if (message.type == 'success') {
|
141
|
-
config.gridUrl = message.payload.gridUrl;
|
142
|
-
resolve();
|
143
|
-
}
|
144
|
-
});
|
145
|
-
(0, _messages.emitDockerMessage)({
|
146
|
-
type: 'start'
|
147
|
-
});
|
148
|
-
});
|
149
|
-
}
|
150
|
-
}
|
@@ -1,43 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = extract;
|
7
|
-
|
8
|
-
var _messages = require("./messages");
|
9
|
-
|
10
|
-
var _stories = require("./stories");
|
11
|
-
|
12
|
-
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); }
|
13
|
-
|
14
|
-
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; }
|
15
|
-
|
16
|
-
async function extract(config, options) {
|
17
|
-
if (config.useWebpackToExtractTests && process.env.__CREEVEY_ENV__ != 'test') {
|
18
|
-
await new Promise((resolve, reject) => {
|
19
|
-
(0, _messages.subscribeOn)('webpack', message => {
|
20
|
-
switch (message.type) {
|
21
|
-
case 'success':
|
22
|
-
return resolve();
|
23
|
-
|
24
|
-
case 'fail':
|
25
|
-
return reject();
|
26
|
-
}
|
27
|
-
});
|
28
|
-
void (async () => (await Promise.resolve().then(() => _interopRequireWildcard(require('./loaders/webpack/compile')))).default(config, options))();
|
29
|
-
});
|
30
|
-
}
|
31
|
-
|
32
|
-
const tests = await (0, _stories.loadTestsFromStories)(Object.keys(config.browsers), async listener => {
|
33
|
-
const stories = await config.storiesProvider(config, {
|
34
|
-
watch: false,
|
35
|
-
debug: options.debug
|
36
|
-
}, listener);
|
37
|
-
if (options.extract) (0, _stories.saveStoriesJson)(stories, options.extract);
|
38
|
-
return stories;
|
39
|
-
});
|
40
|
-
if (options.tests) (0, _stories.saveTestsJson)(tests); // eslint-disable-next-line no-process-exit
|
41
|
-
|
42
|
-
process.exit(0);
|
43
|
-
}
|
package/lib/cjs/server/index.js
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = _default;
|
7
|
-
|
8
|
-
var _cluster = _interopRequireDefault(require("cluster"));
|
9
|
-
|
10
|
-
var _config = require("./config");
|
11
|
-
|
12
|
-
var _types = require("../types");
|
13
|
-
|
14
|
-
var _logger = require("./logger");
|
15
|
-
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
|
-
|
18
|
-
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); }
|
19
|
-
|
20
|
-
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; }
|
21
|
-
|
22
|
-
// NOTE: Impure function, mutate config by adding gridUrl prop
|
23
|
-
async function startWebdriverServer(config, options) {
|
24
|
-
if (config.useDocker) {
|
25
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./docker')))).default(config, options.browser, async () => (await Promise.resolve().then(() => _interopRequireWildcard(require('./selenium/selenoid')))).startSelenoidContainer(config, options.debug));
|
26
|
-
} else {
|
27
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./selenium/selenoid')))).startSelenoidStandalone(config, options.debug);
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
async function _default(options) {
|
32
|
-
const config = await (0, _config.readConfig)(options);
|
33
|
-
const {
|
34
|
-
browser = _config.defaultBrowser,
|
35
|
-
extract,
|
36
|
-
tests,
|
37
|
-
update,
|
38
|
-
webpack,
|
39
|
-
ui,
|
40
|
-
port
|
41
|
-
} = options;
|
42
|
-
if (!config) return;
|
43
|
-
const resolveApi = ui && _cluster.default.isMaster ? (await Promise.resolve().then(() => _interopRequireWildcard(require('./master/server')))).default(config.reportDir, port) : _types.noop; // NOTE: We don't need docker nor selenoid for webpack or update options
|
44
|
-
|
45
|
-
if (!(config.gridUrl || Object.values(config.browsers).every(({
|
46
|
-
gridUrl
|
47
|
-
}) => gridUrl)) && !extract && !webpack && !tests && !update) {
|
48
|
-
await startWebdriverServer(config, options);
|
49
|
-
}
|
50
|
-
|
51
|
-
switch (true) {
|
52
|
-
case Boolean(extract) || tests:
|
53
|
-
{
|
54
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./extract')))).default(config, options);
|
55
|
-
}
|
56
|
-
|
57
|
-
case Boolean(update):
|
58
|
-
{
|
59
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./update')))).default(config, typeof update == 'string' ? update : undefined);
|
60
|
-
}
|
61
|
-
|
62
|
-
case webpack:
|
63
|
-
{
|
64
|
-
_logger.logger.info('Starting Webpack Compiler');
|
65
|
-
|
66
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./loaders/webpack/compile')))).default(config, options);
|
67
|
-
}
|
68
|
-
|
69
|
-
case _cluster.default.isMaster:
|
70
|
-
{
|
71
|
-
_logger.logger.info('Starting Master Process');
|
72
|
-
|
73
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./master')))).default(config, options, resolveApi);
|
74
|
-
}
|
75
|
-
|
76
|
-
default:
|
77
|
-
{
|
78
|
-
_logger.logger.info(`Starting Worker for ${browser}`);
|
79
|
-
|
80
|
-
return (await Promise.resolve().then(() => _interopRequireWildcard(require('./worker')))).default(config, { ...options,
|
81
|
-
browser
|
82
|
-
});
|
83
|
-
}
|
84
|
-
}
|
85
|
-
}
|
@@ -1,88 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = _default;
|
7
|
-
|
8
|
-
var _path = _interopRequireDefault(require("path"));
|
9
|
-
|
10
|
-
var _helpers = require("./helpers");
|
11
|
-
|
12
|
-
var _logger = require("../../logger");
|
13
|
-
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
-
|
16
|
-
let lastStoryFile = null;
|
17
|
-
const stories = new Set();
|
18
|
-
const reexportedStories = new Map();
|
19
|
-
|
20
|
-
function _default() {
|
21
|
-
return {
|
22
|
-
pre() {
|
23
|
-
var _this$opts$parents;
|
24
|
-
|
25
|
-
const parents = (_this$opts$parents = this.opts.parents()) !== null && _this$opts$parents !== void 0 ? _this$opts$parents : [];
|
26
|
-
const story = this.opts.story();
|
27
|
-
this.resourcePath = this.filename;
|
28
|
-
this.fileType = _helpers.FileType.Invalid; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
29
|
-
|
30
|
-
this.visitedTopPaths = new Set();
|
31
|
-
this.visitedBindings = new Set();
|
32
|
-
this.reexportedStories = reexportedStories;
|
33
|
-
|
34
|
-
if (story && this.filename.startsWith(story) || parents.find(parent => this.reexportedStories.has(parent))) {
|
35
|
-
this.fileType = _helpers.FileType.Story;
|
36
|
-
this.isMDX = _path.default.parse(this.filename).ext == '.mdx';
|
37
|
-
lastStoryFile = this.filename;
|
38
|
-
stories.add(this.filename);
|
39
|
-
} else if (this.filename.startsWith(this.opts.preview)) this.fileType = _helpers.FileType.Preview;else if (lastStoryFile && this.opts.debug) {
|
40
|
-
_logger.logger.warn('Trying to transform possible non-story file', this.resourcePath, 'Please check the', lastStoryFile);
|
41
|
-
|
42
|
-
lastStoryFile = null; // TODO Add link to docs, how creevey works and what user should do in this situation
|
43
|
-
}
|
44
|
-
},
|
45
|
-
|
46
|
-
visitor: { ..._helpers.commonVisitor,
|
47
|
-
|
48
|
-
ExportAllDeclaration(path) {
|
49
|
-
if (this.fileType == _helpers.FileType.Story && typeof _helpers.storyVisitor.ExportAllDeclaration == 'function') {
|
50
|
-
_helpers.storyVisitor.ExportAllDeclaration.call(this, path, this);
|
51
|
-
}
|
52
|
-
},
|
53
|
-
|
54
|
-
ExportDefaultDeclaration(path) {
|
55
|
-
if (this.fileType == _helpers.FileType.Story && typeof _helpers.storyVisitor.ExportDefaultDeclaration == 'function') {
|
56
|
-
_helpers.storyVisitor.ExportDefaultDeclaration.call(this, path, this);
|
57
|
-
}
|
58
|
-
},
|
59
|
-
|
60
|
-
ExportNamedDeclaration(path) {
|
61
|
-
if (this.fileType == _helpers.FileType.Preview && typeof _helpers.previewVisitor.ExportNamedDeclaration == 'function') {
|
62
|
-
_helpers.previewVisitor.ExportNamedDeclaration.call(this, path, this);
|
63
|
-
}
|
64
|
-
|
65
|
-
if (this.fileType == _helpers.FileType.Story && typeof _helpers.storyVisitor.ExportNamedDeclaration == 'function') {
|
66
|
-
_helpers.storyVisitor.ExportNamedDeclaration.call(this, path, this);
|
67
|
-
}
|
68
|
-
},
|
69
|
-
|
70
|
-
CallExpression(path) {
|
71
|
-
if (this.fileType == _helpers.FileType.Preview && typeof _helpers.previewVisitor.CallExpression == 'function') {
|
72
|
-
_helpers.previewVisitor.CallExpression.call(this, path, this);
|
73
|
-
}
|
74
|
-
|
75
|
-
if (this.fileType == _helpers.FileType.Story && typeof _helpers.storyVisitor.CallExpression == 'function') {
|
76
|
-
_helpers.storyVisitor.CallExpression.call(this, path, this);
|
77
|
-
}
|
78
|
-
},
|
79
|
-
|
80
|
-
FunctionDeclaration(path) {
|
81
|
-
if (this.isMDX && typeof _helpers.mdxVisitor.FunctionDeclaration == 'function') {
|
82
|
-
_helpers.mdxVisitor.FunctionDeclaration.call(this, path, this);
|
83
|
-
}
|
84
|
-
}
|
85
|
-
|
86
|
-
}
|
87
|
-
};
|
88
|
-
}
|