@nx/playwright 19.6.0-canary.20240814-6d83ae2 → 19.6.0-canary.20240815-5410794

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/playwright",
3
- "version": "19.6.0-canary.20240814-6d83ae2",
3
+ "version": "19.6.0-canary.20240815-5410794",
4
4
  "type": "commonjs",
5
5
  "homepage": "https://nx.dev",
6
6
  "private": false,
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@phenomnomnominal/tsquery": "~5.0.1",
38
- "@nx/devkit": "19.6.0-canary.20240814-6d83ae2",
39
- "@nx/eslint": "19.6.0-canary.20240814-6d83ae2",
40
- "@nx/webpack": "19.6.0-canary.20240814-6d83ae2",
41
- "@nx/vite": "19.6.0-canary.20240814-6d83ae2",
42
- "@nx/js": "19.6.0-canary.20240814-6d83ae2",
38
+ "@nx/devkit": "19.6.0-canary.20240815-5410794",
39
+ "@nx/eslint": "19.6.0-canary.20240815-5410794",
40
+ "@nx/webpack": "19.6.0-canary.20240815-5410794",
41
+ "@nx/vite": "19.6.0-canary.20240815-5410794",
42
+ "@nx/js": "19.6.0-canary.20240815-5410794",
43
43
  "tslib": "^2.3.0",
44
44
  "minimatch": "9.0.3"
45
45
  },
@@ -66,5 +66,6 @@
66
66
  },
67
67
  "nx-migrations": {
68
68
  "migrations": "./migrations.json"
69
- }
69
+ },
70
+ "types": "./index.d.ts"
70
71
  }
@@ -58,17 +58,21 @@ async function default_1(tree) {
58
58
  (0, devkit_1.joinPathFragments)(graph.nodes[project].data.root, 'webpack.config.ts'),
59
59
  (0, devkit_1.joinPathFragments)(graph.nodes[project].data.root, 'webpack.config.js'),
60
60
  ].find((p) => tree.exists(p));
61
- collectedProjects.push({
62
- projectName: project,
63
- configFile: pathToWebpackConfig ?? pathToViteConfig,
64
- configFileType: pathToWebpackConfig ? 'webpack' : 'vite',
65
- playwrightConfigFile: path,
66
- commandValueNode,
67
- });
61
+ const configFile = pathToWebpackConfig ?? pathToViteConfig;
62
+ // Only migrate projects that have a webpack or vite config file
63
+ if (configFile) {
64
+ collectedProjects.push({
65
+ projectName: project,
66
+ configFile,
67
+ configFileType: pathToWebpackConfig ? 'webpack' : 'vite',
68
+ playwrightConfigFile: path,
69
+ commandValueNode,
70
+ });
71
+ }
68
72
  });
69
73
  for (const projectToMigrate of collectedProjects) {
70
74
  let playwrightConfigFileContents = tree.read(projectToMigrate.playwrightConfigFile, 'utf-8');
71
- const targetName = await getServeStaticTargetNameForConfigFile(tree, projectToMigrate.configFileType === 'webpack'
75
+ const targetName = (await getServeStaticTargetNameForConfigFile(tree, projectToMigrate.configFileType === 'webpack'
72
76
  ? '@nx/webpack/plugin'
73
77
  : '@nx/vite/plugin', projectToMigrate.configFile, projectToMigrate.configFileType === 'webpack'
74
78
  ? 'serve-static'
@@ -76,7 +80,13 @@ async function default_1(tree) {
76
80
  ? 'serveStaticTargetName'
77
81
  : 'previewTargetName', projectToMigrate.configFileType === 'webpack'
78
82
  ? plugin_1.createNodesV2
79
- : plugin_2.createNodesV2);
83
+ : plugin_2.createNodesV2)) ??
84
+ getServeStaticLikeTarget(tree, graph, projectToMigrate.projectName, projectToMigrate.configFileType === 'webpack'
85
+ ? '@nx/web:file-server'
86
+ : '@nx/vite:preview-server');
87
+ if (!targetName) {
88
+ continue;
89
+ }
80
90
  const oldCommand = projectToMigrate.commandValueNode.getText();
81
91
  const newCommand = oldCommand.replace(/nx.*[^"']/, `nx run ${projectToMigrate.projectName}:${targetName}`);
82
92
  if (projectToMigrate.configFileType === 'webpack') {
@@ -117,9 +127,9 @@ async function getServeStaticTargetNameForConfigFile(tree, pluginName, configFil
117
127
  const nxJson = (0, devkit_1.readNxJson)(tree);
118
128
  const matchingPluginRegistrations = nxJson.plugins?.filter((p) => typeof p === 'string' ? p === pluginName : p.plugin === pluginName);
119
129
  if (!matchingPluginRegistrations) {
120
- return defaultTargetName;
130
+ return undefined;
121
131
  }
122
- let targetName = defaultTargetName;
132
+ let targetName = undefined;
123
133
  for (const plugin of matchingPluginRegistrations) {
124
134
  let projectConfigs;
125
135
  try {
@@ -144,3 +154,13 @@ async function getServeStaticTargetNameForConfigFile(tree, pluginName, configFil
144
154
  }
145
155
  return targetName;
146
156
  }
157
+ function getServeStaticLikeTarget(tree, graph, projectName, executorName) {
158
+ if (!graph.nodes[projectName]?.data?.targets) {
159
+ return;
160
+ }
161
+ for (const [targetName, targetOptions] of Object.entries(graph.nodes[projectName].data.targets)) {
162
+ if (targetOptions.executor && targetOptions.executor === executorName) {
163
+ return targetName;
164
+ }
165
+ }
166
+ }