@nx/react 24.0.0-beta.2 → 24.0.0-beta.4

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.
Files changed (209) hide show
  1. package/dist/index.d.ts +0 -2
  2. package/dist/index.js +1 -5
  3. package/dist/internal.d.ts +1 -0
  4. package/dist/internal.js +3 -1
  5. package/dist/plugins/component-testing/index.js +92 -33
  6. package/dist/plugins/storybook/index.js +18 -18
  7. package/dist/plugins/with-react.d.ts +3 -7
  8. package/dist/plugins/with-react.js +5 -19
  9. package/dist/src/generators/application/application.js +1 -36
  10. package/dist/src/generators/application/files/base-rspack/rspack.config.js__tmpl__ +1 -24
  11. package/dist/src/generators/application/files/base-webpack/webpack.config.js__tmpl__ +1 -26
  12. package/dist/src/generators/application/lib/add-e2e.js +5 -6
  13. package/dist/src/generators/application/lib/add-linting.js +0 -1
  14. package/dist/src/generators/application/lib/add-project.js +0 -167
  15. package/dist/src/generators/application/lib/bundlers/add-rsbuild.js +0 -1
  16. package/dist/src/generators/application/lib/bundlers/add-vite.js +0 -2
  17. package/dist/src/generators/application/lib/bundlers/add-webpack.js +0 -1
  18. package/dist/src/generators/application/lib/create-application-files.d.ts +0 -1
  19. package/dist/src/generators/application/lib/create-application-files.js +2 -11
  20. package/dist/src/generators/application/lib/normalize-options.js +0 -4
  21. package/dist/src/generators/application/schema.d.ts +0 -2
  22. package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.js +4 -16
  23. package/dist/src/generators/cypress-component-configuration/lib/add-files.d.ts +1 -2
  24. package/dist/src/generators/cypress-component-configuration/lib/add-files.js +4 -2
  25. package/dist/src/generators/cypress-component-configuration/schema.d.ts +0 -1
  26. package/dist/src/generators/init/init.js +3 -5
  27. package/dist/src/generators/init/schema.d.ts +0 -1
  28. package/dist/src/generators/library/lib/add-linting.js +0 -1
  29. package/dist/src/generators/library/lib/add-rollup-build-target.js +3 -47
  30. package/dist/src/generators/library/lib/normalize-options.js +0 -4
  31. package/dist/src/generators/library/library.js +1 -4
  32. package/dist/src/generators/library/schema.d.ts +0 -1
  33. package/dist/src/generators/stories/stories.js +0 -5
  34. package/dist/src/generators/storybook-configuration/configuration.js +1 -9
  35. package/dist/src/generators/storybook-configuration/schema.d.ts +0 -1
  36. package/dist/src/migrations/update-23-2-0/add-optional-module-federation-packages.js +2 -1
  37. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.d.ts +4 -0
  38. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.js +13 -0
  39. package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.md +40 -0
  40. package/dist/src/plugins/router-plugin.d.ts +0 -1
  41. package/dist/src/plugins/router-plugin.js +5 -42
  42. package/dist/src/utils/ast-utils.d.ts +0 -1
  43. package/dist/src/utils/ast-utils.js +0 -23
  44. package/dist/src/utils/ct-utils.d.ts +0 -7
  45. package/dist/src/utils/ct-utils.js +71 -55
  46. package/dist/src/utils/deprecation.d.ts +1 -1
  47. package/dist/src/utils/deprecation.js +3 -5
  48. package/dist/src/utils/framework.js +1 -3
  49. package/dist/src/utils/versions.d.ts +0 -7
  50. package/dist/src/utils/versions.js +2 -9
  51. package/executors.json +1 -17
  52. package/generators.json +0 -27
  53. package/migrations.json +6 -0
  54. package/package.json +17 -47
  55. package/dist/mf/dynamic-federation.d.ts +0 -69
  56. package/dist/mf/dynamic-federation.js +0 -141
  57. package/dist/mf/index.d.ts +0 -1
  58. package/dist/mf/index.js +0 -8
  59. package/dist/module-federation.d.ts +0 -5
  60. package/dist/module-federation.js +0 -20
  61. package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  62. package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
  63. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -4
  64. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -19
  65. package/dist/src/executors/module-federation-dev-server/lib/start-remotes.d.ts +0 -5
  66. package/dist/src/executors/module-federation-dev-server/lib/start-remotes.js +0 -33
  67. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -6
  68. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -80
  69. package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -19
  70. package/dist/src/executors/module-federation-dev-server/schema.json +0 -142
  71. package/dist/src/executors/module-federation-ssr-dev-server/lib/index.d.ts +0 -2
  72. package/dist/src/executors/module-federation-ssr-dev-server/lib/index.js +0 -5
  73. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -4
  74. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -23
  75. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.d.ts +0 -5
  76. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.js +0 -34
  77. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -3
  78. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -83
  79. package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -29
  80. package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -81
  81. package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.d.ts +0 -12
  82. package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.js +0 -244
  83. package/dist/src/executors/module-federation-static-server/schema.d.ts +0 -3
  84. package/dist/src/executors/module-federation-static-server/schema.json +0 -16
  85. package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
  86. package/dist/src/generators/federate-module/federate-module.js +0 -67
  87. package/dist/src/generators/federate-module/lib/utils.d.ts +0 -23
  88. package/dist/src/generators/federate-module/lib/utils.js +0 -99
  89. package/dist/src/generators/federate-module/schema.d.ts +0 -15
  90. package/dist/src/generators/federate-module/schema.json +0 -89
  91. package/dist/src/generators/host/files/common/src/app/__fileName__.js__tmpl__ +0 -40
  92. package/dist/src/generators/host/files/common/src/main.js__tmpl__ +0 -13
  93. package/dist/src/generators/host/files/common/tsconfig.lint.json__tmpl__ +0 -19
  94. package/dist/src/generators/host/files/common-ts/src/app/__fileName__.tsx__tmpl__ +0 -41
  95. package/dist/src/generators/host/files/common-ts/src/main.ts__tmpl__ +0 -13
  96. package/dist/src/generators/host/files/rspack-common/src/app/__fileName__.jsx__tmpl__ +0 -42
  97. package/dist/src/generators/host/files/rspack-common/src/main.jsx__tmpl__ +0 -13
  98. package/dist/src/generators/host/files/rspack-common/tsconfig.lint.json__tmpl__ +0 -19
  99. package/dist/src/generators/host/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -24
  100. package/dist/src/generators/host/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -42
  101. package/dist/src/generators/host/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -66
  102. package/dist/src/generators/host/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -27
  103. package/dist/src/generators/host/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -68
  104. package/dist/src/generators/host/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -28
  105. package/dist/src/generators/host/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -49
  106. package/dist/src/generators/host/files/rspack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
  107. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -22
  108. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -68
  109. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
  110. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -49
  111. package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
  112. package/dist/src/generators/host/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
  113. package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -67
  114. package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -42
  115. package/dist/src/generators/host/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -24
  116. package/dist/src/generators/host/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
  117. package/dist/src/generators/host/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -39
  118. package/dist/src/generators/host/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -19
  119. package/dist/src/generators/host/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -28
  120. package/dist/src/generators/host/files/webpack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
  121. package/dist/src/generators/host/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
  122. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -16
  123. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
  124. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
  125. package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
  126. package/dist/src/generators/host/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
  127. package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -40
  128. package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -18
  129. package/dist/src/generators/host/host.d.ts +0 -4
  130. package/dist/src/generators/host/host.js +0 -174
  131. package/dist/src/generators/host/lib/add-module-federation-files.d.ts +0 -6
  132. package/dist/src/generators/host/lib/add-module-federation-files.js +0 -92
  133. package/dist/src/generators/host/lib/normalize-host-name.d.ts +0 -2
  134. package/dist/src/generators/host/lib/normalize-host-name.js +0 -12
  135. package/dist/src/generators/host/lib/setup-ssr-for-host.d.ts +0 -6
  136. package/dist/src/generators/host/lib/setup-ssr-for-host.js +0 -59
  137. package/dist/src/generators/host/lib/update-module-federation-e2e-project.d.ts +0 -3
  138. package/dist/src/generators/host/lib/update-module-federation-e2e-project.js +0 -19
  139. package/dist/src/generators/host/lib/update-module-federation-tsconfig.d.ts +0 -3
  140. package/dist/src/generators/host/lib/update-module-federation-tsconfig.js +0 -34
  141. package/dist/src/generators/host/schema.d.ts +0 -44
  142. package/dist/src/generators/host/schema.json +0 -173
  143. package/dist/src/generators/remote/files/common/src/main.js__tmpl__ +0 -1
  144. package/dist/src/generators/remote/files/common/src/remote-entry.js__tmpl__ +0 -1
  145. package/dist/src/generators/remote/files/common-ts/src/main.ts__tmpl__ +0 -1
  146. package/dist/src/generators/remote/files/common-ts/src/remote-entry.ts__tmpl__ +0 -1
  147. package/dist/src/generators/remote/files/rspack-common/src/main.jsx__tmpl__ +0 -1
  148. package/dist/src/generators/remote/files/rspack-common/src/remote-entry.js__tmpl__ +0 -1
  149. package/dist/src/generators/remote/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -12
  150. package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -45
  151. package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -1
  152. package/dist/src/generators/remote/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -15
  153. package/dist/src/generators/remote/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -71
  154. package/dist/src/generators/remote/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -45
  155. package/dist/src/generators/remote/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -45
  156. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -19
  157. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -71
  158. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
  159. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -45
  160. package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
  161. package/dist/src/generators/remote/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
  162. package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -1
  163. package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -45
  164. package/dist/src/generators/remote/files/rspack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
  165. package/dist/src/generators/remote/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -12
  166. package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
  167. package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -1
  168. package/dist/src/generators/remote/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -9
  169. package/dist/src/generators/remote/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -45
  170. package/dist/src/generators/remote/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
  171. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -13
  172. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
  173. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
  174. package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
  175. package/dist/src/generators/remote/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
  176. package/dist/src/generators/remote/files/webpack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
  177. package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -1
  178. package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -17
  179. package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.d.ts +0 -2
  180. package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.js +0 -12
  181. package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.d.ts +0 -3
  182. package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.js +0 -30
  183. package/dist/src/generators/remote/lib/setup-ssr-for-remote.d.ts +0 -4
  184. package/dist/src/generators/remote/lib/setup-ssr-for-remote.js +0 -61
  185. package/dist/src/generators/remote/lib/setup-tspath-for-remote.d.ts +0 -3
  186. package/dist/src/generators/remote/lib/setup-tspath-for-remote.js +0 -14
  187. package/dist/src/generators/remote/lib/update-host-with-remote.d.ts +0 -2
  188. package/dist/src/generators/remote/lib/update-host-with-remote.js +0 -79
  189. package/dist/src/generators/remote/remote.d.ts +0 -6
  190. package/dist/src/generators/remote/remote.js +0 -201
  191. package/dist/src/generators/remote/schema.d.ts +0 -39
  192. package/dist/src/generators/remote/schema.json +0 -173
  193. package/dist/src/generators/setup-ssr/files/server.ts__tmpl__ +0 -28
  194. package/dist/src/generators/setup-ssr/files/src/main.server.tsx__tmpl__ +0 -47
  195. package/dist/src/generators/setup-ssr/files/tsconfig.server.json__tmpl__ +0 -17
  196. package/dist/src/generators/setup-ssr/schema.d.ts +0 -8
  197. package/dist/src/generators/setup-ssr/schema.json +0 -54
  198. package/dist/src/generators/setup-ssr/setup-ssr.d.ts +0 -4
  199. package/dist/src/generators/setup-ssr/setup-ssr.js +0 -198
  200. package/dist/src/module-federation/ast-utils.d.ts +0 -8
  201. package/dist/src/module-federation/ast-utils.js +0 -101
  202. package/dist/src/rules/update-module-federation-project.d.ts +0 -11
  203. package/dist/src/rules/update-module-federation-project.js +0 -72
  204. package/dist/src/utils/add-mf-env-to-inputs.d.ts +0 -2
  205. package/dist/src/utils/add-mf-env-to-inputs.js +0 -29
  206. package/dist/src/utils/module-federation-deprecation.d.ts +0 -12
  207. package/dist/src/utils/module-federation-deprecation.js +0 -46
  208. package/dist/src/utils/normalize-remote.d.ts +0 -8
  209. package/dist/src/utils/normalize-remote.js +0 -31
@@ -0,0 +1,40 @@
1
+ #### Register `@nx/js/typescript` for typecheck targets
2
+
3
+ `@nx/react/router-plugin` no longer infers a `typecheck` target in any setup, and its `typecheckTargetName` option is removed. `@nx/js/typescript` provides the target instead. This migration registers `@nx/js/typescript` with only its typecheck target when the workspace uses `@nx/react/router-plugin` and doesn't register `@nx/js/typescript` yet, so your projects keep a `typecheck` target.
4
+
5
+ The new registration is added before the framework plugin and reuses its `typecheckTargetName`, and the migration then removes that option from `@nx/react/router-plugin`. Registrations with `typecheckTargetName: false` have the option removed and don't register `@nx/js/typescript`.
6
+
7
+ #### Sample code changes
8
+
9
+ ##### Before
10
+
11
+ ```json title="nx.json"
12
+ {
13
+ "plugins": [
14
+ {
15
+ "plugin": "@nx/react/router-plugin",
16
+ "options": {
17
+ "buildTargetName": "build",
18
+ "typecheckTargetName": "typecheck"
19
+ }
20
+ }
21
+ ]
22
+ }
23
+ ```
24
+
25
+ ##### After
26
+
27
+ ```json title="nx.json"
28
+ {
29
+ "plugins": [
30
+ {
31
+ "plugin": "@nx/js/typescript",
32
+ "options": { "typecheck": { "targetName": "typecheck" } }
33
+ },
34
+ {
35
+ "plugin": "@nx/react/router-plugin",
36
+ "options": { "buildTargetName": "build" }
37
+ }
38
+ ]
39
+ }
40
+ ```
@@ -3,7 +3,6 @@ export interface ReactRouterPluginOptions {
3
3
  buildTargetName?: string;
4
4
  devTargetName?: string;
5
5
  startTargetName?: string;
6
- typecheckTargetName?: string;
7
6
  buildDepsTargetName?: string;
8
7
  watchDepsTargetName?: string;
9
8
  }
@@ -7,7 +7,6 @@ const path_1 = require("path");
7
7
  const fs_1 = require("fs");
8
8
  const js_1 = require("@nx/js");
9
9
  const internal_2 = require("@nx/js/internal");
10
- const pmCommand = (0, devkit_1.getPackageManagerCommand)();
11
10
  const reactRouterConfigBlob = '**/react-router.config.{ts,js,cjs,cts,mjs,mts}';
12
11
  exports.createNodes = [
13
12
  reactRouterConfigBlob,
@@ -28,15 +27,16 @@ exports.createNodes = [
28
27
  roots: [],
29
28
  configFiles: [],
30
29
  });
31
- const lockfile = (0, js_1.getLockFileName)((0, devkit_1.detectPackageManager)(context.workspaceRoot));
30
+ const packageManager = (0, devkit_1.detectPackageManager)(context.workspaceRoot);
31
+ const pmCommand = (0, devkit_1.getPackageManagerCommand)(packageManager);
32
+ const lockfile = (0, js_1.getLockFileName)(packageManager);
32
33
  const hashes = await (0, internal_1.calculateHashesForCreateNodes)(projectRoots, { ...normalizedOptions, isUsingTsSolutionSetup }, context, projectRoots.map((_) => [lockfile]));
33
34
  try {
34
35
  return await (0, devkit_1.createNodesFromFiles)(async (configFile, _, context, idx) => {
35
36
  const projectRoot = (0, path_1.dirname)(configFile);
36
- const siblingFiles = (0, fs_1.readdirSync)((0, devkit_1.joinPathFragments)(context.workspaceRoot, projectRoot));
37
37
  const hash = hashes[idx] + configFile;
38
38
  if (!targetsCache.has(hash)) {
39
- targetsCache.set(hash, await buildReactRouterTargets(configFile, projectRoot, normalizedOptions, context, siblingFiles, isUsingTsSolutionSetup));
39
+ targetsCache.set(hash, await buildReactRouterTargets(configFile, projectRoot, normalizedOptions, context, isUsingTsSolutionSetup, pmCommand));
40
40
  }
41
41
  const { projectType, metadata, targets } = targetsCache.get(hash);
42
42
  const project = {
@@ -63,7 +63,7 @@ exports.createNodes = [
63
63
  * @deprecated Use {@link createNodes} instead. This will be removed in Nx 24.
64
64
  */
65
65
  exports.createNodesV2 = exports.createNodes;
66
- async function buildReactRouterTargets(configFilePath, projectRoot, options, context, siblingFiles, isUsingTsSolutionSetup) {
66
+ async function buildReactRouterTargets(configFilePath, projectRoot, options, context, isUsingTsSolutionSetup, pmCommand) {
67
67
  const namedInputs = (0, internal_1.getNamedInputs)(projectRoot, context);
68
68
  const configPath = (0, path_1.join)(context.workspaceRoot, configFilePath);
69
69
  if (require.cache[configPath])
@@ -77,7 +77,6 @@ async function buildReactRouterTargets(configFilePath, projectRoot, options, con
77
77
  if (serverBuildPath) {
78
78
  targets[options.startTargetName] = await startTarget(projectRoot, serverBuildPath, options.buildTargetName, namedInputs, isUsingTsSolutionSetup);
79
79
  }
80
- targets[options.typecheckTargetName] = await typecheckTarget(projectRoot, options.typecheckTargetName, namedInputs, siblingFiles, isUsingTsSolutionSetup);
81
80
  (0, internal_2.addBuildAndWatchDepsTargets)(context.workspaceRoot, projectRoot, targets, options, pmCommand);
82
81
  const metadata = {};
83
82
  return {
@@ -157,47 +156,11 @@ async function startTarget(projectRoot, serverBuildPath, buildTargetName, namedI
157
156
  }
158
157
  return startTarget;
159
158
  }
160
- async function typecheckTarget(projectRoot, typecheckTargetName, namedInputs, siblingFiles, isUsingTsSolutionSetup) {
161
- const hasTsConfigAppJson = siblingFiles.includes('tsconfig.app.json');
162
- const typecheckTarget = {
163
- cache: true,
164
- inputs: [
165
- ...('production' in namedInputs
166
- ? ['production', '^production']
167
- : ['default', '^default']),
168
- { externalDependencies: ['typescript'] },
169
- ],
170
- command: isUsingTsSolutionSetup
171
- ? `tsc --build --emitDeclarationOnly`
172
- : `tsc${hasTsConfigAppJson ? ` -p tsconfig.app.json` : ``} --noEmit`,
173
- options: {
174
- cwd: projectRoot,
175
- },
176
- metadata: {
177
- description: `Runs type-checking for the project.`,
178
- technologies: ['typescript'],
179
- help: {
180
- command: isUsingTsSolutionSetup
181
- ? `${pmCommand.exec} tsc --build --help`
182
- : `${pmCommand.exec} tsc${hasTsConfigAppJson ? ` -p tsconfig.app.json` : ``} --help`,
183
- example: isUsingTsSolutionSetup
184
- ? { args: ['--force'] }
185
- : { options: { noEmit: true } },
186
- },
187
- },
188
- };
189
- if (isUsingTsSolutionSetup) {
190
- typecheckTarget.dependsOn = [`^${typecheckTargetName}`];
191
- typecheckTarget.syncGenerators = ['@nx/js:typescript-sync'];
192
- }
193
- return typecheckTarget;
194
- }
195
159
  function normalizeOptions(options) {
196
160
  options ??= {};
197
161
  options.buildTargetName ??= 'build';
198
162
  options.devTargetName ??= 'dev';
199
163
  options.startTargetName ??= 'start';
200
- options.typecheckTargetName ??= 'typecheck';
201
164
  return options;
202
165
  }
203
166
  function checkIfConfigFileShouldBeProject(projectRoot, context) {
@@ -18,7 +18,6 @@ export declare function addRoute(sourcePath: string, source: ts.SourceFile, opti
18
18
  moduleName: string;
19
19
  }): StringChange[];
20
20
  export declare function addBrowserRouter(sourcePath: string, source: ts.SourceFile): StringChange[];
21
- export declare function addStaticRouter(sourcePath: string, source: ts.SourceFile): StringChange[];
22
21
  export declare function addReduxStoreToMain(sourcePath: string, source: ts.SourceFile): StringChange[];
23
22
  export declare function updateReduxStore(sourcePath: string, source: ts.SourceFile, feature: {
24
23
  keyName: string;
@@ -14,7 +14,6 @@ exports.isTag = isTag;
14
14
  exports.addInitialRoutes = addInitialRoutes;
15
15
  exports.addRoute = addRoute;
16
16
  exports.addBrowserRouter = addBrowserRouter;
17
- exports.addStaticRouter = addStaticRouter;
18
17
  exports.addReduxStoreToMain = addReduxStoreToMain;
19
18
  exports.updateReduxStore = updateReduxStore;
20
19
  exports.getComponentNode = getComponentNode;
@@ -344,28 +343,6 @@ function addBrowserRouter(sourcePath, source) {
344
343
  return [];
345
344
  }
346
345
  }
347
- function addStaticRouter(sourcePath, source) {
348
- const app = findElements(source, 'App')[0];
349
- if (app) {
350
- return [
351
- ...addImport(source, `import { StaticRouter } from 'react-router-dom/server';`),
352
- {
353
- type: devkit_1.ChangeType.Insert,
354
- index: app.getStart(),
355
- text: `<StaticRouter location={req.originalUrl}>`,
356
- },
357
- {
358
- type: devkit_1.ChangeType.Insert,
359
- index: app.getEnd(),
360
- text: `</StaticRouter>`,
361
- },
362
- ];
363
- }
364
- else {
365
- devkit_1.logger.warn(`Could not find App component in ${sourcePath}; Skipping add <StaticRouter>`);
366
- return [];
367
- }
368
- }
369
346
  function addReduxStoreToMain(sourcePath, source) {
370
347
  const renderStmt = findMainRenderStatement(source);
371
348
  if (!renderStmt) {
@@ -3,8 +3,6 @@ import { type FoundTarget } from '@nx/cypress/internal';
3
3
  export declare function resolveCypressCTTarget(tree: Tree, options: {
4
4
  project: string;
5
5
  buildTarget: string;
6
- bundler: 'vite' | 'webpack';
7
- validExecutorNames: Set<string>;
8
6
  }): Promise<{
9
7
  found: FoundTarget;
10
8
  bundler: 'vite' | 'webpack';
@@ -14,9 +12,4 @@ export declare function configureCypressCT(tree: Tree, options: {
14
12
  found: FoundTarget;
15
13
  bundler: 'vite' | 'webpack';
16
14
  }): Promise<void>;
17
- export declare function getBundlerFromTarget(found: FoundTarget, tree: Tree): Promise<'vite' | 'webpack'>;
18
- export declare function getActualBundler(tree: Tree, options: {
19
- buildTarget?: string;
20
- bundler?: 'vite' | 'webpack';
21
- }, found: FoundTarget): Promise<"vite" | "webpack">;
22
15
  export declare function isComponent(tree: Tree, filePath: string): boolean;
@@ -2,40 +2,60 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveCypressCTTarget = resolveCypressCTTarget;
4
4
  exports.configureCypressCT = configureCypressCT;
5
- exports.getBundlerFromTarget = getBundlerFromTarget;
6
- exports.getActualBundler = getActualBundler;
7
5
  exports.isComponent = isComponent;
8
6
  const devkit_1 = require("@nx/devkit");
9
- const internal_1 = require("@nx/js/internal");
7
+ const internal_1 = require("@nx/devkit/internal");
8
+ const internal_2 = require("@nx/js/internal");
10
9
  const ast_utils_1 = require("./ast-utils");
11
10
  let tsModule;
12
11
  const allowedFileExt = new RegExp(/\.[jt]sx?/);
13
12
  const isSpecFile = new RegExp(/(spec|test)\./);
14
13
  // Resolved before the shared cypress generator runs, so the bundler reaches it.
15
14
  async function resolveCypressCTTarget(tree, options) {
16
- let found = { target: options.buildTarget, config: undefined };
17
- if (options.buildTarget === undefined) {
18
- const { findBuildConfig, } = require('@nx/cypress/internal');
19
- found = await findBuildConfig(tree, {
20
- project: options.project,
21
- buildTarget: options.buildTarget,
22
- validExecutorNames: options.validExecutorNames,
23
- });
24
- assertValidConfig(found?.config);
25
- }
26
- else if (options.buildTarget) {
27
- const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
28
- const { project, target } = (0, devkit_1.parseTargetString)(options.buildTarget, projectGraph);
29
- const buildTargetProject = (0, devkit_1.readProjectConfiguration)(tree, project);
30
- const executor = buildTargetProject.targets?.[target]?.executor;
31
- if (!executor || !options.validExecutorNames.has(executor)) {
32
- throw new Error(`Cypress Component Testing is not currently supported for this project. Either 'executer' is not defined in '${target} target' of '${project} project.json' or executer present is not valid one. Valid ones are ${JSON.stringify([...options.validExecutorNames])}. Please check https://github.com/nrwl/nx/issues/21546 for more information.`);
15
+ const graph = await (0, devkit_1.createProjectGraphAsync)();
16
+ const parsed = options.buildTarget
17
+ ? (0, devkit_1.parseTargetString)(options.buildTarget, graph)
18
+ : undefined;
19
+ const candidates = parsed
20
+ ? [parsed.project]
21
+ : [
22
+ options.project,
23
+ ...Object.keys(graph.dependencies).filter((name) => graph.dependencies[name].some((dep) => dep.target === options.project)),
24
+ ];
25
+ let overridden;
26
+ for (const project of candidates) {
27
+ const native = await findNativeBuild(tree, project, parsed?.target);
28
+ if (!native)
29
+ continue;
30
+ if (native.overridingExecutor) {
31
+ overridden ??= {
32
+ project,
33
+ target: native.target,
34
+ executor: native.overridingExecutor,
35
+ };
36
+ continue;
33
37
  }
38
+ return {
39
+ found: {
40
+ target: options.buildTarget ?? native.target,
41
+ config: { command: `${native.bundler} build` },
42
+ },
43
+ bundler: native.bundler,
44
+ };
34
45
  }
35
- return {
36
- found,
37
- bundler: options.bundler ?? (await getActualBundler(tree, options, found)),
38
- };
46
+ if (parsed) {
47
+ const executor = (0, devkit_1.readProjectConfiguration)(tree, parsed.project).targets?.[parsed.target]?.executor;
48
+ throw notInferredBuildTargetError(options.buildTarget, parsed.project, executor);
49
+ }
50
+ if (overridden) {
51
+ throw notInferredBuildTargetError(overridden.target, overridden.project, overridden.executor);
52
+ }
53
+ throw new Error(`Unable to find a build target inferred by @nx/vite/plugin or @nx/webpack/plugin for project "${options.project}" or the projects that depend on it. Pass one with --build-target=<project>:<target>[:<configuration>].`);
54
+ }
55
+ function notInferredBuildTargetError(buildTarget, project, executor) {
56
+ return new Error(`Cypress Component Testing needs a build target inferred by @nx/vite/plugin or @nx/webpack/plugin, and "${buildTarget}" is not one.${executor && executor !== 'nx:run-commands'
57
+ ? ` It uses the "${executor}" executor. Convert it to an inferred target first, for example with "nx g @nx/workspace:infer-targets --project=${project}".`
58
+ : ''}`);
39
59
  }
40
60
  async function configureCypressCT(tree, options) {
41
61
  const { found } = options;
@@ -43,46 +63,42 @@ async function configureCypressCT(tree, options) {
43
63
  const { addDefaultCTConfig, getProjectCypressConfigPath, getInstalledCypressMajorVersion, } = require('@nx/cypress/internal');
44
64
  const ctConfigOptions = {
45
65
  bundler: options.bundler,
66
+ buildTarget: found.target,
46
67
  };
47
- if (projectConfig.targets?.['component-test']?.executor ===
48
- '@nx/cypress:cypress') {
49
- projectConfig.targets['component-test'].options = {
50
- ...projectConfig.targets['component-test'].options,
51
- devServerTarget: found.target,
52
- skipServe: true,
53
- };
54
- (0, devkit_1.updateProjectConfiguration)(tree, options.project, projectConfig);
55
- }
56
- else {
57
- ctConfigOptions.buildTarget = found.target;
58
- }
59
68
  const cypressConfigFilePath = getProjectCypressConfigPath(tree, projectConfig.root);
60
69
  const updatedCyConfig = await addDefaultCTConfig(tree.read(cypressConfigFilePath, 'utf-8'), ctConfigOptions, '@nx/react/plugins/component-testing', getInstalledCypressMajorVersion(tree));
61
70
  tree.write(cypressConfigFilePath, updatedCyConfig);
62
71
  }
63
- function assertValidConfig(config) {
64
- if (!config) {
65
- throw new Error('Unable to find a valid build configuration. Try passing in a target for an app. --build-target=<project>:<target>[:<configuration>]');
66
- }
67
- }
68
- async function getBundlerFromTarget(found, tree) {
69
- if (found.target && found.config?.executor) {
70
- return found.config.executor === '@nx/vite:build' ? 'vite' : 'webpack';
72
+ async function findNativeBuild(tree, project, target) {
73
+ const config = (0, devkit_1.readProjectConfiguration)(tree, project);
74
+ for (const bundler of ['vite', 'webpack']) {
75
+ for (const ext of ['ts', 'mts', 'cts', 'js', 'mjs', 'cjs']) {
76
+ const path = (0, devkit_1.joinPathFragments)(config.root, `${bundler}.config.${ext}`);
77
+ if (!tree.exists(path))
78
+ continue;
79
+ const plugin = await (0, internal_1.findPluginForConfigFile)(tree, `@nx/${bundler}/plugin`, path);
80
+ if (!plugin)
81
+ continue;
82
+ const buildTarget = typeof plugin === 'string'
83
+ ? 'build'
84
+ : (plugin.options
85
+ ?.buildTargetName ?? 'build');
86
+ if (target && target !== buildTarget)
87
+ continue;
88
+ // A project.json or package.json target on another executor replaces the
89
+ // inferred one (nx.json targetDefaults can't change its executor).
90
+ const executor = config.targets?.[buildTarget]?.executor;
91
+ return {
92
+ target: `${project}:${buildTarget}`,
93
+ bundler,
94
+ overridingExecutor: executor && executor !== 'nx:run-commands' ? executor : undefined,
95
+ };
96
+ }
71
97
  }
72
- const { target, project } = (0, devkit_1.parseTargetString)(found.target, await (0, devkit_1.createProjectGraphAsync)());
73
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
74
- const executor = projectConfig?.targets?.[target]?.executor;
75
- return executor === '@nx/vite:build' ? 'vite' : 'webpack';
76
- }
77
- async function getActualBundler(tree, options, found) {
78
- const actualBundler = options.buildTarget !== undefined && options.bundler
79
- ? options.bundler
80
- : await getBundlerFromTarget(found, tree);
81
- return actualBundler;
82
98
  }
83
99
  function isComponent(tree, filePath) {
84
100
  if (!tsModule) {
85
- tsModule = (0, internal_1.ensureTypescript)();
101
+ tsModule = (0, internal_2.ensureTypescript)();
86
102
  }
87
103
  if (isSpecFile.test(filePath) || !allowedFileExt.test(filePath)) {
88
104
  return false;
@@ -1,3 +1,3 @@
1
- export declare const REACT_WITH_REACT_DEPRECATION_MESSAGE = "The `withReact` config helper from `@nx/react` is deprecated and will be removed in Nx v24. It produces an Nx-specific webpack config function that only runs under the `@nx/webpack:webpack` executor. Migrate to a standard webpack config that uses `NxReactWebpackPlugin` (from `@nx/react/webpack-plugin`) under the inferred `@nx/webpack/plugin` by running `nx g @nx/webpack:convert-to-inferred`. See https://nx.dev/docs/guides/tasks--caching/convert-to-inferred for details.";
1
+ export declare const REACT_WITH_REACT_DEPRECATION_MESSAGE = "The `withReact` config helper from `@nx/react` was removed in Nx v24. The remaining export is an inert compatibility stub and does not configure builds. Use `NxReactWebpackPlugin` from `@nx/react/webpack-plugin` in a standard webpack config. Follow the webpack config-helper migration instructions generated by `nx migrate`. Executor conversion is a separate migration.";
2
2
  export declare function suppressReactComposeHelperWarnings<T>(fn: () => T): T;
3
3
  export declare function warnReactWithReactDeprecation(): void;
@@ -4,11 +4,9 @@ exports.REACT_WITH_REACT_DEPRECATION_MESSAGE = void 0;
4
4
  exports.suppressReactComposeHelperWarnings = suppressReactComposeHelperWarnings;
5
5
  exports.warnReactWithReactDeprecation = warnReactWithReactDeprecation;
6
6
  const devkit_1 = require("@nx/devkit");
7
- // TODO(v24): Remove the webpack `withReact` config helper. It emits an
8
- // Nx-specific webpack config function that only runs under the
9
- // @nx/webpack:webpack executor; the inferred @nx/webpack/plugin works with
10
- // standard webpack configs built around NxReactWebpackPlugin instead.
11
- exports.REACT_WITH_REACT_DEPRECATION_MESSAGE = 'The `withReact` config helper from `@nx/react` is deprecated and will be removed in Nx v24. It produces an Nx-specific webpack config function that only runs under the `@nx/webpack:webpack` executor. Migrate to a standard webpack config that uses `NxReactWebpackPlugin` (from `@nx/react/webpack-plugin`) under the inferred `@nx/webpack/plugin` by running `nx g @nx/webpack:convert-to-inferred`. See https://nx.dev/docs/guides/tasks--caching/convert-to-inferred for details.';
7
+ // Helper behavior was removed in v24; exports remain only as inert stubs.
8
+ // Keep the export loadable while existing webpack configs are migrated.
9
+ exports.REACT_WITH_REACT_DEPRECATION_MESSAGE = 'The `withReact` config helper from `@nx/react` was removed in Nx v24. The remaining export is an inert compatibility stub and does not configure builds. Use `NxReactWebpackPlugin` from `@nx/react/webpack-plugin` in a standard webpack config. Follow the webpack config-helper migration instructions generated by `nx migrate`. Executor conversion is a separate migration.';
12
10
  let withReactWarned = false;
13
11
  let suppressDepth = 0;
14
12
  // Nx-internal entry points compose `withReact` themselves (e.g. the storybook
@@ -4,9 +4,7 @@ exports.getUiFramework = getUiFramework;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  function getUiFramework(tree, project) {
6
6
  const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
7
- if (findWebpackConfig(tree, projectConfig.root) ||
8
- projectConfig.targets?.['build']?.executor === '@nx/rollup:rollup' ||
9
- projectConfig.targets?.['build']?.executor === '@nx/expo:build') {
7
+ if (findWebpackConfig(tree, projectConfig.root)) {
10
8
  return '@storybook/react-webpack5';
11
9
  }
12
10
  return '@storybook/react-vite';
@@ -32,13 +32,6 @@ export declare const tsLibVersion = "^2.3.0";
32
32
  export declare const postcssVersion = "8.4.38";
33
33
  export declare const autoprefixerVersion = "10.4.13";
34
34
  export declare const expressVersion = "^4.21.2";
35
- export declare const typesExpressVersion = "^4.17.21";
36
- export declare const httpProxyMiddlewareVersion = "^3.0.5";
37
- export declare const isbotVersion = "^3.6.5";
38
- export declare const corsVersion = "~2.8.5";
39
- export declare const typesCorsVersion = "~2.8.12";
40
- export declare const moduleFederationNodeVersion = "^2.7.21";
41
- export declare const moduleFederationEnhancedVersion = "^2.1.0";
42
35
  export declare const sassVersion = "^1.97.2";
43
36
  export declare const rollupPluginUrlVersion = "^8.0.2";
44
37
  export declare const svgrRollupVersion = "^8.1.0";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.svgrWebpackVersion = exports.svgrRollupVersion = exports.rollupPluginUrlVersion = exports.sassVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.typesCorsVersion = exports.corsVersion = exports.isbotVersion = exports.httpProxyMiddlewareVersion = exports.typesExpressVersion = exports.expressVersion = exports.autoprefixerVersion = exports.postcssVersion = exports.tsLibVersion = exports.eslintPluginReactHooksVersion = exports.eslintPluginReactVersion = exports.eslintPluginJsxA11yVersion = exports.eslintPluginImportVersion = exports.reactReduxVersion = exports.reduxjsToolkitVersion = exports.testingLibraryDomVersion = exports.testingLibraryReactVersion = exports.reactRouterIsBotVersion = exports.reactRouterVersion = exports.reactRouterDomVersion = exports.babelCoreVersion = exports.babelPresetReactVersion = exports.typesNodeVersion = exports.reactViteVersion = exports.typesReactIsVersion = exports.typesReactIsV18Version = exports.typesReactDomVersion = exports.typesReactDomV18Version = exports.typesReactVersion = exports.typesReactV18Version = exports.swcLoaderVersion = exports.reactIsV18Version = exports.reactIsVersion = exports.reactDomV18Version = exports.reactDomVersion = exports.reactV18Version = exports.reactVersion = exports.minSupportedReactVersion = exports.nxVersion = void 0;
3
+ exports.svgrWebpackVersion = exports.svgrRollupVersion = exports.rollupPluginUrlVersion = exports.sassVersion = exports.expressVersion = exports.autoprefixerVersion = exports.postcssVersion = exports.tsLibVersion = exports.eslintPluginReactHooksVersion = exports.eslintPluginReactVersion = exports.eslintPluginJsxA11yVersion = exports.eslintPluginImportVersion = exports.reactReduxVersion = exports.reduxjsToolkitVersion = exports.testingLibraryDomVersion = exports.testingLibraryReactVersion = exports.reactRouterIsBotVersion = exports.reactRouterVersion = exports.reactRouterDomVersion = exports.babelCoreVersion = exports.babelPresetReactVersion = exports.typesNodeVersion = exports.reactViteVersion = exports.typesReactIsVersion = exports.typesReactIsV18Version = exports.typesReactDomVersion = exports.typesReactDomV18Version = exports.typesReactVersion = exports.typesReactV18Version = exports.swcLoaderVersion = exports.reactIsV18Version = exports.reactIsVersion = exports.reactDomV18Version = exports.reactDomVersion = exports.reactV18Version = exports.reactVersion = exports.minSupportedReactVersion = exports.nxVersion = void 0;
4
4
  const path_1 = require("path");
5
5
  exports.nxVersion = require((0, path_1.join)('@nx/react', 'package.json')).version;
6
6
  exports.minSupportedReactVersion = '18.0.0';
@@ -38,15 +38,8 @@ exports.eslintPluginReactHooksVersion = '5.0.0';
38
38
  exports.tsLibVersion = '^2.3.0';
39
39
  exports.postcssVersion = '8.4.38';
40
40
  exports.autoprefixerVersion = '10.4.13';
41
- // SSR and Module Federation
41
+ // SSR
42
42
  exports.expressVersion = '^4.21.2';
43
- exports.typesExpressVersion = '^4.17.21';
44
- exports.httpProxyMiddlewareVersion = '^3.0.5';
45
- exports.isbotVersion = '^3.6.5';
46
- exports.corsVersion = '~2.8.5';
47
- exports.typesCorsVersion = '~2.8.12';
48
- exports.moduleFederationNodeVersion = '^2.7.21';
49
- exports.moduleFederationEnhancedVersion = '^2.1.0';
50
43
  // style preprocessors
51
44
  exports.sassVersion = '^1.97.2';
52
45
  // rollup plugins (if needed)
package/executors.json CHANGED
@@ -1,19 +1,3 @@
1
1
  {
2
- "executors": {
3
- "module-federation-dev-server": {
4
- "implementation": "./dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl",
5
- "schema": "./dist/src/executors/module-federation-dev-server/schema.json",
6
- "description": "Serve a host or remote application."
7
- },
8
- "module-federation-ssr-dev-server": {
9
- "implementation": "./dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl",
10
- "schema": "./dist/src/executors/module-federation-ssr-dev-server/schema.json",
11
- "description": "Serve a host application along with it's known remotes."
12
- },
13
- "module-federation-static-server": {
14
- "implementation": "./dist/src/executors/module-federation-static-server/module-federation-static-server.impl",
15
- "schema": "./dist/src/executors/module-federation-static-server/schema.json",
16
- "description": "Serve a host and its remotes statically."
17
- }
18
- }
2
+ "executors": {}
19
3
  }
package/generators.json CHANGED
@@ -60,20 +60,6 @@
60
60
  "description": "Create a hook.",
61
61
  "aliases": ["c"]
62
62
  },
63
- "host": {
64
- "factory": "./dist/src/generators/host/host",
65
- "schema": "./dist/src/generators/host/schema.json",
66
- "x-type": "application",
67
- "description": "Generate a host react application",
68
- "x-deprecated": "Use `@nx/react:consumer` instead (dynamic federation, no static-serve orchestration). Removed in Nx v24."
69
- },
70
- "remote": {
71
- "factory": "./dist/src/generators/remote/remote",
72
- "schema": "./dist/src/generators/remote/schema.json",
73
- "x-type": "application",
74
- "description": "Generate a remote react application",
75
- "x-deprecated": "Use `@nx/react:provider` instead. Removed in Nx v24."
76
- },
77
63
  "consumer": {
78
64
  "factory": "./dist/src/generators/consumer/consumer",
79
65
  "schema": "./dist/src/generators/consumer/schema.json",
@@ -97,19 +83,6 @@
97
83
  "schema": "./dist/src/generators/component-test/schema.json",
98
84
  "description": "Generate a Cypress component test for a React component",
99
85
  "hidden": false
100
- },
101
- "setup-ssr": {
102
- "factory": "./dist/src/generators/setup-ssr/setup-ssr#setupSsrGenerator",
103
- "schema": "./dist/src/generators/setup-ssr/schema.json",
104
- "description": "Set up SSR configuration for a project.",
105
- "hidden": false
106
- },
107
- "federate-module": {
108
- "factory": "./dist/src/generators/federate-module/federate-module#federateModuleGenerator",
109
- "schema": "./dist/src/generators/federate-module/schema.json",
110
- "description": "Federate a module.",
111
- "hidden": false,
112
- "x-deprecated": "The new `@nx/react:provider` generator exposes modules directly. Removed in Nx v24."
113
86
  }
114
87
  }
115
88
  }
package/migrations.json CHANGED
@@ -51,6 +51,12 @@
51
51
  "description": "Add `@svgr/webpack` when a webpack config references it.",
52
52
  "implementation": "./dist/src/migrations/update-23-2-0/add-svgr-webpack-if-used",
53
53
  "documentation": "./dist/src/migrations/update-23-2-0/add-svgr-webpack-if-used.md"
54
+ },
55
+ "update-24-0-0-register-typescript-plugin-for-typecheck": {
56
+ "version": "24.0.0-beta.3",
57
+ "description": "Register @nx/js/typescript with its typecheck target in workspaces that use @nx/react/router-plugin without it, and remove the router plugin's typecheckTargetName option, since @nx/react/router-plugin no longer infers typecheck targets.",
58
+ "implementation": "./dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck",
59
+ "documentation": "./dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.md"
54
60
  }
55
61
  },
56
62
  "packageJsonUpdates": {