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.
Files changed (225) hide show
  1. package/CHANGELOG.md +5 -9
  2. package/lib/cjs/client/web/main.js +6 -6
  3. package/lib/types/cli.d.ts +1 -1
  4. package/lib/types/client/addon/Manager.d.ts +37 -37
  5. package/lib/types/client/addon/components/Addon.d.ts +8 -8
  6. package/lib/types/client/addon/components/Icons.d.ts +7 -7
  7. package/lib/types/client/addon/components/Panel.d.ts +9 -9
  8. package/lib/types/client/addon/components/TestSelect.d.ts +9 -9
  9. package/lib/types/client/addon/components/Tools.d.ts +6 -6
  10. package/lib/types/client/addon/decorator.d.ts +1 -1
  11. package/lib/types/client/addon/preset.d.ts +24 -22
  12. package/lib/types/client/addon/readyForCapture.d.ts +6 -0
  13. package/lib/types/client/addon/register.d.ts +3 -3
  14. package/lib/types/client/addon/utils.d.ts +2 -2
  15. package/lib/types/client/addon/withCreevey.d.ts +24 -13
  16. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
  17. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +25 -25
  18. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
  19. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
  20. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
  21. package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
  22. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +9 -9
  23. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +8 -8
  24. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
  25. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +17 -17
  26. package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
  27. package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
  28. package/lib/types/client/shared/helpers.d.ts +46 -46
  29. package/lib/types/client/shared/viewMode.d.ts +4 -4
  30. package/lib/types/client/web/CreeveyApp.d.ts +12 -12
  31. package/lib/types/client/web/CreeveyContext.d.ts +11 -11
  32. package/lib/types/client/web/CreeveyLoader.d.ts +3 -3
  33. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
  34. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  35. package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  36. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +13 -13
  37. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
  38. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +8 -8
  39. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
  40. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
  41. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  42. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
  43. package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
  44. package/lib/types/client/web/index.d.ts +4 -4
  45. package/lib/types/creevey.d.ts +1 -1
  46. package/lib/types/index.d.ts +4 -2
  47. package/lib/types/server/config.d.ts +4 -4
  48. package/lib/types/server/docker.d.ts +7 -7
  49. package/lib/types/server/extract.d.ts +2 -2
  50. package/lib/types/server/index.d.ts +2 -2
  51. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
  52. package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
  53. package/lib/types/server/loaders/babel/register.d.ts +5 -5
  54. package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
  55. package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
  56. package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
  57. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +2 -2
  58. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
  59. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
  60. package/lib/types/server/loaders/webpack/start.d.ts +1 -1
  61. package/lib/types/server/logger.d.ts +6 -6
  62. package/lib/types/server/master/api.d.ts +7 -7
  63. package/lib/types/server/master/index.d.ts +3 -3
  64. package/lib/types/server/master/master.d.ts +7 -6
  65. package/lib/types/server/master/pool.d.ts +31 -30
  66. package/lib/types/server/master/runner.d.ts +26 -26
  67. package/lib/types/server/master/server.d.ts +2 -2
  68. package/lib/types/server/messages.d.ts +27 -18
  69. package/lib/types/server/selenium/browser.d.ts +17 -14
  70. package/lib/types/server/selenium/index.d.ts +2 -2
  71. package/lib/types/server/selenium/selenoid.d.ts +3 -3
  72. package/lib/types/server/stories.d.ts +8 -8
  73. package/lib/types/server/storybook/entry.d.ts +18 -18
  74. package/lib/types/server/storybook/helpers.d.ts +24 -24
  75. package/lib/types/server/storybook/providers/browser.d.ts +4 -0
  76. package/lib/types/server/storybook/providers/hybrid.d.ts +4 -0
  77. package/lib/types/server/storybook/providers/nodejs.d.ts +9 -0
  78. package/lib/types/server/testsFiles/parser.d.ts +12 -0
  79. package/lib/types/server/testsFiles/register.d.ts +2 -0
  80. package/lib/types/server/update.d.ts +2 -2
  81. package/lib/types/server/utils.d.ts +20 -19
  82. package/lib/types/server/worker/chai-image.d.ts +6 -6
  83. package/lib/types/server/worker/helpers.d.ts +8 -7
  84. package/lib/types/server/worker/index.d.ts +1 -1
  85. package/lib/types/server/worker/reporter.d.ts +8 -8
  86. package/lib/types/server/worker/worker.d.ts +4 -4
  87. package/lib/types/shared.d.ts +16 -4
  88. package/lib/types/types.d.ts +489 -459
  89. package/package.json +16 -7
  90. package/storybook-static/stories.json +21 -0
  91. package/types/mocha.d.ts +1 -0
  92. package/lib/cjs/cli.js +0 -5
  93. package/lib/cjs/client/addon/Manager.js +0 -413
  94. package/lib/cjs/client/addon/components/Addon.js +0 -76
  95. package/lib/cjs/client/addon/components/Icons.js +0 -42
  96. package/lib/cjs/client/addon/components/Panel.js +0 -68
  97. package/lib/cjs/client/addon/components/TestSelect.js +0 -63
  98. package/lib/cjs/client/addon/components/Tools.js +0 -114
  99. package/lib/cjs/client/addon/decorator.js +0 -11
  100. package/lib/cjs/client/addon/preset.js +0 -80
  101. package/lib/cjs/client/addon/register.js +0 -96
  102. package/lib/cjs/client/addon/utils.js +0 -38
  103. package/lib/cjs/client/addon/withCreevey.js +0 -284
  104. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +0 -85
  105. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +0 -88
  106. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +0 -176
  107. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +0 -178
  108. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +0 -110
  109. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -45
  110. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +0 -46
  111. package/lib/cjs/client/shared/components/PageFooter/Paging.js +0 -98
  112. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +0 -78
  113. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +0 -144
  114. package/lib/cjs/client/shared/components/ResultsPage.js +0 -173
  115. package/lib/cjs/client/shared/creeveyClientApi.js +0 -103
  116. package/lib/cjs/client/shared/helpers.js +0 -482
  117. package/lib/cjs/client/shared/viewMode.js +0 -17
  118. package/lib/cjs/client/web/index.html +0 -19
  119. package/lib/cjs/creevey.js +0 -71
  120. package/lib/cjs/index.js +0 -44
  121. package/lib/cjs/server/config.js +0 -92
  122. package/lib/cjs/server/docker.js +0 -150
  123. package/lib/cjs/server/extract.js +0 -43
  124. package/lib/cjs/server/index.js +0 -85
  125. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -88
  126. package/lib/cjs/server/loaders/babel/helpers.js +0 -479
  127. package/lib/cjs/server/loaders/babel/register.js +0 -126
  128. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  129. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  130. package/lib/cjs/server/loaders/webpack/compile.js +0 -286
  131. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -174
  132. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -44
  133. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  134. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  135. package/lib/cjs/server/logger.js +0 -47
  136. package/lib/cjs/server/master/api.js +0 -71
  137. package/lib/cjs/server/master/index.js +0 -152
  138. package/lib/cjs/server/master/master.js +0 -56
  139. package/lib/cjs/server/master/pool.js +0 -206
  140. package/lib/cjs/server/master/runner.js +0 -294
  141. package/lib/cjs/server/master/server.js +0 -57
  142. package/lib/cjs/server/messages.js +0 -154
  143. package/lib/cjs/server/selenium/browser.js +0 -582
  144. package/lib/cjs/server/selenium/index.js +0 -31
  145. package/lib/cjs/server/selenium/selenoid.js +0 -174
  146. package/lib/cjs/server/stories.js +0 -167
  147. package/lib/cjs/server/storybook/entry.js +0 -68
  148. package/lib/cjs/server/storybook/helpers.js +0 -165
  149. package/lib/cjs/server/storybook/nodejs-provider.js +0 -220
  150. package/lib/cjs/server/update.js +0 -83
  151. package/lib/cjs/server/utils.js +0 -178
  152. package/lib/cjs/server/worker/chai-image.js +0 -142
  153. package/lib/cjs/server/worker/helpers.js +0 -73
  154. package/lib/cjs/server/worker/index.js +0 -15
  155. package/lib/cjs/server/worker/reporter.js +0 -120
  156. package/lib/cjs/server/worker/worker.js +0 -266
  157. package/lib/cjs/shared.js +0 -35
  158. package/lib/cjs/types.js +0 -69
  159. package/lib/esm/cli.js +0 -4
  160. package/lib/esm/client/addon/Manager.js +0 -397
  161. package/lib/esm/client/addon/components/Addon.js +0 -58
  162. package/lib/esm/client/addon/components/Icons.js +0 -27
  163. package/lib/esm/client/addon/components/Panel.js +0 -49
  164. package/lib/esm/client/addon/components/TestSelect.js +0 -49
  165. package/lib/esm/client/addon/components/Tools.js +0 -91
  166. package/lib/esm/client/addon/decorator.js +0 -2
  167. package/lib/esm/client/addon/preset.js +0 -55
  168. package/lib/esm/client/addon/register.js +0 -75
  169. package/lib/esm/client/addon/utils.js +0 -31
  170. package/lib/esm/client/addon/withCreevey.js +0 -270
  171. package/lib/esm/client/shared/components/ImagesView/BlendView.js +0 -64
  172. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +0 -65
  173. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +0 -152
  174. package/lib/esm/client/shared/components/ImagesView/SlideView.js +0 -154
  175. package/lib/esm/client/shared/components/ImagesView/SwapView.js +0 -89
  176. package/lib/esm/client/shared/components/ImagesView/index.js +0 -5
  177. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +0 -32
  178. package/lib/esm/client/shared/components/PageFooter/Paging.js +0 -84
  179. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +0 -64
  180. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +0 -120
  181. package/lib/esm/client/shared/components/ResultsPage.js +0 -143
  182. package/lib/esm/client/shared/creeveyClientApi.js +0 -94
  183. package/lib/esm/client/shared/helpers.js +0 -424
  184. package/lib/esm/client/shared/viewMode.js +0 -6
  185. package/lib/esm/creevey.js +0 -56
  186. package/lib/esm/index.js +0 -4
  187. package/lib/esm/server/config.js +0 -71
  188. package/lib/esm/server/docker.js +0 -123
  189. package/lib/esm/server/extract.js +0 -30
  190. package/lib/esm/server/index.js +0 -65
  191. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -74
  192. package/lib/esm/server/loaders/babel/helpers.js +0 -462
  193. package/lib/esm/server/loaders/babel/register.js +0 -105
  194. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  195. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  196. package/lib/esm/server/loaders/webpack/compile.js +0 -263
  197. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -153
  198. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -36
  199. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  200. package/lib/esm/server/loaders/webpack/start.js +0 -27
  201. package/lib/esm/server/logger.js +0 -20
  202. package/lib/esm/server/master/api.js +0 -60
  203. package/lib/esm/server/master/index.js +0 -131
  204. package/lib/esm/server/master/master.js +0 -37
  205. package/lib/esm/server/master/pool.js +0 -187
  206. package/lib/esm/server/master/runner.js +0 -272
  207. package/lib/esm/server/master/server.js +0 -37
  208. package/lib/esm/server/messages.js +0 -128
  209. package/lib/esm/server/selenium/browser.js +0 -554
  210. package/lib/esm/server/selenium/index.js +0 -2
  211. package/lib/esm/server/selenium/selenoid.js +0 -151
  212. package/lib/esm/server/stories.js +0 -147
  213. package/lib/esm/server/storybook/entry.js +0 -44
  214. package/lib/esm/server/storybook/helpers.js +0 -106
  215. package/lib/esm/server/storybook/nodejs-provider.js +0 -200
  216. package/lib/esm/server/update.js +0 -65
  217. package/lib/esm/server/utils.js +0 -141
  218. package/lib/esm/server/worker/chai-image.js +0 -130
  219. package/lib/esm/server/worker/helpers.js +0 -64
  220. package/lib/esm/server/worker/index.js +0 -1
  221. package/lib/esm/server/worker/reporter.js +0 -98
  222. package/lib/esm/server/worker/worker.js +0 -236
  223. package/lib/esm/shared.js +0 -22
  224. package/lib/esm/types.js +0 -40
  225. package/lib/types/server/storybook/nodejs-provider.d.ts +0 -5
@@ -1,236 +0,0 @@
1
- import { promisify } from 'util';
2
- import fs from 'fs';
3
- import path from 'path';
4
- import chai from 'chai';
5
- import chalk from 'chalk';
6
- import Mocha from 'mocha';
7
- import { Key, until } from 'selenium-webdriver';
8
- import { isImageError } from '../../types';
9
- import { subscribeOn, emitTestMessage, emitWorkerMessage } from '../messages';
10
- import chaiImage from './chai-image';
11
- import { getBrowser, switchStory } from '../selenium';
12
- import { CreeveyReporter, TeamcityReporter } from './reporter';
13
- import { addTestsFromStories } from './helpers';
14
- import { logger } from '../logger';
15
- const statAsync = promisify(fs.stat);
16
- const readdirAsync = promisify(fs.readdir);
17
- const readFileAsync = promisify(fs.readFile);
18
- const writeFileAsync = promisify(fs.writeFile);
19
- const mkdirAsync = promisify(fs.mkdir);
20
-
21
- async function getStat(filePath) {
22
- try {
23
- return await statAsync(filePath);
24
- } catch (error) {
25
- if (typeof error == 'object' && error && error.code === 'ENOENT') {
26
- return null;
27
- }
28
-
29
- throw error;
30
- }
31
- }
32
-
33
- async function getLastImageNumber(imageDir, imageName) {
34
- const actualImagesRegexp = new RegExp(`${imageName}-actual-(\\d+)\\.png`);
35
-
36
- try {
37
- var _await$readdirAsync$m;
38
-
39
- return (_await$readdirAsync$m = (await readdirAsync(imageDir)).map(filename => filename.replace(actualImagesRegexp, '$1')).map(Number).filter(x => !isNaN(x)).sort((a, b) => b - a)[0]) !== null && _await$readdirAsync$m !== void 0 ? _await$readdirAsync$m : 0;
40
- } catch (_error) {
41
- return 0;
42
- }
43
- } // FIXME browser options hotfix
44
-
45
-
46
- export default async function worker(config, options) {
47
- var _await$browser$getSes;
48
-
49
- let retries = 0;
50
- let images = {};
51
- let error = undefined;
52
- const testScope = [];
53
-
54
- function runHandler(failures) {
55
- if (failures > 0 && (error || Object.values(images).some(image => (image === null || image === void 0 ? void 0 : image.error) != null))) {
56
- var _error2;
57
-
58
- const isTimeout = hasTimeout(error) || Object.values(images).some(image => hasTimeout(image === null || image === void 0 ? void 0 : image.error));
59
- const payload = {
60
- status: 'failed',
61
- images,
62
- error
63
- };
64
- isTimeout ? emitWorkerMessage({
65
- type: 'error',
66
- payload: {
67
- error: (_error2 = error) !== null && _error2 !== void 0 ? _error2 : 'Unknown error'
68
- }
69
- }) : emitTestMessage({
70
- type: 'end',
71
- payload
72
- });
73
- } else {
74
- emitTestMessage({
75
- type: 'end',
76
- payload: {
77
- status: 'success',
78
- images
79
- }
80
- });
81
- }
82
- }
83
-
84
- async function saveImages(imageDir, images) {
85
- await mkdirAsync(imageDir, {
86
- recursive: true
87
- });
88
-
89
- for (const {
90
- name,
91
- data
92
- } of images) {
93
- await writeFileAsync(path.join(imageDir, name), data);
94
- }
95
- }
96
-
97
- async function getExpected(assertImageName) {
98
- var _images$imageName;
99
-
100
- // context => [kind, story, test, browser]
101
- // rootSuite -> kindSuite -> storyTest -> [browsers.png]
102
- // rootSuite -> kindSuite -> storySuite -> test -> [browsers.png]
103
- const testPath = [...testScope];
104
- const imageName = assertImageName !== null && assertImageName !== void 0 ? assertImageName : testPath.pop();
105
- const imagesMeta = [];
106
- const reportImageDir = path.join(config.reportDir, ...testPath);
107
- const imageNumber = (await getLastImageNumber(reportImageDir, imageName)) + 1;
108
- const actualImageName = `${imageName}-actual-${imageNumber}.png`;
109
- const image = images[imageName] = (_images$imageName = images[imageName]) !== null && _images$imageName !== void 0 ? _images$imageName : {
110
- actual: actualImageName
111
- };
112
-
113
- const onCompare = async (actual, expect, diff) => {
114
- imagesMeta.push({
115
- name: image.actual,
116
- data: actual
117
- });
118
-
119
- if (diff && expect) {
120
- image.expect = `${imageName}-expect-${imageNumber}.png`;
121
- image.diff = `${imageName}-diff-${imageNumber}.png`;
122
- imagesMeta.push({
123
- name: image.expect,
124
- data: expect
125
- });
126
- imagesMeta.push({
127
- name: image.diff,
128
- data: diff
129
- });
130
- }
131
-
132
- if (options.saveReport) {
133
- await saveImages(reportImageDir, imagesMeta);
134
- }
135
- };
136
-
137
- const expectImageDir = path.join(config.screenDir, ...testPath);
138
- const expectImageStat = await getStat(path.join(expectImageDir, `${imageName}.png`));
139
- if (!expectImageStat) return {
140
- expected: null,
141
- onCompare
142
- };
143
- const expected = await readFileAsync(path.join(expectImageDir, `${imageName}.png`));
144
- return {
145
- expected,
146
- onCompare
147
- };
148
- }
149
-
150
- const mochaOptions = {
151
- timeout: 30000,
152
- reporter: process.env.TEAMCITY_VERSION ? TeamcityReporter : options.reporter || CreeveyReporter,
153
- reporterOptions: {
154
- reportDir: config.reportDir,
155
- topLevelSuite: options.browser,
156
-
157
- get willRetry() {
158
- return retries < config.maxRetries;
159
- },
160
-
161
- get images() {
162
- return images;
163
- },
164
-
165
- get sessionId() {
166
- return sessionId;
167
- }
168
-
169
- }
170
- };
171
- const mocha = new Mocha(mochaOptions); // @ts-expect-error: @types/mocha has out-dated types
172
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
173
-
174
- mocha.cleanReferencesAfterRun(false);
175
- chai.use(chaiImage(getExpected, config.diffOptions));
176
- await addTestsFromStories(mocha.suite, config, {
177
- browser: options.browser,
178
- watch: options.ui,
179
- debug: options.debug
180
- });
181
- const browserConfig = config.browsers[options.browser];
182
- const browser = await getBrowser(config, browserConfig);
183
- const sessionId = (_await$browser$getSes = await (browser === null || browser === void 0 ? void 0 : browser.getSession())) === null || _await$browser$getSes === void 0 ? void 0 : _await$browser$getSes.getId();
184
- if (browser == null) return;
185
- const interval = setInterval(() => void browser.getCurrentUrl().then(url => {
186
- if (options.debug) logger.debug(`${options.browser}:${chalk.gray(sessionId)}`, 'current url', chalk.magenta(url));
187
- }), 10 * 1000);
188
- subscribeOn('shutdown', () => clearInterval(interval));
189
- mocha.suite.beforeAll(function () {
190
- this.config = config;
191
- this.browser = browser;
192
- this.until = until;
193
- this.keys = Key;
194
- this.expect = chai.expect;
195
- this.browserName = options.browser;
196
- this.testScope = testScope;
197
- });
198
- mocha.suite.beforeEach(switchStory);
199
- subscribeOn('test', message => {
200
- if (message.type != 'start') return;
201
- const test = message.payload;
202
- const testPath = test.path.join(' ').replace(/[|\\{}()[\]^$+*?.-]/g, '\\$&');
203
- images = {};
204
- error = undefined;
205
- retries = test.retries;
206
- mocha.grep(new RegExp(`^${testPath}$`));
207
- const runner = mocha.run(runHandler); // TODO How handle browser corruption?
208
-
209
- runner.on('fail', (_test, reason) => {
210
- if (!(reason instanceof Error)) {
211
- error = reason;
212
- } else if (!isImageError(reason)) {
213
- var _reason$stack;
214
-
215
- error = (_reason$stack = reason.stack) !== null && _reason$stack !== void 0 ? _reason$stack : reason.message;
216
- } else if (typeof reason.images == 'string') {
217
- const image = images[testScope.slice(-1)[0]];
218
- if (image) image.error = reason.images;
219
- } else {
220
- const imageErrors = reason.images;
221
- Object.keys(imageErrors).forEach(imageName => {
222
- const image = images[imageName];
223
- if (image) image.error = imageErrors[imageName];
224
- });
225
- }
226
- });
227
- });
228
- logger.info(`${options.browser}:${chalk.gray(sessionId)} is ready`);
229
- emitWorkerMessage({
230
- type: 'ready'
231
- });
232
- }
233
-
234
- function hasTimeout(str) {
235
- return str != null && str.toLowerCase().includes('timeout');
236
- }
package/lib/esm/shared.js DELETED
@@ -1,22 +0,0 @@
1
- import { mapValues, mergeWith } from 'lodash';
2
- // NOTE: Copy-paste from storybook/api
3
- export const combineParameters = (...parameterSets) => // eslint-disable-next-line @typescript-eslint/no-unsafe-return
4
- mergeWith({}, ...parameterSets, (_, srcValue) => {
5
- // Treat arrays as scalars:
6
- if (Array.isArray(srcValue)) return srcValue;
7
- return undefined;
8
- }); // NOTE: Copy-paste from storybook/api
9
-
10
- export const denormalizeStoryParameters = ({
11
- globalParameters,
12
- kindParameters,
13
- stories
14
- }) => {
15
- return mapValues(stories, storyData => {
16
- var _kindParameters$story;
17
-
18
- return { ...storyData,
19
- parameters: combineParameters(globalParameters, (_kindParameters$story = kindParameters[storyData.kind]) !== null && _kindParameters$story !== void 0 ? _kindParameters$story : {}, storyData.parameters)
20
- };
21
- });
22
- };
package/lib/esm/types.js DELETED
@@ -1,40 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- /* eslint-enable @typescript-eslint/no-explicit-any */
4
- export function noop() {
5
- /* noop */
6
- }
7
- export function isDefined(value) {
8
- return value !== null && value !== undefined;
9
- }
10
- export function isTest(x) {
11
- return isDefined(x) && 'id' in x && 'storyId' in x && typeof x.id == 'string' && typeof x.storyId == 'string';
12
- }
13
- export function isObject(x) {
14
- return typeof x == 'object' && x != null;
15
- }
16
- export function isString(x) {
17
- return typeof x == 'string';
18
- } // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
-
20
- export function isFunction(x) {
21
- return typeof x == 'function';
22
- }
23
- export function isImageError(error) {
24
- return error instanceof Error && 'images' in error;
25
- }
26
- export function isProcessMessage(message) {
27
- return isObject(message) && 'scope' in message;
28
- }
29
- export function isWorkerMessage(message) {
30
- return isProcessMessage(message) && message.scope == 'worker';
31
- }
32
- export function isTestMessage(message) {
33
- return isProcessMessage(message) && message.scope == 'test';
34
- }
35
- export function isWebpackMessage(message) {
36
- return isProcessMessage(message) && message.scope == 'webpack';
37
- }
38
- export function isDockerMessage(message) {
39
- return isProcessMessage(message) && message.scope == 'docker';
40
- }
@@ -1,5 +0,0 @@
1
- import type { StoryInput, SetStoriesData, Config } from '../../types';
2
- export declare function loadStories(config: Config, { watch, debug }: {
3
- watch: boolean;
4
- debug: boolean;
5
- }, storiesListener: (stories: Map<string, StoryInput[]>) => void): Promise<SetStoriesData>;