creevey 0.10.0-beta.2 → 0.10.0-beta.21

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 (179) hide show
  1. package/dist/client/addon/components/Addon.js +17 -7
  2. package/dist/client/addon/components/Addon.js.map +1 -1
  3. package/dist/client/addon/components/Panel.js +2 -2
  4. package/dist/client/addon/components/Panel.js.map +1 -1
  5. package/dist/client/addon/components/Tools.js +17 -7
  6. package/dist/client/addon/components/Tools.js.map +1 -1
  7. package/dist/client/addon/controller.js +4 -5
  8. package/dist/client/addon/controller.js.map +1 -1
  9. package/dist/client/addon/withCreevey.d.ts +1 -0
  10. package/dist/client/addon/withCreevey.js +19 -34
  11. package/dist/client/addon/withCreevey.js.map +1 -1
  12. package/dist/client/shared/components/ImagesView/BlendView.js +17 -7
  13. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -1
  14. package/dist/client/shared/components/ImagesView/SideBySideView.js +17 -7
  15. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -1
  16. package/dist/client/shared/components/ImagesView/SlideView.js +17 -7
  17. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -1
  18. package/dist/client/shared/components/ImagesView/SwapView.js +29 -7
  19. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -1
  20. package/dist/client/shared/components/PageHeader/ImagePreview.js +1 -0
  21. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -1
  22. package/dist/client/shared/components/PageHeader/PageHeader.js +17 -7
  23. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -1
  24. package/dist/client/shared/components/ResultsPage.js +40 -12
  25. package/dist/client/shared/components/ResultsPage.js.map +1 -1
  26. package/dist/client/shared/creeveyClientApi.js +8 -1
  27. package/dist/client/shared/creeveyClientApi.js.map +1 -1
  28. package/dist/client/shared/helpers.d.ts +0 -2
  29. package/dist/client/shared/helpers.js +0 -17
  30. package/dist/client/shared/helpers.js.map +1 -1
  31. package/dist/client/web/CreeveyApp.js +41 -14
  32. package/dist/client/web/CreeveyApp.js.map +1 -1
  33. package/dist/client/web/CreeveyContext.d.ts +5 -0
  34. package/dist/client/web/CreeveyContext.js +20 -7
  35. package/dist/client/web/CreeveyContext.js.map +1 -1
  36. package/dist/client/web/CreeveyLoader.js +2 -2
  37. package/dist/client/web/CreeveyLoader.js.map +1 -1
  38. package/dist/client/web/CreeveyView/SideBar/Search.js +19 -9
  39. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -1
  40. package/dist/client/web/CreeveyView/SideBar/SideBar.js +18 -7
  41. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -1
  42. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js +60 -7
  43. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js.map +1 -1
  44. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +17 -7
  45. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -1
  46. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +18 -10
  47. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -1
  48. package/dist/client/web/CreeveyView/SideBar/TestLink.js +18 -10
  49. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -1
  50. package/dist/client/web/KeyboardEventsContext.d.ts +1 -8
  51. package/dist/client/web/KeyboardEventsContext.js +79 -64
  52. package/dist/client/web/KeyboardEventsContext.js.map +1 -1
  53. package/dist/client/web/assets/{index-DkmZfG9C.js → index-iytWuaD6.js} +104 -104
  54. package/dist/client/web/index.html +1 -1
  55. package/dist/client/web/index.js +17 -7
  56. package/dist/client/web/index.js.map +1 -1
  57. package/dist/client/web/themes.d.ts +2 -0
  58. package/dist/client/web/themes.js +22 -0
  59. package/dist/client/web/themes.js.map +1 -0
  60. package/dist/creevey.js +13 -5
  61. package/dist/creevey.js.map +1 -1
  62. package/dist/index.d.ts +1 -0
  63. package/dist/server/config.js +5 -4
  64. package/dist/server/config.js.map +1 -1
  65. package/dist/server/docker.js +37 -20
  66. package/dist/server/docker.js.map +1 -1
  67. package/dist/server/index.js +36 -7
  68. package/dist/server/index.js.map +1 -1
  69. package/dist/server/logger.d.ts +2 -1
  70. package/dist/server/logger.js +7 -3
  71. package/dist/server/logger.js.map +1 -1
  72. package/dist/server/master/api.js +1 -1
  73. package/dist/server/master/api.js.map +1 -1
  74. package/dist/server/master/pool.d.ts +3 -3
  75. package/dist/server/master/pool.js +10 -63
  76. package/dist/server/master/pool.js.map +1 -1
  77. package/dist/server/master/queue.d.ts +13 -0
  78. package/dist/server/master/queue.js +64 -0
  79. package/dist/server/master/queue.js.map +1 -0
  80. package/dist/server/master/runner.d.ts +1 -0
  81. package/dist/server/master/runner.js +4 -1
  82. package/dist/server/master/runner.js.map +1 -1
  83. package/dist/server/master/server.js +1 -1
  84. package/dist/server/master/server.js.map +1 -1
  85. package/dist/server/master/start.js +10 -9
  86. package/dist/server/master/start.js.map +1 -1
  87. package/dist/server/playwright/docker-file.d.ts +2 -1
  88. package/dist/server/playwright/docker-file.js +6 -4
  89. package/dist/server/playwright/docker-file.js.map +1 -1
  90. package/dist/server/playwright/internal.d.ts +3 -3
  91. package/dist/server/playwright/internal.js +50 -44
  92. package/dist/server/playwright/internal.js.map +1 -1
  93. package/dist/server/playwright/webdriver.d.ts +1 -1
  94. package/dist/server/playwright/webdriver.js +1 -1
  95. package/dist/server/playwright/webdriver.js.map +1 -1
  96. package/dist/server/providers/browser.js +6 -4
  97. package/dist/server/providers/browser.js.map +1 -1
  98. package/dist/server/providers/hybrid.js +1 -1
  99. package/dist/server/providers/hybrid.js.map +1 -1
  100. package/dist/server/reporter.js +13 -9
  101. package/dist/server/reporter.js.map +1 -1
  102. package/dist/server/selenium/internal.d.ts +3 -4
  103. package/dist/server/selenium/internal.js +127 -91
  104. package/dist/server/selenium/internal.js.map +1 -1
  105. package/dist/server/selenium/selenoid.js +2 -2
  106. package/dist/server/selenium/selenoid.js.map +1 -1
  107. package/dist/server/selenium/webdriver.d.ts +1 -1
  108. package/dist/server/selenium/webdriver.js +1 -1
  109. package/dist/server/selenium/webdriver.js.map +1 -1
  110. package/dist/server/telemetry.js +7 -3
  111. package/dist/server/telemetry.js.map +1 -1
  112. package/dist/server/utils.d.ts +16 -1
  113. package/dist/server/utils.js +31 -3
  114. package/dist/server/utils.js.map +1 -1
  115. package/dist/server/webdriver.d.ts +3 -4
  116. package/dist/server/webdriver.js +10 -9
  117. package/dist/server/webdriver.js.map +1 -1
  118. package/dist/server/worker/chai-image.d.ts +1 -2
  119. package/dist/server/worker/chai-image.js +4 -3
  120. package/dist/server/worker/chai-image.js.map +1 -1
  121. package/dist/server/worker/match-image.d.ts +4 -4
  122. package/dist/server/worker/match-image.js +7 -4
  123. package/dist/server/worker/match-image.js.map +1 -1
  124. package/dist/server/worker/start.js +24 -14
  125. package/dist/server/worker/start.js.map +1 -1
  126. package/dist/shared/index.d.ts +1 -1
  127. package/dist/types.d.ts +32 -13
  128. package/dist/types.js +13 -1
  129. package/dist/types.js.map +1 -1
  130. package/package.json +55 -59
  131. package/src/client/addon/components/Panel.tsx +2 -2
  132. package/src/client/addon/controller.ts +13 -6
  133. package/src/client/addon/withCreevey.ts +27 -13
  134. package/src/client/shared/components/ImagesView/SwapView.tsx +18 -0
  135. package/src/client/shared/components/PageHeader/ImagePreview.tsx +1 -0
  136. package/src/client/shared/components/ResultsPage.tsx +28 -7
  137. package/src/client/shared/creeveyClientApi.ts +9 -1
  138. package/src/client/shared/helpers.ts +0 -22
  139. package/src/client/web/CreeveyApp.tsx +26 -8
  140. package/src/client/web/CreeveyContext.tsx +9 -0
  141. package/src/client/web/CreeveyLoader.tsx +1 -1
  142. package/src/client/web/CreeveyView/SideBar/Search.tsx +3 -3
  143. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +1 -0
  144. package/src/client/web/CreeveyView/SideBar/SideBarFooter.tsx +37 -6
  145. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +3 -5
  146. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +2 -4
  147. package/src/client/web/KeyboardEventsContext.tsx +61 -73
  148. package/src/client/web/themes.ts +24 -0
  149. package/src/creevey.ts +13 -6
  150. package/src/server/config.ts +5 -4
  151. package/src/server/docker.ts +41 -23
  152. package/src/server/index.ts +39 -9
  153. package/src/server/logger.ts +6 -2
  154. package/src/server/master/api.ts +1 -1
  155. package/src/server/master/pool.ts +18 -56
  156. package/src/server/master/queue.ts +64 -0
  157. package/src/server/master/runner.ts +4 -1
  158. package/src/server/master/server.ts +1 -1
  159. package/src/server/master/start.ts +13 -9
  160. package/src/server/playwright/docker-file.ts +7 -4
  161. package/src/server/playwright/internal.ts +70 -51
  162. package/src/server/playwright/webdriver.ts +2 -2
  163. package/src/server/providers/browser.ts +6 -4
  164. package/src/server/providers/hybrid.ts +1 -1
  165. package/src/server/reporter.ts +15 -9
  166. package/src/server/selenium/internal.ts +133 -96
  167. package/src/server/selenium/selenoid.ts +2 -2
  168. package/src/server/selenium/webdriver.ts +2 -2
  169. package/src/server/telemetry.ts +7 -3
  170. package/src/server/utils.ts +37 -4
  171. package/src/server/webdriver.ts +11 -16
  172. package/src/server/worker/chai-image.ts +4 -4
  173. package/src/server/worker/match-image.ts +12 -8
  174. package/src/server/worker/start.ts +25 -16
  175. package/src/shared/index.ts +1 -1
  176. package/src/types.ts +35 -15
  177. package/types/global.d.ts +1 -0
  178. package/.yarnrc.yml +0 -1
  179. package/chromatic.config.json +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/server/worker/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/server/worker/start.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Parameters } from '@storybook/csf';
1
+ import type { Parameters } from '@storybook/csf';
2
2
  import { SetStoriesData, StoriesRaw, StoryInput } from '../types.js';
3
3
  export declare const combineParameters: (...parameterSets: Parameters[]) => Parameters;
4
4
  export declare const denormalizeStoryParameters: ({ globalParameters, kindParameters, stories, }: SetStoriesData) => StoriesRaw;
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@ import type Pixelmatch from 'pixelmatch';
4
4
  import type { ODiffOptions } from 'odiff-bin';
5
5
  import type { expect } from 'chai';
6
6
  import type EventEmitter from 'events';
7
- import type Logger from 'loglevel';
7
+ import { LaunchOptions } from 'playwright-core';
8
8
  export type DiffOptions = typeof Pixelmatch extends (x1: any, x2: any, x3: any, x4: any, x5: any, options?: infer T) => void ? T : never;
9
9
  export interface SetStoriesData {
10
10
  v?: number;
@@ -28,6 +28,17 @@ export interface StoryMeta {
28
28
  [name: string]: unknown;
29
29
  };
30
30
  }
31
+ export declare enum StorybookEvents {
32
+ SET_STORIES = "setStories",
33
+ SET_CURRENT_STORY = "setCurrentStory",
34
+ FORCE_REMOUNT = "forceRemount",
35
+ STORY_RENDERED = "storyRendered",
36
+ STORY_ERRORED = "storyErrored",
37
+ STORY_THREW_EXCEPTION = "storyThrewException",
38
+ UPDATE_STORY_ARGS = "updateStoryArgs",
39
+ SET_GLOBALS = "setGlobals",
40
+ UPDATE_GLOBALS = "updateGlobals"
41
+ }
31
42
  export interface CreeveyMeta {
32
43
  parameters?: {
33
44
  creevey?: CreeveyStoryParams;
@@ -66,14 +77,6 @@ export interface CreeveyStory {
66
77
  }
67
78
  export interface BrowserConfigObject {
68
79
  browserName: string;
69
- /**
70
- * Browser version. Ignored with Playwright webdriver
71
- */
72
- browserVersion?: string;
73
- /**
74
- * Operation system name. Ignored with Playwright webdriver
75
- */
76
- platformName?: string;
77
80
  limit?: number;
78
81
  /**
79
82
  * Selenium grid url
@@ -100,7 +103,18 @@ export interface BrowserConfigObject {
100
103
  width: number;
101
104
  height: number;
102
105
  };
103
- [name: string]: unknown;
106
+ seleniumCapabilities?: {
107
+ /**
108
+ * Browser version. Ignored with Playwright webdriver
109
+ */
110
+ browserVersion?: string;
111
+ /**
112
+ * Operation system name. Ignored with Playwright webdriver
113
+ */
114
+ platformName?: string;
115
+ [name: string]: unknown;
116
+ };
117
+ playwrightOptions?: Omit<LaunchOptions, 'logger'>;
104
118
  }
105
119
  export type StorybookGlobals = Record<string, unknown>;
106
120
  export type BrowserConfig = boolean | string | BrowserConfigObject;
@@ -110,7 +124,7 @@ export interface CreeveyWebdriver {
110
124
  openBrowser(fresh?: boolean): Promise<CreeveyWebdriver | null>;
111
125
  closeBrowser(): Promise<void>;
112
126
  loadStoriesFromBrowser(): Promise<StoriesRaw>;
113
- switchStory(story: StoryInput, context: BaseCreeveyTestContext, logger: Logger.Logger): Promise<CreeveyTestContext>;
127
+ switchStory(story: StoryInput, context: BaseCreeveyTestContext): Promise<CreeveyTestContext>;
114
128
  afterTest(test: ServerTest): Promise<void>;
115
129
  }
116
130
  export interface HookConfig {
@@ -249,6 +263,11 @@ export interface Config {
249
263
  * The `--ui` CLI option ignores this option
250
264
  */
251
265
  failFast: boolean;
266
+ /**
267
+ * Start workers in sequential queue
268
+ * @default false
269
+ */
270
+ useWorkerQueue: boolean;
252
271
  /**
253
272
  * Specify platform for docker images
254
273
  */
@@ -391,8 +410,8 @@ export interface BaseCreeveyTestContext {
391
410
  imageName?: string;
392
411
  screenshot: Buffer;
393
412
  }[];
394
- matchImage: (image: Buffer, imageName?: string) => Promise<void>;
395
- matchImages: (images: Record<string, Buffer>) => Promise<void>;
413
+ matchImage: (image: Buffer | string, imageName?: string) => Promise<void>;
414
+ matchImages: (images: Record<string, Buffer | string>) => Promise<void>;
396
415
  }
397
416
  export interface CreeveyTestContext extends BaseCreeveyTestContext {
398
417
  takeScreenshot: () => Promise<Buffer>;
package/dist/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEST_EVENTS = exports.ImagesError = void 0;
3
+ exports.TEST_EVENTS = exports.ImagesError = exports.StorybookEvents = void 0;
4
4
  exports.noop = noop;
5
5
  exports.isDefined = isDefined;
6
6
  exports.isTest = isTest;
@@ -12,6 +12,18 @@ exports.isProcessMessage = isProcessMessage;
12
12
  exports.isWorkerMessage = isWorkerMessage;
13
13
  exports.isStoriesMessage = isStoriesMessage;
14
14
  exports.isTestMessage = isTestMessage;
15
+ var StorybookEvents;
16
+ (function (StorybookEvents) {
17
+ StorybookEvents["SET_STORIES"] = "setStories";
18
+ StorybookEvents["SET_CURRENT_STORY"] = "setCurrentStory";
19
+ StorybookEvents["FORCE_REMOUNT"] = "forceRemount";
20
+ StorybookEvents["STORY_RENDERED"] = "storyRendered";
21
+ StorybookEvents["STORY_ERRORED"] = "storyErrored";
22
+ StorybookEvents["STORY_THREW_EXCEPTION"] = "storyThrewException";
23
+ StorybookEvents["UPDATE_STORY_ARGS"] = "updateStoryArgs";
24
+ StorybookEvents["SET_GLOBALS"] = "setGlobals";
25
+ StorybookEvents["UPDATE_GLOBALS"] = "updateGlobals";
26
+ })(StorybookEvents || (exports.StorybookEvents = StorybookEvents = {}));
15
27
  class ImagesError extends Error {
16
28
  images;
17
29
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAiiBA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AA3MD,MAAa,WAAY,SAAQ,KAAK;IACpC,MAAM,CAA4C;CACnD;AAFD,kCAEC;AAwCD,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,iCAAkB,CAAA;IAClB,iCAAkB,CAAA;AACpB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAwGD,SAAgB,IAAI;IAClB,UAAU;AACZ,CAAC;AAED,SAAgB,SAAS,CAAI,KAA2B;IACtD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAgB,MAAM,CAAC,CAA8B;IACnD,OAAO,CACL,SAAS,CAAC,CAAC,CAAC;QACZ,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,IAAI,CAAC;QACT,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ;QACvB,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,WAAW,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC3D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAqjBA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AA5jBD,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,6CAA0B,CAAA;IAC1B,wDAAqC,CAAA;IACrC,iDAA8B,CAAA;IAC9B,mDAAgC,CAAA;IAChC,iDAA8B,CAAA;IAC9B,gEAA6C,CAAA;IAC7C,wDAAqC,CAAA;IACrC,6CAA0B,CAAA;IAC1B,mDAAgC,CAAA;AAClC,CAAC,EAVW,eAAe,+BAAf,eAAe,QAU1B;AAuWD,MAAa,WAAY,SAAQ,KAAK;IACpC,MAAM,CAA4C;CACnD;AAFD,kCAEC;AAwCD,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,iCAAkB,CAAA;IAClB,iCAAkB,CAAA;AACpB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAwGD,SAAgB,IAAI;IAClB,UAAU;AACZ,CAAC;AAED,SAAgB,SAAS,CAAI,KAA2B;IACtD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAgB,MAAM,CAAC,CAA8B;IACnD,OAAO,CACL,SAAS,CAAC,CAAC,CAAC;QACZ,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,IAAI,CAAC;QACT,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ;QACvB,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,WAAW,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC3D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAC9D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "creevey",
3
3
  "description": "Cross-browser screenshot testing tool for Storybook with fancy UI Runner",
4
- "version": "0.10.0-beta.2",
4
+ "version": "0.10.0-beta.21",
5
5
  "type": "commonjs",
6
6
  "bin": "dist/cli.js",
7
7
  "main": "./dist/index.js",
@@ -9,12 +9,12 @@
9
9
  "exports": {
10
10
  ".": "./dist/index.js",
11
11
  "./playwright": {
12
- "default": "./dist/playwright.js",
13
- "types": "./dist/playwright.d.ts"
12
+ "types": "./dist/playwright.d.ts",
13
+ "default": "./dist/playwright.js"
14
14
  },
15
15
  "./selenium": {
16
- "default": "./dist/selenium.js",
17
- "types": "./dist/selenium.d.ts"
16
+ "types": "./dist/selenium.d.ts",
17
+ "default": "./dist/selenium.js"
18
18
  },
19
19
  "./manager": "./dist/client/addon/manager.js",
20
20
  "./preview": "./dist/client/addon/preview.js",
@@ -87,29 +87,30 @@
87
87
  },
88
88
  "dependencies": {
89
89
  "@koa/cors": "^5.0.0",
90
- "@octokit/core": "^6.1.2",
90
+ "@octokit/core": "^6.1.3",
91
+ "@storybook/icons": "^1.3.0",
91
92
  "@types/chai": "^4.3.20",
92
- "@types/dockerode": "^3.3.31",
93
+ "@types/dockerode": "^3.3.34",
93
94
  "@types/koa": "^2.15.0",
94
95
  "@types/koa-bodyparser": "^4.3.12",
95
96
  "@types/koa-mount": "^4.0.5",
96
97
  "@types/koa-static": "^4.0.4",
97
98
  "@types/koa__cors": "^5.0.0",
98
- "@types/lodash": "^4.17.13",
99
+ "@types/lodash": "^4.17.14",
99
100
  "@types/micromatch": "^4.0.9",
100
101
  "@types/minimist": "^1.2.5",
101
102
  "@types/pixelmatch": "^5.2.6",
102
103
  "@types/pngjs": "^6.0.5",
103
- "@types/qs": "^6.9.16",
104
- "@types/react": "^18.3.12",
105
- "@types/react-dom": "^18.3.1",
106
- "@types/selenium-webdriver": "^4.1.27",
104
+ "@types/qs": "^6.9.17",
105
+ "@types/react": "^18.3.18",
106
+ "@types/react-dom": "^18.3.5",
107
+ "@types/selenium-webdriver": "^4.1.28",
107
108
  "@types/shelljs": "^0.8.15",
108
109
  "@types/ws": "^8.5.13",
109
110
  "chai": "^4.5.0",
110
111
  "chalk": "^4.1.2",
111
- "chokidar": "^4.0.1",
112
- "dockerode": "^4.0.2",
112
+ "chokidar": "^4.0.3",
113
+ "dockerode": "^4.0.3",
113
114
  "find-cache-dir": "^5.0.0",
114
115
  "get-port": "^7.1.0",
115
116
  "koa": "^2.15.3",
@@ -121,77 +122,72 @@
121
122
  "loglevel-plugin-prefix": "^0.8.4",
122
123
  "micromatch": "^4.0.8",
123
124
  "minimist": "^1.2.8",
124
- "odiff-bin": "^3.1.2",
125
+ "odiff-bin": "^3.2.0",
125
126
  "pixelmatch": "^6.0.0",
126
127
  "pngjs": "^7.0.0",
127
128
  "polished": "^4.3.1",
128
- "qs": "^6.13.0",
129
+ "qs": "^6.13.1",
129
130
  "semver": "^7.6.3",
130
131
  "shelljs": "^0.8.5",
131
132
  "tar-stream": "^3.1.7",
132
133
  "tsx": "^4.19.2",
133
- "uuid": "^11.0.2",
134
+ "uuid": "^11.0.5",
134
135
  "ws": "^8.18.0",
135
- "yocto-spinner": "^0.1.1"
136
+ "yocto-spinner": "^0.1.2"
136
137
  },
137
138
  "devDependencies": {
138
- "@chromatic-com/storybook": "^3.2.2",
139
- "@eslint/js": "^9.14.0",
140
- "@storybook/addon-essentials": "^8.4.1",
141
- "@storybook/addon-interactions": "^8.4.1",
142
- "@storybook/blocks": "^8.4.1",
143
- "@storybook/channels": "^8.4.1",
144
- "@storybook/client-logger": "^8.4.1",
145
- "@storybook/components": "^8.4.1",
146
- "@storybook/core-common": "^8.4.1",
147
- "@storybook/core-events": "^8.4.1",
148
- "@storybook/core-server": "^8.4.1",
149
- "@storybook/csf": "^0.1.11",
150
- "@storybook/icons": "^1.2.12",
151
- "@storybook/manager-api": "^8.4.1",
152
- "@storybook/preview-api": "^8.4.1",
153
- "@storybook/react": "^8.4.1",
154
- "@storybook/react-vite": "^8.4.1",
155
- "@storybook/test": "^8.4.1",
156
- "@storybook/theming": "^8.4.1",
157
- "@storybook/types": "^8.4.1",
139
+ "@chromatic-com/storybook": "^3.2.3",
140
+ "@eslint/js": "^9.18.0",
141
+ "@storybook/addon-essentials": "^8.4.7",
142
+ "@storybook/addon-interactions": "^8.4.7",
143
+ "@storybook/blocks": "^8.4.7",
144
+ "@storybook/channels": "^8.4.7",
145
+ "@storybook/components": "^8.4.7",
146
+ "@storybook/csf": "^0.1.13",
147
+ "@storybook/manager-api": "^8.4.7",
148
+ "@storybook/preview-api": "^8.4.7",
149
+ "@storybook/react": "^8.4.7",
150
+ "@storybook/react-vite": "^8.4.7",
151
+ "@storybook/test": "^8.4.7",
152
+ "@storybook/theming": "^8.4.7",
153
+ "@storybook/types": "^8.4.7",
158
154
  "@types/eslint": "^9.6.1",
159
155
  "@types/eslint__js": "^8.42.3",
160
156
  "@types/node": "^18.19.64",
161
157
  "@types/resize-observer-browser": "^0.1.11",
162
- "@types/semver": "^7",
158
+ "@types/semver": "^7.5.8",
163
159
  "@types/tar-stream": "^3.1.3",
164
160
  "@types/tmp": "^0.2.6",
165
- "@vitejs/plugin-react-swc": "^3.7.1",
166
- "browserstack-local": "^1.5.5",
167
- "chromatic": "^11.16.3",
168
- "concurrently": "^9.0.1",
161
+ "@vitejs/plugin-react-swc": "^3.7.2",
162
+ "browserstack-local": "^1.5.6",
163
+ "chromatic": "^11.22.2",
164
+ "concurrently": "^9.1.2",
169
165
  "conventional-changelog-cli": "^5.0.0",
170
- "dotenv": "^16.4.5",
171
- "eslint": "^9.14.0",
166
+ "dotenv": "^16.4.7",
167
+ "eslint": "^9.18.0",
172
168
  "eslint-config-prettier": "^9.1.0",
173
169
  "eslint-plugin-prettier": "^5.2.1",
174
- "eslint-plugin-react": "^7.37.2",
175
- "eslint-plugin-react-hooks": "^5.0.0",
170
+ "eslint-plugin-react": "^7.37.4",
171
+ "eslint-plugin-react-hooks": "^5.1.0",
176
172
  "git-cz": "^4.9.0",
177
- "globals": "^15.11.0",
178
- "husky": "^9.1.6",
173
+ "globals": "^15.14.0",
174
+ "husky": "^9.1.7",
179
175
  "immer": "^10.1.1",
180
- "lint-staged": "^15.2.10",
176
+ "lint-staged": "^15.3.0",
181
177
  "pinst": "^3.0.0",
182
- "playwright-core": "^1.48.0",
183
- "prettier": "^3.3.3",
178
+ "playwright-core": "^1.49.1",
179
+ "prettier": "^3.4.2",
184
180
  "react": "^18.3.1",
185
181
  "react-dom": "^18.3.1",
186
182
  "react-is": "^18.3.1",
187
- "selenium-webdriver": "^4.26.0",
188
- "storybook": "^8.4.1",
183
+ "selenium-webdriver": "^4.27.0",
184
+ "storybook": "^8.4.7",
189
185
  "tmp": "^0.2.3",
190
- "typescript": "^5.6.3",
191
- "typescript-eslint": "^8.12.2",
192
- "use-immer": "^0.10.0",
193
- "vite": "^5.4.10",
194
- "vitest": "^2.1.4"
186
+ "typescript": "^5.7.3",
187
+ "typescript-eslint": "^8.19.1",
188
+ "use-immer": "^0.11.0",
189
+ "vite": "^5.4.11",
190
+ "vitest": "^2.1.8"
195
191
  },
196
192
  "config": {
197
193
  "commitizen": {
@@ -1,11 +1,11 @@
1
1
  import React, { JSX } from 'react';
2
2
  import { Loader } from '@storybook/components';
3
3
  import { styled } from '@storybook/theming';
4
- import { TestData } from '../../../types.js';
4
+ import { noop, TestData } from '../../../types.js';
5
5
  import { ResultsPage } from '../../shared/components/ResultsPage.js';
6
6
  import { getTestPath } from '../../shared/helpers.js';
7
7
  import TestSelect from './TestSelect.js';
8
- import { noop } from 'lodash';
8
+
9
9
  interface PanelProps {
10
10
  tests: TestData[];
11
11
  selectedTestId: string;
@@ -1,7 +1,14 @@
1
1
  import { Addon_TypesEnum } from '@storybook/types';
2
- import { SET_STORIES, STORY_RENDERED } from '@storybook/core-events';
3
2
  import { denormalizeStoryParameters } from '../../shared/index.js';
4
- import { CreeveyStatus, CreeveyUpdate, isDefined, TestData, TestStatus, StoriesRaw } from '../../types.js';
3
+ import {
4
+ CreeveyStatus,
5
+ CreeveyUpdate,
6
+ isDefined,
7
+ TestData,
8
+ TestStatus,
9
+ StoriesRaw,
10
+ StorybookEvents,
11
+ } from '../../types.js';
5
12
  import { initCreeveyClientApi, CreeveyClientApi } from '../shared/creeveyClientApi.js';
6
13
  import { calcStatus } from '../shared/helpers.js';
7
14
  import { getEmojiByTestStatus } from './utils.js';
@@ -25,8 +32,8 @@ export class CreeveyController {
25
32
  this.storybookApi = storybookApi;
26
33
  }
27
34
  initAll = async (): Promise<void> => {
28
- this.storybookApi.on(STORY_RENDERED, this.onStoryRendered);
29
- this.storybookApi.on(SET_STORIES, this.onSetStories);
35
+ this.storybookApi.on(StorybookEvents.STORY_RENDERED, this.onStoryRendered);
36
+ this.storybookApi.on(StorybookEvents.SET_STORIES, this.onSetStories);
30
37
  this.creeveyApi = await initCreeveyClientApi();
31
38
  this.creeveyApi.onUpdate(this.handleCreeveyUpdate);
32
39
  this.status = await this.creeveyApi.status;
@@ -93,7 +100,7 @@ export class CreeveyController {
93
100
  this.stories = prevStories;
94
101
  this.setPanelsTitle();
95
102
  // TODO Check setStories method in 6.x and migrate properly
96
- this.storybookApi.emit(SET_STORIES, this.stories);
103
+ this.storybookApi.emit(StorybookEvents.SET_STORIES, this.stories);
97
104
  }
98
105
  this.updateStatusListeners.forEach((x) => {
99
106
  x(update);
@@ -213,7 +220,7 @@ export class CreeveyController {
213
220
  });
214
221
 
215
222
  // TODO Check setStories method in 6.x and migrate properly
216
- this.storybookApi.emit(SET_STORIES, this.stories);
223
+ this.storybookApi.emit(StorybookEvents.SET_STORIES, this.stories);
217
224
  }
218
225
 
219
226
  addStatusToStoryName(name: string, status: TestStatus | undefined, skip: string | boolean): string {
@@ -1,13 +1,22 @@
1
- import * as Events from '@storybook/core-events';
2
1
  import type { Renderer, StoryContextForEnhancers } from '@storybook/csf';
3
2
  import { makeDecorator, PreviewWeb, StoryStore } from '@storybook/preview-api';
4
3
  import { Channel } from '@storybook/channels';
5
- import { CaptureOptions, CreeveyStoryParams, isObject, noop, StoriesRaw, StorybookGlobals } from '../../types.js';
4
+ import {
5
+ CaptureOptions,
6
+ CreeveyStoryParams,
7
+ isObject,
8
+ noop,
9
+ StoriesRaw,
10
+ StorybookEvents,
11
+ StorybookGlobals,
12
+ } from '../../types.js';
6
13
  import { serializeRawStories } from '../../shared/index.js';
7
14
  import { getConnectionUrl } from '../shared/helpers.js';
15
+ import isEqual from 'lodash/isEqual.js';
8
16
 
9
17
  declare global {
10
18
  interface Window {
19
+ __CREEVEY_ENV__: boolean;
11
20
  __CREEVEY_SERVER_HOST__: string;
12
21
  __CREEVEY_SERVER_PORT__: number;
13
22
  __CREEVEY_WORKER_ID__: number;
@@ -62,12 +71,12 @@ function catchRenderError(channel: Channel): Promise<void> & { cancel: () => voi
62
71
  rejectCallback(exception);
63
72
  }
64
73
  function removeHandlers(): void {
65
- channel.off(Events.STORY_ERRORED, errorHandler);
66
- channel.off(Events.STORY_THREW_EXCEPTION, errorHandler);
74
+ channel.off(StorybookEvents.STORY_ERRORED, errorHandler);
75
+ channel.off(StorybookEvents.STORY_THREW_EXCEPTION, errorHandler);
67
76
  }
68
77
 
69
- channel.once(Events.STORY_ERRORED, errorHandler);
70
- channel.once(Events.STORY_THREW_EXCEPTION, exceptionHandler);
78
+ channel.once(StorybookEvents.STORY_ERRORED, errorHandler);
79
+ channel.once(StorybookEvents.STORY_THREW_EXCEPTION, exceptionHandler);
71
80
 
72
81
  return Object.assign(promise, { cancel: removeHandlers });
73
82
  }
@@ -79,10 +88,10 @@ function waitForStoryRendered(channel: Channel): Promise<void> & { cancel: () =>
79
88
  resolveCallback();
80
89
  }
81
90
  function removeHandlers(): void {
82
- channel.off(Events.STORY_RENDERED, renderHandler);
91
+ channel.off(StorybookEvents.STORY_RENDERED, renderHandler);
83
92
  }
84
93
 
85
- channel.once(Events.STORY_RENDERED, renderHandler);
94
+ channel.once(StorybookEvents.STORY_RENDERED, renderHandler);
86
95
 
87
96
  return Object.assign(promise, { cancel: removeHandlers });
88
97
  }
@@ -132,6 +141,7 @@ let captureResolver: () => void;
132
141
  let waitForCreevey: Promise<void>;
133
142
  let creeveyReady: () => void;
134
143
  let setStoriesCounter = 0;
144
+ let globals = {};
135
145
 
136
146
  export function withCreevey(): ReturnType<typeof makeDecorator> {
137
147
  const addonsChannel = (): Channel => window.__STORYBOOK_ADDONS_CHANNEL__;
@@ -166,7 +176,7 @@ export function withCreevey(): ReturnType<typeof makeDecorator> {
166
176
  return stories;
167
177
  }
168
178
 
169
- // TODO Use Events.STORY_RENDER_PHASE_CHANGED: `loading/rendering/completed` with storyId
179
+ // TODO Use StorybookEvents.STORY_RENDER_PHASE_CHANGED: `loading/rendering/completed` with storyId
170
180
  // TODO Check other statuses and statuses with play function
171
181
  async function selectStory(
172
182
  storyId: string,
@@ -188,8 +198,8 @@ export function withCreevey(): ReturnType<typeof makeDecorator> {
188
198
  const capturePromise = waitForCaptureCall().then(() => (isCaptureCalled = true));
189
199
 
190
200
  setTimeout(() => {
191
- if (storyId == currentStory) channel.emit(Events.FORCE_REMOUNT, { storyId });
192
- else channel.emit(Events.SET_CURRENT_STORY, { storyId });
201
+ if (storyId == currentStory) channel.emit(StorybookEvents.FORCE_REMOUNT, { storyId });
202
+ else channel.emit(StorybookEvents.SET_CURRENT_STORY, { storyId });
193
203
  }, 0);
194
204
 
195
205
  try {
@@ -218,8 +228,11 @@ export function withCreevey(): ReturnType<typeof makeDecorator> {
218
228
  }
219
229
  }
220
230
 
221
- function updateGlobals(globals: StorybookGlobals): void {
222
- addonsChannel().emit(Events.UPDATE_GLOBALS, { globals });
231
+ function updateGlobals(newGlobals: StorybookGlobals): void {
232
+ if (isEqual(globals, newGlobals)) return;
233
+
234
+ globals = newGlobals;
235
+ addonsChannel().emit(StorybookEvents.UPDATE_GLOBALS, { globals });
223
236
  }
224
237
 
225
238
  function insertIgnoreStyles(ignoreSelectors: string[]): HTMLStyleElement {
@@ -267,6 +280,7 @@ export function withCreevey(): ReturnType<typeof makeDecorator> {
267
280
  });
268
281
  }
269
282
 
283
+ window.__CREEVEY_ENV__ = false;
270
284
  window.__CREEVEY_GET_STORIES__ = getStories;
271
285
  window.__CREEVEY_SELECT_STORY__ = selectStory;
272
286
  window.__CREEVEY_UPDATE_GLOBALS__ = updateGlobals;
@@ -46,6 +46,24 @@ export const SwapView = withTheme(({ theme, expect, actual, diff }: ViewPropsWit
46
46
  setImage((prevImage) => (prevImage == 'actual' ? 'expect' : 'actual'));
47
47
  }, []);
48
48
 
49
+ const handleKeyDown = useCallback(
50
+ (e: KeyboardEvent) => {
51
+ if (e.code === 'Space' && e.altKey) {
52
+ e.preventDefault();
53
+ handleChangeView();
54
+ }
55
+ },
56
+ [handleChangeView],
57
+ );
58
+
59
+ useEffect(() => {
60
+ document.addEventListener('keydown', handleKeyDown, false);
61
+
62
+ return () => {
63
+ document.removeEventListener('keydown', handleKeyDown, false);
64
+ };
65
+ }, [handleKeyDown]);
66
+
49
67
  useEffect(() => {
50
68
  if (loaded) readyForCapture();
51
69
  }, [loaded]);
@@ -70,6 +70,7 @@ export const ImagePreview = withTheme(
70
70
  onClick(imageName);
71
71
  };
72
72
 
73
+ // TODO Add image name as a title
73
74
  return (
74
75
  <Button
75
76
  onClick={handleClick}
@@ -1,11 +1,11 @@
1
- import React, { JSX, useState } from 'react';
1
+ import React, { JSX, useCallback, useEffect, useState } from 'react';
2
2
  import { Placeholder, ScrollArea } from '@storybook/components';
3
3
  import { styled, withTheme, Theme } from '@storybook/theming';
4
4
  import { ImagesView } from './ImagesView/ImagesView.js';
5
5
  import { PageHeader } from './PageHeader/PageHeader.js';
6
6
  import { PageFooter } from './PageFooter/PageFooter.js';
7
7
  import { getImageUrl } from '../helpers.js';
8
- import { getViewMode, VIEW_MODE_KEY } from '../viewMode.js';
8
+ import { getViewMode, VIEW_MODE_KEY, viewModes } from '../viewMode.js';
9
9
  import { ImagesViewMode, TestResult } from '../../../types.js';
10
10
 
11
11
  interface ResultsPageProps {
@@ -77,10 +77,31 @@ export function ResultsPageInternal({
77
77
  )
78
78
  : [];
79
79
 
80
- const handleChangeViewMode = (mode: ImagesViewMode): void => {
81
- localStorage.setItem(VIEW_MODE_KEY, mode);
82
- setViewMode(mode);
83
- };
80
+ const handleKeyDown = useCallback(
81
+ (e: KeyboardEvent) => {
82
+ if (!canApprove) return;
83
+ if (e.code === 'Tab') {
84
+ e.preventDefault();
85
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
86
+ if (e.shiftKey) setViewMode((mode) => viewModes.at((viewModes.indexOf(mode) - 1) % viewModes.length)!);
87
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
88
+ else setViewMode((mode) => viewModes.at((viewModes.indexOf(mode) + 1) % viewModes.length)!);
89
+ }
90
+ },
91
+ [canApprove],
92
+ );
93
+
94
+ useEffect(() => {
95
+ localStorage.setItem(VIEW_MODE_KEY, viewMode);
96
+ }, [viewMode]);
97
+
98
+ useEffect(() => {
99
+ document.addEventListener('keydown', handleKeyDown, false);
100
+
101
+ return () => {
102
+ document.removeEventListener('keydown', handleKeyDown, false);
103
+ };
104
+ }, [handleKeyDown]);
84
105
 
85
106
  return (
86
107
  <Container height={height}>
@@ -92,7 +113,7 @@ export function ResultsPageInternal({
92
113
  errorMessage={result.error}
93
114
  showViewModes={hasDiffAndExpect}
94
115
  viewMode={viewMode}
95
- onViewModeChange={handleChangeViewMode}
116
+ onViewModeChange={setViewMode}
96
117
  onImageChange={onImageChange}
97
118
  imagesWithError={imagesWithError}
98
119
  />
@@ -12,6 +12,7 @@ export interface CreeveyClientApi {
12
12
 
13
13
  export async function initCreeveyClientApi(): Promise<CreeveyClientApi> {
14
14
  let clientApiResolver: (api: CreeveyClientApi) => void = noop;
15
+ let clientApiRejecter: (error: Error | Event) => void = noop;
15
16
  const updateListeners = new Set<(update: CreeveyUpdate) => void>();
16
17
  let statusRequest: Promise<CreeveyStatus> | null = null;
17
18
  let statusResolver: (status: CreeveyStatus) => void = noop;
@@ -22,6 +23,10 @@ export async function initCreeveyClientApi(): Promise<CreeveyClientApi> {
22
23
  ws.send(JSON.stringify(request));
23
24
  }
24
25
 
26
+ ws.addEventListener('error', (event) => {
27
+ clientApiRejecter(event);
28
+ });
29
+
25
30
  ws.addEventListener('open', () => {
26
31
  clientApiResolver({
27
32
  start(ids: string[]) {
@@ -64,5 +69,8 @@ export async function initCreeveyClientApi(): Promise<CreeveyClientApi> {
64
69
  });
65
70
  // TODO Reconnect
66
71
 
67
- return new Promise((resolve) => (clientApiResolver = resolve));
72
+ return new Promise((resolve, reject) => {
73
+ clientApiResolver = resolve;
74
+ clientApiRejecter = reject;
75
+ });
68
76
  }