docs(core): move plugin api docs to tech plugin guides (#31402)

# before

plugin api docs where stuck in `api` section which doesn't make sense

# after

move plugin api docs into `guides` section and add redirect for better
discoverability
This commit is contained in:
Caleb Ukle 2025-06-03 12:43:24 -05:00 committed by GitHub
parent 5176f10c23
commit 4f57f01d01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 716 additions and 475 deletions

View File

@ -88,7 +88,7 @@ $ nx migrate latest --from=nx@<version>
In particular, we're working on making that part more intuitive in upcoming versions.
Also, have a look at our [updated docs](/recipes/tips-n-tricks/advanced-update) as well as our [Nx and Angular compatibility matrix](/nx-api/angular/documents/angular-nx-version-matrix) for more details.
Also, have a look at our [updated docs](/recipes/tips-n-tricks/advanced-update) as well as our [Nx and Angular compatibility matrix](/technologies/angular/recipes/angular-nx-version-matrix) for more details.
## Bootstrapping a new Angular app with Standalone API support
@ -135,7 +135,7 @@ Stay tuned for a more in-depth blog post coming soon to [our blog](/blog).
Nx provides support for Storybook version 7.0 beta, with generators and executors, so that you can try it out now, either in a new or in your existing Nx workspace. Storybook version 7 is a major release that brings a lot of new features and improvements. You can read more about it in the [Storybook 7 beta announcement blog post](https://storybook.js.org/blog/7-0-beta/). Apart from the new features and enhancements, it also brings some breaking changes. You can read more about them in the [Storybook 7 migration docs](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#from-version-65x-to-700) and the [Storybook 7 migration guide](https://chromatic-ui.notion.site/Storybook-7-migration-guide-dbf41fa347304eb2a5e9c69b34503937). Do note that _version 7 is still in beta_, and so is the Nx support for it.
You can try out Storybook 7.0 beta in a new Nx workspace by passing the `--storybook7betaConfiguration` flag when generating the Storybook configuration for your projects. Read more in our [Storybook 7 setup guide](/nx-api/storybook/documents/storybook-7-setup). If you want to migrate your existing Storybook configuration to Storybook 7.0 beta, please read our [migration guide](/nx-api/storybook/generators/migrate-7).
You can try out Storybook 7.0 beta in a new Nx workspace by passing the `--storybook7betaConfiguration` flag when generating the Storybook configuration for your projects. Read more in our [Storybook 7 setup guide](/technologies/test-tools/storybook/recipes/best-practices). If you want to migrate your existing Storybook configuration to Storybook 7.0 beta, please read our [migration guide](/nx-api/storybook/generators/migrate-7).
## More flexible Webpack config

View File

@ -60,7 +60,7 @@ Angular is continuing their pattern of releasing new and exciting features — a
As usual, we provide migrations to the most recent Angular version to cover your codebase for any breaking changes going to Angular 16.
And in case you missed it, Nx is no longer tied to your Angular version — the most recent version of Nx will now always [support all currently LTS versions of Angular](/nx-api/angular/documents/angular-nx-version-matrix), meaning you DON'T have to upgrade your Angular version in order to get all these latest Nx Features. Be sure to use the `--interactive` flag to take advantage of this feature: `nx migrate latest --interactive`. You can find more details in [our docs for choosing optional packages to apply](/recipes/tips-n-tricks/advanced-update).
And in case you missed it, Nx is no longer tied to your Angular version — the most recent version of Nx will now always [support all currently LTS versions of Angular](/technologies/angular/recipes/angular-nx-version-matrix), meaning you DON'T have to upgrade your Angular version in order to get all these latest Nx Features. Be sure to use the `--interactive` flag to take advantage of this feature: `nx migrate latest --interactive`. You can find more details in [our docs for choosing optional packages to apply](/recipes/tips-n-tricks/advanced-update).
{% youtube src="https://youtu.be/AQV4WFldwlY" /%}

View File

@ -27,9 +27,9 @@ However, before even being able to contemplate that, a different feature needed
We have introduced three new [Rspack](https://rspack.dev) Plugins for Module Federation that can be used with Nx.
- [NxModuleFederationPlugin](/nx-api/module-federation/documents/nx-module-federation-plugin): Gathers information from the Nx Workspace to correctly configure `rspack.ModuleFederationPlugin`
- [NxModuleFederationDevServerPlugin](/nx-api/module-federation/documents/nx-module-federation-dev-server-plugin): Used to handle the static-serving of non-dev remotes for CSR applications
- [NxModuleFederationSSRDevServerPlugin](/nx-api/module-federation/documents/nx-module-federation-dev-server-plugin#server-side-rendering): Used to handle the static-serving of non-dev remotes for SSR applications
- [NxModuleFederationPlugin](/technologies/module-federation/recipes/nx-module-federation-plugin): Gathers information from the Nx Workspace to correctly configure `rspack.ModuleFederationPlugin`
- [NxModuleFederationDevServerPlugin](/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin): Used to handle the static-serving of non-dev remotes for CSR applications
- [NxModuleFederationSSRDevServerPlugin](/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin#server-side-rendering): Used to handle the static-serving of non-dev remotes for SSR applications
These are true Rspack Plugins that should be added to the `plugins: []` of an `rspack.config` file.

View File

@ -1223,6 +1223,30 @@
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Nx and the Angular CLI",
"path": "/technologies/angular/recipes/nx-and-angular",
"id": "nx-and-angular",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Nx Devkit and Angular Devkit",
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit",
"id": "nx-devkit-angular-devkit",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Angular and Nx Version Matrix",
"path": "/technologies/angular/recipes/angular-nx-version-matrix",
"id": "angular-nx-version-matrix",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
@ -1233,47 +1257,6 @@
"id": "api",
"isExternal": false,
"children": [
{
"id": "documents",
"path": "/technologies/angular/api/documents",
"name": "documents",
"children": [
{
"id": "Overview",
"path": "/technologies/angular/api/documents/overview",
"name": "Overview",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "Nx and the Angular CLI",
"path": "/technologies/angular/api/documents/nx-and-angular",
"name": "Nx and the Angular CLI",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "Nx Devkit and Angular Devkit",
"path": "/technologies/angular/api/documents/nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "Angular and Nx Version Matrix",
"path": "/technologies/angular/api/documents/angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"children": [],
"isExternal": false,
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "executors",
"path": "/technologies/angular/api/executors",
@ -3508,6 +3491,22 @@
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "NxModuleFederationPlugin",
"path": "/technologies/module-federation/recipes/nx-module-federation-plugin",
"id": "nx-module-federation-plugin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "NxModuleFederationDevServerPlugin",
"path": "/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin",
"id": "nx-module-federation-dev-server-plugin",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
@ -3518,31 +3517,6 @@
"id": "api",
"isExternal": false,
"children": [
{
"id": "documents",
"path": "/technologies/module-federation/api/documents",
"name": "documents",
"children": [
{
"id": "NxModuleFederationPlugin",
"path": "/technologies/module-federation/api/documents/nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "NxModuleFederationDevServerPlugin",
"path": "/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"children": [],
"isExternal": false,
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "migrations",
"path": "/technologies/module-federation/api/migrations",
@ -3685,45 +3659,37 @@
"id": "eslint-plugin",
"isExternal": false,
"children": [
{
"name": "Guides",
"path": "/technologies/eslint/eslint-plugin/recipes",
"id": "recipes",
"isExternal": false,
"children": [
{
"name": "The enforce-module-boundaries rule",
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"id": "enforce-module-boundaries",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "The dependency-checks rule",
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"id": "dependency-checks",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"disableCollapsible": false
},
{
"name": "API",
"path": "/technologies/eslint/eslint-plugin/api",
"id": "api",
"isExternal": false,
"children": [
{
"id": "documents",
"path": "/technologies/eslint/eslint-plugin/api/documents",
"name": "documents",
"children": [
{
"id": "Overview",
"path": "/technologies/eslint/eslint-plugin/api/documents/overview",
"name": "Overview",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "The `enforce-module-boundaries` rule",
"path": "/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries",
"name": "The `enforce-module-boundaries` rule",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "The `dependency-checks` rule",
"path": "/technologies/eslint/eslint-plugin/api/documents/dependency-checks",
"name": "The `dependency-checks` rule",
"children": [],
"isExternal": false,
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "migrations",
"path": "/technologies/eslint/eslint-plugin/api/migrations",
@ -4758,6 +4724,22 @@
"id": "recipes",
"isExternal": false,
"children": [
{
"name": "Storybook best practices for making the most out of Nx",
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"id": "best-practices",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Storybook 7",
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"id": "storybook-7-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Set up Storybook for React Projects",
"path": "/technologies/test-tools/storybook/recipes/overview-react",
@ -4871,39 +4853,6 @@
"id": "api",
"isExternal": false,
"children": [
{
"id": "documents",
"path": "/technologies/test-tools/storybook/api/documents",
"name": "documents",
"children": [
{
"id": "Overview",
"path": "/technologies/test-tools/storybook/api/documents/overview",
"name": "Overview",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "Storybook best practices for making the most out of Nx",
"path": "/technologies/test-tools/storybook/api/documents/best-practices",
"name": "Storybook best practices for making the most out of Nx",
"children": [],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "Storybook 7",
"path": "/technologies/test-tools/storybook/api/documents/storybook-7-setup",
"name": "Storybook 7",
"children": [],
"isExternal": false,
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "executors",
"path": "/technologies/test-tools/storybook/api/executors",
@ -7444,47 +7393,6 @@
"path": "/nx-api/angular",
"name": "angular",
"children": [
{
"id": "documents",
"path": "/nx-api/angular/documents",
"name": "documents",
"children": [
{
"name": "Overview",
"path": "/technologies/angular/api/documents/overview",
"id": "overview",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Nx and the Angular CLI",
"path": "/technologies/angular/api/documents/nx-and-angular",
"id": "nx-and-angular",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Nx Devkit and Angular Devkit",
"path": "/technologies/angular/api/documents/nx-devkit-angular-devkit",
"id": "nx-devkit-angular-devkit",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Angular and Nx Version Matrix",
"path": "/technologies/angular/api/documents/angular-nx-version-matrix",
"id": "angular-nx-version-matrix",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "executors",
"path": "/nx-api/angular/executors",
@ -8190,39 +8098,6 @@
"path": "/nx-api/eslint-plugin",
"name": "eslint-plugin",
"children": [
{
"id": "documents",
"path": "/nx-api/eslint-plugin/documents",
"name": "documents",
"children": [
{
"name": "Overview",
"path": "/technologies/eslint/eslint-plugin/api/documents/overview",
"id": "overview",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "The `enforce-module-boundaries` rule",
"path": "/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries",
"id": "enforce-module-boundaries",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "The `dependency-checks` rule",
"path": "/technologies/eslint/eslint-plugin/api/documents/dependency-checks",
"id": "dependency-checks",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "migrations",
"path": "/nx-api/eslint-plugin/migrations",
@ -8710,31 +8585,6 @@
"path": "/nx-api/module-federation",
"name": "module-federation",
"children": [
{
"id": "documents",
"path": "/nx-api/module-federation/documents",
"name": "documents",
"children": [
{
"name": "NxModuleFederationPlugin",
"path": "/technologies/module-federation/api/documents/nx-module-federation-plugin",
"id": "nx-module-federation-plugin",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "NxModuleFederationDevServerPlugin",
"path": "/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin",
"id": "nx-module-federation-dev-server-plugin",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "migrations",
"path": "/nx-api/module-federation/migrations",
@ -10395,39 +10245,6 @@
"path": "/nx-api/storybook",
"name": "storybook",
"children": [
{
"id": "documents",
"path": "/nx-api/storybook/documents",
"name": "documents",
"children": [
{
"name": "Overview",
"path": "/technologies/test-tools/storybook/api/documents/overview",
"id": "overview",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Storybook best practices for making the most out of Nx",
"path": "/technologies/test-tools/storybook/api/documents/best-practices",
"id": "best-practices",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "Storybook 7",
"path": "/technologies/test-tools/storybook/api/documents/storybook-7-setup",
"id": "storybook-7-setup",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"isExternal": false,
"disableCollapsible": false
},
{
"id": "executors",
"path": "/nx-api/storybook/executors",

View File

@ -4,52 +4,7 @@
"name": "angular",
"packageName": "@nx/angular",
"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, Tailwind CSS, 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.",
"documents": {
"/technologies/angular/api/documents/overview": {
"id": "overview",
"name": "Overview",
"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, Tailwind CSS, 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.",
"file": "generated/packages/angular/documents/overview",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/api/documents/overview",
"tags": [],
"originalFilePath": "shared/packages/angular/angular-plugin"
},
"/technologies/angular/api/documents/nx-and-angular": {
"id": "nx-and-angular",
"name": "Nx and the Angular CLI",
"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, Tailwind CSS, 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.",
"file": "generated/packages/angular/documents/nx-and-angular",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/api/documents/nx-and-angular",
"tags": [],
"originalFilePath": "shared/guides/nx-and-angular-cli"
},
"/technologies/angular/api/documents/nx-devkit-angular-devkit": {
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"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, Tailwind CSS, 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.",
"file": "generated/packages/angular/documents/nx-devkit-angular-devkit",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/api/documents/nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"],
"originalFilePath": "shared/guides/nx-devkit-angular-devkit"
},
"/technologies/angular/api/documents/angular-nx-version-matrix": {
"id": "angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"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, Tailwind CSS, 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.",
"file": "generated/packages/angular/documents/angular-nx-version-matrix",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/api/documents/angular-nx-version-matrix",
"tags": [],
"originalFilePath": "shared/packages/angular/angular-nx-version-matrix"
}
},
"documents": {},
"root": "/packages/angular",
"source": "/packages/angular/src",
"executors": {
@ -1761,41 +1716,7 @@
"name": "eslint-plugin",
"packageName": "@nx/eslint-plugin",
"description": "The eslint-plugin package is an ESLint plugin that contains a collection of recommended ESLint rule configurations which you can extend from in your own ESLint configs, as well as an Nx-specific lint rule called enforce-module-boundaries.",
"documents": {
"/technologies/eslint/eslint-plugin/api/documents/overview": {
"id": "overview",
"name": "Overview",
"description": "The eslint-plugin package is an ESLint plugin that contains a collection of recommended ESLint rule configurations which you can extend from in your own ESLint configs, as well as an Nx-specific lint rule called enforce-module-boundaries.",
"file": "generated/packages/eslint-plugin/documents/overview",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/api/documents/overview",
"tags": [],
"originalFilePath": "shared/packages/eslint/eslint-plugin"
},
"/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries": {
"id": "enforce-module-boundaries",
"name": "The `enforce-module-boundaries` rule",
"description": "The eslint-plugin package is an ESLint plugin that contains a collection of recommended ESLint rule configurations which you can extend from in your own ESLint configs, as well as an Nx-specific lint rule called enforce-module-boundaries.",
"file": "generated/packages/eslint-plugin/documents/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries",
"tags": [],
"originalFilePath": "shared/packages/eslint/enforce-module-boundaries"
},
"/technologies/eslint/eslint-plugin/api/documents/dependency-checks": {
"id": "dependency-checks",
"name": "The `dependency-checks` rule",
"description": "The eslint-plugin package is an ESLint plugin that contains a collection of recommended ESLint rule configurations which you can extend from in your own ESLint configs, as well as an Nx-specific lint rule called enforce-module-boundaries.",
"file": "generated/packages/eslint-plugin/documents/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/api/documents/dependency-checks",
"tags": [],
"originalFilePath": "shared/packages/eslint/dependency-checks"
}
},
"documents": {},
"root": "/packages/eslint-plugin",
"source": "/packages/eslint-plugin/src",
"executors": {},
@ -2498,30 +2419,7 @@
"name": "module-federation",
"packageName": "@nx/module-federation",
"description": "The Nx Plugin for Module Federation contains executors and utilities that support building applications using Module Federation.",
"documents": {
"/technologies/module-federation/api/documents/nx-module-federation-plugin": {
"id": "nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"description": "The Nx Plugin for Module Federation contains executors and utilities that support building applications using Module Federation.",
"file": "generated/packages/module-federation/documents/nx-module-federation-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/api/documents/nx-module-federation-plugin",
"tags": [],
"originalFilePath": "shared/packages/module-federation/nx-module-federation-plugin"
},
"/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin": {
"id": "nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"description": "The Nx Plugin for Module Federation contains executors and utilities that support building applications using Module Federation.",
"file": "generated/packages/module-federation/documents/nx-module-federation-dev-server-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin",
"tags": [],
"originalFilePath": "shared/packages/module-federation/nx-module-federation-dev-server-plugin"
}
},
"documents": {},
"root": "/packages/module-federation",
"source": "/packages/module-federation/src",
"executors": {},
@ -4766,41 +4664,7 @@
"name": "storybook",
"packageName": "@nx/storybook",
"description": "The Nx Plugin for Storybook contains executors and generators for allowing your workspace to use the powerful Storybook integration testing & documenting capabilities.",
"documents": {
"/technologies/test-tools/storybook/api/documents/overview": {
"id": "overview",
"name": "Overview",
"description": "This is an overview page for the Storybook plugin in Nx. It explains what Storybook is and how to set it up in your Nx workspace.",
"file": "generated/packages/storybook/documents/overview",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/api/documents/overview",
"tags": [],
"originalFilePath": "shared/packages/storybook/plugin-overview"
},
"/technologies/test-tools/storybook/api/documents/best-practices": {
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"file": "generated/packages/storybook/documents/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/api/documents/best-practices",
"tags": [],
"originalFilePath": "shared/packages/storybook/best-practices"
},
"/technologies/test-tools/storybook/api/documents/storybook-7-setup": {
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"file": "generated/packages/storybook/documents/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/api/documents/storybook-7-setup",
"tags": [],
"originalFilePath": "shared/packages/storybook/storybook-7-setup"
}
},
"documents": {},
"root": "/packages/storybook",
"source": "/packages/storybook/src",
"executors": {

View File

@ -3538,6 +3538,39 @@
"isExternal": false,
"path": "/technologies/angular/recipes/setup-incremental-builds-angular",
"tags": []
},
{
"id": "nx-and-angular",
"name": "Nx and the Angular CLI",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-and-angular-cli",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-and-angular",
"tags": []
},
{
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-devkit-angular-devkit",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"]
},
{
"id": "angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"description": "",
"mediaImage": "",
"file": "shared/packages/angular/angular-nx-version-matrix",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/angular-nx-version-matrix",
"tags": []
}
],
"isExternal": false,
@ -4428,6 +4461,28 @@
"isExternal": false,
"path": "/technologies/module-federation/recipes/federate-a-module",
"tags": []
},
{
"id": "nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-plugin",
"tags": []
},
{
"id": "nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-dev-server-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin",
"tags": []
}
],
"isExternal": false,
@ -4520,6 +4575,40 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "recipes",
"name": "Guides",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"tags": []
},
{
"id": "dependency-checks",
"name": "The dependency-checks rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"tags": []
}
],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes",
"tags": []
},
{
"id": "api",
"name": "API",
@ -5059,6 +5148,28 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"mediaImage": "",
"file": "shared/packages/storybook/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"tags": []
},
{
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"mediaImage": "",
"file": "shared/packages/storybook/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"tags": []
},
{
"id": "overview-react",
"name": "Set up Storybook for React Projects",
@ -5636,6 +5747,39 @@
"isExternal": false,
"path": "/technologies/angular/recipes/setup-incremental-builds-angular",
"tags": []
},
{
"id": "nx-and-angular",
"name": "Nx and the Angular CLI",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-and-angular-cli",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-and-angular",
"tags": []
},
{
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-devkit-angular-devkit",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"]
},
{
"id": "angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"description": "",
"mediaImage": "",
"file": "shared/packages/angular/angular-nx-version-matrix",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/angular-nx-version-matrix",
"tags": []
}
],
"isExternal": false,
@ -5899,6 +6043,39 @@
"isExternal": false,
"path": "/technologies/angular/recipes/setup-incremental-builds-angular",
"tags": []
},
{
"id": "nx-and-angular",
"name": "Nx and the Angular CLI",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-and-angular-cli",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-and-angular",
"tags": []
},
{
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-devkit-angular-devkit",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"]
},
{
"id": "angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"description": "",
"mediaImage": "",
"file": "shared/packages/angular/angular-nx-version-matrix",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/angular-nx-version-matrix",
"tags": []
}
],
"isExternal": false,
@ -5960,6 +6137,39 @@
"path": "/technologies/angular/recipes/setup-incremental-builds-angular",
"tags": []
},
"/technologies/angular/recipes/nx-and-angular": {
"id": "nx-and-angular",
"name": "Nx and the Angular CLI",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-and-angular-cli",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-and-angular",
"tags": []
},
"/technologies/angular/recipes/nx-devkit-angular-devkit": {
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"description": "",
"mediaImage": "",
"file": "shared/guides/nx-devkit-angular-devkit",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"]
},
"/technologies/angular/recipes/angular-nx-version-matrix": {
"id": "angular-nx-version-matrix",
"name": "Angular and Nx Version Matrix",
"description": "",
"mediaImage": "",
"file": "shared/packages/angular/angular-nx-version-matrix",
"itemList": [],
"isExternal": false,
"path": "/technologies/angular/recipes/angular-nx-version-matrix",
"tags": []
},
"/technologies/angular/api": {
"id": "api",
"name": "API",
@ -7964,6 +8174,28 @@
"isExternal": false,
"path": "/technologies/module-federation/recipes/federate-a-module",
"tags": []
},
{
"id": "nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-plugin",
"tags": []
},
{
"id": "nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-dev-server-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin",
"tags": []
}
],
"isExternal": false,
@ -8158,6 +8390,28 @@
"isExternal": false,
"path": "/technologies/module-federation/recipes/federate-a-module",
"tags": []
},
{
"id": "nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-plugin",
"tags": []
},
{
"id": "nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-dev-server-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin",
"tags": []
}
],
"isExternal": false,
@ -8197,6 +8451,28 @@
"path": "/technologies/module-federation/recipes/federate-a-module",
"tags": []
},
"/technologies/module-federation/recipes/nx-module-federation-plugin": {
"id": "nx-module-federation-plugin",
"name": "NxModuleFederationPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-plugin",
"tags": []
},
"/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin": {
"id": "nx-module-federation-dev-server-plugin",
"name": "NxModuleFederationDevServerPlugin",
"description": "",
"mediaImage": "",
"file": "shared/packages/module-federation/nx-module-federation-dev-server-plugin",
"itemList": [],
"isExternal": false,
"path": "/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin",
"tags": []
},
"/technologies/module-federation/api": {
"id": "api",
"name": "API",
@ -8278,6 +8554,40 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "recipes",
"name": "Guides",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"tags": []
},
{
"id": "dependency-checks",
"name": "The dependency-checks rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"tags": []
}
],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes",
"tags": []
},
{
"id": "api",
"name": "API",
@ -8384,6 +8694,40 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "recipes",
"name": "Guides",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"tags": []
},
{
"id": "dependency-checks",
"name": "The dependency-checks rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"tags": []
}
],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes",
"tags": []
},
{
"id": "api",
"name": "API",
@ -8400,6 +8744,62 @@
"path": "/technologies/eslint/eslint-plugin",
"tags": []
},
"/technologies/eslint/eslint-plugin/recipes": {
"id": "recipes",
"name": "Guides",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"tags": []
},
{
"id": "dependency-checks",
"name": "The dependency-checks rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"tags": []
}
],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes",
"tags": []
},
"/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries": {
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries",
"tags": []
},
"/technologies/eslint/eslint-plugin/recipes/dependency-checks": {
"id": "dependency-checks",
"name": "The dependency-checks rule",
"description": "",
"mediaImage": "",
"file": "shared/packages/eslint/dependency-checks",
"itemList": [],
"isExternal": false,
"path": "/technologies/eslint/eslint-plugin/recipes/dependency-checks",
"tags": []
},
"/technologies/eslint/eslint-plugin/api": {
"id": "api",
"name": "API",
@ -9500,6 +9900,28 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"mediaImage": "",
"file": "shared/packages/storybook/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"tags": []
},
{
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"mediaImage": "",
"file": "shared/packages/storybook/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"tags": []
},
{
"id": "overview-react",
"name": "Set up Storybook for React Projects",
@ -10074,6 +10496,28 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"mediaImage": "",
"file": "shared/packages/storybook/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"tags": []
},
{
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"mediaImage": "",
"file": "shared/packages/storybook/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"tags": []
},
{
"id": "overview-react",
"name": "Set up Storybook for React Projects",
@ -10256,6 +10700,28 @@
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"mediaImage": "",
"file": "shared/packages/storybook/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"tags": []
},
{
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"mediaImage": "",
"file": "shared/packages/storybook/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"tags": []
},
{
"id": "overview-react",
"name": "Set up Storybook for React Projects",
@ -10404,6 +10870,28 @@
"path": "/technologies/test-tools/storybook/recipes",
"tags": []
},
"/technologies/test-tools/storybook/recipes/best-practices": {
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"mediaImage": "",
"file": "shared/packages/storybook/best-practices",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/best-practices",
"tags": []
},
"/technologies/test-tools/storybook/recipes/storybook-7-setup": {
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"mediaImage": "",
"file": "shared/packages/storybook/storybook-7-setup",
"itemList": [],
"isExternal": false,
"path": "/technologies/test-tools/storybook/recipes/storybook-7-setup",
"tags": []
},
"/technologies/test-tools/storybook/recipes/overview-react": {
"id": "overview-react",
"name": "Set up Storybook for React Projects",

View File

@ -1098,6 +1098,13 @@
"name": "What Are Nx Plugins",
"path": "/concepts/nx-plugins"
},
{
"description": "",
"file": "shared/guides/nx-devkit-angular-devkit",
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"path": "/technologies/angular/recipes/nx-devkit-angular-devkit"
},
{
"description": "",
"file": "shared/recipes/plugins/migration-generators",
@ -1139,13 +1146,6 @@
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"path": "/nx-api/angular/documents/nx-devkit-angular-devkit"
},
{
"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, Tailwind CSS, 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.",
"file": "generated/packages/angular/documents/nx-devkit-angular-devkit",
"id": "nx-devkit-angular-devkit",
"name": "Nx Devkit and Angular Devkit",
"path": "/technologies/angular/api/documents/nx-devkit-angular-devkit"
}
],
"daemon": [

View File

@ -192,7 +192,7 @@ What's the difference?
- Fix migrations that "almost work".
- Commit a partially migrated state.
- Change versions of packages to match org requirements.
- [Opt out of Angular updates when updating Nx versions](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply) as long as [the Angular version is still supported](/nx-api/angular/documents/angular-nx-version-matrix)
- [Opt out of Angular updates when updating Nx versions](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply) as long as [the Angular version is still supported](/technologies/angular/recipes/angular-nx-version-matrix)
`nx migrate` does this by splitting the process into two steps. `nx migrate latest` creates a `migrations.json` file with a list of all the migrations needed by Nx, Angular, and other packages. You can then modify that file before running `nx migrate --run-migrations` to execute those migrations.

View File

@ -55,8 +55,8 @@ You can also use `@nx/react` which includes all three `@nx/react-*` plugins
### Enforce Module Boundaries rule
The `enforce-module-boundaries` ESLint rule enables you to define strict rules for accessing resources between different projects in the repository. Enforcing strict boundaries helps prevent unplanned cross-dependencies. Read more about it on a [dedicated page](/nx-api/eslint-plugin/documents/enforce-module-boundaries).
The `enforce-module-boundaries` ESLint rule enables you to define strict rules for accessing resources between different projects in the repository. Enforcing strict boundaries helps prevent unplanned cross-dependencies. Read more about it on a [dedicated page](/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries).
### Dependency Checks rule
The `@nx/dependency-checks` ESLint rule enables you to discover mismatches between dependencies specified in a project's `package.json` and the dependencies that your project actually depends on. Read more about it on a [dedicated page](/nx-api/eslint-plugin/documents/dependency-checks).
The `@nx/dependency-checks` ESLint rule enables you to discover mismatches between dependencies specified in a project's `package.json` and the dependencies that your project actually depends on. Read more about it on a [dedicated page](/technologies/eslint/eslint-plugin/recipes/dependency-checks).

View File

@ -242,4 +242,4 @@ For more on using Storybook, see the [official Storybook documentation](https://
Here's more information on common migration scenarios for Storybook with Nx. For Storybook specific migrations that are not automatically handled by Nx please refer to the [official Storybook page](https://storybook.js.org/)
- [Storybook 7 migration generator](/nx-api/storybook/generators/migrate-7)
- [Storybook 7 setup guide](/nx-api/storybook/documents/storybook-7-setup)
- [Storybook 7 setup guide](/technologies/test-tools/storybook/recipes/best-practices)

File diff suppressed because one or more lines are too long

View File

@ -818,6 +818,22 @@
"name": "Setup incremental builds for Angular applications",
"id": "setup-incremental-builds-angular",
"file": "shared/guides/setup-incremental-builds-angular"
},
{
"name": "Nx and the Angular CLI",
"id": "nx-and-angular",
"file": "shared/guides/nx-and-angular-cli"
},
{
"name": "Nx Devkit and Angular Devkit",
"id": "nx-devkit-angular-devkit",
"tags": ["create-your-own-plugin"],
"file": "shared/guides/nx-devkit-angular-devkit"
},
{
"name": "Angular and Nx Version Matrix",
"id": "angular-nx-version-matrix",
"file": "shared/packages/angular/angular-nx-version-matrix"
}
]
},
@ -1260,6 +1276,16 @@
"name": "How to Federate a Module",
"description": "A guide on how to federate a module in your Nx workspace",
"file": "shared/recipes/module-federation/federate-a-module"
},
{
"name": "NxModuleFederationPlugin",
"id": "nx-module-federation-plugin",
"file": "shared/packages/module-federation/nx-module-federation-plugin"
},
{
"name": "NxModuleFederationDevServerPlugin",
"id": "nx-module-federation-dev-server-plugin",
"file": "shared/packages/module-federation/nx-module-federation-dev-server-plugin"
}
]
},
@ -1306,6 +1332,22 @@
"name": "ESLint Plugin",
"id": "eslint-plugin",
"itemList": [
{
"name": "Guides",
"id": "recipes",
"itemList": [
{
"id": "enforce-module-boundaries",
"name": "The enforce-module-boundaries rule",
"file": "shared/packages/eslint/enforce-module-boundaries"
},
{
"id": "dependency-checks",
"name": "The dependency-checks rule",
"file": "shared/packages/eslint/dependency-checks"
}
]
},
{
"name": "API",
"id": "api",
@ -1563,6 +1605,18 @@
"name": "Guides",
"id": "recipes",
"itemList": [
{
"id": "best-practices",
"name": "Storybook best practices for making the most out of Nx",
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
"file": "shared/packages/storybook/best-practices"
},
{
"id": "storybook-7-setup",
"name": "Storybook 7",
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
"file": "shared/packages/storybook/storybook-7-setup"
},
{
"name": "Set up Storybook for React Projects",
"id": "overview-react",

View File

@ -192,7 +192,7 @@ What's the difference?
- Fix migrations that "almost work".
- Commit a partially migrated state.
- Change versions of packages to match org requirements.
- [Opt out of Angular updates when updating Nx versions](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply) as long as [the Angular version is still supported](/nx-api/angular/documents/angular-nx-version-matrix)
- [Opt out of Angular updates when updating Nx versions](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply) as long as [the Angular version is still supported](/technologies/angular/recipes/angular-nx-version-matrix)
`nx migrate` does this by splitting the process into two steps. `nx migrate latest` creates a `migrations.json` file with a list of all the migrations needed by Nx, Angular, and other packages. You can then modify that file before running `nx migrate --run-migrations` to execute those migrations.

View File

@ -240,7 +240,7 @@ Once the script has run, commit the changes. Reverting this commit will effectiv
{% cards cols="1" mdCols="3" smCols="3" lgCols="3" %}
{% card title="Nx and the Angular CLI" description="Differences between Nx and the Angular CLI" type="documentation" url="/nx-api/angular/documents/nx-and-angular" /%}
{% card title="Nx and the Angular CLI" description="Differences between Nx and the Angular CLI" type="documentation" url="/technologies/angular/recipes/nx-and-angular" /%}
{% card title="Multiple Angular Repositories to one Nx Workspace" description="Combine multiple Angular CLI workspaces into one Nx workspace" type="documentation" url="technologies/angular/migration/angular-multiple" /%}

View File

@ -55,8 +55,8 @@ You can also use `@nx/react` which includes all three `@nx/react-*` plugins
### Enforce Module Boundaries rule
The `enforce-module-boundaries` ESLint rule enables you to define strict rules for accessing resources between different projects in the repository. Enforcing strict boundaries helps prevent unplanned cross-dependencies. Read more about it on a [dedicated page](/nx-api/eslint-plugin/documents/enforce-module-boundaries).
The `enforce-module-boundaries` ESLint rule enables you to define strict rules for accessing resources between different projects in the repository. Enforcing strict boundaries helps prevent unplanned cross-dependencies. Read more about it on a [dedicated page](/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries).
### Dependency Checks rule
The `@nx/dependency-checks` ESLint rule enables you to discover mismatches between dependencies specified in a project's `package.json` and the dependencies that your project actually depends on. Read more about it on a [dedicated page](/nx-api/eslint-plugin/documents/dependency-checks).
The `@nx/dependency-checks` ESLint rule enables you to discover mismatches between dependencies specified in a project's `package.json` and the dependencies that your project actually depends on. Read more about it on a [dedicated page](/technologies/eslint/eslint-plugin/recipes/dependency-checks).

View File

@ -242,4 +242,4 @@ For more on using Storybook, see the [official Storybook documentation](https://
Here's more information on common migration scenarios for Storybook with Nx. For Storybook specific migrations that are not automatically handled by Nx please refer to the [official Storybook page](https://storybook.js.org/)
- [Storybook 7 migration generator](/nx-api/storybook/generators/migrate-7)
- [Storybook 7 setup guide](/nx-api/storybook/documents/storybook-7-setup)
- [Storybook 7 setup guide](/technologies/test-tools/storybook/recipes/best-practices)

View File

@ -6,7 +6,7 @@ description: This guide explains how Storybook is configured on your Nx workspac
# Configuring Storybook on Nx
{% callout type="info" title="Best practices" %}
Read our [Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/documents/best-practices) guide!
Read our [Using Storybook in a Nx workspace - Best practices](/technologies/test-tools/storybook/recipes/best-practices) guide!
{% /callout %}
Nx does not generate a root Storybook directory and shared root Storybook configurations. Instead, it only generates a Storybook configuration for each project in your workspace. You may still manually create a root Storybook configuration file, if it is needed for your use case.
@ -30,4 +30,4 @@ If you need to create a root Storybook configuration file, you can do so by crea
You can read all our guides for configuring Storybook in our [Storybook documents page](/nx-api/storybook/documents).
Please also make sure to read our [Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/documents/best-practices) guide, where you can find some best practices for using Storybook in a Nx workspace.
Please also make sure to read our [Using Storybook in a Nx workspace - Best practices](/technologies/test-tools/storybook/recipes/best-practices) guide, where you can find some best practices for using Storybook in a Nx workspace.

View File

@ -6,7 +6,7 @@ description: Dive into a comprehensive guide on how to consolidate all your Stor
# Publishing Storybook: One main Storybook instance for all projects
This guide extends the
[Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/documents/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one single Storybook for your workspace.
[Using Storybook in a Nx workspace - Best practices](/technologies/test-tools/storybook/recipes/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one single Storybook for your workspace.
This case would work if all your projects (applications and libraries) containing stories that you want to use are using the same framework (Angular, React, Vue, etc). The reason is that you will be importing the stories in a central host Storybook's `.storybook/main.ts`, and we will be using one specific builder to build that Storybook. Storybook does not support mixing frameworks in the same Storybook instance.

View File

@ -6,7 +6,7 @@ description: Learn how to set up individual Storybook instances for each scope w
# Publishing Storybook: One Storybook instance per scope
This guide extends the
[Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/documents/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one Storybook per scope (eg. theme, app, framework) for your workspace.
[Using Storybook in a Nx workspace - Best practices](/technologies/test-tools/storybook/recipes/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one Storybook per scope (eg. theme, app, framework) for your workspace.
Sometimes, you have multiple apps and libraries, and each of these is associated with a specific scope. You can read more about grouping libraries and scoping them in the [Library Types](/concepts/decisions/project-dependency-rules) documentation page.

View File

@ -6,7 +6,7 @@ description: Dive into the comprehensive guide on publishing a unified Storybook
# Publishing Storybook: One main Storybook instance using Storybook Composition
This guide extends the
[Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/documents/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one single Storybook for your workspace, even you are using multiple frameworks, taking advantage of [Storybook Composition](/technologies/test-tools/storybook/recipes/storybook-composition-setup).
[Using Storybook in a Nx workspace - Best practices](/technologies/test-tools/storybook/recipes/best-practices) guide. In that guide, we discussed the best practices of using Storybook in a Nx workspace. We explained the main concepts and the mental model of how to best set up Storybook. In this guide, we are going to see how to put that into practice, by looking at a real-world example. We are going to see how you can publish one single Storybook for your workspace, even you are using multiple frameworks, taking advantage of [Storybook Composition](/technologies/test-tools/storybook/recipes/storybook-composition-setup).
In this case, we are dealing with a Nx workspace that uses multiple frameworks. Essentially, you would need to have one Storybook host for each of the frameworks, containing all the stories of that specific framework, since the Storybook builder can not handle multiple frameworks simultaneously.

View File

@ -187,5 +187,5 @@ For more on using Storybook, see the [official Storybook documentation](https://
Here's more information on common migration scenarios for Storybook with Nx. For Storybook specific migrations that are not automatically handled by Nx please refer to the [official Storybook page](https://storybook.js.org/)
- [Set up Storybook version 7](/nx-api/storybook/documents/storybook-7-setup)
- [Set up Storybook version 7](/technologies/test-tools/storybook/recipes/storybook-7-setup)
- [Migrate to Storybook version 7](/nx-api/storybook/generators/migrate-7)

View File

@ -147,5 +147,5 @@ For more on using Storybook, see the [official Storybook documentation](https://
Here's more information on common migration scenarios for Storybook with Nx. For Storybook specific migrations that are not automatically handled by Nx please refer to the [official Storybook page](https://storybook.js.org/)
- [Set up Storybook version 7](/nx-api/storybook/documents/storybook-7-setup)
- [Set up Storybook version 7](/technologies/test-tools/storybook/recipes/storybook-7-setup)
- [Migrate to Storybook version 7](/nx-api/storybook/generators/migrate-7)

View File

@ -145,12 +145,10 @@
- [Setup Module Federation with SSR for Angular](/technologies/angular/recipes/module-federation-with-ssr)
- [Advanced Micro Frontends with Angular using Dynamic Federation](/technologies/angular/recipes/dynamic-module-federation-with-angular)
- [Setup incremental builds for Angular applications](/technologies/angular/recipes/setup-incremental-builds-angular)
- [Nx and the Angular CLI](/technologies/angular/recipes/nx-and-angular)
- [Nx Devkit and Angular Devkit](/technologies/angular/recipes/nx-devkit-angular-devkit)
- [Angular and Nx Version Matrix](/technologies/angular/recipes/angular-nx-version-matrix)
- [API](/technologies/angular/api)
- [documents](/technologies/angular/api/documents)
- [Overview](/technologies/angular/api/documents/overview)
- [Nx and the Angular CLI](/technologies/angular/api/documents/nx-and-angular)
- [Nx Devkit and Angular Devkit](/technologies/angular/api/documents/nx-devkit-angular-devkit)
- [Angular and Nx Version Matrix](/technologies/angular/api/documents/angular-nx-version-matrix)
- [executors](/technologies/angular/api/executors)
- [delegate-build](/technologies/angular/api/executors/delegate-build)
- [ng-packagr-lite](/technologies/angular/api/executors/ng-packagr-lite)
@ -424,10 +422,9 @@
- [How to create a Module Federation Host Application](/technologies/module-federation/recipes/create-a-host)
- [How to create a Module Federation Remote Application](/technologies/module-federation/recipes/create-a-remote)
- [How to Federate a Module](/technologies/module-federation/recipes/federate-a-module)
- [NxModuleFederationPlugin](/technologies/module-federation/recipes/nx-module-federation-plugin)
- [NxModuleFederationDevServerPlugin](/technologies/module-federation/recipes/nx-module-federation-dev-server-plugin)
- [API](/technologies/module-federation/api)
- [documents](/technologies/module-federation/api/documents)
- [NxModuleFederationPlugin](/technologies/module-federation/api/documents/nx-module-federation-plugin)
- [NxModuleFederationDevServerPlugin](/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin)
- [migrations](/technologies/module-federation/api/migrations)
- [ESLint](/technologies/eslint)
- [Introduction](/technologies/eslint/introduction)
@ -445,11 +442,10 @@
- [convert-to-inferred](/technologies/eslint/api/generators/convert-to-inferred)
- [migrations](/technologies/eslint/api/migrations)
- [ESLint Plugin](/technologies/eslint/eslint-plugin)
- [Guides](/technologies/eslint/eslint-plugin/recipes)
- [The enforce-module-boundaries rule](/technologies/eslint/eslint-plugin/recipes/enforce-module-boundaries)
- [The dependency-checks rule](/technologies/eslint/eslint-plugin/recipes/dependency-checks)
- [API](/technologies/eslint/eslint-plugin/api)
- [documents](/technologies/eslint/eslint-plugin/api/documents)
- [Overview](/technologies/eslint/eslint-plugin/api/documents/overview)
- [The `enforce-module-boundaries` rule](/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries)
- [The `dependency-checks` rule](/technologies/eslint/eslint-plugin/api/documents/dependency-checks)
- [migrations](/technologies/eslint/eslint-plugin/api/migrations)
- [Build Tools](/technologies/build-tools)
- [Webpack](/technologies/build-tools/webpack)
@ -574,6 +570,8 @@
- [Storybook](/technologies/test-tools/storybook)
- [Introduction](/technologies/test-tools/storybook/introduction)
- [Guides](/technologies/test-tools/storybook/recipes)
- [Storybook best practices for making the most out of Nx](/technologies/test-tools/storybook/recipes/best-practices)
- [Storybook 7](/technologies/test-tools/storybook/recipes/storybook-7-setup)
- [Set up Storybook for React Projects](/technologies/test-tools/storybook/recipes/overview-react)
- [Set up Storybook for Angular Projects](/technologies/test-tools/storybook/recipes/overview-angular)
- [Set up Storybook for Vue Projects](/technologies/test-tools/storybook/recipes/overview-vue)
@ -588,10 +586,6 @@
- [Angular: Set up Compodoc for Storybook on Nx](/technologies/test-tools/storybook/recipes/angular-storybook-compodoc)
- [Angular: Configuring styles and preprocessor options](/technologies/test-tools/storybook/recipes/angular-configuring-styles)
- [API](/technologies/test-tools/storybook/api)
- [documents](/technologies/test-tools/storybook/api/documents)
- [Overview](/technologies/test-tools/storybook/api/documents/overview)
- [Storybook best practices for making the most out of Nx](/technologies/test-tools/storybook/api/documents/best-practices)
- [Storybook 7](/technologies/test-tools/storybook/api/documents/storybook-7-setup)
- [executors](/technologies/test-tools/storybook/api/executors)
- [storybook](/technologies/test-tools/storybook/api/executors/storybook)
- [build](/technologies/test-tools/storybook/api/executors/build)
@ -900,11 +894,6 @@
- Nx-api
- [angular](/nx-api/angular)
- [documents](/nx-api/angular/documents)
- [Overview](/technologies/angular/api/documents/overview)
- [Nx and the Angular CLI](/technologies/angular/api/documents/nx-and-angular)
- [Nx Devkit and Angular Devkit](/technologies/angular/api/documents/nx-devkit-angular-devkit)
- [Angular and Nx Version Matrix](/technologies/angular/api/documents/angular-nx-version-matrix)
- [executors](/nx-api/angular/executors)
- [delegate-build](/nx-api/angular/executors/delegate-build)
- [ng-packagr-lite](/nx-api/angular/executors/ng-packagr-lite)
@ -991,7 +980,6 @@
- [convert-to-inferred](/nx-api/eslint/generators/convert-to-inferred)
- [migrations](/nx-api/eslint/migrations)
- [eslint-plugin](/nx-api/eslint-plugin)
- [documents](/nx-api/eslint-plugin/documents) - [Overview](/technologies/eslint/eslint-plugin/api/documents/overview) - [The `enforce-module-boundaries` rule](/technologies/eslint/eslint-plugin/api/documents/enforce-module-boundaries) - [The `dependency-checks` rule](/technologies/eslint/eslint-plugin/api/documents/dependency-checks)
- [migrations](/nx-api/eslint-plugin/migrations)
- [expo](/nx-api/expo)
- [executors](/nx-api/expo/executors)
@ -1051,9 +1039,6 @@
- [setup-prettier](/nx-api/js/generators/setup-prettier)
- [migrations](/nx-api/js/migrations)
- [module-federation](/nx-api/module-federation)
- [documents](/nx-api/module-federation/documents)
- [NxModuleFederationPlugin](/technologies/module-federation/api/documents/nx-module-federation-plugin)
- [NxModuleFederationDevServerPlugin](/technologies/module-federation/api/documents/nx-module-federation-dev-server-plugin)
- [migrations](/nx-api/module-federation/migrations)
- [nest](/nx-api/nest)
- [generators](/nx-api/nest/generators)
@ -1257,7 +1242,6 @@
- [convert-to-inferred](/nx-api/rspack/generators/convert-to-inferred)
- [migrations](/nx-api/rspack/migrations)
- [storybook](/nx-api/storybook)
- [documents](/nx-api/storybook/documents) - [Overview](/technologies/test-tools/storybook/api/documents/overview) - [Storybook best practices for making the most out of Nx](/technologies/test-tools/storybook/api/documents/best-practices) - [Storybook 7](/technologies/test-tools/storybook/api/documents/storybook-7-setup)
- [executors](/nx-api/storybook/executors)
- [storybook](/nx-api/storybook/executors/storybook)
- [build](/nx-api/storybook/executors/build)

View File

@ -23,11 +23,11 @@ Advantages of Nx over the Angular CLI:
- [Cache any target](/features/cache-task-results)
- [Run only tasks affected by a code change](/ci/features/affected)
- [Split a large angular.json into multiple project.json files](/nx-api/angular/documents/nx-and-angular#projectjson-vs-angularjson)
- [Integrate with modern tools](/nx-api/angular/documents/nx-and-angular#integrating-with-modern-tools)
- [Controllable update process](/nx-api/angular/documents/nx-and-angular#ng-update-vs-nx-migrate)
- [Split a large angular.json into multiple project.json files](/technologies/angular/recipes/nx-and-angular#projectjson-vs-angularjson)
- [Integrate with modern tools](/technologies/angular/recipes/nx-and-angular#integrating-with-modern-tools)
- [Controllable update process](/technologies/angular/recipes/nx-and-angular#ng-update-vs-nx-migrate)
Visit our ["Nx and the Angular CLI" page](/nx-api/angular/documents/nx-and-angular) for more details.
Visit our ["Nx and the Angular CLI" page](/technologies/angular/recipes/nx-and-angular) for more details.
## Final Code
@ -1334,7 +1334,7 @@ For more information about how Nx can improve your CI pipeline, check out one of
Here's some things you can dive into next:
- Read more about [how Nx compares to the Angular CLI](/nx-api/angular/documents/nx-and-angular)
- Read more about [how Nx compares to the Angular CLI](/technologies/angular/recipes/nx-and-angular)
- Learn more about the [underlying mental model of Nx](/concepts/mental-model)
- Learn about popular generators such as [how to setup Tailwind](/technologies/angular/recipes/using-tailwind-css-with-angular-projects)
- Learn how to [migrate your existing Angular CLI repo to Nx](technologies/angular/migration/angular)

View File

@ -19,8 +19,6 @@ export const pkgToGeneratedApiDocs: Record<
// angular
angular: {
pagePath: '/technologies/angular/api',
// TODO(docs): move these to guides and remove this
includeDocuments: true,
},
// react
react: {
@ -84,8 +82,6 @@ export const pkgToGeneratedApiDocs: Record<
},
storybook: {
pagePath: '/technologies/test-tools/storybook/api',
// TODO(docs): move these to guides and remove this
includeDocuments: true,
},
playwright: {
pagePath: '/technologies/test-tools/playwright/api',
@ -99,16 +95,12 @@ export const pkgToGeneratedApiDocs: Record<
// misc
'module-federation': {
pagePath: '/technologies/module-federation/api',
// TODO(docs): move these to guides and remove this
includeDocuments: true,
},
eslint: {
pagePath: '/technologies/eslint/api',
},
'eslint-plugin': {
pagePath: '/technologies/eslint/eslint-plugin/api',
// TODO(docs): move these to guides and remove this
includeDocuments: true,
},
// core and misc
// For now, things that are not in technologies are put here in references/core-api

View File

@ -1251,33 +1251,75 @@ const nxApiRedirects = {
'/nx-api/create-nx-workspace/:slug*':
'/reference/core-api/create-nx-workspace/:slug*',
// Technologies
'/nx-api/angular/documents/:slug*': '/technologies/angular/recipes/:slug*',
'/nx-api/angular/:slug*': '/technologies/angular/api/:slug*',
'/nx-api/react/documents/:slug*': '/technologies/react/recipes/:slug*',
'/nx-api/react/:slug*': '/technologies/react/api/:slug*',
'/nx-api/react-native/documents/:slug*':
'/technologies/react/react-native/recipes/:slug*',
'/nx-api/react-native/:slug*': '/technologies/react/react-native/api/:slug*',
'/nx-api/vue/documents/:slug*': '/technologies/vue/recipes/:slug*',
'/nx-api/vue/:slug*': '/technologies/vue/api/:slug*',
'/nx-api/next/:slug*': '/technologies/next/api/:slug*',
'/nx-api/next/documents/:slug*': '/technologies/react/next/recipes/:slug*',
'/nx-api/next/:slug*': '/technologies/react/next/api/:slug*',
'/nx-api/remix/documents/:slug*': '/technologies/react/remix/recipes/:slug*',
'/nx-api/remix/:slug*': '/technologies/react/remix/api/:slug*',
'/nx-api/nuxt/documents/:slug*': '/technologies/vue/nuxt/recipes/:slug*',
'/nx-api/nuxt/:slug*': '/technologies/vue/nuxt/api/:slug*',
'/nx-api/expo/documents/:slug*': '/technologies/react/expo/recipes/:slug*',
'/nx-api/expo/:slug*': '/technologies/react/expo/api/:slug*',
'/nx-api/nest/documents/:slug*': '/technologies/nest/recipes/:slug*',
'/nx-api/nest/:slug*': '/technologies/nest/api/:slug*',
'/nx-api/express/documents/:slug*':
'/technologies/node/express/recipes/:slug*',
'/nx-api/express/:slug*': '/technologies/node/express/api/:slug*',
'/nx-api/node/documents/:slug*': '/technologies/node/recipes/:slug*',
'/nx-api/node/:slug*': '/technologies/node/api/:slug*',
'/nx-api/webpack/documents/:slug*':
'/technologies/build-tools/webpack/recipes/:slug*',
'/nx-api/webpack/:slug*': '/technologies/build-tools/webpack/api/:slug*',
'/nx-api/vite/documents/:slug*':
'/technologies/build-tools/vite/recipes/:slug*',
'/nx-api/vite/:slug*': '/technologies/build-tools/vite/api/:slug*',
'/nx-api/rollup/documents/:slug*':
'/technologies/build-tools/rollup/recipes/:slug*',
'/nx-api/rollup/:slug*': '/technologies/build-tools/rollup/api/:slug*',
'/nx-api/esbuild/documents/:slug*':
'/technologies/build-tools/esbuild/recipes/:slug*',
'/nx-api/esbuild/:slug*': '/technologies/build-tools/esbuild/api/:slug*',
'/nx-api/rspack/documents/:slug*':
'/technologies/build-tools/rspack/recipes/:slug*',
'/nx-api/rspack/:slug*': '/technologies/build-tools/rspack/api/:slug*',
'/nx-api/rsbuild/documents/:slug*':
'/technologies/build-tools/rsbuild/recipes/:slug*',
'/nx-api/rsbuild/:slug*': '/technologies/build-tools/rsbuild/api/:slug*',
'/nx-api/cypress/documents/:slug*':
'/technologies/build-tools/cypress/recipes/:slug*',
'/nx-api/cypress/:slug*': '/technologies/build-tools/cypress/api/:slug*',
'/nx-api/jest/documents/:slug*':
'/technologies/test-tools/jest/recipes/:slug*',
'/nx-api/jest/:slug*': '/technologies/test-tools/jest/api/:slug*',
'/nx-api/playwright/documents/:slug*':
'/technologies/test-tools/playwright/recipes/:slug*',
'/nx-api/playwright/:slug*': '/technologies/test-tools/playwright/api/:slug*',
'/nx-api/storybook/documents/:slug*':
'/technologies/test-tools/storybook/recipes/:slug*',
'/nx-api/storybook/:slug*': '/technologies/test-tools/storybook/api/:slug*',
'/nx-api/detox/documents/:slug*':
'/technologies/test-tools/detox/recipes/:slug*',
'/nx-api/detox/:slug*': '/technologies/test-tools/detox/api/:slug*',
'/nx-api/js/documents/:slug*': '/technologies/typescript/recipes/:slug*',
'/nx-api/js/:slug*': '/technologies/typescript/api/:slug*',
'/nx-api/gradle/documents/:slug*': '/technologies/java/recipes/:slug*',
'/nx-api/gradle/:slug*': '/technologies/java/api/:slug*',
'/nx-api/eslint/documents/:slug*': '/technologies/eslint/recipes/:slug*',
'/nx-api/eslint/:slug*': '/technologies/eslint/api/:slug*',
'/nx-api/eslint-plugin/documents/:slug*':
'/technologies/eslint/eslint-plugin/recipes/:slug*',
'/nx-api/eslint-plugin/:slug*':
'/technologies/eslint/eslint-plugin/api/:slug*',
'/nx-api/module-federation/documents/:slug*':
'/technologies/module-federation/recipes/:slug*',
'/nx-api/module-federation/:slug*':
'/technologies/module-federation/api/:slug*',
};

View File

@ -4,7 +4,7 @@ description: This page contains examples for the @nx/storybook:migrate-7 generat
---
{% callout type="info" title="Setting up Storybook 7 in a new workspace" %}
For setting up Storybook version 7 in a new Nx workspace, or a workspace that does NOT already have Storybook configured already, please refer to our [Storybook 7 setup guide](/nx-api/storybook/documents/storybook-7-setup).
For setting up Storybook version 7 in a new Nx workspace, or a workspace that does NOT already have Storybook configured already, please refer to our [Storybook 7 setup guide](/technologies/test-tools/storybook/recipes/best-practices).
{% /callout %}
Storybook 7 is a major release that brings a lot of new features and improvements. You can read more about it in the [Storybook 7.0.0 release article](https://storybook.js.org/blog/storybook-7-0/). Apart from the new features and improvements it introduces, it also brings some breaking changes. You can read more about them in the [Storybook 7 migration docs](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#from-version-65x-to-700) and the [Storybook 7.0.0 migration guide](https://storybook.js.org/docs/react/migration-guide).