@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
|
-
- [
|
|
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
|
-
##
|
|
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+.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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() +
|
|
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 ${
|
|
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
|
}
|