@nx/angular 24.0.0-beta.2 → 24.0.0-canary.20261016-5ef7804

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 (166) hide show
  1. package/dist/executors.d.ts +0 -2
  2. package/dist/executors.js +0 -2
  3. package/dist/generators.d.ts +0 -4
  4. package/dist/generators.js +0 -4
  5. package/dist/src/generators/application/schema.json +1 -1
  6. package/dist/src/generators/convert-to-rspack/convert-to-rspack.js +3 -3
  7. package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.d.ts +1 -2
  8. package/dist/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +0 -63
  9. package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.d.ts +2 -0
  10. package/dist/src/generators/convert-to-rspack/lib/validate-no-module-federation.js +32 -0
  11. package/dist/src/generators/utils/testing.d.ts +0 -4
  12. package/dist/src/generators/utils/testing.js +0 -12
  13. package/dist/src/utils/backward-compatible-versions.js +0 -8
  14. package/dist/src/utils/versions.d.ts +0 -4
  15. package/dist/src/utils/versions.js +1 -5
  16. package/executors.json +0 -10
  17. package/generators.json +0 -35
  18. package/package.json +11 -20
  19. package/dist/.npmignore +0 -2
  20. package/dist/fesm2022/nx-angular-mf.mjs +0 -193
  21. package/dist/fesm2022/nx-angular-mf.mjs.map +0 -1
  22. package/dist/mf/package.json +0 -4
  23. package/dist/src/builders/utilities/module-federation.d.ts +0 -11
  24. package/dist/src/builders/utilities/module-federation.js +0 -109
  25. package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
  26. package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
  27. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -2
  28. package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -22
  29. package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +0 -5
  30. package/dist/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +0 -29
  31. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -4
  32. package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -111
  33. package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -38
  34. package/dist/src/executors/module-federation-dev-server/schema.json +0 -171
  35. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -2
  36. package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -20
  37. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.d.ts +0 -5
  38. package/dist/src/executors/module-federation-ssr-dev-server/lib/start-dev-remotes.js +0 -30
  39. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -4
  40. package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -110
  41. package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -17
  42. package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -124
  43. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.d.ts +0 -4
  44. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.js +0 -36
  45. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.d.ts +0 -5
  46. package/dist/src/generators/convert-to-with-mf/convert-to-with-mf.test-data.js +0 -448
  47. package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.d.ts +0 -2
  48. package/dist/src/generators/convert-to-with-mf/lib/check-name-matches.js +0 -22
  49. package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.d.ts +0 -2
  50. package/dist/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +0 -45
  51. package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.d.ts +0 -2
  52. package/dist/src/generators/convert-to-with-mf/lib/get-webpack-config-path.js +0 -18
  53. package/dist/src/generators/convert-to-with-mf/lib/index.d.ts +0 -6
  54. package/dist/src/generators/convert-to-with-mf/lib/index.js +0 -9
  55. package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.d.ts +0 -5
  56. package/dist/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +0 -57
  57. package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.d.ts +0 -2
  58. package/dist/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +0 -13
  59. package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.d.ts +0 -3
  60. package/dist/src/generators/convert-to-with-mf/lib/write-new-webpack-config.js +0 -50
  61. package/dist/src/generators/convert-to-with-mf/schema.d.ts +0 -4
  62. package/dist/src/generators/convert-to-with-mf/schema.json +0 -33
  63. package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
  64. package/dist/src/generators/federate-module/federate-module.js +0 -49
  65. package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.d.ts +0 -2
  66. package/dist/src/generators/federate-module/lib/add-file-to-remote-tsconfig.js +0 -14
  67. package/dist/src/generators/federate-module/lib/add-path-to-exposes.d.ts +0 -8
  68. package/dist/src/generators/federate-module/lib/add-path-to-exposes.js +0 -77
  69. package/dist/src/generators/federate-module/lib/add-path-to-ts-config.d.ts +0 -8
  70. package/dist/src/generators/federate-module/lib/add-path-to-ts-config.js +0 -11
  71. package/dist/src/generators/federate-module/lib/add-remote.d.ts +0 -7
  72. package/dist/src/generators/federate-module/lib/add-remote.js +0 -42
  73. package/dist/src/generators/federate-module/lib/check-remote-exists.d.ts +0 -2
  74. package/dist/src/generators/federate-module/lib/check-remote-exists.js +0 -21
  75. package/dist/src/generators/federate-module/lib/index.d.ts +0 -4
  76. package/dist/src/generators/federate-module/lib/index.js +0 -7
  77. package/dist/src/generators/federate-module/schema.d.ts +0 -13
  78. package/dist/src/generators/federate-module/schema.json +0 -83
  79. package/dist/src/generators/host/files/common/src/main.server.ts__tmpl__ +0 -78
  80. package/dist/src/generators/host/files/js/webpack.server.config.js__tmpl__ +0 -8
  81. package/dist/src/generators/host/files/ts/webpack.server.config.ts__tmpl__ +0 -9
  82. package/dist/src/generators/host/host.d.ts +0 -4
  83. package/dist/src/generators/host/host.js +0 -133
  84. package/dist/src/generators/host/lib/index.d.ts +0 -2
  85. package/dist/src/generators/host/lib/index.js +0 -5
  86. package/dist/src/generators/host/lib/update-ssr-setup.d.ts +0 -3
  87. package/dist/src/generators/host/lib/update-ssr-setup.js +0 -54
  88. package/dist/src/generators/host/lib/validate-options.d.ts +0 -3
  89. package/dist/src/generators/host/lib/validate-options.js +0 -12
  90. package/dist/src/generators/host/schema.d.ts +0 -36
  91. package/dist/src/generators/host/schema.json +0 -195
  92. package/dist/src/generators/remote/files/base/webpack.server.config.js__tmpl__ +0 -9
  93. package/dist/src/generators/remote/files/base-ts/webpack.server.config.ts__tmpl__ +0 -9
  94. package/dist/src/generators/remote/files/common/src/main.server.ts__tmpl__ +0 -84
  95. package/dist/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +0 -12
  96. package/dist/src/generators/remote/lib/find-next-available-port.d.ts +0 -2
  97. package/dist/src/generators/remote/lib/find-next-available-port.js +0 -16
  98. package/dist/src/generators/remote/lib/index.d.ts +0 -3
  99. package/dist/src/generators/remote/lib/index.js +0 -6
  100. package/dist/src/generators/remote/lib/update-ssr-setup.d.ts +0 -9
  101. package/dist/src/generators/remote/lib/update-ssr-setup.js +0 -82
  102. package/dist/src/generators/remote/lib/validate-options.d.ts +0 -3
  103. package/dist/src/generators/remote/lib/validate-options.js +0 -12
  104. package/dist/src/generators/remote/remote.d.ts +0 -4
  105. package/dist/src/generators/remote/remote.js +0 -114
  106. package/dist/src/generators/remote/schema.d.ts +0 -34
  107. package/dist/src/generators/remote/schema.json +0 -184
  108. package/dist/src/generators/setup-mf/files/entry-module-files/__entryModuleFileName__.ts__tmpl__ +0 -18
  109. package/dist/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +0 -4
  110. package/dist/src/generators/setup-mf/files/entry-module-files/entry__componentFileSuffix__.ts__tmpl__ +0 -10
  111. package/dist/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +0 -42
  112. package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +0 -4
  113. package/dist/src/generators/setup-mf/files/standalone-entry-component-files/entry__componentFileSuffix__.ts__tmpl__ +0 -11
  114. package/dist/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +0 -27
  115. package/dist/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__tmpl__ +0 -12
  116. package/dist/src/generators/setup-mf/files/ts-webpack/webpack.config.ts__tmpl__ +0 -9
  117. package/dist/src/generators/setup-mf/files/ts-webpack/webpack.prod.config.ts__tmpl__ +0 -21
  118. package/dist/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +0 -23
  119. package/dist/src/generators/setup-mf/files/webpack/webpack.config.js__tmpl__ +0 -9
  120. package/dist/src/generators/setup-mf/files/webpack/webpack.prod.config.js__tmpl__ +0 -21
  121. package/dist/src/generators/setup-mf/lib/add-cypress-workaround.d.ts +0 -3
  122. package/dist/src/generators/setup-mf/lib/add-cypress-workaround.js +0 -52
  123. package/dist/src/generators/setup-mf/lib/add-remote-entry.d.ts +0 -3
  124. package/dist/src/generators/setup-mf/lib/add-remote-entry.js +0 -27
  125. package/dist/src/generators/setup-mf/lib/add-remote-to-host.d.ts +0 -9
  126. package/dist/src/generators/setup-mf/lib/add-remote-to-host.js +0 -127
  127. package/dist/src/generators/setup-mf/lib/change-build-target.d.ts +0 -3
  128. package/dist/src/generators/setup-mf/lib/change-build-target.js +0 -24
  129. package/dist/src/generators/setup-mf/lib/fix-bootstrap.d.ts +0 -3
  130. package/dist/src/generators/setup-mf/lib/fix-bootstrap.js +0 -40
  131. package/dist/src/generators/setup-mf/lib/generate-config.d.ts +0 -6
  132. package/dist/src/generators/setup-mf/lib/generate-config.js +0 -32
  133. package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.d.ts +0 -6
  134. package/dist/src/generators/setup-mf/lib/get-remotes-with-ports.js +0 -20
  135. package/dist/src/generators/setup-mf/lib/index.d.ts +0 -15
  136. package/dist/src/generators/setup-mf/lib/index.js +0 -18
  137. package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.d.ts +0 -2
  138. package/dist/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.js +0 -15
  139. package/dist/src/generators/setup-mf/lib/normalize-options.d.ts +0 -3
  140. package/dist/src/generators/setup-mf/lib/normalize-options.js +0 -26
  141. package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +0 -3
  142. package/dist/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +0 -61
  143. package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.d.ts +0 -3
  144. package/dist/src/generators/setup-mf/lib/setup-host-if-dynamic.js +0 -20
  145. package/dist/src/generators/setup-mf/lib/setup-serve-target.d.ts +0 -3
  146. package/dist/src/generators/setup-mf/lib/setup-serve-target.js +0 -39
  147. package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +0 -3
  148. package/dist/src/generators/setup-mf/lib/setup-tspath-for-remote.js +0 -15
  149. package/dist/src/generators/setup-mf/lib/update-host-app-routes.d.ts +0 -3
  150. package/dist/src/generators/setup-mf/lib/update-host-app-routes.js +0 -39
  151. package/dist/src/generators/setup-mf/lib/update-tsconfig.d.ts +0 -3
  152. package/dist/src/generators/setup-mf/lib/update-tsconfig.js +0 -18
  153. package/dist/src/generators/setup-mf/schema.d.ts +0 -35
  154. package/dist/src/generators/setup-mf/schema.json +0 -99
  155. package/dist/src/generators/setup-mf/setup-mf.d.ts +0 -4
  156. package/dist/src/generators/setup-mf/setup-mf.js +0 -90
  157. package/dist/src/generators/utils/add-mf-env-to-inputs.d.ts +0 -2
  158. package/dist/src/generators/utils/add-mf-env-to-inputs.js +0 -36
  159. package/dist/src/generators/utils/assert-mf-utils.d.ts +0 -1
  160. package/dist/src/generators/utils/assert-mf-utils.js +0 -8
  161. package/dist/src/utils/get-mf-projects.d.ts +0 -4
  162. package/dist/src/utils/get-mf-projects.js +0 -31
  163. package/dist/src/utils/module-federation-deprecation.d.ts +0 -4
  164. package/dist/src/utils/module-federation-deprecation.js +0 -29
  165. package/dist/types/nx-angular-mf.d.ts +0 -72
  166. package/dist/types/nx-angular-mf.d.ts.map +0 -1
@@ -1,11 +1,9 @@
1
1
  export * from './src/builders/webpack-browser/webpack-browser.impl';
2
2
  export * from './src/builders/webpack-server/webpack-server.impl';
3
- export * from './src/executors/module-federation-dev-server/module-federation-dev-server.impl';
4
3
  export * from './src/executors/delegate-build/delegate-build.impl';
5
4
  export * from './src/executors/ng-packagr-lite/ng-packagr-lite.impl';
6
5
  export * from './src/executors/package/package.impl';
7
6
  export * from './src/executors/browser-esbuild/browser-esbuild.impl';
8
7
  export * from './src/executors/application/application.impl';
9
8
  export * from './src/executors/extract-i18n/extract-i18n.impl';
10
- export * from './src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl';
11
9
  export { executeDevServerBuilder } from './src/builders/dev-server/dev-server.impl';
package/dist/executors.js CHANGED
@@ -4,13 +4,11 @@ exports.executeDevServerBuilder = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./src/builders/webpack-browser/webpack-browser.impl"), exports);
6
6
  tslib_1.__exportStar(require("./src/builders/webpack-server/webpack-server.impl"), exports);
7
- tslib_1.__exportStar(require("./src/executors/module-federation-dev-server/module-federation-dev-server.impl"), exports);
8
7
  tslib_1.__exportStar(require("./src/executors/delegate-build/delegate-build.impl"), exports);
9
8
  tslib_1.__exportStar(require("./src/executors/ng-packagr-lite/ng-packagr-lite.impl"), exports);
10
9
  tslib_1.__exportStar(require("./src/executors/package/package.impl"), exports);
11
10
  tslib_1.__exportStar(require("./src/executors/browser-esbuild/browser-esbuild.impl"), exports);
12
11
  tslib_1.__exportStar(require("./src/executors/application/application.impl"), exports);
13
12
  tslib_1.__exportStar(require("./src/executors/extract-i18n/extract-i18n.impl"), exports);
14
- tslib_1.__exportStar(require("./src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl"), exports);
15
13
  var dev_server_impl_1 = require("./src/builders/dev-server/dev-server.impl");
16
14
  Object.defineProperty(exports, "executeDevServerBuilder", { enumerable: true, get: function () { return dev_server_impl_1.executeDevServerBuilder; } });
@@ -3,20 +3,16 @@ export * from './src/generators/application/application';
3
3
  export * from './src/generators/component-story/component-story';
4
4
  export * from './src/generators/component/component';
5
5
  export * from './src/generators/directive/directive';
6
- export * from './src/generators/federate-module/federate-module';
7
- export * from './src/generators/host/host';
8
6
  export * from './src/generators/init/init';
9
7
  export * from './src/generators/library-secondary-entry-point/library-secondary-entry-point';
10
8
  export * from './src/generators/library/library';
11
9
  export * from './src/generators/ngrx-feature-store/ngrx-feature-store';
12
10
  export * from './src/generators/ngrx-root-store/ngrx-root-store';
13
11
  export * from './src/generators/pipe/pipe';
14
- export * from './src/generators/remote/remote';
15
12
  export * from './src/generators/scam-directive/scam-directive';
16
13
  export * from './src/generators/scam-pipe/scam-pipe';
17
14
  export * from './src/generators/scam-to-standalone/scam-to-standalone';
18
15
  export * from './src/generators/scam/scam';
19
- export * from './src/generators/setup-mf/setup-mf';
20
16
  export * from './src/generators/setup-ssr/setup-ssr';
21
17
  export * from './src/generators/stories/stories';
22
18
  export * from './src/generators/storybook-configuration/storybook-configuration';
@@ -7,20 +7,16 @@ tslib_1.__exportStar(require("./src/generators/application/application"), export
7
7
  tslib_1.__exportStar(require("./src/generators/component-story/component-story"), exports);
8
8
  tslib_1.__exportStar(require("./src/generators/component/component"), exports);
9
9
  tslib_1.__exportStar(require("./src/generators/directive/directive"), exports);
10
- tslib_1.__exportStar(require("./src/generators/federate-module/federate-module"), exports);
11
- tslib_1.__exportStar(require("./src/generators/host/host"), exports);
12
10
  tslib_1.__exportStar(require("./src/generators/init/init"), exports);
13
11
  tslib_1.__exportStar(require("./src/generators/library-secondary-entry-point/library-secondary-entry-point"), exports);
14
12
  tslib_1.__exportStar(require("./src/generators/library/library"), exports);
15
13
  tslib_1.__exportStar(require("./src/generators/ngrx-feature-store/ngrx-feature-store"), exports);
16
14
  tslib_1.__exportStar(require("./src/generators/ngrx-root-store/ngrx-root-store"), exports);
17
15
  tslib_1.__exportStar(require("./src/generators/pipe/pipe"), exports);
18
- tslib_1.__exportStar(require("./src/generators/remote/remote"), exports);
19
16
  tslib_1.__exportStar(require("./src/generators/scam-directive/scam-directive"), exports);
20
17
  tslib_1.__exportStar(require("./src/generators/scam-pipe/scam-pipe"), exports);
21
18
  tslib_1.__exportStar(require("./src/generators/scam-to-standalone/scam-to-standalone"), exports);
22
19
  tslib_1.__exportStar(require("./src/generators/scam/scam"), exports);
23
- tslib_1.__exportStar(require("./src/generators/setup-mf/setup-mf"), exports);
24
20
  tslib_1.__exportStar(require("./src/generators/setup-ssr/setup-ssr"), exports);
25
21
  tslib_1.__exportStar(require("./src/generators/stories/stories"), exports);
26
22
  tslib_1.__exportStar(require("./src/generators/storybook-configuration/storybook-configuration"), exports);
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "port": {
132
132
  "type": "number",
133
- "description": "The port at which the remote application should be served."
133
+ "description": "The port at which the application should be served."
134
134
  },
135
135
  "enableTypedLinting": {
136
136
  "type": "boolean",
@@ -13,6 +13,7 @@ const create_config_1 = require("./lib/create-config");
13
13
  const get_custom_webpack_config_1 = require("./lib/get-custom-webpack-config");
14
14
  const merge_server_tsconfig_1 = require("./lib/merge-server-tsconfig");
15
15
  const update_tsconfig_1 = require("./lib/update-tsconfig");
16
+ const validate_no_module_federation_1 = require("./lib/validate-no-module-federation");
16
17
  const validate_supported_executor_1 = require("./lib/validate-supported-executor");
17
18
  const SUPPORTED_EXECUTORS = [
18
19
  '@angular-devkit/build-angular:browser',
@@ -23,7 +24,6 @@ const SUPPORTED_EXECUTORS = [
23
24
  '@nx/angular:webpack-browser',
24
25
  '@nx/angular:webpack-server',
25
26
  '@nx/angular:dev-server',
26
- '@nx/angular:module-federation-dev-server',
27
27
  ];
28
28
  const RENAMED_OPTIONS = {
29
29
  main: 'browser',
@@ -251,6 +251,7 @@ async function convertToRspack(tree, schema) {
251
251
  const targetsToRemove = [];
252
252
  let customWebpackConfigPath;
253
253
  (0, validate_supported_executor_1.validateSupportedBuildExecutor)(Object.values(project.targets));
254
+ (0, validate_no_module_federation_1.validateNoModuleFederation)(tree, project);
254
255
  let projectServePort = DEFAULT_PORT;
255
256
  const projectServeConfigurationOptions = {};
256
257
  for (const [targetName, target] of Object.entries(project.targets)) {
@@ -284,8 +285,7 @@ async function convertToRspack(tree, schema) {
284
285
  targetsToRemove.push(targetName);
285
286
  }
286
287
  else if (target.executor === '@angular-devkit/build-angular:dev-server' ||
287
- target.executor === '@nx/angular:dev-server' ||
288
- target.executor === '@nx/angular:module-federation-dev-server') {
288
+ target.executor === '@nx/angular:dev-server') {
289
289
  createConfigOptions.devServer = {};
290
290
  if (target.options) {
291
291
  handleDevServerTargetOptions(tree, target.options, createConfigOptions.devServer, project.root);
@@ -1,6 +1,5 @@
1
- import { Tree } from '@nx/devkit';
1
+ import type { Tree } from '@nx/devkit';
2
2
  export declare function getCustomWebpackConfig(tree: Tree, projectRoot: string, pathToCustomWebpackConfig: string): Promise<{
3
3
  isWebpackConfigFunction: boolean;
4
4
  normalizedPathToCustomWebpackConfig: string;
5
5
  }>;
6
- export declare function convertWebpackConfigToUseNxModuleFederationPlugin(webpackConfigContents: string): string;
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCustomWebpackConfig = getCustomWebpackConfig;
4
- exports.convertWebpackConfigToUseNxModuleFederationPlugin = convertWebpackConfigToUseNxModuleFederationPlugin;
5
- const devkit_1 = require("@nx/devkit");
6
4
  const internal_1 = require("@nx/devkit/internal");
7
5
  const path_1 = require("path");
8
- const tsquery_1 = require("@phenomnomnominal/tsquery");
9
6
  const FILE_EXTENSION_REGEX = /\.[^.]+$/;
10
7
  async function getCustomWebpackConfig(tree, projectRoot, pathToCustomWebpackConfig) {
11
- const webpackConfigContents = tree.read(pathToCustomWebpackConfig, 'utf-8');
12
- if (webpackConfigContents.includes('@nx/module-federation/angular') &&
13
- webpackConfigContents.includes('withModuleFederation')) {
14
- tree.write(pathToCustomWebpackConfig, convertWebpackConfigToUseNxModuleFederationPlugin(webpackConfigContents));
15
- return {
16
- isWebpackConfigFunction: false,
17
- normalizedPathToCustomWebpackConfig: `./${(0, path_1.relative)(projectRoot, pathToCustomWebpackConfig).replace(FILE_EXTENSION_REGEX, '')}`,
18
- };
19
- }
20
8
  const configFile = await (0, internal_1.loadConfigFile)((0, path_1.join)(tree.root, pathToCustomWebpackConfig));
21
9
  const webpackConfig = 'default' in configFile ? configFile.default : configFile;
22
10
  return {
@@ -24,54 +12,3 @@ async function getCustomWebpackConfig(tree, projectRoot, pathToCustomWebpackConf
24
12
  normalizedPathToCustomWebpackConfig: `./${(0, path_1.relative)(projectRoot, pathToCustomWebpackConfig).replace(FILE_EXTENSION_REGEX, '')}`,
25
13
  };
26
14
  }
27
- function convertWebpackConfigToUseNxModuleFederationPlugin(webpackConfigContents) {
28
- let newWebpackConfigContents = webpackConfigContents;
29
- let sourceFile = (0, tsquery_1.ast)(webpackConfigContents);
30
- const withModuleFederationImportNodes = (0, tsquery_1.query)(sourceFile, 'ImportDeclaration:has(StringLiteral[value=@nx/module-federation/angular])');
31
- if (withModuleFederationImportNodes.length > 0) {
32
- const withModuleFederationImportNode = withModuleFederationImportNodes[0];
33
- newWebpackConfigContents = `${webpackConfigContents.slice(0, withModuleFederationImportNode.getStart())}import { NxModuleFederationPlugin, NxModuleFederationDevServerPlugin } from '@nx/module-federation/angular';${webpackConfigContents.slice(withModuleFederationImportNode.getEnd())}`;
34
- sourceFile = (0, tsquery_1.ast)(newWebpackConfigContents);
35
- const exportedWithModuleFederationNodes = (0, tsquery_1.query)(sourceFile, 'ExportAssignment:has(CallExpression > Identifier[name=withModuleFederation])');
36
- if (exportedWithModuleFederationNodes.length > 0) {
37
- const exportedWithModuleFederationNode = exportedWithModuleFederationNodes[0];
38
- newWebpackConfigContents = `${newWebpackConfigContents.slice(0, exportedWithModuleFederationNode.getStart())}${newWebpackConfigContents.slice(exportedWithModuleFederationNode.getEnd())}
39
- export default {
40
- plugins: [
41
- new NxModuleFederationPlugin({ config }, {
42
- dts: false,
43
- }),
44
- new NxModuleFederationDevServerPlugin({ config }),
45
- ]
46
- }
47
- `;
48
- }
49
- else {
50
- devkit_1.logger.warn("Could not find 'export default withModuleFederation' in the webpack config file. Skipping conversion.");
51
- }
52
- }
53
- const withModuleFederationRequireNodes = (0, tsquery_1.query)(sourceFile, 'VariableStatement:has(CallExpression > Identifier[name=withModuleFederation], StringLiteral[value=@nx/module-federation/angular])');
54
- if (withModuleFederationRequireNodes.length > 0) {
55
- const withModuleFederationRequireNode = withModuleFederationRequireNodes[0];
56
- newWebpackConfigContents = `${webpackConfigContents.slice(0, withModuleFederationRequireNode.getStart())}const { NxModuleFederationPlugin, NxModuleFederationDevServerPlugin } = require('@nx/module-federation/rspack');${webpackConfigContents.slice(withModuleFederationRequireNode.getEnd())}`;
57
- sourceFile = (0, tsquery_1.ast)(newWebpackConfigContents);
58
- const exportedWithModuleFederationNodes = (0, tsquery_1.query)(sourceFile, 'ExpressionStatement:has(BinaryExpression > PropertyAccessExpression:has(Identifier[name=module], Identifier[name=exports]), CallExpression:has(Identifier[name=withModuleFederation]))');
59
- if (exportedWithModuleFederationNodes.length > 0) {
60
- const exportedWithModuleFederationNode = exportedWithModuleFederationNodes[0];
61
- newWebpackConfigContents = `${newWebpackConfigContents.slice(0, exportedWithModuleFederationNode.getStart())}${newWebpackConfigContents.slice(exportedWithModuleFederationNode.getEnd())}
62
- module.exports = {
63
- plugins: [
64
- new NxModuleFederationPlugin({ config }, {
65
- dts: false,
66
- }),
67
- new NxModuleFederationDevServerPlugin({ config }),
68
- ]
69
- }
70
- `;
71
- }
72
- else {
73
- devkit_1.logger.warn("Could not find 'module.exports = withModuleFederation' in the webpack config file. Skipping conversion.");
74
- }
75
- }
76
- return newWebpackConfigContents;
77
- }
@@ -0,0 +1,2 @@
1
+ import type { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ export declare function validateNoModuleFederation(tree: Tree, project: ProjectConfiguration): void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNoModuleFederation = validateNoModuleFederation;
4
+ const MODULE_FEDERATION_EXECUTORS = [
5
+ '@nx/angular:module-federation-dev-server',
6
+ '@nx/angular:module-federation-dev-ssr',
7
+ ];
8
+ function validateNoModuleFederation(tree, project) {
9
+ if (usesModuleFederation(tree, project)) {
10
+ throw new Error(`The project ${project.name} is using Module Federation. At the moment, we don't support migrating projects that use Module Federation. See https://nx.dev/docs/kb/migrate-angular-module-federation.`);
11
+ }
12
+ }
13
+ function usesModuleFederation(tree, project) {
14
+ for (const target of Object.values(project.targets ?? {})) {
15
+ if (MODULE_FEDERATION_EXECUTORS.includes(target.executor)) {
16
+ return true;
17
+ }
18
+ const allOptions = [
19
+ target.options,
20
+ ...Object.values(target.configurations ?? {}),
21
+ ];
22
+ for (const options of allOptions) {
23
+ const configPath = options?.customWebpackConfig?.path;
24
+ if (configPath &&
25
+ tree.exists(configPath) &&
26
+ tree.read(configPath, 'utf-8').includes('@nx/module-federation')) {
27
+ return true;
28
+ }
29
+ }
30
+ }
31
+ return false;
32
+ }
@@ -1,10 +1,6 @@
1
1
  import type { Tree } from '@nx/devkit';
2
2
  import type { Schema as ApplicationOptions } from '../application/schema';
3
- import type { Schema as HostOptions } from '../host/schema';
4
3
  import type { Schema as LibraryOptions } from '../library/schema';
5
- import type { Schema as RemoteOptions } from '../remote/schema';
6
4
  export declare function generateTestApplication(tree: Tree, options: ApplicationOptions): Promise<void>;
7
- export declare function generateTestHostApplication(tree: Tree, options: HostOptions): Promise<void>;
8
- export declare function generateTestRemoteApplication(tree: Tree, options: RemoteOptions): Promise<void>;
9
5
  export declare function generateTestLibrary(tree: Tree, options: LibraryOptions): Promise<void>;
10
6
  export declare function createStorybookTestWorkspaceForLib(libName: string): Promise<Tree>;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTestApplication = generateTestApplication;
4
- exports.generateTestHostApplication = generateTestHostApplication;
5
- exports.generateTestRemoteApplication = generateTestRemoteApplication;
6
4
  exports.generateTestLibrary = generateTestLibrary;
7
5
  exports.createStorybookTestWorkspaceForLib = createStorybookTestWorkspaceForLib;
8
6
  const devkit_1 = require("@nx/devkit");
@@ -11,23 +9,13 @@ const internal_1 = require("@nx/js/internal");
11
9
  const test_runners_1 = require("../../utils/test-runners");
12
10
  const application_1 = require("../application/application");
13
11
  const component_1 = require("../component/component");
14
- const host_1 = require("../host/host");
15
12
  const library_1 = require("../library/library");
16
- const remote_1 = require("../remote/remote");
17
13
  async function generateTestApplication(tree, options) {
18
14
  tree.write('.gitignore', '');
19
15
  await (0, application_1.applicationGenerator)(tree, {
20
16
  ...options,
21
17
  });
22
18
  }
23
- async function generateTestHostApplication(tree, options) {
24
- tree.write('.gitignore', '');
25
- await (0, host_1.host)(tree, { ...options });
26
- }
27
- async function generateTestRemoteApplication(tree, options) {
28
- tree.write('.gitignore', '');
29
- await (0, remote_1.remote)(tree, { ...options });
30
- }
31
19
  async function generateTestLibrary(tree, options) {
32
20
  tree.write('.gitignore', '');
33
21
  await (0, library_1.libraryGenerator)(tree, {
@@ -14,13 +14,9 @@ exports.backwardCompatibleVersions = {
14
14
  rxjsVersion: '~7.8.0',
15
15
  zoneJsVersion: '~0.16.0',
16
16
  tsLibVersion: '^2.3.0',
17
- corsVersion: '~2.8.5',
18
- typesCorsVersion: '~2.8.5',
19
17
  expressVersion: '^4.21.2',
20
18
  typesExpressVersion: '^4.17.21',
21
19
  browserSyncVersion: '^3.0.0',
22
- moduleFederationNodeVersion: '^2.7.21',
23
- moduleFederationEnhancedVersion: '^2.1.0',
24
20
  angularEslintVersion: '^21.2.0',
25
21
  typescriptEslintVersion: '^7.16.0',
26
22
  postcssVersion: '^8.4.5',
@@ -45,13 +41,9 @@ exports.backwardCompatibleVersions = {
45
41
  rxjsVersion: '~7.8.0',
46
42
  zoneJsVersion: '~0.15.0',
47
43
  tsLibVersion: '^2.3.0',
48
- corsVersion: '~2.8.5',
49
- typesCorsVersion: '~2.8.5',
50
44
  expressVersion: '^4.21.2',
51
45
  typesExpressVersion: '^4.17.21',
52
46
  browserSyncVersion: '^3.0.0',
53
- moduleFederationNodeVersion: '^2.7.21',
54
- moduleFederationEnhancedVersion: '^0.21.2',
55
47
  angularEslintVersion: '^20.3.0',
56
48
  typescriptEslintVersion: '^8.40.0',
57
49
  postcssVersion: '^8.4.5',
@@ -6,13 +6,9 @@ export declare const ngrxVersion = "^22.0.0";
6
6
  export declare const rxjsVersion = "~7.8.0";
7
7
  export declare const zoneJsVersion = "~0.16.2";
8
8
  export declare const tsLibVersion = "^2.3.0";
9
- export declare const corsVersion = "~2.8.5";
10
- export declare const typesCorsVersion = "~2.8.5";
11
9
  export declare const expressVersion = "^4.21.2";
12
10
  export declare const typesExpressVersion = "^4.17.21";
13
11
  export declare const browserSyncVersion = "^3.0.0";
14
- export declare const moduleFederationNodeVersion = "^2.7.21";
15
- export declare const moduleFederationEnhancedVersion = "^2.1.0";
16
12
  export declare const webpackMergeVersion = "^5.8.0";
17
13
  export declare const angularEslintVersion = "^22.1.0";
18
14
  export declare const typescriptEslintVersion = "^8.40.0";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsoncEslintParserVersion = exports.oxcProjectRuntimeVersion = exports.jsdomVersion = exports.vitestVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.lessVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.webpackMergeVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.tsLibVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
3
+ exports.jsoncEslintParserVersion = exports.oxcProjectRuntimeVersion = exports.jsdomVersion = exports.vitestVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.lessVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.webpackMergeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.tsLibVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
4
4
  const path_1 = require("path");
5
5
  exports.nxVersion = require((0, path_1.join)('@nx/angular', 'package.json')).version;
6
6
  exports.angularVersion = '~22.1.0';
@@ -10,13 +10,9 @@ exports.ngrxVersion = '^22.0.0';
10
10
  exports.rxjsVersion = '~7.8.0';
11
11
  exports.zoneJsVersion = '~0.16.2';
12
12
  exports.tsLibVersion = '^2.3.0';
13
- exports.corsVersion = '~2.8.5';
14
- exports.typesCorsVersion = '~2.8.5';
15
13
  exports.expressVersion = '^4.21.2';
16
14
  exports.typesExpressVersion = '^4.17.21';
17
15
  exports.browserSyncVersion = '^3.0.0';
18
- exports.moduleFederationNodeVersion = '^2.7.21';
19
- exports.moduleFederationEnhancedVersion = '^2.1.0';
20
16
  exports.webpackMergeVersion = '^5.8.0';
21
17
  exports.angularEslintVersion = '^22.1.0';
22
18
  exports.typescriptEslintVersion = '^8.40.0';
package/executors.json CHANGED
@@ -20,16 +20,6 @@
20
20
  "schema": "./dist/src/executors/browser-esbuild/schema.json",
21
21
  "description": "Builds an Angular application using [esbuild](https://esbuild.github.io/)."
22
22
  },
23
- "module-federation-dev-server": {
24
- "implementation": "./dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl",
25
- "schema": "./dist/src/executors/module-federation-dev-server/schema.json",
26
- "description": "Serves host [Module Federation](https://module-federation.io/) applications ([webpack](https://webpack.js.org/)-based) allowing to specify which remote applications should be served with the host."
27
- },
28
- "module-federation-dev-ssr": {
29
- "implementation": "./dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl",
30
- "schema": "./dist/src/executors/module-federation-ssr-dev-server/schema.json",
31
- "description": "The module-federation-ssr-dev-server executor is reserved exclusively for use with host SSR Module Federation applications. It allows the user to specify which remote applications should be served with the host."
32
- },
33
23
  "application": {
34
24
  "implementation": "./dist/src/executors/application/application.impl",
35
25
  "schema": "./dist/src/executors/application/schema.json",
package/generators.json CHANGED
@@ -49,13 +49,6 @@
49
49
  "aliases": ["d"],
50
50
  "description": "Generate an Angular directive."
51
51
  },
52
- "federate-module": {
53
- "factory": "./dist/src/generators/federate-module/federate-module",
54
- "schema": "./dist/src/generators/federate-module/schema.json",
55
- "x-type": "application",
56
- "description": "Create a federated module, which is exposed by a remote and can be subsequently loaded by a host.",
57
- "x-deprecated": "Angular Module Federation in Nx is no longer supported. Use `@angular-architects/native-federation` instead. See https://nx.dev/docs/technologies/module-federation/consumer-and-provider for the v23 migration guide. Removed in Nx v24."
58
- },
59
52
  "init": {
60
53
  "factory": "./dist/src/generators/init/init",
61
54
  "schema": "./dist/src/generators/init/schema.json",
@@ -75,28 +68,6 @@
75
68
  "aliases": ["secondary-entry-point", "entry-point"],
76
69
  "description": "Creates a secondary entry point for an Angular publishable library."
77
70
  },
78
- "remote": {
79
- "factory": "./dist/src/generators/remote/remote",
80
- "schema": "./dist/src/generators/remote/schema.json",
81
- "x-type": "application",
82
- "description": "Generate a Remote Angular Module Federation Application.",
83
- "aliases": ["producer"],
84
- "x-deprecated": "Angular Module Federation in Nx is no longer supported. Use `@angular-architects/native-federation` instead. See https://nx.dev/docs/technologies/module-federation/consumer-and-provider for the v23 migration guide. Removed in Nx v24."
85
- },
86
- "convert-to-with-mf": {
87
- "factory": "./dist/src/generators/convert-to-with-mf/convert-to-with-mf",
88
- "schema": "./dist/src/generators/convert-to-with-mf/schema.json",
89
- "description": "Converts an old micro frontend configuration to use the new withModuleFederation helper. It will run successfully if the following conditions are met: \n - Is either a host or remote application \n - Shared npm package configurations have not been modified \n - Name used to identify the Micro Frontend application matches the project name \n\n{% callout type=\"warning\" title=\"Overrides\" %}This generator will overwrite your webpack config. If you have additional custom configuration in your config file, it will be lost!{% /callout %}",
90
- "x-deprecated": "Angular Module Federation in Nx is no longer supported. Use `@angular-architects/native-federation` instead. See https://nx.dev/docs/technologies/module-federation/consumer-and-provider for the v23 migration guide. Removed in Nx v24."
91
- },
92
- "host": {
93
- "factory": "./dist/src/generators/host/host",
94
- "schema": "./dist/src/generators/host/schema.json",
95
- "x-type": "application",
96
- "description": "Generate a Host Angular Module Federation Application.",
97
- "aliases": ["consumer"],
98
- "x-deprecated": "Angular Module Federation in Nx is no longer supported. Use `@angular-architects/native-federation` instead. See https://nx.dev/docs/technologies/module-federation/consumer-and-provider for the v23 migration guide. Removed in Nx v24."
99
- },
100
71
  "ng-add": {
101
72
  "factory": "./dist/src/generators/ng-add/ng-add",
102
73
  "schema": "./dist/src/generators/ng-add/schema.json",
@@ -143,12 +114,6 @@
143
114
  "description": "Generate a pipe with an accompanying Single Component Angular Module (SCAM).",
144
115
  "x-deprecated": "SCAMs are superseded by Angular standalone components. Use the `@nx/angular:pipe` generator instead. It will be removed in Nx v24."
145
116
  },
146
- "setup-mf": {
147
- "factory": "./dist/src/generators/setup-mf/setup-mf",
148
- "schema": "./dist/src/generators/setup-mf/schema.json",
149
- "description": "Generate a Module Federation configuration for a given Angular application.",
150
- "x-deprecated": "Angular Module Federation in Nx is no longer supported. Use `@angular-architects/native-federation` instead. See https://nx.dev/docs/technologies/module-federation/consumer-and-provider for the v23 migration guide. Removed in Nx v24."
151
- },
152
117
  "setup-ssr": {
153
118
  "factory": "./dist/src/generators/setup-ssr/setup-ssr",
154
119
  "schema": "./dist/src/generators/setup-ssr/schema.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "24.0.0-beta.2",
3
+ "version": "24.0.0-canary.20261016-5ef7804",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
@@ -32,10 +32,6 @@
32
32
  "types": "./dist/types/nx-angular.d.ts",
33
33
  "default": "./dist/fesm2022/nx-angular.mjs"
34
34
  },
35
- "./mf": {
36
- "types": "./dist/types/nx-angular-mf.d.ts",
37
- "default": "./dist/fesm2022/nx-angular-mf.mjs"
38
- },
39
35
  "./package.json": {
40
36
  "default": "./package.json"
41
37
  },
@@ -71,10 +67,9 @@
71
67
  "supportsOptionalMigrations": true
72
68
  },
73
69
  "dependencies": {
74
- "@nx/devkit": "24.0.0-beta.2",
75
- "@nx/eslint": "24.0.0-beta.2",
76
- "@nx/js": "24.0.0-beta.2",
77
- "@nx/web": "24.0.0-beta.2",
70
+ "@nx/devkit": "24.0.0-canary.20261016-5ef7804",
71
+ "@nx/eslint": "24.0.0-canary.20261016-5ef7804",
72
+ "@nx/js": "24.0.0-canary.20261016-5ef7804",
78
73
  "@phenomnomnominal/tsquery": "~6.2.0",
79
74
  "@typescript-eslint/type-utils": "^8.0.0",
80
75
  "jsonc-parser": "^3.2.0",
@@ -85,21 +80,20 @@
85
80
  "tslib": "^2.3.0"
86
81
  },
87
82
  "devDependencies": {
88
- "@nx/storybook": "24.0.0-beta.2",
89
- "@nx/vitest": "24.0.0-beta.2",
90
- "nx": "24.0.0-beta.2"
83
+ "@nx/storybook": "24.0.0-canary.20261016-5ef7804",
84
+ "@nx/vitest": "24.0.0-canary.20261016-5ef7804",
85
+ "nx": "24.0.0-canary.20261016-5ef7804"
91
86
  },
92
87
  "peerDependencies": {
93
88
  "@angular/build": ">= 20.0.0 < 23.0.0",
94
89
  "@angular-devkit/build-angular": ">= 20.0.0 < 23.0.0",
95
90
  "@angular-devkit/core": ">= 20.0.0 < 23.0.0",
96
91
  "@angular-devkit/schematics": ">= 20.0.0 < 23.0.0",
97
- "@nx/cypress": "24.0.0-beta.2",
98
- "@nx/playwright": "24.0.0-beta.2",
92
+ "@nx/cypress": "24.0.0-canary.20261016-5ef7804",
93
+ "@nx/playwright": "24.0.0-canary.20261016-5ef7804",
99
94
  "@schematics/angular": ">= 20.0.0 < 23.0.0",
100
- "@nx/module-federation": "24.0.0-beta.2",
101
- "@nx/rspack": "24.0.0-beta.2",
102
- "@nx/webpack": "24.0.0-beta.2",
95
+ "@nx/rspack": "24.0.0-canary.20261016-5ef7804",
96
+ "@nx/webpack": "24.0.0-canary.20261016-5ef7804",
103
97
  "ng-packagr": ">= 20.0.0 < 23.0.0",
104
98
  "rxjs": "^6.5.3 || ^7.5.0",
105
99
  "webpack-merge": "^5.8.0"
@@ -117,9 +111,6 @@
117
111
  "@nx/playwright": {
118
112
  "optional": true
119
113
  },
120
- "@nx/module-federation": {
121
- "optional": true
122
- },
123
114
  "@nx/rspack": {
124
115
  "optional": true
125
116
  },
package/dist/.npmignore DELETED
@@ -1,2 +0,0 @@
1
- # Nested package.json's are only needed for development.
2
- mf/package.json