creevey 0.9.0-beta.13 → 0.9.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/.yarnrc.yml +1 -0
  3. package/lib/cjs/cli.js +1 -0
  4. package/lib/cjs/client/addon/Manager.js +151 -223
  5. package/lib/cjs/client/addon/components/Addon.js +2 -9
  6. package/lib/cjs/client/addon/components/Icons.js +1 -7
  7. package/lib/cjs/client/addon/components/Panel.js +5 -18
  8. package/lib/cjs/client/addon/components/TestSelect.js +12 -25
  9. package/lib/cjs/client/addon/components/Tools.js +17 -28
  10. package/lib/cjs/client/addon/decorator.js +1 -4
  11. package/lib/cjs/client/addon/index.js +0 -4
  12. package/lib/cjs/client/addon/preset.js +3 -12
  13. package/lib/cjs/client/addon/preview.js +1 -4
  14. package/lib/cjs/client/addon/readyForCapture.js +1 -4
  15. package/lib/cjs/client/addon/register.js +11 -26
  16. package/lib/cjs/client/addon/utils.js +1 -9
  17. package/lib/cjs/client/addon/withCreevey.js +55 -134
  18. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +5 -17
  19. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +8 -24
  20. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +7 -23
  21. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +7 -22
  22. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +5 -17
  23. package/lib/cjs/client/shared/components/ImagesView/index.js +0 -5
  24. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +1 -8
  25. package/lib/cjs/client/shared/components/PageFooter/Paging.js +2 -19
  26. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +21 -17
  27. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +5 -24
  28. package/lib/cjs/client/shared/components/ResultsPage.js +9 -37
  29. package/lib/cjs/client/shared/creeveyClientApi.js +3 -13
  30. package/lib/cjs/client/shared/helpers.js +21 -75
  31. package/lib/cjs/client/shared/viewMode.js +2 -6
  32. package/lib/cjs/client/web/192.js +1 -0
  33. package/lib/cjs/client/web/632.js +43 -0
  34. package/lib/cjs/client/web/794.js +1 -0
  35. package/lib/cjs/client/web/main.js +78 -1
  36. package/lib/cjs/client/web/main.js.LICENSE.txt +0 -15
  37. package/lib/cjs/creevey.js +5 -21
  38. package/lib/cjs/index.js +0 -15
  39. package/lib/cjs/server/config.js +13 -33
  40. package/lib/cjs/server/docker.js +5 -27
  41. package/lib/cjs/server/index.js +8 -33
  42. package/lib/cjs/server/logger.js +5 -19
  43. package/lib/cjs/server/master/api.js +1 -14
  44. package/lib/cjs/server/master/index.js +15 -46
  45. package/lib/cjs/server/master/master.js +6 -21
  46. package/lib/cjs/server/master/pool.js +2 -37
  47. package/lib/cjs/server/master/runner.js +15 -42
  48. package/lib/cjs/server/master/server.js +5 -27
  49. package/lib/cjs/server/messages.js +7 -53
  50. package/lib/cjs/server/selenium/browser.js +51 -136
  51. package/lib/cjs/server/selenium/index.js +0 -4
  52. package/lib/cjs/server/selenium/selenoid.js +7 -33
  53. package/lib/cjs/server/stories.js +25 -30
  54. package/lib/cjs/server/storybook/providers/browser.js +5 -18
  55. package/lib/cjs/server/storybook/providers/hybrid.js +9 -29
  56. package/lib/cjs/server/testsFiles/parser.js +3 -19
  57. package/lib/cjs/server/testsFiles/register.js +7 -9
  58. package/lib/cjs/server/update.js +3 -20
  59. package/lib/cjs/server/utils.js +9 -41
  60. package/lib/cjs/server/worker/chai-image.js +1 -27
  61. package/lib/cjs/server/worker/helpers.js +2 -12
  62. package/lib/cjs/server/worker/index.js +1 -3
  63. package/lib/cjs/server/worker/reporter.js +8 -24
  64. package/lib/cjs/server/worker/worker.js +5 -49
  65. package/lib/cjs/shared/index.js +22 -36
  66. package/lib/cjs/shared/serializeRegExp.js +0 -8
  67. package/lib/cjs/types.js +4 -14
  68. package/lib/esm/cli.js +1 -1
  69. package/lib/esm/client/addon/Manager.js +151 -214
  70. package/lib/esm/client/addon/components/Panel.js +4 -6
  71. package/lib/esm/client/addon/components/TestSelect.js +11 -17
  72. package/lib/esm/client/addon/components/Tools.js +15 -14
  73. package/lib/esm/client/addon/preset.js +2 -8
  74. package/lib/esm/client/addon/readyForCapture.js +1 -3
  75. package/lib/esm/client/addon/register.js +6 -8
  76. package/lib/esm/client/addon/utils.js +0 -5
  77. package/lib/esm/client/addon/withCreevey.js +54 -116
  78. package/lib/esm/client/shared/components/ImagesView/BlendView.js +1 -1
  79. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +6 -8
  80. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +3 -4
  81. package/lib/esm/client/shared/components/ImagesView/SlideView.js +3 -3
  82. package/lib/esm/client/shared/components/ImagesView/SwapView.js +1 -1
  83. package/lib/esm/client/shared/components/PageFooter/Paging.js +1 -11
  84. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +18 -7
  85. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +3 -8
  86. package/lib/esm/client/shared/components/ResultsPage.js +6 -15
  87. package/lib/esm/client/shared/creeveyClientApi.js +3 -10
  88. package/lib/esm/client/shared/helpers.js +21 -47
  89. package/lib/esm/client/web/192.js +1 -0
  90. package/lib/esm/client/web/632.js +43 -0
  91. package/lib/esm/client/web/794.js +1 -0
  92. package/lib/esm/client/web/index.html +19 -0
  93. package/lib/esm/client/web/main.js +79 -0
  94. package/lib/esm/client/web/main.js.LICENSE.txt +34 -0
  95. package/lib/esm/creevey.js +4 -8
  96. package/lib/esm/index.js +0 -1
  97. package/lib/esm/server/config.js +7 -14
  98. package/lib/esm/server/docker.js +4 -12
  99. package/lib/esm/server/index.js +7 -21
  100. package/lib/esm/server/logger.js +0 -1
  101. package/lib/esm/server/master/api.js +0 -9
  102. package/lib/esm/server/master/index.js +15 -32
  103. package/lib/esm/server/master/master.js +2 -7
  104. package/lib/esm/server/master/pool.js +0 -23
  105. package/lib/esm/server/master/runner.js +14 -27
  106. package/lib/esm/server/master/server.js +4 -9
  107. package/lib/esm/server/messages.js +6 -38
  108. package/lib/esm/server/selenium/browser.js +50 -114
  109. package/lib/esm/server/selenium/selenoid.js +6 -17
  110. package/lib/esm/server/stories.js +24 -20
  111. package/lib/esm/server/storybook/providers/browser.js +4 -8
  112. package/lib/esm/server/storybook/providers/hybrid.js +6 -14
  113. package/lib/esm/server/testsFiles/parser.js +0 -6
  114. package/lib/esm/server/testsFiles/register.js +5 -2
  115. package/lib/esm/server/update.js +0 -8
  116. package/lib/esm/server/utils.js +3 -11
  117. package/lib/esm/server/worker/chai-image.js +0 -21
  118. package/lib/esm/server/worker/helpers.js +2 -9
  119. package/lib/esm/server/worker/reporter.js +7 -10
  120. package/lib/esm/server/worker/worker.js +4 -25
  121. package/lib/esm/shared/index.js +24 -25
  122. package/lib/esm/types.js +4 -1
  123. package/lib/types/client/addon/Manager.d.ts +1 -1
  124. package/lib/types/client/addon/components/Addon.d.ts +1 -0
  125. package/lib/types/client/addon/components/Icons.d.ts +1 -0
  126. package/lib/types/client/addon/components/Panel.d.ts +1 -0
  127. package/lib/types/client/addon/components/TestSelect.d.ts +1 -0
  128. package/lib/types/client/addon/components/Tools.d.ts +1 -0
  129. package/lib/types/client/addon/decorator.d.ts +1 -1
  130. package/lib/types/client/addon/preset.d.ts +2 -2
  131. package/lib/types/client/addon/preview.d.ts +1 -1
  132. package/lib/types/client/addon/withCreevey.d.ts +3 -2
  133. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -1
  134. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +1 -0
  135. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -1
  136. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -1
  137. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -1
  138. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +1 -0
  139. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +1 -0
  140. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +3 -1
  141. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +1 -0
  142. package/lib/types/client/shared/components/ResultsPage.d.ts +3 -1
  143. package/lib/types/client/web/CreeveyApp.d.ts +1 -0
  144. package/lib/types/client/web/CreeveyLoader.d.ts +2 -1
  145. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +4 -1
  146. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +1 -0
  147. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +1 -0
  148. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +19 -14
  149. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +1 -0
  150. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +3 -1
  151. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +3 -1
  152. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +1 -0
  153. package/lib/types/shared/index.d.ts +1 -1
  154. package/lib/types/types.d.ts +7 -28
  155. package/package.json +60 -78
  156. package/lib/cjs/client/addon/preset.ie11.js +0 -74
  157. package/lib/cjs/client/addon/preset.sb7.js +0 -19
  158. package/lib/cjs/client/web/142.js +0 -2
  159. package/lib/cjs/client/web/142.js.LICENSE.txt +0 -12
  160. package/lib/cjs/client/web/32.js +0 -1
  161. package/lib/cjs/client/web/551.js +0 -1
  162. package/lib/cjs/client/web/566.js +0 -2
  163. package/lib/cjs/client/web/566.js.LICENSE.txt +0 -31
  164. package/lib/cjs/client/web/691.js +0 -2
  165. package/lib/cjs/client/web/691.js.LICENSE.txt +0 -8
  166. package/lib/cjs/client/web/725.js +0 -1
  167. package/lib/cjs/server/extract.js +0 -46
  168. package/lib/cjs/server/loaders/babel/creevey-plugin.js +0 -86
  169. package/lib/cjs/server/loaders/babel/helpers.js +0 -469
  170. package/lib/cjs/server/loaders/babel/register.js +0 -124
  171. package/lib/cjs/server/loaders/hooks/mdx.js +0 -30
  172. package/lib/cjs/server/loaders/hooks/svelte.js +0 -65
  173. package/lib/cjs/server/loaders/webpack/compile.js +0 -269
  174. package/lib/cjs/server/loaders/webpack/creevey-loader.js +0 -172
  175. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +0 -39
  176. package/lib/cjs/server/loaders/webpack/mdx-loader.js +0 -72
  177. package/lib/cjs/server/loaders/webpack/start.js +0 -41
  178. package/lib/cjs/server/storybook/entry.js +0 -53
  179. package/lib/cjs/server/storybook/helpers.js +0 -158
  180. package/lib/cjs/server/storybook/providers/nodejs.js +0 -239
  181. package/lib/esm/client/addon/preset.ie11.js +0 -59
  182. package/lib/esm/client/addon/preset.sb7.js +0 -8
  183. package/lib/esm/server/extract.js +0 -32
  184. package/lib/esm/server/loaders/babel/creevey-plugin.js +0 -72
  185. package/lib/esm/server/loaders/babel/helpers.js +0 -452
  186. package/lib/esm/server/loaders/babel/register.js +0 -103
  187. package/lib/esm/server/loaders/hooks/mdx.js +0 -15
  188. package/lib/esm/server/loaders/hooks/svelte.js +0 -49
  189. package/lib/esm/server/loaders/webpack/compile.js +0 -246
  190. package/lib/esm/server/loaders/webpack/creevey-loader.js +0 -152
  191. package/lib/esm/server/loaders/webpack/dummy-hmr.js +0 -32
  192. package/lib/esm/server/loaders/webpack/mdx-loader.js +0 -58
  193. package/lib/esm/server/loaders/webpack/start.js +0 -27
  194. package/lib/esm/server/storybook/entry.js +0 -27
  195. package/lib/esm/server/storybook/helpers.js +0 -97
  196. package/lib/esm/server/storybook/providers/nodejs.js +0 -216
  197. package/lib/types/client/addon/preset.ie11.d.ts +0 -10
  198. package/lib/types/client/addon/preset.sb7.d.ts +0 -2
  199. package/lib/types/server/extract.d.ts +0 -2
  200. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +0 -1
  201. package/lib/types/server/loaders/babel/helpers.d.ts +0 -19
  202. package/lib/types/server/loaders/babel/register.d.ts +0 -5
  203. package/lib/types/server/loaders/hooks/mdx.d.ts +0 -1
  204. package/lib/types/server/loaders/hooks/svelte.d.ts +0 -1
  205. package/lib/types/server/loaders/webpack/compile.d.ts +0 -2
  206. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +0 -4
  207. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +0 -10
  208. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +0 -6
  209. package/lib/types/server/loaders/webpack/start.d.ts +0 -1
  210. package/lib/types/server/storybook/entry.d.ts +0 -17
  211. package/lib/types/server/storybook/helpers.d.ts +0 -24
  212. package/lib/types/server/storybook/providers/nodejs.d.ts +0 -9
  213. package/preset/ie11.js +0 -5
  214. package/preset/index.js +0 -9
  215. package/preset/sb7.js +0 -5
  216. package/types/mdx.d.ts +0 -7
@@ -9,11 +9,9 @@ const mkdirAsync = promisify(mkdir);
9
9
  export default class Runner extends EventEmitter {
10
10
  pools = {};
11
11
  tests = {};
12
-
13
12
  get isRunning() {
14
13
  return Object.values(this.pools).some(pool => pool.isRunning);
15
14
  }
16
-
17
15
  constructor(config) {
18
16
  super();
19
17
  this.failFast = config.failFast;
@@ -22,7 +20,6 @@ export default class Runner extends EventEmitter {
22
20
  this.browsers = Object.keys(config.browsers);
23
21
  this.browsers.map(browser => this.pools[browser] = new Pool(config, browser)).map(pool => pool.on('test', this.handlePoolMessage));
24
22
  }
25
-
26
23
  handlePoolMessage = message => {
27
24
  const {
28
25
  id,
@@ -36,10 +33,9 @@ export default class Runner extends EventEmitter {
36
33
  testName,
37
34
  storyPath,
38
35
  storyId
39
- } = test; // TODO Handle 'retrying' status
40
-
36
+ } = test;
37
+ // TODO Handle 'retrying' status
41
38
  test.status = status == 'retrying' ? 'failed' : status;
42
-
43
39
  if (!result) {
44
40
  this.sendUpdate({
45
41
  tests: {
@@ -55,11 +51,9 @@ export default class Runner extends EventEmitter {
55
51
  });
56
52
  return;
57
53
  }
58
-
59
54
  if (!test.results) {
60
55
  test.results = [];
61
56
  }
62
-
63
57
  test.results.push(result);
64
58
  this.sendUpdate({
65
59
  tests: {
@@ -84,33 +78,32 @@ export default class Runner extends EventEmitter {
84
78
  this.emit('stop');
85
79
  }
86
80
  };
87
-
88
81
  async init() {
89
82
  await Promise.all(Object.values(this.pools).map(pool => pool.init()));
90
83
  }
91
-
92
84
  updateTests(testsDiff) {
93
85
  const tests = {};
94
86
  const removedTests = [];
95
87
  Object.entries(testsDiff).forEach(([id, newTest]) => {
96
88
  const oldTest = this.tests[id];
97
-
98
89
  if (newTest) {
99
90
  if (oldTest) {
100
- this.tests[id] = { ...newTest,
91
+ this.tests[id] = {
92
+ ...newTest,
101
93
  retries: oldTest.retries,
102
94
  results: oldTest.results,
103
95
  approved: oldTest.approved
104
96
  };
105
- } else this.tests[id] = newTest; // eslint-disable-next-line @typescript-eslint/no-unused-vars
106
-
97
+ } else this.tests[id] = newTest;
107
98
 
99
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
108
100
  const {
109
101
  story,
110
102
  fn,
111
103
  ...restTest
112
104
  } = newTest;
113
- tests[id] = { ...restTest,
105
+ tests[id] = {
106
+ ...restTest,
114
107
  status: 'unknown'
115
108
  };
116
109
  } else if (oldTest) {
@@ -136,7 +129,6 @@ export default class Runner extends EventEmitter {
136
129
  removedTests
137
130
  });
138
131
  }
139
-
140
132
  start(ids) {
141
133
  if (this.isRunning) return;
142
134
  const testsToStart = ids.map(id => this.tests[id]).filter(isDefined).filter(test => !test.skip);
@@ -149,7 +141,8 @@ export default class Runner extends EventEmitter {
149
141
  browser,
150
142
  testName,
151
143
  storyPath
152
- }) => ({ ...update,
144
+ }) => ({
145
+ ...update,
153
146
  [id]: {
154
147
  id,
155
148
  browser,
@@ -169,7 +162,8 @@ export default class Runner extends EventEmitter {
169
162
  } = test;
170
163
  const restPath = [...storyPath, testName].filter(isDefined);
171
164
  test.status = 'pending';
172
- return { ...tests,
165
+ return {
166
+ ...tests,
173
167
  [browser]: [...(tests[browser] || []), {
174
168
  id,
175
169
  path: restPath
@@ -179,21 +173,19 @@ export default class Runner extends EventEmitter {
179
173
  this.browsers.forEach(browser => {
180
174
  const pool = this.pools[browser];
181
175
  const tests = testsByBrowser[browser];
182
-
183
176
  if (tests && tests.length > 0 && pool.start(tests)) {
184
177
  pool.once('stop', this.handlePoolStop);
185
178
  }
186
179
  });
187
180
  }
188
-
189
181
  stop() {
190
182
  if (!this.isRunning) return;
191
183
  this.browsers.forEach(browser => this.pools[browser].stop());
192
184
  }
193
-
194
185
  get status() {
195
186
  const tests = {};
196
- Object.values(this.tests).filter(isDefined) // eslint-disable-next-line @typescript-eslint/no-unused-vars
187
+ Object.values(this.tests).filter(isDefined)
188
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
197
189
  .forEach(({
198
190
  story,
199
191
  fn,
@@ -205,7 +197,6 @@ export default class Runner extends EventEmitter {
205
197
  browsers: this.browsers
206
198
  };
207
199
  }
208
-
209
200
  async approve({
210
201
  id,
211
202
  retry,
@@ -217,11 +208,9 @@ export default class Runner extends EventEmitter {
217
208
  if (!result || !result.images) return;
218
209
  const images = result.images[image];
219
210
  if (!images) return;
220
-
221
211
  if (!test.approved) {
222
212
  test.approved = {};
223
213
  }
224
-
225
214
  const {
226
215
  browser,
227
216
  testName,
@@ -251,9 +240,7 @@ export default class Runner extends EventEmitter {
251
240
  }
252
241
  });
253
242
  }
254
-
255
243
  sendUpdate(data) {
256
244
  this.emit('update', data);
257
245
  }
258
-
259
246
  }
@@ -27,17 +27,14 @@ export default function server(reportDir, port, ui) {
27
27
  ctx.body = 'pong';
28
28
  return;
29
29
  }
30
-
31
30
  await next();
32
31
  });
33
-
34
32
  if (ui) {
35
33
  app.use(async (_, next) => {
36
34
  await creeveyApi;
37
35
  await next();
38
36
  });
39
37
  }
40
-
41
38
  app.use(async (ctx, next) => {
42
39
  if (ctx.method == 'POST' && ctx.path == '/stories') {
43
40
  const {
@@ -57,7 +54,6 @@ export default function server(reportDir, port, ui) {
57
54
  }));
58
55
  return;
59
56
  }
60
-
61
57
  await next();
62
58
  });
63
59
  app.use(async (ctx, next) => {
@@ -66,8 +62,8 @@ export default function server(reportDir, port, ui) {
66
62
  workerId,
67
63
  options
68
64
  } = ctx.request.body;
69
- const worker = Object.values(cluster.workers ?? {}).filter(isDefined).find(worker => worker.process.pid == workerId); // NOTE: Hypothetical case when someone send to us capture req and we don't have a worker with browser session for it
70
-
65
+ const worker = Object.values(cluster.workers ?? {}).filter(isDefined).find(worker => worker.process.pid == workerId);
66
+ // NOTE: Hypothetical case when someone send to us capture req and we don't have a worker with browser session for it
71
67
  if (!worker) return;
72
68
  await new Promise(resolve => {
73
69
  const unsubscribe = subscribeOnWorker(worker, 'stories', message => {
@@ -79,12 +75,11 @@ export default function server(reportDir, port, ui) {
79
75
  type: 'capture',
80
76
  payload: options
81
77
  });
82
- }); // TODO Pass screenshot result to show it in inspector
83
-
78
+ });
79
+ // TODO Pass screenshot result to show it in inspector
84
80
  ctx.body = 'Ok';
85
81
  return;
86
82
  }
87
-
88
83
  await next();
89
84
  });
90
85
  app.use(serve(path.join(__dirname, '../../client/web')));
@@ -1,13 +1,11 @@
1
1
  import cluster from 'cluster';
2
-
3
2
  function emitMessage(message) {
4
3
  var _process$send, _process;
5
-
6
4
  if (cluster.isWorker && !process.connected) return false;
7
- return ((_process$send = (_process = process).send) === null || _process$send === void 0 ? void 0 : _process$send.call(_process, message)) ?? // @ts-expect-error: wrong typings `process.emit` return boolean
5
+ return ((_process$send = (_process = process).send) === null || _process$send === void 0 ? void 0 : _process$send.call(_process, message)) ??
6
+ // @ts-expect-error: wrong typings `process.emit` return boolean
8
7
  process.emit('message', message);
9
8
  }
10
-
11
9
  export function emitWorkerMessage(message) {
12
10
  return emitMessage({
13
11
  scope: 'worker',
@@ -43,7 +41,6 @@ export function emitShutdownMessage() {
43
41
  scope: 'shutdown'
44
42
  });
45
43
  }
46
-
47
44
  function createHandlers() {
48
45
  return Object.assign(Object.create(null), {
49
46
  worker: new Set(),
@@ -54,60 +51,48 @@ function createHandlers() {
54
51
  shutdown: new Set()
55
52
  });
56
53
  }
57
-
58
54
  const handlers = createHandlers();
59
-
60
55
  const handler = message => {
61
56
  switch (message.scope) {
62
57
  case 'worker':
63
58
  return handlers.worker.forEach(h => h(message));
64
-
65
59
  case 'stories':
66
60
  return handlers.stories.forEach(h => h(message));
67
-
68
61
  case 'test':
69
62
  return handlers.test.forEach(h => h(message));
70
-
71
63
  case 'webpack':
72
64
  return handlers.webpack.forEach(h => h(message));
73
-
74
65
  case 'docker':
75
66
  return handlers.docker.forEach(h => h(message));
76
-
77
67
  case 'shutdown':
78
68
  return handlers.shutdown.forEach(h => h(message));
79
69
  }
80
70
  };
81
-
82
71
  process.on('message', handler);
83
72
  export function sendStoriesMessage(target, message) {
84
73
  var _target$send;
85
-
86
- (_target$send = target.send) === null || _target$send === void 0 ? void 0 : _target$send.call(target, {
74
+ (_target$send = target.send) === null || _target$send === void 0 || _target$send.call(target, {
87
75
  scope: 'stories',
88
76
  ...message
89
77
  });
90
78
  }
91
79
  export function sendTestMessage(target, message) {
92
80
  var _target$send2;
93
-
94
- (_target$send2 = target.send) === null || _target$send2 === void 0 ? void 0 : _target$send2.call(target, {
81
+ (_target$send2 = target.send) === null || _target$send2 === void 0 || _target$send2.call(target, {
95
82
  scope: 'test',
96
83
  ...message
97
84
  });
98
85
  }
99
86
  export function sendDockerMessage(target, message) {
100
87
  var _target$send3;
101
-
102
- (_target$send3 = target.send) === null || _target$send3 === void 0 ? void 0 : _target$send3.call(target, {
88
+ (_target$send3 = target.send) === null || _target$send3 === void 0 || _target$send3.call(target, {
103
89
  scope: 'docker',
104
90
  ...message
105
91
  });
106
92
  }
107
93
  export function sendShutdownMessage(target) {
108
94
  var _target$send4;
109
-
110
- (_target$send4 = target.send) === null || _target$send4 === void 0 ? void 0 : _target$send4.call(target, {
95
+ (_target$send4 = target.send) === null || _target$send4 === void 0 || _target$send4.call(target, {
111
96
  scope: 'shutdown'
112
97
  });
113
98
  }
@@ -119,35 +104,30 @@ export function subscribeOn(scope, handler) {
119
104
  handlers.worker.add(workerHandler);
120
105
  return () => handlers.worker.delete(workerHandler);
121
106
  }
122
-
123
107
  case 'stories':
124
108
  {
125
109
  const storiesHandler = handler;
126
110
  handlers.stories.add(storiesHandler);
127
111
  return () => handlers.stories.delete(storiesHandler);
128
112
  }
129
-
130
113
  case 'test':
131
114
  {
132
115
  const testHandler = handler;
133
116
  handlers.test.add(testHandler);
134
117
  return () => handlers.test.delete(testHandler);
135
118
  }
136
-
137
119
  case 'webpack':
138
120
  {
139
121
  const webpackHandler = handler;
140
122
  handlers.webpack.add(webpackHandler);
141
123
  return () => handlers.webpack.delete(webpackHandler);
142
124
  }
143
-
144
125
  case 'docker':
145
126
  {
146
127
  const dockerHandler = handler;
147
128
  handlers.docker.add(dockerHandler);
148
129
  return () => handlers.docker.delete(dockerHandler);
149
130
  }
150
-
151
131
  case 'shutdown':
152
132
  {
153
133
  const shutdownHandler = handler;
@@ -159,7 +139,6 @@ export function subscribeOn(scope, handler) {
159
139
  const workers = new Map();
160
140
  export function subscribeOnWorker(worker, scope, handler) {
161
141
  const workerHandlers = workers.get(worker) ?? createHandlers();
162
-
163
142
  if (!workers.has(worker)) {
164
143
  workers.set(worker, workerHandlers);
165
144
  worker.once('exit', () => workers.delete(worker));
@@ -167,25 +146,19 @@ export function subscribeOnWorker(worker, scope, handler) {
167
146
  switch (message.scope) {
168
147
  case 'worker':
169
148
  return workerHandlers.worker.forEach(h => h(message));
170
-
171
149
  case 'stories':
172
150
  return workerHandlers.stories.forEach(h => h(message));
173
-
174
151
  case 'test':
175
152
  return workerHandlers.test.forEach(h => h(message));
176
-
177
153
  case 'webpack':
178
154
  return workerHandlers.webpack.forEach(h => h(message));
179
-
180
155
  case 'docker':
181
156
  return workerHandlers.docker.forEach(h => h(message));
182
-
183
157
  case 'shutdown':
184
158
  return workerHandlers.shutdown.forEach(h => h(message));
185
159
  }
186
160
  });
187
161
  }
188
-
189
162
  switch (scope) {
190
163
  case 'worker':
191
164
  {
@@ -193,35 +166,30 @@ export function subscribeOnWorker(worker, scope, handler) {
193
166
  workerHandlers.worker.add(workerHandler);
194
167
  return () => workerHandlers.worker.delete(workerHandler);
195
168
  }
196
-
197
169
  case 'stories':
198
170
  {
199
171
  const storiesHandler = handler;
200
172
  workerHandlers.stories.add(storiesHandler);
201
173
  return () => workerHandlers.stories.delete(storiesHandler);
202
174
  }
203
-
204
175
  case 'test':
205
176
  {
206
177
  const testHandler = handler;
207
178
  workerHandlers.test.add(testHandler);
208
179
  return () => workerHandlers.test.delete(testHandler);
209
180
  }
210
-
211
181
  case 'webpack':
212
182
  {
213
183
  const webpackHandler = handler;
214
184
  workerHandlers.webpack.add(webpackHandler);
215
185
  return () => workerHandlers.webpack.delete(webpackHandler);
216
186
  }
217
-
218
187
  case 'docker':
219
188
  {
220
189
  const dockerHandler = handler;
221
190
  workerHandlers.docker.add(dockerHandler);
222
191
  return () => workerHandlers.docker.delete(dockerHandler);
223
192
  }
224
-
225
193
  case 'shutdown':
226
194
  {
227
195
  const shutdownHandler = handler;