creevey 0.9.1 → 0.9.3

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 (60) hide show
  1. package/dist/creevey.js +8 -4
  2. package/dist/creevey.js.map +1 -1
  3. package/dist/server/config.js +1 -0
  4. package/dist/server/config.js.map +1 -1
  5. package/dist/server/docker.js +1 -1
  6. package/dist/server/docker.js.map +1 -1
  7. package/dist/server/index.js +2 -2
  8. package/dist/server/index.js.map +1 -1
  9. package/dist/server/logger.d.ts +2 -1
  10. package/dist/server/logger.js +7 -3
  11. package/dist/server/logger.js.map +1 -1
  12. package/dist/server/master/api.js +1 -1
  13. package/dist/server/master/api.js.map +1 -1
  14. package/dist/server/master/index.js +4 -4
  15. package/dist/server/master/index.js.map +1 -1
  16. package/dist/server/master/pool.d.ts +3 -3
  17. package/dist/server/master/pool.js +13 -64
  18. package/dist/server/master/pool.js.map +1 -1
  19. package/dist/server/master/queue.d.ts +13 -0
  20. package/dist/server/master/queue.js +60 -0
  21. package/dist/server/master/queue.js.map +1 -0
  22. package/dist/server/master/runner.d.ts +1 -0
  23. package/dist/server/master/runner.js +6 -1
  24. package/dist/server/master/runner.js.map +1 -1
  25. package/dist/server/master/server.js +1 -1
  26. package/dist/server/master/server.js.map +1 -1
  27. package/dist/server/selenium/browser.js +116 -90
  28. package/dist/server/selenium/browser.js.map +1 -1
  29. package/dist/server/storybook/providers/browser.js +1 -1
  30. package/dist/server/storybook/providers/browser.js.map +1 -1
  31. package/dist/server/storybook/providers/hybrid.js +1 -1
  32. package/dist/server/storybook/providers/hybrid.js.map +1 -1
  33. package/dist/server/utils.d.ts +2 -1
  34. package/dist/server/utils.js +11 -0
  35. package/dist/server/utils.js.map +1 -1
  36. package/dist/server/worker/reporter.js +2 -2
  37. package/dist/server/worker/reporter.js.map +1 -1
  38. package/dist/server/worker/worker.js +22 -15
  39. package/dist/server/worker/worker.js.map +1 -1
  40. package/dist/types.d.ts +6 -0
  41. package/dist/types.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/creevey.ts +8 -5
  44. package/src/server/config.ts +1 -0
  45. package/src/server/docker.ts +1 -1
  46. package/src/server/index.ts +2 -2
  47. package/src/server/logger.ts +6 -2
  48. package/src/server/master/api.ts +1 -1
  49. package/src/server/master/index.ts +7 -4
  50. package/src/server/master/pool.ts +20 -49
  51. package/src/server/master/queue.ts +59 -0
  52. package/src/server/master/runner.ts +6 -1
  53. package/src/server/master/server.ts +1 -1
  54. package/src/server/selenium/browser.ts +129 -97
  55. package/src/server/storybook/providers/browser.ts +1 -1
  56. package/src/server/storybook/providers/hybrid.ts +1 -1
  57. package/src/server/utils.ts +12 -1
  58. package/src/server/worker/reporter.ts +2 -2
  59. package/src/server/worker/worker.ts +21 -15
  60. package/src/types.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,10 @@ class CreeveyReporter extends mocha_1.reporters.Base {
19
19
  constructor(runner, options) {
20
20
  super(runner);
21
21
  const { sessionId, topLevelSuite } = options.reporterOptions;
22
- const testLogger = loglevel_1.default.getLogger(topLevelSuite);
22
+ const testLogger = loglevel_1.default.getLogger(sessionId);
23
23
  loglevel_plugin_prefix_1.default.apply(testLogger, {
24
24
  format(level) {
25
- return `${testLevels[level]} => (${topLevelSuite}:${chalk_1.default.gray(sessionId)})`;
25
+ return `[${topLevelSuite}:${chalk_1.default.gray(process.pid)}] ${testLevels[level]} => ${chalk_1.default.gray(sessionId)}`;
26
26
  },
27
27
  });
28
28
  runner.on('test', (test) => {
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/server/worker/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/server/worker/reporter.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAA8B;AAC9B,oFAA4C;AAC5C,iCAAwD;AACxD,6CAAiE;AAUjE,MAAM,UAAU,GAA2B;IACzC,IAAI,EAAE,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC3B,KAAK,EAAE,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC;CACzB,CAAC;AAEF,MAAa,eAAgB,SAAQ,iBAAS,CAAC,IAAI;IACjD,gDAAgD;IAChD,YAAY,MAAc,EAAE,OAAqB;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,eAAkC,CAAC;QAChF,MAAM,UAAU,GAAG,kBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE/C,gCAAM,CAAC,KAAK,CAAC,UAAU,EAAE;YACvB,MAAM,CAAC,KAAK;gBACV,OAAO,IAAI,aAAa,IAAI,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1G,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,UAAU,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,UAAU,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAChC,UAAU,CAAC,KAAK,CACd,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACtC,MAAM,EACN,SAAS,CACP,KAAK,EACL,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,EAAE,EAC1E,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CACxC,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhCD,0CAgCC;AAED,MAAa,gBAAiB,SAAQ,iBAAS,CAAC,IAAI;IAClD,YAAY,MAAc,EAAE,OAAqB;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAE,OAAO,CAAC,eAAmC,CAAC,aAAa,CAAC,CAAC;QAC9F,MAAM,eAAe,GAAG,OAAO,CAAC,eAAkC,CAAC;QAEnE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,aAAa,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACvG,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAY,EAAE,EAAE;YACvC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC/D,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,MAAM,QAAQ,GAAG,IAAI;qBAClB,SAAS,EAAE;qBACX,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;qBACpD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEb,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,IAAuB,CAAC;qBACnC,MAAM,CAAC,oBAAS,CAAC;qBACjB,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpB,OAAO,CAAC,GAAG,CACT,gCAAgC,eAAe,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,cAAc,QAAQ,IAAI,CAC5G,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,qCAAqC,IAAI,CAAC,MAAM,CAC9C,IAAI,CAAC,KAAK,CACX,gCAAgC,QAAQ,IAAI,QAAQ,aAAa,OAAO,CAAC,GAAG,IAAI,CAClF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,mEAAmE;YACnE,0KAA0K;YAE1K,IAAI,eAAe,CAAC,SAAS;gBAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;;gBAElG,OAAO,CAAC,GAAG,CACT,+BAA+B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,MAAM,CAC7E,KAAK,CAAC,OAAO,CACd,cAAc,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAC1E,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CACT,gCAAgC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,MAAM,CAC9E,OAAO,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CACnE,aAAa,OAAO,CAAC,GAAG,IAAI,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI;gBACb,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,sCAAsC,aAAa,aAAa,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO,CACL,GAAG;aACA,QAAQ,EAAE;YACX,4CAA4C;aAC3C,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;aACxB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;aACxB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;aACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CACvB,CAAC;IACJ,CAAC,CAAC;CACH;AA7FD,4CA6FC;AAED,SAAS,SAAS,CAChB,KAAc,EACd,kBAAiE,EACjE,aAAuC;IAEvC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,CAAC,IAAA,uBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -123,7 +123,21 @@ async function start(config, options) {
123
123
  const mocha = new mocha_1.default(mochaOptions);
124
124
  mocha.cleanReferencesAfterRun(false);
125
125
  chai_1.default.use((0, chai_image_js_1.default)(getExpected, config.diffOptions));
126
- if ((await (0, index_js_1.getBrowser)(config, options)) == null)
126
+ const browser = await (async () => {
127
+ try {
128
+ return await (0, index_js_1.getBrowser)(config, options);
129
+ }
130
+ catch (error) {
131
+ const errorMessage = error instanceof Error ? error.message : (error ?? 'Unknown error');
132
+ (0, logger_js_1.logger)().error('Failed to initiate webdriver:', errorMessage);
133
+ (0, messages_js_1.emitWorkerMessage)({
134
+ type: 'error',
135
+ payload: { error: errorMessage },
136
+ });
137
+ return null;
138
+ }
139
+ })();
140
+ if (browser == null)
127
141
  return;
128
142
  await (0, helpers_js_1.addTestsFromStories)(mocha.suite, config, {
129
143
  browser: options.browser,
@@ -131,18 +145,11 @@ async function start(config, options) {
131
145
  debug: options.debug,
132
146
  port: options.port,
133
147
  });
134
- try {
135
- await (await (0, index_js_1.getBrowser)(config, options))?.getCurrentUrl();
136
- }
137
- catch {
138
- await (0, index_js_1.closeBrowser)();
139
- }
140
- const browser = await (0, index_js_1.getBrowser)(config, options);
141
- const sessionId = (await browser?.getSession())?.getId();
142
- if (browser == null)
143
- return;
144
- const interval = setInterval(() => void browser.getCurrentUrl().then((url) => {
145
- logger_js_1.logger.debug(`${options.browser}:${chalk_1.default.gray(sessionId)}`, 'current url', chalk_1.default.magenta(url));
148
+ const sessionId = (await browser.getSession()).getId();
149
+ const interval = setInterval(() =>
150
+ // NOTE Simple way to keep session alive
151
+ void browser.getCurrentUrl().then((url) => {
152
+ (0, logger_js_1.logger)().debug('current url', chalk_1.default.magenta(url));
146
153
  }), 10 * 1000);
147
154
  (0, messages_js_1.subscribeOn)('shutdown', () => {
148
155
  clearInterval(interval);
@@ -166,7 +173,7 @@ async function start(config, options) {
166
173
  const logs = await browser.manage().logs().get(type);
167
174
  output.push(logs.map((log) => JSON.stringify(log.toJSON(), null, 2)).join('\n'));
168
175
  }
169
- logger_js_1.logger.debug('----------', sessionId, this.currentTest?.titlePath().join('/'), '----------\n', output.join('\n'), '\n----------------------------------------------------------------------------------------------------');
176
+ (0, logger_js_1.logger)().debug('----------', this.currentTest?.titlePath().join('/'), '----------\n', output.join('\n'), '\n----------------------------------------------------------------------------------------------------');
170
177
  });
171
178
  }
172
179
  (0, messages_js_1.subscribeOn)('test', (message) => {
@@ -203,7 +210,7 @@ async function start(config, options) {
203
210
  }
204
211
  });
205
212
  });
206
- logger_js_1.logger.info(`${options.browser}:${chalk_1.default.gray(sessionId)} is ready`);
213
+ (0, logger_js_1.logger)().info('Worker is ready');
207
214
  (0, messages_js_1.emitWorkerMessage)({ type: 'ready' });
208
215
  }
209
216
  function hasTimeout(str) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/server/worker/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/server/worker/worker.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -215,6 +215,11 @@ export interface Config {
215
215
  * The `--ui` CLI option ignores this option
216
216
  */
217
217
  failFast: boolean;
218
+ /**
219
+ * Start workers in sequential queue
220
+ * @default false
221
+ */
222
+ useWorkerQueue: boolean;
218
223
  /**
219
224
  * Specify platform for docker images
220
225
  */
@@ -331,6 +336,7 @@ export type DockerHandler = (message: DockerMessage) => void;
331
336
  export type ShutdownHandler = (message: ShutdownMessage) => void;
332
337
  export interface Worker extends ClusterWorker {
333
338
  isRunning?: boolean;
339
+ isShuttingDown?: boolean;
334
340
  }
335
341
  export interface Images {
336
342
  actual: string;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AA0bA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AAED,4CAEC;AAED,0CAEC;AA1DD,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,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AACrD,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;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAgcA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AAED,4CAEC;AAED,0CAEC;AA1DD,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,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AACrD,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;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,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.9.1",
4
+ "version": "0.9.3",
5
5
  "type": "commonjs",
6
6
  "bin": "./dist/cli.js",
7
7
  "main": "./dist/index.js",
package/src/creevey.ts CHANGED
@@ -5,14 +5,14 @@ import { noop, Options } from './types.js';
5
5
  import { emitWorkerMessage } from './server/messages.js';
6
6
  import { isShuttingDown, shutdown, shutdownWorkers } from './server/utils.js';
7
7
  import Logger from 'loglevel';
8
- import { logger } from './server/logger.js';
8
+ import { logger, setRootName } from './server/logger.js';
9
9
 
10
10
  function shutdownOnException(reason: unknown): void {
11
11
  if (isShuttingDown.current) return;
12
12
 
13
13
  const error = reason instanceof Error ? (reason.stack ?? reason.message) : (reason as string);
14
14
 
15
- logger.error(error);
15
+ logger().error(error);
16
16
 
17
17
  process.exitCode = -1;
18
18
  if (cluster.isWorker) emitWorkerMessage({ type: 'error', payload: { error } });
@@ -31,16 +31,19 @@ const argv = minimist<Options>(process.argv.slice(2), {
31
31
  alias: { port: 'p', config: 'c', debug: 'd', update: 'u' },
32
32
  });
33
33
 
34
+ if ('port' in argv && !isNaN(argv.port)) argv.port = Number(argv.port);
35
+ if ('browser' in argv && argv.browser) setRootName(argv.browser);
36
+
34
37
  // @ts-expect-error: define log level for storybook
35
38
  global.LOGLEVEL = argv.trace ? 'trace' : argv.debug ? 'debug' : 'warn';
36
39
  if (argv.trace) {
37
- logger.setDefaultLevel(Logger.levels.TRACE);
40
+ logger().setDefaultLevel(Logger.levels.TRACE);
38
41
  Logger.setDefaultLevel(Logger.levels.TRACE);
39
42
  } else if (argv.debug) {
40
- logger.setDefaultLevel(Logger.levels.DEBUG);
43
+ logger().setDefaultLevel(Logger.levels.DEBUG);
41
44
  Logger.setDefaultLevel(Logger.levels.DEBUG);
42
45
  } else {
43
- logger.setDefaultLevel(Logger.levels.INFO);
46
+ logger().setDefaultLevel(Logger.levels.INFO);
44
47
  Logger.setDefaultLevel(Logger.levels.INFO);
45
48
  }
46
49
 
@@ -9,6 +9,7 @@ export const defaultBrowser = 'chrome';
9
9
 
10
10
  export const defaultConfig: Omit<Config, 'gridUrl' | 'storiesProvider' | 'testsDir' | 'tsConfig'> = {
11
11
  disableTelemetry: false,
12
+ useWorkerQueue: false,
12
13
  useDocker: true,
13
14
  dockerImage: 'aerokube/selenoid:latest-release',
14
15
  dockerImagePlatform: '',
@@ -23,7 +23,7 @@ export async function pullImages(
23
23
  if (auth) args.authconfig = auth;
24
24
  if (platform) args.platform = platform;
25
25
 
26
- logger.info('Pull docker images');
26
+ logger().info('Pull docker images');
27
27
  for (const image of images) {
28
28
  await new Promise<void>((resolve, reject) => {
29
29
  const spinner = ora(`${image}: Pull start`).start();
@@ -33,14 +33,14 @@ export default async function (options: Options): Promise<void> {
33
33
  return;
34
34
  }
35
35
  case cluster.isPrimary: {
36
- logger.info('Starting Master Process');
36
+ logger().info('Starting Master Process');
37
37
 
38
38
  const resolveApi = (await import('./master/server.js')).start(config.reportDir, port, ui);
39
39
 
40
40
  return (await import('./master/index.js')).start(config, options, resolveApi);
41
41
  }
42
42
  default: {
43
- logger.info(`Starting Worker for ${browser}`);
43
+ logger().info(`Starting Worker for ${browser}`);
44
44
 
45
45
  return (await import('./worker/index.js')).start(config, {
46
46
  ...options,
@@ -10,12 +10,16 @@ export const colors = {
10
10
  ERROR: chalk.red,
11
11
  };
12
12
 
13
+ let rootName = 'Creevey';
14
+
13
15
  prefix.reg(Logger);
14
16
  prefix.apply(Logger, {
15
- format(level, name = 'Creevey') {
17
+ format(level, name = rootName) {
16
18
  const levelColor = colors[level.toUpperCase() as keyof typeof colors];
17
19
  return `[${name}:${chalk.gray(process.pid)}] ${levelColor(level)} =>`;
18
20
  },
19
21
  });
20
22
 
21
- export const logger = Logger.getLogger('Creevey');
23
+ export const setRootName = (newName: string) => (rootName = newName);
24
+
25
+ export const logger = () => Logger.getLogger(rootName);
@@ -26,7 +26,7 @@ export default function creeveyApi(runner: Runner): CreeveyApi {
26
26
 
27
27
  handleMessage(ws: WebSocket, message: WebSocket.Data) {
28
28
  if (typeof message != 'string') {
29
- logger.info('unhandled message', message);
29
+ logger().info('unhandled message', message);
30
30
  return;
31
31
  }
32
32
 
@@ -42,7 +42,10 @@ function outputUnnecessaryImages(imagesDir: string, images: Set<string>): void {
42
42
  .map((imagePath) => path.posix.relative(imagesDir, imagePath))
43
43
  .filter((imagePath) => !images.has(imagePath));
44
44
  if (unnecessaryImages.length > 0) {
45
- logger.warn('We found unnecessary screenshot images, those can be safely removed:\n', unnecessaryImages.join('\n'));
45
+ logger().warn(
46
+ 'We found unnecessary screenshot images, those can be safely removed:\n',
47
+ unnecessaryImages.join('\n'),
48
+ );
46
49
  }
47
50
  }
48
51
 
@@ -79,10 +82,10 @@ export async function start(config: Config, options: Options, resolveApi: (api:
79
82
 
80
83
  if (options.ui) {
81
84
  resolveApi(creeveyApi(runner));
82
- logger.info(`Started on http://localhost:${options.port}`);
85
+ logger().info(`Started on http://localhost:${options.port}`);
83
86
  } else {
84
87
  if (Object.values(runner.status.tests).filter((test) => test && !test.skip).length == 0) {
85
- logger.warn("Don't have any tests to run");
88
+ logger().warn("Don't have any tests to run");
86
89
 
87
90
  void shutdownWorkers().then(() => process.exit());
88
91
  return;
@@ -99,7 +102,7 @@ export async function start(config: Config, options: Options, resolveApi: (api:
99
102
  void sendScreenshotsCount(config, options, runner.status)
100
103
  .catch((reason: unknown) => {
101
104
  const error = reason instanceof Error ? (reason.stack ?? reason.message) : (reason as string);
102
- logger.warn(`Can't send telemetry: ${error}`);
105
+ logger().warn(`Can't send telemetry: ${error}`);
103
106
  })
104
107
  .finally(() => {
105
108
  void shutdownWorkers().then(() => process.exit());
@@ -1,10 +1,9 @@
1
- import cluster, { Worker as ClusterWorker } from 'cluster';
1
+ import { Worker as ClusterWorker } from 'cluster';
2
2
  import { EventEmitter } from 'events';
3
- import { Worker, Config, TestResult, BrowserConfig, WorkerMessage, TestStatus, isWorkerMessage } from '../../types.js';
4
- import { sendTestMessage, sendShutdownMessage, subscribeOnWorker } from '../messages.js';
5
- import { isShuttingDown } from '../utils.js';
6
-
7
- const FORK_RETRIES = 5;
3
+ import { Worker, Config, TestResult, BrowserConfig, TestStatus } from '../../types.js';
4
+ import { sendTestMessage, subscribeOnWorker } from '../messages.js';
5
+ import { gracefullyKill, isShuttingDown } from '../utils.js';
6
+ import { WorkerQueue } from './queue.js';
8
7
 
9
8
  interface WorkerTest {
10
9
  id: string;
@@ -23,6 +22,7 @@ export default class Pool extends EventEmitter {
23
22
  return this.workers.length !== this.freeWorkers.length;
24
23
  }
25
24
  constructor(
25
+ public scheduler: WorkerQueue,
26
26
  config: Config,
27
27
  private browser: string,
28
28
  ) {
@@ -35,10 +35,9 @@ export default class Pool extends EventEmitter {
35
35
 
36
36
  async init(): Promise<void> {
37
37
  const poolSize = Math.max(1, this.config.limit ?? 1);
38
- // TODO Init queue for workers to smooth browser starting load
39
- this.workers = (await Promise.all(Array.from({ length: poolSize }).map(() => this.forkWorker()))).filter(
40
- (workerOrError): workerOrError is Worker => workerOrError instanceof ClusterWorker,
41
- );
38
+ this.workers = (
39
+ await Promise.all(Array.from({ length: poolSize }).map(() => this.scheduler.forkWorker(this.browser)))
40
+ ).filter((workerOrError): workerOrError is Worker => workerOrError instanceof ClusterWorker);
42
41
  if (this.workers.length != poolSize)
43
42
  throw new Error(`Can't instantiate workers for ${this.browser} due many errors`);
44
43
  this.workers.forEach((worker) => {
@@ -55,7 +54,7 @@ export default class Pool extends EventEmitter {
55
54
  return true;
56
55
  }
57
56
 
58
- stop(): void {
57
+ stop() {
59
58
  if (!this.isRunning) {
60
59
  this.emit('stop');
61
60
  return;
@@ -65,7 +64,7 @@ export default class Pool extends EventEmitter {
65
64
  this.queue = [];
66
65
  }
67
66
 
68
- process(): void {
67
+ process() {
69
68
  const worker = this.getFreeWorker();
70
69
  const test = this.queue.at(0);
71
70
 
@@ -88,7 +87,9 @@ export default class Pool extends EventEmitter {
88
87
 
89
88
  sendTestMessage(worker, { type: 'start', payload: test });
90
89
 
91
- this.process();
90
+ setImmediate(() => {
91
+ this.process();
92
+ });
92
93
  }
93
94
 
94
95
  private sendStatus(message: { id: string; status: TestStatus; result?: TestResult }): void {
@@ -96,45 +97,25 @@ export default class Pool extends EventEmitter {
96
97
  }
97
98
 
98
99
  private getFreeWorker(): Worker | undefined {
99
- return this.freeWorkers[Math.floor(Math.random() * this.freeWorkers.length)];
100
+ const freeWorkers = this.freeWorkers;
101
+
102
+ return freeWorkers[Math.floor(Math.random() * freeWorkers.length)];
100
103
  }
101
104
 
102
105
  private get aliveWorkers(): Worker[] {
103
- return this.workers.filter((worker) => !worker.exitedAfterDisconnect);
106
+ return this.workers.filter((worker) => !worker.exitedAfterDisconnect && !worker.isShuttingDown);
104
107
  }
105
108
 
106
109
  private get freeWorkers(): Worker[] {
107
110
  return this.aliveWorkers.filter((worker) => !worker.isRunning);
108
111
  }
109
112
 
110
- private async forkWorker(retry = 0): Promise<Worker | { error: string }> {
111
- cluster.setupPrimary({
112
- args: ['--browser', this.browser, ...process.argv.slice(2)],
113
- });
114
- const worker = cluster.fork();
115
- const message = await new Promise((resolve: (value: WorkerMessage) => void) => {
116
- const readyHandler = (message: unknown): void => {
117
- if (!isWorkerMessage(message)) return;
118
- worker.off('message', readyHandler);
119
- resolve(message);
120
- };
121
- worker.on('message', readyHandler);
122
- });
123
-
124
- if (message.type != 'error') return worker;
125
-
126
- this.gracefullyKill(worker);
127
-
128
- if (retry == FORK_RETRIES) return message.payload;
129
- return this.forkWorker(retry + 1);
130
- }
131
-
132
113
  private exitHandler(worker: Worker): void {
133
114
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
134
115
  worker.once('exit', async () => {
135
116
  if (isShuttingDown.current) return;
136
117
 
137
- const workerOrError = await this.forkWorker();
118
+ const workerOrError = await this.scheduler.forkWorker(this.browser);
138
119
 
139
120
  if (!(workerOrError instanceof ClusterWorker))
140
121
  throw new Error(`Can't instantiate worker for ${this.browser} due many errors`);
@@ -145,16 +126,6 @@ export default class Pool extends EventEmitter {
145
126
  });
146
127
  }
147
128
 
148
- private gracefullyKill(worker: Worker): void {
149
- const timeout = setTimeout(() => {
150
- worker.kill();
151
- }, 10000);
152
- worker.on('exit', () => {
153
- clearTimeout(timeout);
154
- });
155
- sendShutdownMessage(worker);
156
- }
157
-
158
129
  private shouldRetry(test: WorkerTest): boolean {
159
130
  return test.retries < this.maxRetries && !this.forcedStop;
160
131
  }
@@ -185,7 +156,7 @@ export default class Pool extends EventEmitter {
185
156
  unsubscribe();
186
157
  });
187
158
 
188
- this.gracefullyKill(worker);
159
+ gracefullyKill(worker);
189
160
 
190
161
  this.handleTestResult(worker, test, { status: 'failed', ...message.payload });
191
162
  }),
@@ -0,0 +1,59 @@
1
+ import cluster from 'cluster';
2
+ import { isWorkerMessage, Worker, WorkerMessage } from '../../types.js';
3
+ import { gracefullyKill, isShuttingDown } from '../utils.js';
4
+
5
+ const FORK_RETRIES = 5;
6
+
7
+ type MaybeWorker = Worker | { error: string };
8
+
9
+ export class WorkerQueue {
10
+ private isProcessing = false;
11
+ private queue: { browser: string; retry: number; resolve: (mw: MaybeWorker) => void }[] = [];
12
+
13
+ // TODO Add concurrency
14
+ constructor(private useQueue: boolean) {}
15
+
16
+ async forkWorker(browser: string, retry = 0): Promise<MaybeWorker> {
17
+ return new Promise<MaybeWorker>((resolve) => {
18
+ this.queue.push({ browser, retry, resolve });
19
+
20
+ void this.process();
21
+ });
22
+ }
23
+
24
+ private async process() {
25
+ if ((this.useQueue && this.isProcessing) || isShuttingDown.current) return;
26
+
27
+ const { browser, retry, resolve } = this.queue.pop() ?? {};
28
+
29
+ if (browser == undefined || retry == undefined || resolve == undefined) return;
30
+
31
+ this.isProcessing = true;
32
+
33
+ cluster.setupPrimary({
34
+ args: ['--browser', browser, ...process.argv.slice(2)],
35
+ });
36
+ const worker = cluster.fork();
37
+ const message = await new Promise((resolve: (value: WorkerMessage) => void) => {
38
+ const readyHandler = (message: unknown): void => {
39
+ if (!isWorkerMessage(message)) return;
40
+ worker.off('message', readyHandler);
41
+ resolve(message);
42
+ };
43
+ worker.on('message', readyHandler);
44
+ });
45
+
46
+ if (message.type == 'error') {
47
+ gracefullyKill(worker);
48
+
49
+ if (retry == FORK_RETRIES) resolve(message.payload);
50
+ else this.queue.push({ browser, retry: retry + 1, resolve });
51
+ } else {
52
+ resolve(worker);
53
+ }
54
+
55
+ this.isProcessing = false;
56
+
57
+ setImmediate(() => void this.process());
58
+ }
59
+ }
@@ -13,12 +13,14 @@ import {
13
13
  TestMeta,
14
14
  } from '../../types.js';
15
15
  import Pool from './pool.js';
16
+ import { WorkerQueue } from './queue.js';
16
17
 
17
18
  export default class Runner extends EventEmitter {
18
19
  private failFast: boolean;
19
20
  private screenDir: string;
20
21
  private reportDir: string;
21
22
  private browsers: string[];
23
+ private scheduler: WorkerQueue;
22
24
  private pools: Record<string, Pool> = {};
23
25
  tests: Partial<Record<string, ServerTest>> = {};
24
26
  public get isRunning(): boolean {
@@ -30,9 +32,10 @@ export default class Runner extends EventEmitter {
30
32
  this.failFast = config.failFast;
31
33
  this.screenDir = config.screenDir;
32
34
  this.reportDir = config.reportDir;
35
+ this.scheduler = new WorkerQueue(config.useWorkerQueue);
33
36
  this.browsers = Object.keys(config.browsers);
34
37
  this.browsers
35
- .map((browser) => (this.pools[browser] = new Pool(config, browser)))
38
+ .map((browser) => (this.pools[browser] = new Pool(this.scheduler, config, browser)))
36
39
  .map((pool) => pool.on('test', this.handlePoolMessage));
37
40
  }
38
41
 
@@ -202,12 +205,14 @@ export default class Runner extends EventEmitter {
202
205
  test.approved = {};
203
206
  }
204
207
  test.approved[name] = retry;
208
+ test.status = 'approved';
205
209
 
206
210
  updatedTests[test.id] = {
207
211
  id: test.id,
208
212
  browser: test.browser,
209
213
  storyPath: test.storyPath,
210
214
  storyId: test.storyId,
215
+ status: test.status,
211
216
  approved: { [name]: retry },
212
217
  };
213
218
  }
@@ -95,7 +95,7 @@ export function start(reportDir: string, port: number, ui: boolean): (api: Creev
95
95
  app.use(mount('/report', serve(reportDir)));
96
96
 
97
97
  wss.on('error', (error) => {
98
- logger.error(error);
98
+ logger().error(error);
99
99
  });
100
100
 
101
101
  server.listen(port);