@nx/cypress 18.0.3 → 18.0.5
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/cypress",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Nx Plugin for Cypress contains executors and generators allowing your workspace to use the powerful Cypress integration testing capabilities.",
|
|
6
6
|
"repository": {
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"migrations": "./migrations.json"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@nx/devkit": "18.0.
|
|
38
|
-
"@nx/eslint": "18.0.
|
|
39
|
-
"@nx/js": "18.0.
|
|
37
|
+
"@nx/devkit": "18.0.5",
|
|
38
|
+
"@nx/eslint": "18.0.5",
|
|
39
|
+
"@nx/js": "18.0.5",
|
|
40
40
|
"@phenomnomnominal/tsquery": "~5.0.1",
|
|
41
41
|
"detect-port": "^1.5.1",
|
|
42
42
|
"semver": "^7.5.3",
|
|
43
43
|
"tslib": "^2.3.0",
|
|
44
|
-
"@nrwl/cypress": "18.0.
|
|
44
|
+
"@nrwl/cypress": "18.0.5"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"cypress": ">= 3 < 14"
|
|
@@ -30,13 +30,18 @@ function nxBaseCypressPreset(pathToConfig, options) {
|
|
|
30
30
|
}
|
|
31
31
|
exports.nxBaseCypressPreset = nxBaseCypressPreset;
|
|
32
32
|
function startWebServer(webServerCommand) {
|
|
33
|
-
const serverProcess = (0, child_process_1.
|
|
33
|
+
const serverProcess = (0, child_process_1.spawn)(webServerCommand, {
|
|
34
34
|
cwd: devkit_1.workspaceRoot,
|
|
35
|
+
shell: true,
|
|
36
|
+
// Detaching the process on unix will create a process group, allowing us to kill it later
|
|
37
|
+
// Windows is fine so we leave it attached to this process
|
|
38
|
+
detached: process.platform !== 'win32',
|
|
39
|
+
stdio: 'inherit',
|
|
35
40
|
});
|
|
36
|
-
serverProcess.stdout.pipe(process.stdout);
|
|
37
|
-
serverProcess.stderr.pipe(process.stderr);
|
|
38
41
|
return () => {
|
|
39
|
-
|
|
42
|
+
// child.kill() does not work on linux
|
|
43
|
+
// process.kill will kill the whole process group on unix
|
|
44
|
+
process.kill(-serverProcess.pid, 'SIGKILL');
|
|
40
45
|
};
|
|
41
46
|
}
|
|
42
47
|
/**
|
|
@@ -56,12 +61,21 @@ function startWebServer(webServerCommand) {
|
|
|
56
61
|
*/
|
|
57
62
|
function nxE2EPreset(pathToConfig, options) {
|
|
58
63
|
const basePath = options?.cypressDir || 'src';
|
|
64
|
+
const dir = (0, path_1.dirname)(pathToConfig);
|
|
65
|
+
let supportFile = undefined;
|
|
66
|
+
for (const f of ['e2e.ts', 'e2e.js']) {
|
|
67
|
+
const candidate = (0, path_1.join)(dir, basePath, 'support', f);
|
|
68
|
+
if ((0, fs_1.existsSync)(candidate)) {
|
|
69
|
+
supportFile = candidate;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
59
73
|
const baseConfig /*Cypress.EndToEndConfigOptions & {
|
|
60
74
|
[NX_PLUGIN_OPTIONS]: unknown;
|
|
61
75
|
}*/ = {
|
|
62
76
|
...nxBaseCypressPreset(pathToConfig),
|
|
63
77
|
fileServerFolder: '.',
|
|
64
|
-
supportFile
|
|
78
|
+
supportFile,
|
|
65
79
|
specPattern: `${basePath}/**/*.cy.{js,jsx,ts,tsx}`,
|
|
66
80
|
fixturesFolder: `${basePath}/fixtures`,
|
|
67
81
|
[constants_1.NX_PLUGIN_OPTIONS]: {
|
|
@@ -108,7 +122,7 @@ function waitForServer(url, webServerConfig) {
|
|
|
108
122
|
return new Promise((resolve, reject) => {
|
|
109
123
|
let pollTimeout;
|
|
110
124
|
const { protocol } = new URL(url);
|
|
111
|
-
const timeoutDuration = webServerConfig?.timeout ??
|
|
125
|
+
const timeoutDuration = webServerConfig?.timeout ?? 15 * 1000;
|
|
112
126
|
const timeout = setTimeout(() => {
|
|
113
127
|
clearTimeout(pollTimeout);
|
|
114
128
|
reject(new Error(`Web server failed to start in ${timeoutDuration}ms. This can be configured in cypress.config.ts.`));
|
|
@@ -128,11 +128,12 @@ async function addFiles(tree, options, projectGraph, hasPlugin) {
|
|
|
128
128
|
const devServerProjectConfig = (0, devkit_1.readProjectConfiguration)(tree, parsedTarget.project);
|
|
129
129
|
// Add production e2e target if serve target is found
|
|
130
130
|
if (parsedTarget.configuration !== 'production' &&
|
|
131
|
-
devServerProjectConfig
|
|
131
|
+
devServerProjectConfig?.targets?.[parsedTarget.target]
|
|
132
|
+
?.configurations?.['production']) {
|
|
132
133
|
webServerCommands.production = `nx run ${parsedTarget.project}:${parsedTarget.target}:production`;
|
|
133
134
|
}
|
|
134
135
|
// Add ci/static e2e target if serve target is found
|
|
135
|
-
if (devServerProjectConfig
|
|
136
|
+
if (devServerProjectConfig?.targets?.['serve-static']) {
|
|
136
137
|
ciWebServerCommand = `nx run ${parsedTarget.project}:serve-static`;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
@@ -165,6 +166,7 @@ async function addFiles(tree, options, projectGraph, hasPlugin) {
|
|
|
165
166
|
function addTarget(tree, opts) {
|
|
166
167
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, opts.project);
|
|
167
168
|
const cyVersion = (0, cypress_version_1.installedCypressVersion)();
|
|
169
|
+
projectConfig.targets ??= {};
|
|
168
170
|
projectConfig.targets.e2e = {
|
|
169
171
|
executor: '@nx/cypress:cypress',
|
|
170
172
|
options: {
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export declare const nxVersion: any;
|
|
|
2
2
|
export declare const eslintPluginCypressVersion = "^2.13.4";
|
|
3
3
|
export declare const typesNodeVersion = "18.16.9";
|
|
4
4
|
export declare const cypressViteDevServerVersion = "^2.2.1";
|
|
5
|
-
export declare const cypressVersion = "
|
|
5
|
+
export declare const cypressVersion = "13.6.4";
|
|
6
6
|
export declare const cypressWebpackVersion = "^2.0.0";
|
|
7
7
|
export declare const webpackHttpPluginVersion = "^5.5.0";
|
|
8
|
-
export declare const viteVersion = "
|
|
8
|
+
export declare const viteVersion = "~5.0.0";
|
|
9
9
|
export declare const htmlWebpackPluginVersion = "^5.5.0";
|
package/src/utils/versions.js
CHANGED
|
@@ -5,8 +5,8 @@ exports.nxVersion = require('../../package.json').version;
|
|
|
5
5
|
exports.eslintPluginCypressVersion = '^2.13.4';
|
|
6
6
|
exports.typesNodeVersion = '18.16.9';
|
|
7
7
|
exports.cypressViteDevServerVersion = '^2.2.1';
|
|
8
|
-
exports.cypressVersion = '
|
|
8
|
+
exports.cypressVersion = '13.6.4';
|
|
9
9
|
exports.cypressWebpackVersion = '^2.0.0';
|
|
10
10
|
exports.webpackHttpPluginVersion = '^5.5.0';
|
|
11
|
-
exports.viteVersion = '
|
|
11
|
+
exports.viteVersion = '~5.0.0';
|
|
12
12
|
exports.htmlWebpackPluginVersion = '^5.5.0';
|