@nx/react 19.7.0-beta.3 → 19.7.0-beta.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.
Files changed (92) hide show
  1. package/migrations.json +13 -0
  2. package/package.json +7 -7
  3. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +18 -5
  4. package/src/generators/application/application.js +4 -1
  5. package/src/generators/application/lib/add-routing.js +4 -1
  6. package/src/generators/application/lib/create-application-files.js +5 -2
  7. package/src/generators/federate-module/federate-module.js +5 -1
  8. package/src/generators/federate-module/schema.d.ts +1 -0
  9. package/src/generators/federate-module/schema.json +6 -0
  10. package/src/generators/host/files/rspack-common/src/app/__fileName__.jsx__tmpl__ +33 -0
  11. package/src/generators/host/files/rspack-common/src/main.jsx__tmpl__ +10 -0
  12. package/src/generators/host/files/rspack-module-federation/rspack.config.js__tmpl__ +16 -0
  13. package/src/generators/host/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +36 -0
  14. package/src/generators/host/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +16 -0
  15. package/src/generators/host/files/rspack-module-federation-ssr/rspack.server.config.js__tmpl__ +16 -0
  16. package/src/generators/host/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +13 -0
  17. package/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.server.config.ts__tmpl__ +16 -0
  18. package/src/generators/host/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +25 -0
  19. package/src/generators/host/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +36 -0
  20. package/src/generators/host/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +16 -0
  21. package/src/generators/host/files/webpack-module-federation/module-federation.config.js__tmpl__ +21 -0
  22. package/src/generators/host/files/webpack-module-federation-ssr/server.ts__tmpl__ +28 -0
  23. package/src/generators/host/files/webpack-module-federation-ssr/tsconfig.server.json__tmpl__ +17 -0
  24. package/src/generators/host/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +28 -0
  25. package/src/generators/host/files/webpack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +17 -0
  26. package/src/generators/host/host.js +10 -3
  27. package/src/generators/host/lib/add-module-federation-files.js +23 -11
  28. package/src/generators/host/lib/setup-ssr-for-host.js +6 -3
  29. package/src/generators/host/schema.d.ts +1 -0
  30. package/src/generators/host/schema.json +8 -0
  31. package/src/generators/remote/files/rspack-common/src/main.jsx__tmpl__ +1 -0
  32. package/src/generators/remote/files/rspack-common/src/remote-entry.js__tmpl__ +1 -0
  33. package/src/generators/remote/files/rspack-module-federation/rspack.config.js__tmpl__ +16 -0
  34. package/src/generators/remote/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +1 -0
  35. package/src/generators/remote/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +6 -0
  36. package/src/generators/remote/files/rspack-module-federation-ssr/rspack.server.config.js__tmpl__ +16 -0
  37. package/src/generators/remote/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +10 -0
  38. package/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.server.config.ts__tmpl__ +16 -0
  39. package/src/generators/remote/files/rspack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +19 -0
  40. package/src/generators/remote/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +13 -0
  41. package/src/generators/remote/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +1 -0
  42. package/src/generators/remote/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +16 -0
  43. package/src/generators/remote/files/rspack-module-federation-ts/tsconfig.lint.json__tmpl__ +19 -0
  44. package/src/generators/remote/files/webpack-module-federation/module-federation.config.js__tmpl__ +9 -0
  45. package/src/generators/remote/files/webpack-module-federation-ssr/server.ts__tmpl__ +45 -0
  46. package/src/generators/remote/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +45 -0
  47. package/src/generators/remote/files/webpack-module-federation-ts/tsconfig.lint.json__tmpl__ +19 -0
  48. package/src/generators/remote/lib/setup-ssr-for-remote.js +2 -2
  49. package/src/generators/remote/lib/update-host-with-remote.js +4 -0
  50. package/src/generators/remote/remote.js +24 -11
  51. package/src/generators/remote/schema.d.ts +1 -0
  52. package/src/generators/remote/schema.json +8 -0
  53. package/src/generators/setup-ssr/schema.d.ts +1 -0
  54. package/src/generators/setup-ssr/schema.json +6 -0
  55. package/src/generators/setup-ssr/setup-ssr.js +11 -3
  56. package/src/module-federation/with-module-federation-ssr.js +7 -7
  57. package/src/module-federation/with-module-federation.js +1 -0
  58. package/src/rules/update-module-federation-project.d.ts +1 -0
  59. package/src/rules/update-module-federation-project.js +47 -15
  60. package/src/utils/add-mf-env-to-inputs.js +2 -1
  61. package/src/utils/maybe-js.d.ts +1 -0
  62. package/src/utils/maybe-js.js +1 -1
  63. package/src/utils/versions.d.ts +2 -2
  64. package/src/utils/versions.js +2 -2
  65. /package/src/generators/{remote/files/module-federation-ssr-ts → host/files/rspack-common}/tsconfig.lint.json__tmpl__ +0 -0
  66. /package/src/generators/host/files/{module-federation → rspack-module-federation}/module-federation.config.js__tmpl__ +0 -0
  67. /package/src/generators/host/files/{module-federation-ssr → rspack-module-federation-ssr}/server.ts__tmpl__ +0 -0
  68. /package/src/generators/host/files/{module-federation-ssr → rspack-module-federation-ssr}/tsconfig.server.json__tmpl__ +0 -0
  69. /package/src/generators/host/files/{module-federation-ssr-ts → rspack-module-federation-ssr-ts}/server.ts__tmpl__ +0 -0
  70. /package/src/generators/host/files/{module-federation-ssr-ts → rspack-module-federation-ssr-ts}/tsconfig.server.json__tmpl__ +0 -0
  71. /package/src/generators/host/files/{module-federation → webpack-module-federation}/webpack.config.js__tmpl__ +0 -0
  72. /package/src/generators/host/files/{module-federation → webpack-module-federation}/webpack.config.prod.js__tmpl__ +0 -0
  73. /package/src/generators/host/files/{module-federation-ssr → webpack-module-federation-ssr}/module-federation.server.config.js__tmpl__ +0 -0
  74. /package/src/generators/host/files/{module-federation-ssr → webpack-module-federation-ssr}/webpack.server.config.js__tmpl__ +0 -0
  75. /package/src/generators/host/files/{module-federation-ssr-ts → webpack-module-federation-ssr-ts}/module-federation.server.config.ts__tmpl__ +0 -0
  76. /package/src/generators/host/files/{module-federation-ssr-ts → webpack-module-federation-ssr-ts}/webpack.server.config.ts__tmpl__ +0 -0
  77. /package/src/generators/host/files/{module-federation-ts → webpack-module-federation-ts}/module-federation.config.ts__tmpl__ +0 -0
  78. /package/src/generators/host/files/{module-federation-ts → webpack-module-federation-ts}/webpack.config.prod.ts__tmpl__ +0 -0
  79. /package/src/generators/host/files/{module-federation-ts → webpack-module-federation-ts}/webpack.config.ts__tmpl__ +0 -0
  80. /package/src/generators/remote/files/{module-federation → rspack-module-federation}/module-federation.config.js__tmpl__ +0 -0
  81. /package/src/generators/remote/files/{module-federation-ssr → rspack-module-federation-ssr}/server.ts__tmpl__ +0 -0
  82. /package/src/generators/remote/files/{module-federation-ssr-ts → rspack-module-federation-ssr-ts}/server.ts__tmpl__ +0 -0
  83. /package/src/generators/remote/files/{module-federation → webpack-module-federation}/webpack.config.js__tmpl__ +0 -0
  84. /package/src/generators/remote/files/{module-federation → webpack-module-federation}/webpack.config.prod.js__tmpl__ +0 -0
  85. /package/src/generators/remote/files/{module-federation-ssr → webpack-module-federation-ssr}/module-federation.server.config.js__tmpl__ +0 -0
  86. /package/src/generators/remote/files/{module-federation-ssr → webpack-module-federation-ssr}/webpack.server.config.js__tmpl__ +0 -0
  87. /package/src/generators/remote/files/{module-federation-ssr-ts → webpack-module-federation-ssr-ts}/module-federation.server.config.ts__tmpl__ +0 -0
  88. /package/src/generators/remote/files/{module-federation-ts → webpack-module-federation-ssr-ts}/tsconfig.lint.json__tmpl__ +0 -0
  89. /package/src/generators/remote/files/{module-federation-ssr-ts → webpack-module-federation-ssr-ts}/webpack.server.config.ts__tmpl__ +0 -0
  90. /package/src/generators/remote/files/{module-federation-ts → webpack-module-federation-ts}/module-federation.config.ts__tmpl__ +0 -0
  91. /package/src/generators/remote/files/{module-federation-ts → webpack-module-federation-ts}/webpack.config.prod.ts__tmpl__ +0 -0
  92. /package/src/generators/remote/files/{module-federation-ts → webpack-module-federation-ts}/webpack.config.ts__tmpl__ +0 -0
@@ -6,25 +6,57 @@ const versions_1 = require("../utils/versions");
6
6
  const maybe_js_1 = require("../utils/maybe-js");
7
7
  function updateModuleFederationProject(host, options) {
8
8
  const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
9
- projectConfig.targets.build.options = {
10
- ...projectConfig.targets.build.options,
11
- main: (0, maybe_js_1.maybeJs)(options, `${options.appProjectRoot}/src/main.ts`),
12
- webpackConfig: `${options.appProjectRoot}/webpack.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
13
- };
14
- projectConfig.targets.build.configurations.production = {
15
- ...projectConfig.targets.build.configurations.production,
16
- webpackConfig: `${options.appProjectRoot}/webpack.config.prod.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
17
- };
9
+ if (options.bundler === 'rspack') {
10
+ projectConfig.targets.build.executor = '@nx/rspack:rspack';
11
+ projectConfig.targets.build.options = {
12
+ ...projectConfig.targets.build.options,
13
+ main: (0, maybe_js_1.maybeJs)({ js: options.js, useJsx: true }, `${options.appProjectRoot}/src/main.ts`),
14
+ rspackConfig: `${options.appProjectRoot}/rspack.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
15
+ target: 'web',
16
+ };
17
+ projectConfig.targets.build.configurations.production = {
18
+ ...projectConfig.targets.build.configurations.production,
19
+ rspackConfig: `${options.appProjectRoot}/rspack.config.prod.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
20
+ };
21
+ }
22
+ else {
23
+ projectConfig.targets.build.options = {
24
+ ...projectConfig.targets.build.options,
25
+ main: (0, maybe_js_1.maybeJs)(options, `${options.appProjectRoot}/src/main.ts`),
26
+ webpackConfig: `${options.appProjectRoot}/webpack.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
27
+ };
28
+ projectConfig.targets.build.configurations.production = {
29
+ ...projectConfig.targets.build.configurations.production,
30
+ webpackConfig: `${options.appProjectRoot}/webpack.config.prod.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`,
31
+ };
32
+ }
18
33
  // If host should be configured to use dynamic federation
19
34
  if (options.dynamic) {
20
- const pathToProdWebpackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, `webpack.prod.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`);
21
- if (host.exists(pathToProdWebpackConfig)) {
22
- host.delete(pathToProdWebpackConfig);
35
+ if (options.bundler === 'rspack') {
36
+ const pathToProdRspackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, `rspack.prod.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`);
37
+ if (host.exists(pathToProdRspackConfig)) {
38
+ host.delete(pathToProdRspackConfig);
39
+ }
40
+ delete projectConfig.targets.build.configurations.production
41
+ ?.rspackConfig;
23
42
  }
24
- delete projectConfig.targets.build.configurations.production?.webpackConfig;
43
+ else {
44
+ const pathToProdWebpackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, `webpack.prod.config.${options.typescriptConfiguration && !options.js ? 'ts' : 'js'}`);
45
+ if (host.exists(pathToProdWebpackConfig)) {
46
+ host.delete(pathToProdWebpackConfig);
47
+ }
48
+ delete projectConfig.targets.build.configurations.production
49
+ ?.webpackConfig;
50
+ }
51
+ }
52
+ if (options.bundler === 'rspack') {
53
+ projectConfig.targets.serve.executor =
54
+ '@nx/rspack:module-federation-dev-server';
55
+ }
56
+ else {
57
+ projectConfig.targets.serve.executor =
58
+ '@nx/react:module-federation-dev-server';
25
59
  }
26
- projectConfig.targets.serve.executor =
27
- '@nx/react:module-federation-dev-server';
28
60
  projectConfig.targets.serve.options.port = options.devServerPort;
29
61
  // `serve-static` for remotes that don't need to be in development mode
30
62
  projectConfig.targets['serve-static'] = {
@@ -22,6 +22,7 @@ function addMfEnvToTargetDefaultInputs(tree) {
22
22
  }
23
23
  if (!mfEnvVarExists) {
24
24
  nxJson.targetDefaults[webpackExecutor].inputs.push({ env: mfEnvVar });
25
- (0, devkit_1.updateNxJson)(tree, nxJson);
26
25
  }
26
+ nxJson.targetDefaults[webpackExecutor].cache = true;
27
+ (0, devkit_1.updateNxJson)(tree, nxJson);
27
28
  }
@@ -1,3 +1,4 @@
1
1
  export declare function maybeJs(options: {
2
2
  js?: boolean;
3
+ useJsx?: boolean;
3
4
  }, path: string): string;
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.maybeJs = maybeJs;
4
4
  function maybeJs(options, path) {
5
5
  return options.js && (path.endsWith('.ts') || path.endsWith('.tsx'))
6
- ? path.replace(/\.tsx?$/, '.js')
6
+ ? path.replace(/\.tsx?$/, options.useJsx ? '.jsx' : '.js')
7
7
  : path;
8
8
  }
@@ -37,8 +37,8 @@ export declare const typesExpressVersion = "4.17.17";
37
37
  export declare const isbotVersion = "^3.6.5";
38
38
  export declare const corsVersion = "~2.8.5";
39
39
  export declare const typesCorsVersion = "~2.8.12";
40
- export declare const moduleFederationNodeVersion = "~2.4.0";
41
- export declare const moduleFederationEnhancedVersion = "~0.2.3";
40
+ export declare const moduleFederationNodeVersion = "~2.5.0";
41
+ export declare const moduleFederationEnhancedVersion = "~0.6.0";
42
42
  export declare const lessVersion = "3.12.2";
43
43
  export declare const sassVersion = "^1.55.0";
44
44
  export declare const rollupPluginUrlVersion = "^8.0.2";
@@ -43,8 +43,8 @@ exports.typesExpressVersion = '4.17.17';
43
43
  exports.isbotVersion = '^3.6.5';
44
44
  exports.corsVersion = '~2.8.5';
45
45
  exports.typesCorsVersion = '~2.8.12';
46
- exports.moduleFederationNodeVersion = '~2.4.0';
47
- exports.moduleFederationEnhancedVersion = '~0.2.3';
46
+ exports.moduleFederationNodeVersion = '~2.5.0';
47
+ exports.moduleFederationEnhancedVersion = '~0.6.0';
48
48
  // style preprocessors
49
49
  exports.lessVersion = '3.12.2';
50
50
  exports.sassVersion = '^1.55.0';