@serenity-js/cucumber 3.13.0 → 3.13.2

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.13.2](https://github.com/serenity-js/serenity-js/compare/v3.13.1...v3.13.2) (2023-11-14)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **cucumber:** resolve paths to "imports" as absolute file URLs ([fc9aefc](https://github.com/serenity-js/serenity-js/commit/fc9aefcdc2ec8e1dfe3ce38b03a1ff7fd7d3c6c6)), closes [#2060](https://github.com/serenity-js/serenity-js/issues/2060)
12
+
13
+
14
+
15
+
16
+
17
+ ## [3.13.1](https://github.com/serenity-js/serenity-js/compare/v3.13.0...v3.13.1) (2023-11-07)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **deps:** update dependency tiny-types to ^1.21.0 ([d4921f9](https://github.com/serenity-js/serenity-js/commit/d4921f9cedb502487c176216fbf15dd2ef83dcc4))
23
+
24
+
25
+
26
+
27
+
6
28
  # [3.13.0](https://github.com/serenity-js/serenity-js/compare/v3.12.0...v3.13.0) (2023-10-19)
7
29
 
8
30
 
@@ -42,7 +42,9 @@ export declare class CucumberCLIAdapter implements TestRunnerAdapter {
42
42
  */
43
43
  run(): Promise<void>;
44
44
  private runScenarios;
45
+ private runWithCucumber10;
45
46
  private runWithCucumber8JavaScriptApi;
47
+ private runWithCucumberApi;
46
48
  private runWithCucumber8;
47
49
  private runWithCucumber7;
48
50
  private runWithCucumber3to6;
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberCLIAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberCLIAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAoB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAE1E;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAQpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAR3B,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAGtC,MAAM,EAAE,cAAc,EACL,MAAM,EAAE,YAAY,EACrC,UAAU,EAAE,UAAU,EACL,MAAM,EAAE,uBAAuB;IAKpD;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAM9C;;;;;OAKG;IACG,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;OAKG;IACH,aAAa,IAAI,MAAM;IAYvB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1B,OAAO,CAAC,YAAY;YAmCN,6BAA6B;IAoC3C,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;CAO9B"}
1
+ {"version":3,"file":"CucumberCLIAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberCLIAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAoB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAE1E;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAQpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAR3B,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAGtC,MAAM,EAAE,cAAc,EACL,MAAM,EAAE,YAAY,EACrC,UAAU,EAAE,UAAU,EACL,MAAM,EAAE,uBAAuB;IAKpD;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAM9C;;;;;OAKG;IACG,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;OAKG;IACH,aAAa,IAAI,MAAM;IAYvB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1B,OAAO,CAAC,YAAY;YAkCN,iBAAiB;YAcjB,6BAA6B;YAK7B,kBAAkB;IAmChC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;CAO9B"}
@@ -41,7 +41,7 @@ class CucumberCLIAdapter {
41
41
  this.loader = loader;
42
42
  this.output = output;
43
43
  this.pathsToScenarios = [];
44
- this.options = new CucumberOptions_1.CucumberOptions(fileSystem, config);
44
+ this.options = new CucumberOptions_1.CucumberOptions(new io_1.FileFinder(io_1.Path.from(this.loader.cwd)), fileSystem, config);
45
45
  }
46
46
  /**
47
47
  * Scenario success threshold for this test runner, calculated based on {@apilink CucumberConfig}
@@ -95,7 +95,7 @@ class CucumberCLIAdapter {
95
95
  }
96
96
  runScenarios(version, serenityListener, pathsToScenarios) {
97
97
  if (version.isAtLeast(new io_1.Version('10.0.0'))) {
98
- return this.runWithCucumber8JavaScriptApi(serenityListener, pathsToScenarios);
98
+ return this.runWithCucumber10(serenityListener, pathsToScenarios);
99
99
  }
100
100
  if (version.isAtLeast(new io_1.Version('9.0.0'))) {
101
101
  return this.runWithCucumber8JavaScriptApi(serenityListener, pathsToScenarios);
@@ -118,11 +118,25 @@ class CucumberCLIAdapter {
118
118
  }
119
119
  return this.runWithCucumber0to1(argv, serenityListener, pathsToScenarios);
120
120
  }
121
+ async runWithCucumber10(pathToSerenityListener, pathsToScenarios) {
122
+ const output = this.output.get();
123
+ const serenityListenerUrl = io_1.Path.from(pathToSerenityListener).toFileURL().href;
124
+ const outputUrl = output.value() ?? undefined;
125
+ // https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md#ambiguous-colons-in-formats
126
+ // https://github.com/cucumber/cucumber-js/issues/2326#issuecomment-1711701382
127
+ return await this.runWithCucumberApi([
128
+ serenityListenerUrl,
129
+ outputUrl,
130
+ ], pathsToScenarios, output);
131
+ }
121
132
  // https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
122
133
  async runWithCucumber8JavaScriptApi(pathToSerenityListener, pathsToScenarios) {
134
+ const output = this.output.get();
135
+ return await this.runWithCucumberApi(`${pathToSerenityListener}:${output.value()}`, pathsToScenarios, output);
136
+ }
137
+ async runWithCucumberApi(serenityFormatter, pathsToScenarios, output) {
123
138
  const configuration = this.options.asCucumberApiConfiguration();
124
139
  const { loadConfiguration, loadSupport, runCucumber } = this.loader.require('@cucumber/cucumber/api');
125
- const output = this.output.get();
126
140
  // https://github.com/cucumber/cucumber-js/blob/main/src/api/environment.ts
127
141
  const environment = {
128
142
  cwd: this.loader.cwd,
@@ -131,13 +145,13 @@ class CucumberCLIAdapter {
131
145
  env: process.env,
132
146
  debug: false,
133
147
  };
134
- configuration.format.push(`${pathToSerenityListener}:${output.value()}`);
148
+ configuration.format.push(serenityFormatter);
135
149
  configuration.paths = pathsToScenarios;
136
150
  // https://github.com/cucumber/cucumber-js/blob/main/src/configuration/types.ts
137
151
  const { runConfiguration } = await loadConfiguration({ provided: configuration }, environment);
138
- // load the support code upfront
139
- const support = await loadSupport(runConfiguration, environment);
140
152
  try {
153
+ // load the support code upfront
154
+ const support = await loadSupport(runConfiguration, environment);
141
155
  // run cucumber, using the support code we loaded already
142
156
  const { success } = await runCucumber({ ...runConfiguration, support }, environment);
143
157
  await output.cleanUp();
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberCLIAdapter.js","sourceRoot":"","sources":["../../src/adapter/CucumberCLIAdapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAmD;AAEnD,uDAAsF;AACtF,2CAA6B,CAAC,2CAA2C;AAGzE,uDAAoD;AAGpD;;;;;;;GAOG;AACH,MAAa,kBAAkB;IAM3B,YACI,MAAsB,EACL,MAAoB,EACrC,UAAsB,EACL,MAA+B;QAF/B,WAAM,GAAN,MAAM,CAAc;QAEpB,WAAM,GAAN,MAAM,CAAyB;QAR5C,qBAAgB,GAAa,EAAE,CAAC;QAUpC,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC1B,CAAC,CAAC,wBAAgB;YAClB,CAAC,CAAC,6BAAqB,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,gBAA0B;QACjC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE;YACvE,iDAAiD;YACjD,0DAA0D;YAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,2BAA2B,CAAC;gBAC7D,CAAC,CAAC,2BAA2B,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,6FAA6F;IACjG,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACT,gGAAgG;QAChG,6CAA6C;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEpC,2CAA2C;QAC3C,uFAAuF;QACvF,IAAI;QACJ,EAAE;QACF,8BAA8B;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAEO,YAAY,CAAC,OAAgB,EAAE,gBAAwB,EAAE,gBAA0B;QACvF,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SACjF;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SACjF;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SACjF;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SAC1E;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SAC1E;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SAC7E;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;SAC1E;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,6BAA6B,CAAC,sBAA8B,EAAE,gBAA0B;QAClG,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAChE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,GAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAEjC,2EAA2E;QAC3E,MAAM,WAAW,GAAG;YAChB,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAK,OAAO,CAAC,GAAG;YACnB,KAAK,EAAG,KAAK;SAChB,CAAC;QAEF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAI,sBAAuB,IAAK,MAAM,CAAC,KAAK,EAAG,EAAE,CAAC,CAAA;QAC5E,aAAa,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAEvC,+EAA+E;QAC/E,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;QAE/F,gCAAgC;QAChC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QAEhE,IAAI;YACA,yDAAyD;YACzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,gBAAgB,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;YACpF,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAEvB,OAAO,OAAO,CAAA;SACjB;QACD,OAAO,KAAK,EAAE;YACV,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;YACtB,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,sBAA8B,EAAE,gBAA0B;QAC/F,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;YACpB,IAAI,EAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAI,sBAAuB,IAAK,MAAM,CAAC,KAAK,EAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC;YACvG,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAK,OAAO,CAAC,GAAG;SACtB,CAAC;aACD,GAAG,EAAE;aACL,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,sBAA8B,EAAE,gBAA0B;QAC/F,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;YACpB,IAAI,EAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAI,sBAAuB,IAAK,MAAM,CAAC,KAAK,EAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC;YACvG,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;aACD,GAAG,EAAE;aACL,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,mBAAmB,CAAC,IAAc,EAAE,sBAA8B,EAAE,gBAA0B;QAClG,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,MAAM,GAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;YACpB,IAAI,EAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAI,sBAAuB,IAAK,MAAM,CAAC,KAAK,EAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC;YACvG,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;aACD,GAAG,EAAE;aACL,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,sBAA8B,EAAE,gBAA0B;QAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEjD,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;YACpB,IAAI,EAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,gBAAgB,CAAC;YAC7E,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAEO,mBAAmB,CAAC,IAAc,EAAE,sBAA8B,EAAE,gBAA0B;QAClG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE,GAAG,gBAAgB,CAAC,CAAC;iBAC1E,GAAG,CAAC,CAAC,aAAsB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA1MD,gDA0MC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAI,MAAwB;IACtD,OAAO,CAAC,MAAS,EAAE,EAAE;QACjB,OAAO,MAAM,CAAC,OAAO,EAAE;aAClB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAA;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAwB;IAC/C,OAAO,CAAC,KAAY,EAAE,EAAE;QACpB,OAAO,MAAM,CAAC,OAAO,EAAE;aAClB,IAAI,CAAC,GAAG,EAAE;YACP,MAAM,KAAK,CAAC;QAChB,CAAC,EAAE,YAAY,CAAC,EAAE;YACd,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACX,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"CucumberCLIAdapter.js","sourceRoot":"","sources":["../../src/adapter/CucumberCLIAdapter.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@
6
6
  * @group Configuration
7
7
  */
8
8
  export interface CucumberConfig {
9
+ /**
10
+ * Paths to where your feature files are. Note that you don't need to specify the paths when
11
+ * using Serenity/JS with WebdriverIO or Protractor, as their respective adapters will do it for you.
12
+ *
13
+ * #### Learn more
14
+ * - [Cucumber docs: configuration](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md)
15
+ */
16
+ paths?: string[];
9
17
  /**
10
18
  * Prepare a test run but don't run it
11
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberConfig.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAE3B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC"}
1
+ {"version":3,"file":"CucumberConfig.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAE3B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC"}
@@ -1,14 +1,15 @@
1
1
  import type { IConfiguration } from '@cucumber/cucumber/api';
2
- import type { FileSystem } from '@serenity-js/core/lib/io';
2
+ import type { FileFinder, FileSystem } from '@serenity-js/core/lib/io';
3
3
  import { Version } from '@serenity-js/core/lib/io';
4
4
  import type { CucumberConfig } from './CucumberConfig';
5
5
  /**
6
6
  * @private
7
7
  */
8
8
  export declare class CucumberOptions {
9
+ private readonly finder;
9
10
  private readonly fileSystem;
10
11
  private readonly config;
11
- constructor(fileSystem: FileSystem, config: CucumberConfig);
12
+ constructor(finder: FileFinder, fileSystem: FileSystem, config: CucumberConfig);
12
13
  isStrict(): boolean;
13
14
  asArgumentsForCucumber(version: Version): string[];
14
15
  private asArray;
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberOptions.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAQ,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAe;IAEpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc;IAI3C,QAAQ,IAAI,OAAO;IAInB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE;IAgBlD,OAAO,CAAC,OAAO;IAYf,0BAA0B,IAAI,OAAO,CAAC,cAAc,CAAC;IA0BrD,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;CAKvB"}
1
+ {"version":3,"file":"CucumberOptions.d.ts","sourceRoot":"","sources":["../../src/adapter/CucumberOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAQ,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAe;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc;IAI3C,QAAQ,IAAI,OAAO;IAInB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE;IAgBlD,OAAO,CAAC,OAAO;IAYf,0BAA0B,IAAI,OAAO,CAAC,cAAc,CAAC;IAgCrD,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;CAKvB"}
@@ -6,7 +6,8 @@ const io_1 = require("@serenity-js/core/lib/io");
6
6
  * @private
7
7
  */
8
8
  class CucumberOptions {
9
- constructor(fileSystem, config) {
9
+ constructor(finder, fileSystem, config) {
10
+ this.finder = finder;
10
11
  this.fileSystem = fileSystem;
11
12
  this.config = config;
12
13
  }
@@ -40,20 +41,23 @@ class CucumberOptions {
40
41
  failFast: this.config.failFast,
41
42
  format: this.asArray(this.config.format),
42
43
  formatOptions: this.config.formatOptions,
43
- import: this.asArray(this.config.import),
44
+ paths: this.asArray(this.config.paths)
45
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.value)),
46
+ import: this.asArray(this.config.import)
47
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.toFileURL().href)),
48
+ require: this.asArray(this.config.require)
49
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.value)),
50
+ requireModule: this.asArray(this.config.requireModule),
44
51
  language: this.config.language,
45
52
  name: this.asArray(this.config.name),
46
- // order: PickleOrder
47
- // paths: string[],
48
- // parallel: number, // this only works when Cucumber is the runner, in which scenario CucumberCLIAdapter is not used anyway
49
53
  publish: false,
50
- require: this.asArray(this.config.require),
51
- requireModule: this.asArray(this.config.requireModule),
52
54
  retry: this.config.retry,
53
55
  retryTagFilter: this.config.retryTagFilter,
54
56
  strict: this.config.strict,
55
57
  tags: this.asArray(this.config.tags).join(' and '),
56
58
  worldParameters: this.config.worldParameters,
59
+ // order: PickleOrder
60
+ // parallel: number, // this only works when Cucumber is the runner, in which scenario CucumberCLIAdapter is not used anyway
57
61
  };
58
62
  }
59
63
  optionToValues(option, value, version) {
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberOptions.js","sourceRoot":"","sources":["../../src/adapter/CucumberOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CucumberOptions.js","sourceRoot":"","sources":["../../src/adapter/CucumberOptions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/cucumber",
3
- "version": "3.13.0",
3
+ "version": "3.13.2",
4
4
  "description": "Serenity/JS adapter for Cucumber test runners version 1.x - 7.x",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -44,10 +44,10 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@cucumber/messages": "22.0.0",
47
- "@serenity-js/core": "3.13.0",
47
+ "@serenity-js/core": "3.13.2",
48
48
  "cli-table3": "^0.6.3",
49
49
  "gherkin": "5.1.0",
50
- "tiny-types": "^1.20.0"
50
+ "tiny-types": "^1.21.0"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@cucumber/cucumber": "^7.3.2 || ^8.5.0 || ^9.1.0 || ^10.0.0",
@@ -64,13 +64,13 @@
64
64
  "devDependencies": {
65
65
  "@cucumber/cucumber": "^10.0.0",
66
66
  "@integration/testing-tools": "3.0.0",
67
- "@types/chai": "^4.3.9",
68
- "@types/mocha": "^10.0.3",
67
+ "@types/chai": "^4.3.10",
68
+ "@types/mocha": "^10.0.4",
69
69
  "c8": "8.0.1",
70
70
  "mocha": "^10.2.0",
71
71
  "mocha-multi": "^1.1.7",
72
72
  "ts-node": "^10.9.1",
73
73
  "typescript": "5.1.6"
74
74
  },
75
- "gitHead": "46323e04f31dd27ac81f23d4e5a7cc16565f23f4"
75
+ "gitHead": "ed08db56c2c947c2c2ac4d9d4e95f9f68e90d2a4"
76
76
  }
@@ -1,6 +1,6 @@
1
1
  import type { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
2
- import type { FileSystem, ModuleLoader} from '@serenity-js/core/lib/io';
3
- import { Version } from '@serenity-js/core/lib/io';
2
+ import type { FileSystem, ModuleLoader } from '@serenity-js/core/lib/io';
3
+ import { FileFinder, Path, Version } from '@serenity-js/core/lib/io';
4
4
  import type { Outcome } from '@serenity-js/core/lib/model';
5
5
  import { ExecutionIgnored, ImplementationPending } from '@serenity-js/core/lib/model';
6
6
  import * as path from 'path'; // eslint-disable-line unicorn/import-style
@@ -29,7 +29,7 @@ export class CucumberCLIAdapter implements TestRunnerAdapter {
29
29
  fileSystem: FileSystem,
30
30
  private readonly output: SerenityFormatterOutput,
31
31
  ) {
32
- this.options = new CucumberOptions(fileSystem, config);
32
+ this.options = new CucumberOptions(new FileFinder(Path.from(this.loader.cwd)), fileSystem, config);
33
33
  }
34
34
 
35
35
  /**
@@ -92,7 +92,7 @@ export class CucumberCLIAdapter implements TestRunnerAdapter {
92
92
 
93
93
  private runScenarios(version: Version, serenityListener: string, pathsToScenarios: string[]): Promise<void> {
94
94
  if (version.isAtLeast(new Version('10.0.0'))) {
95
- return this.runWithCucumber8JavaScriptApi(serenityListener, pathsToScenarios);
95
+ return this.runWithCucumber10(serenityListener, pathsToScenarios);
96
96
  }
97
97
 
98
98
  if (version.isAtLeast(new Version('9.0.0'))) {
@@ -124,11 +124,28 @@ export class CucumberCLIAdapter implements TestRunnerAdapter {
124
124
  return this.runWithCucumber0to1(argv, serenityListener, pathsToScenarios);
125
125
  }
126
126
 
127
+ private async runWithCucumber10(pathToSerenityListener: string, pathsToScenarios: string[]): Promise<void> {
128
+ const output = this.output.get();
129
+ const serenityListenerUrl = Path.from(pathToSerenityListener).toFileURL().href;
130
+ const outputUrl = output.value() ?? undefined;
131
+
132
+ // https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md#ambiguous-colons-in-formats
133
+ // https://github.com/cucumber/cucumber-js/issues/2326#issuecomment-1711701382
134
+ return await this.runWithCucumberApi([
135
+ serenityListenerUrl,
136
+ outputUrl,
137
+ ], pathsToScenarios, output);
138
+ }
139
+
127
140
  // https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
128
141
  private async runWithCucumber8JavaScriptApi(pathToSerenityListener: string, pathsToScenarios: string[]): Promise<void> {
142
+ const output = this.output.get();
143
+ return await this.runWithCucumberApi(`${ pathToSerenityListener }:${ output.value() }`, pathsToScenarios, output);
144
+ }
145
+
146
+ private async runWithCucumberApi(serenityFormatter: string | [string, string?], pathsToScenarios: string[], output: OutputDescriptor): Promise<void> {
129
147
  const configuration = this.options.asCucumberApiConfiguration();
130
148
  const { loadConfiguration, loadSupport, runCucumber } = this.loader.require('@cucumber/cucumber/api');
131
- const output = this.output.get();
132
149
 
133
150
  // https://github.com/cucumber/cucumber-js/blob/main/src/api/environment.ts
134
151
  const environment = {
@@ -139,16 +156,16 @@ export class CucumberCLIAdapter implements TestRunnerAdapter {
139
156
  debug: false,
140
157
  };
141
158
 
142
- configuration.format.push(`${ pathToSerenityListener }:${ output.value() }`)
159
+ configuration.format.push(serenityFormatter)
143
160
  configuration.paths = pathsToScenarios;
144
161
 
145
162
  // https://github.com/cucumber/cucumber-js/blob/main/src/configuration/types.ts
146
163
  const { runConfiguration } = await loadConfiguration({ provided: configuration }, environment);
147
164
 
148
- // load the support code upfront
149
- const support = await loadSupport(runConfiguration, environment)
150
-
151
165
  try {
166
+ // load the support code upfront
167
+ const support = await loadSupport(runConfiguration, environment)
168
+
152
169
  // run cucumber, using the support code we loaded already
153
170
  const { success } = await runCucumber({ ...runConfiguration, support }, environment)
154
171
  await output.cleanUp();
@@ -7,6 +7,15 @@
7
7
  */
8
8
  export interface CucumberConfig {
9
9
 
10
+ /**
11
+ * Paths to where your feature files are. Note that you don't need to specify the paths when
12
+ * using Serenity/JS with WebdriverIO or Protractor, as their respective adapters will do it for you.
13
+ *
14
+ * #### Learn more
15
+ * - [Cucumber docs: configuration](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md)
16
+ */
17
+ paths?: string[];
18
+
10
19
  /**
11
20
  * Prepare a test run but don't run it
12
21
  *
@@ -1,5 +1,5 @@
1
1
  import type { IConfiguration } from '@cucumber/cucumber/api';
2
- import type { FileSystem} from '@serenity-js/core/lib/io';
2
+ import type { FileFinder, FileSystem } from '@serenity-js/core/lib/io';
3
3
  import { Path, Version } from '@serenity-js/core/lib/io';
4
4
 
5
5
  import type { CucumberConfig } from './CucumberConfig';
@@ -9,6 +9,7 @@ import type { CucumberConfig } from './CucumberConfig';
9
9
  */
10
10
  export class CucumberOptions {
11
11
  constructor(
12
+ private readonly finder: FileFinder,
12
13
  private readonly fileSystem: FileSystem,
13
14
  private readonly config: CucumberConfig,
14
15
  ) {
@@ -55,20 +56,26 @@ export class CucumberOptions {
55
56
  failFast: this.config.failFast,
56
57
  format: this.asArray(this.config.format),
57
58
  formatOptions: this.config.formatOptions as any,
58
- import: this.asArray(this.config.import),
59
+
60
+ paths: this.asArray(this.config.paths)
61
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.value)),
62
+ import: this.asArray(this.config.import)
63
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.toFileURL().href)),
64
+ require: this.asArray(this.config.require)
65
+ .flatMap(glob => this.finder.filesMatching(glob).map(path => path.value)),
66
+ requireModule: this.asArray(this.config.requireModule),
67
+
59
68
  language: this.config.language,
60
69
  name: this.asArray(this.config.name),
61
- // order: PickleOrder
62
- // paths: string[],
63
- // parallel: number, // this only works when Cucumber is the runner, in which scenario CucumberCLIAdapter is not used anyway
64
70
  publish: false,
65
- require: this.asArray(this.config.require),
66
- requireModule: this.asArray(this.config.requireModule),
67
71
  retry: this.config.retry,
68
72
  retryTagFilter: this.config.retryTagFilter,
69
73
  strict: this.config.strict,
70
74
  tags: this.asArray(this.config.tags).join(' and '),
71
75
  worldParameters: this.config.worldParameters,
76
+
77
+ // order: PickleOrder
78
+ // parallel: number, // this only works when Cucumber is the runner, in which scenario CucumberCLIAdapter is not used anyway
72
79
  };
73
80
  }
74
81
 
@@ -124,8 +131,8 @@ export class CucumberOptions {
124
131
 
125
132
  private tagsToCucumberExpressions(tags: string[]): string {
126
133
  return tags.filter(tag => !! tag.replace)
127
- .map(tag => tag.replaceAll('~', 'not '))
128
- .join(' and ');
134
+ .map(tag => tag.replaceAll('~', 'not '))
135
+ .join(' and ');
129
136
  }
130
137
 
131
138
  private flagToArg(option: string, value: boolean): string {