@gnuechtel/nx-cucumber 24.3.0-17590857434 → 24.3.0

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/README.md CHANGED
@@ -5,9 +5,10 @@ Plugin to use Cucumber within Nx workspaces
5
5
  <!-- TOC -->
6
6
 
7
7
  - [Introduction](#introduction)
8
- - [Release 24.1.0 and versioning](#release-2410-and-versioning)
8
+ - [Compatibility and versioning](#compatibility-and-versioning)
9
9
  - [Playwright-BDD and UI Mode](#playwright-bdd-and-ui-mode)
10
10
  - [API-only Playwright-BDD tests](#api-only-playwright-bdd-tests)
11
+ - [Single-package distribution](#single-package-distribution)
11
12
  - [Dependency security notice](#dependency-security-notice)
12
13
  - [Prerequisites](#prerequisites)
13
14
  - [Quick start](#quick-start)
@@ -59,7 +60,7 @@ Plugin to use Cucumber within Nx workspaces
59
60
 
60
61
  Nx-cucumber provides generators and inferred tasks for [Cucumber for JavaScript](https://github.com/cucumber/cucumber-js) within Nx workspaces, with optional [Playwright](https://playwright.dev/docs/library) support. It is intended for teams that have chosen Cucumber as part of their shared workflow.
61
62
 
62
- ## Release 24.1.0 and versioning
63
+ ## Compatibility and versioning
63
64
 
64
65
  Starting with 23.0.0, the plugin major matches the supported Nx major: plugin
65
66
  23.x supports Nx 23, and plugin 24.x supports Nx 24. Minor and patch versions are independent and describe our
@@ -67,11 +68,16 @@ own changes. For example, a plugin-only fix can be released as 23.0.1 while the
67
68
  supported Nx baseline stays the same. The exact compatibility ranges are defined
68
69
  in the package's dependencies and peer dependencies.
69
70
 
70
- The Cucumber integration targets Nx 24, Cucumber 13 and Playwright 1.64+. Existing worlds, hooks and test metadata remain supported. Version 24.1.0 also adds Playwright-BDD generation and conversion through the normal Nx Playwright plugin. See the [24.1.0 release notes](../../docs/release-notes/24.1.0.md), including the reviewed upstream security exception, before upgrading.
71
+ The Cucumber integration targets Nx 24, Cucumber 13 and Playwright 1.64+.
72
+ Version 24.3.0 supports Node.js 24 or 26 and includes the required shared helpers
73
+ in a single package. Existing worlds, hooks and test metadata remain supported,
74
+ alongside native Playwright-BDD generation, conversion and API-only tests. See
75
+ the [24.3.0 release notes](../../docs/release-notes/24.3.0.md), including the
76
+ reviewed upstream security exception, before upgrading.
71
77
 
72
78
  ## Playwright-BDD and UI Mode
73
79
 
74
- Version 24.1.0 adds a second browser-test path through Playwright-BDD and the
80
+ Available since 24.1.0, Playwright-BDD provides a second browser-test path through the
75
81
  normal `@nx/playwright` plugin. Nx remains the workspace and task runner.
76
82
  Existing `core` and `playwright` cucumber-js projects remain supported.
77
83
 
@@ -104,8 +110,8 @@ and dependency cleanup to us. Follow the
104
110
 
105
111
  ## API-only Playwright-BDD tests
106
112
 
107
- Version 24.2.0 adds API-only generation with Playwright's native request fixtures
108
- and requires no browser installation. See the
113
+ Available since 24.2.0, API-only generation uses Playwright's native request
114
+ fixtures and requires no browser installation. See the
109
115
  [API guide](../../docs/playwright-bdd-api.md) for generation, backend startup,
110
116
  authentication, reports and execution without our runtime packages.
111
117
  Our [local API example](../../apps/example/api-app-bdd-e2e/README.md) demonstrates
@@ -183,7 +189,7 @@ cd gnu-repo
183
189
  npm i -D @cucumber/cucumber@13.3.0 @playwright/test@1.64.1
184
190
 
185
191
  # install this plugin
186
- npm i -D @gnuechtel/nx-cucumber@24.1.0
192
+ npm i -D @gnuechtel/nx-cucumber@24
187
193
 
188
194
  # register the plugin in nx.json (enables inferred tasks)
189
195
  # add "@gnuechtel/nx-cucumber" to the "plugins" array in nx.json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gnuechtel/nx-cucumber",
3
- "version": "24.3.0-17590857434",
3
+ "version": "24.3.0",
4
4
  "description": "Plugin to use Cucumber within Nx workspaces",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -52,4 +52,4 @@
52
52
  "optional": true
53
53
  }
54
54
  }
55
- }
55
+ }
@@ -11,6 +11,8 @@ const PORT = <%= port %>;
11
11
  const SERVE_CMD = <%- serveCommandJson %>;
12
12
  const TEST_CMD = <%- testCommandJson %>;
13
13
  const TIMEOUT_MS = 60_000;
14
+ // Cold Nx startup on Windows can consume most of a minute before Vite starts.
15
+ const SERVER_START_TIMEOUT_MS = process.platform === 'win32' ? 180_000 : TIMEOUT_MS;
14
16
 
15
17
  async function run() {
16
18
  await clearPort();
@@ -69,7 +71,7 @@ async function run() {
69
71
  }
70
72
 
71
73
  // Wait until the dev server is reachable.
72
- const deadline = Date.now() + TIMEOUT_MS;
74
+ const deadline = Date.now() + SERVER_START_TIMEOUT_MS;
73
75
  while (!(await portOpen(PORT))) {
74
76
  if (processClosed) {
75
77
  console.error(
@@ -80,7 +82,7 @@ async function run() {
80
82
  if (Date.now() > deadline) {
81
83
  await teardown();
82
84
  console.error(
83
- `[nx-cucumber] Server did not respond on port ${PORT} within ${TIMEOUT_MS / 1000}s`,
85
+ `[nx-cucumber] Server did not respond on port ${PORT} within ${SERVER_START_TIMEOUT_MS / 1000}s`,
84
86
  );
85
87
  process.exit(1);
86
88
  }