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
@@ -1,174 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.startSelenoidStandalone = startSelenoidStandalone;
|
7
|
-
exports.startSelenoidContainer = startSelenoidContainer;
|
8
|
-
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
10
|
-
|
11
|
-
var _util = require("util");
|
12
|
-
|
13
|
-
var _fs = require("fs");
|
14
|
-
|
15
|
-
var _utils = require("../utils");
|
16
|
-
|
17
|
-
var _docker = require("../docker");
|
18
|
-
|
19
|
-
var _core = require("@octokit/core");
|
20
|
-
|
21
|
-
var _messages = require("../messages");
|
22
|
-
|
23
|
-
var _cluster = require("cluster");
|
24
|
-
|
25
|
-
var _shelljs = require("shelljs");
|
26
|
-
|
27
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
28
|
-
|
29
|
-
const mkdirAsync = (0, _util.promisify)(_fs.mkdir);
|
30
|
-
const writeFileAsync = (0, _util.promisify)(_fs.writeFile);
|
31
|
-
const copyFileAsync = (0, _util.promisify)(_fs.copyFile);
|
32
|
-
|
33
|
-
async function createSelenoidConfig(browsers, {
|
34
|
-
useDocker
|
35
|
-
}) {
|
36
|
-
const selenoidConfig = {};
|
37
|
-
|
38
|
-
const selenoidConfigDir = _path.default.join((0, _utils.getCreeveyCache)(), 'selenoid');
|
39
|
-
|
40
|
-
browsers.forEach(({
|
41
|
-
browserName,
|
42
|
-
version = 'latest',
|
43
|
-
dockerImage = `selenoid/${browserName}:${version}`,
|
44
|
-
webdriverCommand = []
|
45
|
-
}) => {
|
46
|
-
if (!selenoidConfig[browserName]) selenoidConfig[browserName] = {
|
47
|
-
default: version,
|
48
|
-
versions: {}
|
49
|
-
};
|
50
|
-
if (!useDocker && webdriverCommand.length == 0) throw new Error('Please specify "webdriverCommand" browser option with path to browser webdriver');
|
51
|
-
selenoidConfig[browserName].versions[version] = {
|
52
|
-
image: useDocker ? dockerImage : webdriverCommand,
|
53
|
-
port: '4444',
|
54
|
-
path: !useDocker || ['chrome', 'opera', 'webkit', 'MicrosoftEdge'].includes(browserName) ? '/' : '/wd/hub'
|
55
|
-
};
|
56
|
-
});
|
57
|
-
await mkdirAsync(selenoidConfigDir, {
|
58
|
-
recursive: true
|
59
|
-
});
|
60
|
-
await writeFileAsync(_path.default.join(selenoidConfigDir, 'browsers.json'), JSON.stringify(selenoidConfig));
|
61
|
-
return selenoidConfigDir;
|
62
|
-
}
|
63
|
-
|
64
|
-
async function downloadSelenoidBinary(destination) {
|
65
|
-
var _assets$find;
|
66
|
-
|
67
|
-
const platformNameMapping = {
|
68
|
-
darwin: 'selenoid_darwin_amd64',
|
69
|
-
linux: 'selenoid_linux_amd64',
|
70
|
-
win32: 'selenoid_windows_amd64.exe'
|
71
|
-
};
|
72
|
-
const octokit = new _core.Octokit();
|
73
|
-
const response = await octokit.request('GET /repos/{owner}/{repo}/releases/latest', {
|
74
|
-
owner: 'aerokube',
|
75
|
-
repo: 'selenoid'
|
76
|
-
});
|
77
|
-
const {
|
78
|
-
assets
|
79
|
-
} = response.data;
|
80
|
-
const {
|
81
|
-
browser_download_url: downloadUrl,
|
82
|
-
size: binarySize
|
83
|
-
} = (_assets$find = assets.find(({
|
84
|
-
name
|
85
|
-
}) => platformNameMapping[process.platform] == name)) !== null && _assets$find !== void 0 ? _assets$find : {};
|
86
|
-
if ((0, _fs.existsSync)(destination) && (0, _fs.lstatSync)(destination).size == binarySize) return;
|
87
|
-
|
88
|
-
if (!downloadUrl) {
|
89
|
-
throw new Error(`Couldn't get download url for selenoid binary. Please download it manually from "https://github.com/aerokube/selenoid/releases/latest" and define "selenoidPath" option in the Creevey config`);
|
90
|
-
}
|
91
|
-
|
92
|
-
return (0, _utils.downloadBinary)(downloadUrl, destination);
|
93
|
-
}
|
94
|
-
|
95
|
-
async function startSelenoidStandalone(config, debug) {
|
96
|
-
config.gridUrl = 'http://localhost:4444/wd/hub';
|
97
|
-
if (_cluster.isWorker) return;
|
98
|
-
const browsers = Object.values(config.browsers).filter(browser => !browser.gridUrl);
|
99
|
-
const selenoidConfigDir = await createSelenoidConfig(browsers, {
|
100
|
-
useDocker: false
|
101
|
-
});
|
102
|
-
|
103
|
-
const binaryPath = _path.default.join(selenoidConfigDir, process.platform == 'win32' ? 'selenoid.exe' : 'selenoid');
|
104
|
-
|
105
|
-
if (config.selenoidPath) {
|
106
|
-
await copyFileAsync(_path.default.resolve(config.selenoidPath), binaryPath);
|
107
|
-
} else {
|
108
|
-
await downloadSelenoidBinary(binaryPath);
|
109
|
-
} // TODO Download browser webdrivers
|
110
|
-
|
111
|
-
|
112
|
-
try {
|
113
|
-
if (process.platform != 'win32') (0, _shelljs.chmod)('+x', binaryPath);
|
114
|
-
} catch (_) {
|
115
|
-
/* noop */
|
116
|
-
}
|
117
|
-
|
118
|
-
const selenoidProcess = (0, _shelljs.exec)(`${binaryPath} -conf ./browsers.json -disable-docker`, {
|
119
|
-
async: true,
|
120
|
-
cwd: selenoidConfigDir
|
121
|
-
});
|
122
|
-
|
123
|
-
if (debug) {
|
124
|
-
var _selenoidProcess$stdo, _selenoidProcess$stde;
|
125
|
-
|
126
|
-
(_selenoidProcess$stdo = selenoidProcess.stdout) === null || _selenoidProcess$stdo === void 0 ? void 0 : _selenoidProcess$stdo.pipe(process.stdout);
|
127
|
-
(_selenoidProcess$stde = selenoidProcess.stderr) === null || _selenoidProcess$stde === void 0 ? void 0 : _selenoidProcess$stde.pipe(process.stderr);
|
128
|
-
}
|
129
|
-
|
130
|
-
(0, _messages.subscribeOn)('shutdown', () => selenoidProcess.kill());
|
131
|
-
}
|
132
|
-
|
133
|
-
async function startSelenoidContainer(config, debug) {
|
134
|
-
const browsers = Object.values(config.browsers).filter(browser => !browser.gridUrl);
|
135
|
-
const images = [];
|
136
|
-
let limit = 0;
|
137
|
-
browsers.forEach(({
|
138
|
-
browserName,
|
139
|
-
version = 'latest',
|
140
|
-
limit: browserLimit = 1,
|
141
|
-
dockerImage = `selenoid/${browserName}:${version}`
|
142
|
-
}) => {
|
143
|
-
limit += browserLimit;
|
144
|
-
images.push(dockerImage);
|
145
|
-
});
|
146
|
-
const selenoidImage = config.dockerImage;
|
147
|
-
const pullOptions = {
|
148
|
-
auth: config.dockerAuth,
|
149
|
-
platform: config.dockerImagePlatform
|
150
|
-
};
|
151
|
-
|
152
|
-
if (config.pullImages) {
|
153
|
-
await (0, _docker.pullImages)([selenoidImage], pullOptions);
|
154
|
-
await (0, _docker.pullImages)(images, pullOptions);
|
155
|
-
} // TODO Allow pass custom options
|
156
|
-
|
157
|
-
|
158
|
-
const selenoidOptions = {
|
159
|
-
ExposedPorts: {
|
160
|
-
'4444/tcp': {}
|
161
|
-
},
|
162
|
-
HostConfig: {
|
163
|
-
PortBindings: {
|
164
|
-
'4444/tcp': [{
|
165
|
-
HostPort: '4444'
|
166
|
-
}]
|
167
|
-
},
|
168
|
-
Binds: ['/var/run/docker.sock:/var/run/docker.sock', `${await createSelenoidConfig(browsers, {
|
169
|
-
useDocker: true
|
170
|
-
})}:/etc/selenoid/:ro`]
|
171
|
-
}
|
172
|
-
};
|
173
|
-
return (0, _docker.runImage)(selenoidImage, ['-limit', String(limit)], selenoidOptions, debug);
|
174
|
-
}
|
@@ -1,167 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.loadTestsFromStories = loadTestsFromStories;
|
7
|
-
exports.saveStoriesJson = saveStoriesJson;
|
8
|
-
exports.saveTestsJson = saveTestsJson;
|
9
|
-
|
10
|
-
var _path = _interopRequireDefault(require("path"));
|
11
|
-
|
12
|
-
var _fs = require("fs");
|
13
|
-
|
14
|
-
var _crypto = require("crypto");
|
15
|
-
|
16
|
-
var _lodash = require("lodash");
|
17
|
-
|
18
|
-
var _types = require("../types");
|
19
|
-
|
20
|
-
var _utils = require("./utils");
|
21
|
-
|
22
|
-
var _helpers = require("./storybook/helpers");
|
23
|
-
|
24
|
-
var _shared = require("../shared");
|
25
|
-
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
|
-
|
28
|
-
function storyTestFabric(delay, testFn) {
|
29
|
-
return async function storyTest() {
|
30
|
-
var _testFn$call;
|
31
|
-
|
32
|
-
delay ? await new Promise(resolve => setTimeout(resolve, delay)) : void 0;
|
33
|
-
await ((_testFn$call = testFn === null || testFn === void 0 ? void 0 : testFn.call(this)) !== null && _testFn$call !== void 0 ? _testFn$call : this.expect(await this.takeScreenshot()).to.matchImage());
|
34
|
-
};
|
35
|
-
}
|
36
|
-
|
37
|
-
function createCreeveyTest(browser, storyMeta, skipOptions, testName) {
|
38
|
-
const {
|
39
|
-
kind,
|
40
|
-
name: story,
|
41
|
-
id: storyId
|
42
|
-
} = storyMeta;
|
43
|
-
const path = [kind, story, testName, browser].filter(_types.isDefined);
|
44
|
-
const skip = skipOptions ? (0, _utils.shouldSkip)(browser, {
|
45
|
-
kind,
|
46
|
-
story
|
47
|
-
}, skipOptions, testName) : false;
|
48
|
-
const id = (0, _crypto.createHash)('sha1').update(path.join('/')).digest('hex');
|
49
|
-
return {
|
50
|
-
id,
|
51
|
-
skip,
|
52
|
-
browser,
|
53
|
-
testName,
|
54
|
-
storyPath: [...kind.split('/').map(x => x.trim()), story],
|
55
|
-
storyId
|
56
|
-
};
|
57
|
-
}
|
58
|
-
|
59
|
-
function convertStories(browsers, stories) {
|
60
|
-
const tests = {};
|
61
|
-
(Array.isArray(stories) ? stories : Object.values(stories)).forEach(storyMeta => {
|
62
|
-
// TODO Skip docsOnly stories for now
|
63
|
-
if (storyMeta.parameters.docsOnly) return;
|
64
|
-
browsers.forEach(browserName => {
|
65
|
-
var _storyMeta$parameters;
|
66
|
-
|
67
|
-
const {
|
68
|
-
delay: delayParam,
|
69
|
-
tests: storyTests,
|
70
|
-
skip
|
71
|
-
} = (_storyMeta$parameters = storyMeta.parameters.creevey) !== null && _storyMeta$parameters !== void 0 ? _storyMeta$parameters : {};
|
72
|
-
const delay = typeof delayParam == 'number' ? delayParam : delayParam !== null && delayParam !== void 0 && delayParam.for.includes(browserName) ? delayParam.ms : 0; // typeof tests === "undefined" => rootSuite -> kindSuite -> storyTest -> [browsers.png]
|
73
|
-
// typeof tests === "function" => rootSuite -> kindSuite -> storyTest -> browser -> [images.png]
|
74
|
-
// typeof tests === "object" => rootSuite -> kindSuite -> storySuite -> test -> [browsers.png]
|
75
|
-
// typeof tests === "object" => rootSuite -> kindSuite -> storySuite -> test -> browser -> [images.png]
|
76
|
-
|
77
|
-
if (!storyTests) {
|
78
|
-
const test = createCreeveyTest(browserName, storyMeta, skip);
|
79
|
-
tests[test.id] = { ...test,
|
80
|
-
storyId: storyMeta.id,
|
81
|
-
story: storyMeta,
|
82
|
-
fn: storyTestFabric(delay)
|
83
|
-
};
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
|
87
|
-
Object.entries(storyTests).forEach(([testName, testFn]) => {
|
88
|
-
const test = createCreeveyTest(browserName, storyMeta, skip, testName);
|
89
|
-
tests[test.id] = { ...test,
|
90
|
-
storyId: storyMeta.id,
|
91
|
-
story: storyMeta,
|
92
|
-
fn: storyTestFabric(delay, testFn)
|
93
|
-
};
|
94
|
-
});
|
95
|
-
});
|
96
|
-
});
|
97
|
-
return tests;
|
98
|
-
}
|
99
|
-
|
100
|
-
async function loadTestsFromStories(browsers, provider, update) {
|
101
|
-
const testIdsByFiles = new Map();
|
102
|
-
const data = await provider(storiesByFiles => {
|
103
|
-
const testsDiff = {};
|
104
|
-
Array.from(storiesByFiles.entries()).forEach(([filename, stories]) => {
|
105
|
-
var _testIdsByFiles$get$f, _testIdsByFiles$get;
|
106
|
-
|
107
|
-
const tests = convertStories(browsers, stories);
|
108
|
-
const changed = Object.keys(tests);
|
109
|
-
const removed = (_testIdsByFiles$get$f = (_testIdsByFiles$get = testIdsByFiles.get(filename)) === null || _testIdsByFiles$get === void 0 ? void 0 : _testIdsByFiles$get.filter(testId => !tests[testId])) !== null && _testIdsByFiles$get$f !== void 0 ? _testIdsByFiles$get$f : [];
|
110
|
-
if (changed.length == 0) testIdsByFiles.delete(filename);else testIdsByFiles.set(filename, changed);
|
111
|
-
Object.assign(testsDiff, tests);
|
112
|
-
removed.forEach(testId => testsDiff[testId] = undefined);
|
113
|
-
});
|
114
|
-
update === null || update === void 0 ? void 0 : update(testsDiff);
|
115
|
-
});
|
116
|
-
const stories = (0, _helpers.isStorybookVersionLessThan)(6) || (0, _helpers.isStorybookVersionGreaterThan)(6, 3) ? data.stories : (0, _shared.denormalizeStoryParameters)(data);
|
117
|
-
const tests = convertStories(browsers, stories);
|
118
|
-
Object.values(tests).filter(_types.isDefined).forEach(({
|
119
|
-
id,
|
120
|
-
story: {
|
121
|
-
parameters: {
|
122
|
-
fileName
|
123
|
-
}
|
124
|
-
}
|
125
|
-
}) => {
|
126
|
-
var _testIdsByFiles$get2;
|
127
|
-
|
128
|
-
return (// TODO Don't use filename as a key, due possible collisions if two require.context with same structure of modules are defined
|
129
|
-
testIdsByFiles.set(fileName, [...((_testIdsByFiles$get2 = testIdsByFiles.get(fileName)) !== null && _testIdsByFiles$get2 !== void 0 ? _testIdsByFiles$get2 : []), id])
|
130
|
-
);
|
131
|
-
});
|
132
|
-
return tests;
|
133
|
-
}
|
134
|
-
|
135
|
-
function saveStoriesJson(storiesData, extract) {
|
136
|
-
var _storiesData$stories;
|
137
|
-
|
138
|
-
const outputDir = typeof extract == 'boolean' ? 'storybook-static' : extract;
|
139
|
-
|
140
|
-
if (!(0, _helpers.isStorybookVersionLessThan)(6)) {
|
141
|
-
// NOTE Copy-pasted from Storybook's `getStoriesJsonData` method
|
142
|
-
const allowed = ['fileName', 'docsOnly', 'framework', '__id', '__isArgsStory'];
|
143
|
-
storiesData.globalParameters = (0, _lodash.pick)(storiesData.globalParameters, allowed); // @ts-expect-error ignore error
|
144
|
-
|
145
|
-
storiesData.kindParameters = (0, _lodash.mapValues)(storiesData.kindParameters, v => (0, _lodash.pick)(v, allowed)); // @ts-expect-error ignore error
|
146
|
-
|
147
|
-
storiesData.stories = (0, _lodash.mapValues)(storiesData.stories, v => ({ ...(0, _lodash.pick)(v, ['id', 'name', 'kind', 'story']),
|
148
|
-
parameters: (0, _lodash.pick)(v.parameters, allowed)
|
149
|
-
}));
|
150
|
-
} // TODO Fix args stories
|
151
|
-
|
152
|
-
|
153
|
-
(0, _utils.removeProps)(storiesData !== null && storiesData !== void 0 ? storiesData : {}, ['stories', () => true, 'parameters', '__isArgsStory']);
|
154
|
-
Object.values((_storiesData$stories = storiesData === null || storiesData === void 0 ? void 0 : storiesData.stories) !== null && _storiesData$stories !== void 0 ? _storiesData$stories : {}).forEach(story => (0, _types.isObject)(story) && 'parameters' in story && (0, _types.isObject)(story.parameters) && delete story.parameters.__isArgsStory);
|
155
|
-
(0, _fs.mkdirSync)(outputDir, {
|
156
|
-
recursive: true
|
157
|
-
});
|
158
|
-
(0, _fs.writeFileSync)(_path.default.join(outputDir, 'stories.json'), JSON.stringify(storiesData, null, 2));
|
159
|
-
}
|
160
|
-
|
161
|
-
function saveTestsJson(tests, dstPath = process.cwd()) {
|
162
|
-
(0, _fs.mkdirSync)(dstPath, {
|
163
|
-
recursive: true
|
164
|
-
});
|
165
|
-
(0, _fs.writeFileSync)(_path.default.join(dstPath, 'tests.json'), // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
166
|
-
JSON.stringify(tests, (_, value) => (0, _types.isFunction)(value) ? value.toString() : value, 2));
|
167
|
-
}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.raw = exports.getStorybook = exports.setAddon = exports.clearDecorators = exports.addParameters = exports.addDecorator = exports.configure = exports.storiesOf = exports.forceReRender = exports.clientApi = exports.channel = void 0;
|
7
|
-
|
8
|
-
var _addons = require("@storybook/addons");
|
9
|
-
|
10
|
-
var _helpers = require("./helpers");
|
11
|
-
|
12
|
-
var _api$channel, _api$context;
|
13
|
-
|
14
|
-
const framework = (0, _helpers.getStorybookFramework)(); // eslint-disable-next-line @typescript-eslint/no-var-requires
|
15
|
-
|
16
|
-
const core = require((0, _helpers.resolveFromStorybook)('@storybook/core')); //@ts-expect-error: 6.2 use named exports
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
18
|
-
|
19
|
-
|
20
|
-
const start = (0, _helpers.isStorybookVersionLessThan)(6, 2) ? core.default.start : core.start;
|
21
|
-
const api = start(() => void 0);
|
22
|
-
const channel = (0, _helpers.isStorybookVersionLessThan)(6, 4) ? (_api$channel = api.channel) !== null && _api$channel !== void 0 ? _api$channel : (_api$context = api.context) === null || _api$context === void 0 ? void 0 : _api$context.channel : _addons.addons.getChannel();
|
23
|
-
exports.channel = channel;
|
24
|
-
const clientApi = api.clientApi;
|
25
|
-
exports.clientApi = clientApi;
|
26
|
-
const forceReRender = api.forceReRender;
|
27
|
-
exports.forceReRender = forceReRender;
|
28
|
-
|
29
|
-
const storiesOf = (kind, m) => {
|
30
|
-
return clientApi.storiesOf(kind, m).addParameters({
|
31
|
-
framework
|
32
|
-
});
|
33
|
-
};
|
34
|
-
|
35
|
-
exports.storiesOf = storiesOf;
|
36
|
-
|
37
|
-
const configure = (...args) => {
|
38
|
-
if ((0, _helpers.isStorybookVersionLessThan)(5, 2)) {
|
39
|
-
//NOTE: Storybook <= 5.1 pass args as is
|
40
|
-
//@ts-expect-error: ignore it
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
42
|
-
return api.configApi.configure(...args);
|
43
|
-
}
|
44
|
-
|
45
|
-
if ((0, _helpers.isStorybookVersionLessThan)(6)) {
|
46
|
-
//NOTE: Storybook <= 5.3 pass `framework` as last argument
|
47
|
-
//@ts-expect-error: ignore it
|
48
|
-
return api.configure(...args, framework);
|
49
|
-
} //NOTE Storybook 6.x pass `framework` as first argument
|
50
|
-
//@ts-expect-error: ignore it
|
51
|
-
|
52
|
-
|
53
|
-
return api.configure(framework, ...args);
|
54
|
-
};
|
55
|
-
|
56
|
-
exports.configure = configure;
|
57
|
-
const addDecorator = clientApi.addDecorator;
|
58
|
-
exports.addDecorator = addDecorator;
|
59
|
-
const addParameters = clientApi.addParameters;
|
60
|
-
exports.addParameters = addParameters;
|
61
|
-
const clearDecorators = clientApi.clearDecorators;
|
62
|
-
exports.clearDecorators = clearDecorators;
|
63
|
-
const setAddon = clientApi.setAddon;
|
64
|
-
exports.setAddon = setAddon;
|
65
|
-
const getStorybook = clientApi.getStorybook;
|
66
|
-
exports.getStorybook = getStorybook;
|
67
|
-
const raw = clientApi.raw;
|
68
|
-
exports.raw = raw;
|
@@ -1,165 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.hasDocsAddon = hasDocsAddon;
|
7
|
-
exports.hasSvelteCSFAddon = hasSvelteCSFAddon;
|
8
|
-
exports.getStorybookVersion = getStorybookVersion;
|
9
|
-
exports.isStorybookVersionLessThan = isStorybookVersionLessThan;
|
10
|
-
exports.isStorybookVersionGreaterThan = isStorybookVersionGreaterThan;
|
11
|
-
exports.isStorybookVersion = isStorybookVersion;
|
12
|
-
exports.getStorybookFramework = getStorybookFramework;
|
13
|
-
exports.importStorybookConfig = importStorybookConfig;
|
14
|
-
exports.isCSFv3Enabled = isCSFv3Enabled;
|
15
|
-
exports.storybookConfigRef = exports.importStorybookCoreEvents = exports.importStorybookCoreCommon = exports.importStorybookClientLogger = exports.resolveFromStorybookCoreServer = exports.resolveFromStorybookCore = exports.resolveFromStorybookBuilderWebpack4 = exports.resolveFromStorybookAddonDocs = exports.resolveFromStorybook = exports.storybookDirRef = void 0;
|
16
|
-
|
17
|
-
var _path = _interopRequireDefault(require("path"));
|
18
|
-
|
19
|
-
var _resolveFrom = _interopRequireDefault(require("resolve-from"));
|
20
|
-
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
22
|
-
|
23
|
-
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); }
|
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 supportedFrameworks = ['react', 'vue', 'vue3', 'angular', 'marionette', 'mithril', 'marko', 'html', 'svelte', 'riot', 'ember', 'preact', 'rax', 'aurelia', 'server', 'web-components'];
|
28
|
-
const storybookDirRef = {
|
29
|
-
current: _path.default.resolve('.storybook')
|
30
|
-
};
|
31
|
-
exports.storybookDirRef = storybookDirRef;
|
32
|
-
|
33
|
-
const resolveFromStorybook = modulePath => (0, _resolveFrom.default)(storybookDirRef.current, modulePath);
|
34
|
-
|
35
|
-
exports.resolveFromStorybook = resolveFromStorybook;
|
36
|
-
|
37
|
-
const resolveFromStorybookAddonDocs = modulePath => (0, _resolveFrom.default)(resolveFromStorybook('@storybook/addon-docs'), modulePath);
|
38
|
-
|
39
|
-
exports.resolveFromStorybookAddonDocs = resolveFromStorybookAddonDocs;
|
40
|
-
|
41
|
-
const resolveFromStorybookBuilderWebpack4 = modulePath => (0, _resolveFrom.default)(resolveFromStorybook('@storybook/builder-webpack4'), modulePath);
|
42
|
-
|
43
|
-
exports.resolveFromStorybookBuilderWebpack4 = resolveFromStorybookBuilderWebpack4;
|
44
|
-
|
45
|
-
const resolveFromStorybookCore = modulePath => (0, _resolveFrom.default)(resolveFromStorybook('@storybook/core'), modulePath);
|
46
|
-
|
47
|
-
exports.resolveFromStorybookCore = resolveFromStorybookCore;
|
48
|
-
|
49
|
-
const resolveFromStorybookCoreServer = modulePath => (0, _resolveFrom.default)(resolveFromStorybook('@storybook/core-server'), modulePath);
|
50
|
-
|
51
|
-
exports.resolveFromStorybookCoreServer = resolveFromStorybookCoreServer;
|
52
|
-
|
53
|
-
const importFromStorybook = modulePath => Promise.resolve(`${resolveFromStorybook(modulePath)}`).then(s => _interopRequireWildcard(require(s)));
|
54
|
-
|
55
|
-
const importStorybookClientLogger = () => importFromStorybook('@storybook/client-logger');
|
56
|
-
|
57
|
-
exports.importStorybookClientLogger = importStorybookClientLogger;
|
58
|
-
|
59
|
-
const importStorybookCoreCommon = () => importFromStorybook('@storybook/core-common');
|
60
|
-
|
61
|
-
exports.importStorybookCoreCommon = importStorybookCoreCommon;
|
62
|
-
|
63
|
-
const importStorybookCoreEvents = () => importFromStorybook('@storybook/core-events');
|
64
|
-
|
65
|
-
exports.importStorybookCoreEvents = importStorybookCoreEvents;
|
66
|
-
|
67
|
-
function hasDocsAddon() {
|
68
|
-
try {
|
69
|
-
resolveFromStorybook('@storybook/addon-docs');
|
70
|
-
return true;
|
71
|
-
} catch (_) {
|
72
|
-
return false;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
function hasSvelteCSFAddon() {
|
77
|
-
try {
|
78
|
-
resolveFromStorybook('@storybook/addon-svelte-csf');
|
79
|
-
return true;
|
80
|
-
} catch (_) {
|
81
|
-
return false;
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
function getStorybookVersion() {
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
87
|
-
const {
|
88
|
-
version
|
89
|
-
} = require(resolveFromStorybook('@storybook/core/package.json'));
|
90
|
-
|
91
|
-
return version;
|
92
|
-
}
|
93
|
-
|
94
|
-
function isStorybookVersionLessThan(major, minor) {
|
95
|
-
var _process$env$__CREEVE;
|
96
|
-
|
97
|
-
const [sbMajor, sbMinor] = ((_process$env$__CREEVE = process.env.__CREEVEY_STORYBOOK_VERSION__) !== null && _process$env$__CREEVE !== void 0 ? _process$env$__CREEVE : getStorybookVersion()).split('.');
|
98
|
-
return Number(sbMajor) < major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) < minor;
|
99
|
-
}
|
100
|
-
|
101
|
-
function isStorybookVersionGreaterThan(major, minor) {
|
102
|
-
var _process$env$__CREEVE2;
|
103
|
-
|
104
|
-
const [sbMajor, sbMinor] = ((_process$env$__CREEVE2 = process.env.__CREEVEY_STORYBOOK_VERSION__) !== null && _process$env$__CREEVE2 !== void 0 ? _process$env$__CREEVE2 : getStorybookVersion()).split('.');
|
105
|
-
return Number(sbMajor) > major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) > minor;
|
106
|
-
}
|
107
|
-
|
108
|
-
function isStorybookVersion(major, minor) {
|
109
|
-
var _process$env$__CREEVE3;
|
110
|
-
|
111
|
-
const [sbMajor, sbMinor] = ((_process$env$__CREEVE3 = process.env.__CREEVEY_STORYBOOK_VERSION__) !== null && _process$env$__CREEVE3 !== void 0 ? _process$env$__CREEVE3 : getStorybookVersion()).split('.');
|
112
|
-
return Number(sbMajor) == major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) == minor;
|
113
|
-
}
|
114
|
-
|
115
|
-
function getStorybookFramework() {
|
116
|
-
var _process$env$__CREEVE4;
|
117
|
-
|
118
|
-
const framework = (_process$env$__CREEVE4 = process.env.__CREEVEY_STORYBOOK_FRAMEWORK__) !== null && _process$env$__CREEVE4 !== void 0 ? _process$env$__CREEVE4 : supportedFrameworks.find(framework => {
|
119
|
-
try {
|
120
|
-
return require.resolve(resolveFromStorybook(`@storybook/${framework}`));
|
121
|
-
} catch (_) {
|
122
|
-
return false;
|
123
|
-
}
|
124
|
-
});
|
125
|
-
if (!framework) throw new Error("Couldn't detect used Storybook framework. Please ensure that you install `@storybook/<framework>` package");
|
126
|
-
return framework;
|
127
|
-
}
|
128
|
-
|
129
|
-
const storybookConfigRef = {
|
130
|
-
current: {
|
131
|
-
stories: []
|
132
|
-
}
|
133
|
-
};
|
134
|
-
exports.storybookConfigRef = storybookConfigRef;
|
135
|
-
|
136
|
-
async function importStorybookConfig() {
|
137
|
-
const configPath = `${storybookDirRef.current}/main`;
|
138
|
-
|
139
|
-
try {
|
140
|
-
return storybookConfigRef.current = (await Promise.resolve(`${require.resolve(configPath)}`).then(s => _interopRequireWildcard(require(s)))).default;
|
141
|
-
} catch (_) {
|
142
|
-
const storybookUtilsPath = isStorybookVersionLessThan(6, 2) ? '@storybook/core/dist/server/utils' : '@storybook/core-common/dist/cjs/utils';
|
143
|
-
const serverRequireModule = isStorybookVersionLessThan(6, 2) ? 'server-require' : 'interpret-require'; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
144
|
-
|
145
|
-
const {
|
146
|
-
getInterpretedFile
|
147
|
-
} = await Promise.resolve(`${resolveFromStorybook(`${storybookUtilsPath}/interpret-files`)}`).then(s => _interopRequireWildcard(require(s))); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
148
|
-
|
149
|
-
const {
|
150
|
-
default: serverRequireFallback,
|
151
|
-
serverRequire = serverRequireFallback
|
152
|
-
} = await Promise.resolve(`${resolveFromStorybook(`${storybookUtilsPath}/${serverRequireModule}`)}`).then(s => _interopRequireWildcard(require(s))); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
153
|
-
|
154
|
-
const mainConfigFile = isStorybookVersionLessThan(6, 1) ? configPath : // eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
155
|
-
getInterpretedFile(configPath); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
|
156
|
-
|
157
|
-
return storybookConfigRef.current = serverRequire(mainConfigFile);
|
158
|
-
}
|
159
|
-
}
|
160
|
-
|
161
|
-
async function isCSFv3Enabled() {
|
162
|
-
var _await$importStoryboo, _await$importStoryboo2, _await$importStoryboo3;
|
163
|
-
|
164
|
-
return (_await$importStoryboo = (_await$importStoryboo2 = await importStorybookConfig()) === null || _await$importStoryboo2 === void 0 ? void 0 : (_await$importStoryboo3 = _await$importStoryboo2.features) === null || _await$importStoryboo3 === void 0 ? void 0 : _await$importStoryboo3.previewCsfV3) !== null && _await$importStoryboo !== void 0 ? _await$importStoryboo : false;
|
165
|
-
}
|