diff --git a/docs/generated/manifests/menus.json b/docs/generated/manifests/menus.json index b721948787..dfd9a243e6 100644 --- a/docs/generated/manifests/menus.json +++ b/docs/generated/manifests/menus.json @@ -809,6 +809,31 @@ "children": [], "disableCollapsible": false }, + { + "name": "Module Federation", + "path": "/concepts/module-federation", + "id": "module-federation", + "isExternal": false, + "children": [ + { + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "id": "faster-builds-with-module-federation", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Micro Frontend Architecture", + "path": "/concepts/module-federation/micro-frontend-architecture", + "id": "micro-frontend-architecture", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, { "name": "More Concepts", "path": "/concepts/more-concepts", @@ -911,22 +936,6 @@ "children": [], "disableCollapsible": false }, - { - "name": "Micro Frontend Architecture", - "path": "/concepts/more-concepts/micro-frontend-architecture", - "id": "micro-frontend-architecture", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "id": "faster-builds-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Applications and Libraries", "path": "/concepts/more-concepts/applications-and-libraries", @@ -1053,6 +1062,47 @@ "children": [], "disableCollapsible": false }, + { + "name": "Module Federation", + "path": "/concepts/module-federation", + "id": "module-federation", + "isExternal": false, + "children": [ + { + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "id": "faster-builds-with-module-federation", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Micro Frontend Architecture", + "path": "/concepts/module-federation/micro-frontend-architecture", + "id": "micro-frontend-architecture", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "id": "faster-builds-with-module-federation", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Micro Frontend Architecture", + "path": "/concepts/module-federation/micro-frontend-architecture", + "id": "micro-frontend-architecture", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, { "name": "More Concepts", "path": "/concepts/more-concepts", @@ -1155,22 +1205,6 @@ "children": [], "disableCollapsible": false }, - { - "name": "Micro Frontend Architecture", - "path": "/concepts/more-concepts/micro-frontend-architecture", - "id": "micro-frontend-architecture", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "id": "faster-builds-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Applications and Libraries", "path": "/concepts/more-concepts/applications-and-libraries", @@ -1334,22 +1368,6 @@ "children": [], "disableCollapsible": false }, - { - "name": "Micro Frontend Architecture", - "path": "/concepts/more-concepts/micro-frontend-architecture", - "id": "micro-frontend-architecture", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "id": "faster-builds-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Applications and Libraries", "path": "/concepts/more-concepts/applications-and-libraries", diff --git a/docs/generated/manifests/nx.json b/docs/generated/manifests/nx.json index 5540769483..c81ef85f98 100644 --- a/docs/generated/manifests/nx.json +++ b/docs/generated/manifests/nx.json @@ -1004,6 +1004,42 @@ "path": "/concepts/affected", "tags": ["run-tasks"] }, + { + "id": "module-federation", + "name": "Module Federation", + "description": "Understand more about Module Federation with NX", + "file": "", + "itemList": [ + { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "tags": [ + "use-task-executors", + "module-federation", + "angular", + "react" + ] + }, + { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "file": "shared/guides/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/micro-frontend-architecture", + "tags": [] + } + ], + "isExternal": false, + "path": "/concepts/module-federation", + "tags": [] + }, { "id": "more-concepts", "name": "More Concepts", @@ -1130,31 +1166,6 @@ "path": "/concepts/more-concepts/nx-devkit-angular-devkit", "tags": ["create-your-own-plugin"] }, - { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "file": "shared/guides/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/micro-frontend-architecture", - "tags": [] - }, - { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "tags": [ - "use-task-executors", - "module-federation", - "angular", - "react" - ] - }, { "id": "applications-and-libraries", "name": "Applications and Libraries", @@ -1315,6 +1326,57 @@ "path": "/concepts/affected", "tags": ["run-tasks"] }, + "/concepts/module-federation": { + "id": "module-federation", + "name": "Module Federation", + "description": "Understand more about Module Federation with NX", + "file": "", + "itemList": [ + { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "tags": ["use-task-executors", "module-federation", "angular", "react"] + }, + { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "file": "shared/guides/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/micro-frontend-architecture", + "tags": [] + } + ], + "isExternal": false, + "path": "/concepts/module-federation", + "tags": [] + }, + "/concepts/module-federation/faster-builds-with-module-federation": { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/faster-builds-with-module-federation", + "tags": ["use-task-executors", "module-federation", "angular", "react"] + }, + "/concepts/module-federation/micro-frontend-architecture": { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "file": "shared/guides/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/concepts/module-federation/micro-frontend-architecture", + "tags": [] + }, "/concepts/more-concepts": { "id": "more-concepts", "name": "More Concepts", @@ -1441,26 +1503,6 @@ "path": "/concepts/more-concepts/nx-devkit-angular-devkit", "tags": ["create-your-own-plugin"] }, - { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "file": "shared/guides/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/micro-frontend-architecture", - "tags": [] - }, - { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "tags": ["use-task-executors", "module-federation", "angular", "react"] - }, { "id": "applications-and-libraries", "name": "Applications and Libraries", @@ -1666,26 +1708,6 @@ "path": "/concepts/more-concepts/nx-devkit-angular-devkit", "tags": ["create-your-own-plugin"] }, - "/concepts/more-concepts/micro-frontend-architecture": { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "file": "shared/guides/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/micro-frontend-architecture", - "tags": [] - }, - "/concepts/more-concepts/faster-builds-with-module-federation": { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/more-concepts/faster-builds-with-module-federation", - "tags": ["use-task-executors", "module-federation", "angular", "react"] - }, "/concepts/more-concepts/applications-and-libraries": { "id": "applications-and-libraries", "name": "Applications and Libraries", diff --git a/docs/generated/manifests/tags.json b/docs/generated/manifests/tags.json index 3b54274360..862aef2da4 100644 --- a/docs/generated/manifests/tags.json +++ b/docs/generated/manifests/tags.json @@ -429,6 +429,13 @@ "name": "Task Pipeline Configuration", "path": "/concepts/task-pipeline-configuration" }, + { + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation" + }, { "description": "", "file": "shared/incremental-builds", @@ -436,13 +443,6 @@ "name": "Incremental Builds", "path": "/concepts/more-concepts/incremental-builds" }, - { - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation" - }, { "description": "", "file": "shared/recipes/module-federation-with-ssr", @@ -632,6 +632,75 @@ "path": "/recipes/tips-n-tricks/standalone-to-integrated" } ], + "module-federation": [ + { + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation" + }, + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "path": "/recipes/react/module-federation-with-ssr" + }, + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "path": "/recipes/angular/module-federation-with-ssr" + }, + { + "description": "", + "file": "shared/guides/module-federation/dynamic-mfe-angular", + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "path": "/recipes/angular/dynamic-module-federation-with-angular" + } + ], + "angular": [ + { + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation" + }, + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "path": "/recipes/angular/module-federation-with-ssr" + }, + { + "description": "", + "file": "shared/guides/module-federation/dynamic-mfe-angular", + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "path": "/recipes/angular/dynamic-module-federation-with-angular" + } + ], + "react": [ + { + "description": "", + "file": "shared/guides/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/concepts/module-federation/faster-builds-with-module-federation" + }, + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "path": "/recipes/react/module-federation-with-ssr" + } + ], "create-your-own-plugin": [ { "description": "", @@ -669,75 +738,6 @@ "path": "/extending-nx/recipes/project-graph-plugins" } ], - "module-federation": [ - { - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation" - }, - { - "description": "", - "file": "shared/recipes/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for React", - "path": "/recipes/react/module-federation-with-ssr" - }, - { - "description": "", - "file": "shared/recipes/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for Angular", - "path": "/recipes/angular/module-federation-with-ssr" - }, - { - "description": "", - "file": "shared/guides/module-federation/dynamic-mfe-angular", - "id": "dynamic-module-federation-with-angular", - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "path": "/recipes/angular/dynamic-module-federation-with-angular" - } - ], - "angular": [ - { - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation" - }, - { - "description": "", - "file": "shared/recipes/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for Angular", - "path": "/recipes/angular/module-federation-with-ssr" - }, - { - "description": "", - "file": "shared/guides/module-federation/dynamic-mfe-angular", - "id": "dynamic-module-federation-with-angular", - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "path": "/recipes/angular/dynamic-module-federation-with-angular" - } - ], - "react": [ - { - "description": "", - "file": "shared/guides/module-federation/faster-builds", - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "path": "/concepts/more-concepts/faster-builds-with-module-federation" - }, - { - "description": "", - "file": "shared/recipes/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for React", - "path": "/recipes/react/module-federation-with-ssr" - } - ], "environment-variables": [ { "description": "", diff --git a/docs/generated/packages/angular/documents/overview.md b/docs/generated/packages/angular/documents/overview.md index 22a1e44363..4b2f7cc572 100644 --- a/docs/generated/packages/angular/documents/overview.md +++ b/docs/generated/packages/angular/documents/overview.md @@ -18,7 +18,9 @@ more [here](/recipes/angular/migration/angular). ## Setting up the Angular plugin {% callout type="note" title="Keep Nx Package Versions In Sync" %} -Make sure to install the `@nx/angular` version that matches the version of `nx` in your repository. If the version numbers get out of sync, you can encounter some difficult to debug errors. You can [fix Nx version mismatches with this recipe](/recipes/tips-n-tricks/keep-nx-versions-in-sync). +Make sure to install the `@nx/angular` version that matches the version of `nx` in your repository. If the version +numbers get out of sync, you can encounter some difficult to debug errors. You +can [fix Nx version mismatches with this recipe](/recipes/tips-n-tricks/keep-nx-versions-in-sync). {% /callout %} Adding the Angular plugin to an existing Nx workspace can be done with the following: @@ -97,6 +99,6 @@ nx g @nx/angular:service my-service - [Angular Nx Tutorial](/getting-started/tutorials/angular-monorepo-tutorial) - [Migrating from the Angular CLI](/recipes/angular/migration/angular) -- [Setup Module Federation with Angular and Nx](/concepts/more-concepts/faster-builds-with-module-federation) +- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation) - [Upgrading an AngularJS application to Angular](/recipes/angular/migration/angularjs) - [Using Tailwind CSS with Angular projects](/recipes/angular/using-tailwind-css-with-angular-projects) diff --git a/docs/map.json b/docs/map.json index 29b0303373..268f44c318 100644 --- a/docs/map.json +++ b/docs/map.json @@ -307,6 +307,29 @@ "id": "affected", "file": "shared/using-nx/affected" }, + { + "name": "Module Federation", + "id": "module-federation", + "description": "Understand more about Module Federation with NX", + "itemList": [ + { + "name": "Faster Builds with Module Federation", + "id": "faster-builds-with-module-federation", + "tags": [ + "use-task-executors", + "module-federation", + "angular", + "react" + ], + "file": "shared/guides/module-federation/faster-builds" + }, + { + "name": "Micro Frontend Architecture", + "id": "micro-frontend-architecture", + "file": "shared/guides/module-federation/micro-frontend-architecture" + } + ] + }, { "name": "More Concepts", "id": "more-concepts", @@ -377,22 +400,6 @@ "tags": ["create-your-own-plugin"], "file": "shared/guides/nx-devkit-angular-devkit" }, - { - "name": "Micro Frontend Architecture", - "id": "micro-frontend-architecture", - "file": "shared/guides/module-federation/micro-frontend-architecture" - }, - { - "name": "Faster Builds with Module Federation", - "id": "faster-builds-with-module-federation", - "tags": [ - "use-task-executors", - "module-federation", - "angular", - "react" - ], - "file": "shared/guides/module-federation/faster-builds" - }, { "name": "Applications and Libraries", "id": "applications-and-libraries", diff --git a/docs/shared/guides/module-federation/faster-builds.md b/docs/shared/guides/module-federation/faster-builds.md index 0711f6a0f0..630c9d726e 100644 --- a/docs/shared/guides/module-federation/faster-builds.md +++ b/docs/shared/guides/module-federation/faster-builds.md @@ -440,7 +440,8 @@ first before building the remotes. ## Summary -You could use Module Federation to implement [micro frontends](/concepts/more-concepts/micro-frontend-architecture), but this +You could use Module Federation to implement [micro frontends](/concepts/module-federation/micro-frontend-architecture), +but this guide showed how to use it to speed up your builds. Module Federation allows you to split a single build process into multiple processes which can run in parallel or even diff --git a/docs/shared/guides/module-federation/micro-frontend-architecture.md b/docs/shared/guides/module-federation/micro-frontend-architecture.md index 3d9eff4e58..c25b867b87 100644 --- a/docs/shared/guides/module-federation/micro-frontend-architecture.md +++ b/docs/shared/guides/module-federation/micro-frontend-architecture.md @@ -1,9 +1,13 @@ # Micro Frontend Architecture -Since version 14, Nx provides out-of-the-box [Module Federation](/concepts/more-concepts/faster-builds-with-module-federation) support to both React -and Angular. The Micro Frontend (MFE) architecture builds on top of Module Federation by providing _independent deployability_. +Since version 14, Nx provides +out-of-the-box [Module Federation](/concepts/module-federation/faster-builds-with-module-federation) support to both +React +and Angular. The Micro Frontend (MFE) architecture builds on top of Module Federation by providing _independent +deployability_. -If you have not read the [Module Federation guide](/concepts/more-concepts/faster-builds-with-module-federation) yet, we recommend that you read it +If you have not read the [Module Federation guide](/concepts/module-federation/faster-builds-with-module-federation) +yet, we recommend that you read it before continuing with this MFE guide. ## When should I use micro frontend architecture? @@ -17,9 +21,10 @@ of MFEs and decide whether it makes sense for your own teams. logic that breaks compatibility with remotes. If you are looking at optimizing builds and do not need independent deployments, we recommend reading our guide on -[Faster Builds with Module Federation](/concepts/more-concepts/faster-builds-with-module-federation). +[Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation). -If you need to use MFEs, keep reading, and we'll examine the architecture and strategies to deal with shared libraries and +If you need to use MFEs, keep reading, and we'll examine the architecture and strategies to deal with shared libraries +and deployments. ## Architectural overview @@ -29,7 +34,8 @@ With MFE architecture, a large application is split into: 1. A single **Host** application that references external... 2. **Remote** applications, which handle a single domain or feature. -In a normal Module Federation setup, we [recommend setting up implicit dependencies](/concepts/more-concepts/faster-builds-with-module-federation#architectural-overview) +In a normal Module Federation setup, +we [recommend setting up implicit dependencies](/concepts/module-federation/faster-builds-with-module-federation#architectural-overview) from the host application to remote applications. However, in an MFE architecture you _do not_ want these dependencies to exist between host and remotes. diff --git a/docs/shared/incremental-builds.md b/docs/shared/incremental-builds.md index 5d876b01ec..1286d1f78f 100644 --- a/docs/shared/incremental-builds.md +++ b/docs/shared/incremental-builds.md @@ -27,7 +27,8 @@ On the other hand, the executor of a **buildable library**, performs a subset of nx g @nx/react:lib mylib --buildable ``` -Read more about [Publishable and Buildable Nx Libraries here.](/concepts/more-concepts/buildable-and-publishable-libraries) +Read more +about [Publishable and Buildable Nx Libraries here.](/concepts/more-concepts/buildable-and-publishable-libraries) ## Nx computation cache and Nx Cloud @@ -78,7 +79,7 @@ But there are other ways to make the build process incremental. One of them is u When using WebPack Module Federation, you split the application into multiple webpack builds. Imagine the application has 3 big sections, and they are built using 3 webpack builds: `W1`, `W2`, and `W3`. Each of them has to build shared code in addition to building the corresponding application section code. So the time it takes to build all of them (`W1` + `W2` + `W3`) will be greater than `W`. However, if you change only Section 1, you will only need to run `W1`. `W2` and `W3` will be retrieved from cache. In addition, `W1`, `W2`, and `W3` can run on separate machines. Because of that, both the CI time and the local serve time can be drastically reduced. -Learn more: [Faster Builds with Module Federation](/concepts/more-concepts/faster-builds-with-module-federation) +Learn more: [Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation) ## See Also diff --git a/docs/shared/packages/angular/angular-plugin.md b/docs/shared/packages/angular/angular-plugin.md index 22a1e44363..4b2f7cc572 100644 --- a/docs/shared/packages/angular/angular-plugin.md +++ b/docs/shared/packages/angular/angular-plugin.md @@ -18,7 +18,9 @@ more [here](/recipes/angular/migration/angular). ## Setting up the Angular plugin {% callout type="note" title="Keep Nx Package Versions In Sync" %} -Make sure to install the `@nx/angular` version that matches the version of `nx` in your repository. If the version numbers get out of sync, you can encounter some difficult to debug errors. You can [fix Nx version mismatches with this recipe](/recipes/tips-n-tricks/keep-nx-versions-in-sync). +Make sure to install the `@nx/angular` version that matches the version of `nx` in your repository. If the version +numbers get out of sync, you can encounter some difficult to debug errors. You +can [fix Nx version mismatches with this recipe](/recipes/tips-n-tricks/keep-nx-versions-in-sync). {% /callout %} Adding the Angular plugin to an existing Nx workspace can be done with the following: @@ -97,6 +99,6 @@ nx g @nx/angular:service my-service - [Angular Nx Tutorial](/getting-started/tutorials/angular-monorepo-tutorial) - [Migrating from the Angular CLI](/recipes/angular/migration/angular) -- [Setup Module Federation with Angular and Nx](/concepts/more-concepts/faster-builds-with-module-federation) +- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation) - [Upgrading an AngularJS application to Angular](/recipes/angular/migration/angularjs) - [Using Tailwind CSS with Angular projects](/recipes/angular/using-tailwind-css-with-angular-projects) diff --git a/docs/shared/packages/webpack/webpack-config-setup.md b/docs/shared/packages/webpack/webpack-config-setup.md index 025198120e..50dfb15904 100644 --- a/docs/shared/packages/webpack/webpack-config-setup.md +++ b/docs/shared/packages/webpack/webpack-config-setup.md @@ -157,7 +157,8 @@ module.exports = composePlugins(withNx(), (config, { options, context }) => { ### Configure webpack for Module Federation -If you use the [Module Federation](/concepts/more-concepts/faster-builds-with-module-federation) support from `@nx/angular` or `@nx/react` then +If you use the [Module Federation](/concepts/module-federation/faster-builds-with-module-federation) support +from `@nx/angular` or `@nx/react` then you can customize your webpack configuration as follows. ```js {% fileName="apps/my-app/webpack.config.js" %} diff --git a/docs/shared/packages/webpack/webpack-plugins.md b/docs/shared/packages/webpack/webpack-plugins.md index c03b80894b..5220d43968 100644 --- a/docs/shared/packages/webpack/webpack-plugins.md +++ b/docs/shared/packages/webpack/webpack-plugins.md @@ -165,7 +165,7 @@ module.exports = composePlugins( The `withModuleFederation` and `withModuleFederationForSSR` plugins add module federation support to the webpack build. These plugins use [`ModuleFederationPlugin`](https://webpack.js.org/concepts/module-federation/) and provide a simpler API through Nx. -For more information, refer to the [Module Federation recipe](/concepts/more-concepts/faster-builds-with-module-federation). +For more information, refer to the [Module Federation recipe](/concepts/module-federation/faster-builds-with-module-federation). ### Options diff --git a/docs/shared/recipes/module-federation-with-ssr.md b/docs/shared/recipes/module-federation-with-ssr.md index b18c201cd0..3692b1f74b 100644 --- a/docs/shared/recipes/module-federation-with-ssr.md +++ b/docs/shared/recipes/module-federation-with-ssr.md @@ -137,5 +137,5 @@ To serve the `store` application and watch for changes on the `checkout` applica To learn more about Module Federation, we have some resources you might find useful: -- [Guide: Faster Builds with Module Federation](/concepts/more-concepts/faster-builds-with-module-federation) +- [Guide: Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation) - [Video: Speed up your Angular serve and build times with Module Federation and Nx](https://www.youtube.com/watch?v=JkcaGzhRjkc) diff --git a/docs/shared/reference/sitemap.md b/docs/shared/reference/sitemap.md index e1978fc7f7..01c613023d 100644 --- a/docs/shared/reference/sitemap.md +++ b/docs/shared/reference/sitemap.md @@ -52,6 +52,9 @@ - [Improve Worst Case CI Times](/concepts/dte) - [Task Pipeline Configuration](/concepts/task-pipeline-configuration) - [Affected](/concepts/affected) + - [Module Federation](/concepts/module-federation) + - [Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation) + - [Micro Frontend Architecture](/concepts/module-federation/micro-frontend-architecture) - [More Concepts](/concepts/more-concepts) - [Customizing Inputs](/concepts/more-concepts/customizing-inputs) - [Incremental Builds](/concepts/more-concepts/incremental-builds) @@ -65,8 +68,6 @@ - [Nx and the Angular CLI](/concepts/more-concepts/nx-and-angular) - [Folder Structure](/concepts/more-concepts/folder-structure) - [Nx Devkit and Angular Devkit](/concepts/more-concepts/nx-devkit-angular-devkit) - - [Micro Frontend Architecture](/concepts/more-concepts/micro-frontend-architecture) - - [Faster Builds with Module Federation](/concepts/more-concepts/faster-builds-with-module-federation) - [Applications and Libraries](/concepts/more-concepts/applications-and-libraries) - [Creating Libraries](/concepts/more-concepts/creating-libraries) - [Library Types](/concepts/more-concepts/library-types) diff --git a/nx-dev/nx-dev/redirect-rules.js b/nx-dev/nx-dev/redirect-rules.js index a7bd264d31..2edc510446 100644 --- a/nx-dev/nx-dev/redirect-rules.js +++ b/nx-dev/nx-dev/redirect-rules.js @@ -661,7 +661,7 @@ const packagesDocuments = { }; /** - * Concept documents Updates (updated 2023-03-31) + * Concept documents Updates (updated 2023-10-18) */ const conceptUrls = { '/concepts/more-concepts/global-nx': @@ -674,6 +674,10 @@ const conceptUrls = { '/getting-started/tutorials/react-standalone-tutorial', '/getting-started/angular-standalone-tutorial': '/getting-started/tutorials/angular-standalone-tutorial', + '/concepts/more-concepts/micro-frontend-architecture': + '/concepts/module-federation/micro-frontend-architecture', + '/concepts/more-concepts/faster-builds-with-module-federation': + '/concepts/module-federation/faster-builds-with-module-federation', }; const nested5minuteTutorialUrls = {