creevey 0.9.0-beta.2 → 0.9.0-non-webpack.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 (236) hide show
  1. package/AUTHORS +15 -15
  2. package/CHANGELOG.md +1275 -1275
  3. package/LICENSE +21 -21
  4. package/README.md +7 -0
  5. package/addon/README.md +3 -0
  6. package/addon/package.json +4 -0
  7. package/docs/config.md +212 -212
  8. package/docs/grid.md +10 -10
  9. package/docs/tests.md +63 -63
  10. package/jest.config.js +6 -0
  11. package/lib/cjs/client/addon/Manager.js +123 -271
  12. package/lib/cjs/client/addon/components/Addon.js +17 -38
  13. package/lib/cjs/client/addon/components/Icons.js +12 -8
  14. package/lib/cjs/client/addon/components/Panel.js +17 -13
  15. package/lib/cjs/client/addon/components/TestSelect.js +11 -9
  16. package/lib/cjs/client/addon/components/Tools.js +21 -40
  17. package/lib/cjs/client/addon/decorator.js +1 -1
  18. package/lib/cjs/client/addon/index.js +31 -0
  19. package/lib/cjs/client/addon/preset.js +13 -32
  20. package/lib/cjs/client/addon/register.js +46 -70
  21. package/lib/cjs/client/addon/utils.js +1 -1
  22. package/lib/cjs/client/addon/withCreevey.js +164 -344
  23. package/lib/cjs/client/shared/components/ImagesView/BlendView.js +23 -21
  24. package/lib/cjs/client/shared/components/ImagesView/ImagesView.js +22 -18
  25. package/lib/cjs/client/shared/components/ImagesView/SideBySideView.js +42 -64
  26. package/lib/cjs/client/shared/components/ImagesView/SlideView.js +35 -48
  27. package/lib/cjs/client/shared/components/ImagesView/SwapView.js +24 -43
  28. package/lib/cjs/client/shared/components/ImagesView/index.js +9 -9
  29. package/lib/cjs/client/shared/components/PageFooter/PageFooter.js +12 -8
  30. package/lib/cjs/client/shared/components/PageFooter/Paging.js +14 -18
  31. package/lib/cjs/client/shared/components/PageHeader/ImagePreview.js +22 -18
  32. package/lib/cjs/client/shared/components/PageHeader/PageHeader.js +42 -67
  33. package/lib/cjs/client/shared/components/ResultsPage.js +39 -69
  34. package/lib/cjs/client/shared/creeveyClientApi.js +55 -82
  35. package/lib/cjs/client/shared/helpers.js +143 -214
  36. package/lib/cjs/client/shared/viewMode.js +5 -5
  37. package/lib/cjs/client/web/142.js +2 -0
  38. package/lib/cjs/client/web/142.js.LICENSE.txt +12 -0
  39. package/lib/cjs/client/web/32.js +1 -0
  40. package/lib/cjs/client/web/551.js +1 -0
  41. package/lib/cjs/client/web/566.js +2 -0
  42. package/lib/cjs/client/web/566.js.LICENSE.txt +31 -0
  43. package/lib/cjs/client/web/691.js +2 -0
  44. package/lib/cjs/client/web/691.js.LICENSE.txt +8 -0
  45. package/lib/cjs/client/web/725.js +1 -0
  46. package/lib/cjs/client/web/index.html +19 -19
  47. package/lib/cjs/client/web/main.js +2 -38
  48. package/lib/cjs/client/web/main.js.LICENSE.txt +49 -0
  49. package/lib/cjs/creevey.js +3 -5
  50. package/lib/cjs/index.js +4 -4
  51. package/lib/cjs/server/config.js +1 -1
  52. package/lib/cjs/server/docker.js +3 -7
  53. package/lib/cjs/server/index.js +1 -1
  54. package/lib/cjs/server/loaders/babel/creevey-plugin.js +1 -3
  55. package/lib/cjs/server/loaders/babel/helpers.js +13 -23
  56. package/lib/cjs/server/loaders/babel/register.js +1 -3
  57. package/lib/cjs/server/loaders/webpack/compile.js +31 -24
  58. package/lib/cjs/server/loaders/webpack/creevey-loader.js +10 -5
  59. package/lib/cjs/server/loaders/webpack/dummy-hmr.js +2 -7
  60. package/lib/cjs/server/loaders/webpack/mdx-loader.js +1 -1
  61. package/lib/cjs/server/loaders/webpack/start.js +1 -1
  62. package/lib/cjs/server/logger.js +2 -1
  63. package/lib/cjs/server/master/index.js +2 -2
  64. package/lib/cjs/server/master/pool.js +9 -18
  65. package/lib/cjs/server/master/runner.js +53 -66
  66. package/lib/cjs/server/master/server.js +2 -2
  67. package/lib/cjs/server/messages.js +8 -10
  68. package/lib/cjs/server/selenium/browser.js +23 -31
  69. package/lib/cjs/server/selenium/selenoid.js +5 -7
  70. package/lib/cjs/server/stories.js +9 -20
  71. package/lib/cjs/server/storybook/entry.js +5 -3
  72. package/lib/cjs/server/storybook/helpers.js +15 -21
  73. package/lib/cjs/server/storybook/providers/browser.js +5 -9
  74. package/lib/cjs/server/storybook/providers/nodejs.js +4 -4
  75. package/lib/cjs/server/update.js +1 -5
  76. package/lib/cjs/server/utils.js +13 -15
  77. package/lib/cjs/server/worker/reporter.js +8 -20
  78. package/lib/cjs/server/worker/worker.js +6 -16
  79. package/lib/cjs/shared/index.js +101 -0
  80. package/lib/cjs/shared/serializeRegExp.js +42 -0
  81. package/lib/cjs/types.js +6 -6
  82. package/lib/esm/client/addon/Manager.js +123 -271
  83. package/lib/esm/client/addon/components/Addon.js +15 -34
  84. package/lib/esm/client/addon/components/Icons.js +11 -7
  85. package/lib/esm/client/addon/components/Panel.js +17 -13
  86. package/lib/esm/client/addon/components/TestSelect.js +11 -9
  87. package/lib/esm/client/addon/components/Tools.js +19 -36
  88. package/lib/esm/client/addon/decorator.js +1 -1
  89. package/lib/esm/client/addon/index.js +2 -0
  90. package/lib/esm/client/addon/preset.js +10 -25
  91. package/lib/esm/client/addon/register.js +42 -66
  92. package/lib/esm/client/addon/utils.js +1 -1
  93. package/lib/esm/client/addon/withCreevey.js +157 -341
  94. package/lib/esm/client/shared/components/ImagesView/BlendView.js +21 -17
  95. package/lib/esm/client/shared/components/ImagesView/ImagesView.js +21 -17
  96. package/lib/esm/client/shared/components/ImagesView/SideBySideView.js +40 -60
  97. package/lib/esm/client/shared/components/ImagesView/SlideView.js +33 -44
  98. package/lib/esm/client/shared/components/ImagesView/SwapView.js +22 -39
  99. package/lib/esm/client/shared/components/PageFooter/PageFooter.js +12 -8
  100. package/lib/esm/client/shared/components/PageFooter/Paging.js +14 -18
  101. package/lib/esm/client/shared/components/PageHeader/ImagePreview.js +22 -18
  102. package/lib/esm/client/shared/components/PageHeader/PageHeader.js +37 -60
  103. package/lib/esm/client/shared/components/ResultsPage.js +36 -64
  104. package/lib/esm/client/shared/creeveyClientApi.js +57 -84
  105. package/lib/esm/client/shared/helpers.js +127 -198
  106. package/lib/esm/client/shared/viewMode.js +4 -4
  107. package/lib/esm/creevey.js +3 -5
  108. package/lib/esm/index.js +1 -3
  109. package/lib/esm/server/docker.js +2 -2
  110. package/lib/esm/server/index.js +1 -1
  111. package/lib/esm/server/loaders/babel/creevey-plugin.js +1 -3
  112. package/lib/esm/server/loaders/babel/helpers.js +12 -22
  113. package/lib/esm/server/loaders/babel/register.js +1 -3
  114. package/lib/esm/server/loaders/webpack/compile.js +31 -24
  115. package/lib/esm/server/loaders/webpack/creevey-loader.js +9 -4
  116. package/lib/esm/server/loaders/webpack/dummy-hmr.js +2 -6
  117. package/lib/esm/server/loaders/webpack/start.js +1 -1
  118. package/lib/esm/server/master/index.js +2 -2
  119. package/lib/esm/server/master/pool.js +7 -18
  120. package/lib/esm/server/master/runner.js +53 -66
  121. package/lib/esm/server/master/server.js +2 -2
  122. package/lib/esm/server/messages.js +3 -5
  123. package/lib/esm/server/selenium/browser.js +20 -28
  124. package/lib/esm/server/selenium/selenoid.js +4 -6
  125. package/lib/esm/server/stories.js +9 -20
  126. package/lib/esm/server/storybook/entry.js +4 -2
  127. package/lib/esm/server/storybook/helpers.js +7 -15
  128. package/lib/esm/server/storybook/providers/browser.js +4 -5
  129. package/lib/esm/server/storybook/providers/nodejs.js +3 -3
  130. package/lib/esm/server/update.js +1 -5
  131. package/lib/esm/server/utils.js +5 -9
  132. package/lib/esm/server/worker/reporter.js +8 -20
  133. package/lib/esm/server/worker/worker.js +6 -16
  134. package/lib/esm/shared/index.js +78 -0
  135. package/lib/esm/shared/serializeRegExp.js +24 -0
  136. package/lib/types/cli.d.ts +1 -1
  137. package/lib/types/client/addon/Manager.d.ts +37 -37
  138. package/lib/types/client/addon/components/Addon.d.ts +8 -8
  139. package/lib/types/client/addon/components/Icons.d.ts +7 -7
  140. package/lib/types/client/addon/components/Panel.d.ts +9 -9
  141. package/lib/types/client/addon/components/TestSelect.d.ts +8 -9
  142. package/lib/types/client/addon/components/Tools.d.ts +6 -6
  143. package/lib/types/client/addon/decorator.d.ts +1 -1
  144. package/lib/types/client/addon/index.d.ts +2 -0
  145. package/lib/types/client/addon/preset.d.ts +23 -24
  146. package/lib/types/client/addon/readyForCapture.d.ts +6 -6
  147. package/lib/types/client/addon/register.d.ts +3 -3
  148. package/lib/types/client/addon/utils.d.ts +2 -2
  149. package/lib/types/client/addon/withCreevey.d.ts +24 -24
  150. package/lib/types/client/shared/components/ImagesView/BlendView.d.ts +3 -3
  151. package/lib/types/client/shared/components/ImagesView/ImagesView.d.ts +24 -25
  152. package/lib/types/client/shared/components/ImagesView/SideBySideView.d.ts +3 -3
  153. package/lib/types/client/shared/components/ImagesView/SlideView.d.ts +3 -3
  154. package/lib/types/client/shared/components/ImagesView/SwapView.d.ts +3 -3
  155. package/lib/types/client/shared/components/ImagesView/index.d.ts +5 -5
  156. package/lib/types/client/shared/components/PageFooter/PageFooter.d.ts +8 -9
  157. package/lib/types/client/shared/components/PageFooter/Paging.d.ts +7 -8
  158. package/lib/types/client/shared/components/PageHeader/ImagePreview.d.ts +12 -12
  159. package/lib/types/client/shared/components/PageHeader/PageHeader.d.ts +16 -17
  160. package/lib/types/client/shared/components/ResultsPage.d.ts +18 -18
  161. package/lib/types/client/shared/creeveyClientApi.d.ts +9 -9
  162. package/lib/types/client/shared/helpers.d.ts +46 -46
  163. package/lib/types/client/shared/viewMode.d.ts +4 -4
  164. package/lib/types/client/web/CreeveyApp.d.ts +11 -12
  165. package/lib/types/client/web/CreeveyContext.d.ts +11 -11
  166. package/lib/types/client/web/CreeveyLoader.d.ts +2 -3
  167. package/lib/types/client/web/CreeveyView/SideBar/Checkbox.d.ts +19 -19
  168. package/lib/types/client/web/CreeveyView/SideBar/Search.d.ts +6 -6
  169. package/lib/types/client/web/CreeveyView/SideBar/SideBar.d.ts +14 -14
  170. package/lib/types/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +12 -13
  171. package/lib/types/client/web/CreeveyView/SideBar/SuiteLink.d.ts +33 -33
  172. package/lib/types/client/web/CreeveyView/SideBar/TestLink.d.ts +7 -8
  173. package/lib/types/client/web/CreeveyView/SideBar/TestStatusIcon.d.ts +10 -10
  174. package/lib/types/client/web/CreeveyView/SideBar/TestsStatus.d.ts +9 -9
  175. package/lib/types/client/web/CreeveyView/SideBar/Toggle.d.ts +6 -6
  176. package/lib/types/client/web/CreeveyView/SideBar/index.d.ts +1 -1
  177. package/lib/types/client/web/KeyboardEventsContext.d.ts +13 -13
  178. package/lib/types/client/web/index.d.ts +4 -4
  179. package/lib/types/creevey.d.ts +1 -1
  180. package/lib/types/index.d.ts +0 -1
  181. package/lib/types/server/config.d.ts +4 -4
  182. package/lib/types/server/docker.d.ts +7 -7
  183. package/lib/types/server/extract.d.ts +2 -2
  184. package/lib/types/server/index.d.ts +2 -2
  185. package/lib/types/server/loaders/babel/creevey-plugin.d.ts +1 -1
  186. package/lib/types/server/loaders/babel/helpers.d.ts +19 -19
  187. package/lib/types/server/loaders/babel/register.d.ts +5 -5
  188. package/lib/types/server/loaders/hooks/mdx.d.ts +1 -1
  189. package/lib/types/server/loaders/hooks/svelte.d.ts +1 -1
  190. package/lib/types/server/loaders/webpack/compile.d.ts +2 -2
  191. package/lib/types/server/loaders/webpack/creevey-loader.d.ts +4 -2
  192. package/lib/types/server/loaders/webpack/dummy-hmr.d.ts +10 -10
  193. package/lib/types/server/loaders/webpack/mdx-loader.d.ts +6 -6
  194. package/lib/types/server/loaders/webpack/start.d.ts +1 -1
  195. package/lib/types/server/logger.d.ts +10 -6
  196. package/lib/types/server/master/api.d.ts +7 -7
  197. package/lib/types/server/master/index.d.ts +3 -3
  198. package/lib/types/server/master/master.d.ts +7 -7
  199. package/lib/types/server/master/pool.d.ts +31 -31
  200. package/lib/types/server/master/runner.d.ts +26 -26
  201. package/lib/types/server/master/server.d.ts +2 -2
  202. package/lib/types/server/messages.d.ts +27 -27
  203. package/lib/types/server/selenium/browser.d.ts +17 -17
  204. package/lib/types/server/selenium/index.d.ts +2 -2
  205. package/lib/types/server/selenium/selenoid.d.ts +3 -3
  206. package/lib/types/server/stories.d.ts +8 -8
  207. package/lib/types/server/storybook/entry.d.ts +18 -18
  208. package/lib/types/server/storybook/helpers.d.ts +24 -24
  209. package/lib/types/server/storybook/providers/browser.d.ts +4 -4
  210. package/lib/types/server/storybook/providers/hybrid.d.ts +4 -4
  211. package/lib/types/server/storybook/providers/nodejs.d.ts +9 -9
  212. package/lib/types/server/testsFiles/parser.d.ts +12 -12
  213. package/lib/types/server/testsFiles/register.d.ts +2 -2
  214. package/lib/types/server/update.d.ts +2 -2
  215. package/lib/types/server/utils.d.ts +20 -20
  216. package/lib/types/server/worker/chai-image.d.ts +6 -6
  217. package/lib/types/server/worker/helpers.d.ts +8 -8
  218. package/lib/types/server/worker/index.d.ts +1 -1
  219. package/lib/types/server/worker/reporter.d.ts +8 -8
  220. package/lib/types/server/worker/worker.d.ts +4 -4
  221. package/lib/types/{shared.d.ts → shared/index.d.ts} +7 -16
  222. package/lib/types/shared/serializeRegExp.d.ts +9 -0
  223. package/lib/types/types.d.ts +490 -489
  224. package/package.json +115 -102
  225. package/preset.js +9 -9
  226. package/types/babel__register.d.ts +1 -1
  227. package/types/chai.d.ts +12 -12
  228. package/types/event-source-polyfill.d.ts +6 -6
  229. package/types/mdx.d.ts +3 -2
  230. package/types/mocha.d.ts +20 -20
  231. package/types/png.d.ts +4 -4
  232. package/lib/cjs/client/web/1.js +0 -13
  233. package/lib/cjs/client/web/2.js +0 -1
  234. package/lib/cjs/shared.js +0 -124
  235. package/lib/esm/shared.js +0 -93
  236. package/storybook-static/stories.json +0 -21
@@ -19,69 +19,44 @@ var _pool = _interopRequireDefault(require("./pool"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
24
22
  const copyFileAsync = (0, _util.promisify)(_fs.copyFile);
25
23
  const mkdirAsync = (0, _util.promisify)(_fs.mkdir);
26
24
 
27
25
  class Runner extends _events.EventEmitter {
26
+ pools = {};
27
+ tests = {};
28
+
28
29
  get isRunning() {
29
30
  return Object.values(this.pools).some(pool => pool.isRunning);
30
31
  }
31
32
 
32
33
  constructor(config) {
33
34
  super();
35
+ this.failFast = config.failFast;
36
+ this.screenDir = config.screenDir;
37
+ this.reportDir = config.reportDir;
38
+ this.browsers = Object.keys(config.browsers);
39
+ this.browsers.map(browser => this.pools[browser] = new _pool.default(config, browser)).map(pool => pool.on('test', this.handlePoolMessage));
40
+ }
34
41
 
35
- _defineProperty(this, "failFast", void 0);
36
-
37
- _defineProperty(this, "screenDir", void 0);
38
-
39
- _defineProperty(this, "reportDir", void 0);
40
-
41
- _defineProperty(this, "browsers", void 0);
42
-
43
- _defineProperty(this, "pools", {});
44
-
45
- _defineProperty(this, "tests", {});
46
-
47
- _defineProperty(this, "handlePoolMessage", message => {
48
- const {
49
- id,
50
- status,
51
- result
52
- } = message;
53
- const test = this.tests[id];
54
- if (!test) return;
55
- const {
56
- browser,
57
- testName,
58
- storyPath,
59
- storyId
60
- } = test; // TODO Handle 'retrying' status
61
-
62
- test.status = status == 'retrying' ? 'failed' : status;
63
-
64
- if (!result) {
65
- this.sendUpdate({
66
- tests: {
67
- [id]: {
68
- id,
69
- browser,
70
- testName,
71
- storyPath,
72
- status: test.status,
73
- storyId
74
- }
75
- }
76
- });
77
- return;
78
- }
42
+ handlePoolMessage = message => {
43
+ const {
44
+ id,
45
+ status,
46
+ result
47
+ } = message;
48
+ const test = this.tests[id];
49
+ if (!test) return;
50
+ const {
51
+ browser,
52
+ testName,
53
+ storyPath,
54
+ storyId
55
+ } = test; // TODO Handle 'retrying' status
79
56
 
80
- if (!test.results) {
81
- test.results = [];
82
- }
57
+ test.status = status == 'retrying' ? 'failed' : status;
83
58
 
84
- test.results.push(result);
59
+ if (!result) {
85
60
  this.sendUpdate({
86
61
  tests: {
87
62
  [id]: {
@@ -90,29 +65,41 @@ class Runner extends _events.EventEmitter {
90
65
  testName,
91
66
  storyPath,
92
67
  status: test.status,
93
- results: [result],
94
68
  storyId
95
69
  }
96
70
  }
97
71
  });
98
- if (this.failFast && status == 'failed') this.stop();
99
- });
72
+ return;
73
+ }
100
74
 
101
- _defineProperty(this, "handlePoolStop", () => {
102
- if (!this.isRunning) {
103
- this.sendUpdate({
104
- isRunning: false
105
- });
106
- this.emit('stop');
75
+ if (!test.results) {
76
+ test.results = [];
77
+ }
78
+
79
+ test.results.push(result);
80
+ this.sendUpdate({
81
+ tests: {
82
+ [id]: {
83
+ id,
84
+ browser,
85
+ testName,
86
+ storyPath,
87
+ status: test.status,
88
+ results: [result],
89
+ storyId
90
+ }
107
91
  }
108
92
  });
109
-
110
- this.failFast = config.failFast;
111
- this.screenDir = config.screenDir;
112
- this.reportDir = config.reportDir;
113
- this.browsers = Object.keys(config.browsers);
114
- this.browsers.map(browser => this.pools[browser] = new _pool.default(config, browser)).map(pool => pool.on('test', this.handlePoolMessage));
115
- }
93
+ if (this.failFast && status == 'failed') this.stop();
94
+ };
95
+ handlePoolStop = () => {
96
+ if (!this.isRunning) {
97
+ this.sendUpdate({
98
+ isRunning: false
99
+ });
100
+ this.emit('stop');
101
+ }
102
+ };
116
103
 
117
104
  async init() {
118
105
  await Promise.all(Object.values(this.pools).map(pool => pool.init()));
@@ -75,7 +75,7 @@ function server(reportDir, port, ui) {
75
75
  type: 'update',
76
76
  payload: deserializedStories
77
77
  });
78
- Object.values(_cluster.default.workers).filter(_types.isDefined).filter(worker => worker.isConnected()).forEach(worker => (0, _messages.sendStoriesMessage)(worker, {
78
+ Object.values(_cluster.default.workers ?? {}).filter(_types.isDefined).filter(worker => worker.isConnected()).forEach(worker => (0, _messages.sendStoriesMessage)(worker, {
79
79
  type: 'update',
80
80
  payload: deserializedStories
81
81
  }));
@@ -90,7 +90,7 @@ function server(reportDir, port, ui) {
90
90
  workerId,
91
91
  options
92
92
  } = ctx.request.body;
93
- const worker = Object.values(_cluster.default.workers).filter(_types.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
93
+ const worker = Object.values(_cluster.default.workers ?? {}).filter(_types.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
94
94
 
95
95
  if (!worker) return;
96
96
  await new Promise(resolve => {
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.emitWorkerMessage = emitWorkerMessage;
6
+ exports.emitDockerMessage = emitDockerMessage;
7
+ exports.emitShutdownMessage = emitShutdownMessage;
7
8
  exports.emitStoriesMessage = emitStoriesMessage;
8
9
  exports.emitTestMessage = emitTestMessage;
9
10
  exports.emitWebpackMessage = emitWebpackMessage;
10
- exports.emitDockerMessage = emitDockerMessage;
11
- exports.emitShutdownMessage = emitShutdownMessage;
12
- exports.sendStoriesMessage = sendStoriesMessage;
13
- exports.sendTestMessage = sendTestMessage;
11
+ exports.emitWorkerMessage = emitWorkerMessage;
14
12
  exports.sendDockerMessage = sendDockerMessage;
15
13
  exports.sendShutdownMessage = sendShutdownMessage;
14
+ exports.sendStoriesMessage = sendStoriesMessage;
15
+ exports.sendTestMessage = sendTestMessage;
16
16
  exports.subscribeOn = subscribeOn;
17
17
  exports.subscribeOnWorker = subscribeOnWorker;
18
18
 
@@ -21,10 +21,10 @@ var _cluster = _interopRequireDefault(require("cluster"));
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
22
 
23
23
  function emitMessage(message) {
24
- var _process$send, _process$send2, _process;
24
+ var _process$send, _process;
25
25
 
26
26
  if (_cluster.default.isWorker && !process.connected) return false;
27
- return (_process$send = (_process$send2 = (_process = process).send) === null || _process$send2 === void 0 ? void 0 : _process$send2.call(_process, message)) !== null && _process$send !== void 0 ? _process$send : // @ts-expect-error: wrong typings `process.emit` return boolean
27
+ 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
28
28
  process.emit('message', message);
29
29
  }
30
30
 
@@ -190,9 +190,7 @@ function subscribeOn(scope, handler) {
190
190
  const workers = new Map();
191
191
 
192
192
  function subscribeOnWorker(worker, scope, handler) {
193
- var _workers$get;
194
-
195
- const workerHandlers = (_workers$get = workers.get(worker)) !== null && _workers$get !== void 0 ? _workers$get : createHandlers();
193
+ const workerHandlers = workers.get(worker) ?? createHandlers();
196
194
 
197
195
  if (!workers.has(worker)) {
198
196
  workers.set(worker, workerHandlers);
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.takeScreenshot = takeScreenshot;
7
- exports.updateStorybookGlobals = updateStorybookGlobals;
8
- exports.loadStoriesFromBrowser = loadStoriesFromBrowser;
9
- exports.getBrowser = getBrowser;
10
6
  exports.closeBrowser = closeBrowser;
7
+ exports.getBrowser = getBrowser;
8
+ exports.loadStoriesFromBrowser = loadStoriesFromBrowser;
11
9
  exports.switchStory = switchStory;
10
+ exports.takeScreenshot = takeScreenshot;
11
+ exports.updateStorybookGlobals = updateStorybookGlobals;
12
12
 
13
13
  var _chalk = _interopRequireDefault(require("chalk"));
14
14
 
@@ -51,9 +51,7 @@ function getSessionData(grid, sessionId = '') {
51
51
  gridUrl.pathname = `/host/${sessionId}`;
52
52
  return new Promise((resolve, reject) => (gridUrl.protocol == 'https:' ? _https.default : _http.default).get(gridUrl.toString(), res => {
53
53
  if (res.statusCode !== 200) {
54
- var _res$statusCode;
55
-
56
- return reject(new Error(`Couldn't get session data for ${sessionId}. Status code: ${(_res$statusCode = res.statusCode) !== null && _res$statusCode !== void 0 ? _res$statusCode : 'Unknown'}`));
54
+ return reject(new Error(`Couldn't get session data for ${sessionId}. Status code: ${res.statusCode ?? 'Unknown'}`));
57
55
  }
58
56
 
59
57
  let data = '';
@@ -63,9 +61,7 @@ function getSessionData(grid, sessionId = '') {
63
61
  try {
64
62
  resolve(JSON.parse(data));
65
63
  } catch (error) {
66
- var _error$stack;
67
-
68
- reject(new Error(`Couldn't get session data for ${sessionId}. ${error instanceof Error ? (_error$stack = error.stack) !== null && _error$stack !== void 0 ? _error$stack : error.message : error}`));
64
+ reject(new Error(`Couldn't get session data for ${sessionId}. ${error instanceof Error ? error.stack ?? error.message : error}`));
69
65
  }
70
66
  });
71
67
  }));
@@ -132,7 +128,7 @@ function getUrlChecker(browser) {
132
128
 
133
129
  async function waitForStorybook(browser) {
134
130
  // NOTE: Storybook 5.x doesn't have the `last` method
135
- if ((0, _helpers.isStorybookVersionLessThan)(6)) {
131
+ if ((0, _helpers.isStorybookVersionLessThan)(6) || (0, _helpers.isStorybookVersionGreaterThan)(6, 4)) {
136
132
  browserLogger.debug('Waiting for `load` event to make sure that storybook is initiated');
137
133
  return browser.executeAsyncScript(function (callback) {
138
134
  if (document.readyState == 'complete') return callback();
@@ -164,11 +160,11 @@ async function waitForStorybook(browser) {
164
160
  }
165
161
 
166
162
  async function resetMousePosition(browser) {
167
- var _ref, _await$browser$getCap, _await$browser$getCap2, _await$browser$getCap3;
163
+ var _await$browser$getCap, _await$browser$getCap2;
168
164
 
169
165
  browserLogger.debug('Resetting mouse position to the top-left corner');
170
166
  const browserName = (await browser.getCapabilities()).getBrowserName();
171
- const [browserVersion] = (_ref = (_await$browser$getCap = (_await$browser$getCap2 = (await browser.getCapabilities()).getBrowserVersion()) === null || _await$browser$getCap2 === void 0 ? void 0 : _await$browser$getCap2.split('.')) !== null && _await$browser$getCap !== void 0 ? _await$browser$getCap : (_await$browser$getCap3 = (await browser.getCapabilities()).get('version')) === null || _await$browser$getCap3 === void 0 ? void 0 : _await$browser$getCap3.split('.')) !== null && _ref !== void 0 ? _ref : []; // NOTE Reset mouse position to support keweb selenium grid browser versions
167
+ const [browserVersion] = ((_await$browser$getCap = (await browser.getCapabilities()).getBrowserVersion()) === null || _await$browser$getCap === void 0 ? void 0 : _await$browser$getCap.split('.')) ?? ((_await$browser$getCap2 = (await browser.getCapabilities()).get('version')) === null || _await$browser$getCap2 === void 0 ? void 0 : _await$browser$getCap2.split('.')) ?? []; // NOTE Reset mouse position to support keweb selenium grid browser versions
172
168
 
173
169
  if (browserName == 'chrome' && browserVersion == '70') {
174
170
  const {
@@ -252,10 +248,10 @@ const getScrollBarWidth = (() => {
252
248
 
253
249
 
254
250
  async function hasScrollBar(browser) {
255
- var _await$browser$getCap4, _await$browser$getCap5;
251
+ var _await$browser$getCap3;
256
252
 
257
253
  const browserName = (await browser.getCapabilities()).getBrowserName();
258
- const [browserVersion] = (_await$browser$getCap4 = (_await$browser$getCap5 = (await browser.getCapabilities()).getBrowserVersion()) === null || _await$browser$getCap5 === void 0 ? void 0 : _await$browser$getCap5.split('.')) !== null && _await$browser$getCap4 !== void 0 ? _await$browser$getCap4 : [];
254
+ const [browserVersion] = ((_await$browser$getCap3 = (await browser.getCapabilities()).getBrowserVersion()) === null || _await$browser$getCap3 === void 0 ? void 0 : _await$browser$getCap3.split('.')) ?? [];
259
255
  return browserName != 'Safari' && // NOTE This need to work with keweb selenium grid
260
256
  !(browserName == 'firefox' && browserVersion == '61');
261
257
  }
@@ -306,7 +302,8 @@ async function takeCompositeScreenshot(browser, windowRect, elementRect) {
306
302
  const scrollOffset = isFitVertically || isScreenshotWithoutScrollBar ? 0 : scrollBarWidth;
307
303
  const i = (y * compositeImage.width + x) * 4;
308
304
  const j = // NOTE compositeImage(x, y) => image(x, y)
309
- (y % viewportHeight * (viewportWidth + scrollOffset) + x % viewportWidth) * 4 + (isLastRow ? yOffset * (viewportWidth + scrollOffset) * 4 : 0) + (isLastCol ? xOffset * 4 : 0);
305
+ (y % viewportHeight * (viewportWidth + scrollOffset) + x % viewportWidth) * 4 + ( // NOTE Offset for last row/col image
306
+ isLastRow ? yOffset * (viewportWidth + scrollOffset) * 4 : 0) + (isLastCol ? xOffset * 4 : 0);
310
307
  const image = images[row * cols + col];
311
308
  compositeImage.data[i + 0] = image.data[j + 0];
312
309
  compositeImage.data[i + 1] = image.data[j + 1];
@@ -355,7 +352,7 @@ async function takeScreenshot(browser, captureElement, ignoreElements) {
355
352
  const {
356
353
  elementRect,
357
354
  windowRect
358
- } = rects !== null && rects !== void 0 ? rects : {};
355
+ } = rects ?? {};
359
356
  if (!elementRect || !windowRect) throw new Error(`Couldn't find element with selector: '${captureElement}'`);
360
357
  const isFitIntoViewport = elementRect.width + elementRect.left <= windowRect.width && elementRect.height + elementRect.top <= windowRect.height;
361
358
  if (isFitIntoViewport) browserLogger.debug(`Capturing ${_chalk.default.cyan(captureElement)}`);else browserLogger.debug(`Capturing composite screenshot image of ${_chalk.default.cyan(captureElement)}`);
@@ -381,9 +378,9 @@ async function selectStory(browser, {
381
378
  return callback(["Creevey can't switch story. This may happened if forget to add `creevey` addon to your storybook config, or storybook not loaded in browser due syntax error."]);
382
379
  }
383
380
 
384
- window.__CREEVEY_SELECT_STORY__(id, kind, name, shouldWaitForReady, callback);
381
+ void window.__CREEVEY_SELECT_STORY__(id, kind, name, shouldWaitForReady, callback);
385
382
  }, id, kind, name, waitForReady);
386
- const [errorMessage, isCaptureCalled = false] = result || [];
383
+ const [errorMessage, isCaptureCalled = false] = result ?? [];
387
384
  if (errorMessage) throw new Error(errorMessage);
388
385
  return isCaptureCalled;
389
386
  }
@@ -430,11 +427,8 @@ async function resolveCreeveyHost(browser, port) {
430
427
  const addresses = getAddresses();
431
428
  creeveyServerHost = await browser.executeAsyncScript(function (hosts, port, callback) {
432
429
  void Promise.all(hosts.map(function (host) {
433
- return new Promise(function (resolve, reject) {
434
- setTimeout(reject, 10000); // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
435
-
436
- fetch('//' + host + ':' + port + '/ping').then(resolve).catch(reject);
437
- }).then(function (response) {
430
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
431
+ return fetch('http://' + host + ':' + port + '/ping').then(function (response) {
438
432
  return response.text();
439
433
  }).then(function (pong) {
440
434
  return pong == 'pong' ? host : null;
@@ -530,7 +524,7 @@ async function getBrowser(config, name) {
530
524
  });
531
525
  }, () => viewport && browser && resizeViewport(browser, viewport), () => browser && openStorybookPage(browser, realAddress, config.resolveStorybookUrl), () => browser && waitForStorybook(browser)], () => !_utils.isShuttingDown.current);
532
526
  } catch (originalError) {
533
- var _await$browser$getCur, _browser4;
527
+ var _browser4;
534
528
 
535
529
  if (_utils.isShuttingDown.current) {
536
530
  var _browser3;
@@ -541,7 +535,7 @@ async function getBrowser(config, name) {
541
535
  }
542
536
 
543
537
  if (originalError instanceof Error && originalError.name == 'ResolveUrlError') throw originalError;
544
- const error = new Error(`Can't load storybook root page by URL ${(_await$browser$getCur = await ((_browser4 = browser) === null || _browser4 === void 0 ? void 0 : _browser4.getCurrentUrl())) !== null && _await$browser$getCur !== void 0 ? _await$browser$getCur : realAddress}`);
538
+ const error = new Error(`Can't load storybook root page by URL ${(await ((_browser4 = browser) === null || _browser4 === void 0 ? void 0 : _browser4.getCurrentUrl())) ?? realAddress}`);
545
539
  if (originalError instanceof Error) error.stack = originalError.stack;
546
540
  throw error;
547
541
  }
@@ -579,7 +573,7 @@ async function closeBrowser() {
579
573
  }
580
574
 
581
575
  async function switchStory() {
582
- var _this$currentTest, _this$currentTest$ctx, _parameters$creevey;
576
+ var _this$currentTest, _this$currentTest$ctx;
583
577
 
584
578
  let testOrSuite = this.currentTest;
585
579
  if (!testOrSuite) throw new Error("Can't switch story, because test context doesn't have 'currentTest' field");
@@ -606,7 +600,7 @@ async function switchStory() {
606
600
  captureElement = '#root',
607
601
  waitForReady,
608
602
  ignoreElements
609
- } = (_parameters$creevey = parameters.creevey) !== null && _parameters$creevey !== void 0 ? _parameters$creevey : {};
603
+ } = parameters.creevey ?? {};
610
604
  browserLogger.debug(`Switching to story ${_chalk.default.cyan(kind)}/${_chalk.default.cyan(name)} by id ${_chalk.default.magenta(id)}`);
611
605
  if (captureElement) Object.defineProperty(this, 'captureElement', {
612
606
  enumerable: true,
@@ -622,8 +616,6 @@ async function switchStory() {
622
616
  let storyPlayResolver;
623
617
  let waitForComplete = new Promise(resolve => storyPlayResolver = resolve);
624
618
  const unsubscribe = (0, _messages.subscribeOn)('stories', message => {
625
- var _payload$captureEleme, _payload$ignoreElemen;
626
-
627
619
  if (message.type != 'capture') return;
628
620
  const {
629
621
  payload = {},
@@ -631,7 +623,7 @@ async function switchStory() {
631
623
  imageName
632
624
  } = {}
633
625
  } = message;
634
- void takeScreenshot(this.browser, (_payload$captureEleme = payload.captureElement) !== null && _payload$captureEleme !== void 0 ? _payload$captureEleme : captureElement, (_payload$ignoreElemen = payload.ignoreElements) !== null && _payload$ignoreElemen !== void 0 ? _payload$ignoreElemen : ignoreElements).then(screenshot => {
626
+ void takeScreenshot(this.browser, payload.captureElement ?? captureElement, payload.ignoreElements ?? ignoreElements).then(screenshot => {
635
627
  this.screenshots.push({
636
628
  imageName,
637
629
  screenshot
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.startSelenoidStandalone = startSelenoidStandalone;
7
6
  exports.startSelenoidContainer = startSelenoidContainer;
7
+ exports.startSelenoidStandalone = startSelenoidStandalone;
8
8
 
9
9
  var _path = _interopRequireDefault(require("path"));
10
10
 
@@ -20,7 +20,7 @@ var _core = require("@octokit/core");
20
20
 
21
21
  var _messages = require("../messages");
22
22
 
23
- var _cluster = require("cluster");
23
+ var _cluster = _interopRequireDefault(require("cluster"));
24
24
 
25
25
  var _shelljs = require("shelljs");
26
26
 
@@ -62,8 +62,6 @@ async function createSelenoidConfig(browsers, {
62
62
  }
63
63
 
64
64
  async function downloadSelenoidBinary(destination) {
65
- var _assets$find;
66
-
67
65
  const platformNameMapping = {
68
66
  darwin: 'selenoid_darwin_amd64',
69
67
  linux: 'selenoid_linux_amd64',
@@ -80,9 +78,9 @@ async function downloadSelenoidBinary(destination) {
80
78
  const {
81
79
  browser_download_url: downloadUrl,
82
80
  size: binarySize
83
- } = (_assets$find = assets.find(({
81
+ } = assets.find(({
84
82
  name
85
- }) => platformNameMapping[process.platform] == name)) !== null && _assets$find !== void 0 ? _assets$find : {};
83
+ }) => platformNameMapping[process.platform] == name) ?? {};
86
84
  if ((0, _fs.existsSync)(destination) && (0, _fs.lstatSync)(destination).size == binarySize) return;
87
85
 
88
86
  if (!downloadUrl) {
@@ -94,7 +92,7 @@ async function downloadSelenoidBinary(destination) {
94
92
 
95
93
  async function startSelenoidStandalone(config, debug) {
96
94
  config.gridUrl = 'http://localhost:4444/wd/hub';
97
- if (_cluster.isWorker) return;
95
+ if (_cluster.default.isWorker) return;
98
96
  const browsers = Object.values(config.browsers).filter(browser => !browser.gridUrl);
99
97
  const selenoidConfigDir = await createSelenoidConfig(browsers, {
100
98
  useDocker: false
@@ -25,14 +25,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
25
 
26
26
  function storyTestFabric(delay, testFn) {
27
27
  return async function storyTest() {
28
- var _testFn$call;
29
-
30
28
  delay ? await new Promise(resolve => setTimeout(resolve, delay)) : void 0;
31
- await ((_testFn$call = testFn === null || testFn === void 0 ? void 0 : testFn.call(this)) !== null && _testFn$call !== void 0 ? _testFn$call : this.screenshots.length > 0 ? this.expect(this.screenshots.reduce((screenshots, {
29
+ await (testFn ? testFn.call(this) : this.screenshots.length > 0 ? this.expect(this.screenshots.reduce((screenshots, {
32
30
  imageName,
33
31
  screenshot
34
32
  }, index) => ({ ...screenshots,
35
- [imageName !== null && imageName !== void 0 ? imageName : `screenshot_${index}`]: screenshot
33
+ [imageName ?? `screenshot_${index}`]: screenshot
36
34
  }), {})).to.matchImages() : this.expect(await this.takeScreenshot()).to.matchImage());
37
35
  };
38
36
  }
@@ -62,15 +60,13 @@ function createCreeveyTest(browser, storyMeta, skipOptions, testName) {
62
60
  function convertStories(browserName, stories) {
63
61
  const tests = {};
64
62
  (Array.isArray(stories) ? stories : Object.values(stories)).forEach(storyMeta => {
65
- var _storyMeta$parameters;
66
-
67
63
  // TODO Skip docsOnly stories for now
68
64
  if (storyMeta.parameters.docsOnly) return;
69
65
  const {
70
66
  delay: delayParam,
71
67
  tests: storyTests,
72
68
  skip
73
- } = (_storyMeta$parameters = storyMeta.parameters.creevey) !== null && _storyMeta$parameters !== void 0 ? _storyMeta$parameters : {};
69
+ } = storyMeta.parameters.creevey ?? {};
74
70
  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]
75
71
  // typeof tests === "function" => rootSuite -> kindSuite -> storyTest -> browser -> [images.png]
76
72
  // typeof tests === "object" => rootSuite -> kindSuite -> storySuite -> test -> [browsers.png]
@@ -105,11 +101,11 @@ async function loadTestsFromStories(browsers, provider, update) {
105
101
  const tests = {};
106
102
  browsers.forEach(browser => {
107
103
  Array.from(storiesByFiles.entries()).forEach(([filename, stories]) => {
108
- var _testIdsByFiles$get$f, _testIdsByFiles$get;
104
+ var _testIdsByFiles$get;
109
105
 
110
106
  Object.assign(tests, convertStories(browser, stories));
111
107
  const changed = Object.keys(tests);
112
- 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 : [];
108
+ const removed = ((_testIdsByFiles$get = testIdsByFiles.get(filename)) === null || _testIdsByFiles$get === void 0 ? void 0 : _testIdsByFiles$get.filter(testId => !tests[testId])) ?? [];
113
109
  if (changed.length == 0) testIdsByFiles.delete(filename);else testIdsByFiles.set(filename, changed);
114
110
  Object.assign(testsDiff, tests);
115
111
  removed.forEach(testId => testsDiff[testId] = undefined);
@@ -125,19 +121,12 @@ async function loadTestsFromStories(browsers, provider, update) {
125
121
  fileName
126
122
  }
127
123
  }
128
- }) => {
129
- var _testIdsByFiles$get2;
130
-
131
- return (// TODO Don't use filename as a key, due possible collisions if two require.context with same structure of modules are defined
132
- testIdsByFiles.set(fileName, [...((_testIdsByFiles$get2 = testIdsByFiles.get(fileName)) !== null && _testIdsByFiles$get2 !== void 0 ? _testIdsByFiles$get2 : []), id])
133
- );
134
- });
124
+ }) => // TODO Don't use filename as a key, due possible collisions if two require.context with same structure of modules are defined
125
+ testIdsByFiles.set(fileName, [...(testIdsByFiles.get(fileName) ?? []), id]));
135
126
  return tests;
136
127
  }
137
128
 
138
129
  function saveStoriesJson(storiesData, extract) {
139
- var _storiesData$stories;
140
-
141
130
  const outputDir = typeof extract == 'boolean' ? 'storybook-static' : extract;
142
131
 
143
132
  if (!(0, _helpers.isStorybookVersionLessThan)(6)) {
@@ -153,8 +142,8 @@ function saveStoriesJson(storiesData, extract) {
153
142
  } // TODO Fix args stories
154
143
 
155
144
 
156
- (0, _utils.removeProps)(storiesData !== null && storiesData !== void 0 ? storiesData : {}, ['stories', () => true, 'parameters', '__isArgsStory']);
157
- 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);
145
+ (0, _utils.removeProps)(storiesData ?? {}, ['stories', () => true, 'parameters', '__isArgsStory']);
146
+ Object.values((storiesData === null || storiesData === void 0 ? void 0 : storiesData.stories) ?? {}).forEach(story => (0, _types.isObject)(story) && 'parameters' in story && (0, _types.isObject)(story.parameters) && delete story.parameters.__isArgsStory);
158
147
  (0, _fs.mkdirSync)(outputDir, {
159
148
  recursive: true
160
149
  });
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
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;
6
+ exports.storiesOf = exports.setAddon = exports.raw = exports.getStorybook = exports.forceReRender = exports.configure = exports.clientApi = exports.clearDecorators = exports.channel = exports.addParameters = exports.addDecorator = void 0;
7
7
 
8
8
  var _addons = require("@storybook/addons");
9
9
 
10
10
  var _helpers = require("./helpers");
11
11
 
12
- var _api$channel, _api$context;
12
+ var _api$context;
13
13
 
14
14
  const framework = (0, _helpers.getStorybookFramework)(); // eslint-disable-next-line @typescript-eslint/no-var-requires
15
15
 
@@ -19,7 +19,9 @@ const core = require((0, _helpers.resolveFromStorybook)('@storybook/core')); //@
19
19
 
20
20
  const start = (0, _helpers.isStorybookVersionLessThan)(6, 2) ? core.default.start : core.start;
21
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();
22
+ const channel = (0, _helpers.isStorybookVersionLessThan)(6, 4) ? //@ts-expect-error: 6.x has { channel }, but 5.x has { context: { channel } }
23
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
24
+ api.channel ?? ((_api$context = api.context) === null || _api$context === void 0 ? void 0 : _api$context.channel) : _addons.addons.getChannel();
23
25
  exports.channel = channel;
24
26
  const clientApi = api.clientApi;
25
27
  exports.clientApi = clientApi;
@@ -3,16 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getStorybookFramework = getStorybookFramework;
7
+ exports.getStorybookVersion = getStorybookVersion;
6
8
  exports.hasDocsAddon = hasDocsAddon;
7
9
  exports.hasSvelteCSFAddon = hasSvelteCSFAddon;
8
- exports.getStorybookVersion = getStorybookVersion;
9
- exports.isStorybookVersionLessThan = isStorybookVersionLessThan;
10
- exports.isStorybookVersionGreaterThan = isStorybookVersionGreaterThan;
11
- exports.isStorybookVersion = isStorybookVersion;
12
- exports.getStorybookFramework = getStorybookFramework;
10
+ exports.importStorybookClientLogger = void 0;
13
11
  exports.importStorybookConfig = importStorybookConfig;
12
+ exports.importStorybookCoreEvents = exports.importStorybookCoreCommon = void 0;
14
13
  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;
14
+ exports.isStorybookVersion = isStorybookVersion;
15
+ exports.isStorybookVersionGreaterThan = isStorybookVersionGreaterThan;
16
+ exports.isStorybookVersionLessThan = isStorybookVersionLessThan;
17
+ exports.storybookDirRef = exports.storybookConfigRef = exports.resolveFromStorybookCoreServer = exports.resolveFromStorybookCore = exports.resolveFromStorybookBuilderWebpack4 = exports.resolveFromStorybookAddonDocs = exports.resolveFromStorybook = void 0;
16
18
 
17
19
  var _path = _interopRequireDefault(require("path"));
18
20
 
@@ -86,36 +88,28 @@ function getStorybookVersion() {
86
88
  // eslint-disable-next-line @typescript-eslint/no-var-requires
87
89
  const {
88
90
  version
89
- } = require(resolveFromStorybook('@storybook/core/package.json'));
91
+ } = require(resolveFromStorybook('@storybook/core-server/package.json'));
90
92
 
91
93
  return version;
92
94
  }
93
95
 
94
96
  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('.');
97
+ const [sbMajor, sbMinor] = (process.env.__CREEVEY_STORYBOOK_VERSION__ ?? getStorybookVersion()).split('.');
98
98
  return Number(sbMajor) < major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) < minor;
99
99
  }
100
100
 
101
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('.');
102
+ const [sbMajor, sbMinor] = (process.env.__CREEVEY_STORYBOOK_VERSION__ ?? getStorybookVersion()).split('.');
105
103
  return Number(sbMajor) > major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) > minor;
106
104
  }
107
105
 
108
106
  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('.');
107
+ const [sbMajor, sbMinor] = (process.env.__CREEVEY_STORYBOOK_VERSION__ ?? getStorybookVersion()).split('.');
112
108
  return Number(sbMajor) == major || minor != undefined && Number(sbMajor) == major && Number(sbMinor) == minor;
113
109
  }
114
110
 
115
111
  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 => {
112
+ const framework = process.env.__CREEVEY_STORYBOOK_FRAMEWORK__ ?? supportedFrameworks.find(framework => {
119
113
  try {
120
114
  return require.resolve(resolveFromStorybook(`@storybook/${framework}`));
121
115
  } catch (_) {
@@ -159,7 +153,7 @@ async function importStorybookConfig() {
159
153
  }
160
154
 
161
155
  async function isCSFv3Enabled() {
162
- var _await$importStoryboo, _await$importStoryboo2, _await$importStoryboo3;
156
+ var _await$importStoryboo, _await$importStoryboo2;
163
157
 
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;
158
+ return ((_await$importStoryboo = await importStorybookConfig()) === null || _await$importStoryboo === void 0 ? void 0 : (_await$importStoryboo2 = _await$importStoryboo.features) === null || _await$importStoryboo2 === void 0 ? void 0 : _await$importStoryboo2.previewCsfV3) ?? false;
165
159
  }